The officer Limier:
+Isthina, Mrs. Seed of Annihilation - such a terrible demon that even among assistants
+Shilen these can be counted on the fingers. To cope with such a demon,
+need not sacrifice, empty and meaningless, and careful preparation.
+You're still not ready for this.
+(This quest is available after reaching level 90.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-01.htm
new file mode 100644
index 0000000000..cbd921a42c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-01.htm
@@ -0,0 +1,9 @@
+The officer Limier:
+Finally, in the Seeds of Evil were observed spatial fluctuations.
+And I have a vague idea of ​​how it all began.
+Seeds of Destruction will return to the world of instincts and primitivism, when he wakes up
+their true master. The essence of it is not yet known to us. If all goes
+still, we lose all hope.
+Isthina ... Necessarily have to destroy the monster that controls the Seed of Annihilation.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-02.htm
new file mode 100644
index 0000000000..54c63c6d6b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-02.htm
@@ -0,0 +1,10 @@
+The officer Limier:
+Return to Life of the Goddess of Death, Shilen - the biggest threat to all life in this world,
+and the Seed of Annihilation is no exception. Hostess Seed of Annihilation - Isthina,
+one of the Apostles Elder, symbolizing the primitive and decline.
+Because of the return of Elder Isthina even awakened her awakening strongly
+affected area Seeds. If you do not defeat these demons, you can not
+will ensure not only the strength of our position in Graz, but
+security of the whole world, is not it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-03.htm
new file mode 100644
index 0000000000..7490673e1b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-03.htm
@@ -0,0 +1,8 @@
+The officer Limier:
+Symbols Isthiny - primitive and intemperance. If hovering her power
+over the world, then by all the countries will be fruitful mad terrible monsters.
+And by the will of Shilen monsters will attack civilians. It remains to
+only plead the mighty intrepid travelers about them to stop Isthinu.
+I can turn to you to destroy Isthinu?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-04.htm
new file mode 100644
index 0000000000..f835b1101b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-04.htm
@@ -0,0 +1,6 @@
+The officer Limier:
+How nice that you have decided on it! However, you are alone for nothing
+not cope with this huge demon. Be able to resist it,
+Only having trained together with experienced teammates. Please
+ destroy Isthinu and bring me the Signs of Shilen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-05.html
new file mode 100644
index 0000000000..ff9fc6908a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-05.html
@@ -0,0 +1,6 @@
+The officer Limier:
+How nice that you have decided on it! However, you are not alone for
+not cope with this huge demon. Be able to resist it,
+Only having trained together with experienced teammates. Please
+ destroy Isthinu and bring me the Signs of Shilen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-06.html
new file mode 100644
index 0000000000..79127d5200
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-06.html
@@ -0,0 +1,11 @@
+The officer Limier:
+Thank the gods ... Falling Isthiny very inspired us. Everything, everything
+thanks to you! Thank you! We inflict a final defeat gangs Shilen
+Seeds of Destruction attack.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-07.html
new file mode 100644
index 0000000000..6c03edd735
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-07.html
@@ -0,0 +1,8 @@
+The officer Limier:
+Hopefully, the demon done? We are so happy ...
+For us is very important your help in eliminating Isthiny,
+which had a considerable weight of 9 Apostles Elder.
+All thanks to you all! Thank you! We inflict a final defeat gangs Shilen
+Seeds of Destruction attack. We must not forget about the debt.
+It's not too useful subject, but I hope it is useful to you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Complete.html
new file mode 100644
index 0000000000..72eace8bce
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Complete.html
@@ -0,0 +1,6 @@
+The officer Limier:
+Lair of the Demon, having lost the host, will be thrown into chaos.
+We still have hope. Even the opportunity to talk about it is at
+us due to your merit. Thank you very much!
+(Quest has been completed.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Q00149_PrimalMotherIstina.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Q00149_PrimalMotherIstina.java
new file mode 100644
index 0000000000..34fb7ca5bf
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Q00149_PrimalMotherIstina.java
@@ -0,0 +1,158 @@
+/*
+ * 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.Q00149_PrimalMotherIstina;
+
+import com.l2jmobius.Config;
+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;
+
+/**
+ * Primal Mother, Istina (149)
+ * @URL https://l2wiki.com/Primal_Mother,_Istina
+ * @author Gigi
+ */
+public final class Q00149_PrimalMotherIstina extends Quest
+{
+ // NPCs
+ private static final int RUMIESE = 33293;
+ private static final int ISTHINA_NORMAL = 29195;
+ // Item
+ private static final int SHILENS_MARK = 17589;
+ private static final int ISTHINA_BRACELET = 19455;
+ private static final int EAR = 17527;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q00149_PrimalMotherIstina()
+ {
+ super(149);
+ addStartNpc(RUMIESE);
+ addTalkId(RUMIESE);
+ addKillId(ISTHINA_NORMAL);
+ addCondMinLevel(MIN_LEVEL, "33293-00.htm");
+ }
+
+ @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 "33293-02.htm":
+ case "33293-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33293-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward_9546":
+ case "reward_9547":
+ case "reward_9548":
+ case "reward_9549":
+ case "reward_9550":
+ case "reward_9551":
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(player, SHILENS_MARK) >= 1))
+ {
+ final int stoneId = Integer.parseInt(event.replaceAll("reward_", ""));
+ takeItems(player, SHILENS_MARK, 1);
+ addExpAndSp(player, 833065000, 199935);
+ giveItems(player, ISTHINA_BRACELET, 1);
+ giveItems(player, EAR, 10);
+ giveItems(player, stoneId, 15);
+ qs.exitQuest(false, true);
+ }
+ htmltext = "33293-07.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == RUMIESE)
+ {
+ htmltext = "33293-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33293-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33293-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ giveItems(player, SHILENS_MARK, 1);
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-00.htm
new file mode 100644
index 0000000000..df9a129ba4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-00.htm
@@ -0,0 +1,7 @@
+The officer Limier:
+Isthina, lady of Seeds of Annihilation - such a terrible demon,
+that even among these assistants of Shilen can be counted on the fingers.
+To cope with such a demon, you need not sacrifice, empty and meaningless,
+and careful preparation. You're still not ready for this.
+(This quest is available after the 97-level and performance)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-01.htm
new file mode 100644
index 0000000000..8113d197a7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-01.htm
@@ -0,0 +1,6 @@
+The officer Limier:
+This is indeed serious. We hope that you and his comrades had thrown Isthinu,
+Turning the tide of the war ... But in fact, it was not as easy as in words.
+Elder Isthinu again revived. Not only that, she has become even stronger.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-02.htm
new file mode 100644
index 0000000000..d7a2917e9b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-02.htm
@@ -0,0 +1,9 @@
+The officer Limier:
+I think we underestimated the forces of Shilen and her demons. Elder forces that
+finally about to wake up, too high even in its current state.
+It enormously strong, despite the fact that not fully awakened.
+Elder resurrected killed you Isthinu and caused her here. And it was a demon
+even stronger! We would have groaned in despair if it were not for you. After all, you already
+battled the demon and killed him, did not you?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-03.htm
new file mode 100644
index 0000000000..84deff0e60
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-03.htm
@@ -0,0 +1,9 @@
+The officer Limier:
+I have heard of such cases before. For example, a case
+when appearing on the continent of Aden Snow Queen Freya was also
+defeated, but then resurrected, and her strength increased. From there Isthinoy
+same. In any case, no matter how foolish this may appear to act
+it is necessary to challenge it, but it can only make you with their brave comrades.
+I can turn to you to destroy the revitalized Isthinu?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-04.htm
new file mode 100644
index 0000000000..42ea34ccff
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-04.htm
@@ -0,0 +1,6 @@
+The officer Limier:
+How nice that you have decided on it! However, you are not alone for
+not cope with this huge demon. be able to withstand
+her only having trained together with experienced teammates.
+I ask you to destroy and bring me Isthinu Signs of Shilen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-05.html
new file mode 100644
index 0000000000..9b111eb255
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-05.html
@@ -0,0 +1,6 @@
+The officer Limier:
+How nice that you have decided on it! However, you are not alone for
+not cope with this huge demon. be able to withstand
+her only having trained together with experienced teammates.
+I ask you to destroy Isthinu and bring me Signs of Shilen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-06.html
new file mode 100644
index 0000000000..4340e8e533
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-06.html
@@ -0,0 +1,5 @@
+The officer Limier:
+Thank the gods ... Falling Isthiny very inspired us. Thank you! We also plotted
+final defeat for Shieln gangs attacking the seeds of destruction.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-07.html
new file mode 100644
index 0000000000..1c9bc52c66
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-07.html
@@ -0,0 +1,8 @@
+The officer Limier:
+Hopefully, the demon done? We are so happy ... We care
+Your help is crucial in eliminating Isthiny, which had a significant
+weight of 9 Apostles Elder. All thanks to you all! Thank you! we also
+inflict a final defeat gangs Elder, attacking seeds of destruction.
+We must not forget about the debt.
+It's not too useful subject, but I hope it is useful to you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Complete.html
new file mode 100644
index 0000000000..8dc455dbda
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Complete.html
@@ -0,0 +1,5 @@
+The officer Limier:
+I do not know how far the power of Shilen, but we seem to have done everything
+they could. I admire your courage. Thank you very much!
+(Quest has been completed.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Q00150_ExtremeChallengePrimalMotherResurrected.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Q00150_ExtremeChallengePrimalMotherResurrected.java
new file mode 100644
index 0000000000..e7f164a4c0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Q00150_ExtremeChallengePrimalMotherResurrected.java
@@ -0,0 +1,148 @@
+/*
+ * 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.Q00150_ExtremeChallengePrimalMotherResurrected;
+
+import com.l2jmobius.Config;
+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;
+
+/**
+ * Extreme Challenge: Primal Mother Resurrected (150)
+ * @URL https://l2wiki.com/Extreme_Challenge:_Primal_Mother_Resurrected
+ * @author Gigi
+ */
+public final class Q00150_ExtremeChallengePrimalMotherResurrected extends Quest
+{
+ // NPCs
+ private static final int RUMIESE = 33293;
+ private static final int ISTHINA_EXTRIM = 29196;
+ // Item
+ private static final int SHILENS_MARK = 17589;
+ private static final int BOTTLE_OF_ISTHINAS_SOUL = 34883;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q00150_ExtremeChallengePrimalMotherResurrected()
+ {
+ super(150);
+ addStartNpc(RUMIESE);
+ addTalkId(RUMIESE);
+ addKillId(ISTHINA_EXTRIM);
+ addCondMinLevel(MIN_LEVEL, "33293-00.htm");
+ }
+
+ @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 "33293-02.htm":
+ case "33293-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33293-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33293-07.html":
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(player, SHILENS_MARK) >= 1))
+ {
+ takeItems(player, SHILENS_MARK, 1);
+ giveItems(player, BOTTLE_OF_ISTHINAS_SOUL, 1);
+ qs.exitQuest(false, true);
+ }
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == RUMIESE)
+ {
+ htmltext = "33293-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33293-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33293-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ giveItems(player, SHILENS_MARK, 1);
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-01.htm
new file mode 100644
index 0000000000..b22ae82cee
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-02.html
new file mode 100644
index 0000000000..35cba6bb1a
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-03.html
new file mode 100644
index 0000000000..e3c4d1b2f3
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-04.htm
new file mode 100644
index 0000000000..c51f6c12e3
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-05.htm
new file mode 100644
index 0000000000..eb47555f5d
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-06.html
new file mode 100644
index 0000000000..1da37772c6
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-07.html
new file mode 100644
index 0000000000..1da37772c6
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-08.html
new file mode 100644
index 0000000000..0dd08a20cd
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/Q00180_InfernalFlamesBurningInCrystalPrison.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/Q00180_InfernalFlamesBurningInCrystalPrison.java
new file mode 100644
index 0000000000..d1626b7a35
--- /dev/null
+++ b/L2J_Mobius_Helios/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);
+ 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)
+ {
+ final 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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-01.htm
new file mode 100644
index 0000000000..db5c77b22c
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-02.html
new file mode 100644
index 0000000000..04649a9ef7
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-03.html
new file mode 100644
index 0000000000..74601fcdd4
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-04.htm
new file mode 100644
index 0000000000..89e9aee160
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-05.htm
new file mode 100644
index 0000000000..8324f3654a
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-06.html
new file mode 100644
index 0000000000..51dd7c3387
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-07.html
new file mode 100644
index 0000000000..51dd7c3387
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-08.html
new file mode 100644
index 0000000000..2ef0b074ed
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-09.html
new file mode 100644
index 0000000000..b0738ce2a2
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-10.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-10.html
new file mode 100644
index 0000000000..c400562c61
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-11.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-11.html
new file mode 100644
index 0000000000..f28117ec4a
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java
new file mode 100644
index 0000000000..bf65153e22
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java
@@ -0,0 +1,156 @@
+/*
+ * 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.commons.util.Rnd;
+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;
+
+/**
+ * @hlwrave
+ * @URL 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);
+ addStartNpc(FIOREN);
+ addTalkId(FIOREN);
+ addKillId(BALOK);
+ registerQuestItems(CONTRACT);
+ addCondMinLevel(MIN_LEVEL, "33044-02.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final 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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-00.html
new file mode 100644
index 0000000000..033d87d0d6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-00.html
@@ -0,0 +1,3 @@
+Elder Filaur:
+What brings you to Schuttgart? Did you come to defeat Teredor?
+(Only level 85+ characters may finish)
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-01.htm
new file mode 100644
index 0000000000..eb2c882dbd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-01.htm
@@ -0,0 +1,4 @@
+Filaur of the Gray Pillar:
+I'm guessing you heard about that really vicious one and came to talk to me about it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-02.htm
new file mode 100644
index 0000000000..feee2a9256
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-02.htm
@@ -0,0 +1,6 @@
+Filaur of the Gray Pillar:
+Teredor keeps being sighted around the Dwarven town... They say he's some kind of Earth Wyrm, probably even related to that Trasken monster who ruined the Dwarven tower. At least he isn't as strong as Trasken.
+Still, his poison's potent enough that we had to close all mines, which is threatening a lot of people's livelihood.
+That's not even our biggest problem.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-03.htm
new file mode 100644
index 0000000000..535ea94ae9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-03.htm
@@ -0,0 +1,6 @@
+Filaur of the Gray Pillar:
+Oh, it's so bad it must be an Omen.
+Many years ago, the great King of Dwarves, Lucien, defeated Trasken and sealed it away. However, now that the Goddess of destruction is growing stronger, many ancient things are starting to wake up, such as this Teredor.
+I dread to think what will happen if it regains its full strength.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-04.htm
new file mode 100644
index 0000000000..b4089e7b93
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-04.htm
@@ -0,0 +1,6 @@
+Filaur of the Gray Pillar:
+The power of Shilen is closely linked to the power of death, and any deaths caused by these Earth Wyrms will only feed that.
+Eventually, the Earth Wyrm will wake completely, and Aden will be flooded with these creations of Shilen.
+Schuttgart will certainly fall, and perhaps Aden itself.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-05.htm
new file mode 100644
index 0000000000..4524eee765
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-05.htm
@@ -0,0 +1,4 @@
+Elder Filaur:
+Well, it would mean a lot to catch Teredor. It's just one part of thise whole process, but a vital part.
+You can't defeat this monster alone, so gather allies and return to me when you're ready.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-06.html
new file mode 100644
index 0000000000..0c766f6ad5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-06.html
@@ -0,0 +1,3 @@
+Elder Filaur:
+You can't defeat this monster alone, so gather allies and return to me when you're ready.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-07.html
new file mode 100644
index 0000000000..4140650922
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-07.html
@@ -0,0 +1,5 @@
+Elder Filaur:
+Did you defeat it? You look a bit battered, but not too bad, considering the task. Thankfully the evil energy seems to be calming down. Maybe that will weaken the Earth Wyrm.
+You've done well. Please, take this as a reward, you earned it.
+But, Shilen is still strong. So stick around, will you? Come back when you've rested. We can use all the help we can get.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Complete.html
new file mode 100644
index 0000000000..c8e342b350
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Complete.html
@@ -0,0 +1,4 @@
+Elder Filaur:
+That Teredor creature will be quiet for a while now that we've weakened the Earth Wyrm.
+(You can do this quest once a day. It resets each day at 6:30am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Q00459_TheVillainOfTheUndergroundMineTeredor.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Q00459_TheVillainOfTheUndergroundMineTeredor.java
new file mode 100644
index 0000000000..b30b8306ef
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Q00459_TheVillainOfTheUndergroundMineTeredor.java
@@ -0,0 +1,141 @@
+/*
+ * 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.Q00459_TheVillainOfTheUndergroundMineTeredor;
+
+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.model.quest.State;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * The Villain of the Underground Mine, Teredor (459)
+ * @URL https://l2wiki.com/The_Villain_of_the_Underground_Mine,_Teredor
+ * @VIDEO http://www.dailymotion.com/video/x4hvrk2_quest-the-villain-of-the-underground-mine-teredor-infinity-odyssey_videogames
+ * @author Gigi
+ */
+public class Q00459_TheVillainOfTheUndergroundMineTeredor extends Quest
+{
+ // NPCs
+ private static final int FILAUR = 30535;
+ // Monster
+ private static final int TEREDOR = 25785;
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final int PROOF_OF_FIDELITY = 19450;
+
+ public Q00459_TheVillainOfTheUndergroundMineTeredor()
+ {
+ super(459);
+ addStartNpc(FILAUR);
+ addTalkId(FILAUR);
+ addKillId(TEREDOR);
+ addCondMinLevel(MIN_LEVEL, "30535-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "30535-02.htm":
+ case "30535-03.htm":
+ case "30535-04.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30535-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "30535-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "30535-05.html";
+ break;
+ }
+ case 2:
+ {
+ giveItems(player, PROOF_OF_FIDELITY, 6);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = "30535-07.html";
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "Complete.html";
+ }
+ qs.setState(State.CREATED);
+ 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))
+ {
+ qs.setCond(2, true);
+ }
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, true);
+ return super.onKill(npc, killer, isSummon);
+ }
+}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-01.htm
new file mode 100644
index 0000000000..a4d7cc0fb7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-01.htm
@@ -0,0 +1,4 @@
+Filaur of the Gray Pillar:
+What's that you're holding?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-02.htm
new file mode 100644
index 0000000000..40e630b256
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-02.htm
@@ -0,0 +1,4 @@
+Elder Filaur:
+So Amer is dead, and you're delivering this?
+You're a role model to all these promise-breakers who wander round as if they did nothing wrong. We'll forever remember Amer for keeping the promise to the Gray Pillar Guild.
+And, never fear, you will be getting a reward as well.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/33092-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/33092-01.html
new file mode 100644
index 0000000000..d865188092
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/33092-01.html
@@ -0,0 +1,3 @@
+Amer:
+You need to collect all 20 of the Teredor Egg Fragments before you can make delivery! you need more!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/Q00460_PreciousResearchMaterial.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/Q00460_PreciousResearchMaterial.java
new file mode 100644
index 0000000000..2a5adbd3a4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/Q00460_PreciousResearchMaterial.java
@@ -0,0 +1,135 @@
+/*
+ * 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.Q00460_PreciousResearchMaterial;
+
+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.model.quest.State;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * Precious Research Material (460)
+ * @URL https://l2wiki.com/Precious_Research_Material
+ * @author Gigi
+ */
+public class Q00460_PreciousResearchMaterial extends Quest
+{
+ // NPCs
+ private static final int AMER = 33092;
+ private static final int FILAUR = 30535;
+ // Monster
+ private static final int EGG = 18997;
+ // Item's
+ private static final int PROOF_OF_FIDELITY = 19450; //
+ private static final int TEREDOR_EGG_FRAGMENT = 17735;
+ // Misc
+ private static final int MIN_LEVEL = 85;
+
+ public Q00460_PreciousResearchMaterial()
+ {
+ super(460);
+ addStartNpc(AMER);
+ addTalkId(AMER, FILAUR);
+ addKillId(EGG);
+ registerQuestItems(TEREDOR_EGG_FRAGMENT);
+ addCondMinLevel(MIN_LEVEL, "30535-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "30535-02.htm":
+ {
+ giveItems(player, PROOF_OF_FIDELITY, 3);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ switch (npc.getId())
+ {
+ case AMER:
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33092-01.htm";
+ qs.isStarted();
+ break;
+ }
+ case State.STARTED:
+ {
+ htmltext = "33092-01.htm";
+ break;
+ }
+ }
+ break;
+ }
+ case FILAUR:
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(player, TEREDOR_EGG_FRAGMENT) >= 20))
+ {
+ htmltext = "30535-01.htm";
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ if (giveItemRandomly(killer, EGG, 1, 20, 0.7, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00.htm
new file mode 100644
index 0000000000..fe4d9edcd8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00.htm
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+Your life has not yet reached this page in your destiny.
+Prepare yourself for the future, and glory will come to you.
+(This quest can only be fulfilled by characters who have completed the Witch of Orbis quest, and who are level 95 or above.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00a.html
new file mode 100644
index 0000000000..5ed5a13585
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00a.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+You completed your task well. You should rest for tomorrow's mission.
+(This quest can be fulfilled only once per day. This quest timer resets at 6:30 a.m. everyday.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-01.htm
new file mode 100644
index 0000000000..4643c67e19
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-01.htm
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+It is time for you to take up the mission that you were born for.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-02.htm
new file mode 100644
index 0000000000..c034556114
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-02.htm
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+This is where ancient heroes were put to rest, though the perpetuity of time degenerated their souls into something less, something pitiful. This weakness allowed Malevolent Power to infiltrate and corrupt their souls.
+Now, we need a pure, untainted power to combat the darkness that threatens to engulf our world. That, my child, is what brought me to you. You are that power.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-03.htm
new file mode 100644
index 0000000000..f3eec081fb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-03.htm
@@ -0,0 +1,6 @@
+Divine Messenger Lydia:
+This is no coincidence.
+We've waited a long time for someone to break the eternal balance and bring peace to this place.
+You must fight the lost heroes, remove their darkness from their souls, and set them free once again.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-04.htm
new file mode 100644
index 0000000000..5abb3ec078
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-04.htm
@@ -0,0 +1,7 @@
+Divine Messenger Lydia:
+I am sure you will.
+There is one more thing I must tell you - in order to succeed, you must also fight the most powerful of the fallen heroes. There are ten in total, ten mighty champions that saved the world while they lived, and now seek to damn it as while dead.
+Defeat the ancient heroes, and you'll summon these champions to defend them. As I said, there are 10 in total, but I will only ask that you kill two, if you can. If you can only kill one, then I will understand.
+Now, it's time to choose. Will you face the fate in front of you?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-05.htm
new file mode 100644
index 0000000000..c274e1f4c1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-05.htm
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+I'll tell you who you need to defeat. Turanclass and Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros are all powerful ancient warriors.
+Also, Talicrom, Micalia, Evangelos, Sotiris, and Lazaros have powerful subordinates and use magic very well.
+Well? Your destiny awaits!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-06.html
new file mode 100644
index 0000000000..4eb35103ab
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-06.html
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+Turanclass and Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros are all powerful warriors from the past.
+Also, Talicrom, Micalia, Evangelos, Sotiris, and Lazaros have powerful subordinates and they also use magic very well.
+Furthermore, face the fate that will challenge you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-07.html
new file mode 100644
index 0000000000..105c915640
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-07.html
@@ -0,0 +1,6 @@
+Divine Messenger Lydia:
+You've killed one of them.
+What do you want to do now?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-08.html
new file mode 100644
index 0000000000..9db8f70abb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-08.html
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+Okay...
+I can still feel the sadness of the other fallen champions... when will they finally get the rest they deserve?
+Anyway, your reward is here. If you have enough of these and want to return to Ancient City Arcan , you'll want to speak to Anthony and exchange it for something of significant value.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-09.html
new file mode 100644
index 0000000000..7107b04a30
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-09.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+Okay. Defeat any one of Turanclass, Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros. It doesn't matter who.
+Go face your fate.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/Q00462_StuffedAncientHeroes.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/Q00462_StuffedAncientHeroes.java
new file mode 100644
index 0000000000..2bf8e04e77
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/Q00462_StuffedAncientHeroes.java
@@ -0,0 +1,201 @@
+/*
+ * 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.Q00462_StuffedAncientHeroes;
+
+import java.util.HashSet;
+import java.util.Set;
+
+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.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10317_OrbisWitch.Q10317_OrbisWitch;
+
+/**
+ * Stuffed Ancient Heroes (462)
+ * @URL https://l2wiki.com/Stuffed_Ancient_Heroes
+ * @author Gigi
+ */
+public class Q00462_StuffedAncientHeroes extends Quest
+{
+ // NPCs
+ private static final int LYDIA = 32892;
+ private static final int ANCIENT_HEROES = 33347;
+ // Boss
+ private static final int[] BOSES =
+ {
+ 25760, // Turanclass
+ 25761, // Georgios
+ 25762, // Angelos
+ 25763, // Theofanis
+ 25764, // Steregos
+ 25766, // Talicrome
+ 25767, // Meikaliya
+ 25768, // Evangelos
+ 25769, // Sotiris
+ 25770 // Lazaros
+ };
+ // Item
+ private static final int CERTIFICATE_OF_HERO = 30386;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00462_StuffedAncientHeroes()
+ {
+ super(462);
+ addStartNpc(LYDIA);
+ addTalkId(LYDIA);
+ addKillId(BOSES);
+ addCondMinLevel(MIN_LEVEL, "32892-00.htm");
+ addCondCompletedQuest(Q10317_OrbisWitch.class.getSimpleName(), "32892-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "32892-02.htm":
+ case "32892-03.htm":
+ case "32892-04.htm":
+ case "32892-09.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32892-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32892-08.html":
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (qs.isCond(2))
+ {
+ giveItems(player, CERTIFICATE_OF_HERO, 2);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ else if (qs.isCond(3))
+ {
+ giveItems(player, CERTIFICATE_OF_HERO, killCount);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (npc.getId() == LYDIA)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "32892-00a.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "32892-01.htm";
+ qs.isStarted();
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32892-06.html";
+ }
+ else if (qs.getCond() > 1)
+ {
+ htmltext = "32892-07.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && (qs.getCond() > 0))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ qs.set(KILL_COUNT_VAR, killCount);
+ if (killCount == 1)
+ {
+ qs.setCond(2, true);
+ }
+ else if ((killCount > 1) && (killCount <= 10))
+ {
+ qs.setCond(1);
+ qs.setCond(3);
+ }
+ else
+ {
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 0))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (killCount > 0)
+ {
+ final Set holder = new HashSet<>(1);
+ holder.add(new NpcLogListHolder(ANCIENT_HEROES, false, killCount));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-01.htm
new file mode 100644
index 0000000000..d5a6c23fc8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-01.htm
@@ -0,0 +1,5 @@
+Fairy citizen who ran away from Kimerian:
+That Kimerian, it's insane! Crazed!. We can't live this way! We need free ourselves from Kimerians.
+You've already helped us before; won't you help us again this time?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-02.htm
new file mode 100644
index 0000000000..bacb50007e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-02.htm
@@ -0,0 +1,4 @@
+Fairy citizen who ran away from Kimerian:
+Please help 2 or more Fairy Citizens who are suffering in the Fairy Settlement. Then we will help you when are in need. Will you help us?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-03.htm
new file mode 100644
index 0000000000..138bb524d9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-03.htm
@@ -0,0 +1,4 @@
+Fairy citizen who ran away from Kimerian:
+Thank you! You need extend a hand of true friendship.
+When you destroy Cocoons and Large Cocoons in the Fairy Settlement, you'll encounter Fairy Citizen in need. Please when you see them!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-04.html
new file mode 100644
index 0000000000..bc5fd917f9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-04.html
@@ -0,0 +1,4 @@
+Fairy citizen who ran away from Kimerian:
+Thank you for your help. You - our most loyal friend.
+(This quest is available once a day. Update the quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-05.html
new file mode 100644
index 0000000000..8c3249ccb6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-05.html
@@ -0,0 +1,3 @@
+Fairy citizen who ran away from Kimerian:
+When you destroy Cocoons and Large Cocoons in the Fairy Settlement, you'll encounter Fairy Citizen in need. Please when you see them!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-06.html
new file mode 100644
index 0000000000..4c8627c11f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-06.html
@@ -0,0 +1,6 @@
+Fairy citizen who ran away from Kimerian:
+Were you able to help the Fairy Citizens? where you able to empathize? to feel our pain? To see our long suffering?
+Did the Fairy Citizens give you anything in return?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-07.html
new file mode 100644
index 0000000000..18e5d10f72
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-07.html
@@ -0,0 +1,4 @@
+Fairy citizen who ran away from Kimerian:
+I'm sorry you could not meet a representative of my people.
+I suggest you go back and look for them well, I know they're in captivity and dreams of freedom.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-08.html
new file mode 100644
index 0000000000..64fc1c1438
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-08.html
@@ -0,0 +1,3 @@
+Fairy citizen who ran away from Kimerian:
+That's it! This provers you are indeed a friend to my people. Here, take this Fairy's Leaf Flute. If you find yourself facing Kimerian, and you need our help, use this. And take care until next we meet.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-01.html
new file mode 100644
index 0000000000..c14877731f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-01.html
@@ -0,0 +1,5 @@
+Fairy citizen:
+Are you one who freed me from the cocoon? Oh, thank you, thank you.
+Any longer and know I would have been mutated. Did you know that I was here?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-02.html
new file mode 100644
index 0000000000..1d95adf6a6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-02.html
@@ -0,0 +1,3 @@
+Fairy citizen:
+Are you talking about the fairy in the heart of Timiniel? Ooh, good to know he made it out of here safely. Here, take this in recognition of thankful I am.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/Q00465_WeAreFriends.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/Q00465_WeAreFriends.java
new file mode 100644
index 0000000000..132b885349
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/Q00465_WeAreFriends.java
@@ -0,0 +1,154 @@
+/*
+ * 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.Q00465_WeAreFriends;
+
+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.model.quest.State;
+
+/**
+ * We Are Friends (465)
+ * @URL https://l2wiki.com/We_Are_Friends
+ * @author Gigi
+ */
+public class Q00465_WeAreFriends extends Quest
+{
+ // Npc
+ public static final int FAIRY_CITIZEN = 32921;
+ public static final int FAIRY_CITIZEN_SPAWN = 32923;
+ // item
+ private static final int MARK_OF_FRIENDSHIP = 17377;
+ private static final int FAIRY_LEAF_FLUTE = 17378;
+ private static final int CERTIFICATE_OF_PROMISE = 30384;
+ // Misc
+ private static final int MIN_LEVEL = 88;
+
+ public Q00465_WeAreFriends()
+ {
+ super(465);
+ addStartNpc(FAIRY_CITIZEN);
+ addTalkId(FAIRY_CITIZEN, FAIRY_CITIZEN_SPAWN);
+ registerQuestItems(MARK_OF_FRIENDSHIP);
+ addCondMinLevel(MIN_LEVEL, "no_level.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "32921-02.htm":
+ case "32921-07.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32921-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32923-02.html":
+ {
+ giveItems(player, MARK_OF_FRIENDSHIP, 1);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ if ((getQuestItemsCount(player, MARK_OF_FRIENDSHIP) >= 2))
+ {
+ qs.setCond(2, true);
+ }
+ htmltext = event;
+ npc.deleteMe();
+ break;
+ }
+ case "32921-08.html":
+ {
+ giveItems(player, FAIRY_LEAF_FLUTE, 1);
+ giveItems(player, CERTIFICATE_OF_PROMISE, getRandom(1, 4));
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable() && (npc.getId() == FAIRY_CITIZEN))
+ {
+ htmltext = "32921-04.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ if (npc.getId() == FAIRY_CITIZEN)
+ {
+ htmltext = "32921-01.htm";
+ }
+ }
+ break;
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case FAIRY_CITIZEN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32921-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "32921-06.html";
+ }
+ break;
+ }
+ case FAIRY_CITIZEN_SPAWN:
+ {
+ if (qs.isCond(1) && (npc.getTitle() == player.getName()))
+ {
+ htmltext = "32923-01.html";
+ break;
+ }
+ return null;
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/no_level.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/no_level.htm
new file mode 100644
index 0000000000..782492f27b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00465_WeAreFriends/no_level.htm
@@ -0,0 +1,5 @@
+Fairy citizen who ran away from Kimerian:
+We both suffer from tyranny Kimeriana! Oh, if we could get rid of his power!
+I think you could help us. Do not forget about our troubles, When you have the experience!
+(This quest is available after the 88th level.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-01.htm
new file mode 100644
index 0000000000..1dd69a7649
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-01.htm
@@ -0,0 +1,5 @@
+Horpina:
+Do not know if you happened to be in the central flower garden, located in the garden? There is a prison in which the enchanted creature, called monster Afros. His guard militant Keepers. In the past they were honest and valiant warriors, receive special protection of the gods, but now... I do not even know what will happen to our wiles Magmeldom because they weave.
+So I want to appeal to you to...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-02.htm
new file mode 100644
index 0000000000..234244b46f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-02.htm
@@ -0,0 +1,5 @@
+Horpina:
+In ancient times, the gods instructed Defenders protect the Forerunners. Now, when the ancient gods have sunk into oblivion, Defenders, drawn by the desire for power, intend to use the power of the Forerunners to their advantage. I've heard rumors that some of the precursors appear in the Ancient City Arkan and in the land of Aden, where they sowed chaos and destruction. Nobody knows what will happen even if you do not stop the Defenders.
+Our nation is trying to prevent their evil plans. But we need help. I ask, assist - Destroy 30 Defenders.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-03.htm
new file mode 100644
index 0000000000..d85b7b45af
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-03.htm
@@ -0,0 +1,3 @@
+Horpina:
+Thank you. If the keepers for fear of retribution, for a time refuse to implement their plans, it will help us win more time. For which we may be able to find a way to counter them.
+So, I ask you to kill 30 Arpheus Watchman, living in the garden.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-04.html
new file mode 100644
index 0000000000..376844ed50
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-04.html
@@ -0,0 +1,4 @@
+Horpina:
+Thank you. If the keepers for fear of retribution, for a time refuse to implement their plans, it will help us win more time.
+(You can only do this quest once a day. This quest resets at 6:30 AM.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-05.html
new file mode 100644
index 0000000000..450c5981c2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-05.html
@@ -0,0 +1,4 @@
+Horpina:
+You followed my assignment?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-06.html
new file mode 100644
index 0000000000..2923b64c51
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-06.html
@@ -0,0 +1,3 @@
+Horpina:
+Nice! You are very good you stranger. Here's your reward - not so hot that, but the rich, and so happy... Hopefully after you have rested, we can work together again?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-07.html
new file mode 100644
index 0000000000..e86ebe40fd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-07.html
@@ -0,0 +1,4 @@
+Horpina:
+For which we may be able to find a way to counter them.
+So, I ask you to kill 30 Arpheus Watchman, living in the garden.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/Q00469_SuspiciousGardener.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/Q00469_SuspiciousGardener.java
new file mode 100644
index 0000000000..b3f89230f0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/Q00469_SuspiciousGardener.java
@@ -0,0 +1,158 @@
+/*
+ * 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.Q00469_SuspiciousGardener;
+
+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.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * Suspicious Gardener (469)
+ * @URL https://l2wiki.com/Suspicious_Gardener
+ * @author Gigi
+ */
+public class Q00469_SuspiciousGardener extends Quest
+{
+ // Npc
+ public static final int GOFINA = 33031;
+ // Monsters
+ private static final int APHERIUS_LOOKOUT_BEWILDERED = 22964;
+ // Items
+ private static final ItemHolder CERTIFICATE_OF_LIFE = new ItemHolder(30385, 2); // Certificate of Life
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q00469_SuspiciousGardener()
+ {
+ super(469);
+ addStartNpc(GOFINA);
+ addTalkId(GOFINA);
+ addKillId(APHERIUS_LOOKOUT_BEWILDERED);
+ addCondMinLevel(MIN_LEVEL, "no_level.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "33031-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33031-03.htm":
+ {
+ qs.startQuest();
+ qs.set(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED), 0);
+ htmltext = event;
+ break;
+ }
+ case "33031-06.html":
+ {
+ giveItems(player, CERTIFICATE_OF_LIFE);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (npc.getId() == GOFINA)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33031-04.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33031-01.htm";
+ }
+ break;
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "33031-07.html";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "33031-05.html";
+ break;
+ }
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ int kills = qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED));
+ if (kills < 30)
+ {
+ kills++;
+ qs.set(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(APHERIUS_LOOKOUT_BEWILDERED, qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED)) >= 30))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/no_level.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/no_level.html
new file mode 100644
index 0000000000..684e94ab31
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/no_level.html
@@ -0,0 +1,4 @@
+Horpina:
+Nice! But you are still very young for my order.
+(You must be level 90 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-01.htm
new file mode 100644
index 0000000000..74e18717c3
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-02.html
new file mode 100644
index 0000000000..c080ee64c3
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-03.htm
new file mode 100644
index 0000000000..5df77fab5d
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-04.html
new file mode 100644
index 0000000000..f27f9ba47e
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-05.html
new file mode 100644
index 0000000000..f27f9ba47e
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-06.html
new file mode 100644
index 0000000000..0919920137
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-07.html
new file mode 100644
index 0000000000..6da1824e57
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-08.html
new file mode 100644
index 0000000000..1790f16c9c
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/Q00471_BreakingThroughTheEmeraldSquare.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/Q00471_BreakingThroughTheEmeraldSquare.java
new file mode 100644
index 0000000000..bed461aa18
--- /dev/null
+++ b/L2J_Mobius_Helios/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);
+ addStartNpc(FIOREN);
+ addTalkId(FIOREN);
+ addKillId(EMABIFI);
+ addCondMinLevel(MIN_LEVEL, "33044-02.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final 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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm
new file mode 100644
index 0000000000..6a2dbccfd8
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html
new file mode 100644
index 0000000000..c080ee64c3
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-03.htm
new file mode 100644
index 0000000000..3676d1fe40
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-04.html
new file mode 100644
index 0000000000..6aa7746bd2
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-05.html
new file mode 100644
index 0000000000..6aa7746bd2
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-06.html
new file mode 100644
index 0000000000..49fd15929f
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-07.html
new file mode 100644
index 0000000000..6da1824e57
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-08.html
new file mode 100644
index 0000000000..1790f16c9c
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/Q00472_ChallengeSteamCorridor.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/Q00472_ChallengeSteamCorridor.java
new file mode 100644
index 0000000000..f391c3e2b1
--- /dev/null
+++ b/L2J_Mobius_Helios/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);
+ addStartNpc(FIOREN);
+ addTalkId(FIOREN);
+ addKillId(KECHI);
+ addCondMinLevel(MIN_LEVEL, "33044-02.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final 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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-01.htm
new file mode 100644
index 0000000000..d897022659
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-02.html
new file mode 100644
index 0000000000..c080ee64c3
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-03.htm
new file mode 100644
index 0000000000..ad1d62f069
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-04.html
new file mode 100644
index 0000000000..9b7290a7c6
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-05.html
new file mode 100644
index 0000000000..9b7290a7c6
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-06.html
new file mode 100644
index 0000000000..93c87dce8d
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-07.html
new file mode 100644
index 0000000000..6da1824e57
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-08.html
new file mode 100644
index 0000000000..1790f16c9c
--- /dev/null
+++ b/L2J_Mobius_Helios/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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/Q00473_InTheCoralGarden.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/Q00473_InTheCoralGarden.java
new file mode 100644
index 0000000000..608f73b337
--- /dev/null
+++ b/L2J_Mobius_Helios/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);
+ addStartNpc(FIOREN);
+ addTalkId(FIOREN);
+ addKillId(MICHAEL);
+ addCondMinLevel(MIN_LEVEL, "33044-02.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final 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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-01.htm
new file mode 100644
index 0000000000..87b8644414
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-01.htm
@@ -0,0 +1,4 @@
+Ende:
+Hmm ... And you ... Looks very strong fighter! Yes, it's a compliment. Do not get me wrong. And why not? No one told you compliments?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-02.htm
new file mode 100644
index 0000000000..7ed6d05737
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-02.htm
@@ -0,0 +1,4 @@
+Ende:
+Oh, I think you are much stronger! Oh ... I do not like wimps. I can not charge you a job, you do not have a single drop of responsibility ...
+(This quest is available after the 48th level.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-03.html
new file mode 100644
index 0000000000..07c3279dd5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-03.html
@@ -0,0 +1,4 @@
+Ende:
+Thank you for helping me today. My gratitude knows no bounds! Heh-heh-heh ...
+(This quest is available once a day. Update the quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-05.htm
new file mode 100644
index 0000000000..6f769c9af5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-05.htm
@@ -0,0 +1,5 @@
+Ende:
+I am Ende, helping Krasisu. You also have a relationship with Krasisom, it means that there is now not only the Dark Elves! Well, enough chatter ...
+You hang in a place where no one but travelers will not appear. Hunt? Am I mistaken?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-06.htm
new file mode 100644
index 0000000000..9ca4c5557b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-06.htm
@@ -0,0 +1,4 @@
+Ende:
+I'm so busy with his business, which is absolutely no time to hunt. Of course, it's not that I do not know how to hunt. But I was far better to spend time on other things. You as much free time. You could do it for me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-07.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-07.htm
new file mode 100644
index 0000000000..a8dcd9f14b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-07.htm
@@ -0,0 +1,4 @@
+Ende:
+This is a very simple task. We must destroy all the evil creatures in this tower! It's easy, is not it? In addition, you are well rewarded. I can vouch for it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-08.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-08.htm
new file mode 100644
index 0000000000..501cbd7b2a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-08.htm
@@ -0,0 +1,5 @@
+Ende:
+I need a blood Monster Tower of Insolence! It seems that in their blood some hidden secret. All come here to get this blood. I was particularly interested in the newly emerging monsters.
+Destroy Vladimir Voinov, Voinov Radzhuosa, Ken Birestiana, Bistiana, Birestiana, Warrior of the Rainbow Guardian, Guardian Knight of the Rainbow and bring me 10 samples of blood of Allegiance.
+It would be great if you are at the same time destroyed their leaders: Vladimir Radzhuosa, Ken, and brought me to Blood of Truth!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-09.html
new file mode 100644
index 0000000000..378a4115a8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-09.html
@@ -0,0 +1,4 @@
+Ende:
+Destroy Vladimir Voinov, Voinov Radzhuosa, Ken Birestiana, Bistiana, Birestiana, Warrior of the Rainbow Guardian, Guardian Knight of the Rainbow and bring me 10 samples of blood of Allegiance.
+It would be great if you are at the same time destroyed their leaders: Vladimir Radzhuosa, Ken, and brought me to Blood of Truth!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-10.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-10.html
new file mode 100644
index 0000000000..6f37dce170
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-10.html
@@ -0,0 +1,6 @@
+Ende:
+The gods, as you will quickly come back ... Oh, no! We need to bring all of what I asked!
+Destroy Vladimir Voinov, Voinov Radzhuosa, Ken Birestiana, Bistiana, Birestiana, Warrior of the Rainbow Guardian, Guardian Knight of the Rainbow and bring me 10 samples of blood of Allegiance.
+It would be great if you are at the same time destroyed their leaders: Vladimir Radzhuosa, Ken, and brought me to Blood of Truth!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-11.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-11.html
new file mode 100644
index 0000000000..33249fe4db
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-11.html
@@ -0,0 +1,4 @@
+Ende:
+Oh, you really cope? And you can trust!
+Here is your reward, take it!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-12.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-12.html
new file mode 100644
index 0000000000..7a48c50fa6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-12.html
@@ -0,0 +1,4 @@
+Ende:
+Oh, you really cope? And you can trust! Wow! And the blood of Truth got hold of! How do you manage it?
+Here is your reward, take it!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/Q00483_IntendedTactic.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/Q00483_IntendedTactic.java
new file mode 100644
index 0000000000..c9cb76243f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00483_IntendedTactic/Q00483_IntendedTactic.java
@@ -0,0 +1,184 @@
+/*
+ * 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.Q00483_IntendedTactic;
+
+import com.l2jmobius.commons.util.CommonUtil;
+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.model.quest.State;
+
+/**
+ * Intended Tactic (483)
+ * @URL https://l2wiki.com/Intended_Tactic
+ * @author Gigi
+ */
+public class Q00483_IntendedTactic extends Quest
+{
+ // Npc
+ public static final int ENDE = 33357;
+ // Mobs
+ private static final int[] MOBS =
+ {
+ 23069, // Vladimir's Warrior
+ 23070, // Lazearth' Warrior
+ 23071, // Beastian
+ 23072, // Birestian
+ 23073, // Kenneth Bastian
+ 23074, // Heaven's Palace Noble Warrior
+ 23075 // Heaven's Palace Noble Knight
+ };
+ private static final int[] BOSSES =
+ {
+ 25809, // Vladimir
+ 25811, // Lazearth
+ 25815 // Ken
+ };
+ // items
+ private static final int LOYAL_SERVANS_BLOOD = 17736;
+ private static final int TRUTTHFUL_ONES_BLOOD = 17737;
+ private static final int TOKEN_OF_INSOLENCE_TOWER = 17624;
+ // Misc
+ private static final int MIN_LEVEL = 48;
+
+ public Q00483_IntendedTactic()
+ {
+ super(483);
+ addStartNpc(ENDE);
+ addTalkId(ENDE);
+ addKillId(MOBS);
+ addKillId(BOSSES);
+ addCondMinLevel(MIN_LEVEL, "33357-02.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "33357-05.htm":
+ case "33357-06.htm":
+ case "33357-07.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33357-08.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "endquest":
+ {
+ if (getQuestItemsCount(player, TRUTTHFUL_ONES_BLOOD) >= 10)
+ {
+ takeItems(player, LOYAL_SERVANS_BLOOD, -1);
+ takeItems(player, TRUTTHFUL_ONES_BLOOD, -1);
+ giveItems(player, TOKEN_OF_INSOLENCE_TOWER, 1);
+ addExpAndSp(player, 1500000, 360);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = "33357-12.html";
+ break;
+ }
+ takeItems(player, LOYAL_SERVANS_BLOOD, -1);
+ addExpAndSp(player, 1500000, 360);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = "33357-11.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (npc.getId() == ENDE)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33357-03.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ break;
+ }
+ case State.CREATED:
+ {
+ htmltext = "33357-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33357-09.html";
+ }
+ else if (qs.isStarted() && qs.isCond(2))
+ {
+ htmltext = "33357-10.html";
+ }
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (qs.isCompleted() && !qs.isNowAvailable())
+ {
+ htmltext = "33357-03.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) && (CommonUtil.contains(MOBS, npc.getId())))
+ {
+ if (giveItemRandomly(killer, npc, LOYAL_SERVANS_BLOOD, 1, 10, 0.10, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ if ((qs != null) && qs.isCond(2) && (CommonUtil.contains(BOSSES, npc.getId())))
+ {
+ if (giveItemRandomly(killer, npc, TRUTTHFUL_ONES_BLOOD, 1, 10, 1.0, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-00.html
new file mode 100644
index 0000000000..3b2b5db3ae
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-00.html
@@ -0,0 +1,3 @@
+Goddard Vanguard Sirik:
+(3rd Class Transfer may take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-01.htm
new file mode 100644
index 0000000000..3523773244
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-01.htm
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+You look like you are a seasoned veteran of slaying monsters, right? I have a small request if you're interested.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-02.htm
new file mode 100644
index 0000000000..880c60fd15
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-02.htm
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+You see this guy standing next to me? He's some sort of big shot from Elmore, sent here to investigate the new monsters near the Shrine of Loyalty. Now I'm stuck here babysitting him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-03.htm
new file mode 100644
index 0000000000..c4311801d7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-03.htm
@@ -0,0 +1,6 @@
+Goddard Vanguard Sirik:
+Hahaha. No, babysitting this guy isn't the problem.
+These creatures all around us though, those are the problem. You see I'm not a very skilled Vanguard member. I'm much better at running away than fighting. But I can’t run with this guy around. If he dies, then my father is going to be super mad at me.
+I need someone to help protect me so I can protect him... which I guess is pretty much the same as protecting him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-04.htm
new file mode 100644
index 0000000000..2621b13104
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-04.htm
@@ -0,0 +1,3 @@
+Goddard Vanguard Sirik:
+No, I don't want you to do that, I just want you to eliminate some of these new monsters around here. If you do that, it pretty much makes my job significantly easier. I need you to hunt down and defeat the Succubus Soldiers, Succubus Warriors, Succubus Archers, and Succubus Shamans. They should drop Dimensional Fragments. Collect 50 of these as proof that you have eliminated these mobs and I'll reward you for doing this.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-05.html
new file mode 100644
index 0000000000..4ddf8e61e9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-05.html
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+AGH! Not again! I thought you were a spooky ghost. Please don't sneak up on me like that.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-06.html
new file mode 100644
index 0000000000..6b3e6bbadc
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-06.html
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+Let's see what you have here! Well, you have all 50 Dimensional Fragments here, but it doesn't really feel any safer around here. Damn...
+I don't mean to sound ungrateful, but maybe next time you can do a better job?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-07.html
new file mode 100644
index 0000000000..c329da90af
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-07.html
@@ -0,0 +1,3 @@
+Goddard Vanguard Sirik:
+I need you to hunt down and defeat the Succubus Soldiers, Succubus Warriors, Succubus Archers, and Succubus Shamans. They should drop Dimensional Fragments. Collect 50 of these as proof that you have eliminated these mobs and I'll reward you for doing this.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/Q00491_InNominePatris.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/Q00491_InNominePatris.java
new file mode 100644
index 0000000000..d420e15166
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/Q00491_InNominePatris.java
@@ -0,0 +1,161 @@
+/*
+ * 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.Q00491_InNominePatris;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+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.base.ClassLevel;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+
+/**
+ * In Nomine Patris (491)
+ * @URL https://l2wiki.com/In_Nomine_Patris
+ * @author Gigi
+ */
+public class Q00491_InNominePatris extends Quest
+{
+ // NPCs
+ private static final int SIRIK = 33649;
+ // Monster's
+ private static final int[] MONSTERS =
+ {
+ 23181, // Succubus Soldier
+ 23182, // Succubus Warrior
+ 23183, // Succubus Archer
+ 23184 // Succubus Shaman
+ };
+ // Items
+ private static final int DIMENSIONAL_FRAGMENT = 34768;
+ // Others
+ private static final int MIN_LEVEL = 76;
+ private static final int MAX_LEVEL = 81;
+ // Reward
+ private static final int EXP_REWARD = 184210;
+ private static final int SP_REWARD = 45;
+
+ public Q00491_InNominePatris()
+ {
+ super(491);
+ addStartNpc(SIRIK);
+ addTalkId(SIRIK);
+ addKillId(MONSTERS);
+ registerQuestItems(DIMENSIONAL_FRAGMENT);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "33649-02.htm":
+ case "33649-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33649-04.htm":
+ {
+ qs.startQuest();
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, SIRIK, NpcStringId.HURRY_AND_DEFEAT_THOSE_MONSTERS));
+ htmltext = event;
+ break;
+ }
+ case "33649-06.html":
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, SIRIK, NpcStringId.HMM_THANK_YOU_SO_THEN_MAYBE_I_WON_T_HAVE_TO_GET_INVOLVED));
+ addExpAndSp(player, (EXP_REWARD * player.getLevel()), (SP_REWARD * player.getLevel()));
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == SIRIK)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "complete.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = ((player.getClassId().level() == ClassLevel.FOURTH.ordinal()) ? "33649-01.htm" : "33649-00.html");
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33649-07.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33649-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && (qs.isCond(1)))
+ {
+ if (giveItemRandomly(killer, npc, DIMENSIONAL_FRAGMENT, 1, 50, 0.5, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/complete.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/complete.htm
new file mode 100644
index 0000000000..0400900c38
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/complete.htm
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+Yes, the number of Succubi in the area is down thanks to your efforts in thinning out their numbers. I feel safer already. Hopefully this scholar will finish his research fast so we can be done with area.
+(You can only do this quest once a day. This quest resets everyday at 6:30 AM.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/no_level.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/no_level.htm
new file mode 100644
index 0000000000..b74f8db970
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00491_InNominePatris/no_level.htm
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 76 to level 81)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00500_BrothersBoundInChains/Q00500_BrothersBoundInChains.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00500_BrothersBoundInChains/Q00500_BrothersBoundInChains.java
index 41862e9a4d..ae819e992a 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00500_BrothersBoundInChains/Q00500_BrothersBoundInChains.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00500_BrothersBoundInChains/Q00500_BrothersBoundInChains.java
@@ -66,7 +66,7 @@ public class Q00500_BrothersBoundInChains extends Quest
16102
};
// Misc
- private static final int DROP_QI_CHANCE = 1; // in % TODO: check that value
+ private static final int DROP_QI_CHANCE = 5; // in % TODO: check that value
private static final int MIN_LEVEL = 60;
public Q00500_BrothersBoundInChains()
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-0.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-0.htm
new file mode 100644
index 0000000000..5dc1b7fdb8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-0.htm
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+Hmm ... For you, as long as there is no work.
+(This quest is available once a day. Updating quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-1.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-1.htm
new file mode 100644
index 0000000000..e35e8c920d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-1.htm
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+Well - prove your strength and help to cope with the problems of Dion. After listening to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-2.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-2.htm
new file mode 100644
index 0000000000..78c2e79910
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-2.htm
@@ -0,0 +1,5 @@
+Caretaker Krepsoit Guillotine Roderick:
+Due to the impact debris dead revived in a new form - a strong and terrible. They seem to accumulate power, Shilen. I do not know the details, but it looks like all the fault of garbage. Ordered him to collect and burn.
+And how to gather when there are so many undead ... You are very LTAC Ankara us if and destroy her.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3.html
new file mode 100644
index 0000000000..c049c88c5c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3.html
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+I will list who should be killed. Collect 40 pieces of Dead Meat , killing Sadiaka, Tyr, Naghdi, extermination Hakala, St. Adidayu, Haskalah, Samit, Gazema, Soul Rosen, Kelvaru, Papyulona, Krutati, charming Irene and a landscaped garden .
+When you fight with them, for you can suddenly attack Skaldisekt Hellfire . I ask you, kill him. enough to kill just one.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3a.html
new file mode 100644
index 0000000000..c049c88c5c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3a.html
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+I will list who should be killed. Collect 40 pieces of Dead Meat , killing Sadiaka, Tyr, Naghdi, extermination Hakala, St. Adidayu, Haskalah, Samit, Gazema, Soul Rosen, Kelvaru, Papyulona, Krutati, charming Irene and a landscaped garden .
+When you fight with them, for you can suddenly attack Skaldisekt Hellfire . I ask you, kill him. enough to kill just one.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-4.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-4.html
new file mode 100644
index 0000000000..018d9b69b8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-4.html
@@ -0,0 +1,5 @@
+Caretaker Krepsoit Guillotine Roderick:
+The task performed? I can not praise you. Frankly, I'm amazed that you survived.
+Of course, one can not express gratitude to talk. I have something cooked for you. Take it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-5.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-5.html
new file mode 100644
index 0000000000..c3d7ad686a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-5.html
@@ -0,0 +1,3 @@
+Caretaker Krepsoit Guillotine Roderick:
+Excellent!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631.htm
new file mode 100644
index 0000000000..44b5a70949
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631.htm
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+Why did you come to such a dangerous place? It Yeshe worse than before - garbage everywhere and corpses. Pacing here, you can join them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/Q00751_LiberatingTheSpirits.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/Q00751_LiberatingTheSpirits.java
new file mode 100644
index 0000000000..990a5419e1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/Q00751_LiberatingTheSpirits.java
@@ -0,0 +1,189 @@
+/*
+ * 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.Q00751_LiberatingTheSpirits;
+
+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.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * Liberating the Spirits (00751)
+ * @URL https://l2wiki.com/Liberating_the_Spirits
+ * @author Gigi
+ */
+public final class Q00751_LiberatingTheSpirits extends Quest
+{
+ // Npc
+ private static final int RODERIK = 30631;
+ // Monster's
+ private static final int SCALDISECT = 23212;
+ private static final int[] MOBS =
+ {
+ 23199,
+ 23201,
+ 23202,
+ 23200,
+ 23203,
+ 23204,
+ 23205,
+ 23206,
+ 23207,
+ 23208,
+ 23209,
+ 23242,
+ 23243,
+ 23244,
+ 23245
+ };
+ // Item's
+ private static final int DEADMANS_FLESH = 34971;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+
+ public Q00751_LiberatingTheSpirits()
+ {
+ super(751);
+ addStartNpc(RODERIK);
+ addTalkId(RODERIK);
+ addKillId(SCALDISECT);
+ addKillId(MOBS);
+ registerQuestItems(DEADMANS_FLESH);
+ addCondMinLevel(MIN_LEVEL, "lvl.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "30631-1.htm":
+ case "30631-2.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30631-3.html":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30631-5.html":
+ {
+ takeItems(player, DEADMANS_FLESH, -1);
+ addExpAndSp(player, 600000000, 144000);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == RODERIK)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "30631-0.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "30631.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30631-3a.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30631-4.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ if ((giveItemRandomly(killer, DEADMANS_FLESH, 1, 40, 0.2, true)) && (qs.getMemoState() < 1))
+ {
+ qs.setMemoState(1);
+ showOnScreenMsg(killer, NpcStringId.SUMMON_SCALDISECT_OF_HELLFIRE, ExShowScreenMessage.TOP_CENTER, 6000);
+ addSpawn(SCALDISECT, npc.getX() + 100, npc.getY() + 100, npc.getZ(), 0, false, 120000);
+ }
+ else if ((qs.isMemoState(1)) && (getQuestItemsCount(killer, DEADMANS_FLESH) >= 40) && (npc.getId() == SCALDISECT))
+ {
+ int kills = qs.getInt(Integer.toString(SCALDISECT));
+ if (kills < 1)
+ {
+ kills++;
+ qs.set(Integer.toString(SCALDISECT), kills);
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SCALDISECT, qs.getInt(Integer.toString(SCALDISECT)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(SCALDISECT)) >= 1))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/lvl.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/lvl.htm
new file mode 100644
index 0000000000..fc60005e0c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/lvl.htm
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+Hmm ... For you, as long as there is no work.
+(This quest is available after reaching level 95.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-0.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-0.htm
new file mode 100644
index 0000000000..2600695934
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-0.htm
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+Hmm ... For you, as long as there is no work.
+(This quest is available once a day. Updating quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-01.htm
new file mode 100644
index 0000000000..fe45fdff3c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-01.htm
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+I take one step outside of the isle of Souls Harbor and get a pounding headache. You saw too, didn't you? those countless Spiculas and Golems infected with the Laido Virus... when they first appeared, we thought the Spiculas were more weapons, and the virus - hah! that we'd only need a vaccine. We had no idea how far from the truth that was.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-02.htm
new file mode 100644
index 0000000000..a749c412b7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-02.htm
@@ -0,0 +1,6 @@
+Hesed of the Black Anvil Guild:
+They're is alive, but not. They seem to reproduce differently normal living beings. On top of that, the Laido Virus can't be completely prevented on cured despite being vaccine for it.
+That scientist Mimir was really something. Technology like this, no wonder Dr. Chaos wanted it for himself!
+Anyway, the situation is to dare to simply gawk at. We have to find out how to get this under control. And after relentless research and investigation since comming here, I've finally found a due to the secret behind the Spiculas reproduction!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-03.htm
new file mode 100644
index 0000000000..94d95a546b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-03.htm
@@ -0,0 +1,5 @@
+Hesed of the Black Anvil Guild:
+I've found that Spiculas created by the Spicula Clone generator Yin contain pieces of information on Yin within Ourselves. But research material obtained from them disappear if handled incorrectly.
+Would you be within to get some more material for me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04.htm
new file mode 100644
index 0000000000..9f582fc443
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04.htm
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+What you need to bring are Yin's Trace an Yin's Enigmatic Trace, And believe it or not, even Golems contain Yin's traces when infected with the virus, thought they don't have any information on Yin. Interesting, huh?
+Yin's Enigmatic Trace can be found in Spiculas 3,4,5 and 6, Twosword Golems, Screw Golems, Light Golems, and Broken-bodied Golems but you can only get Yin's Trace from Yin Spiculas, Spicula Elite Guard, and Spicula Elite Soldier.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04a.html
new file mode 100644
index 0000000000..b3064a1cfb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04a.html
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+your aim to find
+Yin's Enigmatic Trace can be found in Spiculas 3,4,5 and 6, Twosword Golems, Screw Golems, Light Golems, and Broken-bodied Golems but you can only get Yin's Trace from Yin Spiculas, Spicula Elite Guards, and Spicula Elite Soldier.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05.html
new file mode 100644
index 0000000000..6beab2b660
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05.html
@@ -0,0 +1,5 @@
+Hesed of the Black Anvil Guild:
+Thank you, young one!
+I can concentrate on my research a little more now, thanks to you. But it will still be a long while. A scientist like Mimir is an object of great envy and jealousy among us Dwarves.
+If I were to ever find out the secret to the Spiculas' reproduction... would I be able to surpass him, I wonder?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05a.html
new file mode 100644
index 0000000000..1c76b33677
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05a.html
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+Yes yes yes, that's what I need! Let's here and I'll tell you a secret!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/Q00752_UncoverTheSecret.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/Q00752_UncoverTheSecret.java
new file mode 100644
index 0000000000..cb86f3ed0a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/Q00752_UncoverTheSecret.java
@@ -0,0 +1,198 @@
+/*
+ * 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.Q00752_UncoverTheSecret;
+
+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.model.quest.State;
+
+import quests.Q10386_MysteriousJourney.Q10386_MysteriousJourney;
+
+/**
+ * Uncover the Secret (752)
+ * @URL https://l2wiki.com/Uncover_the_Secret
+ * @author Gigi
+ */
+public final class Q00752_UncoverTheSecret extends Quest
+{
+ // Npc
+ private static final int HESET = 33780;
+ // Monster's
+ private static final int SPICULA1 = 23246;
+ private static final int SPICULA2 = 23247;
+ private static final int SPICULA3 = 23248;
+ private static final int SPICULA4 = 23249;
+ private static final int SPICULA5 = 23250;
+ private static final int SPICULA6 = 23251;
+ private static final int TWOSWORD_GOLEM = 23257;
+ private static final int SCREW_GOLEM = 23267;
+ private static final int LIGHT_GOLEM = 23255;
+ private static final int BROKEN_BODIED_GOLEM = 23259;
+
+ private static final int YIN_SPICULA = 23254;
+ private static final int SPICULA_ELITE_GUARD = 23303;
+ private static final int SPICULA_ELITE_SOLDIER = 23262;
+
+ // Items
+ private static final int TRACE = 36074;
+ private static final int ENIGMATIC = 36075;
+ private static final int SCROLL = 36082;
+ // Misc
+ private static final int MIN_LEVEL = 93;
+
+ public Q00752_UncoverTheSecret()
+ {
+ super(752);
+ addStartNpc(HESET);
+ addTalkId(HESET);
+ addKillId(SPICULA1, SPICULA2, SPICULA3, SPICULA4, SPICULA5, SPICULA6, TWOSWORD_GOLEM, SCREW_GOLEM, LIGHT_GOLEM, BROKEN_BODIED_GOLEM, YIN_SPICULA, SPICULA_ELITE_GUARD, SPICULA_ELITE_SOLDIER);
+ registerQuestItems(TRACE, ENIGMATIC);
+ addCondMinLevel(MIN_LEVEL, "lvl.htm");
+ addCondCompletedQuest(Q10386_MysteriousJourney.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33780-02.htm":
+ case "33780-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33780-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33780-05.html":
+ {
+ giveItems(player, SCROLL, 1);
+ addExpAndSp(player, 408665250, 98079);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == HESET)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33780-0.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33780-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33780-04a.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33780-05a.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ switch (npc.getId())
+ {
+ case SPICULA1:
+ case SPICULA2:
+ case SPICULA3:
+ case SPICULA4:
+ case SPICULA5:
+ case SPICULA6:
+ case TWOSWORD_GOLEM:
+ case SCREW_GOLEM:
+ case LIGHT_GOLEM:
+ case BROKEN_BODIED_GOLEM:
+ {
+ if ((getQuestItemsCount(killer, ENIGMATIC) < 20) && (getRandom(100) < 10))
+ {
+ giveItems(killer, ENIGMATIC, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case YIN_SPICULA:
+ case SPICULA_ELITE_GUARD:
+ case SPICULA_ELITE_SOLDIER:
+ {
+ if ((getQuestItemsCount(killer, TRACE) < 10) && (getRandom(100) < 5))
+ {
+ giveItems(killer, TRACE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ if ((getQuestItemsCount(killer, TRACE) >= 10) && (getQuestItemsCount(killer, ENIGMATIC) >= 20))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/lvl.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/lvl.htm
new file mode 100644
index 0000000000..4ff1daa632
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/lvl.htm
@@ -0,0 +1,4 @@
+Heceta:
+Hmm ... For you, as long as there is no work.
+(This quest is available after reaching level 93.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/restriction.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/restriction.html
new file mode 100644
index 0000000000..849d870882
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/restriction.html
@@ -0,0 +1,3 @@
+Heceta:
+you cannot procceed with this quest until you have completed the "Mystrerious Journey" quest
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-00.htm
new file mode 100644
index 0000000000..18729b0786
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-00.htm
@@ -0,0 +1,4 @@
+Bern:
+Hmm ... For you, as long as there is no work.
+(This quest is available once a day. Updating quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-01.htm
new file mode 100644
index 0000000000..a51853abd0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-01.htm
@@ -0,0 +1,4 @@
+Bern:
+Wanderer Wanderer! You are just in time! I need your help .. coming contamination on all of us .. help us, we need such brave war like you!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-02.htm
new file mode 100644
index 0000000000..15d5bb97b1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-02.htm
@@ -0,0 +1,5 @@
+Bern:
+We were closing in Golem shaped monsters infect us and our children, they have a machine "Devices Creating Golem" and only 5 but we do not force ... In addition, some of them kept the keys to the cells they store materials that are collected for reproduction itself, collect at least 30 of the Keys to the Red Door. I'll help you, here is a list of monsters in which they are kept:
+Scout Nornil 1, spicules Warrior 1, Scout Nornil 2, spicules Warrior 2, spicules Ratnikov Commander (1) Commander Ratnikov spicules (2), spicules Adjutant Ratnikov ...
+Thank you, O brave warrior, we're waiting for you with good news!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-03.html
new file mode 100644
index 0000000000..840066b345
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-03.html
@@ -0,0 +1,5 @@
+Bern:
+We were closing in Golem shaped monsters infect us and our children, they have a machine "Devices Creating Golem" and only 5 but we do not force ... In addition, some of them kept the keys to the cells they store materials that are collected for reproduction itself, collect at least 30 of the Keys to the Red Door. I'll help you, here is a list of monsters in which they are kept:
+Scout Nornil 1, spicules Warrior 1, Scout Nornil 2, spicules Warrior 2, spicules Ratnikov Commander (1) Commander Ratnikov spicules (2), spicules Adjutant Ratnikov ...
+Thank you, O brave warrior, we're waiting for you with good news!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-04.html
new file mode 100644
index 0000000000..4d10e70e62
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-04.html
@@ -0,0 +1,4 @@
+Bern:
+I have heard of your exploits! You brought all that I asked for?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-05.html
new file mode 100644
index 0000000000..93f104218b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-05.html
@@ -0,0 +1,4 @@
+Bern:
+Thank you, we are all indebted to you!
+However, this is very small, we only recaptured the golems for a few days, they can launch an attack at any moment .. That's your reward for your lion heart! But you know may need your help at any time!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/Q00753_ReactingToACrisis.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/Q00753_ReactingToACrisis.java
new file mode 100644
index 0000000000..c5468c4bcd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/Q00753_ReactingToACrisis.java
@@ -0,0 +1,210 @@
+/*
+ * 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.Q00753_ReactingToACrisis;
+
+import com.l2jmobius.commons.util.CommonUtil;
+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.model.quest.State;
+import com.l2jmobius.gameserver.model.skills.Skill;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+import quests.Q10386_MysteriousJourney.Q10386_MysteriousJourney;
+
+/**
+ * Uncover the Secret (753)
+ * @URL https://l2wiki.com/Reacting_to_a_Crisis
+ * @VIDEO http://www.dailymotion.com/video/x24y4lx_quest-reacting-to-a-crisis_videogames
+ * @author Gigi
+ */
+public final class Q00753_ReactingToACrisis extends Quest
+{
+ // Npc
+ private static final int BERNA = 33796;
+ // Monster's
+ private static final int GOLEM_GENERATOR = 19296;
+ private static final int BATTLE_GOLEM = 23269;
+ private static final int[] MOBS =
+ {
+ 23270, // Patrol Fighter
+ 23271, // Patrol Archer
+ 23272, // Spicula Fighter
+ 23273, // Spicula Archer
+ 23274, // Specula Elite Captain
+ 23275, // Spicula Captain
+ 23276 // Cheif Scout
+ };
+ // Items
+ private static final int RED_GATE_KEY = 36054;
+ private static final int VERNAS_VACCINE = 36065;
+ private static final int SCROLL = 36082;
+ // Skills;
+ private static final int VACCINE = 9584;
+ private static final double DAMAGE_BY_SKILL = 0.5d; // Percent
+ // Misc
+ private static final int MIN_LEVEL = 93;
+
+ public Q00753_ReactingToACrisis()
+ {
+ super(753);
+ addStartNpc(BERNA);
+ addTalkId(BERNA);
+ addKillId(GOLEM_GENERATOR);
+ addKillId(MOBS);
+ addSkillSeeId(GOLEM_GENERATOR);
+ registerQuestItems(RED_GATE_KEY, VERNAS_VACCINE);
+ addCondMinLevel(MIN_LEVEL, "lvl.htm");
+ addCondCompletedQuest(Q10386_MysteriousJourney.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33796-02.htm":
+ {
+ qs.startQuest();
+ giveItems(player, VERNAS_VACCINE, 1);
+ htmltext = event;
+ break;
+ }
+ case "33796-05.html":
+ {
+ giveItems(player, SCROLL, 1);
+ addExpAndSp(player, 408665250, 98079);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == BERNA)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33796-00.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33796-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33796-03.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33796-04.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onSkillSee(L2Npc npc, L2PcInstance player, Skill skill, com.l2jmobius.gameserver.model.L2Object[] targets, boolean isSummon)
+ {
+ if (!npc.isDead() && (player.getTarget() == npc) && (skill.getId() == VACCINE))
+ {
+ final double dmg = npc.getMaxHp() * DAMAGE_BY_SKILL;
+ npc.reduceCurrentHp(dmg, player, null);
+ }
+ return super.onSkillSee(npc, player, skill, targets, isSummon);
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if (CommonUtil.contains(MOBS, npc.getId()))
+ {
+ if ((qs != null) && qs.isCond(1) && (giveItemRandomly(killer, RED_GATE_KEY, 1, 30, 0.2, true)))
+ {
+ qs.setMemoState(1);
+ }
+ }
+ if ((npc.getId() == 23275) || (npc.getId() == 23276) || (npc.getId() == 23274))
+ {
+ if ((getRandom(100) < 10))
+ {
+ addSpawn(GOLEM_GENERATOR, npc.getX() + 30, npc.getY() + 30, npc.getZ(), 0, false, 60000);
+ showOnScreenMsg(killer, NpcStringId.THE_GOLEM_GENERATOR_HAS_APPEARED, ExShowScreenMessage.TOP_CENTER, 6000);
+ }
+ }
+ if ((qs != null) && qs.isCond(1) && (npc.getId() == GOLEM_GENERATOR))
+ {
+ int kills = qs.getInt(Integer.toString(GOLEM_GENERATOR));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(GOLEM_GENERATOR), kills);
+ }
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpcString(NpcStringId.USE_VACCINE_ON_GOLEM_GENERATOR, kills);
+ killer.sendPacket(log);
+ for (int i = 0; i < 4; i++)
+ {
+ final L2Npc mob = addSpawn(BATTLE_GOLEM, killer, true, 70000);
+ addAttackPlayerDesire(mob, killer);
+ }
+ }
+ if ((qs != null) && (qs.getInt(Integer.toString(GOLEM_GENERATOR)) >= 5) && (qs.isMemoState(1)))
+ {
+ takeItems(killer, VERNAS_VACCINE, -1);
+ qs.setCond(2, true);
+ }
+
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/lvl.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/lvl.htm
new file mode 100644
index 0000000000..efafe0ab30
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/lvl.htm
@@ -0,0 +1,4 @@
+Bern:
+Hmm ... For you, as long as there is no work.
+(This quest is available after reaching level 93.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/restriction.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/restriction.html
new file mode 100644
index 0000000000..1817a346b0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/restriction.html
@@ -0,0 +1,3 @@
+Bern:
+you cannot procceed with this quest until you have completed the "Mystrerious Journey" quest
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-00.htm
new file mode 100644
index 0000000000..09bb3dac29
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-00.htm
@@ -0,0 +1,4 @@
+Quartermaster:
+This might be too dangerous for you. Don't worry about it.
+(Only characters level 97 or above may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-01.htm
new file mode 100644
index 0000000000..9ef4fff2f3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-01.htm
@@ -0,0 +1,5 @@
+Quartermaster:
+The Cemetary is guarded by the soldiers of late King Travis.
+What a noble protector he was! But alas, he and his men have returned as ghosts, oblivious of their once-glorious past. Please, give them eternal rest.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-02.htm
new file mode 100644
index 0000000000..f420904df4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-02.htm
@@ -0,0 +1,5 @@
+Quartermaster:
+I thought you'd say so. You were the one who helped us that time with the evil creatures, right? Thank you. Now go to the deceased king's Cemetary and take down the ghosts, and bring back Marks of Travis as evidence.
+Oh! One more thing.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-03.htm
new file mode 100644
index 0000000000..e018b5b8c9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-03.htm
@@ -0,0 +1,5 @@
+Quartermaster:
+Get me some Returner's Souls too. As with the Marks of Travis, you'll probably find them on the ghost soldiers.
+That is, if the souls haven't been devoured by darkness already. But spend enough timecollecting all the Marks of Travis, and getting those souls will come naturally. Bring them to me, and I'll reward you handsomely.
+Do I need to repeat anything?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-04.html
new file mode 100644
index 0000000000..6f3b95548c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-04.html
@@ -0,0 +1,4 @@
+Quartermaster:
+The late king Travis and his soldiers were heroes of our past. Please let them remain that way. Grant them peace.
+I will reward you the best I can if you bring me 50 Marks of Travis. And if you bring me some Returner's Souls too, I will be sure to reward you as much as you deserve.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-05.html
new file mode 100644
index 0000000000..b315fde3cd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-05.html
@@ -0,0 +1,6 @@
+Quartermaster:
+Ah, all the Marks of Travis I had asked for! And some Returner's Souls too? Excellent. Here, take the Vitality for the number of Souls you brought.
+Do you want to call it a day? Or do you feel up to getting me some more Returner's Souls?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-06.html
new file mode 100644
index 0000000000..c0820b9e4e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-06.html
@@ -0,0 +1,3 @@
+Quartermaster:
+Here, an Escort's Supply Box for you. You must be exhausted! Get some rest..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-07.html
new file mode 100644
index 0000000000..c7a08368a0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-07.html
@@ -0,0 +1,3 @@
+Quartermaster:
+I will be waiting here!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-08.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-08.htm
new file mode 100644
index 0000000000..e338144e98
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-08.htm
@@ -0,0 +1,4 @@
+Quartermaster:
+The march of the dead has stopped, thanks to you. Get some rest. I will let you know if I need more help from you.
+(This is a daily quest which resets at 6:30am every day.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/Q00758_TheFallenKingsMen.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/Q00758_TheFallenKingsMen.java
new file mode 100644
index 0000000000..41ce54bc6c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/Q00758_TheFallenKingsMen.java
@@ -0,0 +1,216 @@
+/*
+ * 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.Q00758_TheFallenKingsMen;
+
+import com.l2jmobius.commons.util.CommonUtil;
+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.model.quest.State;
+
+/**
+ * The Fallen King's Men (758)
+ * @URL https://l2wiki.com/The_Fallen_King%27s_Men
+ * @author Gigi
+ */
+public class Q00758_TheFallenKingsMen extends Quest
+{
+ // Npc
+ private static final int INTENDANT = 33407;
+ // Items
+ private static final int TRAVIS_MARK = 36392;
+ private static final int REPATRIAT_SOUL = 36393;
+ // Rewards
+ private static final int ESCORT_BOX = 36394;
+ // Mobs
+ private static final int[] MOBS =
+ {
+ 19455, // Aden Raider
+ 23296, // Chief Quartermaster
+ 23294, // Chief Magician
+ 23292, // Royal Guard
+ 23291, // Personal Magician
+ 23290, // Royal Knight
+ 23300, // Commander of Operations
+ 23299, // Operations Chief of the 7th Division
+ 23298, // Royal Quartermaster
+ 23297, // Escort
+ 23295, // Operations Manager
+ 23293 // Royal Guard Captain
+ };
+ private static final int MIN_LEVEL = 97;
+ private static final int MARK_COUNT = 100;
+ private static final int SOUL_COUNT = 300;
+
+ public Q00758_TheFallenKingsMen()
+ {
+ super(758);
+ addStartNpc(INTENDANT);
+ addTalkId(INTENDANT);
+ registerQuestItems(TRAVIS_MARK, REPATRIAT_SOUL);
+ addKillId(MOBS);
+ addCondMinLevel(MIN_LEVEL, "33407-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "33407-02.htm":
+ case "33407-07.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33407-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33407-06.html":
+ {
+ if ((getQuestItemsCount(player, TRAVIS_MARK) >= 100) && (getQuestItemsCount(player, REPATRIAT_SOUL) < 100))
+ {
+ addExpAndSp(player, 3015185490L, 7236360);
+ giveItems(player, ESCORT_BOX, 1);
+ giveAdena(player, 1017856, false);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, TRAVIS_MARK) >= 100) && ((getQuestItemsCount(player, REPATRIAT_SOUL) >= 100) && (getQuestItemsCount(player, REPATRIAT_SOUL) <= 199)))
+ {
+ addExpAndSp(player, 6030370980L, 14472720);
+ giveItems(player, ESCORT_BOX, 2);
+ giveAdena(player, 2035712, false);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, TRAVIS_MARK) >= 100) && ((getQuestItemsCount(player, REPATRIAT_SOUL) >= 200) && (getQuestItemsCount(player, REPATRIAT_SOUL) <= 299)))
+ {
+ addExpAndSp(player, 9045556470L, 21709080);
+ giveItems(player, ESCORT_BOX, 3);
+ giveAdena(player, 3053568, false);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, TRAVIS_MARK) >= 100) && (getQuestItemsCount(player, REPATRIAT_SOUL) >= 300))
+ {
+ addExpAndSp(player, 12060741960L, 28945440);
+ giveItems(player, ESCORT_BOX, 4);
+ giveAdena(player, 4071424, false);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == INTENDANT)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33407-08.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33407-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1) && (getQuestItemsCount(player, TRAVIS_MARK) < 100))
+ {
+ htmltext = "33407-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33407-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ if ((CommonUtil.contains(MOBS, npc.getId())) && (getQuestItemsCount(killer, TRAVIS_MARK) < MARK_COUNT) && (getRandom(100) < 25))
+ {
+ giveItems(killer, TRAVIS_MARK, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ if (getQuestItemsCount(killer, TRAVIS_MARK) >= MARK_COUNT)
+ {
+ qs.setCond(2, true);
+ }
+ }
+ if (qs.getCond() > 0)
+ {
+ if ((CommonUtil.contains(MOBS, npc.getId())) && (getQuestItemsCount(killer, REPATRIAT_SOUL) < SOUL_COUNT) && (getRandom(100) < 50))
+ {
+ giveItems(killer, REPATRIAT_SOUL, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ if (getQuestItemsCount(killer, REPATRIAT_SOUL) >= SOUL_COUNT)
+ {
+ qs.setCond(2, true);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-00.htm
new file mode 100644
index 0000000000..c98a0482b5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-00.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Hellbound is too dangerous for you. Please leave.
+(Only characters Lv. 99 or above who have completed the "Elikia's Letter" quest may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-01.htm
new file mode 100644
index 0000000000..b1774ca184
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-01.htm
@@ -0,0 +1,6 @@
+Fire Dragon Bride Leona Blackbird:
+I would like to tell you about what I have investigated so far, and give you a mission. Are you interested?
+If you already know about this mission, I can let you work on it right away.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-02.html
new file mode 100644
index 0000000000..680a935ce8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-02.html
@@ -0,0 +1,6 @@
+Fire Dragon Bride Leona Blackbird:
+Finished? Wait...the Fragments of Chaos! You got it!
+This amount warrants minimal payment. Will you stop here?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-03.html
new file mode 100644
index 0000000000..911f24f98e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-03.html
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+This should be enough to deter Beleth's plans for now.
+Here is the reward I promised. Please use this to become even stronger. Never stop training!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-04.html
new file mode 100644
index 0000000000..2f0ab0e532
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-04.html
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Good spirit! All right, listen well:
+Kill any monsters in Hellbound to collect more Fragments of Chaos. We cannot let Beleth get his way.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-05.html
new file mode 100644
index 0000000000..bd67cfbb8f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-05.html
@@ -0,0 +1,3 @@
+Fire Dragon Bride Leona Blackbird:
+Alright, this is the mission. Kill any monster in Hellbound to obtain Fragments of Chaos. Bring them to me, and I'll pay you per 100 of them. This is vital to stopping Beleth!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-06.htm
new file mode 100644
index 0000000000..1ce76fd5f1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-06.htm
@@ -0,0 +1,3 @@
+Fire Dragon Bride Leona Blackbird:
+Kill any monster in Hellbound to obtain Fragments of Chaos. Bring them to me, and I'll pay you per 100 of them. This is vital to stopping Beleth!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-07.html
new file mode 100644
index 0000000000..3086c79eaf
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-07.html
@@ -0,0 +1,3 @@
+Fire Dragon Bride Leona Blackbird:
+You can obtain Fragments of Chaos if you kill monsters here. They are proof that the monsters were once human, and also make up Core Naia - meaning Beleth is ultimately after them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-08.html
new file mode 100644
index 0000000000..2ae34a0337
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-08.html
@@ -0,0 +1,3 @@
+Fire Dragon Bride Leona Blackbird:
+Here are the rewards you've earned. If you're disappointed, know that Eva helps those who help themselves. Please come again later.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-09.html
new file mode 100644
index 0000000000..a68846949d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-09.html
@@ -0,0 +1,5 @@
+Fire Dragon Bride Leona Blackbird:
+Finished? Wait...the Fragments of Chaos! You got it!
+This amount warrants is maximum payment. I am very grateful to you!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/Q00775_RetrievingTheChaosFragment.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/Q00775_RetrievingTheChaosFragment.java
new file mode 100644
index 0000000000..778ba5f388
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/Q00775_RetrievingTheChaosFragment.java
@@ -0,0 +1,229 @@
+/*
+ * 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.Q00775_RetrievingTheChaosFragment;
+
+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.model.quest.State;
+
+import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter;
+
+/**
+ * Retrieving the Fragment of Chaos (775)
+ * @URL https://l2wiki.com/Retrieving_the_Fragment_of_Chaos
+ * @author Gigi
+ */
+public class Q00775_RetrievingTheChaosFragment extends Quest
+{
+ // NPC's
+ private static final int LEONA_BLACKBIRD = 31595;
+ // Monster's
+ private static final int[] MONSTERS =
+ {
+ 23388, // Kandiloth
+ 23387, // Kanzaroth
+ 23385, // Lunatikan
+ 23384, // Smaug
+ 23386, // Jabberwok
+ 23395, // Garion
+ 23397, // Desert Wendigo
+ 23399, // Bend Beetle
+ 23398, // Koraza
+ 23395, // Garion
+ 23396, // Garion Neti
+ 23357, // Disorder Warrior
+ 23356, // Klien Soldier
+ 23361, // Mutated Fly
+ 23358, // Blow Archer
+ 23355, // Armor Beast
+ 23360, // Bizuard
+ 23354, // Dacey Hannibal
+ 23357, // Disorder Warrior
+ 23363, // Amos Officer
+ 23364, // Amos Master
+ 23362, // Amos Soldier
+ 23365, // Ailith Hunter
+ };
+ // Misc
+ private static final int MIN_LEVEL = 99;
+ // Item
+ private static final int CHAOS_FRAGMENT = 37766;
+ private static final int BLOODIED_DEMONIC_TOME = 37893;
+ private static final int LEONAS_REWARD_BOX = 46559;
+
+ public Q00775_RetrievingTheChaosFragment()
+ {
+ super(775);
+ addStartNpc(LEONA_BLACKBIRD);
+ addTalkId(LEONA_BLACKBIRD);
+ addKillId(MONSTERS);
+ registerQuestItems(CHAOS_FRAGMENT);
+ addCondMinLevel(MIN_LEVEL, "31595-00.htm");
+ addCondCompletedQuest(Q10455_ElikiasLetter.class.getSimpleName(), "31595-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = event;
+ switch (event)
+ {
+ case "31595-05.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "31595-06.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "31595-03.html":
+ {
+ if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 200) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 300))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 1);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 300) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 400))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 2);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 400) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 500))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 3);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 500) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 600))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 4);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 600) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 700))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 5);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 700) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 800))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 6);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 800) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 900))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 7);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 900) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 1000))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 8);
+ }
+ else if (getQuestItemsCount(player, CHAOS_FRAGMENT) >= 1000)
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 900);
+ }
+ if (getRandom(100) < 50)
+ {
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ }
+ addExpAndSp(player, 463097250, 111143);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (npc.getId() == LEONA_BLACKBIRD)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "31595-08.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "31595-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31595-07.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if (getQuestItemsCount(player, CHAOS_FRAGMENT) < 200)
+ {
+ htmltext = "31595-02.html";
+ }
+ else
+ {
+ htmltext = "31595-09.html";
+ }
+ }
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (qs.isCompleted() && !qs.isNowAvailable())
+ {
+ htmltext = "31595-08.html";
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isStarted() && (getQuestItemsCount(killer, CHAOS_FRAGMENT) < 1000))
+ {
+ if (getQuestItemsCount(killer, CHAOS_FRAGMENT) == 100)
+ {
+ qs.setCond(2, true);
+ }
+ giveItems(killer, CHAOS_FRAGMENT, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-00.htm
new file mode 100644
index 0000000000..da5bedee96
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-00.htm
@@ -0,0 +1,4 @@
+Officer Tepios:
+What do you think you're doing, wandering around here like that? Please don't make my people come running to save you.
+(Only characters Lv. 95 or above may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-01.htm
new file mode 100644
index 0000000000..6e0b2f3bed
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-01.htm
@@ -0,0 +1,4 @@
+Officer Tepios:
+Wait, stop and listen. You've come all this way to such a dangerous place. You are surely destined for great missions, no?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-02.htm
new file mode 100644
index 0000000000..1dcdd05785
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-02.htm
@@ -0,0 +1,4 @@
+Officer Tepios:
+So you're after Ekimus too. Well, the more the better! Shall we?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-03.htm
new file mode 100644
index 0000000000..4fc019a5ae
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-03.htm
@@ -0,0 +1,5 @@
+Officer Tepios:
+All right, so this is the rundown. To defeat Ekimus, you must infiltrate the Hall of Suffering first, and then reach the Heart of Infinity.
+That's where you will face Ekimus, the Lord of the Undead.
+To go to the Hall of Erosion, talk to Guide of Infinity Jaedin over there.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-04.html
new file mode 100644
index 0000000000..66cfc188f0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-04.html
@@ -0,0 +1,4 @@
+Officer Tepios:
+Got it? To defeat Ekimus, you must infiltrate the Hall of Suffering first, and then reach the Heart of Infinity.
+To go to the Hall of Erosion, talk to Guide of Infinity Jaedin over there.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-05.html
new file mode 100644
index 0000000000..1d071bde9c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-05.html
@@ -0,0 +1,4 @@
+Officer Tepios:
+Are you well? How did it go?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-06.html
new file mode 100644
index 0000000000..afb4fbafd6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-06.html
@@ -0,0 +1,4 @@
+Officer Tepios:
+You truly are one of a kind. Though Ekimus will be back, I commend you nonetheless in the name of Gracia.
+I will reward you on behalf of Admiral Keucereus.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Complete.html
new file mode 100644
index 0000000000..3fde24b44b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Complete.html
@@ -0,0 +1,4 @@
+
+Officer Tepios:
+Ekimus must fall. He must!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Q00776_SlayDarkLordEkimus.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Q00776_SlayDarkLordEkimus.java
new file mode 100644
index 0000000000..f29a84fccf
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Q00776_SlayDarkLordEkimus.java
@@ -0,0 +1,147 @@
+/*
+ * 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.Q00776_SlayDarkLordEkimus;
+
+import com.l2jmobius.Config;
+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.model.quest.State;
+
+/**
+ * Slay Dark Lord Ekimus (776)
+ * @URL https://l2wiki.com/Slay_Dark_Lord_Ekimus
+ * @author Gigi
+ */
+public class Q00776_SlayDarkLordEkimus extends Quest
+{
+ // NPC's
+ private static final int TEPIOS = 32603;
+ // Boss
+ private static final int EKIMUS = 29150;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+ private static final int FREED_SOUL_CRYSTAL = 38576;
+
+ public Q00776_SlayDarkLordEkimus()
+ {
+ super(776);
+ addStartNpc(TEPIOS);
+ addTalkId(TEPIOS);
+ addKillId(EKIMUS);
+ addCondMinLevel(MIN_LEVEL, "32603-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return null;
+ }
+ switch (event)
+ {
+ case "32603-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32603-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32603-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, FREED_SOUL_CRYSTAL, 100);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == TEPIOS)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "32603-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32603-04.html";
+ }
+ else
+ {
+ htmltext = "32603-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-00.htm
new file mode 100644
index 0000000000..9001521e79
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-00.htm
@@ -0,0 +1,4 @@
+Sergeant Allenos:
+Dragonkin are not only powerful, but also cruel and merciless. Scary, right?
+(Only characters between level 93 and 97 may enter)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-01.htm
new file mode 100644
index 0000000000..d41969cebc
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-01.htm
@@ -0,0 +1,4 @@
+Sergeant Allenos:
+Are you ready? It will begin soon.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-02.htm
new file mode 100644
index 0000000000..f5c77093c0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-02.htm
@@ -0,0 +1,6 @@
+Sergeant Allenos:
+Oh wait, didn't I tell you? We're going to infiltrate the Seed of Destruction. Isn't that why you came?
+If not, you'd better get out of here quick. It's going to get ugly soon.
+Well? Which will it be? Come on, we're out of time.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-03.htm
new file mode 100644
index 0000000000..a1557c218b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-03.htm
@@ -0,0 +1,5 @@
+Sergeant Allenos:
+Ok, no need to shout!
+The infiltration will be executed as a command channel. Have your leader talk to me when you're ready, and I'll guide you in. Please make sure everyone is ready!
+Godspeed!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-04.html
new file mode 100644
index 0000000000..13f1af9d41
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-04.html
@@ -0,0 +1,4 @@
+Sergeant Allenos:
+The infiltration will be executed as a command channel. Have your leader talk to me when you're ready, and I'll guide you in. Please make sure everyone is ready!
+Godspeed!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-05.html
new file mode 100644
index 0000000000..dd5675874a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-05.html
@@ -0,0 +1,4 @@
+Sergeant Allenos:
+Have you met Special Product Broker Kirklan at the Keucereus Alliance Base yet? He said fighting creatures at the Seed of Destruction can make you rich!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-06.html
new file mode 100644
index 0000000000..cfebd7b30e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-06.html
@@ -0,0 +1,3 @@
+Sergeant Allenos:
+Here you are. Take these to Special Product Broker Kirklan at the Keucereus Alliance Base, and you can get things you need. Darkness can be a win-win for everyone!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Complete.html
new file mode 100644
index 0000000000..a51bf2cc94
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Complete.html
@@ -0,0 +1,3 @@
+Sergeant Allenos:
+Sure, whatever you want. Just don't try to overdo it!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Q00777_SlayDarkLordTiat.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Q00777_SlayDarkLordTiat.java
new file mode 100644
index 0000000000..1b496c0b00
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Q00777_SlayDarkLordTiat.java
@@ -0,0 +1,148 @@
+/*
+ * 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.Q00777_SlayDarkLordTiat;
+
+import com.l2jmobius.Config;
+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.model.quest.State;
+
+/**
+ * Slay Dark Lord Tiat (777)
+ * @URL https://l2wiki.com/Slay_Dark_Lord_Tiat
+ * @author Gigi
+ */
+public class Q00777_SlayDarkLordTiat extends Quest
+{
+ // NPC's
+ private static final int ALLENOS = 32526;
+ // Boss
+ private static final int TIAT = 29163;
+ // Misc
+ private static final int MIN_LEVEL = 93;
+ private static final int MAX_LEVEL = 97;
+ private static final int TIATS_CHARM = 38575;
+
+ public Q00777_SlayDarkLordTiat()
+ {
+ super(777);
+ addStartNpc(ALLENOS);
+ addTalkId(ALLENOS);
+ addKillId(TIAT);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "32526-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return null;
+ }
+ switch (event)
+ {
+ case "32526-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32526-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32526-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, TIATS_CHARM, 100);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == ALLENOS)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "32526-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32526-04.html";
+ }
+ else
+ {
+ htmltext = "32526-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-00.htm
new file mode 100644
index 0000000000..83dfa633f1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-00.htm
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+An order from Nerva Chief Turakan...
+Huh? How long have you been there?
+(This quest may only be undertaken by characters of level 97 or higher who have completed the "An Impending Threat" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-01.htm
new file mode 100644
index 0000000000..6fa3816bbc
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-01.htm
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+I have a plan to destroy the Orcs Nerba together with their reinforcement.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-02.htm
new file mode 100644
index 0000000000..5c745123cc
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-02.htm
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+I want someone like you to help me to get some information. This task difficult, but I believe that you will succeed.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-03.htm
new file mode 100644
index 0000000000..0c324d2f63
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-03.htm
@@ -0,0 +1,3 @@
+Flame Patrol Warrior Bruener:
+Well, then go to Raider's Crossroads and kill Nerva Orc Raider, Nerva Orc Archer, Nerva Orc Priest, Nerva Orc Wizard, Nerva Orc Assassin, Nerva Orc Ambusher, Nerva Orc Merchant, Nerva Orc Warrior, Nerva Orc Prefect, Captain (Nerva Bloodlust) and obtain Turakan's Secret Letter - 500 pcs. As evidence of their effort can bring Broken Weapon Fragment - 500 pcs.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-04.html
new file mode 100644
index 0000000000..ff5b55e8da
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-04.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+Are you still here?
+Go and come back when Obtain Turakan's Secret Letter - 500 pcs. and Broken Weapon Fragment - 500 pcs.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-05.html
new file mode 100644
index 0000000000..964542aaea
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-05.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+Oh, how glad to see you again!. Tell us more if you managed to carry out my plan to Orcs Nerba destroy?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-06.html
new file mode 100644
index 0000000000..44b336ba1d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-06.html
@@ -0,0 +1,3 @@
+Flame Patrol Warrior Bruener:
+Thank you, here is your reward. And I still decide what to do with the fact that you brought.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Complete.html
new file mode 100644
index 0000000000..2e42d3e963
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Complete.html
@@ -0,0 +1,3 @@
+Flame Patrol Warrior Bruener:
+Something you will become familiar to me all day, come back tomorrow.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Q00778_OperationRoaringFlame.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Q00778_OperationRoaringFlame.java
new file mode 100644
index 0000000000..e33befa8af
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Q00778_OperationRoaringFlame.java
@@ -0,0 +1,192 @@
+/*
+ * 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.Q00778_OperationRoaringFlame;
+
+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.model.quest.State;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
+
+/**
+ * Operation Roaring Flame (778)
+ * @URL https://l2wiki.com/Operation_Roaring_Flame
+ * @author Gigi
+ */
+public class Q00778_OperationRoaringFlame extends Quest
+{
+ // NPCs
+ private static final int BRUENER = 33840;
+ // Mob
+ private static final int[] MOBS =
+ {
+ 23314, // Nerva Orc Raider
+ 23315, // Nerva Orc Archer
+ 23316, // Nerva Orc Priest
+ 23317, // Nerva Orc Wizard
+ 23318, // Nerva Orc Assassin
+ 23319, // Nerva Orc Ambusher
+ 23320, // Nerva Orc Merchant
+ 23321, // Nerva Orc Warrior
+ 23322, // Nerva Orc Prefect
+ 23324 // Captain (Nerva Bloodlust)
+ };
+ // Items'
+ private static final int TURAKANS_SECRET_LETTER = 36682;
+ private static final int BROKEN_WEAPON_FRAGMENT = 36683;
+ // rewards
+ private static final int SCROLL_OF_ESCAPE_RAIDERS_CROSSROAD = 37017;
+ private static final int ELIXIR_OF_BLESSING = 32316;
+ private static final int ELIXIR_OF_MIND = 30358;
+ private static final int ELIXIR_OF_LIFE = 30357;
+ private static final int ELMORE_NOBLE_BOX = 37022;
+ private static final int ENERGY_OF_DESTRUCTION = 35562;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q00778_OperationRoaringFlame()
+ {
+ super(778);
+ addStartNpc(BRUENER);
+ addTalkId(BRUENER);
+ addKillId(MOBS);
+ registerQuestItems(TURAKANS_SECRET_LETTER, BROKEN_WEAPON_FRAGMENT);
+ addCondMinLevel(MIN_LEVEL, "33840-00.htm");
+ addCondCompletedQuest(Q10445_AnImpendingThreat.class.getSimpleName(), "33840-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return null;
+ }
+ switch (event)
+ {
+ case "33840-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33840-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33840-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 3470807368L, 28945440);
+ giveItems(player, SCROLL_OF_ESCAPE_RAIDERS_CROSSROAD, 1);
+ giveItems(player, ELIXIR_OF_BLESSING, 5);
+ giveItems(player, ELIXIR_OF_MIND, 5);
+ giveItems(player, ELIXIR_OF_LIFE, 5);
+ giveItems(player, ELMORE_NOBLE_BOX, 1);
+ giveItems(player, ENERGY_OF_DESTRUCTION, 1);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == BRUENER)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33840-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33840-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33840-05.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))
+ {
+ if ((getQuestItemsCount(player, TURAKANS_SECRET_LETTER) < 500) && (getRandom(100) < 70))
+ {
+ giveItems(player, TURAKANS_SECRET_LETTER, getRandom(1, 2));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ if (getQuestItemsCount(player, BROKEN_WEAPON_FRAGMENT) < 500)
+ {
+ giveItems(player, BROKEN_WEAPON_FRAGMENT, getRandom(1, 2));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ if ((getQuestItemsCount(player, TURAKANS_SECRET_LETTER) >= 500) && (getQuestItemsCount(player, BROKEN_WEAPON_FRAGMENT) >= 500))
+ {
+ 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);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-00.htm
new file mode 100644
index 0000000000..4372916ba6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-00.htm
@@ -0,0 +1,4 @@
+Leona Blackbird:
+The Phantasmal Ridge is one of the most dangerous in Hellbound. If you are not strong enough, it's better for you to not go.
+(This quest is only available for characters with Lv. 99 or above who have completed the "Elikia's Letter" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-01.htm
new file mode 100644
index 0000000000..6f9d71b70e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-01.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-02.htm
new file mode 100644
index 0000000000..120d04f7ab
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-02.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-03.htm
new file mode 100644
index 0000000000..d6f95b83db
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-03.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-04.htm
new file mode 100644
index 0000000000..ba7f7e7faa
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-04.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+Starrt Quest
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-05.html
new file mode 100644
index 0000000000..6003a9e514
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-05.html
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+Quest Progress
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-06.html
new file mode 100644
index 0000000000..7fb26ccf86
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-06.html
@@ -0,0 +1,5 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+Quest Condition 2
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-07.html
new file mode 100644
index 0000000000..67dfdf8344
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-07.html
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+Quest Finish
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/Q00783_VestigeOfTheMagicPower.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/Q00783_VestigeOfTheMagicPower.java
new file mode 100644
index 0000000000..5a3c175b09
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/Q00783_VestigeOfTheMagicPower.java
@@ -0,0 +1,192 @@
+/*
+ * 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.Q00783_VestigeOfTheMagicPower;
+
+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.model.quest.State;
+
+import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter;
+
+/**
+ * Vestige of the Magic Power (783)
+ * @URL https://l2wiki.com/Vestige_of_the_Magic_Power
+ * @author Gigi
+ */
+public class Q00783_VestigeOfTheMagicPower extends Quest
+{
+ // NPC's
+ private static final int LEONA_BLACKBIRD = 31595;
+ // Monster's
+ private static final int[] MONSTERS =
+ {
+ 23384, // Smaug
+ 23385, // Lunatikan
+ 23386, // Jabberwok
+ 23387, // Kanzaroth
+ 23388, // Kandiloth
+ 23395, // Garion
+ 23396, // Garion Neti
+ 23397, // Desert Wendigo
+ 23398, // Koraza
+ 23399 // Bend Beetle
+ };
+ // Misc
+ private static final int MIN_LEVEL = 99;
+ private static final int HIGH_GRADE_FRAGMENT_OF_CHAOS = 46557;
+ private static final int LEONAS_REWARD_BOX = 46558;
+ private static final int BLOODIED_DEMONIC_TOME = 37893;
+
+ public Q00783_VestigeOfTheMagicPower()
+ {
+ super(783);
+ addStartNpc(LEONA_BLACKBIRD);
+ addTalkId(LEONA_BLACKBIRD);
+ addKillId(MONSTERS);
+ registerQuestItems(HIGH_GRADE_FRAGMENT_OF_CHAOS);
+ addCondMinLevel(MIN_LEVEL, "31595-00.htm");
+ addCondCompletedQuest(Q10455_ElikiasLetter.class.getSimpleName(), "31595-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "31595-02.htm":
+ case "31595-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "31595-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "31595-07.html":
+ {
+ if ((getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 250) && (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) < 500))
+ {
+ addExpAndSp(player, 3876316782L, 9303137);
+ giveItems(player, LEONAS_REWARD_BOX, 1);
+ takeItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, -1);
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 500) && (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) < 750))
+ {
+ addExpAndSp(player, 7752633564L, 18606274);
+ giveItems(player, LEONAS_REWARD_BOX, 2);
+ takeItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, -1);
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 750) && (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) < 1000))
+ {
+ addExpAndSp(player, 11628950346L, 27909411);
+ giveItems(player, LEONAS_REWARD_BOX, 3);
+ takeItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, -1);
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ else if (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 1000)
+ {
+ addExpAndSp(player, 15505267128L, 37212548);
+ giveItems(player, LEONAS_REWARD_BOX, 4);
+ takeItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, -1);
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ qs.exitQuest(QuestType.REPEATABLE, 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;
+ }
+ if (npc.getId() == LEONA_BLACKBIRD)
+ {
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "31595-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31595-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "31595-06.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isStarted() && (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) < 1000))
+ {
+ giveItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, 1);
+ if (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 250)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, player, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-01.htm
new file mode 100644
index 0000000000..0d0af370b7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-01.htm
@@ -0,0 +1,5 @@
+Namo:
+I'm here doing surveillance on the activities of dragons and the Undead in Dragon Valley. Some unusual energy was detected here recently, so I was dispatched here.
+I can even observe that Watchman over there directly as well.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-02.htm
new file mode 100644
index 0000000000..c33ebdf3a8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-02.htm
@@ -0,0 +1,5 @@
+Namo:
+Can't you see him? It's Antharas Watchman Gilmore, right next to me. He's a member of the so-called Antharas Watchmen. He is one of 12 members here to observe Antharas. He even submitted to the curse that transforms one into an Undead in order to observe the dragon.
+I'm a complete newbie compared to him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-03.htm
new file mode 100644
index 0000000000..3f6e3aa7e9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-03.htm
@@ -0,0 +1,5 @@
+Namo:
+So, what I'm saying is, in order to bring an end to the role of the Watchmen -- or to ease his pains, at least -- we need peace around here.
+Will you help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-04.htm
new file mode 100644
index 0000000000..cb03eedfd2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-04.htm
@@ -0,0 +1,3 @@
+Namo:
+Thank you! Your mission is to fell all the dragons and Undead in Dragon Valley. Bring back 50 Dragon Bone Dust as proof. There will be additional rewards if you also collect Dragon Bone Fragments.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-05.html
new file mode 100644
index 0000000000..5559e7b109
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-05.html
@@ -0,0 +1,3 @@
+Namo:
+Your mission is to fell all the dragons and Undead in Dragon Valley. Bring back 50 Dragon Bone Dust as proof. There will be additional rewards if you also collect Dragon Bone Fragments.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-06.html
new file mode 100644
index 0000000000..6399cb797a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-06.html
@@ -0,0 +1,6 @@
+Namo:
+50 Dragon Bone Dust, I see. But, you haven't collected enough Dragon Bone Fragments to get your additional reward.
+What do you want to do? Do you just want to call it a day? Or do you want to go and collect some more Dragon Bone Fragments?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-07.html
new file mode 100644
index 0000000000..1b723243bd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-07.html
@@ -0,0 +1,5 @@
+Namo:
+Do you really want to stop now? If you accept your reward today, I won't be able to give you any additional missions.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-08.html
new file mode 100644
index 0000000000..9dc057b765
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-08.html
@@ -0,0 +1,3 @@
+Namo:
+You really will? Great. Fell all the dragons and Undead in Dragon Valley and collect Dragon Bone Fragments. You'll get a reward for meeting different quotas.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-09.html
new file mode 100644
index 0000000000..87c4faa4e3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-09.html
@@ -0,0 +1,3 @@
+Namo:
+Here you go. But, it'll be difficult to bring the Watchman's role to an end for awhile. It'd be great if you took a bit of a break and came back later.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-10.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-10.html
new file mode 100644
index 0000000000..4c5dbac37a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-10.html
@@ -0,0 +1,3 @@
+
+This is a daily quest which resets at 6:30am every day.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/Q00787_TheRoleOfAWatcher.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/Q00787_TheRoleOfAWatcher.java
new file mode 100644
index 0000000000..4be31df448
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/Q00787_TheRoleOfAWatcher.java
@@ -0,0 +1,259 @@
+/*
+ * 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.Q00787_TheRoleOfAWatcher;
+
+import com.l2jmobius.gameserver.enums.QuestType;
+import com.l2jmobius.gameserver.enums.Race;
+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;
+
+/**
+ * The Role of a Watcher (00787)
+ * @URL https://l2wiki.com/The_Role_of_a_Watcher
+ * @author Gigi
+ */
+public class Q00787_TheRoleOfAWatcher extends Quest
+{
+ // NPCs
+ private static final int NAMO = 33973;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23423, // Mesmer Dragon
+ 23424, // Gargoyle Dragon
+ 23425, // Black Dragon
+ 23427, // Sand Dragon
+ 23428, // Captain Dragonblood
+ 23429, // Minion Dragonblood
+ 23436, // Cave Servant Archer
+ 23437, // Cave Servant Warrior
+ 23438, // Metallic Cave Servant
+ 23439, // Iron Cave Servant
+ 23440, // Headless Knight
+ 23430, // Prey Drake
+ 23431, // Beast Drake
+ 23432, // Dust Drake
+ 23433, // Vampiric Drake
+ 23441, // Bloody Grave Warrior
+ 23442, // Dark Grave Warrior
+ 23443, // Dark Grave Wizard
+ 23444, // Dark Grave Knight
+ 23447 // Gust Spiral
+ };
+
+ // Items
+ private static final int DRAGON_BONE_DUST = 39736; // min 50
+ private static final int DRAGON_BONE_FRAGMENT = 39737; // max 900
+ private static final int EMISSARY_REWARD_BOX = 39728; // Emissary's Reward Box (High-grade)
+ // Misc
+ private static final int MIN_LEVEL = 75;
+ private static final int MAX_LEVEL = 85;
+
+ public Q00787_TheRoleOfAWatcher()
+ {
+ super(787);
+ addStartNpc(NAMO);
+ addTalkId(NAMO);
+ addKillId(MONSTERS);
+ registerQuestItems(DRAGON_BONE_DUST, DRAGON_BONE_FRAGMENT);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondRace(Race.ERTHEIA, "noErtheya.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33973-02.htm":
+ case "33973-03.htm":
+ case "33973-07.html":
+ case "33973-08.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33973-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33973-09.html":
+ {
+ if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) < 100))
+ {
+ addExpAndSp(player, 14140350, 3393);
+ giveItems(player, EMISSARY_REWARD_BOX, 1);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 100) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 199)))
+ {
+ addExpAndSp(player, 28280700, 6786);
+ giveItems(player, EMISSARY_REWARD_BOX, 2);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 200) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 299)))
+ {
+ addExpAndSp(player, 42421050, 10179);
+ giveItems(player, EMISSARY_REWARD_BOX, 3);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 300) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 399)))
+ {
+ addExpAndSp(player, 56561400, 13572);
+ giveItems(player, EMISSARY_REWARD_BOX, 4);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 400) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 499)))
+ {
+ addExpAndSp(player, 70701750, 16965);
+ giveItems(player, EMISSARY_REWARD_BOX, 5);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 500) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 599)))
+ {
+ addExpAndSp(player, 84842100, 20358);
+ giveItems(player, EMISSARY_REWARD_BOX, 6);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 600) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 699)))
+ {
+ addExpAndSp(player, 98982450, 23751);
+ giveItems(player, EMISSARY_REWARD_BOX, 7);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 700) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 799)))
+ {
+ addExpAndSp(player, 113122800, 27144);
+ giveItems(player, EMISSARY_REWARD_BOX, 8);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 800) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 899)))
+ {
+ addExpAndSp(player, 127263150, 30537);
+ giveItems(player, EMISSARY_REWARD_BOX, 9);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 900))
+ {
+ addExpAndSp(player, 141403500, 33930);
+ giveItems(player, EMISSARY_REWARD_BOX, 10);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == NAMO)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33973-10.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33973-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33973-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33973-06.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && (qs.isCond(1)))
+ {
+ if (giveItemRandomly(killer, npc, DRAGON_BONE_DUST, 1, 50, 0.15, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ if ((qs != null) && (qs.isCond(2)))
+ {
+ if (giveItemRandomly(killer, npc, DRAGON_BONE_FRAGMENT, 1, 900, 0.25, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/noErtheia.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/noErtheia.html
new file mode 100644
index 0000000000..0ef4af975d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/noErtheia.html
@@ -0,0 +1,3 @@
+Hermit:
+You are not Ertheia, this quest is not for you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/no_level.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/no_level.html
new file mode 100644
index 0000000000..1c74eebd71
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 75 - 85)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-00.htm
new file mode 100644
index 0000000000..4ac0ca0cc7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-00.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+I don't think you'll be able to complete this mission. You seem passionate, but you don't have enough experience. Please come back when you've become stronger.
+(Only characters above Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01.htm
new file mode 100644
index 0000000000..9223fc5718
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+Are you an adventurer? I don't think we've met, but can you help us? I'll make sure to reward you for your efforts!
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01a.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01a.htm
new file mode 100644
index 0000000000..841ce4e1fe
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01a.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01b.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01b.htm
new file mode 100644
index 0000000000..7802e514de
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01b.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01c.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01c.htm
new file mode 100644
index 0000000000..22229030ca
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01c.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-02.htm
new file mode 100644
index 0000000000..2b2ede3296
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-02.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+We're investigating the area around the Garden of Spirits. However, we are being threatened by the spirits there. That's why we must do something.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-03.htm
new file mode 100644
index 0000000000..33f812995b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-03.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+We know of a way to defeat those spirits, at least temporarily.
+I'll make sure to reward you if you do this mission. And each time you complete the mission, I'll give you an item that will prove our trust.
+You can prove the level of trust between us. The higher the level, the better the rewards. Also, I'll be able to give you top secret missions. However, these marks do disappear with time, so in order to keep our trust, you must continue doing missions from time to time.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-04.html
new file mode 100644
index 0000000000..5c8944180b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-04.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.
+If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?
+Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-05.htm
new file mode 100644
index 0000000000..9041babe57
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-05.htm
@@ -0,0 +1,3 @@
+Master Cyphona:
+Alright. Here's the mission. Hunt the Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero, and collect their Mutated Spirit's Souls as proof. You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-06.html
new file mode 100644
index 0000000000..63ec06f0ac
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-06.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Like I said, you need to bring back at least 200 Mutated Spirit's Souls. Of course, it would be better if you can bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07.html
new file mode 100644
index 0000000000..7ac46af962
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Of course I'll give you a Mark of Trust since you helped us... Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07a.html
new file mode 100644
index 0000000000..f47f9160de
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07a.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07b.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07b.html
new file mode 100644
index 0000000000..678582bc00
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07b.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07c.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07c.html
new file mode 100644
index 0000000000..5606590a2f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07c.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-08.html
new file mode 100644
index 0000000000..7c4cd092c0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-08.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Good idea. The more Mutated Spirit's Souls you bring, the more safely we can investigate, and the better reward you will get.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09.html
new file mode 100644
index 0000000000..bac31c2bf7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Since it's your first time, I'll give you a reward and an item that will prove the trust between us. Here you go. We'll exchange this Mark of Trust (Low-grade) for a higher level one if you keep helping us. If you don't help us for a long time, it will disappear. Please keep that in mind.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09a.html
new file mode 100644
index 0000000000..e47b3c2b0f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09b.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09b.html
new file mode 100644
index 0000000000..28a6faa509
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09c.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09c.html
new file mode 100644
index 0000000000..9da03aaba9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09c.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10a.html
new file mode 100644
index 0000000000..2bf94feff3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10b.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10b.html
new file mode 100644
index 0000000000..c2f962f4f2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10c.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10c.html
new file mode 100644
index 0000000000..aacd7919d3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10c.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/Q00790_ObtainingFerinsTrust.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/Q00790_ObtainingFerinsTrust.java
new file mode 100644
index 0000000000..4ca908afef
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/Q00790_ObtainingFerinsTrust.java
@@ -0,0 +1,361 @@
+/*
+ * 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.Q00790_ObtainingFerinsTrust;
+
+import com.l2jmobius.Config;
+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.model.quest.State;
+
+/**
+ * Obtaining Ferin's Trust (00790)
+ * @URL https://l2wiki.com/Obtaining_Ferin%27s_Trust
+ * @author Gigi
+ */
+public class Q00790_ObtainingFerinsTrust extends Quest
+{
+ // NPCs
+ private static final int CYPHONA = 34055;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23550, // Kerberos Lager
+ 23551, // Kerberos Fort
+ 23552, // Kerberos Nero
+ 23553, // Fury Sylph Barrena
+ 23555, // Fury Sylph Temptress
+ 23556, // Fury Sylph Purka
+ 23557, // Fury Kerberos Leger
+ 23558 // Fury Kerberos Nero
+ };
+ // Misc
+ private static final int MIN_LEVEL = 100;
+ // Item's
+ private static final int MARK_OF_TRUST_LOW_GRADE = 45840;
+ private static final int MARK_OF_TRUST_MID_GRADE = 45843;
+ private static final int MARK_OF_TRUST_HIGH_GRADE = 45848;
+ private static final int MUTATAED_SPIRITS_SOUL = 45849;
+ private static final int BSOE = 1538;
+ private static final int ELEXIR_OF_LIFE_R = 30357;
+ private static final int ELEXIR_OF_MIND_R = 30358;
+ private static final int ELEXIR_OF_CP_R = 30359;
+ private static final int FERINS_REWARD_BOX = 46165;
+ private static final int SUPERIOR_GIANTS_CODEX = 46150;
+
+ public Q00790_ObtainingFerinsTrust()
+ {
+ super(790);
+ addStartNpc(CYPHONA);
+ addTalkId(CYPHONA);
+ addKillId(MONSTERS);
+ registerQuestItems(MUTATAED_SPIRITS_SOUL);
+ addCondMinLevel(MIN_LEVEL, "34055-00.htm");
+ }
+
+ @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 "34055-01.htm":
+ case "34055-02.htm":
+ case "34055-03.htm":
+ case "34055-04.html":
+ case "34055-08.html":
+ case "34055-09a.html":
+ case "34055-09b.html":
+ case "34055-09c.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34055-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34055-09.html":
+ {
+ giveItems(player, MARK_OF_TRUST_LOW_GRADE, 1);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-10a.html":
+ {
+ if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 200) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 400))
+ {
+ giveAdena(player, 119773, true);
+ addExpAndSp(player, 5932440000L, 14237820);
+ if (getRandom(100) < 20)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 400) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 600))
+ {
+ giveAdena(player, 239546, true);
+ addExpAndSp(player, 11864880000L, 28475640);
+ if (getRandom(100) < 40)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 600) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 800))
+ {
+ giveAdena(player, 359319, true);
+ addExpAndSp(player, 17797320000L, 42713460);
+ if (getRandom(100) < 60)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 800) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 1000))
+ {
+ giveAdena(player, 479091, true);
+ addExpAndSp(player, 23729760000L, 56951280);
+ if (getRandom(100) < 80)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 1000)
+ {
+ giveAdena(player, 598864, true);
+ addExpAndSp(player, 29662200000L, 71189100);
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ giveItems(player, MARK_OF_TRUST_MID_GRADE, 1);
+ giveItems(player, BSOE, 1);
+ giveItems(player, ELEXIR_OF_LIFE_R, 5);
+ giveItems(player, ELEXIR_OF_MIND_R, 5);
+ giveItems(player, ELEXIR_OF_CP_R, 5);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-10b.html":
+ {
+ if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 200) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 400))
+ {
+ giveAdena(player, 119773, true);
+ addExpAndSp(player, 5932440000L, 14237820);
+ if (getRandom(100) < 20)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 400) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 600))
+ {
+ giveAdena(player, 239546, true);
+ addExpAndSp(player, 11864880000L, 28475640);
+ if (getRandom(100) < 40)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 600) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 800))
+ {
+ giveAdena(player, 359319, true);
+ addExpAndSp(player, 17797320000L, 42713460);
+ if (getRandom(100) < 60)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 800) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 1000))
+ {
+ giveAdena(player, 479091, true);
+ addExpAndSp(player, 23729760000L, 56951280);
+ if (getRandom(100) < 80)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 1000)
+ {
+ giveAdena(player, 598864, true);
+ addExpAndSp(player, 29662200000L, 71189100);
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ giveItems(player, MARK_OF_TRUST_HIGH_GRADE, 1);
+ giveItems(player, BSOE, 1);
+ giveItems(player, ELEXIR_OF_LIFE_R, 5);
+ giveItems(player, ELEXIR_OF_MIND_R, 5);
+ giveItems(player, ELEXIR_OF_CP_R, 5);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-10c.html":
+ {
+ if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 200) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 400))
+ {
+ addExpAndSp(player, 5932440000L, 14237820);
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ if (getRandom(100) < 1)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 400) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 600))
+ {
+ addExpAndSp(player, 11864880000L, 28475640);
+ giveItems(player, FERINS_REWARD_BOX, getRandom(1, 2));
+ if (getRandom(100) < 9)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 600) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 800))
+ {
+ addExpAndSp(player, 17797320000L, 42713460);
+ giveItems(player, FERINS_REWARD_BOX, 2);
+ if (getRandom(100) < 20)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 800) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 1000))
+ {
+ addExpAndSp(player, 23729760000L, 56951280);
+ giveItems(player, FERINS_REWARD_BOX, getRandom(2, 3));
+ if (getRandom(100) < 25)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ else if (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 1000)
+ {
+ addExpAndSp(player, 29662200000L, 71189100);
+ giveItems(player, FERINS_REWARD_BOX, 3);
+ if (getRandom(100) < 33)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (!hasQuestItems(player, MARK_OF_TRUST_LOW_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-01.htm";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_LOW_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-01a.htm";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-01b.htm";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE) && hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-01c.htm";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34055-06.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if (!hasQuestItems(player, MARK_OF_TRUST_LOW_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-07.html";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_LOW_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-07a.html";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-07b.html";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE) && hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-07c.html";
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 1000))
+ {
+ giveItems(player, MUTATAED_SPIRITS_SOUL, 1);
+ if (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) == 200)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-00.htm
new file mode 100644
index 0000000000..921cef3277
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-00.htm
@@ -0,0 +1,4 @@
+Shadai's Disciple Kaysia:
+I'm grateful you want to help, but you will need to get a little stronger to help me.
+(This quest is for characters Lv. 101 and higher who have completed the "Deep Inside Atelia Fortress" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-01.htm
new file mode 100644
index 0000000000..c44df1e450
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-01.htm
@@ -0,0 +1,5 @@
+Shadai's Disciple Kaysia:
+Oh! Are you here to help me?
+I think rumor has spread that I'm in need of help. You heard about that too, right?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-02.htm
new file mode 100644
index 0000000000..1d09d0d46e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-02.htm
@@ -0,0 +1,6 @@
+Shadai's Disciple Kaysia:
+Remember Kelbim?
+I did some research on the Kelbim's Armor Piece you brought back, but it wasn't enough.
+I will need some other materials... Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-03.htm
new file mode 100644
index 0000000000..7cc569e1be
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-03.htm
@@ -0,0 +1,6 @@
+Shadai's Disciple Kaysia:
+Will you really help me? Thank you!
+I need Black Atelia Powder now. We have no idea how the Atelia was changed, and Kelbim's Armor Piece isn't enough to find that out.
+We will need something else, but defeating Kelbim alone won't be enough.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-04.htm
new file mode 100644
index 0000000000..ced520615f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-04.htm
@@ -0,0 +1,5 @@
+Shadai's Disciple Kaysia:
+I'm glad you understand.
+I heard that Kelbim calls on his pawns. I'm sure that dealing with them will also help us understand how the Atelia transforms.
+I heard that Guardian Sinistra, Guardian Destra, and Kelbim's Clone are summoned. Please get the Black Atelia Powder from them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-05.html
new file mode 100644
index 0000000000..c0c8bc8225
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-05.html
@@ -0,0 +1,3 @@
+Shadai's Disciple Kaysia:
+Are you still working on it? When you go defeat Kelbim, make sure to defeat his pawns Guardian Sinistra, Guardian Destra, and Kelbim's Clone, and get the Black Atelia Powder from them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-06.html
new file mode 100644
index 0000000000..04ccec0693
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-06.html
@@ -0,0 +1,5 @@
+Shadai's Disciple Kaysia:
+Oh! Is that Black Atelia Powder?
+It seems so familiar, but it's still different. Can I have it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-07.html
new file mode 100644
index 0000000000..294427197e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-07.html
@@ -0,0 +1,5 @@
+Shadai's Disciple Kaysia:
+Thank you!
+Please try to get me another one if you ever go back to the Atelia Castle!
+I will make sure to reward you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/Q00817_BlackAteliaResearch.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/Q00817_BlackAteliaResearch.java
new file mode 100644
index 0000000000..461f219c75
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/Q00817_BlackAteliaResearch.java
@@ -0,0 +1,135 @@
+/*
+ * 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.Q00817_BlackAteliaResearch;
+
+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.model.quest.State;
+
+import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
+
+/**
+ * Black Atelia Research (817)
+ * @URL https://l2wiki.com/Black_Atelia_Research
+ * @author Gigi
+ */
+public final class Q00817_BlackAteliaResearch extends Quest
+{
+ // NPC
+ private static final int KAYSYA = 34051;
+ private static final int[] BOSS =
+ {
+ 23603, // Guardian Sinistra
+ 23604, // Guardian Destra
+ 26128, // Kelbim's Clone
+ };
+ // Items
+ private static final int BLACK_ATELIA_POWDER = 46145;
+ private static final int HARDENER_POUCH_R = 32779;
+ // Misc
+ private static final int MIN_LEVEL = 101;
+
+ public Q00817_BlackAteliaResearch()
+ {
+ super(817);
+ addStartNpc(KAYSYA);
+ addTalkId(KAYSYA);
+ addKillId(BOSS);
+ registerQuestItems(BLACK_ATELIA_POWDER);
+ addCondMinLevel(MIN_LEVEL, "34051-00.htm");
+ addCondCompletedQuest(Q10841_DeepInsideAteliaFortress.class.getSimpleName(), "34051-00.htm");
+ }
+
+ @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 "34051-02.htm":
+ case "34051-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34051-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34051-07.html":
+ {
+ giveItems(player, HARDENER_POUCH_R, 1);
+ addExpAndSp(player, 3631150845L, 8714700);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34051-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34051-05.html";
+ }
+ else if (qs.isCond(2) && hasQuestItems(player, BLACK_ATELIA_POWDER))
+ {
+ htmltext = "34051-06.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, 1, 5, npc);
+ if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, BLACK_ATELIA_POWDER, 1, 1, 0.6, true))
+ {
+ qs.setCond(2, true);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-00.htm
new file mode 100644
index 0000000000..33d00a8447
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-00.htm
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+The Enchanted Valley has changed, so it's very dangerous.
+I don't think you are supposed to be here yet. Come back when you get stronger.
+(Only characters above Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-01.htm
new file mode 100644
index 0000000000..67453f1ce0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-01.htm
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+All the fairies in the Enchanted Valley disappeared. No one's left.
+Oh, me? Well, I meant everyone but me disappeared. It's not like I was shunned by my race or anything. Isn't it strange? But that's not all.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-02.htm
new file mode 100644
index 0000000000..5a6445e72f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-02.htm
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+I've been going around looking for other fairies, but I ran into some fairies that I had never seen before!
+It's not like I know everyone within our race, but I have seriously never seen them before.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-03.htm
new file mode 100644
index 0000000000..7d67bbf7bb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-03.htm
@@ -0,0 +1,4 @@
+Fairy Mimyu:
+I think I ran into the Nymphs... I don't think they've ever come into the continent, but that certainly doesn't mean that they don't exist. The Nymphs are over there, but I ran into some trouble...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-04.htm
new file mode 100644
index 0000000000..00e8d732fd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-04.htm
@@ -0,0 +1,6 @@
+Fairy Mimyu:
+We can't communicate at all. They certainly look like fairies, but they even tried to attack me.
+Do you have any idea of how scared I was? I escaped as fast as I could.
+At least it looks like they can't come into the center here because of Timiniel's influence... So, are you going to help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-05.htm
new file mode 100644
index 0000000000..5ed60c87d3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-05.htm
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+If the Nymphs are really fairies, I might be able to find out what happened in the Enchanted Valley with just a few clues. Please collect something that I could use as clues from the Nymphs.
+Please defeat the Nymph Rose, Nymph Lily, Nymph Tulip, Nymph Cosmos, and the Nymph Guardians and bring the Nymph Stamens. I'll need at least 300 to find out anything from them. The more you bring, the better.
+I won't forget to reward you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-06.html
new file mode 100644
index 0000000000..9c5c7da127
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-06.html
@@ -0,0 +1,4 @@
+Fairy Mimyu:
+What? This isn't enough.
+Please defeat the Nymph Rose, Nymph Lily, Nimph Tulip, Nymph Cosmos, and the Nymph Guardians and bring at least 300 Nymph Stamens.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-07.html
new file mode 100644
index 0000000000..abc0b0d1c2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-07.html
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+Did you collect everything? This should be enough to find out some information. I believe the Nymphs are flower fairies. So they must leave something in the stamen. If I can investigate the stamen, I should be able to find out some information. Of course, the more you bring back, the more research I can do. What do you say?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-08.html
new file mode 100644
index 0000000000..f7a8bf1809
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-08.html
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+Wow! You collected all these? Great!
+I'll make sure to reward you for your efforts.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-09.html
new file mode 100644
index 0000000000..bac0ba70cb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-09.html
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+You'll get more? Thank you!
+I was thinking this wasn't enough, but I didn't want to bother you.
+Well, I'll reward you as much as you help me!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-10.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-10.html
new file mode 100644
index 0000000000..8e1618ae7c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-10.html
@@ -0,0 +1,4 @@
+Fairy Mimyu:
+Thank you. This isn't that much, but I should be able to find out at least some information.
+Well, here's your reward. Also, if you have time, come back tomorrow to get more clues! I get clues and you get more rewards. Sounds great, right?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-11.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-11.html
new file mode 100644
index 0000000000..9071719def
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-11.html
@@ -0,0 +1,4 @@
+Fairy Mimyu:
+If you have time, come back tomorrow to get more clues! I get clues and you get more rewards. Sounds great, right?
+(You can only undertake this quest once a day. It resets every day at 6:30 AM.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/Q00823_DisappearedRaceNewFairy.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/Q00823_DisappearedRaceNewFairy.java
new file mode 100644
index 0000000000..636431d333
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/Q00823_DisappearedRaceNewFairy.java
@@ -0,0 +1,191 @@
+/*
+ * 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.Q00823_DisappearedRaceNewFairy;
+
+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.model.quest.State;
+
+/**
+ * Disappeared Race, New Fairy (00823)
+ * @URL https://l2wiki.com/Disappeared_Race,_New_Fairy
+ * @author Gigi
+ */
+public class Q00823_DisappearedRaceNewFairy extends Quest
+{
+ // NPCs
+ private static final int MIMYU = 30747;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23566, // Nymph Rose
+ 23567, // Nymph Rose
+ 23568, // Nymph Lily
+ 23569, // Nymph Lily
+ 23570, // Nymph Tulip
+ 23571, // Nymph Tulip
+ 23572, // Nymph Cosmos
+ 23573, // Nymph Cosmos
+ 23578 // Nymph Guardian
+ };
+ // Item's
+ private static final int NYMPH_STAMEN = 46258;
+ private static final int MIMIUS_REWARD_BOX = 46259;
+ // Misc
+ private static final int MIN_LEVEL = 100;
+
+ public Q00823_DisappearedRaceNewFairy()
+ {
+ super(823);
+ addStartNpc(MIMYU);
+ addTalkId(MIMYU);
+ addKillId(MONSTERS);
+ registerQuestItems(NYMPH_STAMEN);
+ addCondMinLevel(MIN_LEVEL, "30747-00.htm");
+ }
+
+ @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 "30747-02.htm":
+ case "30747-03.htm":
+ case "30747-04.htm":
+ case "30747-09.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30747-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30747-10.html":
+ {
+ if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 300) && (getQuestItemsCount(player, NYMPH_STAMEN) < 600))
+ {
+ addExpAndSp(player, 3045319200L, 7308474);
+ giveItems(player, MIMIUS_REWARD_BOX, 1);
+ }
+ else if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 600) && (getQuestItemsCount(player, NYMPH_STAMEN) < 900))
+ {
+ addExpAndSp(player, 6090638400L, 14617495);
+ giveItems(player, MIMIUS_REWARD_BOX, 2);
+ }
+ else if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 900) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1200))
+ {
+ addExpAndSp(player, 9135957600L, 21926243);
+ giveItems(player, MIMIUS_REWARD_BOX, 3);
+ }
+ else if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 1200) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1500))
+ {
+ addExpAndSp(player, 12181276800L, 29233986);
+ giveItems(player, MIMIUS_REWARD_BOX, 4);
+ }
+ else if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 1500) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1800))
+ {
+ addExpAndSp(player, 15226596000L, 36542370);
+ giveItems(player, MIMIUS_REWARD_BOX, 5);
+ }
+ else if (getQuestItemsCount(player, NYMPH_STAMEN) >= 1800)
+ {
+ addExpAndSp(player, 18271915200L, 43852486);
+ giveItems(player, MIMIUS_REWARD_BOX, 6);
+ }
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "30747-11.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "30747-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30747-06.html";
+ }
+ else if (qs.isCond(2) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1800))
+ {
+ htmltext = "30747-07.html";
+ }
+ else
+ {
+ htmltext = "30747-08.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 0) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1800))
+ {
+ giveItems(player, NYMPH_STAMEN, 1);
+ if (getQuestItemsCount(player, NYMPH_STAMEN) == 300)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, player, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00.html
new file mode 100644
index 0000000000..71b2e730ea
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00.html
@@ -0,0 +1,4 @@
+Jonah:
+The dancing witches and I, we have purified the Trace of Decaying Darkness that you brought to us.
+(This quest is already complete.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00a.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00a.htm
new file mode 100644
index 0000000000..dc578e136c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00a.htm
@@ -0,0 +1,4 @@
+Jonah:
+When we dance, we witches can feel the presence of the dark energy. It's a constant reminder and worry.
+(You must be level 90 or above and possess the Trace of Decaying Darkness to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-01.htm
new file mode 100644
index 0000000000..5cb41e6861
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-01.htm
@@ -0,0 +1,5 @@
+Jonah:
+Pew! You reek of the miasma from the ancient city!
+Why do you smell like decaying darkness? Tell me!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-02.htm
new file mode 100644
index 0000000000..8e98e3749c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-02.htm
@@ -0,0 +1,8 @@
+Jonah:
+The Trace of Decaying Darkness!
+Why do you have that foul thing, nya? Give it to us, nya!
+We Dancing Witches will purify the Trace of Decaying Darkness, nya.
+If the Mysterious Priest ever gets hold of it, not only Magmeld but the entire continent will be drowned in darkness!
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-03.html
new file mode 100644
index 0000000000..ce7e46869e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-03.html
@@ -0,0 +1,4 @@
+Jonah:
+Thank you. We will start preparations to dance and purify the Trace of Decaying Darkness.
+Take this, as a token of our gratitude.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-04.html
new file mode 100644
index 0000000000..154f606e37
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-04.html
@@ -0,0 +1,4 @@
+Jonah:
+Where are you trying to take the Trace of Decaying Darkness?!
+You don't intend to go to the Mysterious Celebant, do you?! He will cover the entire continent with that darkness! We'll be ruined!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00.html
new file mode 100644
index 0000000000..2cfd2c52be
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00.html
@@ -0,0 +1,4 @@
+Mysterious Priest:
+The Goddess of Destruction will always be with you!
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00a.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00a.htm
new file mode 100644
index 0000000000..6f73abfe83
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00a.htm
@@ -0,0 +1,4 @@
+Mysterious Priest:
+Don't be a fool, child. There are things in this world that even you are too weak for.
+(This quest can only be started by characters level 90 or above who have the Trace of Decaying Darkness.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-01.htm
new file mode 100644
index 0000000000..e2224690a3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-01.htm
@@ -0,0 +1,5 @@
+Mysterious Priest:
+I feel a great surge of darkness within you, the same surge which I feel from the Trace of Decaying Darkness.
+Perhaps you can tell me why that is...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-02.htm
new file mode 100644
index 0000000000..76a116e13f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-02.htm
@@ -0,0 +1,7 @@
+Mysterious Priest:
+Give me it! Give me it now!
+I will let you bask in the glory,
+and experience the Baptism of Darkness for the great Goddess of Destruction.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-03.html
new file mode 100644
index 0000000000..c3a3fbef7f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-03.html
@@ -0,0 +1,3 @@
+Mysterious Priest:
+You are wise! The Goddess of Destruction will always be with you!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-04.html
new file mode 100644
index 0000000000..83af10abb4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-04.html
@@ -0,0 +1,4 @@
+Mysterious Priest:
+You fool! You will die, fool! You die a lonely and painful death!
+You cannot hope to stop the oncoming tides of darkness - you can only aid them, and pray that they embrace your mortal soul!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/Q10303_CrossroadsBetweenLightAndDarkness.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/Q10303_CrossroadsBetweenLightAndDarkness.java
new file mode 100644
index 0000000000..7a00fb7b98
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/Q10303_CrossroadsBetweenLightAndDarkness.java
@@ -0,0 +1,263 @@
+/*
+ * 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.Q10303_CrossroadsBetweenLightAndDarkness;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+/**
+ * Crossroads between Light and Darkness (10303)
+ * @URL https://l2wiki.com/Crossroads_between_Light_and_Darkness
+ * @author Gigi
+ */
+public class Q10303_CrossroadsBetweenLightAndDarkness extends Quest
+{
+ // Npc
+ private static final int JONAH = 32909;
+ private static final int MYSTERIUS_PRIEST = 33361;
+ // Mobs
+ private static final int[] MOBS =
+ {
+ 22863, // Fairy Warrior
+ 22871, // Fairy Rogue
+ 22879, // Fairy Knight
+ 22887, // Satyr Wizard
+ 22895 // Satyr Summoner
+ };
+ // Item
+ private static final int TRACE_OF_DECAYNG_DARKNESS = 17747;
+ private static final int TRACE_OF_DECAYNG_DARKNESS_Q = 17820;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+ // Reward
+ private static final int[] JOHAN_REWARD =
+ {
+ 13505, // Clownfish Hat
+ 16108, // Refined Turtle Hat
+ 16102, // Refined Shark Hat
+ 16105 // Refined Penguin Hat
+ };
+ private static final int[] PRIEST_REWARD =
+ {
+ 16101, // Refined Brown Skeleton Circlet
+ 16100, // Refined Green Skeleton Circlet
+ 16099, // Refined Orange Skeleton Circlet
+ 16098 // Refined Black Skeleton Circlet
+ };
+
+ public Q10303_CrossroadsBetweenLightAndDarkness()
+ {
+ super(10303);
+ addItemTalkId(TRACE_OF_DECAYNG_DARKNESS);
+ addKillId(MOBS);
+ addTalkId(JONAH, MYSTERIUS_PRIEST);
+ registerQuestItems(TRACE_OF_DECAYNG_DARKNESS_Q);
+ }
+
+ @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 "32909-02.htm":
+ case "33361-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32909-04.html":
+ {
+ showOnScreenMsg(player, NpcStringId.S1_YOU_WILL_REGRET_NOT_GIVING_ME_THE_TRACE_OF_DECAYING_DARKNESS, ExShowScreenMessage.TOP_CENTER, 6000, false, player.getName());
+ npc.setScriptValue(1);
+ startQuestTimer("JONAH", 60000, npc, player, false);
+ htmltext = event;
+ break;
+ }
+ case "33361-04.html":
+ {
+ showOnScreenMsg(player, NpcStringId.S1_YOU_FOOL_YOU_WILL_REGRET_NOT_GIVING_ME_THE_TRACE_OF_DECAYING_DARKNESS, ExShowScreenMessage.TOP_CENTER, 6000, false, player.getName());
+ npc.setScriptValue(1);
+ startQuestTimer("PRIEST", 60000, npc, player, false);
+ htmltext = event;
+ break;
+ }
+ case "JONAH":
+ {
+ if (npc.getId() == JONAH)
+ {
+ npc.setScriptValue(0);
+ break;
+ }
+ }
+ case "PRIEST":
+ {
+ if (npc.getId() == MYSTERIUS_PRIEST)
+ {
+ npc.setScriptValue(0);
+ break;
+ }
+ }
+ case "32909-03.html":
+ {
+ if (qs.isCond(1))
+ {
+ giveAdena(player, 465855, true);
+ giveItems(player, JOHAN_REWARD[getRandom(JOHAN_REWARD.length)], 1);
+ addExpAndSp(player, 6730155, 2847330);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ case "33361-03.html":
+ {
+ if (qs.isCond(1))
+ {
+ giveAdena(player, 465855, true);
+ giveItems(player, PRIEST_REWARD[getRandom(PRIEST_REWARD.length)], 1);
+ addExpAndSp(player, 6730155, 2847330);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onItemTalk(L2ItemInstance item, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ if (qs.isCompleted())
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ boolean startQuest = false;
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ startQuest = true;
+ break;
+ }
+ }
+
+ if (startQuest)
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ qs.startQuest();
+ takeItems(player, TRACE_OF_DECAYNG_DARKNESS, 1);
+ giveItems(player, TRACE_OF_DECAYNG_DARKNESS_Q, 1);
+ // htmltext = "start.html";
+ htmltext = "";
+ }
+ else
+ {
+ htmltext = "noLevel.htm";
+ }
+ }
+ 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.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case JONAH:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (getQuestItemsCount(player, TRACE_OF_DECAYNG_DARKNESS_Q) < 1))
+ {
+ htmltext = "32909-00a.htm";
+ break;
+ }
+ else if (qs.isCond(1) && (npc.getScriptValue() == 0))
+ {
+ htmltext = "32909-01.htm";
+ }
+ break;
+ }
+ case MYSTERIUS_PRIEST:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (getQuestItemsCount(player, TRACE_OF_DECAYNG_DARKNESS_Q) < 1))
+ {
+ htmltext = "33361-00a.htm";
+ break;
+ }
+ else if (qs.isCond(1) && (npc.getScriptValue() == 0))
+ {
+ htmltext = "33361-01.htm";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ switch (npc.getId())
+ {
+ case JONAH:
+ {
+ htmltext = "32909-00.html";
+ break;
+ }
+ case MYSTERIUS_PRIEST:
+ {
+ htmltext = "33361-00.html";
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ if (getRandom(100) < 0.03)
+ {
+ giveItems(killer, TRACE_OF_DECAYNG_DARKNESS, 1);
+ showOnScreenMsg(killer, NpcStringId.S1_CANNOT_GIVE_THEM_DECAYING_DARKNESS, ExShowScreenMessage.BOTTOM_RIGHT, 6000, false, killer.getName());
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/noLevel.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/noLevel.htm
new file mode 100644
index 0000000000..018c22d294
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/noLevel.htm
@@ -0,0 +1,4 @@
+Trace of Decaying Darkness :
+You are not fit for this job.
+(This quest is available after the 90th level.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/start.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/start.html
new file mode 100644
index 0000000000..55ac3de4dc
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/start.html
@@ -0,0 +1,4 @@
+Trace of Decaying Darkness :
+Traces of corrupting Darkness collect Jonah and Trace of Decaying Darkness Ceremony Executor Jonah, which appeared after concussion of the central axis of the Ancient City of Arkan.
+Go to Jonah or mysterious priest. Talk to them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00.htm
new file mode 100644
index 0000000000..73063c4884
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00.htm
@@ -0,0 +1,4 @@
+Josephina's Companion Izael:
+I don't have time to chat leisurely with you.
+(You must be level 90 or above, have completed the "Shadow of Uneasiness: Rife with Rumors"; quest, and are currently undertaking the "For the Forgotten Heroes" quest to start this quest..)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00a.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00a.htm
new file mode 100644
index 0000000000..742155d9e4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00a.htm
@@ -0,0 +1,4 @@
+Josephina's Companion Izael:
+I don't have time to chat leisurely with you.
+(Only characters who have completed the quest "Shadow of Uneasiness: Rife with Rumors" and are currently undertaking the quest "For the Forgotten Heroes" may proceed.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-01.htm
new file mode 100644
index 0000000000..94d38e6059
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-01.htm
@@ -0,0 +1,5 @@
+Josephina's Companion Izael:
+I remember you. You asked me some time ago about Josephina.
+Do you doubt the fact that Josephina was a great magician who used all of her strength for the sake of the heroes who were rejected by the gods?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-02.htm
new file mode 100644
index 0000000000..d2bdbb88b8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-02.htm
@@ -0,0 +1,7 @@
+Josephina's Companion Izael:
+Fortuna!
+How do you have this map?! It is very faint, but there is a trace of Josephina's name:
+The heroes who stood with Josephina fell into a deep slumber in Fortuna...
+But now, even that has been disrupted!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-03.htm
new file mode 100644
index 0000000000..05668a2dae
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-03.htm
@@ -0,0 +1,5 @@
+body>Josephina's Companion Izael:
+Fortuna is currently occupied by Ron and his followers. Ron became possessed by the decaying darkness in the Orbis Temple. He was expelled for the crime of raising his sword to Octavis. Then, he dared to enter and hide in Fortuna! Didn't the heroes who followed Josephina suffer enough by being forgotten? Now, even the resting place of their souls has been stolen!
+You seek the traces of Josephina! Won't you help me regain the eternal rest of the heroes?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-04.htm
new file mode 100644
index 0000000000..2b0d26f616
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-04.htm
@@ -0,0 +1,6 @@
+Josephina's Companion Izael:
+I was waiting.
+In order to defeat Ron, you must first defeat Sobbing Yui, Enraged Master Kinen, Magical Warrior Konyar, Sir Lesyinda of the Black Shadow, Mukshu the Coward, Blind Hornafi, and Yoentumak the Waiter...
+Now, are you ready to go to Fortuna?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-05.html
new file mode 100644
index 0000000000..57fe381779
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-05.html
@@ -0,0 +1,6 @@
+Josephina's Companion Izael:
+I believed that the finder of the Fortuna Map would surely help.
+But Ron is not the only enemy in Fortuna. There is also Sobbing Yui, Enraged Master Kinen, Magical Warrior Konyar, Sir Lesyinda of the Black Shadow, Mukshu the Coward, Blind Hornafi, and Yoentumak the Waiter...
+Fortuna is very dangerous at the moment. So you must 6 comrades who will stand beside you.
+(Only parties consisting of 7 members may enter.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-06.htm
new file mode 100644
index 0000000000..d86540c679
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-06.htm
@@ -0,0 +1,5 @@
+Josephina's Companion Izael:
+I was waiting.
+Now, are you ready to go to Fortuna?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-07.html
new file mode 100644
index 0000000000..6c37d51ab2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-07.html
@@ -0,0 +1,5 @@
+Josephina's Companion Izael:
+I was waiting.
+By any chance... Have you met Cellphine in Fortuna? I have heard that Cellphine exists as a soul inside Fortuna.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-08.html
new file mode 100644
index 0000000000..7bb52af142
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-08.html
@@ -0,0 +1,6 @@
+Josephina's Companion Izael:
+I see... Thank you to you and your comrades for helping the forgotten heroes find their rest.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-09.html
new file mode 100644
index 0000000000..7efa2df0a3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-09.html
@@ -0,0 +1,4 @@
+Josephina's Companion Izael:
+The power of decaying darkness does not disappear easily. Ron will appear again after some time.
+I will always be here waiting for you and your comrades.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Complete.html
new file mode 100644
index 0000000000..f79ea8229c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Complete.html
@@ -0,0 +1,4 @@
+Josephina's Companion Izael:
+Cellphine was an old friend of Josephina. It would a nice to see her again, but...
+(This quest is already complete.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Q10304_ForForgottenHeroes.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Q10304_ForForgottenHeroes.java
new file mode 100644
index 0000000000..242586e2e2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Q10304_ForForgottenHeroes.java
@@ -0,0 +1,323 @@
+/*
+ * 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.Q10304_ForForgottenHeroes;
+
+import com.l2jmobius.Config;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.events.EventType;
+import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogin;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerPressTutorialMark;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
+
+import quests.Q10302_UnsettlingShadowAndRumors.Q10302_UnsettlingShadowAndRumors;
+
+/**
+ * For the Forgotten Heroes (10304)
+ * @URL https://l2wiki.com/For_the_Forgotten_Heroes
+ * @author Gigi
+ */
+public class Q10304_ForForgottenHeroes extends Quest
+{
+ // Npc
+ private static final int ISHAEL = 32894;
+ // mobs
+ private static final int YUI = 25837;
+ private static final int KINEN = 25840;
+ private static final int KONYAR = 25845;
+ private static final int LESYINDA = 25841;
+ private static final int MAKSHU = 25838;
+ private static final int HORNAFI = 25839;
+ private static final int YONTYMAK = 25846;
+ private static final int RON = 25825;
+ // items;
+ private static final int EWR = 17526; // Scroll: Enchant Weapon (R-grade)
+ private static final int EAR = 17527; // Scroll: Enchant Armor (R-grade)
+ private static final int COKES = 36563; // Synthetic Cokes
+ private static final int POUCH = 34861; // Ingredient and Hardener Pouch (R-grade)
+ private static final int OLD_ROLL_OF_PAPER = 34033;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q10304_ForForgottenHeroes()
+ {
+ super(10304);
+ addItemTalkId(OLD_ROLL_OF_PAPER);
+ addTalkId(ISHAEL);
+ addKillId(YUI, KINEN, KONYAR, LESYINDA, MAKSHU, HORNAFI, YONTYMAK, RON);
+ addCondCompletedQuest(Q10302_UnsettlingShadowAndRumors.class.getSimpleName(), "32894-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 "32894-02.htm":
+ case "32894-03.htm":
+ case "32894-08.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32894-06.htm":
+ {
+ qs.setCond(2);
+ htmltext = event;
+ break;
+ }
+ case "cond8":
+ {
+ qs.setCond(8);
+ break;
+ }
+ case "cond9":
+ {
+ qs.setCond(9);
+ break;
+ }
+ case "reward1":
+ {
+ giveItems(player, COKES, 68);
+ addExpAndSp(player, 15197798, 3647);
+ giveAdena(player, 47085998, true);
+ qs.exitQuest(false, true);
+ htmltext = "32894-09.html";
+ break;
+ }
+ case "reward2":
+ {
+ giveItems(player, EWR, 1);
+ giveItems(player, EAR, 1);
+ addExpAndSp(player, 15197798, 3647);
+ giveAdena(player, 47085998, true);
+ qs.exitQuest(false, true);
+ htmltext = "32894-09.html";
+ break;
+ }
+ case "reward3":
+ {
+ giveItems(player, POUCH, 4);
+ addExpAndSp(player, 15197798, 3647);
+ giveAdena(player, 47085998, true);
+ qs.exitQuest(false, true);
+ htmltext = "32894-09.html";
+ break;
+ }
+ }
+ if (event.equalsIgnoreCase("condition"))
+ {
+ if ((player.getParty() == null))
+ {
+ return "32894-05.html";
+ }
+ else if ((player.getParty() != null) && (player.getParty().getLeader() != player))
+ {
+ return "32894-05.html";
+ }
+ else if ((player.getParty() != null) && (player.getParty().getLeader() == player) && (player.getParty().getMemberCount() < 7))
+ {
+ return "32894-05.html";
+ }
+ return "32894-04.htm";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCond(1))
+ {
+ htmltext = "32894-01.htm";
+ }
+ else if ((qs.getCond() > 1) && (qs.getCond() < 9))
+ {
+ htmltext = "32894-03.htm";
+ }
+ else if (qs.isCond(9))
+ {
+ htmltext = "32894-07.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "Complete.html";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+
+ final QuestState qs = getQuestState(player, false);
+ int cond = qs.getCond();
+ int npcId = npc.getId();
+ if (player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ if ((npcId == YUI) && (cond == 2))
+ {
+ qs.setCond(3, true);
+ }
+ else if ((npcId == KINEN) && (cond == 3))
+ {
+ qs.setCond(4, true);
+ }
+ else if ((npcId == KONYAR) && (cond == 4))
+ {
+ qs.setCond(5, true);
+ }
+ else if ((npcId == LESYINDA) && (cond == 5))
+ {
+ qs.setCond(6, true);
+ }
+ else if ((npcId == MAKSHU) && (cond == 6))
+ {
+ int kills = qs.getInt(Integer.toString(MAKSHU));
+ if (kills < 1)
+ {
+ kills++;
+ qs.set(Integer.toString(MAKSHU), kills);
+ }
+ }
+ else if ((npcId == HORNAFI) && (cond == 6))
+ {
+ int kills = qs.getInt(Integer.toString(HORNAFI));
+ if (kills < 1)
+ {
+ kills++;
+ qs.set(Integer.toString(HORNAFI), kills);
+ }
+ }
+ else if ((npcId == YONTYMAK) && (cond == 7))
+ {
+ startQuestTimer("cond8", 300, null, player);
+ }
+ else if ((npcId == RON) && (cond == 8))
+ {
+ startQuestTimer("cond9", 300, null, player);
+ }
+ }
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(MAKSHU, qs.getInt(Integer.toString(MAKSHU)));
+ log.addNpc(HORNAFI, qs.getInt(Integer.toString(HORNAFI)));
+ qs.getPlayer().sendPacket(log);
+ if ((qs.getInt(Integer.toString(MAKSHU)) >= 1) && (qs.getInt(Integer.toString(HORNAFI)) >= 1))
+ {
+ qs.setCond(7, true);
+ }
+ }
+
+ @Override
+ public String onItemTalk(L2ItemInstance item, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ final QuestState qs1 = player.getQuestState(Q10302_UnsettlingShadowAndRumors.class.getSimpleName());
+ boolean startQuest = false;
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ startQuest = true;
+ break;
+ }
+ }
+ if (startQuest)
+ {
+ if ((player.getLevel() >= MIN_LEVEL) && qs1.isCompleted())
+ {
+ qs.startQuest();
+ takeItems(player, OLD_ROLL_OF_PAPER, -1);
+ htmltext = "";
+ }
+ else
+ {
+ htmltext = "32894-00.htm";
+ }
+ }
+ return htmltext;
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
+ @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
+ public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
+ {
+ final L2PcInstance player = event.getActiveChar();
+ final QuestState qs = getQuestState(player, false);
+ if ((qs == null) && (event.getOldLevel() < event.getNewLevel()) && canStartQuest(player) && (player.getLevel() >= MIN_LEVEL))
+ {
+ player.sendPacket(new TutorialShowQuestionMark(getId()));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
+ }
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_LOGIN)
+ @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
+ public void OnPlayerLogin(OnPlayerLogin event)
+ {
+ final L2PcInstance player = event.getActiveChar();
+ final QuestState qs = getQuestState(player, false);
+ if ((qs == null) && canStartQuest(player) && (player.getLevel() >= MIN_LEVEL))
+ {
+ player.sendPacket(new TutorialShowQuestionMark(getId()));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
+ }
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
+ @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
+ public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
+ {
+ final L2PcInstance player = event.getActiveChar();
+ if ((event.getMarkId() == getId()) && canStartQuest(player) && (player.getLevel() >= MIN_LEVEL))
+ {
+ showOnScreenMsg(player, NpcStringId.YOU_CAN_USE_THE_OLD_ROLL_OF_PAPER_TO_BEGIN_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 8000);
+ if (!hasQuestItems(player, OLD_ROLL_OF_PAPER))
+ {
+ giveItems(player, OLD_ROLL_OF_PAPER, 1);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-01.htm
new file mode 100644
index 0000000000..fd50a3f1bb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-01.htm
@@ -0,0 +1,4 @@
+Elite Bodyguard Naomi Kasheron:
+You finally came! You'll join me this time as well, I hope? Kimerian is no easy foe...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-02.html
new file mode 100644
index 0000000000..117a2d036f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-02.html
@@ -0,0 +1,5 @@
+
+Elite Bodyguard Naomi Kasheron:
+When you find out what's really going on, please let me know!
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-03.html
new file mode 100644
index 0000000000..47a7d6c806
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-03.html
@@ -0,0 +1,4 @@
+Elite Bodyguard Naomi Kasheron:
+Kimerian has turned crazy... Do you know him?
+(This quest can only be fulfilled by characters who have completed the Corrupt Leader quest, and are level 90 or above.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-04.htm
new file mode 100644
index 0000000000..8b9a67721f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-04.htm
@@ -0,0 +1,5 @@
+Elite Bodyguard Naomi Kasheron:
+I knew it! I knew you'd help!
+We'll find out the truth about Kimerian, even if I die in the process. Are you ready to go?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-05.htm
new file mode 100644
index 0000000000..1ee436567d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-05.htm
@@ -0,0 +1,4 @@
+Elite Bodyguard Naomi Kasheron:
+I thought you ran away because you were afraid to face the real Kimerian. But you've returned, and we are now able to go. Are you ready?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-06.html
new file mode 100644
index 0000000000..1bb375db81
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-06.html
@@ -0,0 +1,6 @@
+Elite Bodyguard Naomi Kasheron:
+Di... did you hear this? Did you hear about this? This is unbelievable? What did I work so hard for?
+Kimerian's tyranny was not his doing... I cannot believe this, nor do I know if I should believe this.
+No, no. I need to calm down... Let's think about this. What did he exactly say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/Q10307_TheCorruptedLeaderHisTruth.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/Q10307_TheCorruptedLeaderHisTruth.java
new file mode 100644
index 0000000000..390a0689c4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/Q10307_TheCorruptedLeaderHisTruth.java
@@ -0,0 +1,128 @@
+/*
+ * 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.Q10307_TheCorruptedLeaderHisTruth;
+
+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 quests.Q10306_TheCorruptedLeader.Q10306_TheCorruptedLeader;
+
+//import quests.Q10306_TheCorruptedLeader.Q10306_TheCorruptedLeader;
+
+/**
+ * The Corrupted Leader: His Truth (10307)
+ * @URL https://l2wiki.com/The_Corrupted_Leader:_His_Truth
+ * @author Gigi
+ */
+public final class Q10307_TheCorruptedLeaderHisTruth extends Quest
+{
+ // Npc's
+ private static final int NAOMI_KASHERON = 32896;
+ private static final int MIMILEAD = 32895;
+ private static final int[] MOB =
+ {
+ 25745,
+ 25747
+ };
+ private static final int ENCHANT_ARMOR_R = 17527;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q10307_TheCorruptedLeaderHisTruth()
+ {
+ super(10307);
+ addStartNpc(NAOMI_KASHERON);
+ addTalkId(NAOMI_KASHERON, MIMILEAD);
+ addKillId(MOB);
+ addCondMinLevel(MIN_LEVEL, "32896-03.html");
+ addCondCompletedQuest(Q10306_TheCorruptedLeader.class.getSimpleName(), "32896-03.html");
+ }
+
+ @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 "32896-04.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32896-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32895-03.html":
+ {
+ giveItems(player, ENCHANT_ARMOR_R, 4);
+ addExpAndSp(player, 11779522, 2827);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ switch (npc.getId())
+ {
+ case NAOMI_KASHERON:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "32896-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "32896-05.htm";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "32896-02.html";
+ }
+ break;
+ }
+ case MIMILEAD:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32895-01.html";
+ }
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-00.html
new file mode 100644
index 0000000000..ffab2ac4ff
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-00.html
@@ -0,0 +1,4 @@
+Slaski:
+Well, you've been to Garden of Genesis already, so you know there seems to be a mastermind behind the Genesis Creatures.
+The ancient heroes who were abandoned by the Gods awoke in the Prison of Darkness, and are now planning something. Someone there must be behind all of this, and I want you and your courageous allies to go to the Prison of Darkness and investigate.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-01.html
new file mode 100644
index 0000000000..817e00365a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-01.html
@@ -0,0 +1,4 @@
+Slaski:
+What is it? Do you have something to tell me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-02.html
new file mode 100644
index 0000000000..95b6da9382
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-02.html
@@ -0,0 +1,4 @@
+Slaski:
+That's correct. We should have explained the situation clearly to the people of the wider world... it's all too confusing. Anyway, everyone must come together, even the cat people, and the races of the continents.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-03.html
new file mode 100644
index 0000000000..2c5ed773af
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-03.html
@@ -0,0 +1,4 @@
+Slaski:
+I don't know exactly what the problem is. However, there must be a powerful external force acting on the dimensions, to make Magmeld continent connect to the Human world. Perhaps that's also the reason for the emergence of the beings that were sealed within Magmeld.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-04.html
new file mode 100644
index 0000000000..d018ed0bb9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-04.html
@@ -0,0 +1,4 @@
+Slaski:
+Magmeld may be the fairy world, but not everyone there is innocent. There are those who were abandoned by the gods after betraying Goddess Einhasad, as well as the Genesis Creatures who were restrained by the gods, and the crazy fairies. Honestly, we know little about them, and nothing about how to control them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-05.html
new file mode 100644
index 0000000000..e1c676bdc4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-05.html
@@ -0,0 +1,3 @@
+Slaski:
+These people betrayed the Gods, but they are still angry at the Gods for abandoning them. They're capable of anything. Please take some courageous allies to the Prison of Darkness and find out who their ringleader is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-00.htm
new file mode 100644
index 0000000000..83966efca7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-00.htm
@@ -0,0 +1,4 @@
+Selina:
+I haven't seen you before, have I? Adventurers like you will need to work hard to survive here.
+(Only characters level 90 or above who have completed the "Abandoned Creation of Gods" quest can take this quest on.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-01.htm
new file mode 100644
index 0000000000..dcd88e644c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-01.htm
@@ -0,0 +1,3 @@
+Selina: There is something I cannot understand no matter how much I meditate: why on earth has this place just shown up now? I thought I would be able to find clues if I come here... but so far, nothing.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-02.htm
new file mode 100644
index 0000000000..bccd9506bc
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-02.htm
@@ -0,0 +1,4 @@
+Selina:
+The sudden appearance of Magmeld, the Garden of Genesis, and the Cat people, can't be a simple coincidence, right?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-03.htm
new file mode 100644
index 0000000000..ba261cb73c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-03.htm
@@ -0,0 +1,5 @@
+Selina:
+Possibly...
+Maybe this is all related to the Goddess of Death's recently appearances in Aden! Maybe the cats know something. Can you meet Elder Slaski in the Ancient City Arcan, and ask him?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-04.htm
new file mode 100644
index 0000000000..1bd947e520
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-04.htm
@@ -0,0 +1,3 @@
+Selina:
+Go to Archan and meet Slaski, the head of cat race. He may have some idea as to what's going on. Good luck!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-05.html
new file mode 100644
index 0000000000..1bd947e520
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-05.html
@@ -0,0 +1,3 @@
+Selina:
+Go to Archan and meet Slaski, the head of cat race. He may have some idea as to what's going on. Good luck!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Complete.html
new file mode 100644
index 0000000000..6e27b5e1a0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Complete.html
@@ -0,0 +1,4 @@
+Selina:
+Thanks to your help, we now have enough information to report back to Aden! I should thank you again.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Q10311_PeacefulDaysAreOver.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Q10311_PeacefulDaysAreOver.java
new file mode 100644
index 0000000000..c60fda9625
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Q10311_PeacefulDaysAreOver.java
@@ -0,0 +1,128 @@
+/*
+ * 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.Q10311_PeacefulDaysAreOver;
+
+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 quests.Q10312_AbandonedGodsCreature.Q10312_AbandonedGodsCreature;
+
+/**
+ * Peaceful Days are Over (10311)
+ * @URL https://l2wiki.com/Peaceful_Days_are_Over
+ * @author Gigi
+ */
+public final class Q10311_PeacefulDaysAreOver extends Quest
+{
+ // npc
+ private static final int SELINA = 33032;
+ private static final int SLASKI = 32893;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q10311_PeacefulDaysAreOver()
+ {
+ super(10311);
+ addStartNpc(SELINA);
+ addTalkId(SELINA, SLASKI);
+ addCondMinLevel(MIN_LEVEL, "33032-00.htm");
+ addCondCompletedQuest(Q10312_AbandonedGodsCreature.class.getSimpleName(), "33032-00.htm");
+ }
+
+ @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 "33032-02.htm":
+ case "33032-03.htm":
+ case "32893-02.html":
+ case "32893-03.html":
+ case "32893-04.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33032-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32893-05.html":
+ {
+ giveAdena(player, 489220, false);
+ addExpAndSp(player, 7168395, 1720);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ switch (npc.getId())
+ {
+ case SELINA:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "33032-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "33032-05.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "Complete.html";
+ }
+ break;
+ }
+ case SLASKI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32893-01.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "32893-00.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-00.htm
new file mode 100644
index 0000000000..8af37c1665
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-00.htm
@@ -0,0 +1,4 @@
+Horpina:
+Actually, before you tackle this task, I'd like you to consider taking care of something else for us.
+(You must be lv 90 or higher, and complete the Genesis Tree of Twisted Spiral quest to take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-01.htm
new file mode 100644
index 0000000000..5cca2eba78
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-01.htm
@@ -0,0 +1,4 @@
+Horpina:
+If you've spent any time wandering the gardens, you've probably seen that humongous creature chained up in the central zone. Nasty bit of work, that thing is. Its name is Apherus, and it's SO dangerous that there's a 24 hour patrol of watchers who monitor it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-02.htm
new file mode 100644
index 0000000000..cfd47f5801
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-02.htm
@@ -0,0 +1,4 @@
+Horpina:
+Well, the problem is mental fatigue. Those chains holding Apherus were forged hundreds of years ago and surprise, surprise, they're starting to weaken. NOT good. I'm not sure if Apherus' Watchers are aware of the problem. You'd think so. If I've noticed, surely they have? Right? I mean, if those chains break and Apherus escapes, Magmeld would be in for some major pain. Meow!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-03.htm
new file mode 100644
index 0000000000..e8e01334b0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-03.htm
@@ -0,0 +1,5 @@
+Horpina:
+If that beast breaks its chains, it will rampage through Magmeld and the Cats like it's stomping on bugs! I've totally lost faith in the watchmen. They never do anything but play cards and goof off. I totally wouldn't put it past them to release Apherus for a few Adena or sparkly gems.
+Can you and your friends help? If you defeat Apherus before those chains break, we can avoid a lot of bloodshed and grief.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-04.htm
new file mode 100644
index 0000000000..d570474bb6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-04.htm
@@ -0,0 +1,4 @@
+Horpina:
+Meep! Thank all that sparkles! What a weight off my shoulders! If this was left in the hands of those nincompoop watchmen any longer, Apherus would be sure to escape.
+The first thing you'll need to do is to take the prison key from the Apherus watchmen. They probably won't be thrilled to part with it, so you may have to be... convincing. Once you've got the key, enter the prison and defeat Apherus! Ooh! And bring the Giant Stem of Apherus back to me when you're done!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-05.html
new file mode 100644
index 0000000000..21a2410fb9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-05.html
@@ -0,0 +1,4 @@
+Horpina:
+You'll need to get the prison key from the Apherus watchmen first, so you can open the prison door. I don't think they'll give it up willingly, so you may have to use your considerable fighting talents to convince them. After you defeat Apherus, bring me the Giant Stem of Apherus... I'm going to mount it and hang it over the door...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-06.html
new file mode 100644
index 0000000000..3ae44b6212
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-06.html
@@ -0,0 +1,3 @@
+Horpina:
+You'll find the Apherus Watchman hanging around in front of the prison where Apherus is chained. They've got the key to the prison, and probably several other interesting keys, but that's beside the point. Rumor has it that one of them just carries the key in a bundle on his back! Like that's safe! Meeoow! Though, I suppose there could be decoy bundles... and fake keys. Hmm. Ok, perhaps it's not as silly as it seemed at first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-07.html
new file mode 100644
index 0000000000..2586398bd1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-07.html
@@ -0,0 +1,6 @@
+Horpina:
+Thanks! The biggest headache is gone! I'll give you a gift. How about you pick?
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-08.html
new file mode 100644
index 0000000000..f9a73280c2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-08.html
@@ -0,0 +1,4 @@
+Horpina:
+Here's the reward!
+Thanks again. Bless you, meow!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Complete.html
new file mode 100644
index 0000000000..61200e922d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Complete.html
@@ -0,0 +1,4 @@
+Horpina:
+Apherus must have incredible vital power, or they wouldn't have to watch it so carefully, don't you think? It's certainly weaker than it used to be, thanks to you. But it's still pretty darned nasty!
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Q10312_AbandonedGodsCreature.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Q10312_AbandonedGodsCreature.java
new file mode 100644
index 0000000000..152136e335
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Q10312_AbandonedGodsCreature.java
@@ -0,0 +1,156 @@
+/*
+ * 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.Q10312_AbandonedGodsCreature;
+
+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 quests.Q10310_TwistedCreationTree.Q10310_TwistedCreationTree;
+
+/**
+ * Abandoned God's Creature (10312)
+ * @URL https://l2wiki.com/Abandoned_God%27s_Creature
+ * @author Gigi
+ */
+public final class Q10312_AbandonedGodsCreature extends Quest
+{
+ // Npc
+ private static final int HORPINA = 33031;
+ // Boss
+ private static final int APHERUS = 25775;
+ // Items
+ private static final int WARSMITH_HOLDER = 19305; // Corroded Giant's Warsmith' Holder
+ private static final int REORINS_MOLD = 19306; // Corroded Giant's Reorin's Mold
+ private static final int ARCSMITH_ANVIL = 19307; // Corroded Giant's Arcsmith' Anvil
+ private static final int WARSMITH_MOLD = 19308; // Corroded Giant's Warsmith' Mold
+ private static final int EAR = 17527; // Scroll: Enchant Armor (R-grade)
+ private static final int POUCH = 34861; // Ingredient and Hardener Pouch (R-grade)
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q10312_AbandonedGodsCreature()
+ {
+ super(10312);
+ addStartNpc(HORPINA);
+ addTalkId(HORPINA);
+ addKillId(APHERUS);
+ addCondMinLevel(MIN_LEVEL, "33031-00.htm");
+ addCondCompletedQuest(Q10310_TwistedCreationTree.class.getSimpleName(), "33031-00.htm");
+ }
+
+ @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 "33031-02.htm":
+ case "33031-03.htm":
+ case "33031-06.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33031-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "gift1":
+ {
+ giveItems(player, WARSMITH_HOLDER, 1);
+ giveItems(player, REORINS_MOLD, 1);
+ giveItems(player, ARCSMITH_ANVIL, 1);
+ giveItems(player, WARSMITH_MOLD, 1);
+ addExpAndSp(player, 46847289, 11243);
+ qs.exitQuest(false, true);
+ htmltext = "33031-08.html";
+ break;
+ }
+ case "gift2":
+ {
+ giveItems(player, EAR, 2);
+ addExpAndSp(player, 46847289, 11243);
+ qs.exitQuest(false, true);
+ htmltext = "33031-08.html";
+ break;
+ }
+ case "gift3":
+ {
+ giveItems(player, POUCH, 2);
+ addExpAndSp(player, 46847289, 11243);
+ qs.exitQuest(false, true);
+ htmltext = "33031-08.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (qs.isCreated())
+ {
+ htmltext = "33031-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "33031-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33031-07.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "Complete.html";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, false);
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-00.htm
new file mode 100644
index 0000000000..01fc54ffd4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-00.htm
@@ -0,0 +1,4 @@
+Slaski:
+Aaaugh... The Prison of Darkness is shaking dreadfully, nyaong! I'm really worried that the whole of Magmeld might come crashing down, leaving only rubble and dust....
+(Only characters level 90 or above, who completed the "Corrupt Leader, His Truth" or "Day of Rest is Over" quest may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-01.htm
new file mode 100644
index 0000000000..8a5dddc7f3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-01.htm
@@ -0,0 +1,4 @@
+Slaski:
+The Prison of Darkness is in upheaval! Traitor Spezion, who had the hubris to take on the gods, is locked up there.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-02.htm
new file mode 100644
index 0000000000..2d5554acb0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-02.htm
@@ -0,0 +1,6 @@
+Slaski:
+We know he is a traitor who tried to incite a rebellion against the gods, but it's been so long that the details are vague.
+Still, the outcome is obvious, no? The rebels were wiped out, and the gods locked up Spezion as a warning to anyone who would challenge them.
+I worry that he may be coming back, and I need a brave adventurer like you to help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-03.htm
new file mode 100644
index 0000000000..9487b736a8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-03.htm
@@ -0,0 +1,4 @@
+Slaski:
+The brave cat warrior Opera went to the Prison of Darkness to find out why the ground is shaking and has not returned. Go, find Opera! Find out what's going on!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-04.htm
new file mode 100644
index 0000000000..7710293126
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-04.htm
@@ -0,0 +1,4 @@
+Slaski:
+So confident! I'm starting to like you! Well, go see Opera in the Prison of Darkness and hear the details.
+To get there, just go out of this building and opposite you will be Gatekeeper Sookie. Tell him that you want to go to the Prison of Darkness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-05.html
new file mode 100644
index 0000000000..d3077b5ed6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-05.html
@@ -0,0 +1,3 @@
+Slaski:
+The ground is shaking so much! Go talk to Opera; don't dilly-dally around here.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-00.html
new file mode 100644
index 0000000000..5712829d51
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-00.html
@@ -0,0 +1,4 @@
+Opera:
+Huh? What? No, no, no! I can't play with you now. There is too much to do! I'm sorry. Maybe when I'm done here, we can play!
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-01.html
new file mode 100644
index 0000000000..62ecd130ba
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-01.html
@@ -0,0 +1,4 @@
+Opera:
+Did you see that? That! Over there! I'm sure I just saw that corpse move! Did you see it? I'm NOT having fun here! And who are you? How did you get here? You... you're not a ghost are you? Oh my paws and whiskers! Please say you aren't. I... I don't think my heart could handle it if you said you were!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-02.html
new file mode 100644
index 0000000000..3738051948
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-02.html
@@ -0,0 +1,4 @@
+Opera:
+Oh... Really? You came to help me? Ooh! Thank you! I've been worrying myself sick. Do you see that big corpse over there? That one, right there.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-03.html
new file mode 100644
index 0000000000..354468ad8c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-03.html
@@ -0,0 +1,4 @@
+Opera:
+That's... That's Spezion's corpse... the traitor who rose up against God! Shhhh! Don't say that so loud! What? Oh, the shaking? Yeah, the entire town is shaking. There's this huge pendulum called the Spiral of Guard that's making everything shake. It's supposed to restrain Spezion! But now it's just shaking cats all over the place!
+Slaski ordered me to find out why... so I came here to check it out. I, umm, figured out what's going on, but I have no idea what to do about it. Wanna help me decide?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Complete.html
new file mode 100644
index 0000000000..88334ade95
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Complete.html
@@ -0,0 +1,3 @@
+Slaski:
+Another quest? Well, it's great that you're eager, but I don't have anything yet. I'll let you know if something comes up.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Q10315_ToThePrisonOfDarkness.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Q10315_ToThePrisonOfDarkness.java
new file mode 100644
index 0000000000..0bc1de1c05
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Q10315_ToThePrisonOfDarkness.java
@@ -0,0 +1,158 @@
+/*
+ * 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.Q10315_ToThePrisonOfDarkness;
+
+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.Q10307_TheCorruptedLeaderHisTruth.Q10307_TheCorruptedLeaderHisTruth;
+import quests.Q10311_PeacefulDaysAreOver.Q10311_PeacefulDaysAreOver;
+
+/**
+ * To the Prison of Darkness (10315)
+ * @URL https://l2wiki.com/To_the_Prison_of_Darkness
+ * @author Gigi
+ */
+public final class Q10315_ToThePrisonOfDarkness extends Quest
+{
+ // NPCs
+ private static final int SLASKI = 32893;
+ private static final int OPERA = 32946;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+ // Item's
+ private static final int EWR = 17526;
+
+ public Q10315_ToThePrisonOfDarkness()
+ {
+ super(10315);
+ addStartNpc(SLASKI);
+ addTalkId(SLASKI, OPERA);
+ addCondMinLevel(MIN_LEVEL, "32893-00.htm");
+ }
+
+ @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 "32893-02.htm":
+ case "32893-03.htm":
+ case "32946-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32893-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32946-03.html":
+ {
+ giveAdena(player, 279513, false);
+ giveItems(player, EWR, 1);
+ addExpAndSp(player, 4038093, 969);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ final QuestState qs1 = player.getQuestState(Q10307_TheCorruptedLeaderHisTruth.class.getSimpleName());
+ final QuestState qs2 = player.getQuestState(Q10311_PeacefulDaysAreOver.class.getSimpleName());
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SLASKI)
+ {
+ if (((qs1 != null) && qs1.isCompleted()) || ((qs2 != null) && qs2.isCompleted()))
+ {
+ htmltext = "32893-01.htm";
+ break;
+ }
+ htmltext = "32893-00.htm";
+ break;
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case SLASKI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32893-05.html";
+ break;
+ }
+ }
+ case OPERA:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32946-01.html";
+ break;
+ }
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ switch (npc.getId())
+ {
+ case SLASKI:
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ case OPERA:
+ {
+ htmltext = "32946-00.html";
+ break;
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00.htm
new file mode 100644
index 0000000000..dd2383f98b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00.htm
@@ -0,0 +1,5 @@
+Opera:
+I need to find out how to access Spezion's consciousness, and send him back to sleep. But, it's so scary! I can't even get near the tomb stone without quivering and puffing up!
+Meeeorrww! I'm only here because Slaski made me come. I... I just want to cry!
+(Only characters with Level 90 or above can take on this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00a.html
new file mode 100644
index 0000000000..93de75a319
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00a.html
@@ -0,0 +1,4 @@
+Opera:
+What is it? I have no business with you.
+(Only characters with level 90 or above, who have completed the To the Prison of Darknesss quest, can take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-01.htm
new file mode 100644
index 0000000000..bc52bd6622
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-01.htm
@@ -0,0 +1,5 @@
+Opera:
+From what I can tell, a huge wave of darkness came through here recently and opened a gap between Magmeld and the other dimensions. And, well, it seems like the shock of the wave awoke Spezion's... err... well, consciousness, I guess you'd call it.
+He seems to be flickering in and out of consciousness. It's all quiet, then there's motion. Frankly, it's creeping me out!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-02.htm
new file mode 100644
index 0000000000..09c2f6b3f7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-02.htm
@@ -0,0 +1,5 @@
+Opera:
+It must have happened when the Island in the Sky fell. When it crashed, during that tiny window of time, Magmeld was covered in darkness. Slaski says that the Seed of Darkness, which was deep beneath Magmeld, sprouted!
+I'm not sure what that means, but Slaski is so smart! He knows all sorts of things, so it must be true!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-03.htm
new file mode 100644
index 0000000000..afce07e97f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-03.htm
@@ -0,0 +1,6 @@
+Opera:
+The Seed of Darkness? I'm not really sure what it is. I've heard that it was once a Lord, who was buried by Shilen in order to destroy the Spirit World of Lights. Makes me shudder just thinking about it! Fortunately, the Spirit World of Lights here is protected by Einhasad, so the Seed of Darkness remained dormant.
+But recently, the Seed of Darkness has sprouted, ripping a hole in this dimension! The Decaying Darkness also seems to be influencing Spezion.
+Umm, perhaps you could help me by traveling into Spezion's consciousness and rocking him back to sleep? It's dangerous, but....
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-04.htm
new file mode 100644
index 0000000000..8b52ae668d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-04.htm
@@ -0,0 +1,5 @@
+Opera:
+See that tombstone over there? To get to Spezion, you need to go through the tombstone. I think you just need to go over there and look at the stone. I'm sure you can figure out how to use it to enter Spezion's consciousness.
+Once you're in, put him back to sleep. It doesn't matter how you do it, defeat him, rock him to sleep, whack him on the head with a big rock, do whatever it takes!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-05.htm
new file mode 100644
index 0000000000..e9c0f448a2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-05.htm
@@ -0,0 +1,4 @@
+Opera:
+You will?! Oh, thank you! Frankly, I was just about to turn tail and run back to town... it's scary out here!
+Other, less brave cats, would never even have come out here! But I made it this far... Anyway, thank you. I'll wait here for your return. Be careful!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-06.html
new file mode 100644
index 0000000000..04e6779555
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-06.html
@@ -0,0 +1,3 @@
+Opera:
+No... nooo! Do I HAVE to follow you? O..Opera is a bit timid when it comes to scary, icky things! Oh, if I see a ghost, I just know I'm going to embarrass myself and faint!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-07.html
new file mode 100644
index 0000000000..2542962f6f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-07.html
@@ -0,0 +1,5 @@
+Opera:
+Huh? Spezion was a victim? Hahaha! What a funny story! You're just trying to make me laugh, aren't you? No? Hmm, I don't know what you heard while you were in there, but Spezion was just a crazy loon who attacked the Gods.
+Anyway, even if you've gone a bit loopy, it looks like Magmeld will be quiet for a while, all thanks to you! Meow!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-08.html
new file mode 100644
index 0000000000..5f08ceb784
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-08.html
@@ -0,0 +1,7 @@
+Opera:
+Oh, almost forgot. I have stuff for you!
+Pick what you want, meow!
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-09.html
new file mode 100644
index 0000000000..0e2569a95a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-09.html
@@ -0,0 +1,4 @@
+Opera:
+Sure, here it is!
+Got it? Bye!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Complete.html
new file mode 100644
index 0000000000..fd1e4cd22d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Complete.html
@@ -0,0 +1,3 @@
+Opera:
+I want to go back to town! Now! Meow! (You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Q10316_UndecayingMemoryOfThePast.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Q10316_UndecayingMemoryOfThePast.java
new file mode 100644
index 0000000000..6dc82eb03a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Q10316_UndecayingMemoryOfThePast.java
@@ -0,0 +1,172 @@
+/*
+ * 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.Q10316_UndecayingMemoryOfThePast;
+
+import com.l2jmobius.Config;
+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.Q10315_ToThePrisonOfDarkness.Q10315_ToThePrisonOfDarkness;
+
+/**
+ * Undecaying Memory of the Past (10316)
+ * @URL https://l2wiki.com/Undecaying_Memory_of_the_Past
+ * @author Gigi
+ */
+public final class Q10316_UndecayingMemoryOfThePast extends Quest
+{
+ // NPCs
+ private static final int OPERA = 32946;
+ private static final int SPEZION = 25779;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+ // Item's
+ private static final int EAR = 17527;
+ private static final int CORRODED_GIANTS_WARSMITH_HOLDER = 19305;
+ private static final int CORRODED_GIANTS_REORINS_MOLD = 19306;
+ private static final int CORRODED_GIANTS_ARCSMITH_ANVIL = 19307;
+ private static final int CORRODED_GIANTS_WARSMITH_MOLD = 19308;
+ private static final int HARDENER_POUCHES = 34861;
+
+ public Q10316_UndecayingMemoryOfThePast()
+ {
+ super(10316);
+ addStartNpc(OPERA);
+ addTalkId(OPERA);
+ addKillId(SPEZION);
+ addCondMinLevel(MIN_LEVEL, "32946-00.htm");
+ addCondCompletedQuest(Q10315_ToThePrisonOfDarkness.class.getSimpleName(), "32946-00a.html");
+ }
+
+ @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 "32946-02.htm":
+ case "32946-03.htm":
+ case "32946-04.htm":
+ case "32946-08.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32946-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "material":
+ {
+ giveItems(player, CORRODED_GIANTS_WARSMITH_HOLDER, 1);
+ giveItems(player, CORRODED_GIANTS_REORINS_MOLD, 1);
+ giveItems(player, CORRODED_GIANTS_ARCSMITH_ANVIL, 1);
+ giveItems(player, CORRODED_GIANTS_WARSMITH_MOLD, 1);
+ addExpAndSp(player, 54093924, 12982);
+ qs.exitQuest(false, true);
+ htmltext = "32946-09.html";
+ break;
+ }
+ case "enchant":
+ {
+ giveItems(player, EAR, 2);
+ addExpAndSp(player, 54093924, 12982);
+ qs.exitQuest(false, true);
+ htmltext = "32946-09.html";
+ break;
+ }
+ case "pouch":
+ {
+ giveItems(player, HARDENER_POUCHES, 2);
+ addExpAndSp(player, 54093924, 12982);
+ qs.exitQuest(false, true);
+ htmltext = "32946-09.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == OPERA)
+ {
+ htmltext = "32946-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32946-06.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "32946-07.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10317_OrbisWitch/Q10317_OrbisWitch.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10317_OrbisWitch/Q10317_OrbisWitch.java
index ccf96c977a..2b0e8ee722 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10317_OrbisWitch/Q10317_OrbisWitch.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10317_OrbisWitch/Q10317_OrbisWitch.java
@@ -21,6 +21,8 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
+import quests.Q10316_UndecayingMemoryOfThePast.Q10316_UndecayingMemoryOfThePast;
+
/**
* Orbis' Witch (10317)
* @URL https://l2wiki.com/Orbis%27_Witch
@@ -41,7 +43,7 @@ public final class Q10317_OrbisWitch extends Quest
addTalkId(OPERA, LYDIA);
addCondMinLevel(MIN_LEVEL, "32946-09.html");
- // addCondCompletedQuest(Q10316_UndecayingMemoryOfThePast.class.getSimpleName(), "32946-09.html");
+ addCondCompletedQuest(Q10316_UndecayingMemoryOfThePast.class.getSimpleName(), "32946-09.html");
}
@Override
@@ -114,6 +116,7 @@ public final class Q10317_OrbisWitch extends Quest
if (qs.isCond(1))
{
htmltext = "32892-01.html";
+ break;
}
}
}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-01.htm
new file mode 100644
index 0000000000..caa9937a87
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-01.htm
@@ -0,0 +1,5 @@
+Pantheon:
+Gallint is hurt and cannot move, but we must do something about the books before they get stolen.
+They're looking for The War of Gods and Giants mostly, but there are a couple of others they'd probably find useful too.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-02.htm
new file mode 100644
index 0000000000..c9d2adeb70
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-02.htm
@@ -0,0 +1,5 @@
+Pantheon:
+We think they were looking for anything related to the Giants,and tried to steal The War of Gods and Giants, an ancient book that was discovered in Ye Sagira.
+It has many stories about the powers of the Giants, how that power can be learned, and about others species from their time. Now that the island has crashed, perhaps we should think about safeguarding the book...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-03.html
new file mode 100644
index 0000000000..206b33213a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-03.html
@@ -0,0 +1,6 @@
+Pantheon:
+Thank you!
+When you get to the museum, you should see a number of desks - one of them has The War of Giants and Gods on it. Find it, and bring it to me.
+Would you like to go to the museum?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-04.html
new file mode 100644
index 0000000000..a869adc6e0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-04.html
@@ -0,0 +1,5 @@
+Pantheon:
+You're still here
+Go into the museum!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-05.html
new file mode 100644
index 0000000000..68e802d933
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-05.html
@@ -0,0 +1,4 @@
+Pantheon:
+I just saw suspicious intruders entering the Museum! I fear for the rare valuable articles inside the Museum. Please hurry into the Museum and deal with the intruders!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-06.html
new file mode 100644
index 0000000000..eaed2d5059
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-06.html
@@ -0,0 +1,5 @@
+Pantheon:
+You've brought the book? Good! It must have been difficult to find it amongst all those others!
+I hope you didn't get hurt either - Gallint may be a fool, but plenty have hurt themselves moving books around before him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-07.html
new file mode 100644
index 0000000000..e516123633
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-07.html
@@ -0,0 +1,6 @@
+Pantheon:
+What? The thieves are getting more brash by the day!
+Hmm... So, I wonder if the books related to Giants... are also related to Embryo. It's just speculation, but something worth considering.
+Now, I must apologize for placing you in harm's way. Please accept these Earrings - accessories such as these help protect you against magic!
+Remember: you can wear up to two earrings at a time. Purchase more from the General Merchant if you wish.
+
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-08.html
new file mode 100644
index 0000000000..c220a4df12
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-08.html
@@ -0,0 +1,4 @@
+Pantheon:
+I'm still looking into things, friend. I'll let you know when I find anything
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-09.html
new file mode 100644
index 0000000000..4f38460c36
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/32972-09.html
@@ -0,0 +1,4 @@
+Pantheon:
+This mission can't be give to just anyone!
+(Only characters below 20, who've completed the "Let's Respect Elders" quest, may start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/Q10327_IntruderWhoWantsTheBookOfGiants.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/Q10327_IntruderWhoWantsTheBookOfGiants.java
new file mode 100644
index 0000000000..d3081e4f2e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10327_IntruderWhoWantsTheBookOfGiants/Q10327_IntruderWhoWantsTheBookOfGiants.java
@@ -0,0 +1,131 @@
+/*
+ * 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.Q10327_IntruderWhoWantsTheBookOfGiants;
+
+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 com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+//import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
+
+/**
+ * Intruder Who Wants the Book of Giants (10327)
+ * @author Gladicek
+ */
+public final class Q10327_IntruderWhoWantsTheBookOfGiants extends Quest
+{
+ // NPCs
+ private static final int PANTHEON = 32972;
+ // Items
+ private static final int THE_WAR_OF_GODS_AND_GIANTS = 17575;
+ // Misc
+ private static final int MAX_LEVEL = 20;
+ private static final int APPRENTICE_EARRING = 112;
+
+ public Q10327_IntruderWhoWantsTheBookOfGiants()
+ {
+ super(10327);
+ addStartNpc(PANTHEON);
+ addTalkId(PANTHEON);
+ registerQuestItems(THE_WAR_OF_GODS_AND_GIANTS);
+ addCondMaxLevel(MAX_LEVEL, "32972-09.html");
+ // addCondCompletedQuest(Q10542_SearchingForNewPower.class.getSimpleName(), "32972-09.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "32972-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32972-03.html":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32972-07.html":
+ {
+ if (qs.isCond(3))
+ {
+ showOnScreenMsg(player, NpcStringId.ACCESSORIES_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
+ giveAdena(player, 160, true);
+ giveItems(player, APPRENTICE_EARRING, 2);
+ addExpAndSp(player, 7800, 5);
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "32972-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32972-04.html";
+ break;
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "32972-05.html";
+ break;
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "32972-06.html";
+ break;
+ }
+ }
+ case State.COMPLETED:
+ {
+ htmltext = "32972-08.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-00.html
new file mode 100644
index 0000000000..20f5e4321d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-00.html
@@ -0,0 +1,3 @@
+Grand Master Valfar:
+I am Kamael. I have nothing to say or do for races other than Kamael. Be sure you know what race you belong to, at the least.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-01.htm
new file mode 100644
index 0000000000..1815ce3918
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-01.htm
@@ -0,0 +1,6 @@
+Grand Master Valfar:
+Thank you for stepping up and helping out.
+I have heard you have applied to join the seekers. I've been told you only just signed up, but you seem to be a seasoned seeker veteran in more ways than one.
+That's why I want to ask you to do something.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-02.htm
new file mode 100644
index 0000000000..5992e33f7b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-02.htm
@@ -0,0 +1,5 @@
+Grand Master Valfar:
+Your help is required in the Ruins of Ye Sagira. I can promise you something when you have completed this mission.
+It will not be easy, though. What do you think? Will you take it on?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-03.htm
new file mode 100644
index 0000000000..3a6f93a926
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-03.htm
@@ -0,0 +1,4 @@
+Grand Master Valfar:
+That's right. According to what I've seen and heard so far, your skills and rate of growth are such that you would fit right into the very front lines of the seekers right away. Could you head to the Ruins of Ye Sagira and help the seekers there with their assignment?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-04.htm
new file mode 100644
index 0000000000..a3424c7cbd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32146-04.htm
@@ -0,0 +1,5 @@
+Grand Master Valfar:
+Thank you for being so eager to accept.
+Please head immediately to the Ruins of Ye Sagira, and help the seekers with their operation. At the entrance to the Ruins of Ye Sagira should be the former scholar and current Seeker Lakcis. I believe your help will be required: I ask you to please go and provide your help.
+There is no time to lose. So please teleport through Gatekeeper Milia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-00.html
new file mode 100644
index 0000000000..c2ff617437
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-00.html
@@ -0,0 +1,4 @@
+Grand Master Rivian:
+I am in charge of the Elves. Of course, I have something to ask of an Elf who's in a situation similar to yours, but you're not exactly the one...
+I think you should go in search of your race's master.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-01.htm
new file mode 100644
index 0000000000..5d17b0980d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-01.htm
@@ -0,0 +1,6 @@
+Grand Master Revian:
+Thank you for stepping up and helping out.
+I have heard you have applied to join the seekers. I've been told you only just signed up, but you seem to be a seasoned seeker veteran in more ways than one.
+That's why I want to ask you to do something.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-02.htm
new file mode 100644
index 0000000000..abb52708ae
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-02.htm
@@ -0,0 +1,5 @@
+Grand Master Revian:
+Your help is required in the Ruins of Ye Sagira. I can promise you something when you have completed this mission.
+It will not be easy, though. What do you think? Will you take it on?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-03.htm
new file mode 100644
index 0000000000..a77dc505c7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-03.htm
@@ -0,0 +1,4 @@
+Grand Master Revian:
+That's right. According to what I've seen and heard so far, your skills and rate of growth are such that you would fit right into the very front lines of the seekers right away. Could you head to the Ruins of Ye Sagira and help the seekers there with their assignment?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-04.htm
new file mode 100644
index 0000000000..8c0001a2f5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32147-04.htm
@@ -0,0 +1,5 @@
+Grand Master Revian:
+Thank you for being so eager to accept.
+Please head immediately to the Ruins of Ye Sagira, and help the seekers with their operation. At the entrance to the Ruins of Ye Sagira should be the former scholar and current Seeker Lakcis. I believe your help will be required: I ask you to please go and provide your help.
+There is no time to lose. So please teleport through Gatekeeper Milia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-00.html
new file mode 100644
index 0000000000..a009f7a0a2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-00.html
@@ -0,0 +1,4 @@
+High Prefect Took:
+You're not an Orc! I only have something to say to young warriors of the Orc race. But you're not.
+You haven't forgotten your own race, have you?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-01.htm
new file mode 100644
index 0000000000..733f5a105f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-01.htm
@@ -0,0 +1,6 @@
+High Prefect Took:
+Thank you for stepping up and helping out.
+I have heard you have applied to join the seekers. I've been told you only just signed up, but you seem to be a seasoned seeker veteran in more ways than one.
+That's why I want to ask you to do something.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-02.htm
new file mode 100644
index 0000000000..2e898d98fd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-02.htm
@@ -0,0 +1,5 @@
+High Prefect Took:
+Your help is required in the Ruins of Ye Sagira. I can promise you something when you have completed this mission.
+It will not be easy, though. What do you think? Will you take it on?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-03.htm
new file mode 100644
index 0000000000..93c31d2bd3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-03.htm
@@ -0,0 +1,4 @@
+High Prefect Took:
+That's right. According to what I've seen and heard so far, your skills and rate of growth are such that you would fit right into the very front lines of the seekers right away. Could you head to the Ruins of Ye Sagira and help the seekers there with their assignment?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-04.htm
new file mode 100644
index 0000000000..6be6351f49
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32150-04.htm
@@ -0,0 +1,5 @@
+High Prefect Took:
+Thank you for being so eager to accept.
+Please head immediately to the Ruins of Ye Sagira, and help the seekers with their operation. At the entrance to the Ruins of Ye Sagira should be the former scholar and current Seeker Lakcis. I believe your help will be required: I ask you to please go and provide your help.
+There is no time to lose. So please teleport through Gatekeeper Milia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-00.html
new file mode 100644
index 0000000000..6fd847065d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-00.html
@@ -0,0 +1,4 @@
+High Priest Franco:
+What's going on? I thought you were of the Humans, and was going to ask something of you. It appears you're not of the Humans, though.
+I am in charge of guiding those of the Humans on the right path into the future. I think you haven't forgotten your own race?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-01.htm
new file mode 100644
index 0000000000..ca49cb63ff
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-01.htm
@@ -0,0 +1,6 @@
+High Priest Franco:
+Thank you for stepping up and helping out.
+I have heard you have applied to join the seekers. I've been told you only just signed up, but you seem to be a seasoned seeker veteran in more ways than one.
+That's why I want to ask you to do something.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-02.htm
new file mode 100644
index 0000000000..8a001a5dc1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-02.htm
@@ -0,0 +1,5 @@
+High Priest Franco:
+Your help is required in the Ruins of Ye Sagira. I can promise you something when you have completed this mission.
+It will not be easy, though. What do you think? Will you take it on?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-03.htm
new file mode 100644
index 0000000000..93f3d03d61
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-03.htm
@@ -0,0 +1,4 @@
+High Priest Franco:
+That's right. According to what I've seen and heard so far, your skills and rate of growth are such that you would fit right into the very front lines of the seekers right away. Could you head to the Ruins of Ye Sagira and help the seekers there with their assignment?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-04.htm
new file mode 100644
index 0000000000..76be9fdd68
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32153-04.htm
@@ -0,0 +1,5 @@
+High Priest Franco:
+Thank you for being so eager to accept.
+Please head immediately to the Ruins of Ye Sagira, and help the seekers with their operation. At the entrance to the Ruins of Ye Sagira should be the former scholar and current Seeker Lakcis. I believe your help will be required: I ask you to please go and provide your help.
+There is no time to lose. So please teleport through Gatekeeper Milia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-00.html
new file mode 100644
index 0000000000..e05a08bc06
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-00.html
@@ -0,0 +1,4 @@
+Head Blacksmith Moka:
+I'm busy. I don't have time to help those of races other than Dwarves.
+You should know your race properly.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-01.htm
new file mode 100644
index 0000000000..6e67bd53f0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-01.htm
@@ -0,0 +1,6 @@
+Head Blacksmith Moka:
+Thank you for stepping up and helping out.
+I have heard you have applied to join the seekers. I've been told you only just signed up, but you seem to be a seasoned seeker veteran in more ways than one.
+That's why I want to ask you to do something.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-02.htm
new file mode 100644
index 0000000000..3c79b0879b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-02.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Moka:
+Your help is required in the Ruins of Ye Sagira. I can promise you something when you have completed this mission.
+It will not be easy, though. What do you think? Will you take it on?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-03.htm
new file mode 100644
index 0000000000..2b709606f7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-03.htm
@@ -0,0 +1,4 @@
+Head Blacksmith Moka:
+That's right. According to what I've seen and heard so far, your skills and rate of growth are such that you would fit right into the very front lines of the seekers right away. Could you head to the Ruins of Ye Sagira and help the seekers there with their assignment?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-04.htm
new file mode 100644
index 0000000000..e415af3d13
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32157-04.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Moka:
+Thank you for being so eager to accept.
+Please head immediately to the Ruins of Ye Sagira, and help the seekers with their operation. At the entrance to the Ruins of Ye Sagira should be the former scholar and current Seeker Lakcis. I believe your help will be required: I ask you to please go and provide your help.
+There is no time to lose. So please teleport through Gatekeeper Milia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-00.html
new file mode 100644
index 0000000000..d472e3928f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-00.html
@@ -0,0 +1,4 @@
+Grand Magister Devon:
+You don't seem to be a Dark Elf.
+What I have to say is only intended for young children of the Dark Elves. Be sure you know what your race is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-01.htm
new file mode 100644
index 0000000000..91c850be4f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-01.htm
@@ -0,0 +1,6 @@
+Grand Magister Devon:
+Thank you for stepping up and helping out.
+I have heard you have applied to join the seekers. I've been told you only just signed up, but you seem to be a seasoned seeker veteran in more ways than one.
+That's why I want to ask you to do something.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-02.htm
new file mode 100644
index 0000000000..ee11d8d476
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-02.htm
@@ -0,0 +1,5 @@
+Grand Magister Devon:
+Your help is required in the Ruins of Ye Sagira. I can promise you something when you have completed this mission.
+It will not be easy, though. What do you think? Will you take it on?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-03.htm
new file mode 100644
index 0000000000..822a4110b6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-03.htm
@@ -0,0 +1,4 @@
+Grand Magister Devon:
+That's right. According to what I've seen and heard so far, your skills and rate of growth are such that you would fit right into the very front lines of the seekers right away. Could you head to the Ruins of Ye Sagira and help the seekers there with their assignment?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-04.htm
new file mode 100644
index 0000000000..6be6351f49
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32160-04.htm
@@ -0,0 +1,5 @@
+High Prefect Took:
+Thank you for being so eager to accept.
+Please head immediately to the Ruins of Ye Sagira, and help the seekers with their operation. At the entrance to the Ruins of Ye Sagira should be the former scholar and current Seeker Lakcis. I believe your help will be required: I ask you to please go and provide your help.
+There is no time to lose. So please teleport through Gatekeeper Milia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-01.html
new file mode 100644
index 0000000000..4a20e2a6a4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-01.html
@@ -0,0 +1,5 @@
+Gatekeeper Milia:
+Going to help Lakcis, you say? What a relief. I was shocked when Lakcis that bookworm said he was headed out on an expedition to the ruins.
+Please, hurry, go and help Lakcis. I'll tell you how you can get there faster. Are you ready to teleport?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-02.html
new file mode 100644
index 0000000000..ad556fe1c8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-02.html
@@ -0,0 +1,5 @@
+Gatekeeper Milia:
+Gatekeepers like me help to make your travels more comfortable.
+Use the Teleport menu. Care to give it a try?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-03.html
new file mode 100644
index 0000000000..19d777de2b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32169-03.html
@@ -0,0 +1,3 @@
+Gatekeeper Milia:
+When you're ready to teleport, talk to me. Then use Teleport to teleport to the Ruins of Ye Sagira.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-01.html
index 2a3e1ce9f8..6162d28c37 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-01.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-01.html
@@ -1,5 +1,5 @@
-Lakcis:
-Why are you here? It's not safe here - you should go back to town now! Hell, even I'm thinking of leaving if this many monsters keep showing up!
-It's embarrassing to say this but I don't even know how to use magic because I am just a scholar.
-
+Lakcis:
+Why are you here? It's not safe here - you should go back to town now! Hell, even I'm thinking of leaving if this many monsters keep showing up!
+It's embarrassing, but I'm a scholar, and I wield knowledge only, not swords or magic. Sigh..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-02.html
index cec3a0a9ff..dad5ae11fd 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-02.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-02.html
@@ -1,5 +1,4 @@
-Lakcis:
-What? Atran did? That kid was badly hurt last time he was here, I hope he's okay these days.
-Did you have a message or anything? I doubt Atran wanted you to have the same thing that happened to him happen to you.
-
+Lakcis:
+The Administrative Office, you say? I guess everyone was worried about me.
+Thank you so much. Thanks to you, I think I'll be able to stay here a bit longer, and get some more work done.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-03.html
deleted file mode 100644
index 5620748603..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Lakcis:
-Hahaha! Yeah, that sounds like Atran alright - He always looks out for me in his own special way.
-Thanks for the message - it's good to hear he's doing well, and that his injury didn't eviscerate his sense of humor.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-04.html
deleted file mode 100644
index 4ff72c1e6a..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-04.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Lakcis:
-I wouln't advise sight-seeing in a place like this, friend. Unless you enjoy being eaten alive, that is.
-This quest can only be started by characters working on the quest "To the Esagria Ruins".)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-05.html
deleted file mode 100644
index e500fc3aa5..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/32977-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Lakcis:
-If there were no monsters, the investigations would be so much easier...
-(You've already completed this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-01.htm
deleted file mode 100644
index c0daf41d31..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-01.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Atran:
-You're still here?
-Why?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-02.htm
deleted file mode 100644
index 6eb57dbcc3..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-02.htm
+++ /dev/null
@@ -1,7 +0,0 @@
-Atran:
-You want to go to Ye Sagira? For what reason?
-There are not many rangers left at the Ruins of Ye Sagira... maybe one or two per exploration zone, but they're not fighters, and can't help you if you find yourself in danger.
-Idiots go there without a plan, and idiots get hurt. That's how I broke my...
-No, no... That's not why I got hurt. Anyway. Are you really going there?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-03.html
deleted file mode 100644
index 92e862a757..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-03.html
+++ /dev/null
@@ -1,5 +0,0 @@
-Atran:
-Well then, it is my duty to help you as much as I can.
-To get to the ruins, follow the path you came, only in the opposite direction. Walk until you meet Lakcis - he stands at the Ruins of Ye Sagira Entrance .
- He's a scholar, so can't go into Ruins of Ye Sagira. Go help him.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-04.html
deleted file mode 100644
index 3170f97f0c..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-Atran:
-Why are you still here? Hurry and meet Lakcis at the Ruins of Ye Sagira Entrance.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-05.html
deleted file mode 100644
index 4f4b525d2a..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Atran:
-You're still free? If you have time to play around here, you have time to go somewhere else and hunt.
-(Only characters level 10 or higher, who have completed the 'Backup Seekers' quest, can start this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-06.html
deleted file mode 100644
index 877724c1ac..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/33448-06.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Atran:
-You're still free?
-(You've already completed this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/Q10330_ToTheRuinsOfYeSagira.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/Q10330_ToTheRuinsOfYeSagira.java
index 498d922b95..b68eedfb65 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/Q10330_ToTheRuinsOfYeSagira.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/Q10330_ToTheRuinsOfYeSagira.java
@@ -16,13 +16,14 @@
*/
package quests.Q10330_ToTheRuinsOfYeSagira;
+import com.l2jmobius.gameserver.enums.Race;
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 com.l2jmobius.gameserver.network.NpcStringId;
-import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+import quests.Q10544_SeekerSupplies.Q10544_SeekerSupplies;
/**
* To the Ruins of Ye Sagira (10330)
@@ -31,21 +32,29 @@ import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
public final class Q10330_ToTheRuinsOfYeSagira extends Quest
{
// NPCs
- private static final int ATRAN = 33448;
+ private static final int FRANCO = 32153; // Human
+ private static final int RIVIAN = 32147; // Elf
+ private static final int TOOK = 32150; // Orc
+ private static final int DEVON = 32160; // Dark Elf
+ private static final int MOKA = 32157; // Dwarf
+ private static final int VALFAR = 32146; // Kamael
+ private static final int MILA = 30006;
private static final int LAKCIS = 32977;
// Items
- private static final int LEATHER_SHIRT = 22;
- private static final int LEATHER_PANTS = 29;
+ private static final int RING_OF_KNOWLEDGE = 875;
+ private static final int HEALING_POTION = 1060;
// Misc
- private static final int MIN_LEVEL = 8;
+ private static final int MIN_LEVEL = 7;
private static final int MAX_LEVEL = 20;
public Q10330_ToTheRuinsOfYeSagira()
{
super(10330);
- addStartNpc(ATRAN);
- addTalkId(ATRAN, LAKCIS);
- addCondLevel(MIN_LEVEL, MAX_LEVEL, "33448-05.html");
+ addStartNpc(FRANCO, RIVIAN, TOOK, DEVON, MOKA, VALFAR);
+ addTalkId(FRANCO, RIVIAN, TOOK, DEVON, MOKA, VALFAR, MILA, LAKCIS);
+ addCondNotRace(Race.ERTHEIA, "noRace.html");
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10544_SeekerSupplies.class.getSimpleName(), "noLevel.html");
}
@Override
@@ -60,27 +69,47 @@ public final class Q10330_ToTheRuinsOfYeSagira extends Quest
String htmltext = null;
switch (event)
{
- case "33448-02.htm":
- case "32977-02.html":
+ case "32169-02.html":
+ case "32153-02.htm":
+ case "32153-03.htm":
+ case "32147-02.htm":
+ case "32147-03.htm":
+ case "32150-02.htm":
+ case "32150-03.htm":
+ case "32160-02.htm":
+ case "32160-03.htm":
+ case "32157-02.htm":
+ case "32157-03.htm":
+ case "32146-02.htm":
+ case "32146-03.htm":
{
htmltext = event;
break;
}
- case "33448-03.html":
+ case "32153-04.htm":
+ case "32147-04.htm":
+ case "32150-04.htm":
+ case "32160-04.htm":
+ case "32157-04.htm":
+ case "32146-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
- case "32977-03.html":
+ case "32169-03.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "32977-02.html":
{
if (qs.isStarted())
{
- showOnScreenMsg(player, NpcStringId.ARMOR_HAS_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
- giveAdena(player, 620, true);
- giveItems(player, LEATHER_SHIRT, 1);
- giveItems(player, LEATHER_PANTS, 1);
- addExpAndSp(player, 23000, 5);
+ giveItems(player, RING_OF_KNOWLEDGE, 2);
+ giveItems(player, HEALING_POTION, 100);
+ addExpAndSp(player, 20100, 11);
qs.exitQuest(false, true);
htmltext = event;
}
@@ -100,17 +129,80 @@ public final class Q10330_ToTheRuinsOfYeSagira extends Quest
{
case State.CREATED:
{
- htmltext = npc.getId() == ATRAN ? "33448-01.htm" : "32977-04.html";
+ switch (npc.getId())
+ {
+ case FRANCO:
+ {
+ htmltext = (player.getRace() == Race.HUMAN) ? "32153-01.htm" : "32153-00.html";
+ break;
+ }
+ case RIVIAN:
+ {
+ htmltext = (player.getRace() == Race.ELF) ? "32147-01.htm" : "32147-00.html";
+ break;
+ }
+ case TOOK:
+ {
+ htmltext = (player.getRace() == Race.ORC) ? "32150-01.htm" : "32150-00.html";
+ break;
+ }
+ case DEVON:
+ {
+ htmltext = (player.getRace() == Race.DARK_ELF) ? "32160-01.htm" : "32160-00.html";
+ break;
+ }
+ case MOKA:
+ {
+ htmltext = (player.getRace() == Race.DWARF) ? "32157-01.htm" : "32157-00.html";
+ break;
+ }
+ case VALFAR:
+ {
+ htmltext = (player.getRace() == Race.KAMAEL) ? "32146-01.htm" : "32146-00.html";
+ break;
+ }
+ }
break;
}
case State.STARTED:
{
- htmltext = npc.getId() == ATRAN ? "33448-04.html" : "32977-01.html";
+ switch (npc.getId())
+ {
+ case FRANCO:
+ case RIVIAN:
+ case TOOK:
+ case DEVON:
+ case MOKA:
+ case VALFAR:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "return.html";
+ }
+ break;
+ }
+ case MILA:
+ {
+ if (qs.isCond(1) || qs.isCond(2))
+ {
+ htmltext = "32169-01.html";
+ }
+ break;
+ }
+ case LAKCIS:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "32977-01.html";
+ }
+ break;
+ }
+ }
break;
}
case State.COMPLETED:
{
- htmltext = npc.getId() == ATRAN ? "33448-06.html" : "32977-05.html";
+ htmltext = getAlreadyCompletedMsg(player);
break;
}
}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/noLevel.html
new file mode 100644
index 0000000000..f71337f38f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/noLevel.html
@@ -0,0 +1,4 @@
+Shannon:
+This mission can't be give to just anyone!
+(Only characters below 7 - 20, who've completed the "Seeker Supplies" quest, may start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/noRace.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/noRace.html
new file mode 100644
index 0000000000..5c29decbcd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/noRace.html
@@ -0,0 +1,4 @@
+Shannon:
+I don't trust you.
+(Ertheia classes cannot perform this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/return.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/return.html
new file mode 100644
index 0000000000..7a827c2cee
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10330_ToTheRuinsOfYeSagira/return.html
@@ -0,0 +1,4 @@
+Race Manager:
+Please head immediately to the Ruins of Ye Sagira, and help the seekers with their operation. At the entrance to the Ruins of Ye Sagira should be the former scholar and current Seeker Lakcis. I believe your help will be required: I ask you to please go and provide your help.
+There is no time to lose. So please teleport through Gatekeeper Milia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-01.htm
deleted file mode 100644
index 5095b8eaf4..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-01.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Grand Master Valfar:
-It seems your soul has a desire to progress and advance beyond the limitations of your physical self. Can you balance this conflict, friend?
-Ambition is a positive trait, but I've seen more over-ambitious corpses than I care to remember. What do you think? Will you confine your soul, or let it lead you?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-02.htm
deleted file mode 100644
index 1e7fdaae53..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-02.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Grand Master Valfar:
-I will help you as far as I can, but you have to prove your power first. As you may heard, our investigations at the Ruins of Ye Sagira have slowed considerably since the emergence of the vicious creatures all about the place.
-I want you to join the Ruins of Ye Sagira investigators, and help them with their research. If you are successful, I'll complete your Class Transfer for you Do we have a deal?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-03.htm
deleted file mode 100644
index 96077e977f..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-03.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Valfar:
-Lakcis is at the entrance of the Ruins of Ye Sagira. Help him with his relic research. Dusty work, but interesting.
-Gatekeeper Milia can help you get there.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-04.htm
deleted file mode 100644
index 3a04b5e0a0..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-04.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Grand Master Valfar:
-We are two different races, friend. Your race master can help you, not I.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-06.htm
deleted file mode 100644
index d9e69e19e8..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32146-06.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Grand Master Valfar:
-See the master for your race. I am Kamael. You are not.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-01.htm
deleted file mode 100644
index 37a2f588b9..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-01.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Grand Master Rivian:
-You are not ready yet. This much is certain. However, I feel a power within you, which I think I may be able to awaken.
-The question is... do you want it awaken?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-02.htm
deleted file mode 100644
index c9595593dc..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-02.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-Grand Master Rivian:
-This place, the Talking Island, changed rapidly after the Island in the Sky came crashing down. Monsters from it started roaming the lands, leaving us all in grave danger, especially outside our little village here. The Ruins of Ye Sagira seems to be the most dangerous spot at the moment, and we've only been able to send a small contingent of scouts out there.
-I would like you to join them, friend, and help them as best you can. Complete your task, and I'll be more than happy to transfer your class for you.
-What do you say?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-03.htm
deleted file mode 100644
index 31916274e3..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-03.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Magister Rivian:
-Great! Now go to the Ruins of Ye Sagira entrance and help Lakcis investigate the ruins.
-You can get there through Gatekeeper Milia.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-04.htm
deleted file mode 100644
index 5ec20a0cdc..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-04.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Grand Master Rivian:
-Haha. No friend - I only teach Elves. You've come to wrong skill master, I'm afraid.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-06.htm
deleted file mode 100644
index 3fb64d08e5..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32147-06.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Rivian:
-Well, congratulations on completing your mission, but I'm the Elf instructor, and you don't look much like an Elf.
-Report to your race master.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-01.htm
deleted file mode 100644
index 5fedf853f8..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-01.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-High Prefect Took:
-You contain great potential, young one. The spark of Pa'agrio's flame burns bright within you. You didn't know? Ah... come closer... let me help you awaken it.
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-02.htm
deleted file mode 100644
index 52422fd524..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-02.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-High Prefect Took:
-A task? You want a task? Hmm. Well, all right. You know the island underwent huge changes after the giants' island of sky crashed down? The landscape changed, new types of plants sprouted, new varieties of monsters appeared.
-That's the task. The monsters. They're a hazard. We haven't yet finished researching the Ruins of Ye Sagira, and with the distraction of constant monster attacks, we're not likely to any time soon. Go join the research team. Protect them.
-Get rid of those blasted monsters and in turn, I'll help you with your class transfer. What do you think? Interested?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-03.htm
deleted file mode 100644
index 67dd27f4b9..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-03.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-High Prefect Took:
-Lakcis is at the entrance of the Ruins of Ye Sagira. Help him with his relic research. Dusty work, but interesting.
-Oh, you can get there by talking to Gatekeeper Milia.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-04.htm
deleted file mode 100644
index d038a41399..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-04.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-High Prefect Took:
-Unless you're one of mine, of the race of flame, I can not help you.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-06.htm
deleted file mode 100644
index 60f1924e55..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32150-06.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-High Prefect Took:
-Stop! I don't think you want to report to me. I'm only in charge of Orcs. Umm, you're not an Orc.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-01.htm
deleted file mode 100644
index 39904940c2..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-01.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-High Priest Franco:
-Considering your skills, I don't believe you're ready to take on missions outside the town yet. However, I would like to awaken your potential so as to accelerate your path to the wider world.
-If you're interested, I have a task for you.
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-02.htm
deleted file mode 100644
index a9f31ca376..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-02.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-High Priest Franco:
-As you know, the Talking Island changed a great deal after the sky island fell, and the monsters on it awoke. Now it is more dangerous outside of the town than ever before, especially so in and around the giants' relics. We sent a team there to research the site, but I've started to fear for their lives.
-This is a big ask, but I would like you to go there and find the team. If you complete the mission, I'll transfer your class. What do you say?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-03.htm
deleted file mode 100644
index e1bb83ee0c..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-03.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-High Prefect Franco:
-Lakcis is at the entrance of the Ruins of Ye Sagira. Help him with his relic research. Dusty work, but interesting.
-Oh, you can get there by talking to Gatekeeper Milia.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-04.htm
deleted file mode 100644
index aeb1530d6c..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-04.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-High Priest Franco:
-I train Humans. I think you are confused.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-06.htm
deleted file mode 100644
index 1e4f54cb42..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32153-06.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-High Priest Franco:
-You completed your mission? Ahh.. Then report to your race's master. I'm in charge of the Humans!
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-01.htm
deleted file mode 100644
index 7040c49f69..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-01.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Head Blacksmith Moka:
-You, my friend, have some extraordinary abilities, which should be allowed to flourish. I've been giving it some though, and I think we need to get you off this island and out into the wider world, so you can spread your wings and let that potential blossom. I propose a test. If you pass, you'll have more opportunities to travel and grow.
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-02.htm
deleted file mode 100644
index 6eaec2dcbb..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-02.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Head Blacksmith Moka:
-The test is simple. As you know, this island underwent a rather sudden change after the giants' island crashed. We've been sending seekers out to research the ruins and study the relics they are able to salvage from the rubble, but... they are full of evil creatures. Seekers have been getting injured at an alarming rate.
-I'd like you to go hang out with the seekers. Give them what help you can, and keep them safe. What do you think? If you agree, I'll consider this your class transfer task.
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-03.htm
deleted file mode 100644
index 1ef4308f1d..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-03.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Head Blacksmith Moka:
-Lakcis is at the entrance of the Ruins of Ye Sagira. Help him with his relic research. Dusty work, but interesting.
-Oh, you can get there through Gatekeeper Milia.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-04.htm
deleted file mode 100644
index 1c48946ae6..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-04.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Head Blacksmith Moka:
-You are a wandering soul... which I approve of. But, I am a Dwarf. I have no reason to help you. You'll need to find a master of your own kind.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-06.htm
deleted file mode 100644
index b41c205bff..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32157-06.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Head Blacksmith Moka:
-Huh? You completed a task? That's great, but why are you telling me about it?
-I'm a Dwarf, not of your race. I've run across folk who can't tell an Elf from a Kamael, but I rarely run into problems with people thinking Dwarfs are anything but Dwarfs. We do have fairly distinct characteristics. You may want to consider getting an eye exam. Or, perhaps you got hit in the think box one too many times in the last battle? Hmm? A little R and R might be called for.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-01.htm
deleted file mode 100644
index 3197bd18df..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-01.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-Grand Magister Devon:
-I see a suspicious light dancing through your future, but I cannot tell if it's a good or evil source...
-Hmm... No... Ah! It is a beneficial light! Excellent!
-I've decided to let you go out to the world a little quicker. What are your thought on this? You have a destiny to unravel, friend. No sense in wallowing away here, eh?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-02.htm
deleted file mode 100644
index eb17249188..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-02.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-Grand Magister Devon:
-This island changed rapidly after the Island in the Sky fell. Plants, vegetation, and monsters from the time of Giants have been found everywhere. Of course, plants and vegetation can do little harm, but the monsters are something else... especially in the Ruins of Ye Sagira.
-I know this is a dangerous task, but I was hoping you could look into the incident in the Ruins of Ye Sagira, and become a member of the Rangers.
-What do you think? Why don't you test yourself here? If you complete the mission, I will let you undergo a Class Transfer so that you can awaken the potential ability inside you.
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-03.htm
deleted file mode 100644
index 671c437330..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-03.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Magister Devon:
-If you go to the entrance of the Ruins of Ye Sagira, you will meet Lakcis. Investigate the Giant's Ruins with him.
-Go to Gatekeeper Milia for help getting there.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-04.htm
deleted file mode 100644
index 2952809232..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-04.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Grand Magister Devon:
-I am the Magister who educates Dark Elves. I think you came to the wrong place.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-06.htm
deleted file mode 100644
index f25b7f888b..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32160-06.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Magister Devon:
-Did you complete all the missions? Well done! Sadly, there's nothing I can do except applaud you - you're not a Dark Elf!
-Please go to your race master.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-01.htm
deleted file mode 100644
index d6cc9b8f87..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-01.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-Pantheon:
-Thank you for defeating those that were trying to hatch the Evil Fragment. You have saved the town from a terrible danger. Sadly, our work is never done, and we have another threat to deal with now.
-We've been tracking the warped monster, and it seems to have left the island... we think it's headed to the continent now. We must report this to Amadeo.
-Hey! You're holding...
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-02.htm
deleted file mode 100644
index 6b8fa0b5f6..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-02.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Pantheon:
-This... this is the necklace I gave to Saril many months ago. Oh... Saril...
-Thank you for giving me this. It may not seem like much, but now that my daughter is dead, anything that belonged to her means a great deal to me.
-You should find High Priest Franco in the Administration Office. I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-03.htm
deleted file mode 100644
index 150791ca3d..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-03.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Pantheon:
-This... this is the necklace I gave to Saril many months ago. Oh... Saril...
-Thank you for giving me this. It may not seem like much, but now that my son is dead, anything that belonged to him means a great deal to me. Sigh...
-You should find Grand Master Rivian in the Administration Office. I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-04.htm
deleted file mode 100644
index 4c411c77a9..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-04.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Pantheon:
-This... this is the necklace I gave to Saril many months ago. Oh... Saril...
-Thank you for giving me this. It may not seem like much, but now that my son is dead, anything that belonged to him means a great deal to me. Sigh...
-You should find Grand Magister Devon in the Administration Office. I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-05.htm
deleted file mode 100644
index 1743507037..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-05.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Pantheon:
-This... this is the necklace I gave to Saril many months ago. Oh... Saril...
-Thank you for giving me this. It may not seem like much, but now that my son is dead, anything that belonged to him means a great deal to me. Sigh...
-You should find High Prefect Took in the Administration Office. I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-06.htm
deleted file mode 100644
index 6ec1f4db86..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-06.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Pantheon:
-This... this is the necklace I gave to Saril many months ago. Oh... Saril...
-Thank you for giving me this. It may not seem like much, but now that my son is dead, anything that belonged to him means a great deal to me. Sigh...
-You should find Head Blacksmith Moka in the Administration Office . I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-07.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-07.htm
deleted file mode 100644
index fb265afe7b..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-07.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Pantheon:
-This... this is the necklace I gave to Saril many months ago. Oh... Saril...
-Thank you for giving me this. It may not seem like much, but now that my son is dead, anything that belonged to him means a great deal to me. Sigh...
-You should find Grand Master Valfar in the Administration Office . I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-08.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-08.htm
deleted file mode 100644
index 0e8d7ad064..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-08.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Pantheon:
-You should find High Priest Franco in the Administration Office. I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-09.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-09.htm
deleted file mode 100644
index 08459ff8e8..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-09.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Pantheon:
-You should find Grand Master Rivian in the Administration Office. I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-10.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-10.htm
deleted file mode 100644
index f9b2637759..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-10.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Pantheon:
-You should find Grand Magister Devon in the Administration Office. I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-11.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-11.htm
deleted file mode 100644
index dbc11f0dd8..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-11.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Pantheon:
-You should find High Prefect Took in the Administration Office. I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-12.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-12.htm
deleted file mode 100644
index 6ec1f4db86..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-12.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Pantheon:
-This... this is the necklace I gave to Saril many months ago. Oh... Saril...
-Thank you for giving me this. It may not seem like much, but now that my son is dead, anything that belonged to him means a great deal to me. Sigh...
-You should find Head Blacksmith Moka in the Administration Office . I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-13.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-13.htm
deleted file mode 100644
index 45689bb740..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32972-13.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-Pantheon:
-You should find Grand Master Valfar in the Administration Office . I think your work on this island is done. I think it's time you were prepared for the world.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-01.htm
deleted file mode 100644
index c65b2252b0..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-01.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Lakcis:
-Ahh... The reckless adventurer we all heard about was you? Are you still planning on entering the labyrinth and fighting the huge monster everyone else is terrified of?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-02.htm
deleted file mode 100644
index 784be8dcf4..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-02.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-Lakcis:
-Oh!
-The Labyrinth of Belis, a terrifying lair that's home to the largest of the monsters, is in Exploration Zone 5. You'll find it at the end of the ruins, along with the ranger Sebion. Ask him, and he'll let you enter the labyrinth.
-I'll send you to Exploration Zone 5, if you're ready?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-03.htm
deleted file mode 100644
index d78d8b528d..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32977-03.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Lakcis:
-Agh! We've not got enough man-power, and the ones that want to help aren't ready yet!
-You! Maybe you can help! Have you seen your Race Master in the Administration Office yet?
-(Only characters over level 18 who are taking part in the "Beginning of Destiny" class transfer quest can start this quest)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-01.htm
index 5269fb679e..a788df9819 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-01.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-01.htm
@@ -1,5 +1,5 @@
Sebion:
-Whoa, whoa, whoa, hold up there! This place is dangerous--someone died in here recently. We can't let just anyone go waltzing in and out. Ahh... You're the ranger dispatched from the town. You can go on your way, but you'll want to know a couple of things first.
-I haven't been able to investigate, because I'm recovering from an injury, but there've been rumors of strangers going in and out of the underground area, and also of suspicious intruders in the Museum. Are these things linked?
-
+This is a dangerous place, and access is restricted. Oh, it's you. Since the deaths, not many have been trying to come to Exploration Area 5. It has me worried.
+I haven't been able to investigate, because I'm recovering from an injury, but there've been rumors of strangers going in and out of the area under the labyrinth, and also of suspicious intruders in the Museum. Are these things linked?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-02.htm
index 12c881148c..5ac89f6f78 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-02.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-02.htm
@@ -1,5 +1,6 @@
Sebion:
-They showed up a few weeks ago, a group of humans acting secretive and weird. I followed them into the Labyrinth and spied on them a bit, long enough to see that they had a large Evil Fragment.
+They showed up quite a while ago. I followed them into the Labyrinth and spied on them a bit.
+They were a group of humans who appeared to be members of some secretive organization. They had in their possession a large Evil Fragment...
There was one, who seemed to be the leader, doing some kind of magical ritual on the fragment. Probably trying to hatch it. Can you even imagine what will happen if they manage that? The whole place might collapse again. This is why I sent to town for help, and it seems like you're the one they dispatched. So, what do you say? Will you help me?
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-03.htm
index 27e8085473..ebea0104df 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-03.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-03.htm
@@ -1,4 +1,5 @@
Sebion:
-Well, I did some research into the group I spied on in the Labyrinth, and managed to find out that the one performing the ritual was Nemertess, the same one who killed my good friend Saril.
-If you want to help, I can send you inside the Labyrinth of Belis, and you can stop whatever evil plan they're cooking up--and avenge my friend in the process.
+Well, I did some research into the group I spied on in the Labyrinth, and managed to find out that the one performing the ritual was Nemertess, the same one who killed my good friend Saril.
+If you want to help, I can send you inside the Labyrinth of Belis, and you can stop whatever evil plan they're cooking up--and avenge my friend in the process.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-04.htm
deleted file mode 100644
index d505d8b33b..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-04.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Sebion:
-Remember: you're to defeat Nemertess, the scientist trying to awaken the monster in the labyrinth.
-When you're ready, I can send you to the Labyrinth.
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-04.html
new file mode 100644
index 0000000000..f27ffa97c3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-04.html
@@ -0,0 +1,5 @@
+Sebion:
+You're saying that Nemertess managed to finish part of his plan before you could get rid of him? That is not good, not good at all. We need to inform the village.
+Go to the Administrative Office in the village, and report this to High Priest Franco.
+ To go to the village, use your Scroll of Escape.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-05.htm
deleted file mode 100644
index 325373b212..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-05.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-You're saying that Nemertess managed to finish part of his plan before you could get rid of him? That is not good, not good at all. Pantheon needs to know, so we can inform the town. Go to the Museum in town, and report this to him. Ah, and this Necklace that you found... it is Saril's. I think you should give that to Pantheon, as well.
-When you use the Scroll of Escape, it will take you immediately back to town.
-
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-05.html
new file mode 100644
index 0000000000..f465e8ff80
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-05.html
@@ -0,0 +1,4 @@
+Sebion:
+Quick, hurry.
+To go to the village, use your Scroll of Escape.
+
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-06.htm
deleted file mode 100644
index 096ace7110..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-06.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-Pantheon took Saril's death pretty hard. Go find him inside the museum, and give him Saril's Necklace.
-Use the Scroll of Escape to get there.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-06.html
new file mode 100644
index 0000000000..d9317c68fd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-06.html
@@ -0,0 +1,5 @@
+Sebion:
+You're saying that Nemertess managed to finish part of his plan before you could get rid of him? That is not good, not good at all. We need to inform the village.
+Go to the Administrative Office in the village, and report this to Grand Master Rivian.
+ To go to the village, use your Scroll of Escape.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-07.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-07.htm
deleted file mode 100644
index b5f8da25d5..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-07.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-We're short handed... But you need approval from the town elders before I can let you take on any of my jobs. Go talk to your Race Master in the Town Admin District.
-(Only level 18+ characters who are performing the Beginning of Destiny class transfer quest may take this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-07.html
new file mode 100644
index 0000000000..32e17bb757
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-07.html
@@ -0,0 +1,5 @@
+Sebion:
+You're saying that Nemertess managed to finish part of his plan before you could get rid of him? That is not good, not good at all. We need to inform the village.
+Go to the Administrative Office in the village, and report this to Grand Magister Devon.
+ To go to the village, use your Scroll of Escape.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-08.html
new file mode 100644
index 0000000000..390a987870
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-08.html
@@ -0,0 +1,5 @@
+Sebion:
+You're saying that Nemertess managed to finish part of his plan before you could get rid of him? That is not good, not good at all. We need to inform the village.
+Go to the Administrative Office in the village, and report this to High Prefect Took.
+ To go to the village, use your Scroll of Escape.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-09.html
new file mode 100644
index 0000000000..21eea68aff
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-09.html
@@ -0,0 +1,5 @@
+Sebion:
+You're saying that Nemertess managed to finish part of his plan before you could get rid of him? That is not good, not good at all. We need to inform the village.
+Go to the Administrative Office in the village, and report this to Head Blacksmith Moka.
+ To go to the village, use your Scroll of Escape.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-10.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-10.html
new file mode 100644
index 0000000000..438ab5d355
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/32978-10.html
@@ -0,0 +1,5 @@
+Sebion:
+You're saying that Nemertess managed to finish part of his plan before you could get rid of him? That is not good, not good at all. We need to inform the village.
+Go to the Administrative Office in the village, and report this to Grand Master Valfar.
+ To go to the village, use your Scroll of Escape.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/Q10331_StartOfFate.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/Q10331_StartOfFate.java
index a4700856d0..4cdff095dd 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/Q10331_StartOfFate.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10331_StartOfFate/Q10331_StartOfFate.java
@@ -19,8 +19,8 @@ package quests.Q10331_StartOfFate;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.data.xml.impl.MultisellData;
import com.l2jmobius.gameserver.enums.CategoryType;
+import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.enums.Race;
-import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.base.ClassId;
@@ -34,15 +34,14 @@ import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerPress
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
-import com.l2jmobius.gameserver.network.NpcStringId;
-import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
import com.l2jmobius.gameserver.util.Util;
/**
* Start of Fate (10331)
- * @author Gladicek
+ * @URL https://l2wiki.com/Start_of_Fate
+ * @author Gladicek, Gigi
*/
public final class Q10331_StartOfFate extends Quest
{
@@ -53,24 +52,23 @@ public final class Q10331_StartOfFate extends Quest
private static final int TOOK = 32150;
private static final int MOKA = 32157;
private static final int VALFAR = 32146;
- private static final int LAKCIS = 32977;
private static final int SEBION = 32978;
- private static final int PANTHEON = 32972;
// Items
private static final int SARIL_NECKLACE = 17580;
+ private static final int SOE = 736;
+ private static final int SOULSHOT = 1463;
+ private static final int BLESSED_SPIRITSHOT = 3948;
+ // private static final int PAULINAS_SET_D_GRADE = 46849; //TODO implament
private static final int PROOF_OF_COURAGE = 17821;
- // Location
- private static final Location NEAR_SEBION = new Location(-111774, 231933, -3160);
// Misc
private static final int MIN_LEVEL = 18;
public Q10331_StartOfFate()
{
super(10331);
- addStartNpc(FRANCO, RIVIAN, DEVON, TOOK, MOKA, VALFAR);
- addTalkId(FRANCO, RIVIAN, DEVON, TOOK, MOKA, VALFAR, SEBION, LAKCIS, PANTHEON);
+ addStartNpc(SEBION);
+ addTalkId(FRANCO, RIVIAN, DEVON, TOOK, MOKA, VALFAR, SEBION);
addCondInCategory(CategoryType.FIRST_CLASS_GROUP, "");
- registerQuestItems(SARIL_NECKLACE);
}
@Override
@@ -85,12 +83,6 @@ public final class Q10331_StartOfFate extends Quest
String htmltext = null;
switch (event)
{
- case "32153-02.htm":
- case "32147-02.htm":
- case "32160-02.htm":
- case "32150-02.htm":
- case "32157-02.htm":
- case "32146-02.htm":
case "32978-02.htm":
{
htmltext = event;
@@ -134,99 +126,66 @@ public final class Q10331_StartOfFate extends Quest
case "32150-10.html": // Orc Monk
case "32150-11.html": // Orc Shaman
{
- if ((qs.getCond() >= 6) && (qs.getCond() <= 11))
+ if ((qs.getCond() >= 3) && (qs.getCond() <= 8))
{
htmltext = event;
}
break;
}
- case "32153-03.htm":
- case "32147-03.htm":
- case "32160-03.htm":
- case "32150-03.htm":
- case "32157-03.htm":
- case "32146-03.htm":
- {
- qs.startQuest();
- qs.setCond(2); // arrow hack
- qs.setCond(1);
- showOnScreenMsg(player, NpcStringId.GO_TO_THE_ENTRANCE_OF_THE_RUINS_OF_YE_SAGIRA_THROUGH_GATEKEEPER_MILIA_IN_TALKING_ISLAND_VILLAGE, ExShowScreenMessage.TOP_CENTER, 4500);
- htmltext = event;
- break;
- }
- case "32977-02.htm":
- {
- if (qs.isCond(1))
- {
- qs.setCond(2, true);
- htmltext = event;
- }
- break;
- }
case "32978-03.htm":
{
- if (qs.isCond(2))
- {
- qs.setCond(3, true);
- htmltext = event;
- }
+ qs.startQuest();
+ htmltext = event;
break;
}
- case "teleport_sebion":
+ case "HTML":
{
if (qs.isCond(2))
{
- player.teleToLocation(NEAR_SEBION);
- }
- break;
- }
- case "check_race_pantheon":
- {
- if (qs.isCond(5))
- {
- takeItems(player, SARIL_NECKLACE, 1);
-
+ qs.setCond(0);
+ giveItems(player, SARIL_NECKLACE, 1);
switch (player.getRace())
{
case HUMAN:
{
- qs.setCond(6, true);
- htmltext = "32972-02.htm";
+ qs.setCond(3, true);
+ htmltext = "32978-04.html";
break;
}
case ELF:
{
- qs.setCond(7, true);
- htmltext = "32972-03.htm";
+ qs.setCond(4, true);
+ htmltext = "32978-06.html";
break;
}
case DARK_ELF:
{
- qs.setCond(8, true);
- htmltext = "32972-04.htm";
+ qs.setCond(5, true);
+ htmltext = "32978-07.html";
break;
}
case ORC:
{
- qs.setCond(9, true);
- htmltext = "32972-05.htm";
+ qs.setCond(6, true);
+ htmltext = "32978-08.html";
break;
}
case DWARF:
{
- qs.setCond(10, true);
- htmltext = "32972-06.htm";
+ qs.setCond(7, true);
+ htmltext = "32978-09.html";
break;
}
case KAMAEL:
{
- qs.setCond(11, true);
- htmltext = "32972-07.htm";
+ qs.setCond(8, true);
+ htmltext = "32978-10.html";
break;
}
}
break;
}
+ break;
}
default:
{
@@ -235,7 +194,7 @@ public final class Q10331_StartOfFate extends Quest
final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", "")));
final ClassId currentClassId = player.getClassId();
- if (!newClassId.childOf(currentClassId) || ((qs.getCond() < 6) && (qs.getCond() > 11)))
+ if (!newClassId.childOf(currentClassId) || ((qs.getCond() < 3) && (qs.getCond() > 8)))
{
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to cheat the 1st class transfer!", Config.DEFAULT_PUNISH);
return null;
@@ -308,9 +267,13 @@ public final class Q10331_StartOfFate extends Quest
player.store(false);
player.broadcastUserInfo();
player.sendSkillList();
- giveAdena(player, 80000, true);
+ giveAdena(player, 1476, true);
+ giveItems(player, SOE, 10);
+ giveItems(player, SOULSHOT, 1500);
+ giveItems(player, BLESSED_SPIRITSHOT, 1500);
+ // giveItems(player, PAULINAS_SET_D_GRADE, 1);
giveItems(player, PROOF_OF_COURAGE, 40);
- addExpAndSp(player, 200000, 48);
+ addExpAndSp(player, 296000, 15);
MultisellData.getInstance().separateAndSend(717, player, npc, false);
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_009_enchant_01.htm", TutorialShowHtml.LARGE_WINDOW));
qs.exitQuest(false, true);
@@ -330,108 +293,9 @@ public final class Q10331_StartOfFate extends Quest
{
case State.CREATED:
{
- switch (npc.getId())
+ if ((npc.getId() == SEBION) && (player.getLevel() >= MIN_LEVEL))
{
- case FRANCO:
- {
- if (player.getRace() == Race.HUMAN)
- {
- if (player.getLevel() >= MIN_LEVEL)
- {
- htmltext = "32153-01.htm";
- break;
- }
- htmltext = "32153-14.htm";
- break;
- }
- htmltext = "32153-04.htm";
- break;
- }
- case RIVIAN:
- {
- if (player.getRace() == Race.ELF)
- {
- if (player.getLevel() >= MIN_LEVEL)
- {
- htmltext = "32147-01.htm";
- break;
- }
- htmltext = "32147-13.htm";
- break;
- }
- htmltext = "32147-04.htm";
- break;
- }
- case DEVON:
- {
- if (player.getRace() == Race.DARK_ELF)
- {
- if (player.getLevel() >= MIN_LEVEL)
- {
- htmltext = "32160-01.htm";
- break;
- }
- htmltext = "32160-13.htm";
- break;
- }
- htmltext = "32160-04.htm";
- break;
- }
- case TOOK:
- {
- if (player.getRace() == Race.ORC)
- {
- if (player.getLevel() >= MIN_LEVEL)
- {
- htmltext = "32150-01.htm";
- break;
- }
- htmltext = "32150-12.htm";
- break;
- }
- htmltext = "32150-04.htm";
- break;
- }
- case MOKA:
- {
- if (player.getRace() == Race.DWARF)
- {
- if (player.getLevel() >= MIN_LEVEL)
- {
- htmltext = "32157-01.htm";
- break;
- }
- htmltext = "32157-10.htm";
- break;
- }
- htmltext = "32157-04.htm";
- break;
- }
- case VALFAR:
- {
- if (player.getRace() == Race.KAMAEL)
- {
- if (player.getLevel() >= MIN_LEVEL)
- {
- htmltext = "32146-01.htm";
- break;
- }
- htmltext = "32146-11.htm";
- break;
- }
- htmltext = "32146-04.htm";
- break;
- }
- case LAKCIS:
- {
- htmltext = "32977-03.htm";
- break;
- }
- case SEBION:
- {
- htmltext = "32978-07.htm";
- break;
- }
+ htmltext = "32978-01.htm";
}
break;
}
@@ -441,12 +305,7 @@ public final class Q10331_StartOfFate extends Quest
{
case FRANCO:
{
- if (qs.isCond(1))
- {
- htmltext = "32153-03.htm";
- break;
- }
- else if ((qs.getCond() >= 6) && (qs.getCond() <= 11))
+ if ((qs.getCond() >= 3) && (qs.getCond() <= 8))
{
if (player.getRace() == Race.HUMAN)
{
@@ -465,19 +324,12 @@ public final class Q10331_StartOfFate extends Quest
}
break;
}
- htmltext = "32153-06.htm";
- break;
}
break;
}
case RIVIAN:
{
- if (qs.isCond(1))
- {
- htmltext = "32147-03.htm";
- break;
- }
- else if ((qs.getCond() >= 6) && (qs.getCond() <= 11))
+ if ((qs.getCond() >= 3) && (qs.getCond() <= 8))
{
if (player.getRace() == Race.ELF)
{
@@ -496,19 +348,12 @@ public final class Q10331_StartOfFate extends Quest
}
break;
}
- htmltext = "32147-06.htm";
- break;
}
break;
}
case DEVON:
{
- if (qs.isCond(1))
- {
- htmltext = "32160-03.htm";
- break;
- }
- else if ((qs.getCond() >= 6) && (qs.getCond() <= 11))
+ if ((qs.getCond() >= 3) && (qs.getCond() <= 8))
{
if (player.getRace() == Race.DARK_ELF)
{
@@ -527,19 +372,12 @@ public final class Q10331_StartOfFate extends Quest
}
break;
}
- htmltext = "32160-06.htm";
- break;
}
break;
}
case TOOK:
{
- if (qs.isCond(1))
- {
- htmltext = "32150-03.htm";
- break;
- }
- else if ((qs.getCond() >= 6) && (qs.getCond() <= 11))
+ if ((qs.getCond() >= 3) && (qs.getCond() <= 8))
{
if (player.getRace() == Race.ORC)
{
@@ -558,38 +396,24 @@ public final class Q10331_StartOfFate extends Quest
}
break;
}
- htmltext = "32150-06.htm";
- break;
}
break;
}
case MOKA:
{
- if (qs.isCond(1))
- {
- htmltext = "32157-03.htm";
- break;
- }
- else if ((qs.getCond() >= 6) && (qs.getCond() <= 11))
+ if ((qs.getCond() >= 3) && (qs.getCond() <= 8))
{
if (player.getRace() == Race.DWARF)
{
htmltext = "32157-07.html";
break;
}
- htmltext = "32157-06.htm";
- break;
}
break;
}
case VALFAR:
{
- if (qs.isCond(1))
- {
- htmltext = "32146-03.htm";
- break;
- }
- else if ((qs.getCond() >= 6) && (qs.getCond() <= 11))
+ if ((qs.getCond() >= 3) && (qs.getCond() <= 8))
{
if (player.getRace() == Race.KAMAEL)
{
@@ -608,22 +432,6 @@ public final class Q10331_StartOfFate extends Quest
}
break;
}
- htmltext = "32146-06.htm";
- break;
- }
- break;
- }
- case LAKCIS:
- {
- if (qs.isCond(1))
- {
- htmltext = "32977-01.htm";
- break;
- }
- else if (qs.isCond(2))
- {
- htmltext = "32977-02.htm";
- break;
}
break;
}
@@ -633,71 +441,14 @@ public final class Q10331_StartOfFate extends Quest
{
case 2:
{
- htmltext = "32978-01.htm";
+ startQuestTimer("HTML", 300, npc, player);
break;
}
case 3:
{
- htmltext = "32978-04.htm";
+ htmltext = "32978-05.html";
break;
}
- case 4:
- {
- htmltext = "32978-05.htm";
- qs.setCond(5, true);
- break;
- }
- case 5:
- {
- htmltext = "32978-06.htm";
- break;
- }
- }
- break;
- }
- case PANTHEON:
- {
- if (qs.isCond(5))
- {
- htmltext = "32972-01.htm";
- break;
- }
- else if ((qs.getCond() >= 6) && (qs.getCond() <= 11))
- {
- switch (player.getRace())
- {
- case HUMAN:
- {
- htmltext = "32972-08.htm";
- break;
- }
- case ELF:
- {
- htmltext = "32972-09.htm";
- break;
- }
- case DARK_ELF:
- {
- htmltext = "32972-10.htm";
- break;
- }
- case ORC:
- {
- htmltext = "32972-11.htm";
- break;
- }
- case DWARF:
- {
- htmltext = "32972-12.htm";
- break;
- }
- case KAMAEL:
- {
- htmltext = "32972-13.htm";
- break;
- }
- }
- break;
}
break;
}
@@ -708,11 +459,6 @@ public final class Q10331_StartOfFate extends Quest
{
switch (npc.getId())
{
- case LAKCIS:
- {
- htmltext = "32980-05.htm";
- break;
- }
case SEBION:
case FRANCO:
case RIVIAN:
@@ -747,11 +493,6 @@ public final class Q10331_StartOfFate extends Quest
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{
- if (Config.DISABLE_TUTORIAL)
- {
- return;
- }
-
final L2PcInstance player = event.getActiveChar();
final QuestState qs = getQuestState(player, false);
final int oldLevel = event.getOldLevel();
@@ -760,6 +501,7 @@ public final class Q10331_StartOfFate extends Quest
if ((qs == null) && (oldLevel < newLevel) && (newLevel == MIN_LEVEL) && (player.getRace() != Race.ERTHEIA) && (player.isInCategory(CategoryType.FIRST_CLASS_GROUP)))
{
player.sendPacket(new TutorialShowQuestionMark(getId()));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
}
}
@@ -767,17 +509,13 @@ public final class Q10331_StartOfFate extends Quest
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLogin(OnPlayerLogin event)
{
- if (Config.DISABLE_TUTORIAL)
- {
- return;
- }
-
final L2PcInstance player = event.getActiveChar();
final QuestState qs = getQuestState(player, false);
if ((qs == null) && (player.getRace() != Race.ERTHEIA) && (player.getLevel() >= MIN_LEVEL) && (player.isInCategory(CategoryType.FIRST_CLASS_GROUP)))
{
player.sendPacket(new TutorialShowQuestionMark(getId()));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
}
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00.htm
new file mode 100644
index 0000000000..a417a74dc1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00.htm
@@ -0,0 +1,4 @@
+Rieyi:
+No, try tackling something a little easier.
+(Only characters whose level is greater than 48 can take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00a.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00a.html
new file mode 100644
index 0000000000..cd3a4e467b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00a.html
@@ -0,0 +1,4 @@
+Rieyi:
+Nice. You did very well. I hope you will consider helping our Krasis again in the future.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-01.htm
new file mode 100644
index 0000000000..4c66e11961
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-01.htm
@@ -0,0 +1,7 @@
+Rieyi:
+Well it looks like you can handle yourself in a fight. But then again, that isn't saying much.
+Now don't get all wound up about it... I'm not the one that called out the monster, I just stayed canceled in the shadows seeing how well you guys performed.
+The name is Rieyi, in case you didn't know, and I am a member of Krasis. Seeing how you performed against that creature I was curious to see if you would be interested in doing some work for us.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-02.htm
new file mode 100644
index 0000000000..11a6f55b52
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-02.htm
@@ -0,0 +1,6 @@
+Rieyi:
+Didn't we already have this discussion? Like a million times already? Or was that someone else... never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-03.htm
new file mode 100644
index 0000000000..865ab2f50b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-03.htm
@@ -0,0 +1,5 @@
+Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She's the one who's behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We're running low on resources so we can't send her in to handle the task if that was what you were thinking.
+Krasis has given the OK to allow contract adventures to assist us in our missions. Unfortunately there is no financial compensation, but you'll get experience performing these types of missions and you might earn something else better than currency.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-04.htm
new file mode 100644
index 0000000000..de361ce215
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-04.htm
@@ -0,0 +1,5 @@
+Rieyi:
+Like I said before, we have an operative named Kyuori who is stationed at the Tower of Isolence. You'll want to speak with her once you arrive.
+She'll fill you in on the task, but from what I've heard you shouldn't have too many problems.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-05.html
new file mode 100644
index 0000000000..3cd0be20f9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-05.html
@@ -0,0 +1,7 @@
+Rieyi:
+If you help Krasis, I will also help you all that I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-06.html
new file mode 100644
index 0000000000..a30c461794
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-06.html
@@ -0,0 +1,7 @@
+Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Tower of Insolence.
+What would you like to do?.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-07.html
new file mode 100644
index 0000000000..5d5d79a0e3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-07.html
@@ -0,0 +1,8 @@
+Rieyi:
+We? Ask about Krasise? Why would such a curiosity? Haha, well, something I can tell.
+Krasis - a group of Dark Elves, decisive people's problems. Our clients - notable political figures, aristocrats ...
+Therefore, you should not be the case before us. Since our tribe came to light, we prefer to remain
+in the shade.
+But now Shilen provokes great crisis in the world, and we can not hide anymore. Here we have revealed themselves to the world.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-08.html
new file mode 100644
index 0000000000..c26d602de1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-08.html
@@ -0,0 +1,8 @@
+Rieyi:
+We want to explore the connection between Elder and present the great disasters. For this purpose, we need to investigate
+ the Tower of Insolence font>, which is confined to the gods who challenged Baium. However, our organization
+operates in secret, so that we can not openly do research.
+For this reason, we are recruiting mercenaries who can do the work for us. Of course, Krumas
+guarantee fee, so on your part will not be any loss.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-09.html
new file mode 100644
index 0000000000..3d479830e4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-09.html
@@ -0,0 +1,6 @@
+Rieyi:
+In the Tower of Insolence meet you Quarry. This Dark Elf a member Krasisa like me.
+Go to him and listen to his request. You said that this is not a complicated matter?
+In that case, you and your comrades will easily cope with this problem.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-00.html
new file mode 100644
index 0000000000..8e5cee8924
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-00.html
@@ -0,0 +1,4 @@
+Kyuori:
+You're back! For real? You just wanted to talk to little old me, didn't you? Well, I'm always up for a bit of a chat.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-01.html
new file mode 100644
index 0000000000..be7baf9ccc
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-01.html
@@ -0,0 +1,4 @@
+Kyuori:
+Ooh! A person! You have no idea how boring it is to be locked up in here. Talk to me or something before I lose my mind.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-02.html
new file mode 100644
index 0000000000..83d22f3348
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-02.html
@@ -0,0 +1,5 @@
+Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-03.html
new file mode 100644
index 0000000000..eb8f44c085
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-03.html
@@ -0,0 +1,5 @@
+Kyuori:
+Oh, good good good! A brave one. Wow, you are braver than you look. Now, have I got a challenge for you. I need you to kill ten things. Not just any old things--but it's okay, I have a list.
+Are you ready? Because I'm only saying this one time. (Kyuori takes a deep breath.)
+Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. Remember, ten things from this list!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-04.html
new file mode 100644
index 0000000000..bc67658430
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-04.html
@@ -0,0 +1,3 @@
+Kyuori:
+Still here, eh? You must have gotten attached to me or something. No? Well, at least I didn't say you're scared of the Tower of Insolence. I mean, I only asked you to kill ten things.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-05.html
new file mode 100644
index 0000000000..7504a52388
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-05.html
@@ -0,0 +1,5 @@
+Kyuori:
+You're back with a victory! I doubt your abilities, but it's already in the past.
+I like your commitment and for this I want to thank you...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-06.html
new file mode 100644
index 0000000000..cbae064c72
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-06.html
@@ -0,0 +1,3 @@
+Kyuori:
+Oooh, you got your ten things! Very excellent. And in return for doing this you get--where's a drumroll when you need one?--a Token of Insolence! Ta-da! Get some more of these, take them to Ende, and you'll be able to exchange them for something good. Remember that.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/Q10353_CertificationOfValue.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/Q10353_CertificationOfValue.java
new file mode 100644
index 0000000000..92293d2c57
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10353_CertificationOfValue/Q10353_CertificationOfValue.java
@@ -0,0 +1,251 @@
+/*
+ * 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.Q10353_CertificationOfValue;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Certification of Value (10353)
+ * @URL https://l2wiki.com/Certification_of_Value
+ * @author Gigi
+ */
+public final class Q10353_CertificationOfValue extends Quest
+{
+ // Npc's
+ public static final int RIEYI = 33155;
+ public static final int KYUORI = 33358;
+ private static final int DUMMY_MONSTER = 33349;
+ private static final int[] MONSTERS =
+ {
+ 23044, // Exhausted Vengeful Spirit
+ 23045, // Wings of Viciousness
+ 23046, // Byron's Knight
+ 23047, // Terestian
+ 23048, // Drill Demon
+ 23049, // Knight's Vengeful Spirit
+ 23050, // Escort Knight's Vengeful Spirit
+ 23051, // Byron's Confidant
+ 23052, // Evil Shadow
+ 23053, // Brutal Warrior
+ 23054, // Demon Knight
+ 23055, // Demon Priest
+ 23056, // Vampire Queen
+ 23057, // Bonehead Slave
+ 23058, // Platinum Tribe Soldier
+ 23059, // Platinum Tribe Archer
+ 23060, // Platinum Tribe Warrior
+ 23061, // Platinum Tribe Shaman
+ 23062, // Platinum Tribe Prefect
+ 23063, // Heaven's Palace Knight
+ 23064, // Heaven's Palace Fighter
+ 23065, // Heaven's Palace Terminator
+ 23066, // Heaven's Palace Priest
+ 23067, // Heaven's Palace Judge
+ 23068, // Heaven's Palace Sniper
+ 23101, // Slaughter Bathin
+ 23102, // Bathin's Knight
+ 23103, // Bathin's Wizard
+ 23104, // Elmoreden's Lady
+ 23105, // Elmoreden's Archer
+ 23106, // Elmoreden's Maid
+ 23107, // Elmoreden's Warrior
+ 23108, // Binder
+ 23109, // Bound Warrior
+ 23110, // Bound Archer
+ 23111, // Heaven's Palace Seraphim
+ 23112 // Heaven's Palace Seraphim Escort
+ };
+ // Item
+ private static final int TOKEN_OF_INSOLENCE_TOWER = 17624;
+ // Misc
+ private static final int MIN_LEVEL = 48;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10353_CertificationOfValue()
+ {
+ super(10353);
+ addStartNpc(RIEYI);
+ addTalkId(RIEYI, KYUORI);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "33155-00.htm");
+ }
+
+ @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 "33155-02.htm":
+ case "33155-03.htm":
+ case "33155-04.htm":
+ case "33155-07.html":
+ case "33155-08.html":
+ case "33155-09.html":
+ case "33358-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33155-05.html":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33358-03.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "33358-06.html":
+ {
+ addExpAndSp(player, 3000000, 720);
+ giveItems(player, TOKEN_OF_INSOLENCE_TOWER, 1);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == RIEYI)
+ {
+ htmltext = "33155-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case RIEYI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33155-06.html";
+ }
+ break;
+ }
+ case KYUORI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33358-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33358-04.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "33358-05.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ switch (npc.getId())
+ {
+ case RIEYI:
+ {
+ htmltext = "33155-00a.html";
+ break;
+ }
+ case KYUORI:
+ {
+ htmltext = "33358-00.html";
+ break;
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && qs.isStarted() && qs.isCond(2))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ qs.set(KILL_COUNT_VAR, killCount);
+ if (killCount >= 10)
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ }
+ else
+ {
+ sendNpcLogList(killer);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance activeChar)
+ {
+ final QuestState qs = getQuestState(activeChar, false);
+ if ((qs != null) && qs.isStarted() && qs.isCond(2))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (killCount > 0)
+ {
+ final Set holder = new HashSet<>(1);
+ holder.add(new NpcLogListHolder(DUMMY_MONSTER, false, killCount));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(activeChar);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10360_CertificationOfFate/Q10360_CertificationOfFate.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10360_CertificationOfFate/Q10360_CertificationOfFate.java
index 54922a8fd6..21aeb4c592 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10360_CertificationOfFate/Q10360_CertificationOfFate.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10360_CertificationOfFate/Q10360_CertificationOfFate.java
@@ -40,6 +40,8 @@ import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
import com.l2jmobius.gameserver.util.Util;
+import quests.Q10331_StartOfFate.Q10331_StartOfFate;
+
/**
* Certification of Fate (10360)
* @author St3eT
@@ -80,6 +82,7 @@ public final class Q10360_CertificationOfFate extends Quest
registerQuestItems(SHINE_STONE);
addCondNotRace(Race.ERTHEIA, "");
addCondMinLevel(MIN_LEVEL, "");
+ addCondCompletedQuest(Q10331_StartOfFate.class.getSimpleName(), "restriction.html");
}
@Override
@@ -398,6 +401,7 @@ public final class Q10360_CertificationOfFate extends Quest
if (st.isCond(2))
{
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ st.setCond(0);
st.setCond(3);
}
break;
@@ -496,11 +500,6 @@ public final class Q10360_CertificationOfFate extends Quest
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{
- if (Config.DISABLE_TUTORIAL)
- {
- return;
- }
-
final L2PcInstance player = event.getActiveChar();
final int oldLevel = event.getOldLevel();
final int newLevel = event.getNewLevel();
@@ -516,11 +515,6 @@ public final class Q10360_CertificationOfFate extends Quest
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLogin(OnPlayerLogin event)
{
- if (Config.DISABLE_TUTORIAL)
- {
- return;
- }
-
final L2PcInstance player = event.getActiveChar();
if ((player.getLevel() >= MIN_LEVEL) && (player.getRace() != Race.ERTHEIA) && (player.isInCategory(CategoryType.SECOND_CLASS_GROUP)))
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10360_CertificationOfFate/restriction.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10360_CertificationOfFate/restriction.html
new file mode 100644
index 0000000000..a27ce67a83
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10360_CertificationOfFate/restriction.html
@@ -0,0 +1,3 @@
+Info:
+(Lv. 38 or above who have completed the quest "Start of Fate .")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-01.htm
new file mode 100644
index 0000000000..c39bfcc39d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-01.htm
@@ -0,0 +1,5 @@
+Lakcis:
+They wouldn't let me go with them because of the ever-present threat of attack in Ruins of Ye Sagira. Oh well - I am a scholar, and am quite useless with both sword and spell, so perhaps their caution was warranted.
+That said, they worry that scholars will interfere with their work, but seekers cannot study, nor comprehend or analyze. And if we do not analyze the Ruins of Ye Sagira, how will we proceed?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-02.htm
new file mode 100644
index 0000000000..61ebff46d6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-02.htm
@@ -0,0 +1,5 @@
+Lakcis:
+Not to pat my own back, but I'm certain my mental capacity far exceeds those of the seekers. I need to get in there, but they won't let me... perhaps I can send a message instead?
+Perhaps you can pass it on? That way, they're not burdened with protecting my hide, and we can actually get something of scientific value from the ruins. What do you say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-03.htm
new file mode 100644
index 0000000000..650fa56124
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-03.htm
@@ -0,0 +1,6 @@
+Lakcis:
+I'm confident I know the Ruins of Ye Sagira better than any seeker. I've studied really hard, you see.
+I want you to speak to Chesha in Ruins of Ye Sagira Exploration Area 1, and tell her that "Lakcis is ready to go to ruins whenever".
+Now, to get inside, I believe you can use the Ye Sagira Teleportation Device. Go, and be safe!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-04.htm
new file mode 100644
index 0000000000..69baa38311
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-04.htm
@@ -0,0 +1,5 @@
+Lakcis:
+If you tell her I sent you, Chesha will believe you. Wouldn't you say so?
+Well, she is known for being picky, actually... Wow, that's it! What about proving that you're sufficiently worthy, and then going to Chesha and telling her about it?
+Don't forget! To get inside the ruins and to move around inside, you can use the Ye Sagira Teleportation Device.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-05.html
new file mode 100644
index 0000000000..b63f1fe9c5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/32977-05.html
@@ -0,0 +1,3 @@
+Lakcis:
+Go and meet Chesha in Exploration Area 1. Tell her Lakcis is always prepared.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-01.htm
deleted file mode 100644
index 21587100ed..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-01.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-Chesha:
-All of the people on the Talking Island were killed when the Airborne Island dropped onto Ye Sagira. The dead then became the source of energy for the monsters there...
-The monsters may look like the towns people, but we can't let them just roam around either.
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-01.html
new file mode 100644
index 0000000000..a0cafada7c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-01.html
@@ -0,0 +1,5 @@
+Chesha:
+All of the people on the Talking Island were killed when the Ye Sagira was fallen. The dead then became the source of energy for the monsters there...
+The monsters may look like the townspeople, but we can't let them just roam around either. It's sad to think they're the townspeople, but commandos should not be guided by their feelings.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-02.html
similarity index 59%
rename from L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-02.htm
rename to L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-02.html
index 76507ae530..c4340027ff 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-02.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-02.html
@@ -1,6 +1,6 @@
Chesha:
-Rangers never let emotion get in the way of their work.
+Seekers never let emotion get in the way of their work. If you want to carry out your missions as a true seeker, that should be true of you as well.
Show me what you've got. Know that the monsters were created from the bodies of people sacrificed here, but know that they are gone, and the monsters do not care of their origins.
Can you do as I said?
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-03.html
index aca6eaaed1..ec0afb658e 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-03.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-03.html
@@ -1,5 +1,6 @@
Chesha:
-Good. I will trust you.
-Clear up this horrible situation by killing 10 Husk Stalkers and 5 Husk Crawlers in Exploration Zone 1. I will see you after the mission is complete.
-
-
\ No newline at end of file
+Good. I will trust you. As you can see, monsters have been sprouting out of the remains of the corpses of those who fell victim when the Heavenly Island fell out of the sky, strewn nearby the ruins.
+Clear up this horrible situation by killing 10 Husk Stalkers and 10 Husk Crawlers in Exploration Zone 1.
+The space beyond the crevice is connected only to the bluish path. Remember that.
+At the end of this area should be a teleport device to Exploration Zone 2. Nagel, who is in charge of there, should be here, scared out of his mind. Once you're done with your slaying, please go and comfort Nagel.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-04.html
index 68e5ee1b4a..a342ffdf92 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-04.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-04.html
@@ -1,4 +1,5 @@
Chesha:
-Defeat 10 Husk Stalkers and 5 Husk Crawlers.
-
-
\ No newline at end of file
+Please kill 10 Husk Stalkers and 10 Husk Crawlers in Exploration Zone 1.
+The space beyond the crevice is connected only to the bluish path. Remember that.
+At the end of this area should be a teleport device to Exploration Zone 2. Nagel, who is in charge of there, should be here, scared out of his mind. Once you're done with your slaying, please go and comfort Nagel.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-05.html
deleted file mode 100644
index cf42530586..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-05.html
+++ /dev/null
@@ -1,5 +0,0 @@
-Chesha:
-You've done well...
-Listen, Nagel needs someone like you. He's the seeker in Exploration Region 2. He's too kind to be here, and says he hears things...
-Go to him and encourage him as best you can. Oh, and use the Red Ye Sagira Teleport Device.
-
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-06.html
deleted file mode 100644
index 3338cd576b..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-06.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Chesha:
-Have you met Nagel yet? A seeker should find his way...
-Nagel is in Exploration Zone 2. You can use the RedSagira Teleportation Device to reach him.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-07.html
deleted file mode 100644
index 3760f71b0c..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-07.html
+++ /dev/null
@@ -1,5 +0,0 @@
-Chesha:
-You can't let emotions get in the way of your mission as Ranger.
-(Only characters who have completed the Ranger's Role quest, and are between levels 10 and 20, may start this quest.)
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-08.html
deleted file mode 100644
index fd84086643..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33449-08.html
+++ /dev/null
@@ -1,5 +0,0 @@
-Chesha:
-Your courage is strong, friend.
-(You've already completed the quest.)
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-01.html
index 7d70e76480..07d42e1b6c 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-01.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-01.html
@@ -1,6 +1,6 @@
Nagel:
-How long will I have to stay here?
- I don't mind the days, but at night, this place gets decidedly creepy. You know that the monsters here were created from the ashes of the dead townspeople, right? You know that they are death personified, and exist only to murder and maim?
-Why did you come here?
-
+Haha! Brilliant!
+Well, Chesha must have absolute faith in you, to assign you to a mission.
+You know, even the monsters that rose from the ashes of the dead townspeople of Talking Island Village don't scare me. What scares me is...
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-02.html
index dd8dc815f8..3241bbc551 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-02.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-02.html
@@ -1,6 +1,3 @@
Nagel:
-Haha! Brilliant!
-Well, either Chesha has absolute faith in you, or has something against you.
-You know, it's not even the threat of death that scares me anymore. Death's fine. It's the long, drawn out threat of it that drives me insane...
-
+I fear the situation itself. The sobbing that seems to be coming from nowhere, and the townsfolk-turned-nutrients. Terrible, isn't it?
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-03.html
deleted file mode 100644
index ffe5f5b110..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Nagel:
-Yes! Do you not hear the crying?
-It never ends. It's driving me insane...
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-04.html
deleted file mode 100644
index 9726fd62b2..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/33450-04.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Nagel:
-When can I leave? I'm losing my mind here
-(You have already completed the quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/Q10362_CertificationOfTheSeeker.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/Q10362_CertificationOfTheSeeker.java
index 190853652d..23084190fe 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/Q10362_CertificationOfTheSeeker.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10362_CertificationOfTheSeeker/Q10362_CertificationOfTheSeeker.java
@@ -26,34 +26,36 @@ import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
-import com.l2jmobius.gameserver.network.NpcStringId;
-import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+import quests.Q10330_ToTheRuinsOfYeSagira.Q10330_ToTheRuinsOfYeSagira;
/**
* Certification of The Seeker (10362)
- * @author Gladicek
+ * @URL https://l2wiki.com/Certification_of_the_Seeker
+ * @author Gladicek, Gigi
*/
public final class Q10362_CertificationOfTheSeeker extends Quest
{
// NPCs
+ private static final int LAKCIS = 32977;
private static final int CHESHA = 33449;
private static final int NAGEL = 33450;
private static final int STALKER = 22992;
private static final int CRAWLER = 22991;
// Items
private static final int GLOVES = 49;
- private static final int HEALING_POTION = 1060;
// Misc
- private static final int MIN_LEVEL = 10;
+ private static final int MIN_LEVEL = 9;
private static final int MAX_LEVEL = 20;
public Q10362_CertificationOfTheSeeker()
{
super(10362);
- addStartNpc(CHESHA);
- addTalkId(CHESHA, NAGEL);
+ addStartNpc(LAKCIS);
+ addTalkId(LAKCIS, CHESHA, NAGEL);
addKillId(STALKER, CRAWLER);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33449-07.html");
+ addCondCompletedQuest(Q10330_ToTheRuinsOfYeSagira.class.getSimpleName(), "33449-07.html");
}
@Override
@@ -68,13 +70,14 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
String htmltext = null;
switch (event)
{
- case "33449-02.htm":
- case "33450-02.html":
+ case "32977-02.htm":
+ case "32977-03.htm":
+ case "33449-02.html":
{
htmltext = event;
break;
}
- case "33449-03.html":
+ case "32977-04.htm":
{
qs.startQuest();
qs.setMemoStateEx(STALKER, 0);
@@ -82,17 +85,20 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
htmltext = event;
break;
}
- case "33450-03.html":
+ case "33449-03.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "33450-02.html":
{
if (qs.isCond(3))
{
giveItems(player, GLOVES, 1);
- giveAdena(player, 430, true);
- giveItems(player, HEALING_POTION, 50);
- addExpAndSp(player, 50000, 12);
+ addExpAndSp(player, 40000, 12);
qs.exitQuest(false, true);
htmltext = event;
- break;
}
break;
}
@@ -105,7 +111,7 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
{
final QuestState qs = getQuestState(killer, false);
- if ((qs != null) && qs.isCond(1))
+ if ((qs != null) && qs.isCond(2))
{
int killedStalker = qs.getMemoStateEx(STALKER);
int killedCrawler = qs.getMemoStateEx(CRAWLER);
@@ -123,7 +129,7 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
else if (npc.getId() == CRAWLER)
{
killedCrawler++;
- if (killedCrawler <= 5)
+ if (killedCrawler <= 10)
{
qs.setMemoStateEx(CRAWLER, killedCrawler);
sendNpcLogList(killer);
@@ -131,9 +137,10 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
}
}
- if ((killedStalker == 10) && (killedCrawler == 5))
+ if ((killedStalker == 10) && (killedCrawler == 10))
{
- qs.setCond(2, true);
+ qs.setCond(0);
+ qs.setCond(3, true);
}
}
return super.onKill(npc, killer, isSummon);
@@ -149,45 +156,42 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
{
case State.CREATED:
{
- if (npc.getId() == CHESHA)
+ if (npc.getId() == LAKCIS)
{
- htmltext = "33449-01.htm";
+ htmltext = "32977-01.htm";
}
break;
}
case State.STARTED:
{
- if (npc.getId() == CHESHA)
+ switch (npc.getId())
{
- switch (qs.getCond())
+ case LAKCIS:
{
- case 1:
+ if (qs.isCond(1))
+ {
+ htmltext = "32977-05.html";
+ }
+ break;
+ }
+ case CHESHA:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33449-01.html";
+ }
+ else if (qs.isCond(2))
{
htmltext = "33449-04.html";
- break;
- }
- case 2:
- {
- if (!isSimulated)
- {
- showOnScreenMsg(player, NpcStringId.USE_THE_YE_SAGIRA_TELEPORT_DEVICE_TO_GO_TO_EXPLORATION_AREA_2, ExShowScreenMessage.TOP_CENTER, 4500);
- qs.setCond(3, true);
- }
- htmltext = "33449-05.html";
- break;
- }
- case 3:
- {
- htmltext = "33449-06.html";
- break;
}
+ break;
}
- }
- else if (npc.getId() == NAGEL)
- {
- if (qs.isCond(3))
+ case NAGEL:
{
- htmltext = "33450-01.html";
+ if (qs.isCond(3))
+ {
+ htmltext = "33450-01.html";
+ }
break;
}
}
@@ -195,7 +199,7 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
}
case State.COMPLETED:
{
- htmltext = npc.getId() == CHESHA ? "33449-08.html" : "33450-04.html";
+ htmltext = getAlreadyCompletedMsg(player);
break;
}
}
@@ -207,7 +211,7 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
{
final QuestState qs = getQuestState(activeChar, false);
- if ((qs != null) && qs.isCond(1))
+ if ((qs != null) && qs.isCond(2))
{
final Set npcLogList = new HashSet<>(2);
npcLogList.add(new NpcLogListHolder(STALKER, false, qs.getMemoStateEx(STALKER)));
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-02.htm
index 40064fa497..d2eabf89f2 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-02.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-02.htm
@@ -1,6 +1,6 @@
Nagel:
Crying, that's what.
I can hear the cries of the people who've died here... the cries of the soldiers who were sacrificed to defend their families and friends...
-Please - stop their suffering.
-
+I've been suffering so much from these auditory hallucinations that I've ended up misplacing the Husk Distribution Report. I'm afraid I've lost confidence in my ability to properly function as a seeker.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-02a.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-02a.htm
new file mode 100644
index 0000000000..764cd8d4cb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-02a.htm
@@ -0,0 +1,5 @@
+Nagel:
+Will you help me? Will you stop the crying in my ears?
+Of course, you won't be able to do that. My only choice is to get over it by my own devices. As for finding the report I've misplaced though, I think you should be able to help out with that. Would you?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-03.htm
new file mode 100644
index 0000000000..90483df389
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-03.htm
@@ -0,0 +1,5 @@
+Nagel:
+Thank you. I need to stop receiving help and start giving it, but... it's not easy. The Husk Distribution Report is a report that I've recorded thoroughly even while being haunted by the auditory hallucinations. They caused me to lose it, but I fear the Husk Crawlers and Husk Kraphers have taken it. They're the most common monsters in Exploration Area 2, you see.
+Please slay the Husk Crawler and Husk Krapher, and collect 15 Husk Distribution Reports.
+When you're done collecting, please hand the pages to Celin, who stays between Exploration Area 2 and 3, instead of me.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-03.html
deleted file mode 100644
index cd907564cb..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-03.html
+++ /dev/null
@@ -1,5 +0,0 @@
-Nagel:
-Thank you!
-Listen, you'll find the corpses beyond the cracked gap. You must show sorrow before five corpses , and show them that we grieve for them.
-(To show your grief, select a corpse, and open your Action Window (Alt + C), then click Sorrow.)
-
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-04.html
index fa498baca9..bb9f6e66ea 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-04.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-04.html
@@ -1,3 +1,4 @@
Nagel:
-You can find the corpses beyond the cracked gap.
-
+Please slay the Husk Crawler and Husk Krapher, and collect 15 Husk Distribution Reports.
+When you're done collecting, please hand the pages to Celin, who stays between Exploration Area 2 and 3, instead of me.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-05.html
deleted file mode 100644
index 83b5d5015c..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-05.html
+++ /dev/null
@@ -1,7 +0,0 @@
-Nagel:
-Thank you!
-The pain will hopefully start to subside now... hopefully.
-Listen, I have one more favor to ask. The other rangers all knew I was suffering the most, and were all looking out for me, Celin especially.
-Could you tell Celin what's happened?I'd appreciate it...
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-06.html
deleted file mode 100644
index 98d2e9bae3..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-06.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Nagel:
-Thank you!
-Celin is in Exploration Zone 3.Thank you again!
-
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-07.html
index 6f70cac175..9c3f15b562 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-07.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33450-07.html
@@ -1,4 +1,4 @@
Nagel:
Please... help us.
-(Only characters between level 10-20, and who have completed the ""Verification of Ranger" quest, may start this quest.)
+(Only characters between level 11-20, and who have completed the "Certification of The Seeker" quest, may start this quest.)
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-01.html
index 389e99406c..45b2877603 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-01.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-01.html
@@ -1,4 +1,5 @@
Celin:
-Did you hear crying on your way here? I think the noises have died down,but maybe I'm finally getting used to them...
-
+This seems to be the Husk Distribution Report prepared by Nagel, right?
+I heard it had been lost... I guess he found it.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-02.html
index cb75044ab6..37b61bd6e2 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-02.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-02.html
@@ -1,6 +1,3 @@
Celin:
-You have? Oh... oh thank you!
-Maybe now we can finally get some rest, and actually get some work done around here! The noises were so upsetting...
-Please, tell me how Nagel is? We all found it tough, but he dealt with everything much worse than the rest of us.
-
+Oh, you mean you've found and brought it to me? Thank you. I was worried seeing Nagel give himself such a hard time over this.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-03.html
deleted file mode 100644
index 2777d4f1ef..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Celin:
-Good! I'm glad to hear that.
-He hadn't slept or eaten in days, you know. Carry on the way you've been been going and you'll be a great ranger.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-04.html
deleted file mode 100644
index 3d2ce01675..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/33451-04.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Celin:
-Things are much better now, all thanks to you!
-(The quest has already been completed.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/Q10363_RequestOfTheSeeker.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/Q10363_RequestOfTheSeeker.java
index f581f2413a..0a19ff48ad 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/Q10363_RequestOfTheSeeker.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10363_RequestOfTheSeeker/Q10363_RequestOfTheSeeker.java
@@ -17,14 +17,8 @@
package quests.Q10363_RequestOfTheSeeker;
import com.l2jmobius.commons.util.CommonUtil;
-import com.l2jmobius.gameserver.model.L2Object;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jmobius.gameserver.model.events.EventType;
-import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
-import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
-import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
-import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerSocialAction;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
@@ -35,36 +29,33 @@ import quests.Q10362_CertificationOfTheSeeker.Q10362_CertificationOfTheSeeker;
/**
* Request of the Seeker (10363)
- * @author Gladicek
+ * @URL https://l2wiki.com/Request_of_the_Seeker
+ * @author Gladicek, Gigi
*/
public final class Q10363_RequestOfTheSeeker extends Quest
{
// NPCs
private static final int NAGEL = 33450;
private static final int CELIN = 33451;
- private static final int STALKER = 22992;
- private static final int CRAWLER = 22991;
- private static final int[] CORPSES =
+ private static final int[] MONSTERS =
{
- 32961,
- 32962,
- 32963,
- 32964,
+ 22991, // Crawler
+ 22996 // Krapher
};
// Items
private static final int WOODEN_HELMET = 43;
- private static final int HEALING_POTION = 1060;
+ private static final int HUSK_DISTRIBUTION_REPORT = 47606;
// Misc
- private static final int MIN_LEVEL = 12;
+ private static final int MIN_LEVEL = 11;
private static final int MAX_LEVEL = 20;
- private static final int SOCIAL_SORROW = 13;
public Q10363_RequestOfTheSeeker()
{
super(10363);
addStartNpc(NAGEL);
addTalkId(NAGEL, CELIN);
- addSpawnId(CORPSES);
+ addKillId(MONSTERS);
+ registerQuestItems(HUSK_DISTRIBUTION_REPORT);
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33450-07.html");
addCondCompletedQuest(Q10362_CertificationOfTheSeeker.class.getSimpleName(), "33450-07.html");
}
@@ -82,37 +73,25 @@ public final class Q10363_RequestOfTheSeeker extends Quest
switch (event)
{
case "33450-02.htm":
- case "33451-02.html":
+ case "33450-02a.htm":
{
htmltext = event;
break;
}
- case "33450-03.html":
+ case "33450-03.htm":
{
qs.startQuest();
+ showOnScreenMsg(player, NpcStringId.USE_THE_YE_SAGIRA_TELEPORT_DEVICE_TO_GO_TO_EXPLORATION_AREA_2, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = event;
break;
}
- case "33450-06.html":
- {
- if (qs.isCond(6))
- {
- showOnScreenMsg(player, NpcStringId.USE_THE_YE_SAGIRA_TELEPORT_DEVICE_TO_GO_TO_EXPLORATION_AREA_3, ExShowScreenMessage.TOP_CENTER, 4500);
- qs.setCond(7, true);
- htmltext = event;
- break;
- }
- break;
- }
- case "33451-03.html":
+ case "33451-02.html":
{
- if (qs.isCond(7))
+ if (qs.isCond(2))
{
giveItems(player, WOODEN_HELMET, 1);
- giveAdena(player, 480, true);
- giveItems(player, HEALING_POTION, 100);
- addExpAndSp(player, 70200, 16);
+ addExpAndSp(player, 70000, 13);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -148,28 +127,16 @@ public final class Q10363_RequestOfTheSeeker extends Quest
{
case 1:
case 2:
- case 3:
- case 4:
- case 5:
{
htmltext = "33450-04.html";
break;
}
- case 6:
- {
- htmltext = "33450-05.html";
- break;
- }
- case 7:
- {
- htmltext = "33450-06.html";
- break;
- }
}
+ break;
}
else if (npc.getId() == CELIN)
{
- if (qs.isCond(7))
+ if (qs.isCond(2))
{
htmltext = "33451-01.html";
break;
@@ -186,91 +153,17 @@ public final class Q10363_RequestOfTheSeeker extends Quest
return htmltext;
}
- @RegisterEvent(EventType.ON_PLAYER_SOCIAL_ACTION)
- @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
- public void onPlayerSocialAction(OnPlayerSocialAction event)
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
- final L2PcInstance player = event.getActiveChar();
- final QuestState qs = getQuestState(player, false);
-
- final L2Object target = player.getTarget();
-
- if ((target != null) && target.isNpc() && CommonUtil.contains(CORPSES, target.getId()))
+ final QuestState qs = getQuestState(killer, false);
+ if (CommonUtil.contains(MONSTERS, npc.getId()))
{
- final L2Npc npc = (L2Npc) player.getTarget();
-
- if (!player.isInsideRadius(npc, 120, true, true))
+ if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, HUSK_DISTRIBUTION_REPORT, 1, 15, 0.8, true))
{
- showOnScreenMsg(player, NpcStringId.YOU_ARE_TOO_FAR_FROM_THE_CORPSE, ExShowScreenMessage.TOP_CENTER, 4500);
- npc.deleteMe();
- }
- else if (event.getSocialActionId() != SOCIAL_SORROW)
- {
- addSpawn((getRandomBoolean() ? CRAWLER : STALKER), npc, false, 0, true);
- npc.deleteMe();
- }
- else if ((qs == null) || qs.isCompleted())
- {
- showOnScreenMsg(player, NpcStringId.GRUDGE_OF_YE_SAGIRA_VICTIMS_HAVE_BEEN_RELIEVED_WITH_YOUR_TEARS, ExShowScreenMessage.TOP_CENTER, 4500);
- npc.deleteMe();
- }
- else
- {
- NpcStringId npcStringId = null;
-
- switch (qs.getCond())
- {
- case 1:
- {
- npcStringId = NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_ONE_CORPSE;
- qs.setCond(2, true);
- break;
- }
- case 2:
- {
- npcStringId = NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_SECOND_CORPSE;
- qs.setCond(3, true);
- break;
- }
- case 3:
- {
- npcStringId = NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_THIRD_CORPSE;
- qs.setCond(4, true);
- break;
- }
- case 4:
- {
- npcStringId = NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_FOURTH_CORPSE;
- qs.setCond(5, true);
- break;
- }
- case 5:
- {
- npcStringId = NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_FIFTH_CORPSE;
- qs.setCond(6, true);
- break;
- }
- case 6:
- case 7:
- {
- npcStringId = NpcStringId.GRUDGE_OF_YE_SAGIRA_VICTIMS_HAVE_BEEN_RELIEVED_WITH_YOUR_TEARS;
- break;
- }
- }
- npc.deleteMe();
-
- if (npcStringId != null)
- {
- showOnScreenMsg(player, npcStringId, ExShowScreenMessage.TOP_CENTER, 4500);
- }
+ qs.setCond(2, true);
}
}
- }
-
- @Override
- public String onSpawn(L2Npc npc)
- {
- npc.setRandomAnimation(false);
- return super.onSpawn(npc);
+ return super.onKill(npc, killer, isSummon);
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10364_ObligationsOfTheSeeker/33451-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10364_ObligationsOfTheSeeker/33451-04.html
index 964a62dcb0..017fb17a8f 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10364_ObligationsOfTheSeeker/33451-04.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10364_ObligationsOfTheSeeker/33451-04.html
@@ -1,4 +1,4 @@
Celin:
Good, I hope that you do! Trust your allies, friend. They make you stronger than you'll ever be alone.
-(Only those who have completed the "Request of Rangers" quest, and are between levels 14-25, may start this quest.)
+(Only those who have completed the "Request of the Seeker" quest, and are between levels 13-25, may start this quest.)
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10364_ObligationsOfTheSeeker/Q10364_ObligationsOfTheSeeker.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10364_ObligationsOfTheSeeker/Q10364_ObligationsOfTheSeeker.java
index fea5f20781..dacde64873 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10364_ObligationsOfTheSeeker/Q10364_ObligationsOfTheSeeker.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10364_ObligationsOfTheSeeker/Q10364_ObligationsOfTheSeeker.java
@@ -28,6 +28,7 @@ import quests.Q10363_RequestOfTheSeeker.Q10363_RequestOfTheSeeker;
/**
* Obligations of the Seeker (10364)
+ * @URL https://l2wiki.com/Obligations_of_the_Seeker
* @author Gladicek
*/
public final class Q10364_ObligationsOfTheSeeker extends Quest
@@ -41,9 +42,8 @@ public final class Q10364_ObligationsOfTheSeeker extends Quest
// Items
private static final int DIRTY_PAPER_PIECES = 17578;
private static final int LEATHER_SHOES = 37;
- private static final int HEALING_POTION = 1060;
// Misc
- private static final int MIN_LEVEL = 14;
+ private static final int MIN_LEVEL = 13;
private static final int MAX_LEVEL = 25;
public Q10364_ObligationsOfTheSeeker()
@@ -53,8 +53,7 @@ public final class Q10364_ObligationsOfTheSeeker extends Quest
addTalkId(CELIN, WALTER, DEP);
addKillId(KRAPHER, AVIAN);
registerQuestItems(DIRTY_PAPER_PIECES);
- addCondMinLevel(MIN_LEVEL, "33451-04.html");
- addCondMaxLevel(MAX_LEVEL, "33451-04.html");
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "33451-04.html");
addCondCompletedQuest(Q10363_RequestOfTheSeeker.class.getSimpleName(), "33451-04.html");
}
@@ -82,6 +81,7 @@ public final class Q10364_ObligationsOfTheSeeker extends Quest
case "33451-03.html":
{
qs.startQuest();
+ showOnScreenMsg(player, NpcStringId.USE_THE_YE_SAGIRA_TELEPORT_DEVICE_TO_GO_TO_EXPLORATION_AREA_3, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = event;
break;
}
@@ -100,9 +100,7 @@ public final class Q10364_ObligationsOfTheSeeker extends Quest
if (qs.isCond(3))
{
giveItems(player, LEATHER_SHOES, 1);
- giveAdena(player, 550, true);
- giveItems(player, HEALING_POTION, 50);
- addExpAndSp(player, 95000, 22);
+ addExpAndSp(player, 114000, 14);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -122,6 +120,7 @@ public final class Q10364_ObligationsOfTheSeeker extends Quest
{
if (giveItemRandomly(killer, npc, DIRTY_PAPER_PIECES, 1, 5, 0.5, true))
{
+ qs.setCond(0);
qs.setCond(3);
showOnScreenMsg(killer, NpcStringId.USE_THE_YE_SAGIRA_TELEPORT_DEVICE_TO_GO_TO_EXPLORATION_AREA_4, ExShowScreenMessage.TOP_CENTER, 4500);
}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/32978-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/32978-01.html
index 1c046364a9..1f0931bc3c 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/32978-01.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/32978-01.html
@@ -1,5 +1,6 @@
Sebion:
-Is that... is it King? Oh, it IS him! It's Kingy-wingy! Aren't you a cute little guy? Oh yes you are.
-I'm injured, but I can still keep an eye on King while you're gone. I mean, it's not as if I can patrol. Kingy-wingy's going to take a nice little nappy-kins too, aren't you? Oh, yes you are!
-
+Good, you've collected the King's Tonics! I just brought the King back here.
+It wasn't easy since I'd injured my leg, but I still had my magic at my disposal. It wasn't too difficult to bring the King back here. I think I should be able to take care of the King before we return to the village.
+Since you've collected the tonics, the King is sure to recover soon. When the King recovers his health, he will be very grateful.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/32978-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/32978-02.html
index 4772d8673d..4a3d522b5d 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/32978-02.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/32978-02.html
@@ -1,3 +1,3 @@
Sebion:
-I'm no use out here, with this injury. I'd better get back to town. King's coming too, aren't you? Say bye-bye, now King! You hear that, adventurer? He practically talks.
+Due to my injuries, I expect I will soon return to the village. I will take care of the King until then, and take him with me. Do not worry. Thank you for your hard work on the behalf of the King.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-01.htm
index dded96a95a..1a2d0ac6bd 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-01.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-01.htm
@@ -1,8 +1,6 @@
-Dep:
-Sigh... This is not good. All there is left is this kid.
-What am I talking about? The Bloodhound! I had 10 when I first came... They all became monster food, and now all I have left is this one... King, say "hi"!
-(King barks at you.)
-King has to survive... It's too much to bear. Help me. King, ask him to help you too.
-(King whines at you.)
-
+Dep:
+Oh, no. This is a big problem... this is the only one we had left...
+What's wrong, you ask? It's the Bloodhounds. When are first arrived, there were 10, but they all are eaten by monsters. Their king is the one that has survived, but he is weak...
+I have no idea what I can do for them. King, come on, recover your strength...
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-02.htm
index a4524f38c1..bfa0af0d82 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-02.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-02.htm
@@ -1,7 +1,6 @@
Dep:
-Yes. I want you to take King here to somewhere far away... to Sebion!
-Sebion will be able to take care of King much better than me. Right, King?
-(King barks.)
-Ha - see! He knows where to find Sebion, could you just follow him and make sure he gets there safe?
-
+Actually, I was going to ask someone to take the king to Sebion. However, give the king's state, I doubt he'll be able to make it there...
+I did send a message to Sebion, but even if Sebion devises a way to retrieve the king, with him so weak already, I'm worried that we'll be causing more danger.
+If I had the tonic on me, it would have been some help...
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-02a.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-02a.htm
new file mode 100644
index 0000000000..76c61e39da
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-02a.htm
@@ -0,0 +1,6 @@
+Dep:
+If I had the tonic, the king wouldn't have gotten so week.
+He has the habit of burying his things here and there, and he's buried the tonic he needs to take here and there as well.
+I've sometimes seen the monsters here find the tonic and take it with them, but me, I can't find it no matter how I try. Do you think the monsters have cleared the land of tonics? I'd be so much less worried if only I could get my hands on that tonic...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-03.html
index 3726abf7be..6a2f5a8ec7 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-03.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/33453-03.html
@@ -1,5 +1,7 @@
Dep:
-Thank you!
-Sebion is in Exploration Zone 5. You just need to follow King, and he'll guide you to Sebion.
-Listen, friend. King cannot come back here. You hear that King? You can't come back! It's not safe!
+Really? Thank you so much! Then I won't have to worry until Sebion comes take the king.
+ I don't know where the king hid the tonics, but I saw the monsters carrying them, so please get them from them.
+ Defeat Husk Eyesaroch, Husk Critter, and Husk Rider and bring me King's Tonics.
+ I'll have to feed the king with some porridge until Sebion takes him.
+ Once you bring 20 Tonics, go find Sebion in Zone 5. Sebion said he will come find the king soon, so the king will be safe by then.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/Q10365_SeekerEscort.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/Q10365_SeekerEscort.java
index 73940fe8fc..4b3cd7f638 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/Q10365_SeekerEscort.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10365_SeekerEscort/Q10365_SeekerEscort.java
@@ -41,7 +41,7 @@ public final class Q10365_SeekerEscort extends Quest
private static final int BLOODHOUND = 32988;
private static final int SEBION = 32978;
// Misc
- private static final int MIN_LEVEL = 16;
+ private static final int MIN_LEVEL = 15;
private static final int MAX_LEVEL = 25;
// Locations
private static final Location BLOODHOUND_SPAWN_1 = new Location(-110624, 238369, -2920);
@@ -111,6 +111,7 @@ public final class Q10365_SeekerEscort extends Quest
switch (event)
{
case "33453-02.htm":
+ case "33453-02a.htm":
{
htmltext = event;
break;
@@ -130,8 +131,7 @@ public final class Q10365_SeekerEscort extends Quest
{
if (qs.isCond(2))
{
- giveAdena(player, 65000, true);
- addExpAndSp(player, 120000, 28);
+ addExpAndSp(player, 172000, 15);
qs.exitQuest(false, true);
htmltext = event;
}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-01.htm
similarity index 84%
rename from L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-01.htm
rename to L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-01.htm
index 858034311f..9532987128 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-01.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-01.htm
@@ -1,5 +1,5 @@
-Sebion:
-You've really gotten the monsters in the Ruins under control. I mean, there are still some about, but it's not nearly so bad. I'm just waiting for my replacement to come, so I can head back to town and concentrate on recovering.
-But before I go, I have one more favor to ask of you.
-
+Sebion:
+You've really gotten the monsters in the Ruins under control. I mean, there are still some about, but it's not nearly so bad. I'm just waiting for my replacement to come, so I can head back to town and concentrate on recovering.
+But before I go, I have one more favor to ask of you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-02.htm
new file mode 100644
index 0000000000..4a142d3693
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-02.htm
@@ -0,0 +1,5 @@
+Sebion:
+My successor has not yet been appointed, and I fear I need to stay here a while longer.
+I need to submit a Ruins Status Update thanks to the delay, but as you can see, my leg...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-02a.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-02a.htm
new file mode 100644
index 0000000000..6087ff6c58
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-02a.htm
@@ -0,0 +1,4 @@
+Sebion:
+I was studying the Husks that are appearing nowadays in the ruins, when the Administrative Office instructed me to keep the number of husks in the ruins below a certain level in order to ensure safety. I'm afraid the husks will have to be killed.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-03.html
new file mode 100644
index 0000000000..f306bf8985
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-03.html
@@ -0,0 +1,4 @@
+Sebion:
+There's no need for you to wander elsewhere. Please stay within Exploration Area 5, and slay around 40 Husk Evian, Husk Eyesaroch, Husk Critter, and Husk Rider.
+It's a lot harder than it looks, this population control.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-04.html
new file mode 100644
index 0000000000..81df3f57bd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-04.html
@@ -0,0 +1,4 @@
+Sebion:
+I guess you're not yet finished. If I wasn't injured, I would have taken on the task myself...
+In Exploration Area 5, please slay 40 Husk Evian, Husk Eyesaroch, Husk Critter, and Husk Rider.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-05.html
new file mode 100644
index 0000000000..26162abc6d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-05.html
@@ -0,0 +1,4 @@
+Sebion:
+It already feels as though this place has been stabilized.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-06.html
new file mode 100644
index 0000000000..7b630d4fa1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-06.html
@@ -0,0 +1,3 @@
+Sebion:
+You have my gratitude. Thanks to you, I will have peace of mind until my successor arrives.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-07.html
similarity index 100%
rename from L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-09.html
rename to L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-07.html
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-10.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-08.html
similarity index 52%
rename from L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-10.html
rename to L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-08.html
index b2bd0c0514..7b82a53046 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-10.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/32978-08.html
@@ -1,4 +1,4 @@
-Sebion:
-This place is dangerous. I think it's best if you go back to town.
-(Only level 16-25 characters who have completed the scout mission may complete this quest.)
+Sebion:
+This place is dangerous. I think it's best if you go back to town.
+(Only level 16-25 characters who have completed the 'Seeker Escort' may complete this quest.)
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/Q10366_ReportOnTheSituationAtTheRuins.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/Q10366_ReportOnTheSituationAtTheRuins.java
new file mode 100644
index 0000000000..6394dbafe9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_ReportOnTheSituationAtTheRuins/Q10366_ReportOnTheSituationAtTheRuins.java
@@ -0,0 +1,177 @@
+/*
+ * 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.Q10366_ReportOnTheSituationAtTheRuins;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+
+import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
+
+/**
+ * Report on the situation at the ruins (10366)
+ * @URL https://l2wiki.com/Report_on_the_situation_at_the_ruins
+ * @author Gigi
+ */
+public final class Q10366_ReportOnTheSituationAtTheRuins extends Quest
+{
+ // NPCs
+ private static final int SEBION = 32978;
+ private static final int[] MONSTERS =
+ {
+ 22993, // Critter
+ 22994, // Avian
+ 22995, // Rider
+ 23122 // Eyesaroch
+ };
+ // Misc
+ private static final int MIN_LEVEL = 16;
+ private static final int MAX_LEVEL = 25;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10366_ReportOnTheSituationAtTheRuins()
+ {
+ super(10366);
+ addStartNpc(SEBION);
+ addTalkId(SEBION);
+ addKillId(MONSTERS);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "32978-08.html");
+ addCondCompletedQuest(Q10365_SeekerEscort.class.getSimpleName(), "32978-08.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "32978-02.htm":
+ case "32978-02a.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32978-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32978-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 114000, 15);
+ qs.exitQuest(false, true);
+ }
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SEBION)
+ {
+ htmltext = "32978-01.htm";
+ break;
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32978-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "32978-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = "32978-07.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ int killCount = qs.getInt(KILL_COUNT_VAR);
+ qs.set(KILL_COUNT_VAR, ++killCount);
+ if (killCount >= 40)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (killCount > 0)
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_THE_HUSKS, killCount));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-01.html
deleted file mode 100644
index 260bfcd4a7..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-01.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Valfar:
-I often hear of your outstanding performances, child, but did you complete the work I assigned you in the Ruins of Ye sagira too?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-02.html
deleted file mode 100644
index 8469ef48e6..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-02.html
+++ /dev/null
@@ -1,5 +0,0 @@
-Grand Master Valfar:
-Good! This is wonderful news. Now, perhaps we'll start to see a return to normality, even if it takes a little while for those beasts to be killed of for good.
-Is there anything else?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-03.html
deleted file mode 100644
index c06e67fa82..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-03.html
+++ /dev/null
@@ -1,5 +0,0 @@
-Grand Master Valfar:
-Sebion?! How?? He's not just a scholar, but a skilled Wizard too. I'm surprised he was hurt!
-Hmm. I will make sure he returns for rest as soon as possible, and will send Bloodhound out in his stead.
-Thank you, friend. May Rodenpicula watch over you!
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-04.html
deleted file mode 100644
index 9734a34247..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-Grand Master Valfar:
-I educate Kamael, stranger. You are not one of my kind.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-05.html
deleted file mode 100644
index 309880ca06..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32146-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Valfar:
-We owe you more than you know, friend. Again, thank you.
-(You have already completed this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-01.html
deleted file mode 100644
index efed3a4c62..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-01.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Rivian:
-Aha! You're back sooner than I expected. Did everything go well?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-02.html
deleted file mode 100644
index 975c9ac889..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-02.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Rivian:
-Ah, excellent! If the monsters have been cut down in number, then perhaps the rest will get the message and flee. At any rate, you've helped secure our home, and we owe you a great deal. Do you have anything else to report?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-03.html
deleted file mode 100644
index 7cefcc5657..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Rivian:
-What? Sebion was hurt? How? I assume from your tone that he's not been badly hurt, but still... he is an asset we can ill afford to lose. I will send a replacement soon.
-Thank you for your report, friend. You have helped save our home, and for that we are all extremely grateful. I will pray that the blessings of Einhasad will be with you always.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-04.html
deleted file mode 100644
index d3096b2796..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-Grand Master Rivian:
-I'm in charge of education the Elf race. I believe you came to the wrong person!
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-05.html
deleted file mode 100644
index 3f7bc099f4..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32147-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Rivian:
-Thank you again, friend. You have guided us through a great storm.
-(You have already completed this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-01.html
deleted file mode 100644
index db73d34810..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-01.html
+++ /dev/null
@@ -1,5 +0,0 @@
-High Prefect Took:
-Welcome. How goes the task in Ye Sagira?
-What's the latest news?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-02.html
deleted file mode 100644
index 0fd4644772..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-02.html
+++ /dev/null
@@ -1,4 +0,0 @@
-High Prefect Took:
-Wonderful, wonderful. The monster population is down, the situation is under control. Lovely. Good work! I was worried that I'd run out of scholars before we raun out of scholar eating monsters. Ha Anything else to report?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-03.html
deleted file mode 100644
index 57d23ccaba..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-High Prefect Took:
-Sebion is injured? That's surprising... he has such strong magic, I wouldn't have thought.... That's strange. I'll have to send in additional support workers.
-We need to hire a Bloodhound for his return. King? Is that his name? Yes, we'll need King to protect Sebion's return journey. Thanks for your detailed report. May blessing of darkness enhance your future.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-04.html
deleted file mode 100644
index eca5f83635..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-High Prefect Took:
-I'm only in charge of Orcs. You don't look much like an Orc....
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-05.html
deleted file mode 100644
index 42f9db0512..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32150-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-High Prefect Took:
-They're making great strides with their research at Ruins of Ye Sagira, thanks to you.
-(You have already completed this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-01.html
deleted file mode 100644
index 829b1bbbd6..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-01.html
+++ /dev/null
@@ -1,4 +0,0 @@
-High Priest Franco:
-You returned from the Ruins of Ye Sagira! Are you well? What was going on there?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-02.html
deleted file mode 100644
index 50b5e1cfc3..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-02.html
+++ /dev/null
@@ -1,4 +0,0 @@
-High Priest Franco:
-You were a great help! With the monsters cut down, perhaps we will start to see peace flow through this region again. But tell me, friend -- what happened to the scholars there? I doubt they were able to fend the monsters off?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-03.html
deleted file mode 100644
index b38cd1ea09..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-High Priest Franco:
-Sebion was hurt? Hmm... Well, at least it was just that, we don't have a death on our hands. I'll summon him back here, and make sure Bloodhound is in town to protect his return...
-Thank you for your everything, friend! May the protection of light always be with you.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-04.html
deleted file mode 100644
index b16aaad536..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-High Priest Franco:
-Hmm. I train humans, not your kind. You should look elsewhere for your training.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-05.html
deleted file mode 100644
index a95c1e2e09..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32153-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-High Priest Franco:
-Thank you again, friend. You have done so much for us!
-(You have already completed this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-01.html
deleted file mode 100644
index 0764f2d48b..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-01.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Head Blacksmith Moka:
-Hmm? You're back from Ye Sagira already? I have a lot of questions for you! So, what's the situation in Ye Sagira? How are the seekers doing? Are tehy finding anything interesting?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-02.html
deleted file mode 100644
index 76f1102562..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-02.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Head Blacksmith Moka:
-Marvelous! It's good to hear that the monster population is finally on the downturn. Such good news. I was worried, everyone over there has a grat scholarly pedigree, but no one had any good fightings skills or common sense! You know that scientist type. Brainy, but not terribly practical. This is a great weight off of my shoulders. Do you have any other news?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-03.html
deleted file mode 100644
index f96c15d5c7..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Head Blacksmith Moka:
-Sebion is injured?! How? I know he was conducting research in the Labyrinth of Belis... which is not exactly a cake walk, but what happened? Hmm... He's going to need someone to help dig and carry. I'll send over some additional bodies to help out.
-And, we'll need a Bloodhound to protect him on his return. Bloodhounds are rather pricey right now, but we certainly can't afford any more severe injuries, or deaths! Thanks for your report. We be in touch, when we have need of your skills again.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-04.html
deleted file mode 100644
index 76d3a57d23..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-Head Blacksmith Moka:
-I'm in charge of Dwarf training and I'm pretty sure you're not a Dwarf. You need to locate your own race's master.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-05.html
deleted file mode 100644
index ea6cbb196c..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32157-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Head Blacksmith Moka:
-The pace of research over at the Ruins of Ye Sagira has picked up greatly, thanks entirely to your good work. Nicely done!
-(You have already completed this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-01.html
deleted file mode 100644
index f329f9e0d0..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-01.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Magister Devon:
-Welcome, and well done! I've heard much about you, but... I'd like to hear a report directly from the horse's mouth... so to speak. Did you finish the work in the Ruins of Ye Sagira? How are search members doing?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-02.html
deleted file mode 100644
index 9f51c3bcc0..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-02.html
+++ /dev/null
@@ -1,6 +0,0 @@
-Grand Magister Devon:
-Then you are due our thanks, friend. Perhaps over time, the area will regain its natural beauty, eh?
-I don't know how long this peace will hold, but I know that you've given me one less thing to worry about. Thank you.
-Now, is there anything else we need to discuss?
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-03.html
deleted file mode 100644
index 7f930d4249..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Magister Devon:
-Badly? Sebion is an able mage, and should be able to tend to his own woumds, but... hmmm... I will make sure he is replaced.
-When Sebion returns, we should bring and protect Bloodhound as well. Thank you for the detailed report - I will pray that the Blessing of Darkness be with you for years to come.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-04.html
deleted file mode 100644
index f3224c3efd..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-Grand Master Devon:
-I'm in charge of educationg the Dark Elf race. I think you came to the wrong teacher - please go to your race master!
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-05.html
deleted file mode 100644
index 128157bd8f..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32160-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Grand Master Devon:
-The investigation on the Ruins of Ye Sagira is still ongoing, friend. We have you to thank for getting us this close though.
-(You have already completed this quest.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-02.htm
deleted file mode 100644
index f990862fed..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-02.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-Tell the master in the Talking Island Administration Office that things are getting better in the Ruins. And, while you're there... could you poke them to make sure they haven't forgotten about replacing me out here.
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-03.html
deleted file mode 100644
index 9c39f0d9b5..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-Oh, that's a relief. Now I won't have to contact Lakcis and Dep. Use your Scroll of Escape to travel to the Administration Office and tell High Priest Franco about the situation here.
-Thank you for everything you've done. I'm in your debt.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-04.html
deleted file mode 100644
index b36bc83e43..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-04.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-Oh, that's a relief. Now I won't have to contact Lakcis and Dep. Use your Scroll of Escape to travel to the Administration Office and tell Grand Master Rivian about the situation here.
-Thank you for everything you've done. I'm in your debt.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-05.html
deleted file mode 100644
index 01df2353cc..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-Oh, that's a relief. Now I won't have to contact Lakcis and Dep. Use your Scroll of Escape to travel to the Administration Office and tell Grand Magister Devon about the situation here.
-Thank you for everything you've done. I'm in your debt.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-06.html
deleted file mode 100644
index e8d1eb5aa1..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-06.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-Oh, that's a relief. Now I won't have to contact Lakcis and Dep. Use your Scroll of Escape to travel to the Administration Office and tell High Prefect Took about the situation here.
-Thank you for everything you've done. I'm in your debt.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-07.html
deleted file mode 100644
index d65532a8cf..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-07.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-Oh, that's a relief. Now I won't have to contact Lakcis and Dep. Use your Scroll of Escape to travel to the Administration Office and tell Head Blacksmith Moka about the situation here.
-Thank you for everything you've done. I'm in your debt.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-08.html
deleted file mode 100644
index 9a19fcf7d0..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/32978-08.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Sebion:
-Oh, that's a relief. Now I won't have to contact Lakcis and Dep. Use your Scroll of Escape to travel to the Administration Office and tell Grand Master Valfar about the situation here.
-Thank you for everything you've done. I'm in your debt.
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/Q10366_RuinsStatusUpdate.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/Q10366_RuinsStatusUpdate.java
deleted file mode 100644
index bfdd3b56e1..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10366_RuinsStatusUpdate/Q10366_RuinsStatusUpdate.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * 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.Q10366_RuinsStatusUpdate;
-
-import com.l2jmobius.gameserver.enums.Race;
-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 com.l2jmobius.gameserver.network.NpcStringId;
-import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
-
-import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
-
-/**
- * Ruins Status Update (10366)
- * @author Gladicek
- */
-public final class Q10366_RuinsStatusUpdate extends Quest
-{
- // NPCs
- private static final int SEBION = 32978;
- private static final int FRANCO = 32153;
- private static final int RIVIAN = 32147;
- private static final int DEVON = 32160;
- private static final int TOOK = 32150;
- private static final int MOKA = 32157;
- private static final int VALFAR = 32146;
- // Misc
- private static final int MIN_LEVEL = 16;
- private static final int MAX_LEVEL = 25;
-
- public Q10366_RuinsStatusUpdate()
- {
- super(10366);
- addStartNpc(SEBION);
- addTalkId(SEBION, FRANCO, RIVIAN, DEVON, TOOK, MOKA, VALFAR);
- addCondLevel(MIN_LEVEL, MAX_LEVEL, "32978-10.html");
- addCondCompletedQuest(Q10365_SeekerEscort.class.getSimpleName(), "32978-10.html");
- }
-
- @Override
- public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
- {
- final QuestState qs = getQuestState(player, false);
- if (qs == null)
- {
- return null;
- }
-
- String htmltext = null;
-
- switch (event)
- {
- case "check_race":
- {
- switch (player.getRace())
- {
- case HUMAN:
- {
- qs.startQuest();
- qs.setCond(2);
- htmltext = "32978-03.html";
- showOnScreenMsg(player, NpcStringId.USE_THE_ESCAPE_SCROLL_IN_YOUR_INVENTORY_TO_GO_TO_THE_ADMINISTRATIVE_OFFICE_IN_TALKING_ISLAND, ExShowScreenMessage.TOP_CENTER, 4500);
- break;
- }
- case ELF:
- {
- qs.startQuest();
- qs.setCond(3);
- htmltext = "32978-04.html";
- showOnScreenMsg(player, NpcStringId.USE_THE_ESCAPE_SCROLL_IN_YOUR_INVENTORY_TO_GO_TO_THE_ADMINISTRATIVE_OFFICE_IN_TALKING_ISLAND, ExShowScreenMessage.TOP_CENTER, 4500);
- break;
- }
- case DARK_ELF:
- {
- qs.startQuest();
- qs.setCond(4);
- htmltext = "32978-05.html";
- showOnScreenMsg(player, NpcStringId.USE_THE_ESCAPE_SCROLL_IN_YOUR_INVENTORY_TO_GO_TO_THE_ADMINISTRATIVE_OFFICE_IN_TALKING_ISLAND, ExShowScreenMessage.TOP_CENTER, 4500);
- break;
- }
- case ORC:
- {
- qs.startQuest();
- qs.setCond(5);
- htmltext = "32978-06.html";
- showOnScreenMsg(player, NpcStringId.USE_THE_ESCAPE_SCROLL_IN_YOUR_INVENTORY_TO_GO_TO_THE_ADMINISTRATIVE_OFFICE_IN_TALKING_ISLAND, ExShowScreenMessage.TOP_CENTER, 4500);
- break;
- }
- case DWARF:
- {
- qs.startQuest();
- qs.setCond(6);
- htmltext = "32978-07.html";
- showOnScreenMsg(player, NpcStringId.USE_THE_ESCAPE_SCROLL_IN_YOUR_INVENTORY_TO_GO_TO_THE_ADMINISTRATIVE_OFFICE_IN_TALKING_ISLAND, ExShowScreenMessage.TOP_CENTER, 4500);
- break;
- }
- case KAMAEL:
- {
- qs.startQuest();
- qs.setCond(7);
- htmltext = "32978-08.html";
- showOnScreenMsg(player, NpcStringId.USE_THE_ESCAPE_SCROLL_IN_YOUR_INVENTORY_TO_GO_TO_THE_ADMINISTRATIVE_OFFICE_IN_TALKING_ISLAND, ExShowScreenMessage.TOP_CENTER, 4500);
- break;
- }
- case ERTHEIA:
- {
- break; // Retail like NCZoft typo in quest...
- }
- }
- break;
- }
- case "32978-02.htm":
- case "32146-02.html":
- case "32147-02.html":
- case "32150-02.html":
- case "32153-02.html":
- case "32157-02.html":
- case "32160-02.html":
- {
- htmltext = event;
- break;
- }
- case "32146-03.html":
- case "32147-03.html":
- case "32150-03.html":
- case "32153-03.html":
- case "32157-03.html":
- case "32160-03.html":
- {
- if ((qs.getCond() >= 2) && (qs.getCond() <= 7))
- {
- giveAdena(player, 750, true);
- addExpAndSp(player, 150000, 36);
- qs.exitQuest(false, true);
- }
- htmltext = event;
- break;
- }
- }
- return htmltext;
- }
-
- @Override
- public String onTalk(L2Npc npc, L2PcInstance player)
- {
- final QuestState qs = getQuestState(player, true);
- String htmltext = null;
-
- switch (qs.getState())
- {
- case State.CREATED:
- {
- if (npc.getId() == SEBION)
- {
- htmltext = "32978-01.htm";
- break;
- }
- break;
- }
- case State.STARTED:
- {
- switch (npc.getId())
- {
- case SEBION:
- {
- switch (qs.getCond())
- {
- case 2:
- {
- htmltext = "32978-03.html";
- break;
- }
- case 3:
- {
- htmltext = "32978-04.html";
- break;
- }
- case 4:
- {
- htmltext = "32978-05.html";
- break;
- }
- case 5:
- {
- htmltext = "32978-06.html";
- break;
- }
- case 6:
- {
- htmltext = "32978-07.html";
- break;
- }
- case 7:
- {
- htmltext = "32978-08.html";
- break;
- }
- }
- break;
- }
- case FRANCO:
- {
- if (player.getRace() == Race.HUMAN)
- {
- if ((qs.isCond(2)))
- {
- htmltext = "32153-01.html";
- break;
- }
- }
- htmltext = "32153-04.html";
- break;
- }
- case RIVIAN:
- {
- if (player.getRace() == Race.ELF)
- {
- if ((qs.isCond(3)))
- {
- htmltext = "32147-01.html";
- break;
- }
- }
- htmltext = "32147-04.html";
- break;
- }
- case DEVON:
- {
- if (player.getRace() == Race.DARK_ELF)
- {
- if ((qs.isCond(4)))
- {
- htmltext = "32160-01.html";
- break;
- }
- }
- htmltext = "32160-04.html";
- break;
- }
- case TOOK:
- {
- if (player.getRace() == Race.ORC)
- {
- if ((qs.isCond(5)))
- {
- htmltext = "32150-01.html";
- break;
- }
- }
- htmltext = "32150-04.html";
- break;
- }
- case MOKA:
- {
- if (player.getRace() == Race.DWARF)
- {
- if ((qs.isCond(6)))
- {
- htmltext = "32157-01.html";
- break;
- }
- }
- htmltext = "32157-04.html";
- break;
- }
- case VALFAR:
- {
- if (player.getRace() == Race.KAMAEL)
- {
- if ((qs.isCond(7)))
- {
- htmltext = "32146-01.html";
- break;
- }
- }
- htmltext = "32146-04.html";
- break;
- }
- }
- break;
- }
- case State.COMPLETED:
- {
- switch (npc.getId())
- {
- case SEBION:
- {
- htmltext = "32978-09.html";
- break;
- }
- case FRANCO:
- case RIVIAN:
- case DEVON:
- case TOOK:
- case MOKA:
- case VALFAR:
- {
- htmltext = npc.getId() + "-05.html";
- break;
- }
- }
- }
- }
- return htmltext;
- }
-}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-01.htm
new file mode 100644
index 0000000000..f1a527bdd0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-01.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Ferris:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-02.htm
new file mode 100644
index 0000000000..2d21e1fd19
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-02.htm
@@ -0,0 +1,6 @@
+Head Blacksmith Ferris:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-03.htm
new file mode 100644
index 0000000000..4c3fbda7ff
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-03.htm
@@ -0,0 +1,4 @@
+Head Blacksmith Ferris:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-01.htm
new file mode 100644
index 0000000000..a097f14b28
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-01.htm
@@ -0,0 +1,5 @@
+Grand Magister Winonin:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-02.htm
new file mode 100644
index 0000000000..a01f5b122e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-02.htm
@@ -0,0 +1,6 @@
+Grand Magister Winonin:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-03.htm
new file mode 100644
index 0000000000..f863d8a87b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-03.htm
@@ -0,0 +1,4 @@
+Grand Magister Winonin:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-01.htm
new file mode 100644
index 0000000000..1af2d56e63
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-01.htm
@@ -0,0 +1,5 @@
+Orven High Priest:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-02.htm
new file mode 100644
index 0000000000..11e96ebaa6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-02.htm
@@ -0,0 +1,6 @@
+Orven High Priest:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-03.htm
new file mode 100644
index 0000000000..2fd4841a62
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-03.htm
@@ -0,0 +1,4 @@
+Orven High Priest:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-01.htm
new file mode 100644
index 0000000000..f2e2f8fdd5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-01.htm
@@ -0,0 +1,5 @@
+Grand Master Oltran:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-02.htm
new file mode 100644
index 0000000000..213ef75273
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-02.htm
@@ -0,0 +1,6 @@
+Grand Master Oltran:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-03.htm
new file mode 100644
index 0000000000..eff06b1648
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-03.htm
@@ -0,0 +1,4 @@
+Grand Master Oltran:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-01.htm
new file mode 100644
index 0000000000..c9339ab27f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-01.htm
@@ -0,0 +1,5 @@
+High Prefect Ladanza:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-02.htm
new file mode 100644
index 0000000000..c73e38baae
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-02.htm
@@ -0,0 +1,6 @@
+High Prefect Ladanza:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-03.htm
new file mode 100644
index 0000000000..0e1c056802
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-03.htm
@@ -0,0 +1,4 @@
+High Prefect Ladanza:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-01.html
new file mode 100644
index 0000000000..5a0aff078a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-01.html
@@ -0,0 +1,4 @@
+Captain Andrei:
+Yes, what is it you require?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-02.html
new file mode 100644
index 0000000000..9c90ef43f8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-02.html
@@ -0,0 +1,5 @@
+Captain Andrei:
+Hmmm... this comes from the Aden Vanguard? Yes, I had my suspicions that Goddard may be in danger. There has been a lot of strange activities in the Goddard territory. However, since Shilen has invaded our world that is somewhat of an understatement. There is something strange anywhere you look now.
+I hope you are up for more of a challenge than just delivering this message to us. Several of Goddard`s forces are out on missions and we are short on manpower here. We`re looking for anyone who can swim a sword or cast a spell.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-03.html
new file mode 100644
index 0000000000..b97d34c7bf
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-03.html
@@ -0,0 +1,5 @@
+Captain Andrei:
+So, you will help us then? Good. I need to deliver this news to my susperiors to see what can be done around here.
+I sent a reconnaissance team to the Shrine of Loyalty to investigate the new activity in the area. I believe you can find a man by the name of Gerkenshtein. He is the lead investigator on that team and should be able to brief you on the activity in that area. Hopefully you will be able to find the source of Shilen`s creature entering our world.
+Now then, if you will excuse me I have to tell my susperios we should be expecting some unwelcome guests soon.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-04.html
new file mode 100644
index 0000000000..f740f66ce5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-04.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+Go to the Shrine of Loyalty and speak with Gerkenshtein. He will inform you on what needs to be done next.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-05.html
new file mode 100644
index 0000000000..5a290e8e6a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-05.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+Again, we appreciate your work on handing the Succubus situation around the Shrine of Loyalty.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-01.htm
new file mode 100644
index 0000000000..b345969ef9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-01.htm
@@ -0,0 +1,5 @@
+Grand Master Brome:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-02.htm
new file mode 100644
index 0000000000..10907cc9b3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-02.htm
@@ -0,0 +1,6 @@
+Grand Master Brome:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-03.htm
new file mode 100644
index 0000000000..3d129a04d0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-03.htm
@@ -0,0 +1,4 @@
+Grand Master Brome:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-01.html
new file mode 100644
index 0000000000..2ac83cdbbd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-01.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Yes, what is it you want? Can`t you see I`m in the middle of investigating this rock here... It is very... ah... interesting.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-02.html
new file mode 100644
index 0000000000..abbf37a19b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-02.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Hmm... the rock can wait. There was an attack on Aden? That is very good news! I mean, that helps prove my theory. If yo track all of Shilen`s attacks or areas where she has icreased the number of her creatures you can see a correlation... looks like a search grid... she is looking for something.
+Quickly, you have to hunt down Scavenger Scarabs, Scavenger Ants, and Shrine Knights and bring me back samples of their Remnant Ashes. To be on the safe side, please bring back 30 samples. They are already in the area so we must be quick before Shilen sends in her creations. Once I have these samples, it will help me determine if there is a threat to Goddard here or not.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-03.html
new file mode 100644
index 0000000000..b84d8906af
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-03.html
@@ -0,0 +1,3 @@
+Gerkenshtein:
+Quickly, you have to hunt down Scavenger Scarabs, Scavenger Ants, and Shrine Knights and bring me back samples of their Remnant Ashes. To be on the safe side, please bring back 30 samples. They are already in the area so we must be quick before Shilen sends in her creations. Once I have these samples, it will help me determine if there is a threat to Goddard here or not.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-04.html
new file mode 100644
index 0000000000..3c0f6a5632
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-04.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Exellent. Give me a moment to perform some quick tests. Well I have good news and bad news. The good news is that I was able to verify that this is the Remnant Ashes normal creatures. The bad news is that it does nithing to further my investigation...
+This investigation is pretty much at a dead end. I do wish to thank you for your assistance. At least we can prove that these creatures have not been corrupted by Shilen`s influence. Here is a little something for your efforts. I do have a few other thing that could use your attention.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-05.html
new file mode 100644
index 0000000000..1289af68d5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-05.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Um... didn`t you already do this for me... I`m pretty sure you did.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/Q10370_MenacingTimes.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/Q10370_MenacingTimes.java
new file mode 100644
index 0000000000..001b65c6d0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/Q10370_MenacingTimes.java
@@ -0,0 +1,303 @@
+/*
+ * 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.Q10370_MenacingTimes;
+
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Menacing Times (10370)
+ * @URL https://l2wiki.com/Menacing_Times
+ * @author Gigi
+ */
+public class Q10370_MenacingTimes extends Quest
+{
+ // NPCs
+ private static final int ORVEN = 30857; // Human
+ private static final int WINONIN = 30856; // Elf
+ private static final int OLTRAN = 30862; // DarkElf
+ private static final int LADANZA = 30865; // Orc
+ private static final int FERRIS = 30847; // Dvarf
+ private static final int BROME = 32221; // Kamael
+ private static final int ANDREI = 31292;
+ private static final int GERKENSHTEIN = 33648;
+ // Monster's
+ private static final int GRAVE_SCARAB = 21646;
+ private static final int GRAVE_ANT = 21648;
+ private static final int SHRINE_KNIGHT = 21650;
+ // Items
+ private static final int REMNANT_ASHES = 34765;
+ private static final ItemHolder ADENA = new ItemHolder(57, 479620);
+ // Reward
+ private static final int EXP_REWARD = 22451400;
+ private static final int SP_REWARD = 5388;
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final int MAX_LEVEL = 81;
+
+ public Q10370_MenacingTimes()
+ {
+ super(10370);
+ addStartNpc(ORVEN, WINONIN, OLTRAN, LADANZA, FERRIS, BROME);
+ addTalkId(ORVEN, WINONIN, OLTRAN, LADANZA, FERRIS, BROME, ANDREI, GERKENSHTEIN);
+ addKillId(GRAVE_SCARAB, GRAVE_ANT, SHRINE_KNIGHT);
+ registerQuestItems(REMNANT_ASHES);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "30857-02.htm":
+ case "30856-02.htm":
+ case "30862-02.htm":
+ case "30865-02.htm":
+ case "30847-02.htm":
+ case "32221-02.htm":
+ case "31292-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30856-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30862-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30865-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30847-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32221-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "31292-03.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "33648-02.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ switch (npc.getId())
+ {
+ case ORVEN:
+ {
+ if ((player.getRace() == Race.HUMAN) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30857-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case WINONIN:
+ {
+ if ((player.getRace() == Race.ELF) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30856-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case OLTRAN:
+ {
+ if ((player.getRace() == Race.DARK_ELF) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30862-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case LADANZA:
+ {
+ if ((player.getRace() == Race.ORC) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30865-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case FERRIS:
+ {
+ if ((player.getRace() == Race.DWARF) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30847-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case BROME:
+ {
+ if ((player.getRace() == Race.KAMAEL) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "32221-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ }
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case ANDREI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31292-01.html";
+ }
+ else if (qs.getCond() > 1)
+ {
+ htmltext = "31292-04.html";
+ }
+ break;
+ }
+ case GERKENSHTEIN:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "33648-01.html";
+ }
+ else if (qs.getCond() == 3)
+ {
+ htmltext = "33648-03.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "33648-04.html";
+ takeItems(player, REMNANT_ASHES, -1);
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ giveItems(player, ADENA);
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ switch (npc.getId())
+ {
+ case ANDREI:
+ {
+ htmltext = "31292-05.html";
+ }
+ break;
+ case GERKENSHTEIN:
+ {
+ htmltext = "33648-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && (qs.isCond(3)))
+ {
+ if (giveItemRandomly(killer, npc, REMNANT_ASHES, 1, 30, 0.15, true))
+ {
+ qs.setCond(4, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/noRace.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/noRace.htm
new file mode 100644
index 0000000000..bc4d0510a6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/noRace.htm
@@ -0,0 +1,4 @@
+High Priest:
+It does not look like you have the correct skill set to assist me.
+(Only My race and 3rd Class Transfer may take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_level.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/no_level.htm
similarity index 61%
rename from L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_level.htm
rename to L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/no_level.htm
index d3e0c67d22..c0b3805716 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_level.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10370_MenacingTimes/no_level.htm
@@ -1,3 +1,3 @@
You don't meet level requirements
-(Quest available from level 65 to 70)
+(Quest available from level 76 - 81)
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-01.htm
new file mode 100644
index 0000000000..330f4778a3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-01.htm
@@ -0,0 +1,5 @@
+Gerkenshtein:
+I believe I have another lead. The path that leads to the Imperial Tomb, do you know of it? It seems that the creatures there are not the same as the creatures that used to guard that path.
+The creatures are... different. I cannot be certain, but some of these creatures have a strange aura to them. I need to know more to be certain though.It might be worth looking further into see if there is a connection between these new creatures and Shilen.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-02.htm
new file mode 100644
index 0000000000..17f4e4da4e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-02.htm
@@ -0,0 +1,4 @@
+Gerkenshtein: As I was saying, yes these creatures are quite different that the ones who used to roam the area. My Cryptozoology is a bit rusty, but it appears they are a rare species of Succubus. These creatures do not appear to have any of the traditional characteristics of a true Succubus with the exception of their one desire to drain the life out of you. Again, I would like for you to find out if these cratures are here due Shilen.
+I`m afraid it this task isn`t as easy as watching elpies. It requires a bit more of a hands-on approach. I need you to kill a fair amount of these Succubus creatures and observe their reactions.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-03.htm
new file mode 100644
index 0000000000..2e79db31a6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-03.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Oh, and one last thing. If you encounter anything out of the ordinary be sure let me know. It`s probably nothing important, but any little detail could be extremely helpful in this investigation.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-04.htm
new file mode 100644
index 0000000000..04c1a6a1c8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-04.htm
@@ -0,0 +1,5 @@
+Gerkenshtein:
+Exellent! Here are the creatures I need you to defeat.
+The easiest creatures are the Succubus Soldiers, Succubus Warriors, Succubus Archers, and Succubus Shamans. The ones that make things more interesting are the Succubus Disciples. They are bit rarer than the others but you should be able to find enough in the area. I believe they are called Bloody Succubi.
+Please defeat these creatures then let me know what you find.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-05.html
new file mode 100644
index 0000000000..bbffe07b98
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-05.html
@@ -0,0 +1,5 @@
+Gerkenshtein:
+I do not believe you have not completed your quest yet.
+You probably haven`t killed enough Succubus Soldiers, Succubus Warriors, Succubus Archers, and Succubus Shamans. Or maybe you are having a bit of difficulty with the Bloody Succubi.Either way, there`s still more work that needs to be done.
+Oh and don`t forget, if anything strange happens, to you be sure and take note of it.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-06.html
new file mode 100644
index 0000000000..258f39fba2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-06.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Ah, you are back. Did you find the Succubus?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-07.html
new file mode 100644
index 0000000000..2add430ea0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-07.html
@@ -0,0 +1,5 @@
+Gerkenshtein:
+Very interesting! i`m astonished. It`s true. Most who would try to gather this type of informatinon would be met with a quick and probably extremely painful death, but you seem to just breez through these types of tasks.
+Anything else happen while you were defeating these creatures?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-08.html
new file mode 100644
index 0000000000..25439afee8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-08.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Hmm. Maybe you somehow inherited the power of the Succubus!
+I`ll need to confirm with some of my fellow scholars to see if they have heard anything like this happening before. Get some rest and let me know when you are ready to continue.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/Q10371_GraspThyPower.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/Q10371_GraspThyPower.java
new file mode 100644
index 0000000000..c38e157c8d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/Q10371_GraspThyPower.java
@@ -0,0 +1,206 @@
+/*
+ * 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.Q10371_GraspThyPower;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10370_MenacingTimes.Q10370_MenacingTimes;
+
+/**
+ * Grasp Thy Power (10371)
+ * @URL https://l2wiki.com/Grasp_Thy_Power
+ * @author Gigi
+ */
+public class Q10371_GraspThyPower extends Quest
+{
+ // NPCs
+ private static final int GERKENSHTEIN = 33648;
+ // Monster's
+ private static final int SUCCUBUS_SOLDIER = 23181;
+ private static final int SUCCUBUS_WARRIOR = 23182;
+ private static final int SUCCUBUS_ARCHER = 23183;
+ private static final int SUCCUBUS_SHAMAN = 23184;
+ private static final int BLOODY_SUCCUBUS = 23185;
+ // Items
+ private static final ItemHolder ADENA = new ItemHolder(57, 484990);
+ // Reward
+ private static final int EXP_REWARD = 22641900;
+ private static final int SP_REWARD = 5434;
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final int MAX_LEVEL = 81;
+
+ public Q10371_GraspThyPower()
+ {
+ super(10371);
+ addStartNpc(GERKENSHTEIN);
+ addTalkId(GERKENSHTEIN);
+ addKillId(SUCCUBUS_SOLDIER, SUCCUBUS_WARRIOR, SUCCUBUS_ARCHER, SUCCUBUS_SHAMAN, BLOODY_SUCCUBUS);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondCompletedQuest(Q10370_MenacingTimes.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33648-02.htm":
+ case "33648-03.htm":
+ case "33648-07.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33648-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33648-08.html":
+ {
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ giveItems(player, ADENA);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if ((qs.isCreated()) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "33648-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "33648-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33648-06.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "complete.htm";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ switch (npc.getId())
+ {
+ case SUCCUBUS_SOLDIER:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_SOLDIER));
+ if (kills < 12)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_SOLDIER), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_WARRIOR:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_WARRIOR));
+ if (kills < 12)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_WARRIOR), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_ARCHER:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_ARCHER));
+ if (kills < 8)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_ARCHER), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_SHAMAN:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_SHAMAN));
+ if (kills < 8)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_SHAMAN), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case BLOODY_SUCCUBUS:
+ {
+ int kills = qs.getInt(Integer.toString(BLOODY_SUCCUBUS));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(BLOODY_SUCCUBUS), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SUCCUBUS_SOLDIER, qs.getInt(Integer.toString(SUCCUBUS_SOLDIER)));
+ log.addNpc(SUCCUBUS_WARRIOR, qs.getInt(Integer.toString(SUCCUBUS_WARRIOR)));
+ log.addNpc(SUCCUBUS_ARCHER, qs.getInt(Integer.toString(SUCCUBUS_ARCHER)));
+ log.addNpc(SUCCUBUS_SHAMAN, qs.getInt(Integer.toString(SUCCUBUS_SHAMAN)));
+ log.addNpc(BLOODY_SUCCUBUS, qs.getInt(Integer.toString(BLOODY_SUCCUBUS)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(SUCCUBUS_SOLDIER)) >= 12) && (qs.getInt(Integer.toString(SUCCUBUS_WARRIOR)) >= 12) && (qs.getInt(Integer.toString(SUCCUBUS_ARCHER)) >= 8) && (qs.getInt(Integer.toString(SUCCUBUS_SHAMAN)) >= 8) && (qs.getInt(Integer.toString(BLOODY_SUCCUBUS)) >= 5))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/complete.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/complete.htm
new file mode 100644
index 0000000000..5d0c0b34fe
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/complete.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+I know that this is a very interesting case, but it looks loke you have already finished this task. You efforts are best spent elsewhere.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/no_level.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/no_level.htm
new file mode 100644
index 0000000000..c0b3805716
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/no_level.htm
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 76 - 81)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/restriction.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/restriction.html
new file mode 100644
index 0000000000..91b300594d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10371_GraspThyPower/restriction.html
@@ -0,0 +1,3 @@
+Vorbos:
+(Quest only available to Ertheia characters Lv. 76-81 or above who have completed the quest "Menacing Times.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-01.html
new file mode 100644
index 0000000000..24306c92a0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-01.html
@@ -0,0 +1,4 @@
+Captain Andrei:
+So, you have returned from the Shrine of Loyalty. Did you or Gerkenshtein find anything there?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-02.html
new file mode 100644
index 0000000000..1466d752b7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-02.html
@@ -0,0 +1,4 @@
+Captain Andrei:
+Hmm. Creatures that can harness the power of Shilen? This is not good. I`ll deliver this to my superiors at once. You have done a great job, friend. I can tell by those wounds and scars that you sacrificed a great deal to get us this informated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-03.html
new file mode 100644
index 0000000000..73d88ede09
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-03.html
@@ -0,0 +1,10 @@
+Captain Andrei:
+Oh yes, of course. We don`t have much in terms of Adena to give you but we do have a surplus of Attribute Crystals.
+Again, we appreciate the wotk you have done in the Shrine of Loyalty. Please choose which Crystal you want.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-04.html
new file mode 100644
index 0000000000..5a290e8e6a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-04.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+Again, we appreciate your work on handing the Succubus situation around the Shrine of Loyalty.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-01.htm
new file mode 100644
index 0000000000..6a0abbb235
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-01.htm
@@ -0,0 +1,5 @@
+Gerkenshtein:
+Ah, you`re back. If ypu have a moment, I would like to discuss the power you felt the other day during your quest.
+Which creature did you say you acquired thepower from?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-02.htm
new file mode 100644
index 0000000000..1d55821554
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-02.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Ah, yes... the Bloody Succubus...the stronger of the creatures. Explain to me what happened after delivering the fatal blow to the Succubus.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-03.htm
new file mode 100644
index 0000000000..5557248d33
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-03.htm
@@ -0,0 +1,5 @@
+Gerkenshtein:
+Hmmm. This does indeed sound like these creatures are from Shilen. It will be difficult to explain this to others without some from of proof.
+I do not doubt your words, but others will need some evidence to prove this threat. I hate to throw you back into the fire but I need proof in order to finish my report. Will you undertake this quest?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-04.htm
new file mode 100644
index 0000000000..600078cba5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-04.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Exellent! As you mentioned, the strongest of the creatures is the Blood Succubus. They are also known as Succubus Disciples, but that is beside the point.
+I need you to kill these creatures and extract from them their Essence. I need you to collect 10 Succubus Essences from their corpes before they turn to ash and bring them back to me. As soon as you return I can finish my report.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-05.html
new file mode 100644
index 0000000000..a0c0cdee19
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-05.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Do you require further instructions or need anything else? Please find a Bloody Succubus, kill it, and extract its Essence. You must collect 10 of them.
+Once you`re done, bring them to me. I will be waiting.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-06.html
new file mode 100644
index 0000000000..93cc0cb2f9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-06.html
@@ -0,0 +1,6 @@
+Gerkenshtein:
+Yes, have you collected all of the Succubus Essences? Good, give it to me. U wasn`t sure what to make of this until I had a chance to take a look at it. Yes, this is difinitely the source of the power you received. You did receive some of Shilen`s Power after all!
+If simple creatures such as this can harness the power of Shilen in other areas, we would be in severe trouble. Think of the endless armies of creatures with the her power!
+Here. This is a report of the things that have happened here. Take it to Captain Andrei. It describes what I have been able to verify through your actions in the area. This is for his eyes only and is top secret. Do not let anyone know of this.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-07.html
new file mode 100644
index 0000000000..67728faa97
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-07.html
@@ -0,0 +1,3 @@
+Gerkenshtein:
+This is a report of the things that have happened here. Take it to Captain Andrei. It describes what I have been able to verify through your actions in the area. This is for his eyes only and is top secret. Do not let anyone know of this.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/Q10372_PurgatoryVolvere.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/Q10372_PurgatoryVolvere.java
new file mode 100644
index 0000000000..0c56730893
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/Q10372_PurgatoryVolvere.java
@@ -0,0 +1,187 @@
+/*
+ * 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.Q10372_PurgatoryVolvere;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10371_GraspThyPower.Q10371_GraspThyPower;
+
+/**
+ * Purgatory Volvere (10372)
+ * @URL https://l2wiki.com/Purgatory_Volvere
+ * @author Gigi
+ */
+public class Q10372_PurgatoryVolvere extends Quest
+{
+ // NPCs
+ private static final int GERKENSHTEIN = 33648;
+ private static final int ANDREI = 31292;
+ // Monster's
+ private static final int BLOODY_SUCCUBUS = 23185;
+ // Items
+ private static final int SUCCUBUS_ESENCE = 34766;
+ private static final int GERKENSHTEINS_REPORT = 34767;
+ // Reward
+ private static final int EXP_REWARD = 23009000;
+ private static final int SP_REWARD = 5522;
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final int MAX_LEVEL = 81;
+
+ public Q10372_PurgatoryVolvere()
+ {
+ super(10372);
+ addStartNpc(GERKENSHTEIN);
+ addTalkId(GERKENSHTEIN, ANDREI);
+ addKillId(BLOODY_SUCCUBUS);
+ registerQuestItems(SUCCUBUS_ESENCE, GERKENSHTEINS_REPORT);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondCompletedQuest(Q10371_GraspThyPower.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "33648-02.htm":
+ case "33648-03.htm":
+ case "31292-02.html":
+ case "31292-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33648-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33648-07.html":
+ {
+ takeItems(player, SUCCUBUS_ESENCE, -1);
+ giveItems(player, GERKENSHTEINS_REPORT, 1);
+ qs.setCond(0);
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ default:
+ {
+ if (event.startsWith("giveReward_") && qs.isCond(3))
+ {
+ final int itemId = Integer.parseInt(event.replace("giveReward_", ""));
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ takeItems(player, GERKENSHTEINS_REPORT, -1);
+ giveItems(player, itemId, 15);
+ qs.exitQuest(false, true);
+ htmltext = "31292-04.html";
+ 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.COMPLETED:
+ {
+ htmltext = "complete.htm";
+ break;
+ }
+ case State.CREATED:
+ {
+ if (npc.getId() == GERKENSHTEIN)
+ {
+ htmltext = ((player.getClassId().level() == ClassLevel.FOURTH.ordinal()) ? "33648-01.htm" : "complete.htm");
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case GERKENSHTEIN:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "33648-05.html";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "33648-06.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "33648-07.html";
+ break;
+ }
+ }
+ break;
+ }
+ case ANDREI:
+ {
+ if ((qs.isCond(3)) && (getQuestItemsCount(player, GERKENSHTEINS_REPORT) > 0))
+ {
+ htmltext = "31292-01.html";
+ }
+ break;
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && (qs.isCond(1)))
+ {
+ if (giveItemRandomly(killer, npc, SUCCUBUS_ESENCE, 1, 10, 0.2, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/complete.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/complete.htm
new file mode 100644
index 0000000000..5d0c0b34fe
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/complete.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+I know that this is a very interesting case, but it looks loke you have already finished this task. You efforts are best spent elsewhere.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/no_level.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/no_level.htm
new file mode 100644
index 0000000000..c0b3805716
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/no_level.htm
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 76 - 81)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/restriction.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/restriction.html
new file mode 100644
index 0000000000..dc8f028865
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/restriction.html
@@ -0,0 +1,3 @@
+Vorbos:
+(Quest only available to Ertheia characters Lv. 76-81 or above who have completed the quest "Grasp Thy Power.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-01.htm
new file mode 100644
index 0000000000..efd51ad891
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-01.htm
@@ -0,0 +1,4 @@
+Captain Andrei:
+Evil creatures with which you faced the last time at the Shrine of Loyalty, going to the Tomb of the Emperor. It seems that these monsters, the generation of Shilen, looking for something to revive her mistress.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-02.htm
new file mode 100644
index 0000000000..e286ef425c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-02.htm
@@ -0,0 +1,6 @@
+Captain Andrei:
+Those are the words of Agnes. According to her, some wandering Kamaels sought her out, told her the story, and requested her help. We don't know if the story is true, but we cannot ignore it either.
+ It is definitely true that the Succubus monsters are gaining strength. Our territory is being threatend more and more by them, but I cannot send out troops just on the word of some wandering Kamaels... What a bind
+ Can you investigate this mattr? Then we will know whether their words are true or not.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-03.htm
new file mode 100644
index 0000000000..af078675a2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-03.htm
@@ -0,0 +1,4 @@
+Captain Andrei:
+Now, then, first speak withAgnes. Listen to her story about the wandering Kamaels, and then help her.
+Agnes stays here in the Town of Goddard with her followers, so she will be easy to find
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-04.html
new file mode 100644
index 0000000000..a32ac1b9c7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-04.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+Hmm? You have already returned? met Agnes? She did not say anything about the errant Kamael?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-01.html
new file mode 100644
index 0000000000..4087694529
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-01.html
@@ -0,0 +1,5 @@
+Saint of Light Agnes:
+Good afternoon. You came to me after hearing the story of Andrei? Yes. Right. These were previously Kamael Kamael Village elders, but now that the village destroyed by order of Shilen, they eke out a miserable existence.
+The elders led a vagabond life. And now, when they learned that Shilen saves the power to revive, they decided to stop her. However, their own forces for that is not enough, so they asked me for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-02.html
new file mode 100644
index 0000000000..6315007a96
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-02.html
@@ -0,0 +1,4 @@
+Saint of Light Agnes:
+They are working at the Imperial Tomb, desperately tryng to step Shilen's spirits from escaping. If you're willing to help, go to the Imperial tomb and find Zenya
+Remember. We must block Shilen's resurrection no matter what. That is the only wey to protect this world.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-03.html
new file mode 100644
index 0000000000..f473430b0b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-03.html
@@ -0,0 +1,2 @@
+Saint of Light Agnes:
+You met with Zeniey in the Tomb of the Emperor? Rather, look for it. She needs your help.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-01.html
new file mode 100644
index 0000000000..4fcf0e2b4a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-01.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+Agnes sent you? What a relief. Thank you for coming. I am using my powers to seal the Succubus Monsters inside the Imperial Tomb. Their resistance is difficult to manage.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-02.html
new file mode 100644
index 0000000000..818960484a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-02.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+Thank you. Let's talk about the details leter. First go to the Imperial Tomb and kill 15 Phantom Soldiers, 10 Phantom Warriors, 5 Phantom Archers, 5 Phantom Shamans, and 5 Phantom martyrs. That will make my task easier.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-03.html
new file mode 100644
index 0000000000..d62c474dcb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-03.html
@@ -0,0 +1,5 @@
+Vice Hierarch Zenya:
+Thank you! Thanks to you we were able to overcome the crisis. But you can not relax. These creatures Shilen and will climb out of the Tomb. We now have a free minute, so I can introduce myself to you. My name is Zenia, Assistant Tetrarch Kamael Village.
+The village where I lived, was burned to the ground by order of Shilen. Then we with my friends barely managed to escape. We lost their homeland and dispersed throughout the world in all directions. I recently learned that his creatures Shilen ordered to gather the strength to revive her.
+In what may become necessary to prevent her to be reborn. If the goddess reborn, this world will fill the die. Our overall mission is greater than the racial interests. So after some time I again ask you for help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-04.html
new file mode 100644
index 0000000000..016f1a98d6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-04.html
@@ -0,0 +1,2 @@
+Vice Hierarch Zenya:
+You have not yet completed the task, which I gave to you. Most of the case.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/Q10374_ThatPlaceSuccubus.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/Q10374_ThatPlaceSuccubus.java
new file mode 100644
index 0000000000..ac877828b0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/Q10374_ThatPlaceSuccubus.java
@@ -0,0 +1,276 @@
+/*
+ * 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.Q10374_ThatPlaceSuccubus;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * That Place Succubus (10374)
+ * @URL https://l2wiki.com/That_Place_Succubus
+ * @author Gigi
+ */
+public class Q10374_ThatPlaceSuccubus extends Quest
+{
+ // NPCs
+ private static final int ANDREI = 31292;
+ private static final int AGNES = 31588;
+ private static final int ZENYA = 32140;
+ // Items
+ private static final ItemHolder ADENA = new ItemHolder(57, 500560);
+ // Reward
+ private static final int EXP_REWARD = 23747100;
+ private static final int SP_REWARD = 5699;
+ // Misc
+ private static final int MIN_LEVEL = 80;
+ // Monsters
+ private static final int PHANTOM_SOLIDER = 23186;
+ private static final int PHANTOM_WARRIOR = 23187;
+ private static final int PHANTOM_ARCHER = 23188;
+ private static final int PHANTOM_SHAMAN = 23189;
+ private static final int PHANTOM_MARTYR = 23190;
+
+ public Q10374_ThatPlaceSuccubus()
+ {
+ super(10374);
+ addStartNpc(ANDREI);
+ addTalkId(ANDREI, AGNES, ZENYA);
+ addKillId(PHANTOM_SOLIDER, PHANTOM_WARRIOR, PHANTOM_ARCHER, PHANTOM_SHAMAN, PHANTOM_MARTYR);
+ addCondMinLevel(MIN_LEVEL, "noLevel.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "31292-02.htm":
+ case "31292-04.html":
+ case "31588-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "31292-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "31588-02.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "32140-02.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ if ((npc.getId() == ZENYA) && (player.getClassId().level() == ClassLevel.THIRD.ordinal()))
+ {
+ return "noClass.html";
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ switch (npc.getId())
+ {
+ case ANDREI:
+ {
+ htmltext = "31292-01.htm";
+ }
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case ANDREI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31292-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "31292-04.html";
+ }
+ break;
+ }
+ case AGNES:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31588-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "31588-03.html";
+ }
+ break;
+ }
+ case ZENYA:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "32140-01.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "32140-04.html";
+ }
+ else if (qs.isCond(4))
+ {
+ giveItems(player, ADENA);
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THANK_YOU_WITH_YOUR_HELP_WE_WERE_ABLE_TO_SURVIVE_A_GREAT_CRISIS));
+ qs.exitQuest(false, true);
+ htmltext = "32140-03.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, 3, 3, npc);
+ if ((qs != null) && qs.isCond(3) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ switch (npc.getId())
+ {
+ case PHANTOM_SOLIDER:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_SOLIDER));
+ if (kills < 15)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_SOLIDER), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case PHANTOM_WARRIOR:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_WARRIOR));
+ if (kills < 10)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_WARRIOR), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case PHANTOM_ARCHER:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_ARCHER));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_ARCHER), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case PHANTOM_SHAMAN:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_SHAMAN));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_SHAMAN), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case PHANTOM_MARTYR:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_MARTYR));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_MARTYR), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(PHANTOM_SOLIDER, qs.getInt(Integer.toString(PHANTOM_SOLIDER)));
+ log.addNpc(PHANTOM_WARRIOR, qs.getInt(Integer.toString(PHANTOM_WARRIOR)));
+ log.addNpc(PHANTOM_ARCHER, qs.getInt(Integer.toString(PHANTOM_ARCHER)));
+ log.addNpc(PHANTOM_SHAMAN, qs.getInt(Integer.toString(PHANTOM_SHAMAN)));
+ log.addNpc(PHANTOM_MARTYR, qs.getInt(Integer.toString(PHANTOM_MARTYR)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(PHANTOM_SOLIDER)) >= 15) && (qs.getInt(Integer.toString(PHANTOM_WARRIOR)) >= 10) && (qs.getInt(Integer.toString(PHANTOM_ARCHER)) >= 5) && (qs.getInt(Integer.toString(PHANTOM_SHAMAN)) >= 5) && (qs.getInt(Integer.toString(PHANTOM_MARTYR)) >= 5))
+ {
+ qs.setCond(4, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noClass.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noClass.html
new file mode 100644
index 0000000000..a1d396c156
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noClass.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+I feel your strength Germunkusa. Now we are able to deal with all problems. And your other necessary assistance.
+(This is a task only for the characters, Completed the 3rd Class Transfer; Before Awakening.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noLevel.html
new file mode 100644
index 0000000000..89630fa049
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noLevel.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back
+(You must be level 80 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-01.htm
new file mode 100644
index 0000000000..c23fab1b23
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-01.htm
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+The demons that have captured the Emperors Tomb, in fact, are not creatures of this world - they are causing the world of dreams. They may appear to exist in this world thanks to the special creatures - Dreams of the Apostles. Having a special power of Shilen, they bring to our world nightmares.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-02.htm
new file mode 100644
index 0000000000..aec85d647f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-02.htm
@@ -0,0 +1,5 @@
+Vice Hierarch Zenya:
+I heard something about that from anyone. Whoever it was, it took too much time to think about it.
+First of all, we need to destroy and weaken the Apostles Dream of demons. So...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-03.html
new file mode 100644
index 0000000000..ce20e11d7f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-03.html
@@ -0,0 +1,5 @@
+Vice Hierarch Zenya:
+Adventurer. I am glad that you are back safely.Thanks to your efforts. The Succubus Disciples and their power im this world have weakened.
+But we cannot let our guard down yet. Inside the Imperial tomb, there are more powerful disciples.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-04.html
new file mode 100644
index 0000000000..031a0e1826
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-04.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+I knew you would say that. Adventurer. Now! Go inside again to the Imperial Tomb.Go deeper inside an d kill the Succubus of Insanity and Succubus of Silence, 5 each of thrm.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-05.html
new file mode 100644
index 0000000000..0e0db6377c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-05.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+The task was very difficult, and you performed it so beautifully, it's just wonderful. So... Thanks to your servant of Shilen, no doubt, have lost a lot of effort. Of course, it is too early to relax. With the machinations of Shilen has not yet finished with its odious creatures, too. I want to stay and observe them, and yet you'd better have a rest. If I need help, I'll let you know.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-06.html
new file mode 100644
index 0000000000..7f465306e4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-06.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+Thank you for having made the right decision. So... Sign In Imperial Tomb. Go on and kill the Succubus of Death and Succubus of Darkness, 5 of each of them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-07.html
new file mode 100644
index 0000000000..0c2246d26c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-07.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+I can not believe your words. So... Come on! Then quickly go into Emperors Tomb. At this time, will need to go further than usual.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/Q10375_SuccubusDisciples.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/Q10375_SuccubusDisciples.java
new file mode 100644
index 0000000000..958619d3a3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/Q10375_SuccubusDisciples.java
@@ -0,0 +1,243 @@
+/*
+ * 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.Q10375_SuccubusDisciples;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10374_ThatPlaceSuccubus.Q10374_ThatPlaceSuccubus;
+
+/**
+ * Succubus Discipless (10375)
+ * @URL https://l2wiki.com/Succubus_Disciples
+ * @author Gigi
+ */
+public class Q10375_SuccubusDisciples extends Quest
+{
+ // NPCs
+ private static final int ZENYA = 32140;
+ // Items
+ private static final ItemHolder ADENA = new ItemHolder(57, 498700);
+ // Reward
+ private static final int EXP_REWARD = 24782300;
+ private static final int SP_REWARD = 5947;
+ // Misc
+ private static final int MIN_LEVEL = 80;
+ // Monsters
+ private static final int SUCCUBUS_OF_DEATH = 23191;
+ private static final int SUCCUBUS_OF_DARKNESS = 23192;
+ private static final int SUCCUBUS_OF_LUNACY = 23197;
+ private static final int SUCCUBUS_OF_SILENCE = 23198;
+
+ public Q10375_SuccubusDisciples()
+ {
+ super(10375);
+ addStartNpc(ZENYA);
+ addTalkId(ZENYA);
+ addKillId(SUCCUBUS_OF_DEATH, SUCCUBUS_OF_DARKNESS, SUCCUBUS_OF_SILENCE, SUCCUBUS_OF_LUNACY);
+ addCondMinLevel(MIN_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10374_ThatPlaceSuccubus.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "32140-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32140-06.html":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32140-04.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+
+ if ((npc.getId() == ZENYA) && (player.getClassId().level() == ClassLevel.THIRD.ordinal()))
+ {
+ return "noClass.html";
+ }
+
+ switch (npc.getId())
+ {
+ case ZENYA:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "32140-01.htm";
+ }
+ else if (qs.isStarted())
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "32140-07.html";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "32140-03.html";
+ break;
+ }
+ case 4:
+ {
+ if (qs.isCond(4))
+ {
+ giveItems(player, ADENA);
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOU_ARE_TRULY_AMAZING_FOR_DEFEATING_THE_SUCCUBUS_DISCIPLES));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
+ qs.exitQuest(false, true);
+ htmltext = "32140-05.html";
+ }
+ break;
+ }
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ switch (npc.getId())
+ {
+ case SUCCUBUS_OF_DEATH:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_OF_DEATH));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_OF_DEATH), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_OF_DARKNESS:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_OF_DARKNESS));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_OF_DARKNESS), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SUCCUBUS_OF_DEATH, qs.getInt(Integer.toString(SUCCUBUS_OF_DEATH)));
+ log.addNpc(SUCCUBUS_OF_DARKNESS, qs.getInt(Integer.toString(SUCCUBUS_OF_DARKNESS)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(SUCCUBUS_OF_DEATH)) >= 5) && (qs.getInt(Integer.toString(SUCCUBUS_OF_DARKNESS)) >= 5))
+ {
+ qs.setCond(2);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ }
+ }
+
+ else if ((qs != null) && qs.isCond(3) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ switch (npc.getId())
+ {
+ case SUCCUBUS_OF_SILENCE:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_OF_SILENCE));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_OF_SILENCE), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_OF_LUNACY:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_OF_LUNACY));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_OF_LUNACY), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SUCCUBUS_OF_SILENCE, qs.getInt(Integer.toString(SUCCUBUS_OF_SILENCE)));
+ log.addNpc(SUCCUBUS_OF_LUNACY, qs.getInt(Integer.toString(SUCCUBUS_OF_LUNACY)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(SUCCUBUS_OF_SILENCE)) >= 5) && (qs.getInt(Integer.toString(SUCCUBUS_OF_LUNACY)) >= 5))
+ {
+ qs.setCond(4);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noClass.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noClass.html
new file mode 100644
index 0000000000..a1d396c156
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noClass.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+I feel your strength Germunkusa. Now we are able to deal with all problems. And your other necessary assistance.
+(This is a task only for the characters, Completed the 3rd Class Transfer; Before Awakening.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noLevel.html
new file mode 100644
index 0000000000..89630fa049
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noLevel.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back
+(You must be level 80 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/restriction.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/restriction.html
new file mode 100644
index 0000000000..004c14fb31
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/restriction.html
@@ -0,0 +1,3 @@
+Vorbos:
+(Quest only available to Ertheia characters Lv. 80+ or above who have completed the quest "That Place Succubus.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-01.htm
new file mode 100644
index 0000000000..d8626b2d4f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-01.htm
@@ -0,0 +1,4 @@
+Captain Andrei:
+Hmm... Complicated. So there was something very powerful inside the Imperial Tomb that was needed for Shilen's resurrection, and it originally belonged to Einhasad... And now, servants of the giant called Hermuncus have taken it? Well? Is that right?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-02.htm
new file mode 100644
index 0000000000..3f9ed96ff0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-02.htm
@@ -0,0 +1,4 @@
+Captain Andrei:
+Hmm I see. But putting aside the talk about gods and giants, did you say that you defeated the head of the monsters in the Imperial Tomb with your own hands? What was it called again? Blood Thirst?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-03.html
new file mode 100644
index 0000000000..f69db416e4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-03.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+All right! That's plenty! The immediate threat to the Goddard Territory has disappeared. We will worry later about the things to come!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-01.html
new file mode 100644
index 0000000000..0febd2f4e3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-01.html
@@ -0,0 +1,4 @@
+Agnes:
+I'm glad that you returned safely. Did you meet the Kamaels that I told you about?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-02.html
new file mode 100644
index 0000000000..8f49a41407
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-02.html
@@ -0,0 +1,5 @@
+Agnes:
+What?! They became followers of Hermuncus?! How did I fail to notice this earlier?
+Please listen! The power that the Kamael stole originally belonged to Einhasad, not Hermuncus, though Hermuncus had stolen it from her. Some of it was probably scattered while Hermuncus was spiriting it away. This... this is AWFUL!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-03.html
new file mode 100644
index 0000000000..99fba3ce5c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-03.html
@@ -0,0 +1,4 @@
+Agnes:
+Well... well... oh.
+I need to study a few things, friend. You should return to Captain Andrei. With any luck, he'll have an answer to all this chaos.
+
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-01.html
new file mode 100644
index 0000000000..bb3f8ccfd6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-01.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+I have been waiting. I've heard much about you from Vice Hierarch Zenya. You've helped us a lot, right? I am sure you have heard some information already. I am here searching for traces of the Blood Thirst.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-02.html
new file mode 100644
index 0000000000..a3e67b51f5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-02.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+That evil spirit exists and yet it does not within the Imperial Tomb. It is at the border between reality and delusion, so it is not easy to find. But after a long time of searching, I discovered its hide out. Will you go with me there, and defeat the Blood Thirst?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-03.html
new file mode 100644
index 0000000000..7156341db5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-03.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+You have chosen wisely! Tell me when you are ready. We must go to the border between reality and delusion to defeat the Blood Thirst and shatter Shilen's futile dream.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-04.html
new file mode 100644
index 0000000000..8efc1945d6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-04.html
@@ -0,0 +1,5 @@
+Vice Hierarch Casca:
+Now! Defeat the Blood Thirst before you! Defeat him and return to me. Then, I will let you go back to the Imperial Tomb.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-05.html
new file mode 100644
index 0000000000..6e821f5748
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-05.html
@@ -0,0 +1,3 @@
+Vice Hierarch Casca:
+I still cannot forget the day that my hometown was destroyed by Shilen. We could only scream and await our death... Until suddenly, our savior Hermuncus appeared and rescued us! He is the only one who can fight against Shilen and retain the peace of this world.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-06.html
new file mode 100644
index 0000000000..36254f55d3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-06.html
@@ -0,0 +1,6 @@
+Vice Hierarch Casca:
+Adventurer, well done. Your efforts were instrumental in defeating the Blood Thirst and in retrieving some of the power that our master seeks. If this power had gone to Shilen, it would have surely helped her resurrect into this world. Thankfully that didn't happen.
+
+
+
+
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-07.html
new file mode 100644
index 0000000000..2a7a29ceca
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-07.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+Our master is Hermuncus. He was one of the giants who created the Kamael race. When the Isle of Souls was destroyed by Shilen, he saved our people. We who escaped the destruction pledged our lives to him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-08.html
new file mode 100644
index 0000000000..8d257431eb
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-08.html
@@ -0,0 +1,5 @@
+Vice Hierarch Casca:
+Using you, huh? Very well, I will not deny it. But you must know that this was done for the good of all of us. Shilen's resurrection must be stopped at all costs, and we should do everything we can to prevent her from gaining even one more foothold in this war. Besides, the power that Shilen had sought through her minions here at the Imperial Tomb had originally belonged to Hermuncus; it is only right that we return it to its rightful owner.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-09.html
new file mode 100644
index 0000000000..1052c21a4f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-09.html
@@ -0,0 +1,5 @@
+Vice Hierarch Casca:
+It means great things for you, but you must be patient. I shall leave now, but first, I will return you to the Town of Goddard. When you arrive, please thank Agnes for me. It was because of her that I was able to meet you. Now, are you ready?
+
+
+
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139.html
new file mode 100644
index 0000000000..d52eb218e6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+I still cannot forget the day that my hometown was destroyed by Shilen. We could only scream and await our death... Until suddenly, our savior Hermuncus appeared and rescued us! He is the only one who can fight against Shilen and retain the peace of this world.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-01.htm
new file mode 100644
index 0000000000..12008a699d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-01.htm
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+On the day when the order was destroyed by Shilen Island Shower with me ran Keska. He also hates Shilen, as I do. Now he is looking for traces of Vladiveyna in the Tomb of the Emperors.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-02.htm
new file mode 100644
index 0000000000..ea42afed27
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-02.htm
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+Vladiveyn - Ruler of Dreams. Now he put the leader of the demons in the Tomb of the Emperor. If we win this demon and thwart Shilen, perhaps, the demons will disappear altogether from the Tombs of the Emperors. Try to beat this demon.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-03.html
new file mode 100644
index 0000000000..036c8adce5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-03.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+I feel your strength Germunkusa. Now we are able to deal with all problems. And your other necessary assistance.
+(This is a task only for the characters, the last third change of profession, and not degenerate.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-06.html
new file mode 100644
index 0000000000..9b5993a05f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-06.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+Here's a joy. This is the answer I was waiting for. Then quickly go to the Imperial Tomb, find there Assistant Tetrarch Kesku, talk to him and help him defeat the Vladiveyna.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-07.html
new file mode 100644
index 0000000000..94e8e9a6e0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-07.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+So... You met with Cesca in the Tomb of the Emperors?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/Q10376_BloodyGoodTime.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/Q10376_BloodyGoodTime.java
new file mode 100644
index 0000000000..6f442ad5f7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/Q10376_BloodyGoodTime.java
@@ -0,0 +1,252 @@
+/*
+ * 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.Q10376_BloodyGoodTime;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.model.Location;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+
+import quests.Q10375_SuccubusDisciples.Q10375_SuccubusDisciples;
+
+/**
+ * Bloody Good Time (10376)
+ * @URL https://l2wiki.com/Bloody_Good_Time
+ * @author Gigi
+ */
+public class Q10376_BloodyGoodTime extends Quest
+{
+ // NPCs
+ private static final int ZENYA = 32140;
+ private static final int CASCA = 32139;
+ private static final int AGNES = 31588;
+ private static final int ANDREI = 31292;
+ private static final int MOB_BLOODY_VEIN = 27481;
+ // Misc
+ private static final int MIN_LEVEL = 80;
+ // Reward
+ private static final int EXP_REWARD = 121297500;
+ private static final int SP_REWARD = 29111;
+ // Items
+ private static final ItemHolder REWARD_MAGIC_RUNE_CLIP = new ItemHolder(32700, 1);
+ // Location
+ private static final Location RETURN_LOC = new Location(178648, -84903, -7216);
+
+ public Q10376_BloodyGoodTime()
+ {
+ super(10376);
+ addStartNpc(ZENYA);
+ addTalkId(ZENYA, CASCA, AGNES, ANDREI);
+ addFirstTalkId(CASCA);
+ addKillId(MOB_BLOODY_VEIN);
+ addCondMinLevel(MIN_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10375_SuccubusDisciples.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "32139-05.html":
+ case "32139-07.html":
+ case "32139-08.html":
+ case "32139-09.html":
+ case "31588-02.html":
+ case "32140-02.htm":
+ case "32140-07.html":
+ case "31292-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32140-06.html":
+ {
+ qs.startQuest();
+ htmltext = "32140-06.html";
+ break;
+ }
+ case "32139-02.html":
+ {
+ if (qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ }
+ case "return":
+ {
+ if (player.isInCombat())
+ {
+ player.sendPacket(new ExShowScreenMessage("You cannot teleport when you in combat status.", 5000));
+ }
+ else
+ {
+ qs.setCond(2);
+ player.teleToLocation(RETURN_LOC, 0);
+ player.setInstance(null);
+ }
+ }
+ case "32139-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "31588-03.html":
+ {
+ qs.setCond(6, true);
+ break;
+ }
+ case "31292-03.html":
+ {
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.WELL_DONE_I_WAS_RIGHT_TO_ENTRUST_THIS_TO_YOU));
+ giveItems(player, REWARD_MAGIC_RUNE_CLIP);
+ htmltext = event;
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ switch (npc.getId())
+ {
+ case ZENYA:
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (((player.getClassId().level() != ClassLevel.AWAKEN.ordinal()) && (player.getRace() != Race.ERTHEIA)))
+ {
+ return "32140-01.htm";
+ }
+ else if ((player.getRace() == Race.ERTHEIA) && (player.getLevel() >= MIN_LEVEL))
+ {
+ return "32140-01.htm";
+ }
+ else
+ {
+ return "32140-03.html";
+ }
+ }
+ case State.STARTED:
+ {
+ return "32140-07.html";
+ }
+ case State.COMPLETED:
+ {
+ return "32140-05.htm";
+ }
+ }
+ break;
+
+ case CASCA:
+ {
+ if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ return "32139-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ return "32139-03.html";
+ }
+ else if (qs.isCond(3))
+ {
+ return "32139-04.html";
+ }
+ else if (qs.isCond(4))
+ {
+ return "32139-06.html";
+ }
+ }
+ break;
+ }
+
+ case AGNES:
+ {
+ if (qs.isStarted())
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = "31588-01.html";
+ }
+ else if (qs.isCond(6))
+ {
+ htmltext = "31588-03.html";
+ }
+ }
+ break;
+ }
+
+ case ANDREI:
+ {
+ if (qs.isStarted() && qs.isCond(6))
+ {
+ htmltext = "31292-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onFirstTalk(L2Npc npc, L2PcInstance player)
+ {
+ return "32139.html";
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState st = getQuestState(killer, false);
+
+ if ((st != null) && st.isCond(3))
+ {
+ st.setCond(4, true);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noClass.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noClass.html
new file mode 100644
index 0000000000..a1d396c156
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noClass.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+I feel your strength Germunkusa. Now we are able to deal with all problems. And your other necessary assistance.
+(This is a task only for the characters, Completed the 3rd Class Transfer; Before Awakening.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noLevel.html
new file mode 100644
index 0000000000..89630fa049
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noLevel.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back
+(You must be level 80 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/restriction.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/restriction.html
new file mode 100644
index 0000000000..74220425e5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/restriction.html
@@ -0,0 +1,3 @@
+Vorbos:
+(Quest only available to Ertheia characters Lv. 80+ or above who have completed the quest "Succubus Disciples.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01.htm
new file mode 100644
index 0000000000..741e8d5067
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01.htm
@@ -0,0 +1,4 @@
+Dadfena:
+The Execution Grounds... No, Guillotine Fortress. Now that I see it for myself, I see how they named the place. Still. Purpose brought me here
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01a.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01a.htm
new file mode 100644
index 0000000000..4f2d4357c3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01a.htm
@@ -0,0 +1,5 @@
+Dadfena:
+Actually, I am a plant researcher. When the Guillotine Fortress arose, something strange happened to the Mandragoras. I was asked to come here to investigate.
+But my heart is have, knowing that this disaster is caused by Shilen, the mother of us Dark Elves.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01b.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01b.htm
new file mode 100644
index 0000000000..f8b31928b0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01b.htm
@@ -0,0 +1,5 @@
+Dadfena:
+Well, I cannot disrupt the construction for my own personal feelings. Could you help me put the dead of this land to rest, for the sake of Dion?
+I will compensate you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-02.htm
new file mode 100644
index 0000000000..d425948f95
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-02.htm
@@ -0,0 +1,4 @@
+Dadfena:
+Oh, thank you! We must obtain Mandragora parts in order to proceed with the research. It is dangerous, but I need you to kill the Mandragoras, and obtain 5 Mandragora Stems from the Mandragoras of Joy and Sorrow and 5 Mandragora Roots from the Mandragoras Prayer.
+Hurry!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-03.html
new file mode 100644
index 0000000000..36c53f43bf
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-03.html
@@ -0,0 +1,3 @@
+Dadfena:
+We must obtain Mandragora parts in order to proceed with the research. It is dangerous, but I need you to kill the Mandragoras, and obtain 5 Mandragora Stems from the Mandragoras of Joy and Sorrow and 5 Mandragora Roots from the Mandragoras Prayer.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-04.html
new file mode 100644
index 0000000000..0bf62d5c23
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-04.html
@@ -0,0 +1,4 @@
+Dadfena:
+You have returned! Is everything done?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-05.html
new file mode 100644
index 0000000000..2eaf1119db
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-05.html
@@ -0,0 +1,3 @@
+Dadfena:
+Thank you. These will certainly help the research!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/Q10378_WeedingWork.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/Q10378_WeedingWork.java
new file mode 100644
index 0000000000..7635bcdbae
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10378_WeedingWork/Q10378_WeedingWork.java
@@ -0,0 +1,166 @@
+/*
+ * 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.Q10378_WeedingWork;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * Weeding Work (10378)
+ * @URL https://l2wiki.com/Weeding_Work
+ * @author Gigi
+ */
+public final class Q10378_WeedingWork extends Quest
+{
+ // NPC's
+ private static final int DADFPHYNA = 33697;
+ // Monster's
+ private static final int MANDRAGORA_OF_JOY_AND_SORROW = 23210;
+ private static final int MANDRAGORA_OF_PRAYER = 23211;
+ // Items
+ private static final int MANDRAGORA_ROOT = 34975;
+ private static final int MANDRAGORA_STEM = 34974;
+ private static final int SOE_GUILLOTINE_FORTRESS = 35292;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+
+ public Q10378_WeedingWork()
+ {
+ super(10378);
+ addStartNpc(DADFPHYNA);
+ addTalkId(DADFPHYNA);
+ addKillId(MANDRAGORA_OF_JOY_AND_SORROW, MANDRAGORA_OF_PRAYER);
+ registerQuestItems(MANDRAGORA_ROOT, MANDRAGORA_STEM);
+ addCondMinLevel(MIN_LEVEL);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33697-01a.htm":
+ case "33697-01b.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33697-02.htm":
+ {
+ qs.startQuest();
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, DADFPHYNA, NpcStringId.PLEASE_HELP_US_DISCOVER_THE_CAUSE_OF_THIS_CHAOS));
+ htmltext = event;
+ break;
+ }
+ case "33697-05.html":
+ {
+ giveAdena(player, 3000000, true);
+ giveItems(player, SOE_GUILLOTINE_FORTRESS, 2);
+ addExpAndSp(player, 845059770, 202814);
+ qs.exitQuest(false, true);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, DADFPHYNA, NpcStringId.THANK_YOU_IT_WILL_CERTAINLY_HELP_THE_RESEARCH));
+ htmltext = event;
+ 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 = "33697-01.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33697-03.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33697-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ 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))
+ {
+ switch (npc.getId())
+ {
+ case MANDRAGORA_OF_PRAYER:
+ {
+ if (getQuestItemsCount(player, MANDRAGORA_ROOT) < 5)
+ {
+ giveItems(player, MANDRAGORA_ROOT, 1);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case MANDRAGORA_OF_JOY_AND_SORROW:
+ {
+ if (getQuestItemsCount(player, MANDRAGORA_STEM) < 5)
+ {
+ giveItems(player, MANDRAGORA_STEM, 1);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ if ((getQuestItemsCount(player, MANDRAGORA_ROOT) >= 5) && (getQuestItemsCount(player, MANDRAGORA_STEM) >= 5))
+ {
+ 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);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/Q10380_TheExecutionersExecution.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/Q10380_TheExecutionersExecution.java
new file mode 100644
index 0000000000..90d7b160c0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/Q10380_TheExecutionersExecution.java
@@ -0,0 +1,191 @@
+/*
+ * 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.Q10380_TheExecutionersExecution;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+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.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10379_AnUninvitedGuest.Q10379_AnUninvitedGuest;
+
+/**
+ * The Executioner's Execution (10380)
+ * @URL https://l2wiki.com/The_Executioner%27s_Execution
+ * @author Gigi
+ */
+public final class Q10380_TheExecutionersExecution extends Quest
+{
+ // NPC's
+ private static final int ENDRIGO = 30632;
+ private static final int GUILLOTINE_OF_DEATH = 25892;
+ private static final int NAGDU_THE_DEFORMED = 23201;
+ private static final int SADIAC_THE_KILLER = 23199;
+ private static final int ROSENIAS_DIVINE_SPIRIT = 23208;
+ private static final int HASKAL_GHOST = 23205;
+ private static final int CANTA_STANDING_BEAST = 23203;
+ private static final int GAZAM = 23207;
+ private static final int TURAN_GHOST = 23200;
+ private static final int KILLER_FRANGS = 23204;
+ private static final int KALLBERA = 23209;
+ private static final int HAKAL_THE_BUTTCHERED = 23202;
+ private static final int SAMMITA = 23206;
+ // Item's
+ private static final int GLORIOUS_T_SHIRT = 35291;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+
+ public Q10380_TheExecutionersExecution()
+ {
+ super(10380);
+ addStartNpc(ENDRIGO);
+ addTalkId(ENDRIGO);
+ addKillId(GUILLOTINE_OF_DEATH, NAGDU_THE_DEFORMED, SADIAC_THE_KILLER, ROSENIAS_DIVINE_SPIRIT, HASKAL_GHOST, CANTA_STANDING_BEAST, GAZAM, TURAN_GHOST, KILLER_FRANGS, KALLBERA, HAKAL_THE_BUTTCHERED, SAMMITA);
+ addCondMinLevel(MIN_LEVEL);
+ addCondCompletedQuest(Q10379_AnUninvitedGuest.class.getSimpleName(), "warden_endrigo_q10380_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 "warden_endrigo_q10380_04.htm":
+ case "warden_endrigo_q10380_05.htm":
+ case "warden_endrigo_q10380_09.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "warden_endrigo_q10380_06.htm":
+ {
+ qs.startQuest();
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, ENDRIGO, NpcStringId.IT_IS_TIME_TO_PUT_THIS_TO_AN_END_ARE_YOU_READY));
+ htmltext = event;
+ break;
+ }
+ case "warden_endrigo_q10380_10.html":
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, ENDRIGO, NpcStringId.YOU_DEFEATED_THE_GUILLOTINE_OF_DEATH_I_THINK_THAT_WAS_TRULY_AMAZING));
+ giveItems(player, GLORIOUS_T_SHIRT, 1);
+ addExpAndSp(player, 1022967090, 245512);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ if (qs.isCreated())
+ {
+ htmltext = "warden_endrigo_q10380_01.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "warden_endrigo_q10380_07.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "warden_endrigo_q10380_08.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "warden_endrigo_q10380_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) && qs.isCond(1))
+ {
+ switch (npc.getId())
+ {
+ case NAGDU_THE_DEFORMED:
+ case SADIAC_THE_KILLER:
+ case ROSENIAS_DIVINE_SPIRIT:
+ case HASKAL_GHOST:
+ case CANTA_STANDING_BEAST:
+ case GAZAM:
+ case TURAN_GHOST:
+ case KILLER_FRANGS:
+ case KALLBERA:
+ case HAKAL_THE_BUTTCHERED:
+ case SAMMITA:
+ {
+ if (getRandom(100) < 5)
+ {
+ showOnScreenMsg(player, NpcStringId.TO_DEFEAT_THE_GUILLOTINE_OF_DEATH_HOW_AMAZING, ExShowScreenMessage.TOP_CENTER, 8000);
+ addSpawn(GUILLOTINE_OF_DEATH, npc.getX() + 500, npc.getY() + 500, npc.getZ(), 0, false, 180000);
+ }
+ break;
+ }
+ case GUILLOTINE_OF_DEATH:
+ {
+ int kills = qs.getInt(Integer.toString(GUILLOTINE_OF_DEATH));
+ if (kills < 1)
+ {
+ kills++;
+ qs.set(Integer.toString(GUILLOTINE_OF_DEATH), kills);
+ }
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(GUILLOTINE_OF_DEATH, qs.getInt("GUILLOTINE_OF_DEATH"));
+ player.sendPacket(log);
+
+ if (qs.getInt(Integer.toString(GUILLOTINE_OF_DEATH)) == 1)
+ {
+ qs.setCond(2, true);
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ @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/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_01.htm
new file mode 100644
index 0000000000..7e61e8da14
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_01.htm
@@ -0,0 +1,5 @@
+Guillotine Fortress Watchman Endrigo:
+You have finally defeated Scaldisect the Furious! Now the Dion soldiers can carry out their missions with ease.
+I couldn't trust you completely in the beginning, but now? I can't imagine how I got by without you. Would you forgive me for being a bit greedy?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_02.html
new file mode 100644
index 0000000000..0b731dcd5a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_02.html
@@ -0,0 +1,4 @@
+Guillotine Fortress Watchman Endrigo:
+Well, never mind.
+(This quest is for level 95 or above with the prerequisite "An Uninvited Guest" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_03.html
new file mode 100644
index 0000000000..bd4ad0eff8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_03.html
@@ -0,0 +1,4 @@
+Guillotine Fortress Watchman Endrigo:
+I still can't believe you did it.
+(You have already finished this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_04.htm
new file mode 100644
index 0000000000..b5f2d07291
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_04.htm
@@ -0,0 +1,5 @@
+Guillotine Fortress Watchman Endrigo:
+Guillotine of Death, their boss here... It's a given that we need him killed to bring peace.
+But he's so fearsome...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_05.htm
new file mode 100644
index 0000000000..857e9865ce
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_05.htm
@@ -0,0 +1,4 @@
+Guillotine Fortress Watchman Endrigo:
+Of course, I can't force you to put your life on the line. But I also think that if you bring help, you could do it without much trouble. How about it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_06.htm
new file mode 100644
index 0000000000..1a37d9e765
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_06.htm
@@ -0,0 +1,3 @@
+Guillotine Fortress Watchman Endrigo:
+I knew it! You're something else. Please kill the Guillotine of Death. But you will need companions equal to you in strength. Wouldn't want you to die in vain.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_07.html
new file mode 100644
index 0000000000..27232ba70c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_07.html
@@ -0,0 +1,3 @@
+Guillotine Fortress Watchman Endrigo:
+Please kill the Guillotine of Death. But you will need companions equal to you in strength. Wouldn't want you to die in vain.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_08.html
new file mode 100644
index 0000000000..db7c9ea90b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_08.html
@@ -0,0 +1,4 @@
+Guillotine Fortress Watchman Endrigo:
+How did it go?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_09.html
new file mode 100644
index 0000000000..e4813f9c6b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_09.html
@@ -0,0 +1,5 @@
+Guillotine Fortress Watchman Endrigo:
+No! Really? The Guillotine of Death? And you have both your arms and everything!
+We have prepared the best reward we could. It's not much, but it's all we have.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_10.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_10.html
new file mode 100644
index 0000000000..13a953d08e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_10.html
@@ -0,0 +1,3 @@
+Guillotine Fortress Watchman Endrigo:
+I want to thank you on the behalf of Dion. You have done something truly extraordinary!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10382_DayOfLiberation/Q10382_DayOfLiberation.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10382_DayOfLiberation/Q10382_DayOfLiberation.java
index c17960b66a..23a8849b8c 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10382_DayOfLiberation/Q10382_DayOfLiberation.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10382_DayOfLiberation/Q10382_DayOfLiberation.java
@@ -51,19 +51,25 @@ public class Q10382_DayOfLiberation extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
- final String htmltext = event;
+ String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
-
switch (event)
{
+ case "sofa_sizraku_q10382_02.htm":
+ case "sofa_sizraku_q10382_09.html":
+ {
+ htmltext = event;
+ break;
+ }
case "sofa_sizraku_q10382_03.html":
{
qs.startQuest();
qs.set(Integer.toString(TAUTI), 0);
+ htmltext = event;
break;
}
case "sofa_sizraku_q10382_10.html":
@@ -72,6 +78,7 @@ public class Q10382_DayOfLiberation extends Quest
giveAdena(player, 3256740, true);
giveItems(player, TAUTIS_BRACELET, 1);
qs.exitQuest(QuestType.ONE_TIME, true);
+ htmltext = event;
break;
}
}
@@ -113,7 +120,7 @@ public class Q10382_DayOfLiberation extends Quest
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
if ((qs != null) && qs.isStarted() && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
{
- qs.setCond(2);
+ qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10383_FergasonsOffer/Q10383_FergasonsOffer.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10383_FergasonsOffer/Q10383_FergasonsOffer.java
index 4eaeaaf1ef..9b5e6c3774 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10383_FergasonsOffer/Q10383_FergasonsOffer.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10383_FergasonsOffer/Q10383_FergasonsOffer.java
@@ -63,7 +63,7 @@ public class Q10383_FergasonsOffer extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
- final String htmltext = event;
+ String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
@@ -73,14 +73,23 @@ public class Q10383_FergasonsOffer extends Quest
switch (event)
{
+ case "sofa_sizraku_q10383_02.htm":
+ case "maestro_ferguson_q10383_02.html":
+ case "maestro_ferguson_q10383_03.html":
+ {
+ htmltext = event;
+ break;
+ }
case "sofa_sizraku_q10383_03.html":
{
qs.startQuest();
+ htmltext = event;
break;
}
case "maestro_ferguson_q10383_04.html":
{
- qs.setCond(2);
+ qs.setCond(2, true);
+ htmltext = event;
break;
}
case "sofa_aku_q10383_03.html":
@@ -89,6 +98,7 @@ public class Q10383_FergasonsOffer extends Quest
addExpAndSp(player, 951127800, 435041400);
giveAdena(player, 3256740, true);
qs.exitQuest(QuestType.ONE_TIME, true);
+ htmltext = event;
break;
}
}
@@ -155,7 +165,8 @@ public class Q10383_FergasonsOffer extends Quest
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(2) && qs.isStarted() && giveItemRandomly(killer, npc, UNSTABLE_PETRA, 1, 20, 0.75, true))
{
- qs.setCond(3);
+ qs.setCond(0);
+ qs.setCond(3, true);
}
return super.onKill(npc, killer, isSummon);
}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10384_AnAudienceWithTauti/Q10384_AnAudienceWithTauti.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10384_AnAudienceWithTauti/Q10384_AnAudienceWithTauti.java
index bd7262bcfa..e8600acc78 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10384_AnAudienceWithTauti/Q10384_AnAudienceWithTauti.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10384_AnAudienceWithTauti/Q10384_AnAudienceWithTauti.java
@@ -55,7 +55,7 @@ public class Q10384_AnAudienceWithTauti extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
- final String htmltext = event;
+ String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
@@ -65,22 +65,35 @@ public class Q10384_AnAudienceWithTauti extends Quest
switch (event)
{
+ case "maestro_ferguson_q10384_02.htm":
+ case "maestro_ferguson_q10384_03.htm":
+ case "maestro_ferguson_q10384_10.html":
+ {
+ htmltext = event;
+ break;
+ }
case "maestro_ferguson_q10384_04.html":
{
qs.startQuest();
+ htmltext = event;
break;
}
case "sofa_aku_q10384_02.html":
{
- qs.setCond(2);
+ qs.setCond(2, true);
+ htmltext = event;
break;
}
case "maestro_ferguson_q10384_11.html":
{
- addExpAndSp(player, 951127800, 435041400);
- giveAdena(player, 3256740, true);
+ if (qs.getMemoState() < 1)
+ {
+ addExpAndSp(player, 951127800, 435041400);
+ giveAdena(player, 3256740, true);
+ }
giveItems(player, BOTTLE_OF_TAUTIS_SOUL, 1);
qs.exitQuest(QuestType.ONE_TIME, true);
+ htmltext = event;
break;
}
}
@@ -137,7 +150,8 @@ public class Q10384_AnAudienceWithTauti extends Quest
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(2))
{
- qs.setCond(3);
+ qs.setCond(0);
+ qs.setCond(3, true);
giveItems(killer, TAUTIS_FRAGMENT, 1);
}
return super.onKill(npc, killer, isSummon);
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java
index 13b7b6fb40..83d82bfcb3 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java
@@ -173,6 +173,7 @@ public final class Q10385_RedThreadOfFate extends Quest
{
if (qs.isCond(2))
{
+ qs.setCond(0);
qs.setCond(3, true);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.HEY_I_DIDN_T_GET_TO_PUT_IN_ONE_WORD_SHEESH);
htmltext = event;
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10386_MysteriousJourney/Q10386_MysteriousJourney.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10386_MysteriousJourney/Q10386_MysteriousJourney.java
index 16acdd2d01..86ad87c475 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10386_MysteriousJourney/Q10386_MysteriousJourney.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10386_MysteriousJourney/Q10386_MysteriousJourney.java
@@ -91,6 +91,7 @@ public final class Q10386_MysteriousJourney extends Quest
{
if (st.isCond(2))
{
+ st.setCond(0);
st.setCond(3, true);
takeItems(player, VACCINE_BOX, 1);
htmltext = event;
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10387_SoullessOne/Q10387_SoullessOne.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10387_SoullessOne/Q10387_SoullessOne.java
index 112fecbcc7..771fe384b6 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10387_SoullessOne/Q10387_SoullessOne.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10387_SoullessOne/Q10387_SoullessOne.java
@@ -100,6 +100,7 @@ public final class Q10387_SoullessOne extends Quest
{
addExpAndSp(player, 817_330_500, 196_159);
}
+ st.exitQuest(false, true);
htmltext = "33796-10.html";
}
break;
@@ -114,6 +115,7 @@ public final class Q10387_SoullessOne extends Quest
{
addExpAndSp(player, 817_330_500, 196_159);
}
+ st.exitQuest(false, true);
htmltext = "33796-10.html";
}
break;
@@ -128,6 +130,7 @@ public final class Q10387_SoullessOne extends Quest
{
addExpAndSp(player, 817_330_500, 196_159);
}
+ st.exitQuest(false, true);
htmltext = "33796-10.html";
}
break;
@@ -200,6 +203,7 @@ public final class Q10387_SoullessOne extends Quest
final QuestState st = getQuestState(player, false);
if ((st != null) && st.isCond(2))
{
+ st.setCond(0);
st.setCond(3, true);
}
}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/Q10388_ConspiracyBehindDoor.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/Q10388_ConspiracyBehindDoor.java
new file mode 100644
index 0000000000..7e5b250c0f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/Q10388_ConspiracyBehindDoor.java
@@ -0,0 +1,148 @@
+/*
+ * 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.Q10388_ConspiracyBehindDoor;
+
+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;
+
+/**
+ * @author hlwrave
+ */
+public class Q10388_ConspiracyBehindDoor extends Quest
+{
+ // NPCs
+ private static final int ELIA = 31329;
+ private static final int KARGOS = 33821;
+ private static final int HICHEN = 33820;
+ private static final int RAZDEN = 33803;
+ // Item
+ private static final int VISITORS_BADGE = 8064;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q10388_ConspiracyBehindDoor()
+ {
+ super(10388);
+ addStartNpc(ELIA);
+ addTalkId(ELIA, KARGOS, HICHEN, RAZDEN);
+ addCondMinLevel(MIN_LEVEL);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final String htmltext = event;
+ final QuestState qs = getQuestState(player, false);
+
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "go.html":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "toCond2.html":
+ {
+ qs.setCond(2, true);
+ break;
+ }
+ case "toCond3.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ giveItems(player, VISITORS_BADGE, 1);
+ break;
+ }
+ case "final.html":
+ {
+ addExpAndSp(player, 29638350, 2963835);
+ qs.exitQuest(false, true);
+ 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;
+ }
+
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ case State.CREATED:
+ {
+ if (npcId == ELIA)
+ {
+ htmltext = player.getLevel() >= MIN_LEVEL ? "start.htm" : "nolvl.html";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npcId)
+ {
+ case KARGOS:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "cond1.html";
+ }
+ break;
+ }
+ case HICHEN:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "cond2.html";
+ }
+ break;
+ }
+ case RAZDEN:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "cond3.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond1.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond1.html
new file mode 100644
index 0000000000..3b82ca3408
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond1.html
@@ -0,0 +1,6 @@
+Kargos:
+Sir , nice to see you, I see you with a message from our good priest.
+What then if you are willing to learn of a secret conspiracy , you have to talk to the Costumed Knight Hichen find it will not be easy , he secretly investigating this conspiracy in the Temple of the Pagans.
+I hope that he will have good news for you!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond2.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond2.html
new file mode 100644
index 0000000000..b42cca085b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond2.html
@@ -0,0 +1,5 @@
+Hichen:
+Quiet...! I learned something... outside the door is a new evil that must win our glorious world... Unfortunately I can not say anything more yasnoe..ne dolgo..na stand here we can watch..
+Go to undress... not long ago he sent me a spy... said that he learned something over a secret... it go immediately.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond3.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond3.html
new file mode 100644
index 0000000000..3e692a12a3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond3.html
@@ -0,0 +1,5 @@
+Radzen:
+Do not be afraid , come near... I see what you come up with questions... but I will have one and you.
+You would not find me without the help Hichen, it happens nothing handed?!!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/final.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/final.html
new file mode 100644
index 0000000000..1f0335c856
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/final.html
@@ -0,0 +1,3 @@
+Radzen:
+So the ships harbor... tomorrow!? Oh, God, thank you for the information... here's a reward... not much but it's all there... come on later, I need to work!!!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/go.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/go.html
new file mode 100644
index 0000000000..9c15d978c1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/go.html
@@ -0,0 +1,3 @@
+Eliyah:
+Oh thank you brave soldier, give me Kargos rays of light and blessing of the gods!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/nolvl.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/nolvl.html
new file mode 100644
index 0000000000..b1b068a5da
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/nolvl.html
@@ -0,0 +1,3 @@
+Elia:
+Sorry, but it seems you lost your job.. not by force , go work out , come when you reach the 97-level!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/start.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/start.htm
new file mode 100644
index 0000000000..90cf10621e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/start.htm
@@ -0,0 +1,7 @@
+Eliyah:
+Oh, my eyes let me down? It is you? About who says it? Those who will save the world?
+Of course, not all at once.. first we must learn that hides from us the evil of those same doors!
+And you do not know about this?!
+Go and have a talk with the Chief Kargos Knight and he will enlighten your not knowing!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond2.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond2.html
new file mode 100644
index 0000000000..092b636723
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond2.html
@@ -0,0 +1,3 @@
+Kargos:
+Well, Well , good luck to you friend, I hope luck will smile to you!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond3.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond3.html
new file mode 100644
index 0000000000..872e55e7ad
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond3.html
@@ -0,0 +1,3 @@
+Kichen:
+Yes ... quiet ... * whispers * .. tell him the ships come into the harbor tomorrow .. good luck ..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/Q10389_TheVoiceOfAuthority.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/Q10389_TheVoiceOfAuthority.java
new file mode 100644
index 0000000000..2d2a71927e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/Q10389_TheVoiceOfAuthority.java
@@ -0,0 +1,174 @@
+/*
+ * 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.Q10389_TheVoiceOfAuthority;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+
+import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor;
+
+/**
+ * @author Gigi
+ */
+public class Q10389_TheVoiceOfAuthority extends Quest
+{
+ // NPCs
+ private static final int RADZEN = 33803;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22139, // Old Aristocrat's Soldier
+ 22140, // Zombie Worker
+ 22141, // Forgotten Victim
+ 22142, // Triol's Layperson
+ 22144, // Resurrected Temple Knight
+ 22145, // Ritual Sacrifice
+ 22147, // Ritual Offering
+ 22148, // Triol's Believer
+ 22154, // Ritual Sacrifice
+ 22155, // Triol's High Priest
+ };
+ // Misc
+ private static final int MIN_LEVEL = 97;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10389_TheVoiceOfAuthority()
+ {
+ super(10389);
+ addCondCompletedQuest(Q10388_ConspiracyBehindDoor.class.getSimpleName(), "no_quest.html");
+ addStartNpc(RADZEN);
+ addTalkId(RADZEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL);
+ }
+
+ @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 "endquest.html":
+ {
+ giveAdena(player, 1302720, true);
+ giveItems(player, 8067, 1);
+ addExpAndSp(player, 592767000, 142264);
+ qs.exitQuest(false, true);
+ htmltext = "endquest.html";
+ 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.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ case State.CREATED:
+ {
+ htmltext = player.getLevel() >= MIN_LEVEL ? "start.htm" : "no_level.html";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "notcollected.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "collected.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ int killCount = qs.getInt(KILL_COUNT_VAR);
+ qs.set(KILL_COUNT_VAR, ++killCount);
+ if (killCount >= 30)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (killCount > 0)
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.ELIMINATE_THE_PAGANS_IN_THE_ANTEROOM, killCount));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/accepted.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/accepted.html
new file mode 100644
index 0000000000..5db199cf48
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/accepted.html
@@ -0,0 +1,3 @@
+Radzi:
+You need to kill 30 monsters, that's what it is: A soldier of the old aristocracy, the Risen worker Forgotten Sacrifice Offering Ritual, Ritual Sacrifice, Resurrected Temple Knight, who believes Tyrol, Tyrol, Amateur, High Priest of the Tyrol. Come back when you're done!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/collected.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/collected.html
new file mode 100644
index 0000000000..12032ad89b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/collected.html
@@ -0,0 +1,4 @@
+Radzi:
+Quickly you're done, I'm happy.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/endquest.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/endquest.html
new file mode 100644
index 0000000000..d6ecec0192
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/endquest.html
@@ -0,0 +1,3 @@
+Radzi:
+I will give you higher authorities coped with all the complexities, here is your reward and a sign of loyalty.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_level.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_level.html
new file mode 100644
index 0000000000..e08dac5638
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 97 or above.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_quest.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_quest.html
new file mode 100644
index 0000000000..3ca4a53166
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_quest.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+You cannot procceed with this quest until you have completed the Conspiracy Behind Door quest.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/notcollected.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/notcollected.html
new file mode 100644
index 0000000000..5db199cf48
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/notcollected.html
@@ -0,0 +1,3 @@
+Radzi:
+You need to kill 30 monsters, that's what it is: A soldier of the old aristocracy, the Risen worker Forgotten Sacrifice Offering Ritual, Ritual Sacrifice, Resurrected Temple Knight, who believes Tyrol, Tyrol, Amateur, High Priest of the Tyrol. Come back when you're done!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/start.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/start.htm
new file mode 100644
index 0000000000..a70c3d85e4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/start.htm
@@ -0,0 +1,4 @@
+Radzi:
+You are not a bad try, but to get to this temple is not so simple. You have not shown us that you are really true to us. I am giving you a chance to prove their loyalty, are you ready?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10445_AnImpendingThreat/31340-06.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10445_AnImpendingThreat/31340-06.htm
index 44448a748e..a035e7e06c 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10445_AnImpendingThreat/31340-06.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10445_AnImpendingThreat/31340-06.htm
@@ -1,5 +1,5 @@
Captain Mathias:
It's so unsettling to see all the chaos in the Kingdom of Elmore. I can't even imagine how distressed His Majesty is.
Traveler, I would advise you not to go through such a dangerous area.
-(Only characters above Lv. 97.)
+(Only characters above Lv. 99.)
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-00.htm
new file mode 100644
index 0000000000..48b38ba0cd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-00.htm
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+I don't know why you're sticking around here, but you should go back. If Flame Patrol Vice Captain Tuska sees you, it'll be me that gets blamed for it.
+(This quest may only be undertaken by characters of level 99 or higher who have completed the "An Impending Threat" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-01.htm
new file mode 100644
index 0000000000..60343be31e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-01.htm
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+Glad to see you, my friend. I've been waiting for you to come talk to me! You weren't planning to just go back with the Reinforcements' Badge from Flame Patrol Vice Captain Tuska, right? I am so happy to have you here. I've been all alone.
+I have been waiting to ask you a favor too.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-02.htm
new file mode 100644
index 0000000000..3eeda9da3f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-02.htm
@@ -0,0 +1,7 @@
+Flame Patrol Warrior Bruener:
+You are so impatient! I was going to give you all the details.
+There are 4 checkpoints at Raider's Crossroads. When you are up on a checkpoint, you can see the surrounding area very well. That's why the Nerva Orc Prefect gives instructions to nearby Nerva Orcs from there.
+The Nerva Orc Prefect is pretty good at his job, making the lives of us Flame Patrol pretty hard.
+My friend, do you understand what I am trying to say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-03.htm
new file mode 100644
index 0000000000..e5ce886fa7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-03.htm
@@ -0,0 +1,6 @@
+Flame Patrol Warrior Bruener:
+Yes! You are so smart.
+Flame Patrol Vice Captain Tuska selected you himself. So I trust that you will do a good job!
+You'll help me, right?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-04.htm
new file mode 100644
index 0000000000..3f56e22f54
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-04.htm
@@ -0,0 +1,7 @@
+Flame Patrol Warrior Bruener:
+Good, you don't talk too much either. I like you even more! You and I will make good partners.
+Now, go to the checkpoints at Raider's Crossroads and beat up Nerva Orc Prefects. Maybe... like 10 of them?
+When they die, smoke will come out of the checkpoints as a sign of danger.
+Be careful. Nerva Orcs might suddenly attack you. If you think it's getting too dangerous, just get rid of the Nerva Orc Prefect and run away!
+Why that look on your face? Hit and run is a highly-advanced strategy, it's not cowardly at all! You didn't know that?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-05.html
new file mode 100644
index 0000000000..5d58774082
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-05.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+Huh? You're not too scared, are you? If you aren't that confident, just do what I told you to do and come back here right away.
+Now, go to the checkpoints at Raider's Crossroads and get rid of the Nerva Orc Prefect.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-06.html
new file mode 100644
index 0000000000..9787176d36
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-06.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-07.html
new file mode 100644
index 0000000000..ad65365966
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-07.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+Oh! I knew Tuska had an eye for talent. I'm so happy that I have someone like you to work with!
+See you soon!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/Q10446_HitAndRun.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/Q10446_HitAndRun.java
new file mode 100644
index 0000000000..da132be681
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10446_HitAndRun/Q10446_HitAndRun.java
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package quests.Q10446_HitAndRun;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
+
+/**
+ * Hit and Run (10446)
+ * @URL https://l2wiki.com/Hit_and_Run
+ * @author Gigi
+ */
+public final class Q10446_HitAndRun extends Quest
+{
+ // NPCs
+ private static final int BRUENER = 33840;
+ // Monster
+ private static final int NARVA_ORC_PREFECT = 23322;
+ // Item
+ private static final int ETERNAL_ENHANCEMENT_STONE = 35569;
+ private static final int ELMORE_SUPPORT_BOX = 37020;
+ // Misc
+ private static final int MIN_LEVEL = 99;
+ private static final String KILL_COUNT_VAR = "KillCounts";
+
+ public Q10446_HitAndRun()
+ {
+ super(10446);
+ addStartNpc(BRUENER);
+ addTalkId(BRUENER);
+ addKillId(NARVA_ORC_PREFECT);
+ addCondMinLevel(MIN_LEVEL, "33840-00.htm");
+ addCondCompletedQuest(Q10445_AnImpendingThreat.class.getSimpleName(), "33840-00.htm");
+ }
+
+ @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 "33840-02.htm":
+ case "33840-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33840-04.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "33840-07.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, ETERNAL_ENHANCEMENT_STONE, 1);
+ giveItems(player, ELMORE_SUPPORT_BOX, 1);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == BRUENER)
+ {
+ htmltext = "33840-01.htm";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33840-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33840-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc);
+ if ((qs != null) && qs.isCond(1))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ qs.set(KILL_COUNT_VAR, ++count);
+ if (count >= 10)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ sendNpcLogList(killer);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCounts = qs.getInt(KILL_COUNT_VAR);
+ if (killCounts > 0)
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NARVA_ORC_PREFECT, false, killCounts));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-00.htm
new file mode 100644
index 0000000000..c07b401f34
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-00.htm
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+No, no. You can't rescue him.
+Forget I said anything. My mouth is zipped!
+(This quest may only be undertaken by characters of level 99 or higher who have completed the "An Impending Threat" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-01.htm
new file mode 100644
index 0000000000..00bda828ff
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-01.htm
@@ -0,0 +1,6 @@
+
+Flame Patrol Warrior Bruener:
+I'm glad you came. Can you do me a favor? Haha. Don't look at me like that. It's not very difficult.
+It's just rescuing one person. I have work to do here, so I can't roam around. You know what I mean, my friend?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-02.htm
new file mode 100644
index 0000000000..eaa7ec6a4a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-02.htm
@@ -0,0 +1,6 @@
+Flame Patrol Warrior Bruener:
+Nerva's Temporary Prison is at Raider's Crossroads. To "raise proceeds," the Nerva Orcs kidnapped Treasure Dealer Kaysen and put him there.
+That poor treasure dealer! I don't know him personally, but it's unsettling to hear about his detention. On top of that, the Nerva Orcs are getting money for their military from him.
+Ah, there is one thing you should keep in mind... Hmm... I'll tell you if you promise to do as I asked.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-03.htm
new file mode 100644
index 0000000000..7ec66e42a4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-03.htm
@@ -0,0 +1,6 @@
+Flame Patrol Warrior Bruener:
+I don't think this is always the case but... Nerva's Temporary Prison is a bit strange right now. Detainees get violent after a while. Maybe there's some kind of aura there or something. Well, if you want, you can just open the door for him and come back. Our goal is to cut off the source of money for the Nerva Orc military, not lose fine friends like you!
+The Nerva Orcs should have a Nerva's Temporary Prison Key. Kill them to get it.
+No one knows how Treasure Dealer Kaysen will be when you get inside the prison. So, use your sense. You know the old saying...
+'Timing is key!'
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-04.html
new file mode 100644
index 0000000000..f678be0a14
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-04.html
@@ -0,0 +1,3 @@
+Flame Patrol Warrior Bruener:
+The Nerva Orcs at Raider's Crossroads have Nerva's Temporary Prison Key. Get the key and rescue Treasure Dealer Kaysen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-05.html
new file mode 100644
index 0000000000..2ae0da81c7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-05.html
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+I really don't think that you will return from there alive, you are a hero.
+let me thank you for your work and give you a deserved award
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-06.html
new file mode 100644
index 0000000000..31d9bb12c8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-06.html
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+Good job.
+Did Treasure Dealer Kaysen turn into a Nerva Orc or something?
+By the look on your face, I guess it wasn't a good experience. Hahahahaha!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/Q10447_TimingIsEverything.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/Q10447_TimingIsEverything.java
new file mode 100644
index 0000000000..0dd040b0ea
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10447_TimingIsEverything/Q10447_TimingIsEverything.java
@@ -0,0 +1,177 @@
+/*
+ * 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.Q10447_TimingIsEverything;
+
+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 com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
+
+/**
+ * Timing is Everything (10447)
+ * @URL https://l2wiki.com/Timing_is_Everything
+ * @author Gigi
+ */
+public class Q10447_TimingIsEverything extends Quest
+{
+ // Npc
+ private static final int BRUENER = 33840;
+ // Mobs
+ private static final int[] MOBS =
+ {
+ 23314, // Nerva Orc Raider
+ 23315, // Nerva Orc Archer
+ 23316, // Nerva Orc Priest
+ 23317, // Nerva Orc Wizard
+ 23318, // Nerva Orc Assassin
+ 23319, // Nerva Orc Ambusher
+ 23320, // Nerva Orc Merchant
+ 23321, // Nerva Orc Warrior
+ 23322, // Nerva Orc Prefect
+ 23323, // Nerva Orc Elite
+ 23324, // Nerva Bloodlust
+ 23325, // Nerva Bloodlust
+ 23326, // Nerva Bloodlust
+ 23327, // Nerva Bloodlust
+ 23328, // Nerva Bloodlust
+ 23329 // Nerva Kaiser
+ };
+ // Item
+ private static final int NARVAS_PRISON_KEY = 36665;
+ // Misc
+ private static final int MIN_LEVEL = 99;
+
+ public Q10447_TimingIsEverything()
+ {
+ super(10447);
+ addStartNpc(BRUENER);
+ addTalkId(BRUENER);
+ addKillId(MOBS);
+ registerQuestItems(NARVAS_PRISON_KEY);
+ addCondMinLevel(MIN_LEVEL, "33840-00.htm");
+ addCondCompletedQuest(Q10445_AnImpendingThreat.class.getSimpleName(), "33840-00.htm");
+ }
+
+ @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 "33840-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33840-03.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "33840-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 2_147_483_647L, 515396);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == BRUENER)
+ {
+ htmltext = "33840-01.htm";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33840-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33840-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc);
+
+ if (!Util.checkIfInRange(1500, npc, killer, true))
+ {
+ return null;
+ }
+
+ if ((qs != null) && qs.isCond(1) && (giveItemRandomly(qs.getPlayer(), npc, NARVAS_PRISON_KEY, 1, 1, 0.1, false)))
+ {
+ showOnScreenMsg(qs.getPlayer(), NpcStringId.YOU_TOOK_DOWN_THE_NERVA_ORCS_AND_GOT_THEIR_TEMPORARY_PRISON_KEY, ExShowScreenMessage.BOTTOM_RIGHT, 5000);
+ qs.setCond(2, true);
+ }
+ else
+ {
+ if (getRandom(100) < 0.03)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_OBTAINED_NERVA_S_TEMPORARY_PRISON_KEY, ExShowScreenMessage.BOTTOM_RIGHT, 5000);
+ giveItems(killer, NARVAS_PRISON_KEY, 1);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-01.htm
new file mode 100644
index 0000000000..5fe16e8cb4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-01.htm
@@ -0,0 +1,4 @@
+Investigator Harry:
+There are some unique plants on the Plains of the Lizardmen. They're very rare and sought after because of what happens when you eat them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-02.htm
new file mode 100644
index 0000000000..2249d056bc
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-02.htm
@@ -0,0 +1,5 @@
+Investigator Harry:
+Ah, well... I don't actually know. But I'm determined to find out!
+It's just, y'know, people talk.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-03.htm
new file mode 100644
index 0000000000..baa5ce8c7a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-03.htm
@@ -0,0 +1,3 @@
+Investigator Sally:
+Oh, thank you so much. You are so awesome! Let's find out the effects of a1 Fantasy Mushroom's Spore Sac, 1 Sticky Mushroom's Spore Sac, and 1 Vitality Leaf Pouch from a Fantasy Mushroom, a Sticky Mushroom, and a Vitality Plant in the Plains of the Lizardmen. And don't eat them! At least till we've done some studying, yeah?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-04.html
new file mode 100644
index 0000000000..d3c27128d7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-04.html
@@ -0,0 +1,3 @@
+Investigator Sally:
+You still haven't found everything? That's OK... if you have no curiosity! C'mon. Just a couple of thinigs from the Plains of the Lizardmen. I need 1 Fantasy Mushroom's Spore Sac, 1 Sticky Mushroom's Spore Sac, and 1 Vitality Leaf Pouch. You can get them from a Fantasy Mushroom, a Sticky Mushroom, and a Vitality Plant respectively.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-05.html
new file mode 100644
index 0000000000..a4a22407a4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-05.html
@@ -0,0 +1,3 @@
+Investigator Sally:
+This quest is complete
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-06.html
new file mode 100644
index 0000000000..f87deebd40
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-06.html
@@ -0,0 +1,8 @@
+Investigator Harry:
+Well, I finished the analysis, and the results are good. You'll live! No need for an Antidote or anything.
+I eat various medicinal plants all the time. For research purposes only, of course. Want me to tell you about what these do?
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-07.html
new file mode 100644
index 0000000000..f2f56dac30
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-07.html
@@ -0,0 +1,3 @@
+Investigator Sally:
+Thanks for helping me out. You've got a healthy sense of curiosity.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-08.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-08.htm
new file mode 100644
index 0000000000..4b496dd996
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-08.htm
@@ -0,0 +1,4 @@
+Investigator Sally:
+The Plains are so full of so many interesting plants, some you can't find anywhere else! But I couldn't send you out there. You're just not strong enough yet.
+(Only characters level 81 or above are allowed to take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-09.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-09.html
new file mode 100644
index 0000000000..417d77378f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-09.html
@@ -0,0 +1,7 @@
+Investigator Harry:
+Sticky Mushrooms recover your HP by 90%! Plus, it has no side effects. Awesome, right?
+I love talking about plants! Want to know more?
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-10.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-10.html
new file mode 100644
index 0000000000..3038edf937
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-10.html
@@ -0,0 +1,7 @@
+Investigator Harry:
+Fantasy Mushrooms cause visions and euphoria. Any aggressive monsters will chill out when its spores are released. Temporarily, of course.
+I love talking about plants! Want to know more?
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-11.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-11.html
new file mode 100644
index 0000000000..54907a25df
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-11.html
@@ -0,0 +1,7 @@
+Investigator Harry:
+Vitality Plants recover your hit points by 70%. So far, I haven't noticed any adverse side-effects.
+I love talking about plants! Want to know more?
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/Complete.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/Complete.html
new file mode 100644
index 0000000000..a4a22407a4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/Complete.html
@@ -0,0 +1,3 @@
+Investigator Sally:
+This quest is complete
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/Q10452_IsItEdible.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/Q10452_IsItEdible.java
new file mode 100644
index 0000000000..6369f6494a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10452_IsItEdible/Q10452_IsItEdible.java
@@ -0,0 +1,172 @@
+/*
+ * 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.Q10452_IsItEdible;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+
+/**
+ * Is it Edible? (10452)
+ * @URL https://l2wiki.com/Is_it_Edible%3F
+ * @author Gigi
+ */
+public final class Q10452_IsItEdible extends Quest
+{
+ // Npc's
+ private static final int SALLY = 32743;
+ // Monster's
+ private static final int FANTASY_MUSHROM = 18864;
+ private static final int STICKY_MUSHROMS = 18865;
+ private static final int VITALIITY_PLANT = 18868;
+ // items
+ private static final int FANTASY_MUSHROMS_SPORE = 36688;
+ private static final int STICKY_MUSHROMS_SPORE = 36689;
+ private static final int VITALIITY_LEAF_POUCH = 36690;
+ // Misc
+ private static final int MIN_LEVEL = 81;
+
+ public Q10452_IsItEdible()
+ {
+ super(10452);
+ addStartNpc(SALLY);
+ addTalkId(SALLY);
+ addKillId(FANTASY_MUSHROM, STICKY_MUSHROMS, VITALIITY_PLANT);
+ registerQuestItems(FANTASY_MUSHROMS_SPORE, STICKY_MUSHROMS_SPORE, VITALIITY_LEAF_POUCH);
+ addCondMinLevel(MIN_LEVEL, "32743-08.htm");
+ }
+
+ @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 "32743-02.htm":
+ case "32743-09.html":
+ case "32743-10.html":
+ case "32743-11.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32743-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32743-07.html":
+ {
+ giveAdena(player, 299940, true);
+ addExpAndSp(player, 14120400, 3388);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (qs.isCreated())
+ {
+ htmltext = "32743-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "32743-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ takeItems(player, FANTASY_MUSHROMS_SPORE, -1);
+ takeItems(player, STICKY_MUSHROMS_SPORE, -1);
+ takeItems(player, VITALIITY_LEAF_POUCH, -1);
+ htmltext = "32743-05.html";
+ qs.setCond(3);
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "32743-06.html";
+ }
+ else
+ {
+ htmltext = "Complete.html";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if (qs == null)
+ {
+ return super.onKill(npc, killer, isSummon);
+ }
+ switch (npc.getId())
+ {
+ case FANTASY_MUSHROM:
+ {
+ if (qs.isCond(1) && !hasQuestItems(killer, FANTASY_MUSHROMS_SPORE))
+ {
+ giveItems(killer, FANTASY_MUSHROMS_SPORE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ break;
+ }
+ }
+ case STICKY_MUSHROMS:
+ {
+ if (qs.isCond(1) && !hasQuestItems(killer, STICKY_MUSHROMS_SPORE))
+ {
+ giveItems(killer, STICKY_MUSHROMS_SPORE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ break;
+ }
+ }
+ case VITALIITY_PLANT:
+ {
+ if (qs.isCond(1) && !hasQuestItems(killer, VITALIITY_LEAF_POUCH))
+ {
+ giveItems(killer, VITALIITY_LEAF_POUCH, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ break;
+ }
+ }
+ }
+ if ((getQuestItemsCount(killer, FANTASY_MUSHROMS_SPORE) >= 1) && (getQuestItemsCount(killer, STICKY_MUSHROMS_SPORE) >= 1) && (getQuestItemsCount(killer, VITALIITY_LEAF_POUCH) >= 1))
+ {
+ qs.setCond(2, true);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-00.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-00.htm
new file mode 100644
index 0000000000..c0c49f0f5a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-00.htm
@@ -0,0 +1,4 @@
+Head Blacksmith Flutter:
+Weapons work their best when used by those with great skills. One day, you will understand what I mean.
+(Only characters level 46 or above may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-01.htm
new file mode 100644
index 0000000000..753f6b33ae
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-01.htm
@@ -0,0 +1,4 @@
+Head Blacksmith Flutter:
+Do you know what augmenting is? Your weapon sure doesn't look it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-02.htm
new file mode 100644
index 0000000000..4c1de03590
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-02.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Flutter:
+See? I was right! Only when your weapons are reliable, can you be confident about your skills.
+Now, pay attention. I will teach you to maximize the hidden potential.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-03.htm
new file mode 100644
index 0000000000..7081fce85b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-03.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Flutter:
+First, you must understand augmenting. It provides items with additional options, separately from enchanting, soul crystal enhancement or attributes that you will learn later.
+For augmenting, you have to get all the required material and ask any village's blacksmith to make an item. Keep in mind that you can have accessories and hair accessories augmented but not armor.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-04.htm
new file mode 100644
index 0000000000..9f171c52f3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-04.htm
@@ -0,0 +1,8 @@
+Head Blacksmith Flutter:
+Keep this in mind.
+First, augmentation options are assigned randomly.
+Second, augmented items cannot be exchanged or traded.
+Third, to augment, you need Life Stones, or Spirit Stones and Gemstones, but they are limited by the level at which they can be used.
+Also, the amount of materials you need will increase as the level of the weapon increases. This should be enough. Are you ready?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-05.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-05.htm
new file mode 100644
index 0000000000..88f03022d9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-05.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Flutter:
+I have all the materials.
+I'm helping you since it's your first time. I'll give you this Augmentation Practice Weapon, an Augmentation Practice Spirit Stone, and an Augmentation Practice Gemstone.
+Now do as I told you. Bring back an augmented Augmentation Practice Weapon.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-06.html
new file mode 100644
index 0000000000..285332df56
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-06.html
@@ -0,0 +1,4 @@
+Head Blacksmith Flutter:
+Was it too hard?
+Try augmenting with an Augmentation Practice Weapon, an Augmentation Practice Spirit Stone, and an Augmentation Practice Gemstone. If you succeed, you will get an augmented Augmentation Practice Weapon.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-07.html
new file mode 100644
index 0000000000..4f19f1bba3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-07.html
@@ -0,0 +1,5 @@
+Head Blacksmith Flutter:
+Congratulations on your success. Feel free to toss this practice weapon, if you don't like the result. That's what practice is for. In the real world, if you don't like the final version, you can remove augmentation with a few Adenas. Keep that in mind.
+Anyway, you did a good job following my instructions.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-08.html
new file mode 100644
index 0000000000..f1265db152
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-08.html
@@ -0,0 +1,4 @@
+Head Blacksmith Flutter:
+Haha, really? Let me reward you with something related to augmentation. Please take it.
+I hope you will put your new augmenting skills to good use. Bye now.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/Q10462_TemperARustingBlade.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/Q10462_TemperARustingBlade.java
new file mode 100644
index 0000000000..a7172d7583
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/Q10462_TemperARustingBlade.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.Q10462_TemperARustingBlade;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.events.EventType;
+import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import com.l2jmobius.gameserver.model.events.annotations.Id;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerAugment;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Temper a Rusting Blade (10462) TODO Update to Helios cronicle. Quest start Iv 85
+ * @URL https://l2wiki.com/Temper_a_Rusting_Blade
+ * @author Gigi
+ */
+public final class Q10462_TemperARustingBlade extends Quest
+{
+ // NPCs
+ private static final int FLUTTER = 30677;
+ // quest_items
+ private static final int PRACTICE_WEAPON = 36717;
+ private static final int PRACTICE_LIFE_STONE = 36718;
+ private static final int PRACTICE_LIFE_GEMSTONE = 36719;
+ // Misc
+ private static final int MIN_LEVEL = 46;
+ private static final int MAX_LEVEL = 52;
+
+ public Q10462_TemperARustingBlade()
+ {
+ super(10462);
+ addStartNpc(FLUTTER);
+ addTalkId(FLUTTER);
+ registerQuestItems(PRACTICE_WEAPON, PRACTICE_LIFE_STONE, PRACTICE_LIFE_GEMSTONE);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "30677-00.htm");
+ }
+
+ @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 "30677-02.htm":
+ case "30677-03.htm":
+ case "30677-04.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30677-05.htm":
+ {
+ qs.startQuest();
+ giveItems(player, PRACTICE_WEAPON, 1);
+ giveItems(player, PRACTICE_LIFE_STONE, 1);
+ giveItems(player, PRACTICE_LIFE_GEMSTONE, 25);
+ htmltext = event;
+ break;
+ }
+ case "30677-08.html":
+ {
+ addExpAndSp(player, 504210, 121);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "30677-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30677-06.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30677-07.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_AUGMENT)
+ @RegisterType(ListenerRegisterType.ITEM)
+ @Id(PRACTICE_WEAPON)
+ public void onItemAugment(OnPlayerAugment event)
+ {
+ final L2PcInstance player = event.getActiveChar();
+ final QuestState qs = getQuestState(player, false);
+ L2ItemInstance item = qs.getPlayer().getInventory().getItemByItemId(PRACTICE_WEAPON);
+ if ((item != null) && qs.isCond(1) && item.isAugmented())
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-00.html
new file mode 100644
index 0000000000..cb01eb6d1a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/30471-00.html
@@ -0,0 +1,3 @@
+Blacksmith Rupio:
+You are ertheia. this quest no for you
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Q10465_SoulFrostSword.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Q10465_SoulFrostSword.java
index f13a94437f..5a378e7e61 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Q10465_SoulFrostSword.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/Q10465_SoulFrostSword.java
@@ -16,9 +16,9 @@
*/
package quests.Q10465_SoulFrostSword;
+import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jmobius.gameserver.model.holders.ItemHolder;
import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
@@ -35,22 +35,20 @@ public class Q10465_SoulFrostSword extends Quest
// NPC
private static final int RUPIO = 30471;
// Items
- private static final ItemHolder ADENA = new ItemHolder(57, 700000);
private static final int PRACTICE_STORMBRINGER = 46629;
private static final int PRACTICE_SOUL_CRYSTAL = 46526;
// Misc
private static final int MIN_LEVEL = 40;
- // Reward
- private static final int EXP_REWARD = 336000;
- private static final int SP_REWARD = 403;
+ private static final int MAX_LEVEL = 58;
public Q10465_SoulFrostSword()
{
super(10465);
addStartNpc(RUPIO);
addTalkId(RUPIO);
+ addCondNotRace(Race.ERTHEIA, "30471-00.html");
registerQuestItems(PRACTICE_STORMBRINGER, PRACTICE_SOUL_CRYSTAL);
- addCondMinLevel(MIN_LEVEL, "noLevel.html");
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "noLevel.html");
}
@Override
@@ -87,9 +85,8 @@ public class Q10465_SoulFrostSword extends Quest
}
case "30471-08.html":
{
- takeItems(player, PRACTICE_STORMBRINGER, -1);
- giveItems(player, ADENA);
- addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ giveAdena(player, 700000, true);
+ addExpAndSp(player, 336000, 403);
qs.exitQuest(false, true);
htmltext = event;
break;
@@ -104,18 +101,21 @@ public class Q10465_SoulFrostSword extends Quest
final QuestState qs = getQuestState(player, true);
final L2ItemInstance wpn = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
String htmltext = getNoQuestMsg(player);
-
+ if ((qs == null) || (player.getActiveWeaponInstance() == null))
+ {
+ return htmltext;
+ }
if (qs.isCreated())
{
htmltext = "30471-01.htm";
}
- else if ((qs.getPlayer().getActiveWeaponItem() == null) || (wpn.getId() != PRACTICE_STORMBRINGER))
+ else if ((qs.isCond(1)) && (wpn.getId() != PRACTICE_STORMBRINGER))
{
htmltext = "Weapon.html";
}
else if (qs.isCond(1))
{
- if ((getQuestItemsCount(player, PRACTICE_SOUL_CRYSTAL) < 1) && (wpn.getId() == PRACTICE_STORMBRINGER))
+ if (!hasQuestItems(player, PRACTICE_SOUL_CRYSTAL) && (wpn.getId() == PRACTICE_STORMBRINGER))
{
htmltext = "30471-07.html";
}
@@ -124,22 +124,10 @@ public class Q10465_SoulFrostSword extends Quest
htmltext = "30471-05.html";
}
}
- else if (qs.isNowAvailable())
- {
- if (getQuestItemsCount(player, PRACTICE_STORMBRINGER) > 0)
- {
- takeItems(player, PRACTICE_STORMBRINGER, -1);
- }
- else if (getQuestItemsCount(player, PRACTICE_SOUL_CRYSTAL) > 0)
- {
- takeItems(player, PRACTICE_SOUL_CRYSTAL, -1);
- }
- }
- else if (qs.isCompleted())
+ if (qs.isCompleted())
{
htmltext = getAlreadyCompletedMsg(player);
}
-
return htmltext;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/noLevel.html
index 593813da23..c54f57eead 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/noLevel.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10465_SoulFrostSword/noLevel.html
@@ -1,4 +1,4 @@
-
+Rupio:
This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back
-(You must be level 40 or above to start this quest.)
+(You must be level 40 - 58 lvl to start this quest.)
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-01.htm
new file mode 100644
index 0000000000..df30eb4eb0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-01.htm
@@ -0,0 +1,5 @@
+Shannon:
+You've got style, friend, but you're missing a few key techniques.
+Hmm... you know, I could help you get stronger... teach you a few tricks of the trade... You'd be able to wield stronger powers, even with the same old weapons. What do you say? Enticing, isn't it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-02.htm
new file mode 100644
index 0000000000..998e280571
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-02.htm
@@ -0,0 +1,5 @@
+Shannon:
+Why would I do that? Well, let me see. For starters, I'm training up the entire district, so it's kind of what I do. Second, we need all the help we can get, and third, maybe I think you might have what it takes to be someone in this place. Thought about that?
+You know, suspicious isn't an attractive trait. Either you calm down and tell me where you need help, or you can jog on and find your own way.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-03.htm
new file mode 100644
index 0000000000..3545b70983
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-03.htm
@@ -0,0 +1,4 @@
+Shannon:
+Well, guess what? I can help. That's right - H.E.L.P.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-04.htm
new file mode 100644
index 0000000000..a6d50d3193
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-04.htm
@@ -0,0 +1,5 @@
+Shannon:
+Don't you worry! It's not my first time helping others, you know! Now, right next to us are the Training Dummies that I've set aside for situations like this.
+First, I need to see what you're made of. How about taking out about 4 Training Dummies?
+Since you already have a weapon, I trust you'll make it work?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-05.html
new file mode 100644
index 0000000000..d0358ca0db
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-05.html
@@ -0,0 +1,4 @@
+Shannon:
+First, I need to see what you're made of. How about taking out about 4 Training Dummies?
+Training Dummies, heh. They're no threat at all.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-06.html
new file mode 100644
index 0000000000..3521a7ea48
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-06.html
@@ -0,0 +1,6 @@
+Shannon:
+What do you think? Nothing to it, huh? I knew you wouldn't even break a sweat.
+Don't celebrate just yet though. This is just the beginning. All you've done it shake your arms around.
+That hardly qualifies as training. Now, off to meet the Newbie Helper for Training.
+Receive some helpful magic spells from the Newbie Helper for Training, then go back and attack the Training Dummies.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-07.html
new file mode 100644
index 0000000000..690d24774d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-07.html
@@ -0,0 +1,5 @@
+Shannon:
+Where do you think you're going? The Newbie Helper for Training is right next to me!
+I'm telling you, just waving your arms about with whatever's attached to the end won't make you stronger. Efficiency is key in battle.
+With the help of the Newbie Helper for Training, you should be able to conduct battle more efficiently.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-08.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-08.html
new file mode 100644
index 0000000000..7652b8615b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32974-08.html
@@ -0,0 +1,4 @@
+Shannon:
+Great! With Support Magic, you'll be able to engage in quicker and safer battle.
+With the help Support Magic, you should be able to conduct battle more efficiently.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-01.html
new file mode 100644
index 0000000000..312f690843
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-01.html
@@ -0,0 +1,7 @@
+Adventurers' Guide for Training:
+What? Shannon told you to come to me to receive tips on fighting more efficiently? Well this is embarrassing.
+Listen, what I have to tell you isn't complicated, but you have to dedicate yourself and awaken the powers that lie within. All I do is give you the small nudge you might need.
+I can give you a little bit of help that is going to protect your body, and allow you to wield stronger powers when attacking the enemy. In short, you'll be taught how to use Support Magic/buffs.
+I can help if need be. What would you like to do?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-02.html
new file mode 100644
index 0000000000..bd9e9def58
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-02.html
@@ -0,0 +1,8 @@
+Adventurers' Guide for Training:
+Buffs help to ease the impact if you're hit while making your own attacks more effective. The following buffs can be used by all classes.
+Horn Melody / Drum Melody / Pipe Organ Melody
+Guitar Melody / Harp Melody / Lute Melody
+Prevailing Sonata / Daring Sonata / Refreshing Sonata
+Now, this is important. There are special buffs for each class that are not shared.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-03.html
new file mode 100644
index 0000000000..632ac07595
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-03.html
@@ -0,0 +1,8 @@
+Adventurers' Guide for Training:
+Knight's Harmony (Defensive Warrior)
+Warrior's Harmony (Attack Warrior)
+Wizard's Harmony (Wizard)
+That's it.
+The one right for you is... Warrior's Harmony.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-04.html
new file mode 100644
index 0000000000..c10d73b2f8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/32981-04.html
@@ -0,0 +1,6 @@
+Adventurers' Guide for Training:
+Great!
+Don't forget. The buff that you need to receive is:
+Buffs including Warrior's Harmony!
+Now that you are stronger, try taking on the Training Dummies again.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/Q10541_TrainLikeTheRealThing.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/Q10541_TrainLikeTheRealThing.java
new file mode 100644
index 0000000000..4c5169f10c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/Q10541_TrainLikeTheRealThing.java
@@ -0,0 +1,277 @@
+/*
+ * 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.Q10541_TrainLikeTheRealThing;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.holders.SkillHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.model.skills.Skill;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
+
+import quests.Q10321_QualificationsOfTheSeeker.Q10321_QualificationsOfTheSeeker;
+
+/**
+ * Train Like the Real Thing (10541)
+ * @URL https://l2wiki.com/Train_Like_the_Real_Thing
+ * @author GIgi
+ */
+public final class Q10541_TrainLikeTheRealThing extends Quest
+{
+ // NPCs
+ private static final int SHANNON = 32974;
+ private static final int ADVENTURERS_GUIDE = 32981;
+ private static final int SCARECROW = 27457;
+ // Misc
+ private static final int MAX_LEVEL = 20;
+ private static final String KILL_COUNT_VAR = "KillCount";
+ // Buffs
+ private static final SkillHolder WARRIOR = new SkillHolder(15649, 1); // Warrior's Harmony (Adventurer)
+ private static final SkillHolder WIZARD = new SkillHolder(15650, 1); // Wizard's Harmony (Adventurer)
+ private static final SkillHolder[] GROUP_BUFFS =
+ {
+ new SkillHolder(15642, 1), // Horn Melody (Adventurer)
+ new SkillHolder(15645, 1), // Guitar Melody (Adventurer)
+ new SkillHolder(15643, 1), // Drum Melody (Adventurer)
+ new SkillHolder(15646, 1), // Harp Melody (Adventurer)
+ new SkillHolder(15647, 1), // Lute Melody (Adventurer)
+ new SkillHolder(15644, 1), // Pipe Organ Melody (Adventurer)
+ new SkillHolder(15651, 1), // Prevailing Sonata (Adventurer)
+ new SkillHolder(15652, 1), // Daring Sonata (Adventurer)
+ new SkillHolder(15653, 1), // Refreshing Sonata (Adventurer)
+ };
+
+ public Q10541_TrainLikeTheRealThing()
+ {
+ super(10541);
+ addStartNpc(SHANNON);
+ addTalkId(SHANNON, ADVENTURERS_GUIDE);
+ addKillId(SCARECROW);
+ addCondNotRace(Race.ERTHEIA, "noRace.html");
+ addCondMaxLevel(MAX_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10321_QualificationsOfTheSeeker.class.getSimpleName(), "noLevel.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "32974-02.htm":
+ case "32974-03.htm":
+ case "32981-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32981-03.html":
+ {
+ player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_002_Guide_01.htm", TutorialShowHtml.LARGE_WINDOW));
+ htmltext = event;
+ break;
+ }
+ case "32974-04.htm":
+ {
+ qs.startQuest();
+ showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 8000);
+ htmltext = event;
+ break;
+ }
+ case "buff":
+ {
+ if (player.isMageClass())
+ {
+ applyBuffs(npc, player, WIZARD.getSkill());
+ }
+ else
+ {
+ applyBuffs(npc, player, WARRIOR.getSkill());
+ }
+ showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 8000);
+ qs.setCond(4, true);
+ htmltext = "32981-04.html";
+ break;
+ }
+ case "HTML":
+ {
+ htmltext = "32974-08.html";
+ break;
+ }
+ case "HTML1":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ qs.unset("KillCount");
+ showOnScreenMsg(player, NpcStringId.SPEAK_WITH_THE_ADVENTURERS_GUIDE_FOR_TRAINING, ExShowScreenMessage.TOP_CENTER, 5000);
+ htmltext = "32974-06.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SHANNON)
+ {
+ htmltext = "32974-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case SHANNON:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32974-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ startQuestTimer("HTML1", 100, npc, player);
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "32974-07.html";
+ }
+ else if (qs.isCond(5))
+ {
+ addExpAndSp(player, 2950, 7);
+ qs.exitQuest(false, true);
+ startQuestTimer("HTML", 200, npc, player);
+ }
+ break;
+ }
+ case ADVENTURERS_GUIDE:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "32981-01.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "32981-04.html";
+ }
+ break;
+ }
+ }
+ break;
+
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ int killCount = qs.getInt(KILL_COUNT_VAR);
+ qs.set(KILL_COUNT_VAR, ++killCount);
+ if (killCount >= 4)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ }
+ else if ((qs != null) && qs.isCond(4))
+ {
+ int kills = qs.getInt(Integer.toString(SCARECROW));
+ if (kills < 4)
+ {
+ kills++;
+ qs.set(Integer.toString(SCARECROW), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SCARECROW, qs.getInt(Integer.toString(SCARECROW)));
+ qs.getPlayer().sendPacket(log);
+
+ if (qs.getInt(Integer.toString(SCARECROW)) >= 4)
+ {
+ qs.setCond(5, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (killCount > 0)
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEATING_THE_SCARECROW, killCount));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+
+ private String applyBuffs(L2Npc npc, L2PcInstance player, Skill skill)
+ {
+ for (SkillHolder holder : GROUP_BUFFS)
+ {
+ holder.getSkill().applyEffects(npc, player);
+ }
+ skill.applyEffects(npc, player);
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/noLevel.html
new file mode 100644
index 0000000000..1c37ceeee3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/noLevel.html
@@ -0,0 +1,4 @@
+Shannon:
+This mission can't be give to just anyone!
+(Only characters below 20, who've completed the "Qualifications Of The Seeker" quest, may start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/noRace.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/noRace.html
new file mode 100644
index 0000000000..5c29decbcd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10541_TrainLikeTheRealThing/noRace.html
@@ -0,0 +1,4 @@
+Shannon:
+I don't trust you.
+(Ertheia classes cannot perform this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-01.htm
new file mode 100644
index 0000000000..8690ce8bf3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-01.htm
@@ -0,0 +1,4 @@
+Shannon:
+Are you really thinking of being a seeker? You've got the will, and you seem to have the skills too, but you'll need a bit of polishing. Hmm... I think you'll first need to learn how to use your new powers. What do you think?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-02.htm
new file mode 100644
index 0000000000..3574d07a8c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-02.htm
@@ -0,0 +1,7 @@
+Shannon:
+There are a wide variety of new powers. The Support Magic you just experienced is just and example; the variety is quite large.
+Of course, if you're going to learn something, experiencing it yourself is always going to be the most effective way.
+I happen to have been asked by Pantheon to investigate some strange movement in the Museum.
+I think this'll be a good training opportunity for you. Prepare yourself mentally first, and tell me when you're done getting ready.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-03.htm
new file mode 100644
index 0000000000..a69d15bb00
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-03.htm
@@ -0,0 +1,5 @@
+Shannon:
+Ready already? My, my. Aren't you enthusiastic! Now then, before you head to the Museum, I'll give you some important information first.
+Now, take these Soulshots. They have no grade, but as you get stronger and get better weapons, you can use Grade D, C, B, A, S, and eventually R. It's very important in battle.
+Your Soulshots should be activated automatically.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-04.html
new file mode 100644
index 0000000000..4047f4809a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-04.html
@@ -0,0 +1,6 @@
+Shannon:
+Now that you're done preparing, should we head to the museum?
+I'd go with you, but you can't always have me picking up after you, right?
+I've told Toyron at the Museum that I'm sending a promising rookie his way. Go and find Toyron.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-05.html
new file mode 100644
index 0000000000..39d7b037df
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-05.html
@@ -0,0 +1,4 @@
+Shannon:
+You've done well. It turns out what you were dealing with wasn't as minor as I thought it was. I have some trust in you know. What did you think? I told Toyron to help you learn to use your skills properly. Did you learn well?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-06.html
new file mode 100644
index 0000000000..b14d65d55a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/32974-06.html
@@ -0,0 +1,3 @@
+Shannon:
+There's my promising rookie! Good job.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/Q10542_SearchingForNewPower.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/Q10542_SearchingForNewPower.java
new file mode 100644
index 0000000000..f84e165316
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/Q10542_SearchingForNewPower.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q10542_SearchingForNewPower;
+
+import com.l2jmobius.gameserver.enums.Race;
+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 com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
+
+/**
+ * Searching for New Power (10542)
+ * @URL https://l2wiki.com/Searching_for_New_Power
+ * @author GIgi
+ */
+public final class Q10542_SearchingForNewPower extends Quest
+{
+ // NPCs
+ private static final int SHANNON = 32974;
+ // Items
+ private static final int SOULSHOT = 1835;
+ private static final int THE_WAR_OF_GODS_AND_GIANTS = 17575;
+ // Misc
+ private static final int MAX_LEVEL = 20;
+
+ public Q10542_SearchingForNewPower()
+ {
+ super(10542);
+ addStartNpc(SHANNON);
+ addTalkId(SHANNON);
+ registerQuestItems(THE_WAR_OF_GODS_AND_GIANTS);
+ addCondNotRace(Race.ERTHEIA, "noRace.html");
+ addCondMaxLevel(MAX_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10541_TrainLikeTheRealThing.class.getSimpleName(), "noLevel.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "32974-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32974-03.htm":
+ {
+ qs.startQuest();
+ showOnScreenMsg(player, NpcStringId.AUTOMATE_SOULSHOT_AS_SHOWN_IN_THE_TUTORIAL, ExShowScreenMessage.TOP_CENTER, 10000);
+ if (!hasQuestItems(player, SOULSHOT))
+ {
+ giveItems(player, SOULSHOT, 100);
+ }
+ htmltext = event;
+ break;
+ }
+ case "32974-06.html":
+ {
+ addExpAndSp(player, 3200, 8);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SHANNON)
+ {
+ htmltext = "32974-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if ((qs.getCond() > 0) && (qs.getCond() < 5))
+ {
+ htmltext = "32974-04.html";
+ qs.setCond(2);
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "32974-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/noLevel.html
new file mode 100644
index 0000000000..c4ef294642
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/noLevel.html
@@ -0,0 +1,4 @@
+Shannon:
+This mission can't be give to just anyone!
+(Only characters below 20, who've completed the "Train Like the Real Thing" quest, may start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/noRace.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/noRace.html
new file mode 100644
index 0000000000..5c29decbcd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10542_SearchingForNewPower/noRace.html
@@ -0,0 +1,4 @@
+Shannon:
+I don't trust you.
+(Ertheia classes cannot perform this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-01.html
new file mode 100644
index 0000000000..035e6b05d4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-01.html
@@ -0,0 +1,5 @@
+Warehouse Keeper Wilfred:
+Do you want to deposit something? Then you're in the right place.
+Oh, it's not yours. You're still in the right place, then. Hmm? You're here to learn how to make yourself lighter?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-02.html
new file mode 100644
index 0000000000..a290777b42
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-02.html
@@ -0,0 +1,6 @@
+Warehouse Keeper Wilfred:
+Oh, there's nothing complicated. We the Steel Gate Guild will safeguard any item for the measly sum of just 30 Adena.
+If you have an article you need, just not right away, leave it with us.
+Of course, that's just one way of making yourself lighter. Would you like to know more?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-03.html
new file mode 100644
index 0000000000..4c5ffe8650
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/30005-03.html
@@ -0,0 +1,5 @@
+Warehouse Keeper Wilfred:
+That's nothing difficult. I'll tell you.
+You could come to a Steel Gate Guildsman like myself in person to deposit items, but you can also have a friend mail in your items for safekeeping. I use this method myself from time to time.
+You'll be obtaining far more items in the future. This tip should come in handy someday.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-01.htm
new file mode 100644
index 0000000000..fc6acb6cc7
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-01.htm
@@ -0,0 +1,5 @@
+Shannon:
+I don't think there's much I can teach you anymore. Like I said in the beginning, I can H.E.L.P. As for all that other difficult stuff, you'll need to deal with that on your own. IF not, how will you ever learn?
+Oh yeah, but there's one more thing I can teach you.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-02.htm
new file mode 100644
index 0000000000..d747aad35a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-02.htm
@@ -0,0 +1,6 @@
+Shannon:
+As you grow stronger, and travel here and there as a seeker, you'll end up with a bunch of supply items some of which you'll need, and others that you won't.
+It's not a good idea to carry around too much luggage though. If you're weighed down, you won't be able to fight at your full potential.
+That's why I often leave my heavy baggage with the Warehouse Keeper. I happen to have something to deposit with him. Care to head over instead of me? This'll be a good opportunity to introduce yourself to the Warehouse Keeper, too.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-03.htm
new file mode 100644
index 0000000000..447261eed9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-03.htm
@@ -0,0 +1,4 @@
+Shannon:
+At the center of the village, you'll find Warehouse Keeper Wilford. He isn't the only one, and you'll find Warehouse Keepers throughout the Aden Continent. Make friends with them, and they'll prove useful to you.
+I'm going to deposit my rookie training log with Wilford. Would you take it to him? Say hi to him and introduce yourself while you're at it. I'll be waiting for you to return, then.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-04.html
new file mode 100644
index 0000000000..86afdf2826
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/32974-04.html
@@ -0,0 +1,3 @@
+Shannon:
+Go and find Wilford the Warehouse Keeper Wilford. While you're there, ask him for some small tips on keeping your body light and unburdened.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/Q10543_SheddingWeight.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/Q10543_SheddingWeight.java
new file mode 100644
index 0000000000..069468aee0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/Q10543_SheddingWeight.java
@@ -0,0 +1,160 @@
+/*
+ * 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.Q10543_SheddingWeight;
+
+import com.l2jmobius.gameserver.enums.Race;
+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 com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
+
+import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
+
+/**
+ * Shedding Weight (10543)
+ * @URL https://l2wiki.com/Shedding_Weight
+ * @author GIgi
+ */
+public final class Q10543_SheddingWeight extends Quest
+{
+ // NPCs
+ private static final int SHANNON = 32974;
+ private static final int WILFORD = 30005;
+ // Items
+ // private static final int NOVICE_TRAINING_LOG = 1835; // TODO Find item ID
+ private static final int WOODEN_ARROW = 17;
+ private static final int APPRENTICE_ADVENTURERS_STAFF = 7816;
+ private static final int APPRENTICE_ADVENTURERS_BONE_CLUB = 7817;
+ private static final int APPRENTICE_ADVENTURERS_KNIFE = 7818;
+ private static final int APPRENTICE_ADVENTURERS_CESTUS = 7819;
+ private static final int APPRENTICE_ADVENTURERS_BOW = 7820;
+ private static final int APPRENTICE_ADVENTURERS_LONG_SWORD = 7821;
+ // Misc
+ private static final int MAX_LEVEL = 20;
+
+ public Q10543_SheddingWeight()
+ {
+ super(10543);
+ addStartNpc(SHANNON);
+ addTalkId(SHANNON, WILFORD);
+ // registerQuestItems(NOVICE_TRAINING_LOG);
+ addCondNotRace(Race.ERTHEIA, "noRace.html");
+ addCondMaxLevel(MAX_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10542_SearchingForNewPower.class.getSimpleName(), "noLevel.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "32974-02.htm":
+ case "30005-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32974-03.htm":
+ {
+ qs.startQuest();
+ // giveItems(player, NOVICE_TRAINING_LOG, 1);
+ htmltext = event;
+ break;
+ }
+ case "30005-03.html":
+ {
+ giveItems(player, WOODEN_ARROW, 500);
+ giveItems(player, APPRENTICE_ADVENTURERS_STAFF, 1);
+ giveItems(player, APPRENTICE_ADVENTURERS_BONE_CLUB, 1);
+ giveItems(player, APPRENTICE_ADVENTURERS_KNIFE, 1);
+ giveItems(player, APPRENTICE_ADVENTURERS_CESTUS, 1);
+ giveItems(player, APPRENTICE_ADVENTURERS_BOW, 1);
+ giveItems(player, APPRENTICE_ADVENTURERS_LONG_SWORD, 1);
+ player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_007_post_01.htm", TutorialShowHtml.LARGE_WINDOW));
+ showOnScreenMsg(player, NpcStringId.WEAPONS_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
+ addExpAndSp(player, 2630, 9);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SHANNON)
+ {
+ htmltext = "32974-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case SHANNON:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32974-04.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "32974-05.html";
+ }
+ break;
+ }
+ case WILFORD:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30005-01.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/noLevel.html
new file mode 100644
index 0000000000..55cebaa49f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/noLevel.html
@@ -0,0 +1,4 @@
+Shannon:
+This mission can't be give to just anyone!
+(Only characters below 20, who've completed the "Searching for New Power" quest, may start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/noRace.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/noRace.html
new file mode 100644
index 0000000000..5c29decbcd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10543_SheddingWeight/noRace.html
@@ -0,0 +1,4 @@
+Shannon:
+I don't trust you.
+(Ertheia classes cannot perform this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-01.html
new file mode 100644
index 0000000000..fff787c4f4
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-01.html
@@ -0,0 +1,6 @@
+Weapon Merchant Lector:
+That's quite a load you're carrying. What's going on?
+I'm Weapon Merchant Lector. I deal in weapons.
+I tell would-be clients that the best weapons are the weapons that suit them best, not the most expensive ones. Hence my success.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-02.html
new file mode 100644
index 0000000000..95d89d8cf2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-02.html
@@ -0,0 +1,6 @@
+Weapon Merchant Lector:
+Of course.
+The effectiveness of your weapons depends on your class and status. This is an important fact. If you didn't know this before, make sure you don't forget.
+Ah, if you're delivering supply boxes, would you take the supplies I have prepared along with you?
+While you're at it... Armor Merchant Jackson appears to need help too. Please pay him a visit.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-03.html
new file mode 100644
index 0000000000..5f1b085a63
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30001-03.html
@@ -0,0 +1,3 @@
+Weapon Merchant Lector:
+Armor Merchant Jackson appears to need help too. Please pay him a visit.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-01.html
new file mode 100644
index 0000000000..2dc23f5ec9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-01.html
@@ -0,0 +1,7 @@
+Armor Merchant Jackson:
+Would you like to know more about armors?
+I'm Jackson, and I sell armors that enhance your defenses against physical attacks.
+It's rewarding to be selling articles so directly associated with safety. Equip yourself with a upper armor, pants, gloves, boots, and a helmet, and you'll be able to withstand strong attacks.
+But it appears that you're not here to buy armors.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-02.html
new file mode 100644
index 0000000000..1822bfbd22
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-02.html
@@ -0,0 +1,5 @@
+Armor Merchant Jackson:
+Ah, then you must be on your way to deliver supply items!
+This is great. I was wondering what I should do, since I can't leave my store unattended. Here's an Armor Supply Box that I'd like you to deliver.
+While you're at it, I'd like you to stop by the Accessory Merchant as well. He's also having trouble delivering supply boxes.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-03.html
new file mode 100644
index 0000000000..255a056250
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30002-03.html
@@ -0,0 +1,3 @@
+Armor Merchant Jackson:
+Accessory Merchant Trevor is having a hard time delivering his supply boxes. You should pay him a visit.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-01.html
new file mode 100644
index 0000000000..2f2a2035e9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-01.html
@@ -0,0 +1,5 @@
+Grocer Katerina:
+Welcome. What brings you to me?
+We're so short on time helping out the seekers. I mean, merchants are supposed to trade, but we're not getting any of that done. Come to think of it, now that I'm not doing my job properly, you must have no idea what I sell.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-02.html
new file mode 100644
index 0000000000..df52f97e67
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-02.html
@@ -0,0 +1,4 @@
+Grocer Katerina:
+I sell various accessories. I deal in a variety of articles, far too many to name them all. They include Scrolls of Escape, used to return to the village from outside, Recovery Potions for use when injured, and Soulshots or Spiritshots which are used in battle. They're mostly consumables. Oh, would you look at that. I've been gossiping again.
+Oh, yes! If you have the time, could you deliver Grocery Supply Boxes for me? Please stop by Weapon Merchant Lector on your way.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-03.html
new file mode 100644
index 0000000000..d9b48f5801
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30004-03.html
@@ -0,0 +1,3 @@
+Grocer Katerina:
+Go to Weapon Merchant Lector.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-01.htm
new file mode 100644
index 0000000000..f11137e922
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-01.htm
@@ -0,0 +1,6 @@
+Warehouse Keeper Wilford:
+Hmm, alright. That looks about right.
+Hmm, what? Nah. I was just sizing you up for skill. You see, I've been watching countless seekers and adventurers over the years. When I see talent, I know it.
+You seem ready enough to enter the search area now.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-02.htm
new file mode 100644
index 0000000000..249f72dc3b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-02.htm
@@ -0,0 +1,5 @@
+Warehouse Keeper Wilford:
+Aha! You're a quick thinker. Of course, I just stand here and receive articles for safekeeping from passers by, but the traders in the village are hard at work, fighting against the crisis on the continent.
+Of course, I'm doing my part to help overcome the difficulties, and am willingly giving up profits to provide the supplies required for the search operations. But providing supplies is different from leaving my shop unattended. That's why I'm always looking for manpower to deliver the supplies I donate.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-03.htm
new file mode 100644
index 0000000000..3e04ceb6f6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-03.htm
@@ -0,0 +1,5 @@
+Warehouse Keeper Wilford:
+Yes, I have a request.
+Grocer Katerina over there has to have a Grocery Supply Box delivered, but she asked for help, saying that she can't leave her shop unattended. Would you go over there and help her?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-04.htm
new file mode 100644
index 0000000000..94a70f9535
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-04.htm
@@ -0,0 +1,3 @@
+Warehouse Keeper Wilford:
+Thank you. Then head on over to Grocer Katerina, and take her Grocery Supply Box off her hands.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-05.html
new file mode 100644
index 0000000000..b6cb6ff4c6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/30005-05.html
@@ -0,0 +1,3 @@
+Warehouse Keeper Wilfred:
+Find Grocer Katerina, and take her Grocery Supply Box off her hands.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32146-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32146-00.html
new file mode 100644
index 0000000000..20f5e4321d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32146-00.html
@@ -0,0 +1,3 @@
+Grand Master Valfar:
+I am Kamael. I have nothing to say or do for races other than Kamael. Be sure you know what race you belong to, at the least.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32147-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32147-00.html
new file mode 100644
index 0000000000..c2ff617437
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32147-00.html
@@ -0,0 +1,4 @@
+Grand Master Rivian:
+I am in charge of the Elves. Of course, I have something to ask of an Elf who's in a situation similar to yours, but you're not exactly the one...
+I think you should go in search of your race's master.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32150-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32150-00.html
new file mode 100644
index 0000000000..a009f7a0a2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32150-00.html
@@ -0,0 +1,4 @@
+High Prefect Took:
+You're not an Orc! I only have something to say to young warriors of the Orc race. But you're not.
+You haven't forgotten your own race, have you?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-00.html
new file mode 100644
index 0000000000..6fd847065d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-00.html
@@ -0,0 +1,4 @@
+High Priest Franco:
+What's going on? I thought you were of the Humans, and was going to ask something of you. It appears you're not of the Humans, though.
+I am in charge of guiding those of the Humans on the right path into the future. I think you haven't forgotten your own race?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-01.html
new file mode 100644
index 0000000000..2601f30a55
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-01.html
@@ -0,0 +1,4 @@
+%name%:
+Ah! You've brought the supply items. Good work. I'm worried the situation isn't improving. We need to straighten out the supplies issue as soon as possible. Think of all the commandos out there! Are those supplies?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-02.html
new file mode 100644
index 0000000000..b41f28b31a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-02.html
@@ -0,0 +1,5 @@
+%name%:
+Fortunately, this should be enough.
+It's good to see those from such diverse roots helping each other out to work through adversity. I commend you for making your services available as well. Would you leave the supplies with me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-03.html
new file mode 100644
index 0000000000..9e4b8d6949
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32153-03.html
@@ -0,0 +1,4 @@
+%name%:
+I will hold onto the Supply Items for now.
+I am reorganizing the supplies that the seekers who have been dispatched for the search mission need, hence the nuisance.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32157-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32157-00.html
new file mode 100644
index 0000000000..e05a08bc06
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32157-00.html
@@ -0,0 +1,4 @@
+Head Blacksmith Moka:
+I'm busy. I don't have time to help those of races other than Dwarves.
+You should know your race properly.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32160-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32160-00.html
new file mode 100644
index 0000000000..d472e3928f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32160-00.html
@@ -0,0 +1,4 @@
+Grand Magister Devon:
+You don't seem to be a Dark Elf.
+What I have to say is only intended for young children of the Dark Elves. Be sure you know what your race is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-01.html
new file mode 100644
index 0000000000..717e5bbf72
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-01.html
@@ -0,0 +1,7 @@
+Accessory Merchant Trevor:
+I have been waiting for you. I saw you meeting the other merchants, and was wondering whether you would make it over here.
+You're delivering the Supply Chests, aren't you? I have some accessory supply items prepared.
+I deal in accessories such as earrings, necklaces, and rings. Armor increases defense against physical attacks. On the other hand, accessories increase defense against magic.
+The enemies outside the village will attack you in various forms, which why it's important to wear both armor and accessories.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-02.html
new file mode 100644
index 0000000000..a026264008
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-02.html
@@ -0,0 +1,4 @@
+Accessory Merchant Trevor:
+Here, here is the supply chest. Phew, that's a load off my chest.
+Come to think of it, Race Grand Magister at the Administrative Office was looking for you, saying that he had something he wanted to check with the supply items. Would you head over to the Administrative Office?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-03.html
new file mode 100644
index 0000000000..6a97cf4e60
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/32166-03.html
@@ -0,0 +1,3 @@
+Accessory Merchant Trevor:
+They are looking for you at the Administrative Office, to check something that has to do with the supply items. Head over to the Administrative Office.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/Q10544_SeekerSupplies.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/Q10544_SeekerSupplies.java
new file mode 100644
index 0000000000..fbed597cce
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/Q10544_SeekerSupplies.java
@@ -0,0 +1,289 @@
+/*
+ * 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.Q10544_SeekerSupplies;
+
+import com.l2jmobius.gameserver.enums.Race;
+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.Q10543_SheddingWeight.Q10543_SheddingWeight;
+
+/**
+ * Seeker Supplies (10544)
+ * @URL https://l2wiki.com/Commando_Supplies
+ * @author GIgi
+ */
+public final class Q10544_SeekerSupplies extends Quest
+{
+ // NPCs
+ private static final int WILFORD = 30005;
+ private static final int KATERINA = 30004;
+ private static final int LECTOR = 30001;
+ private static final int JACKSON = 30002;
+ private static final int TREVOR = 32166;
+ private static final int FRANCO = 32153; // Human
+ private static final int RIVIAN = 32147; // Elf
+ private static final int TOOK = 32150; // Orc
+ private static final int DEVON = 32160; // Dark Elf
+ private static final int MOKA = 32157; // Dwarf
+ private static final int VALFAR = 32146; // Kamael
+ // Item's
+ private static final int GROCERY_SUPLLY_BOX = 39524;
+ private static final int WEAPON_SUPLLY_BOX = 39522;
+ private static final int ARMOR_SUPLLY_BOX = 39523;
+ private static final int ACCESSORY_SUPPLY_BOX = 39525;
+ // Reward's
+ private static final int LEATHER_SHIRT = 709;
+ private static final int LEATHER_PANTS = 713;
+ private static final int LEATHER_TUNIC = 429;
+ private static final int LEATHER_STOCKINGS = 464;
+ private static final int APPRENTICE_EARRING = 112;
+ private static final int NECKLACE_OF_KNOWNLEDGE = 906;
+ // Misc
+ private static final int MAX_LEVEL = 20;
+
+ public Q10544_SeekerSupplies()
+ {
+ super(10544);
+ addStartNpc(WILFORD);
+ addTalkId(WILFORD, KATERINA, LECTOR, JACKSON, TREVOR, FRANCO, RIVIAN, TOOK, DEVON, MOKA, VALFAR);
+ registerQuestItems(GROCERY_SUPLLY_BOX, WEAPON_SUPLLY_BOX, ARMOR_SUPLLY_BOX, ACCESSORY_SUPPLY_BOX);
+ addCondNotRace(Race.ERTHEIA, "noRace.html");
+ addCondMaxLevel(MAX_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10543_SheddingWeight.class.getSimpleName(), "noLevel.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30005-02.htm":
+ case "30005-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30005-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30004-02.html":
+ {
+ qs.setCond(2, true);
+ giveItems(player, GROCERY_SUPLLY_BOX, 1);
+ htmltext = event;
+ break;
+ }
+ case "30001-02.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ giveItems(player, WEAPON_SUPLLY_BOX, 1);
+ htmltext = event;
+ break;
+ }
+ case "30002-02.html":
+ {
+ qs.setCond(4, true);
+ giveItems(player, ARMOR_SUPLLY_BOX, 1);
+ htmltext = event;
+ break;
+ }
+ case "32166-02.html":
+ {
+ qs.setCond(5, true);
+ giveItems(player, ACCESSORY_SUPPLY_BOX, 1);
+ htmltext = event;
+ break;
+ }
+ case "32153-02.html":
+ {
+ htmltext = getHtm(player.getHtmlPrefix(), "32153-02.html").replace("%name%", npc.getName());
+ break;
+ }
+ case "32153-03.html":
+ {
+ if (player.isMageClass())
+ {
+ giveItems(player, LEATHER_TUNIC, 1);
+ giveItems(player, LEATHER_STOCKINGS, 1);
+ }
+ else if (!player.isMageClass())
+ {
+ giveItems(player, LEATHER_SHIRT, 1);
+ giveItems(player, LEATHER_PANTS, 1);
+ }
+ giveItems(player, APPRENTICE_EARRING, 2);
+ giveItems(player, NECKLACE_OF_KNOWNLEDGE, 1);
+ addExpAndSp(player, 2630, 10);
+ qs.exitQuest(false, true);
+ htmltext = getHtm(player.getHtmlPrefix(), "32153-03.html").replace("%name%", npc.getName());
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == WILFORD)
+ {
+ htmltext = "30005-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case WILFORD:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30005-05.html";
+ }
+ break;
+ }
+ case KATERINA:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30004-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30004-03.html";
+ }
+ break;
+ }
+ case LECTOR:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "30001-01.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "30001-03.html";
+ }
+ break;
+ }
+ case JACKSON:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "30002-01.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "30002-03.html";
+ }
+ break;
+ }
+ case TREVOR:
+ {
+ if (qs.isCond(4))
+ {
+ htmltext = "32166-01.html";
+ }
+ else if (qs.isCond(5))
+ {
+ htmltext = "32166-03.html";
+ }
+ break;
+ }
+ case FRANCO:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = (player.getRace() == Race.HUMAN) ? getHtm(player.getHtmlPrefix(), "32153-01.html").replace("%name%", npc.getName()) : "32153-00.html";
+ }
+ break;
+ }
+ case RIVIAN:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = (player.getRace() == Race.ELF) ? getHtm(player.getHtmlPrefix(), "32153-01.html").replace("%name%", npc.getName()) : "32147-00.html";
+ }
+ break;
+ }
+ case TOOK:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = (player.getRace() == Race.ORC) ? getHtm(player.getHtmlPrefix(), "32153-01.html").replace("%name%", npc.getName()) : "32150-00.html";
+ }
+ break;
+ }
+ case DEVON:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = (player.getRace() == Race.DARK_ELF) ? getHtm(player.getHtmlPrefix(), "32153-01.html").replace("%name%", npc.getName()) : "32160-00.html";
+ }
+ break;
+ }
+ case MOKA:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = (player.getRace() == Race.DWARF) ? getHtm(player.getHtmlPrefix(), "32153-01.html").replace("%name%", npc.getName()) : "32157-00.html";
+ }
+ break;
+ }
+ case VALFAR:
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = (player.getRace() == Race.KAMAEL) ? getHtm(player.getHtmlPrefix(), "32153-01.html").replace("%name%", npc.getName()) : "32146-00.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/noLevel.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/noLevel.html
new file mode 100644
index 0000000000..c46dc1ca45
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/noLevel.html
@@ -0,0 +1,4 @@
+Shannon:
+This mission can't be give to just anyone!
+(Only characters below 20, who've completed the "Shedding Weight" quest, may start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/noRace.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/noRace.html
new file mode 100644
index 0000000000..5c29decbcd
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10544_SeekerSupplies/noRace.html
@@ -0,0 +1,4 @@
+Shannon:
+I don't trust you.
+(Ertheia classes cannot perform this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-00.html
new file mode 100644
index 0000000000..5c11af6531
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-00.html
@@ -0,0 +1,4 @@
+Officer Rumiese:
+Well, I know that a soul bottle is a rare item. So what?
+(Only characters Lv. 97 or above who have completed "Extreme Challenge: Primal Mother Resurrected" quest may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-01.html
new file mode 100644
index 0000000000..57ac4827b3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-01.html
@@ -0,0 +1,4 @@
+Officer Rumiese:
+Oh, I remember you. You helped us defeat Istina! What brings you back?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-02.html
new file mode 100644
index 0000000000..ba180d1222
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-02.html
@@ -0,0 +1,6 @@
+Officer Rumiese:
+Well, I don't doubt your ability to do it, since I've seen you do it before. But why do you want to fight Istina again, if you don't mind me asking?
+Is there a special reason?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-03.html
new file mode 100644
index 0000000000..f7e59fddb1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-03.html
@@ -0,0 +1,5 @@
+Officer Rumiese:
+What a noble mind. I am impressed all over again! How about I get you a small gift or something, to help you with your noble deed?
+Would you take even a small reward? What do you say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-04.html
new file mode 100644
index 0000000000..dd362f2991
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-04.html
@@ -0,0 +1,4 @@
+Officer Rumiese: Oh. Um. You're very, uh, honest.
+Well, I mean, that's not a bad thing. If you take her down, it will be good for us too. Let us work together then, shall we?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-05.html
new file mode 100644
index 0000000000..5fd9dc61ca
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-05.html
@@ -0,0 +1,6 @@
+Officer Rumiese:
+All right, I'll make sure you get to face Istina again.
+Complete the task I give you successfully, and you'll be able to receive the Bottle of Istina's Soul.
+ But remember -- only this once.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-06.html
new file mode 100644
index 0000000000..d103176a0e
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-06.html
@@ -0,0 +1,4 @@
+Officer Rumiese:
+All right, the prep work is done. Let me know when you're ready to go.
+(You can now undertake the quest "Extreme Challenge: Primal Mother Resurrected" one more time.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/Q10703_BottleOfIstinasSoul.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/Q10703_BottleOfIstinasSoul.java
new file mode 100644
index 0000000000..5a337ecc5d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/Q10703_BottleOfIstinasSoul.java
@@ -0,0 +1,134 @@
+/*
+ * 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.Q10703_BottleOfIstinasSoul;
+
+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.Q00150_ExtremeChallengePrimalMotherResurrected.Q00150_ExtremeChallengePrimalMotherResurrected;
+
+/**
+ * Bottle of Istina's Soul (10703)
+ * @URL http://l2on.net/en/?c=quests&id=10703&game=1
+ * @author Gigi
+ */
+public final class Q10703_BottleOfIstinasSoul extends Quest
+{
+ // NPCs
+ private static final int RUMIESE = 33293;
+ // Item
+ private static final int ISTINAS_SOUL_BOTTLE = 34883;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q10703_BottleOfIstinasSoul()
+ {
+ super(10703);
+ addStartNpc(RUMIESE);
+ addTalkId(RUMIESE);
+ addCondMinLevel(MIN_LEVEL, "33293-00.html");
+ addCondCompletedQuest(Q00150_ExtremeChallengePrimalMotherResurrected.class.getSimpleName(), "33293-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ final QuestState qs1 = player.getQuestState(Q00150_ExtremeChallengePrimalMotherResurrected.class.getSimpleName());
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "33293-02.html":
+ case "33293-03.html":
+ case "33293-04.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33293-05.html":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "33293-06.html":
+ {
+ if (qs.isCond(1) && (getQuestItemsCount(player, ISTINAS_SOUL_BOTTLE) >= 1))
+ {
+ takeItems(player, ISTINAS_SOUL_BOTTLE, 1);
+ qs1.setState(State.CREATED);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((npcId == RUMIESE) && (getQuestItemsCount(player, ISTINAS_SOUL_BOTTLE) >= 1))
+ {
+ htmltext = "33293-01.html";
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33293-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-00.html
new file mode 100644
index 0000000000..fac7b9694c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-00.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+No more, please. I cannot help you.
+(This quest is only available for characters Lv. 95 or above who have completed the "Resurrected Owner of Hall" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-01.html
new file mode 100644
index 0000000000..86ff67e181
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-01.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+You're back. Missing something from your last fight with Octavis?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-02.html
new file mode 100644
index 0000000000..02e2e7c065
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-02.html
@@ -0,0 +1,6 @@
+Divine Messenger Lydia:
+Oh? That's interesting. Octavis is up and around again, thanks to Shilen's powers.
+But how did you know, and why did you come? Why return to a foe you have already defeated?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-03.html
new file mode 100644
index 0000000000..542ab5b289
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-03.html
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+Just as I had thought... you are truly a great warrior. I will help you the best I can.
+Would you like to accept something small I prepared?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-04.html
new file mode 100644
index 0000000000..0ca5f0c0b1
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-04.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+...I see. It would be dishonest of me to say your answer makes me happy. But your honesty is also commendable. Very well then, as your help will ultimately help us all... I will help you.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-05.html
new file mode 100644
index 0000000000..4c19697be3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-05.html
@@ -0,0 +1,6 @@
+Divine Messenger Lydia:
+All right then. I will make arrangements for you to fight Octavis again.
+If you succeed, you will receive a Bottle of Octavis' Soul.
+But do remember -- this is your only chance.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-06.html
new file mode 100644
index 0000000000..a9a274cd49
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-06.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+Everything is now ready. Let me know when you wish to begin. Good luck to you.
+(You can now undertake the quest "Resurrected Owner of Hall" one more time. The Bottle of Octavis' Soul will be your only reward.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/Q10704_BottleOfOctavisSoul.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/Q10704_BottleOfOctavisSoul.java
new file mode 100644
index 0000000000..54b87bb1d0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/Q10704_BottleOfOctavisSoul.java
@@ -0,0 +1,135 @@
+/*
+ * 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.Q10704_BottleOfOctavisSoul;
+
+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.Q10354_ResurrectedOwnerOfHall.Q10354_ResurrectedOwnerOfHall;
+
+/**
+ * Bottle of Octavis' Soul (10704)
+ * @URL http://l2on.net/en/?c=quests&id=10704&game=1
+ * @author Gigi
+ */
+public final class Q10704_BottleOfOctavisSoul extends Quest
+{
+ // NPCs
+ private static final int LYDIA = 32892;
+ // Item
+ private static final int OCTAVIS_SOUL_BOTTLE = 34884;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+
+ public Q10704_BottleOfOctavisSoul()
+ {
+ super(10704);
+ addStartNpc(LYDIA);
+ addTalkId(LYDIA);
+ addCondMinLevel(MIN_LEVEL, "32892-00.html");
+ addCondCompletedQuest(Q10354_ResurrectedOwnerOfHall.class.getSimpleName(), "32892-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ final QuestState qs1 = player.getQuestState(Q10354_ResurrectedOwnerOfHall.class.getSimpleName());
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "32892-02.html":
+ case "32892-03.html":
+ case "32892-04.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32892-05.html":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "32892-06.html":
+ {
+ if (qs.isCond(1) && (getQuestItemsCount(player, OCTAVIS_SOUL_BOTTLE) >= 1))
+ {
+ takeItems(player, OCTAVIS_SOUL_BOTTLE, 1);
+ qs1.setState(State.CREATED);
+ qs1.setMemoState(1);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((npcId == LYDIA) && (getQuestItemsCount(player, OCTAVIS_SOUL_BOTTLE) >= 1))
+ {
+ htmltext = "32892-01.html";
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32892-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-00.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-00.html
new file mode 100644
index 0000000000..31779c29a3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-00.html
@@ -0,0 +1,4 @@
+Fergason:
+I can't do any more for you. I have my limits, after all.
+(This quest is only available for characters Lv. 97 or above who have completed "An Audience With Tauti" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-01.html
new file mode 100644
index 0000000000..633a5cd62a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-01.html
@@ -0,0 +1,4 @@
+Fergason:
+Oh, hey! I know you! You're that gutsy fella that took down Tauti!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-02.html
new file mode 100644
index 0000000000..648c3dd5f8
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-02.html
@@ -0,0 +1,6 @@
+Fergason:
+Oh? Well, well. I've seen what you're capable of, so I won't try to stop you. But...why?
+I mean sure, you took down Tauti before, but not without losses on your part. Why risk your life again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-03.html
new file mode 100644
index 0000000000..2d2c83fc67
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-03.html
@@ -0,0 +1,5 @@
+Fergason:
+Really? Such a noble deed with no demand in return! I commend you. I really...dear me, you have moved me beyond words.
+A true dwarf knows to repay a good deed done. I will see to it that your pains are worth your while.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-04.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-04.html
new file mode 100644
index 0000000000..ce7aa9a609
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-04.html
@@ -0,0 +1,5 @@
+Fergason:
+Just as I thought! Well, no harm in that. Hard work deserves rewarding!
+In that case, I can try to pull some strings for you. What do you say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-05.html
new file mode 100644
index 0000000000..8c12a62811
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-05.html
@@ -0,0 +1,5 @@
+Fergason:
+I'll let you work again on the mission you got from me before. And if you eliminate Tauti this time, you'll get the Bottle of Tauti's Soul!
+But mind you, no second chances!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-06.html
new file mode 100644
index 0000000000..a51a4bc0a5
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-06.html
@@ -0,0 +1,4 @@
+Fergason:
+All right, you know the drill. Let me know when you're ready so I can officially assign the task to you. Good luck.
+(You can now undertake "An Audience With Tauti" again. The Bottle of Tauti's Soul will be your only reward.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/Q10705_BottleOfTautisSoul.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/Q10705_BottleOfTautisSoul.java
new file mode 100644
index 0000000000..f69687fc64
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/Q10705_BottleOfTautisSoul.java
@@ -0,0 +1,131 @@
+/*
+ * 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.Q10705_BottleOfTautisSoul;
+
+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.Q10384_AnAudienceWithTauti.Q10384_AnAudienceWithTauti;
+
+/**
+ * Bottle of Tauti's Soul (10705)
+ * @URL http://l2on.net/en/?c=quests&id=10705&game=1
+ * @author Gigi
+ */
+public final class Q10705_BottleOfTautisSoul extends Quest
+{
+ // NPCs
+ private static final int FERGASON = 33681;
+ // Item
+ private static final int BOTTLE_OF_TAUTIS_SOUL = 35295;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q10705_BottleOfTautisSoul()
+ {
+ super(10705);
+ addStartNpc(FERGASON);
+ addTalkId(FERGASON);
+ addCondMinLevel(MIN_LEVEL, "33681-00.html");
+ addCondCompletedQuest(Q10384_AnAudienceWithTauti.class.getSimpleName(), "33681-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ final QuestState qs1 = player.getQuestState(Q10384_AnAudienceWithTauti.class.getSimpleName());
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "33681-02.html":
+ case "33681-03.html":
+ case "33681-04.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33681-05.html":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "33681-06.html":
+ {
+ if (qs.isCond(1) && (getQuestItemsCount(player, BOTTLE_OF_TAUTIS_SOUL) >= 1))
+ {
+ takeItems(player, BOTTLE_OF_TAUTIS_SOUL, 1);
+ qs1.setState(State.CREATED);
+ qs1.setMemoState(1);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((npcId == FERGASON) && (getQuestItemsCount(player, BOTTLE_OF_TAUTIS_SOUL) >= 1))
+ {
+ htmltext = "33681-01.html";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33681-05.html";
+ break;
+ }
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33961-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33961-01.html
index fa764714a1..f35341acc2 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33961-01.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10709_TheStolenSeed/33961-01.html
@@ -1,4 +1,4 @@
Magic Circle Control Device:
Nothing happens.
-(You must be between Level 58 and 60 and in the Kartia's Seed quest.)
+(Quest only available for characters Lv. 58 to 60 who have completed "The Guardian Giant" quest.)
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10709_TheStolenSeed/Q10709_TheStolenSeed.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10709_TheStolenSeed/Q10709_TheStolenSeed.java
index 0a68d6c3a3..902af190cd 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10709_TheStolenSeed/Q10709_TheStolenSeed.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10709_TheStolenSeed/Q10709_TheStolenSeed.java
@@ -65,7 +65,7 @@ public final class Q10709_TheStolenSeed extends Quest
if (event.equals("action"))
{
- if ((st != null) && st.isCond(1))
+ if ((st != null) && (st.isCond(1)) && (getQuestItemsCount(player, MEMORY_FRAGMENT) >= 1))
{
// Take items
takeItems(player, MEMORY_FRAGMENT, -1);
@@ -108,14 +108,16 @@ public final class Q10709_TheStolenSeed extends Quest
case "33866-04.htm":
{
st.startQuest();
+ giveItems(player, MEMORY_FRAGMENT, 1);
htmltext = event;
break;
}
case "33866-07.html":
{
- if (st.isCond(3))
+ if (st.isCond(3) && (getQuestItemsCount(player, FRAGMENT) >= 1))
{
st.exitQuest(false, true);
+ takeItems(player, FRAGMENT, -1);
giveItems(player, EAB, 5);
giveStoryQuestReward(player, 30);
if (player.getLevel() >= MIN_LEVEL)
@@ -207,6 +209,7 @@ public final class Q10709_TheStolenSeed extends Quest
if ((st != null) && st.isStarted() && st.isCond(2))
{
+ st.setCond(0);
st.setCond(3, true);
giveItems(killer, FRAGMENT, 1);
}
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-01.html
new file mode 100644
index 0000000000..7e41b1e57d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-01.html
@@ -0,0 +1,4 @@
+Minstrel Liberatto:
+Adventurer! Do you have business with me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-02.html
new file mode 100644
index 0000000000..e33e861f50
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-02.html
@@ -0,0 +1,4 @@
+Minstrel Liberatto:
+You're interested in the tales of heroes? That's great to hear. Would you like to listen to my stories?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-03.html
new file mode 100644
index 0000000000..e9f9be0e5f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-03.html
@@ -0,0 +1,3 @@
+Minstrel Liberatto:
+Good. Let me tell you my story then.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/Q10712_TheMinstrelsSongPart1.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/Q10712_TheMinstrelsSongPart1.java
new file mode 100644
index 0000000000..1c6d21a3d9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/Q10712_TheMinstrelsSongPart1.java
@@ -0,0 +1,100 @@
+/*
+ * 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.Q10712_TheMinstrelsSongPart1;
+
+import com.l2jmobius.gameserver.model.Location;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+
+import quests.LetterQuest;
+
+/**
+ * The Minstrel's Song, Part 1 (10712)
+ * @URL https://l2wiki.com/The_Minstrel%27s_Song,_Part_1
+ * @author Gigi
+ */
+public final class Q10712_TheMinstrelsSongPart1 extends LetterQuest
+{
+ // NPCs
+ private static final int LIBERATTO = 33955;
+ // Items
+ private static final int SOE_TALKING_ISLAND = 39553;
+ // Location
+ private static final Location TELEPORT_LOC = new Location(-113914, 255797, -1504);
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final int MAX_LEVEL = 87;
+
+ public Q10712_TheMinstrelsSongPart1()
+ {
+ super(10712);
+ addTalkId(LIBERATTO);
+ setLevel(MIN_LEVEL, MAX_LEVEL);
+ setStartLocation(SOE_TALKING_ISLAND, TELEPORT_LOC);
+ registerQuestItems(SOE_TALKING_ISLAND);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "33955-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33955-03.html":
+ {
+ giveStoryQuestReward(player, 20);
+ addExpAndSp(player, 23297400, 5591);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (qs.isStarted() && (npc.getId() == LIBERATTO))
+ {
+ htmltext = "33955-01.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/popup.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/popup.html
new file mode 100644
index 0000000000..ea84f10487
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/popup.html
@@ -0,0 +1,6 @@
+Minstrel Liberatto's Invitation:
+I am Minstrel Liberatto. Are You interested in tales of heroes? Not the heroes in the old stories but contemporary heroes. Perhaps you could be one of them. If you're interested, come to me.
+(A Scroll of Escape is enclosed. If you want to go now, use it to travel immediately.)
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-01.html
new file mode 100644
index 0000000000..8d9969e57d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-01.html
@@ -0,0 +1,4 @@
+Minstrel Tulesir:
+Adventurer! You're here to see me again. What do you need this time?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-02.html
new file mode 100644
index 0000000000..f9ff3a25be
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-02.html
@@ -0,0 +1,4 @@
+Minstrel Tulesir:
+So You're interested in the tales of heroes? It's about time. I will tell you interesting stories so that you may set your goals higher. Do you want to hear my stories?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-03.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-03.html
new file mode 100644
index 0000000000..c56a4d51d9
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-03.html
@@ -0,0 +1,3 @@
+Minstrel Tulesir:
+Good. Let me tell you my story then.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/Q10731_TheMinstrelsSongPart6.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/Q10731_TheMinstrelsSongPart6.java
new file mode 100644
index 0000000000..5fb61f265a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/Q10731_TheMinstrelsSongPart6.java
@@ -0,0 +1,100 @@
+/*
+ * 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.Q10731_TheMinstrelsSongPart6;
+
+import com.l2jmobius.gameserver.model.Location;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+
+import quests.LetterQuest;
+
+/**
+ * The Minstrel's Song, Part 1 (10712)
+ * @URL https://l2wiki.com/The_Minstrel%27s_Song,_Part_1
+ * @author Gigi
+ */
+public final class Q10731_TheMinstrelsSongPart6 extends LetterQuest
+{
+ // NPCs
+ private static final int TULESIR = 33958;
+ // Items
+ private static final int SOE_ADEN_TOWN = 39557;
+ // Location
+ private static final Location TELEPORT_LOC = new Location(147205, 25784, -2008);
+ // Misc
+ private static final int MIN_LEVEL = 97;
+ private static final int MAX_LEVEL = 99;
+
+ public Q10731_TheMinstrelsSongPart6()
+ {
+ super(10731);
+ addTalkId(TULESIR);
+ setLevel(MIN_LEVEL, MAX_LEVEL);
+ setStartLocation(SOE_ADEN_TOWN, TELEPORT_LOC);
+ registerQuestItems(SOE_ADEN_TOWN);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "33958-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33958-03.html":
+ {
+ giveStoryQuestReward(player, 30);
+ addExpAndSp(player, 30252600, 7260);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (qs.isStarted() && (npc.getId() == TULESIR))
+ {
+ htmltext = "33958-01.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/popup.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/popup.html
new file mode 100644
index 0000000000..531ebd1160
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/popup.html
@@ -0,0 +1,6 @@
+Minstrel Tulesir's Invitation:
+I am Minstrel Tulesir. Are You interested in tales of heroes? Not the heroes in the old stories but contemporary heroes. Perhaps you could be one of them. If you're interested, come to me.
+(A Scroll of Escape is enclosed. If you want to go now, use it to travel immediately.)
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/33980-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/33980-01.html
new file mode 100644
index 0000000000..37a4a63a5a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/33980-01.html
@@ -0,0 +1,5 @@
+Mysterious Wizard:
+The deaths of your companions must have been shocking for you. I thought it was strange that Skeletons were appearing near the town.
+Please let your guard down. I'm just a wizard passing by.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/33980-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/33980-02.html
new file mode 100644
index 0000000000..21f41fb046
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/33980-02.html
@@ -0,0 +1,6 @@
+Mysterious Wizard:
+Me? Perhaps it was some other wizard passing by? There are many wizards in the world.
+By the way, I took the liberty of burying the dead body of the Ertheia, so please do not be angry.
+I will give you this to earn your trust. An item belonging to the dead. It's as if it is from another world.
+I like you very much. I hope to see you again.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/Q10751_WindsOfFateEncounters.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/Q10751_WindsOfFateEncounters.java
index 255e4cdc27..320e75fbf0 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/Q10751_WindsOfFateEncounters.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10751_WindsOfFateEncounters/Q10751_WindsOfFateEncounters.java
@@ -19,9 +19,9 @@ package quests.Q10751_WindsOfFateEncounters;
import java.util.HashSet;
import java.util.Set;
-import com.l2jmobius.Config;
import com.l2jmobius.gameserver.enums.CategoryType;
import com.l2jmobius.gameserver.enums.HtmlActionScope;
+import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.instancemanager.CastleManager;
import com.l2jmobius.gameserver.model.L2World;
@@ -52,6 +52,7 @@ import com.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager;
/**
* Winds of Fate: Encounters (10751)
+ * @URL https://l2wiki.com/Winds_of_Fate:_Encounters
* @author malyelfik
*/
public final class Q10751_WindsOfFateEncounters extends Quest
@@ -71,7 +72,11 @@ public final class Q10751_WindsOfFateEncounters extends Quest
};
// Items
private static final int WIND_SPIRIT_REALMS_RELIC = 39535;
+ // private static final int PAULINAS_EQUIPMENT_SET_D_GRADE = 00000; //TODO
private static final int NAVARI_SUPPORT_BOX_FIGHTER = 40266;
+ private static final int BLESSED_SPIRITHSHOT_C = 3949;
+ private static final int SOULSHOT_C = 1464;
+ private static final int MAJOR_HEALING_POTION = 1061;
private static final int NAVARI_SUPPORT_BOX_MAGE = 40267;
// Location
private static final Location TELEPORT_LOC = new Location(-80565, 251763, -3080);
@@ -127,6 +132,7 @@ public final class Q10751_WindsOfFateEncounters extends Quest
qs.startQuest();
if (player.isMageClass())
{
+ qs.setCond(0);
qs.setCond(3, true);
}
else
@@ -211,7 +217,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
player.broadcastUserInfo();
player.sendSkillList();
player.sendPacket(new SocialAction(player.getObjectId(), 23));
- giveAdena(player, 11000, false);
+ giveAdena(player, 461880, false);
+ giveItems(player, BLESSED_SPIRITHSHOT_C, 3000);
+ giveItems(player, SOULSHOT_C, 3000);
+ giveItems(player, MAJOR_HEALING_POTION, 50);
giveItems(player, NAVARI_SUPPORT_BOX_MAGE, 1);
addExpAndSp(player, 2700000, 648);
qs.exitQuest(false, true);
@@ -228,7 +237,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
player.broadcastUserInfo();
player.sendSkillList();
player.sendPacket(new SocialAction(player.getObjectId(), 23));
- giveAdena(player, 11000, false);
+ giveAdena(player, 461880, false);
+ giveItems(player, BLESSED_SPIRITHSHOT_C, 3000);
+ giveItems(player, SOULSHOT_C, 3000);
+ giveItems(player, MAJOR_HEALING_POTION, 50);
giveItems(player, NAVARI_SUPPORT_BOX_FIGHTER, 1);
addExpAndSp(player, 2700000, 648);
qs.exitQuest(false, true);
@@ -251,6 +263,10 @@ public final class Q10751_WindsOfFateEncounters extends Quest
{
htmltext = "33981-01.html";
}
+ if (npc.getId() == MYSTERIOUS_WIZARD)
+ {
+ htmltext = "33980-01.html";
+ }
return htmltext;
}
@@ -408,6 +424,7 @@ public final class Q10751_WindsOfFateEncounters extends Quest
if (killCount <= 5)
{
qs.set(KILL_COUNT_VAR, ++killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
sendNpcLogList(killer);
}
@@ -513,11 +530,6 @@ public final class Q10751_WindsOfFateEncounters extends Quest
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
{
- if (Config.DISABLE_TUTORIAL)
- {
- return;
- }
-
final L2PcInstance player = event.getActiveChar();
final QuestState st = getQuestState(player, false);
final int oldLevel = event.getOldLevel();
@@ -534,11 +546,6 @@ public final class Q10751_WindsOfFateEncounters extends Quest
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerLogin(OnPlayerLogin event)
{
- if (Config.DISABLE_TUTORIAL)
- {
- return;
- }
-
final L2PcInstance player = event.getActiveChar();
final QuestState st = getQuestState(player, false);
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-02.htm
index c96bfadd6d..ed41bc9152 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-02.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-02.htm
@@ -1,4 +1,4 @@
Tracker Dokara:
-It's nothing too difficult. I just need you to destroy the Stakatos in the Swamp of Screams, It's a pretty straightforward task, but it's hard to find someone who can do it right. How about it?
+It's nothing too difficult. I just need you to destroy the Stakatos in the Swamp of Screams. It's a pretty straightforward task, but it's hard to find someone who can do it right. How about it?
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-03.htm
index 2c4c27fa2e..3c2fb3a785 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-03.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-03.htm
@@ -1,6 +1,5 @@
Tracker Dokara:
This is a very important matter! I've been here for quite some time now, but this is the first time I've seen it overrun with monsters!
-Are all these Stakatos being born out of cocoons? Wait, it sounds plausible. This means we need to get rid of more than just the Stakatos!
-I need your help again, in that case.
-
+We're wasting our lives fighting off these monsters, and if that isn't a big problem, then I don't know what is!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-04.htm
index 4b62906fcf..0db184c7a4 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-04.htm
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-04.htm
@@ -1,5 +1,4 @@
Tracker Dokara:
-Hm hm. This is what you have to do.
-I need you to get rid of the Splinter Stakato, the Splinter Stakato Worker, the Splinter Stakato Soldier, the Splinter Stakato Drone, the Needle Stakato, the Needle Stakato Worker, the Needle Stakarto Soldier, the Needle Stakato Drone, the Frenzied Stakato Soldier, and the Frenzied Stakato Drone.
+Hm hm. This is what you have to do. I need you to get rid of the Splinter Stakato, the Splinter Stakato Worker, the Splinter Stakato Soldier, the Splinter Stakato Drone, the Needle Stakato, the Needle Stakato Worker, the Needle Stakato Soldier, the Needle Stakato Drone, the Frenzied Stakato Soldier, and the Frenzied Stakato Drone.
You need to get 50 of them.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-05.html
index 76862f0630..82fdab2c53 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-05.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/33847-05.html
@@ -1,4 +1,4 @@
Tracker Dokara:
-I need you to get rid of the Splinter Stakato, the Splinter Stakato Worker, the Splinter Stakato Soldier, the Splinter Stakato Drone, the Needle Stakato, the Needle Stakato Worker, the Needle Stakarto Soldier, the Needle Stakato Drone, the Frenzied Stakato Soldier, and the Frenzied Stakato Drone.
-You need to get 50 of them.
+You're a few monsters short.
+You weren't trying to fast talk me like everyone else, were you?
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/Q10790_AMercenaryHelper.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/Q10790_AMercenaryHelper.java
index 1e6b943932..588a12b043 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/Q10790_AMercenaryHelper.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/Q10790_AMercenaryHelper.java
@@ -16,99 +16,94 @@
*/
package quests.Q10790_AMercenaryHelper;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.HashSet;
+import java.util.Set;
+import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.base.ClassId;
-import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
import com.l2jmobius.gameserver.network.NpcStringId;
-import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
-import com.l2jmobius.gameserver.util.Util;
/**
* A Mercenary Helper (10790)
- * @author Stayway
+ * @URL https://l2wiki.com/A_Mercenary_Helper
+ * @author Gigi
*/
+
public class Q10790_AMercenaryHelper extends Quest
{
- // NPC
+ // NPCs
private static final int DOKARA = 33847;
// Monsters
- private static final int SPLINTER_STAKATO = 21508;
- private static final int SPLINTER_STAKATO_WORKER = 21509;
- private static final int SPLINTER_STAKATO_SOLDIER = 21510;
- private static final int SPLINTER_STAKATO_DRONE = 21511;
- private static final int NEEDLE_STAKATO = 21513;
- private static final int NEEDLE_STAKATO_WORKER = 21514;
- private static final int NEEDLE_STAKATO_SOLDIER = 21515;
- private static final int NEEDLE_STAKATO_DRONE = 21516;
- private static final Map MOBS_REQUIRED = new HashMap<>();
+ private static final int[] MONSTERS =
{
- MOBS_REQUIRED.put(SPLINTER_STAKATO, 50);
- }
- // Item
- private static final ItemHolder GUILD_COIN = new ItemHolder(37045, 3);
- private static final ItemHolder ENCHANT_ARMOR_A = new ItemHolder(26351, 3);
- // Rewards
- private static final int EXP_REWARD = 942690;
- private static final int SP_REWARD = 226;
- // Other
+ 21508, // Splinter Stakato
+ 21509, // Splinter Stakato Worker
+ 21510, // Splinter Stakato Soldier
+ 21511, // Splinter Stakato Drone
+ 21512, // Splinter Stakato Drone
+ 21513, // Needle Stakato
+ 21514, // Needle Stakato Worker
+ 21515, // Needle Stakato Soldier
+ 21516, // Needle Stakato Drone
+ 21517, // Needle Stakato Drone
+ 21518, // Frenzied Stakato Soldier
+ 21519 // Frenzied Stakato Drone
+ };
+ // Items
+ private static final int EAA = 730;
+ // Misc
private static final int MIN_LEVEL = 65;
private static final int MAX_LEVEL = 70;
+ private static final String KILL_COUNT_VAR = "KillCounts";
public Q10790_AMercenaryHelper()
{
super(10790);
addStartNpc(DOKARA);
addTalkId(DOKARA);
- addKillId(SPLINTER_STAKATO, SPLINTER_STAKATO_WORKER, SPLINTER_STAKATO_SOLDIER, SPLINTER_STAKATO_DRONE, NEEDLE_STAKATO, NEEDLE_STAKATO_WORKER, NEEDLE_STAKATO_SOLDIER, NEEDLE_STAKATO_DRONE);
- addCondMinLevel(MIN_LEVEL, "no_level.htm");
- addCondRace(Race.ERTHEIA, "no Ertheia.html");
- addCondClassId(ClassId.MARAUDER, "no_class.html");
+ addKillId(MONSTERS);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondRace(Race.ERTHEIA, "noErtheia.html");
+ addCondClassId(ClassId.MARAUDER, "no_quest.html");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
+ String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
- return null;
+ return getNoQuestMsg(player);
}
- String htmltext = null;
switch (event)
{
case "33847-02.htm":
case "33847-03.htm":
- {
- htmltext = event;
break;
- }
- case "33847-04.htm": // start the quest
+ case "33847-04.htm":
{
qs.startQuest();
- qs.set(Integer.toString(SPLINTER_STAKATO), 0);
- htmltext = event;
break;
}
- case "33847-07.html":
+ default:
{
- if (qs.isCond(2))
+ if (qs.isCond(2) && (player.getLevel() >= MIN_LEVEL))
{
- giveItems(player, GUILD_COIN);
- giveItems(player, ENCHANT_ARMOR_A);
- addExpAndSp(player, EXP_REWARD, SP_REWARD);
qs.exitQuest(false, true);
- htmltext = event;
+ giveStoryQuestReward(player, 3);
+ giveItems(player, EAA, 3);
+ addExpAndSp(player, 942650, 226);
+ htmltext = "33847-07.html";
}
- break;
}
}
return htmltext;
@@ -118,38 +113,19 @@ public class Q10790_AMercenaryHelper extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
- String htmltext = null;
+ String htmltext = getNoQuestMsg(player);
+
switch (qs.getState())
{
case State.CREATED:
- {
- if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
- {
- htmltext = "no_level.html";
- }
- else
- {
- htmltext = "33847-01.htm";
- }
+ htmltext = "33847-01.htm";
break;
- }
case State.STARTED:
- {
- if (qs.isCond(1))
- {
- htmltext = "33847-05.html"; // Need find proper html
- }
- else if (qs.isCond(2))
- {
- htmltext = "33847-06.html";
- }
+ htmltext = (qs.isCond(1)) ? "33847-05.html" : "33847-06.html";
break;
- }
case State.COMPLETED:
- {
htmltext = getAlreadyCompletedMsg(player);
break;
- }
}
return htmltext;
}
@@ -157,38 +133,38 @@ public class Q10790_AMercenaryHelper extends Quest
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
- final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
- if ((qs != null) && qs.isStarted() && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
{
- int kills = 0;
- switch (npc.getId())
+ int count = qs.getInt(KILL_COUNT_VAR);
+ qs.set(KILL_COUNT_VAR, ++count);
+ if (count >= 50)
{
- case SPLINTER_STAKATO:
- case SPLINTER_STAKATO_WORKER:
- case SPLINTER_STAKATO_SOLDIER:
- case SPLINTER_STAKATO_DRONE:
- case NEEDLE_STAKATO:
- case NEEDLE_STAKATO_WORKER:
- case NEEDLE_STAKATO_SOLDIER:
- case NEEDLE_STAKATO_DRONE:
- {
- kills = qs.getInt(Integer.toString(SPLINTER_STAKATO));
- kills++;
- qs.set(Integer.toString(SPLINTER_STAKATO), kills);
- break;
- }
+ qs.setCond(2, true);
}
-
- final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
- log.addNpc(SPLINTER_STAKATO, qs.getInt(Integer.toString(SPLINTER_STAKATO)));
- log.addNpcString(NpcStringId.KILL_STAKATOS, qs.getInt(Integer.toString(SPLINTER_STAKATO)));
- killer.sendPacket(log);
-
- if ((qs.getInt(Integer.toString(SPLINTER_STAKATO)) >= MOBS_REQUIRED.get(SPLINTER_STAKATO)) && (qs.getInt(Integer.toString(SPLINTER_STAKATO)) >= MOBS_REQUIRED.get(SPLINTER_STAKATO)))
+ else
{
- qs.setCond(2);
+ sendNpcLogList(killer);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
return super.onKill(npc, killer, isSummon);
}
-}
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCounts = qs.getInt(KILL_COUNT_VAR);
+ if (killCounts > 0)
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.KILL_STAKATOS, killCounts));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/noErtheia.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/noErtheia.html
index 3a8b6aef06..9cf9d66a8d 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/noErtheia.html
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/noErtheia.html
@@ -1,3 +1,3 @@
-Vorbos:
+Tracker Dokara:
You are not Ertheia, this quest is not for you.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_class.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_class.html
deleted file mode 100644
index d5fcf44977..0000000000
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_class.html
+++ /dev/null
@@ -1,3 +0,0 @@
-You don't meet class requirements
-(Quest available for Ertheia Marauder.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_level.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_level.html
new file mode 100644
index 0000000000..cecbd2469a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_level.html
@@ -0,0 +1,4 @@
+Tracker Dokara:
+You don't meet level requirements
+(Quest available from level 65 - 70)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_quest.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_quest.html
new file mode 100644
index 0000000000..26b4e5a666
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10790_AMercenaryHelper/no_quest.html
@@ -0,0 +1 @@
+You are not Marauder class, this quest is not for you.
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-01.htm
new file mode 100644
index 0000000000..c6c082671a
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-01.htm
@@ -0,0 +1,4 @@
+Hermit:
+Not too long ago, a few fellows I have never seen came by. Since I'm here to listen to Eva's voice, I don't care much about what goes around in the world, but they left a lasting impression, so I remember them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-02.htm
new file mode 100644
index 0000000000..0ac3a2e202
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-02.htm
@@ -0,0 +1,4 @@
+Hermit:
+Like I said earlier, I don't care much about what goes around the world, so I don't know what they did. They just went around the Wall of Argos... Oh! Maybe they were looking for the Eye of Argos?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-03.htm
new file mode 100644
index 0000000000..8efa5d6fd2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-03.htm
@@ -0,0 +1,4 @@
+Hermit:
+The Eye of Argos refers to the giant eye that went against the gods a long time ago. It's trapped somewhere in the Wall of Argos. Since the eye has been in existence for such a long time, maybe it knows what they are looking for?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-04.htm
new file mode 100644
index 0000000000..cc44bb8504
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-04.htm
@@ -0,0 +1,3 @@
+Hermit:
+Yes. Go to the Wall of Argos and find the Eye of Argos that was bound there for going against the gods in the past. You might find out what you want.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-05.html
new file mode 100644
index 0000000000..e5a37d0e78
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-05.html
@@ -0,0 +1,2 @@
+Hermit: Try looking for the Eye of Argos.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-01.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-01.html
new file mode 100644
index 0000000000..82f39d78df
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-01.html
@@ -0,0 +1,4 @@
+Eye of Argos:
+Who are you to come to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-02.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-02.html
new file mode 100644
index 0000000000..14036392b0
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-02.html
@@ -0,0 +1,3 @@
+Eye of Argos:
+I am. Why are you here?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/Q10796_TheEyeThatDefiedTheGods.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/Q10796_TheEyeThatDefiedTheGods.java
new file mode 100644
index 0000000000..ffe2b731f6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/Q10796_TheEyeThatDefiedTheGods.java
@@ -0,0 +1,119 @@
+/*
+ * 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.Q10796_TheEyeThatDefiedTheGods;
+
+import com.l2jmobius.gameserver.enums.Race;
+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;
+
+/**
+ * The Eye that Defied the Gods (10796)
+ * @URL https://l2wiki.com/The_Eye_that_Defied_the_Gods
+ * @author Gigi
+ */
+public class Q10796_TheEyeThatDefiedTheGods extends Quest
+{
+ // NPCs
+ private static final int HERMIT = 31616;
+ private static final int EYE_OF_ARGOS = 31683;
+ // Items
+ private static final int EAA = 730;
+ // Misc
+ private static final int MIN_LEVEL = 70;
+ private static final int MAX_LEVEL = 75;
+
+ public Q10796_TheEyeThatDefiedTheGods()
+ {
+ super(10796);
+ addStartNpc(HERMIT);
+ addTalkId(HERMIT, EYE_OF_ARGOS);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondRace(Race.ERTHEIA, "noErtheya.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "31616-02.htm":
+ case "31616-03.htm":
+ break;
+ case "31616-04.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "31683-02.html":
+ {
+ addExpAndSp(player, 1088640, 261);
+ giveStoryQuestReward(player, 2);
+ giveItems(player, EAA, 2);
+ qs.exitQuest(false, 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 HERMIT:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "31616-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "31616-05.htm";
+ }
+ if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ break;
+ }
+ case EYE_OF_ARGOS:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31683-01.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ }
+ break;
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/noErtheia.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/noErtheia.html
new file mode 100644
index 0000000000..0ef4af975d
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/noErtheia.html
@@ -0,0 +1,3 @@
+Hermit:
+You are not Ertheia, this quest is not for you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/no_level.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/no_level.html
new file mode 100644
index 0000000000..26bfc341ab
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 70 - 75)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-01.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-01.htm
new file mode 100644
index 0000000000..c2455f58d2
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-01.htm
@@ -0,0 +1,4 @@
+Eye of Argos:
+Are you Ertheia? I heard your kind was hiding in the Material Realm, but I see that's not the case. Or, have these rough times called the Ertheia to the Material Realm? Regardless, I am waiting for a wise and brave adventurer. You will do. But, why have you come to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-02.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-02.htm
new file mode 100644
index 0000000000..5027ecef1b
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-02.htm
@@ -0,0 +1,4 @@
+Eye of Argos:
+The holy grail? Such a thing exists? I don't know. I have more important things to worry about than something so trivial.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-03.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-03.htm
new file mode 100644
index 0000000000..5dcb34a81f
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-03.htm
@@ -0,0 +1,4 @@
+Eye of Argos:
+Ertheia...I don't remember. I just said this, but I have much more important matters to think about. If you help me, I will do my very best to help you, too.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-04.htm b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-04.htm
new file mode 100644
index 0000000000..900111ebb6
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-04.htm
@@ -0,0 +1,3 @@
+Eye of Argos:
+A drove of Embryos is trying to overtake me. But since I won't submit, the Embryos are at Daimon's Altar trying to obtain Daimon's the White-eyed's power. I want you to defeat Daimon the White-eyed so the Embryos can't get his power.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-05.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-05.html
new file mode 100644
index 0000000000..9b3a524adf
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-05.html
@@ -0,0 +1,3 @@
+Eye of Argos:
+Come back after you've defeated Daimon the White-eyed.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-06.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-06.html
new file mode 100644
index 0000000000..476e3fae32
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-06.html
@@ -0,0 +1,4 @@
+Eye of Argos:
+Have you defeated Daimon the White-eyed?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-07.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-07.html
new file mode 100644
index 0000000000..0d5f8e53a3
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-07.html
@@ -0,0 +1,4 @@
+Eye of Argos:
+Well done. The Embryo will take a while to recover from this. So, you were looking for Ertheia? I remembered right after you left that they came by in a cluster. Making a racket too, about having found something near this place.
+I don't know what they found, though. A Human came by and took something from that very spot, merely moments before you got here. I guess you're too late.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/Q10797_CrossingFate.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/Q10797_CrossingFate.java
new file mode 100644
index 0000000000..85e05a8a57
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/Q10797_CrossingFate.java
@@ -0,0 +1,123 @@
+/*
+ * 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.Q10797_CrossingFate;
+
+import com.l2jmobius.gameserver.enums.Race;
+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 quests.Q10796_TheEyeThatDefiedTheGods.Q10796_TheEyeThatDefiedTheGods;
+
+/**
+ * Crossing Fate (10797)
+ * @URL https://l2wiki.com/Crossing_Fate
+ * @author Gigi
+ */
+public class Q10797_CrossingFate extends Quest
+{
+ // NPCs
+ private static final int EYE_OF_ARGOS = 31683;
+ private static final int DAIMON_THE_WHITE_EYED = 27499;
+ // Items
+ private static final int EAA = 730;
+ // Misc
+ private static final int MIN_LEVEL = 70;
+ private static final int MAX_LEVEL = 75;
+
+ public Q10797_CrossingFate()
+ {
+ super(10797);
+ addStartNpc(EYE_OF_ARGOS);
+ addTalkId(EYE_OF_ARGOS);
+ addKillId(DAIMON_THE_WHITE_EYED);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondRace(Race.ERTHEIA, "noErtheya.html");
+ addCondCompletedQuest(Q10796_TheEyeThatDefiedTheGods.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "31683-02.htm":
+ case "31683-03.htm":
+ break;
+ case "31683-04.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "31683-07.html":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 2721600, 653);
+ giveStoryQuestReward(player, 26);
+ giveItems(player, EAA, 5);
+ qs.exitQuest(false, 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 = "31683-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "31683-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "31683-06.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ qs.setCond(2, true);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/noErtheia.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/noErtheia.html
new file mode 100644
index 0000000000..ea67e16f1c
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/noErtheia.html
@@ -0,0 +1,3 @@
+High Priest Orven:
+You are not Ertheia, this quest is not for you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/no_level.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/no_level.html
new file mode 100644
index 0000000000..26bfc341ab
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 70 - 75)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/restriction.html b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/restriction.html
new file mode 100644
index 0000000000..b2af3b11ab
--- /dev/null
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/Q10797_CrossingFate/restriction.html
@@ -0,0 +1,3 @@
+Research Pio:
+(Quest only available to Ertheia characters Lv. 70-75 who have completed the quest "The Eye that Defied the Gods.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java
index b76817d73a..c4d0533c5c 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -59,7 +59,11 @@ import quests.Q00142_FallenAngelRequestOfDawn.Q00142_FallenAngelRequestOfDawn;
import quests.Q00143_FallenAngelRequestOfDusk.Q00143_FallenAngelRequestOfDusk;
import quests.Q00144_PailakaInjuredDragon.Q00144_PailakaInjuredDragon;
import quests.Q00146_TheZeroHour.Q00146_TheZeroHour;
+import quests.Q00149_PrimalMotherIstina.Q00149_PrimalMotherIstina;
+import quests.Q00150_ExtremeChallengePrimalMotherResurrected.Q00150_ExtremeChallengePrimalMotherResurrected;
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;
@@ -100,16 +104,26 @@ import quests.Q00455_WingsOfSand.Q00455_WingsOfSand;
import quests.Q00456_DontKnowDontCare.Q00456_DontKnowDontCare;
import quests.Q00457_LostAndFound.Q00457_LostAndFound;
import quests.Q00458_PerfectForm.Q00458_PerfectForm;
+import quests.Q00459_TheVillainOfTheUndergroundMineTeredor.Q00459_TheVillainOfTheUndergroundMineTeredor;
+import quests.Q00460_PreciousResearchMaterial.Q00460_PreciousResearchMaterial;
+import quests.Q00462_StuffedAncientHeroes.Q00462_StuffedAncientHeroes;
import quests.Q00464_Oath.Q00464_Oath;
+import quests.Q00465_WeAreFriends.Q00465_WeAreFriends;
import quests.Q00466_PlacingMySmallPower.Q00466_PlacingMySmallPower;
import quests.Q00468_BeLostInTheMysteriousScent.Q00468_BeLostInTheMysteriousScent;
+import quests.Q00469_SuspiciousGardener.Q00469_SuspiciousGardener;
import quests.Q00470_DivinityProtector.Q00470_DivinityProtector;
+import quests.Q00471_BreakingThroughTheEmeraldSquare.Q00471_BreakingThroughTheEmeraldSquare;
+import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor;
+import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden;
import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer;
import quests.Q00476_PlainMission.Q00476_PlainMission;
+import quests.Q00483_IntendedTactic.Q00483_IntendedTactic;
import quests.Q00485_HotSpringWater.Q00485_HotSpringWater;
import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring;
import quests.Q00489_InThisQuietPlace.Q00489_InThisQuietPlace;
import quests.Q00490_DutyOfTheSurvivor.Q00490_DutyOfTheSurvivor;
+import quests.Q00491_InNominePatris.Q00491_InNominePatris;
import quests.Q00492_TombRaiders.Q00492_TombRaiders;
import quests.Q00493_KickingOutUnwelcomeGuests.Q00493_KickingOutUnwelcomeGuests;
import quests.Q00494_IncarnationOfGreedZellakaGroup.Q00494_IncarnationOfGreedZellakaGroup;
@@ -146,10 +160,14 @@ import quests.Q00663_SeductiveWhispers.Q00663_SeductiveWhispers;
import quests.Q00688_DefeatTheElrokianRaiders.Q00688_DefeatTheElrokianRaiders;
import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
+import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
+import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
+import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
import quests.Q00754_AssistingTheRebelForces.Q00754_AssistingTheRebelForces;
import quests.Q00755_InNeedOfPetras.Q00755_InNeedOfPetras;
import quests.Q00756_TopQualityPetra.Q00756_TopQualityPetra;
import quests.Q00757_TriolsMovement.Q00757_TriolsMovement;
+import quests.Q00758_TheFallenKingsMen.Q00758_TheFallenKingsMen;
import quests.Q00760_BlockTheExit.Q00760_BlockTheExit;
import quests.Q00761_AssistingTheGoldenRamArmy.Q00761_AssistingTheGoldenRamArmy;
import quests.Q00762_AnOminousRequest.Q00762_AnOminousRequest;
@@ -157,6 +175,15 @@ import quests.Q00763_ADauntingTask.Q00763_ADauntingTask;
import quests.Q00764_WeakeningTheVarkaSilenosForces.Q00764_WeakeningTheVarkaSilenosForces;
import quests.Q00765_WeakeningTheKetraOrcForces.Q00765_WeakeningTheKetraOrcForces;
import quests.Q00772_PurifyingSouls.Q00772_PurifyingSouls;
+import quests.Q00775_RetrievingTheChaosFragment.Q00775_RetrievingTheChaosFragment;
+import quests.Q00776_SlayDarkLordEkimus.Q00776_SlayDarkLordEkimus;
+import quests.Q00777_SlayDarkLordTiat.Q00777_SlayDarkLordTiat;
+import quests.Q00778_OperationRoaringFlame.Q00778_OperationRoaringFlame;
+import quests.Q00783_VestigeOfTheMagicPower.Q00783_VestigeOfTheMagicPower;
+import quests.Q00787_TheRoleOfAWatcher.Q00787_TheRoleOfAWatcher;
+import quests.Q00790_ObtainingFerinsTrust.Q00790_ObtainingFerinsTrust;
+import quests.Q00817_BlackAteliaResearch.Q00817_BlackAteliaResearch;
+import quests.Q00823_DisappearedRaceNewFairy.Q00823_DisappearedRaceNewFairy;
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
@@ -185,13 +212,21 @@ import quests.Q10296_SevenSignsOneWhoSeeksThePowerOfTheSeal.Q10296_SevenSignsOne
import quests.Q10297_GrandOpeningComeToOurPub.Q10297_GrandOpeningComeToOurPub;
import quests.Q10301_ShadowOfTerrorBlackishRedFog.Q10301_ShadowOfTerrorBlackishRedFog;
import quests.Q10302_UnsettlingShadowAndRumors.Q10302_UnsettlingShadowAndRumors;
+import quests.Q10303_CrossroadsBetweenLightAndDarkness.Q10303_CrossroadsBetweenLightAndDarkness;
+import quests.Q10304_ForForgottenHeroes.Q10304_ForForgottenHeroes;
import quests.Q10305_UnstoppableFutileEfforts.Q10305_UnstoppableFutileEfforts;
import quests.Q10306_TheCorruptedLeader.Q10306_TheCorruptedLeader;
+import quests.Q10307_TheCorruptedLeaderHisTruth.Q10307_TheCorruptedLeaderHisTruth;
import quests.Q10310_TwistedCreationTree.Q10310_TwistedCreationTree;
+import quests.Q10311_PeacefulDaysAreOver.Q10311_PeacefulDaysAreOver;
+import quests.Q10312_AbandonedGodsCreature.Q10312_AbandonedGodsCreature;
+import quests.Q10315_ToThePrisonOfDarkness.Q10315_ToThePrisonOfDarkness;
+import quests.Q10316_UndecayingMemoryOfThePast.Q10316_UndecayingMemoryOfThePast;
import quests.Q10317_OrbisWitch.Q10317_OrbisWitch;
import quests.Q10318_DecayingDarkness.Q10318_DecayingDarkness;
import quests.Q10320_LetsGoToTheCentralSquare.Q10320_LetsGoToTheCentralSquare;
import quests.Q10321_QualificationsOfTheSeeker.Q10321_QualificationsOfTheSeeker;
+import quests.Q10327_IntruderWhoWantsTheBookOfGiants.Q10327_IntruderWhoWantsTheBookOfGiants;
import quests.Q10330_ToTheRuinsOfYeSagira.Q10330_ToTheRuinsOfYeSagira;
import quests.Q10331_StartOfFate.Q10331_StartOfFate;
import quests.Q10332_ToughRoad.Q10332_ToughRoad;
@@ -209,6 +244,7 @@ import quests.Q10344_DayOfDestinyOrcsFate.Q10344_DayOfDestinyOrcsFate;
import quests.Q10345_DayOfDestinyDwarfsFate.Q10345_DayOfDestinyDwarfsFate;
import quests.Q10346_DayOfDestinyKamaelsFate.Q10346_DayOfDestinyKamaelsFate;
import quests.Q10351_OwnerOfHall.Q10351_OwnerOfHall;
+import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue;
import quests.Q10354_ResurrectedOwnerOfHall.Q10354_ResurrectedOwnerOfHall;
import quests.Q10358_DividedSakumPoslof.Q10358_DividedSakumPoslof;
import quests.Q10359_TracesOfEvil.Q10359_TracesOfEvil;
@@ -217,10 +253,18 @@ import quests.Q10362_CertificationOfTheSeeker.Q10362_CertificationOfTheSeeker;
import quests.Q10363_RequestOfTheSeeker.Q10363_RequestOfTheSeeker;
import quests.Q10364_ObligationsOfTheSeeker.Q10364_ObligationsOfTheSeeker;
import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
-import quests.Q10366_RuinsStatusUpdate.Q10366_RuinsStatusUpdate;
+import quests.Q10366_ReportOnTheSituationAtTheRuins.Q10366_ReportOnTheSituationAtTheRuins;
import quests.Q10369_NoblesseSoulTesting.Q10369_NoblesseSoulTesting;
+import quests.Q10370_MenacingTimes.Q10370_MenacingTimes;
+import quests.Q10371_GraspThyPower.Q10371_GraspThyPower;
+import quests.Q10372_PurgatoryVolvere.Q10372_PurgatoryVolvere;
+import quests.Q10374_ThatPlaceSuccubus.Q10374_ThatPlaceSuccubus;
+import quests.Q10375_SuccubusDisciples.Q10375_SuccubusDisciples;
+import quests.Q10376_BloodyGoodTime.Q10376_BloodyGoodTime;
import quests.Q10377_TheInvadedExecutionGrounds.Q10377_TheInvadedExecutionGrounds;
+import quests.Q10378_WeedingWork.Q10378_WeedingWork;
import quests.Q10379_AnUninvitedGuest.Q10379_AnUninvitedGuest;
+import quests.Q10380_TheExecutionersExecution.Q10380_TheExecutionersExecution;
import quests.Q10381_ToTheSeedOfHellfire.Q10381_ToTheSeedOfHellfire;
import quests.Q10382_DayOfLiberation.Q10382_DayOfLiberation;
import quests.Q10383_FergasonsOffer.Q10383_FergasonsOffer;
@@ -228,6 +272,8 @@ import quests.Q10384_AnAudienceWithTauti.Q10384_AnAudienceWithTauti;
import quests.Q10385_RedThreadOfFate.Q10385_RedThreadOfFate;
import quests.Q10386_MysteriousJourney.Q10386_MysteriousJourney;
import quests.Q10387_SoullessOne.Q10387_SoullessOne;
+import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor;
+import quests.Q10389_TheVoiceOfAuthority.Q10389_TheVoiceOfAuthority;
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
import quests.Q10391_ASuspiciousHelper.Q10391_ASuspiciousHelper;
import quests.Q10392_FailureAndItsConsequences.Q10392_FailureAndItsConsequences;
@@ -265,12 +311,16 @@ import quests.Q10442_TheAnnihilatedPlains1.Q10442_TheAnnihilatedPlains1;
import quests.Q10443_TheAnnihilatedPlains2.Q10443_TheAnnihilatedPlains2;
import quests.Q10444_TheOriginOfMonsters.Q10444_TheOriginOfMonsters;
import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
+import quests.Q10446_HitAndRun.Q10446_HitAndRun;
+import quests.Q10447_TimingIsEverything.Q10447_TimingIsEverything;
import quests.Q10450_ADarkAmbition.Q10450_ADarkAmbition;
+import quests.Q10452_IsItEdible.Q10452_IsItEdible;
import quests.Q10453_StoppingTheWindDragon.Q10453_StoppingTheWindDragon;
import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter;
import quests.Q10459_ASickAmbition.Q10459_ASickAmbition;
import quests.Q10460_ReturnOfTheAlligatorHunter.Q10460_ReturnOfTheAlligatorHunter;
import quests.Q10461_TappingThePowerWithin.Q10461_TappingThePowerWithin;
+import quests.Q10462_TemperARustingBlade.Q10462_TemperARustingBlade;
import quests.Q10465_SoulFrostSword.Q10465_SoulFrostSword;
import quests.Q10472_WindsOfFateEncroachingShadows.Q10472_WindsOfFateEncroachingShadows;
import quests.Q10501_ZakenEmbroideredSoulCloak.Q10501_ZakenEmbroideredSoulCloak;
@@ -278,12 +328,21 @@ import quests.Q10502_FreyaEmbroideredSoulCloak.Q10502_FreyaEmbroideredSoulCloak;
import quests.Q10503_FrintezzaEmbroideredSoulCloak.Q10503_FrintezzaEmbroideredSoulCloak;
import quests.Q10504_JewelOfAntharas.Q10504_JewelOfAntharas;
import quests.Q10505_JewelOfValakas.Q10505_JewelOfValakas;
+import quests.Q10541_TrainLikeTheRealThing.Q10541_TrainLikeTheRealThing;
+import quests.Q10542_SearchingForNewPower.Q10542_SearchingForNewPower;
+import quests.Q10543_SheddingWeight.Q10543_SheddingWeight;
+import quests.Q10544_SeekerSupplies.Q10544_SeekerSupplies;
import quests.Q10701_TheRoadToDestruction.Q10701_TheRoadToDestruction;
import quests.Q10702_TheRoadToInfinity.Q10702_TheRoadToInfinity;
+import quests.Q10703_BottleOfIstinasSoul.Q10703_BottleOfIstinasSoul;
+import quests.Q10704_BottleOfOctavisSoul.Q10704_BottleOfOctavisSoul;
+import quests.Q10705_BottleOfTautisSoul.Q10705_BottleOfTautisSoul;
import quests.Q10707_FlamesOfSorrow.Q10707_FlamesOfSorrow;
import quests.Q10708_StrengthenTheBarrier.Q10708_StrengthenTheBarrier;
import quests.Q10709_TheStolenSeed.Q10709_TheStolenSeed;
import quests.Q10710_LifeEnergyRepository.Q10710_LifeEnergyRepository;
+import quests.Q10712_TheMinstrelsSongPart1.Q10712_TheMinstrelsSongPart1;
+import quests.Q10731_TheMinstrelsSongPart6.Q10731_TheMinstrelsSongPart6;
import quests.Q10732_AForeignLand.Q10732_AForeignLand;
import quests.Q10733_TheTestForSurvival.Q10733_TheTestForSurvival;
import quests.Q10734_DoOrDie.Q10734_DoOrDie;
@@ -337,6 +396,8 @@ import quests.Q10792_LettersFromTheQueenForestOfTheDead.Q10792_LettersFromTheQue
import quests.Q10793_SaveTheSouls.Q10793_SaveTheSouls;
import quests.Q10794_InvestigateTheForest.Q10794_InvestigateTheForest;
import quests.Q10795_LettersFromTheQueenWallOfAgros.Q10795_LettersFromTheQueenWallOfAgros;
+import quests.Q10796_TheEyeThatDefiedTheGods.Q10796_TheEyeThatDefiedTheGods;
+import quests.Q10797_CrossingFate.Q10797_CrossingFate;
import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenDragonValley;
import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley;
import quests.Q10800_ReconnaissanceAtDragonValley.Q10800_ReconnaissanceAtDragonValley;
@@ -417,7 +478,11 @@ public class QuestMasterHandler
Q00143_FallenAngelRequestOfDusk.class,
Q00144_PailakaInjuredDragon.class,
Q00146_TheZeroHour.class,
+ Q00149_PrimalMotherIstina.class,
+ Q00150_ExtremeChallengePrimalMotherResurrected.class,
Q00177_SplitDestiny.class,
+ Q00180_InfernalFlamesBurningInCrystalPrison.class,
+ Q00181_DevilsStrikeBackAdventOfBalok.class,
Q00183_RelicExploration.class,
Q00184_ArtOfPersuasion.class,
Q00185_NikolasCooperation.class,
@@ -458,16 +523,26 @@ public class QuestMasterHandler
Q00456_DontKnowDontCare.class,
Q00457_LostAndFound.class,
Q00458_PerfectForm.class,
+ Q00459_TheVillainOfTheUndergroundMineTeredor.class,
+ Q00460_PreciousResearchMaterial.class,
+ Q00462_StuffedAncientHeroes.class,
Q00464_Oath.class,
+ Q00465_WeAreFriends.class,
Q00466_PlacingMySmallPower.class,
Q00468_BeLostInTheMysteriousScent.class,
+ Q00469_SuspiciousGardener.class,
Q00470_DivinityProtector.class,
+ Q00471_BreakingThroughTheEmeraldSquare.class,
+ Q00472_ChallengeSteamCorridor.class,
+ Q00473_InTheCoralGarden.class,
Q00474_WaitingForTheSummer.class,
Q00476_PlainMission.class,
+ Q00483_IntendedTactic.class,
Q00485_HotSpringWater.class,
Q00488_WondersOfCaring.class,
Q00489_InThisQuietPlace.class,
Q00490_DutyOfTheSurvivor.class,
+ Q00491_InNominePatris.class,
Q00492_TombRaiders.class,
Q00493_KickingOutUnwelcomeGuests.class,
Q00494_IncarnationOfGreedZellakaGroup.class,
@@ -504,10 +579,14 @@ public class QuestMasterHandler
Q00688_DefeatTheElrokianRaiders.class,
Q00726_LightWithinTheDarkness.class,
Q00727_HopeWithinTheDarkness.class,
+ Q00751_LiberatingTheSpirits.class,
+ Q00752_UncoverTheSecret.class,
+ Q00753_ReactingToACrisis.class,
Q00754_AssistingTheRebelForces.class,
Q00755_InNeedOfPetras.class,
Q00756_TopQualityPetra.class,
Q00757_TriolsMovement.class,
+ Q00758_TheFallenKingsMen.class,
Q00760_BlockTheExit.class,
Q00761_AssistingTheGoldenRamArmy.class,
Q00762_AnOminousRequest.class,
@@ -515,6 +594,15 @@ public class QuestMasterHandler
Q00764_WeakeningTheVarkaSilenosForces.class,
Q00765_WeakeningTheKetraOrcForces.class,
Q00772_PurifyingSouls.class,
+ Q00775_RetrievingTheChaosFragment.class,
+ Q00776_SlayDarkLordEkimus.class,
+ Q00777_SlayDarkLordTiat.class,
+ Q00778_OperationRoaringFlame.class,
+ Q00783_VestigeOfTheMagicPower.class,
+ Q00787_TheRoleOfAWatcher.class,
+ Q00790_ObtainingFerinsTrust.class,
+ Q00817_BlackAteliaResearch.class,
+ Q00823_DisappearedRaceNewFairy.class,
Q00901_HowLavasaurusesAreMade.class,
Q00902_ReclaimOurEra.class,
Q00903_TheCallOfAntharas.class,
@@ -543,13 +631,21 @@ public class QuestMasterHandler
Q10297_GrandOpeningComeToOurPub.class,
Q10301_ShadowOfTerrorBlackishRedFog.class,
Q10302_UnsettlingShadowAndRumors.class,
+ Q10303_CrossroadsBetweenLightAndDarkness.class,
+ Q10304_ForForgottenHeroes.class,
Q10305_UnstoppableFutileEfforts.class,
Q10306_TheCorruptedLeader.class,
+ Q10307_TheCorruptedLeaderHisTruth.class,
Q10310_TwistedCreationTree.class,
+ Q10311_PeacefulDaysAreOver.class,
+ Q10312_AbandonedGodsCreature.class,
+ Q10315_ToThePrisonOfDarkness.class,
+ Q10316_UndecayingMemoryOfThePast.class,
Q10317_OrbisWitch.class,
Q10318_DecayingDarkness.class,
Q10320_LetsGoToTheCentralSquare.class,
Q10321_QualificationsOfTheSeeker.class,
+ Q10327_IntruderWhoWantsTheBookOfGiants.class,
Q10330_ToTheRuinsOfYeSagira.class,
Q10331_StartOfFate.class,
Q10332_ToughRoad.class,
@@ -567,6 +663,7 @@ public class QuestMasterHandler
Q10345_DayOfDestinyDwarfsFate.class,
Q10346_DayOfDestinyKamaelsFate.class,
Q10351_OwnerOfHall.class,
+ Q10353_CertificationOfValue.class,
Q10354_ResurrectedOwnerOfHall.class,
Q10358_DividedSakumPoslof.class,
Q10359_TracesOfEvil.class,
@@ -575,10 +672,18 @@ public class QuestMasterHandler
Q10363_RequestOfTheSeeker.class,
Q10364_ObligationsOfTheSeeker.class,
Q10365_SeekerEscort.class,
- Q10366_RuinsStatusUpdate.class,
+ Q10366_ReportOnTheSituationAtTheRuins.class,
Q10369_NoblesseSoulTesting.class,
+ Q10370_MenacingTimes.class,
+ Q10371_GraspThyPower.class,
+ Q10372_PurgatoryVolvere.class,
+ Q10374_ThatPlaceSuccubus.class,
+ Q10375_SuccubusDisciples.class,
+ Q10376_BloodyGoodTime.class,
Q10377_TheInvadedExecutionGrounds.class,
+ Q10378_WeedingWork.class,
Q10379_AnUninvitedGuest.class,
+ Q10380_TheExecutionersExecution.class,
Q10381_ToTheSeedOfHellfire.class,
Q10382_DayOfLiberation.class,
Q10383_FergasonsOffer.class,
@@ -586,6 +691,8 @@ public class QuestMasterHandler
Q10385_RedThreadOfFate.class,
Q10386_MysteriousJourney.class,
Q10387_SoullessOne.class,
+ Q10388_ConspiracyBehindDoor.class,
+ Q10389_TheVoiceOfAuthority.class,
Q10390_KekropusLetter.class,
Q10391_ASuspiciousHelper.class,
Q10392_FailureAndItsConsequences.class,
@@ -623,12 +730,16 @@ public class QuestMasterHandler
Q10443_TheAnnihilatedPlains2.class,
Q10444_TheOriginOfMonsters.class,
Q10445_AnImpendingThreat.class,
+ Q10446_HitAndRun.class,
+ Q10447_TimingIsEverything.class,
Q10450_ADarkAmbition.class,
+ Q10452_IsItEdible.class,
Q10453_StoppingTheWindDragon.class,
Q10455_ElikiasLetter.class,
Q10459_ASickAmbition.class,
Q10460_ReturnOfTheAlligatorHunter.class,
Q10461_TappingThePowerWithin.class,
+ Q10462_TemperARustingBlade.class,
Q10465_SoulFrostSword.class,
Q10472_WindsOfFateEncroachingShadows.class,
Q10501_ZakenEmbroideredSoulCloak.class,
@@ -636,12 +747,21 @@ public class QuestMasterHandler
Q10503_FrintezzaEmbroideredSoulCloak.class,
Q10504_JewelOfAntharas.class,
Q10505_JewelOfValakas.class,
+ Q10541_TrainLikeTheRealThing.class,
+ Q10542_SearchingForNewPower.class,
+ Q10543_SheddingWeight.class,
+ Q10544_SeekerSupplies.class,
Q10701_TheRoadToDestruction.class,
Q10702_TheRoadToInfinity.class,
+ Q10703_BottleOfIstinasSoul.class,
+ Q10704_BottleOfOctavisSoul.class,
+ Q10705_BottleOfTautisSoul.class,
Q10707_FlamesOfSorrow.class,
Q10708_StrengthenTheBarrier.class,
Q10709_TheStolenSeed.class,
Q10710_LifeEnergyRepository.class,
+ Q10712_TheMinstrelsSongPart1.class,
+ Q10731_TheMinstrelsSongPart6.class,
Q10732_AForeignLand.class,
Q10733_TheTestForSurvival.class,
Q10734_DoOrDie.class,
@@ -695,6 +815,8 @@ public class QuestMasterHandler
Q10793_SaveTheSouls.class,
Q10794_InvestigateTheForest.class,
Q10795_LettersFromTheQueenWallOfAgros.class,
+ Q10796_TheEyeThatDefiedTheGods.class,
+ Q10797_CrossingFate.class,
Q10798_LettersFromTheQueenDragonValley.class,
Q10799_StrangeThingsAfootInTheValley.class,
Q10800_ReconnaissanceAtDragonValley.class,
diff --git a/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/network/NpcStringId.java b/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/network/NpcStringId.java
index 807df0f77b..fdff4298b3 100644
--- a/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/network/NpcStringId.java
+++ b/L2J_Mobius_Helios/java/com/l2jmobius/gameserver/network/NpcStringId.java
@@ -12093,6 +12093,9 @@ public final class NpcStringId
@ClientString(id = 536604, message = "Ruins Status Update (Lv. 16-25)")
public static NpcStringId RUINS_STATUS_UPDATE_LV_16_252;
+ @ClientString(id = 536606, message = "Defeat the Husks")
+ public static NpcStringId DEFEAT_THE_HUSKS;
+
@ClientString(id = 536631, message = "Use the escape scroll in your inventory to go to the Administrative Office in Talking Island.")
public static NpcStringId USE_THE_ESCAPE_SCROLL_IN_YOUR_INVENTORY_TO_GO_TO_THE_ADMINISTRATIVE_OFFICE_IN_TALKING_ISLAND;
@@ -13662,6 +13665,9 @@ public final class NpcStringId
@ClientString(id = 550611, message = "Talk to Diana")
public static NpcStringId TALK_TO_DIANA;
+ @ClientString(id = 554107, message = "Defeating the Scarecrow")
+ public static NpcStringId DEFEATING_THE_SCARECROW;
+
@ClientString(id = 570101, message = "The Road to Destruction (Above Lv. 93)")
public static NpcStringId THE_ROAD_TO_DESTRUCTION_ABOVE_LV_93;
@@ -31892,6 +31898,8 @@ public final class NpcStringId
@ClientString(id = 1803275, message = "If the story is still in progress, I can tell it again.")
public static NpcStringId IF_THE_STORY_IS_STILL_IN_PROGRESS_I_CAN_TELL_IT_AGAIN;
+ @ClientString(id = 1803329, message = "Speak with the ‘Adventurers' Guide for Training'.")
+ public static NpcStringId SPEAK_WITH_THE_ADVENTURERS_GUIDE_FOR_TRAINING;
@ClientString(id = 1810363, message = "You are too far from the corpse.")
public static NpcStringId YOU_ARE_TOO_FAR_FROM_THE_CORPSE;
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_Underground/dist/game/data/scripts/quests/MissingQuests.txt
index ca6308759c..8cdcee99c8 100644
--- a/L2J_Mobius_Underground/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/MissingQuests.txt
@@ -1,20 +1,6 @@
-149 Primal Mother, Istina
-150 Extreme Challenge: Primal Mother Resurrected
-180 Infernal Flames Burning in Crystal Prison
-181 Devils Strike Back, Advent of Balok
245 Come to Me
-459 The Villain of the Underground Mine, Teredor
-460 Precious Research Material
-462 Stuffed Ancient Heroes
-465 We Are Friends
-469 Suspicious Gardener
-471 Breaking through the Emerald Square
-472 Challenge, Steam Corridor
-473 In the Coral Garden
480 Another Legacy of Cruma Tower
482 Recertification of Value
-483 Intended Tactic
-491 In Nomine Patris
504 Competition for the Bandit Stronghold
655 A Grand Plan for Taming Wild Beasts
665 Great Pirate Zaken's Treasure
@@ -24,31 +10,18 @@
669 High Priest's Treasure
670 Turek Orc's Treasure
750 Seven Flowers
-751 Liberating the Spirits
-752 Uncover the Secret
-753 Reacting to a Crisis
-758 The Fallen King's Men
759 The Dwarven Nightmare Continues
767 Banishing Evil
768 Terror of Town
769 The Truth Concealed in Beauty
770 Maintaining the Field Business
771 Partaking in the Purification Campaign
-775 Retrieving the Chaos Fragment
-776 Slay Dark Lord Ekimus
-777 Slay Dark Lord Tiat
-778 Operation Roaring Flame
779 Utilize the Darkness - Seed of Destruction
780 Utilize the Darkness - Seed of Infinity
781 Utilize the Darkness - Seed of Annihilation
782 Utilize the Darkness - Seed of Hellfire
-783 Vestige of the Magic Power
-787 The Role of a Watcher
789 Waiting for Pa'agrio
-790 Obtaining Ferin's Trust
816 Plans to Repair the Stronghold
-817 Black Atelia Research
-823 Disappeared Race, New Fairy
824 Attack the Command Post
826 In Search of the Secret Weapon
827 Einhasad's Order
@@ -59,38 +32,13 @@
833 Devil's Treasure, Tauti
834 Against Dragonclaw
835 Pitiable Melisa
-10303 Crossroads between Light and Darkness
-10304 For the Forgotten Heroes
-10307 The Corrupted Leader: His Truth
-10311 Peaceful Days are Over
-10312 Abandoned God's Creature
-10315 To the Prison of Darkness
-10316 Undecaying Memory of the Past
10352 Legacy of Cruma Tower
-10353 Certification of Value
10357 Altar of Blood that Awakens Destruction
-10370 Menacing Times
-10371 Grasp Thy Power
-10372 Purgatory Volvere
10374 That Place Succubus
-10375 Succubus Disciples
-10376 Bloody Good Time
-10378 Weeding Work
-10380 The Executioner's Execution
-10388 Conspiracy Behind Doors
-10389 The Voice of Authority
-10446 Hit and Run
-10447 Timing is Everything
-10452 Is it Edible?
10456 Operation: Rescue
10457 Kefensis' Illusion
10458 To the Desert Quarry
-10462 Temper a Rusting Blade
10506 Diana's Request
-10703 Bottle of Istina's Soul
-10704 Bottle of Octavis' Soul
-10705 Bottle of Tauti's Soul
-10712 The Minstrel's Song, Part 1
10713 The Hero's Journey: Bloody Swampland
10714 The Hero's Journey: Seed of Annihilation
10715 The Hero's Journey: Harnak Underground Ruins
@@ -108,12 +56,9 @@
10728 The Hero's Journey: Cemetary
10729 The Hero's Journey: Guillotine Fortress
10730 The Hero's Journey: Orbis Temple
-10731 The Minstrel's Song, Part 6
10747 The Hero's Journey: Pagan Temple
10748 Mysterious Suggestion - 1
10749 Mysterious Suggestion - 2
-10796 The Eye that Defied the Gods
-10797 Crossing Fate
10801 The Dimensional Warp, Part 1
10802 The Dimensional Warp, Part 2
10803 The Dimensional Warp, Part 3
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-00.htm
new file mode 100644
index 0000000000..cac8e2078a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-00.htm
@@ -0,0 +1,7 @@
+The officer Limier:
+Isthina, Mrs. Seed of Annihilation - such a terrible demon that even among assistants
+Shilen these can be counted on the fingers. To cope with such a demon,
+need not sacrifice, empty and meaningless, and careful preparation.
+You're still not ready for this.
+(This quest is available after reaching level 90.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-01.htm
new file mode 100644
index 0000000000..cbd921a42c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-01.htm
@@ -0,0 +1,9 @@
+The officer Limier:
+Finally, in the Seeds of Evil were observed spatial fluctuations.
+And I have a vague idea of ​​how it all began.
+Seeds of Destruction will return to the world of instincts and primitivism, when he wakes up
+their true master. The essence of it is not yet known to us. If all goes
+still, we lose all hope.
+Isthina ... Necessarily have to destroy the monster that controls the Seed of Annihilation.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-02.htm
new file mode 100644
index 0000000000..54c63c6d6b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-02.htm
@@ -0,0 +1,10 @@
+The officer Limier:
+Return to Life of the Goddess of Death, Shilen - the biggest threat to all life in this world,
+and the Seed of Annihilation is no exception. Hostess Seed of Annihilation - Isthina,
+one of the Apostles Elder, symbolizing the primitive and decline.
+Because of the return of Elder Isthina even awakened her awakening strongly
+affected area Seeds. If you do not defeat these demons, you can not
+will ensure not only the strength of our position in Graz, but
+security of the whole world, is not it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-03.htm
new file mode 100644
index 0000000000..7490673e1b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-03.htm
@@ -0,0 +1,8 @@
+The officer Limier:
+Symbols Isthiny - primitive and intemperance. If hovering her power
+over the world, then by all the countries will be fruitful mad terrible monsters.
+And by the will of Shilen monsters will attack civilians. It remains to
+only plead the mighty intrepid travelers about them to stop Isthinu.
+I can turn to you to destroy Isthinu?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-04.htm
new file mode 100644
index 0000000000..f835b1101b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-04.htm
@@ -0,0 +1,6 @@
+The officer Limier:
+How nice that you have decided on it! However, you are alone for nothing
+not cope with this huge demon. Be able to resist it,
+Only having trained together with experienced teammates. Please
+ destroy Isthinu and bring me the Signs of Shilen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-05.html
new file mode 100644
index 0000000000..ff9fc6908a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-05.html
@@ -0,0 +1,6 @@
+The officer Limier:
+How nice that you have decided on it! However, you are not alone for
+not cope with this huge demon. Be able to resist it,
+Only having trained together with experienced teammates. Please
+ destroy Isthinu and bring me the Signs of Shilen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-06.html
new file mode 100644
index 0000000000..79127d5200
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-06.html
@@ -0,0 +1,11 @@
+The officer Limier:
+Thank the gods ... Falling Isthiny very inspired us. Everything, everything
+thanks to you! Thank you! We inflict a final defeat gangs Shilen
+Seeds of Destruction attack.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-07.html
new file mode 100644
index 0000000000..6c03edd735
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/33293-07.html
@@ -0,0 +1,8 @@
+The officer Limier:
+Hopefully, the demon done? We are so happy ...
+For us is very important your help in eliminating Isthiny,
+which had a considerable weight of 9 Apostles Elder.
+All thanks to you all! Thank you! We inflict a final defeat gangs Shilen
+Seeds of Destruction attack. We must not forget about the debt.
+It's not too useful subject, but I hope it is useful to you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Complete.html
new file mode 100644
index 0000000000..72eace8bce
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Complete.html
@@ -0,0 +1,6 @@
+The officer Limier:
+Lair of the Demon, having lost the host, will be thrown into chaos.
+We still have hope. Even the opportunity to talk about it is at
+us due to your merit. Thank you very much!
+(Quest has been completed.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Q00149_PrimalMotherIstina.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Q00149_PrimalMotherIstina.java
new file mode 100644
index 0000000000..34fb7ca5bf
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00149_PrimalMotherIstina/Q00149_PrimalMotherIstina.java
@@ -0,0 +1,158 @@
+/*
+ * 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.Q00149_PrimalMotherIstina;
+
+import com.l2jmobius.Config;
+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;
+
+/**
+ * Primal Mother, Istina (149)
+ * @URL https://l2wiki.com/Primal_Mother,_Istina
+ * @author Gigi
+ */
+public final class Q00149_PrimalMotherIstina extends Quest
+{
+ // NPCs
+ private static final int RUMIESE = 33293;
+ private static final int ISTHINA_NORMAL = 29195;
+ // Item
+ private static final int SHILENS_MARK = 17589;
+ private static final int ISTHINA_BRACELET = 19455;
+ private static final int EAR = 17527;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q00149_PrimalMotherIstina()
+ {
+ super(149);
+ addStartNpc(RUMIESE);
+ addTalkId(RUMIESE);
+ addKillId(ISTHINA_NORMAL);
+ addCondMinLevel(MIN_LEVEL, "33293-00.htm");
+ }
+
+ @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 "33293-02.htm":
+ case "33293-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33293-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward_9546":
+ case "reward_9547":
+ case "reward_9548":
+ case "reward_9549":
+ case "reward_9550":
+ case "reward_9551":
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(player, SHILENS_MARK) >= 1))
+ {
+ final int stoneId = Integer.parseInt(event.replaceAll("reward_", ""));
+ takeItems(player, SHILENS_MARK, 1);
+ addExpAndSp(player, 833065000, 199935);
+ giveItems(player, ISTHINA_BRACELET, 1);
+ giveItems(player, EAR, 10);
+ giveItems(player, stoneId, 15);
+ qs.exitQuest(false, true);
+ }
+ htmltext = "33293-07.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == RUMIESE)
+ {
+ htmltext = "33293-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33293-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33293-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ giveItems(player, SHILENS_MARK, 1);
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-00.htm
new file mode 100644
index 0000000000..df9a129ba4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-00.htm
@@ -0,0 +1,7 @@
+The officer Limier:
+Isthina, lady of Seeds of Annihilation - such a terrible demon,
+that even among these assistants of Shilen can be counted on the fingers.
+To cope with such a demon, you need not sacrifice, empty and meaningless,
+and careful preparation. You're still not ready for this.
+(This quest is available after the 97-level and performance)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-01.htm
new file mode 100644
index 0000000000..8113d197a7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-01.htm
@@ -0,0 +1,6 @@
+The officer Limier:
+This is indeed serious. We hope that you and his comrades had thrown Isthinu,
+Turning the tide of the war ... But in fact, it was not as easy as in words.
+Elder Isthinu again revived. Not only that, she has become even stronger.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-02.htm
new file mode 100644
index 0000000000..d7a2917e9b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-02.htm
@@ -0,0 +1,9 @@
+The officer Limier:
+I think we underestimated the forces of Shilen and her demons. Elder forces that
+finally about to wake up, too high even in its current state.
+It enormously strong, despite the fact that not fully awakened.
+Elder resurrected killed you Isthinu and caused her here. And it was a demon
+even stronger! We would have groaned in despair if it were not for you. After all, you already
+battled the demon and killed him, did not you?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-03.htm
new file mode 100644
index 0000000000..84deff0e60
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-03.htm
@@ -0,0 +1,9 @@
+The officer Limier:
+I have heard of such cases before. For example, a case
+when appearing on the continent of Aden Snow Queen Freya was also
+defeated, but then resurrected, and her strength increased. From there Isthinoy
+same. In any case, no matter how foolish this may appear to act
+it is necessary to challenge it, but it can only make you with their brave comrades.
+I can turn to you to destroy the revitalized Isthinu?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-04.htm
new file mode 100644
index 0000000000..42ea34ccff
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-04.htm
@@ -0,0 +1,6 @@
+The officer Limier:
+How nice that you have decided on it! However, you are not alone for
+not cope with this huge demon. be able to withstand
+her only having trained together with experienced teammates.
+I ask you to destroy and bring me Isthinu Signs of Shilen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-05.html
new file mode 100644
index 0000000000..9b111eb255
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-05.html
@@ -0,0 +1,6 @@
+The officer Limier:
+How nice that you have decided on it! However, you are not alone for
+not cope with this huge demon. be able to withstand
+her only having trained together with experienced teammates.
+I ask you to destroy Isthinu and bring me Signs of Shilen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-06.html
new file mode 100644
index 0000000000..4340e8e533
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-06.html
@@ -0,0 +1,5 @@
+The officer Limier:
+Thank the gods ... Falling Isthiny very inspired us. Thank you! We also plotted
+final defeat for Shieln gangs attacking the seeds of destruction.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-07.html
new file mode 100644
index 0000000000..1c9bc52c66
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/33293-07.html
@@ -0,0 +1,8 @@
+The officer Limier:
+Hopefully, the demon done? We are so happy ... We care
+Your help is crucial in eliminating Isthiny, which had a significant
+weight of 9 Apostles Elder. All thanks to you all! Thank you! we also
+inflict a final defeat gangs Elder, attacking seeds of destruction.
+We must not forget about the debt.
+It's not too useful subject, but I hope it is useful to you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Complete.html
new file mode 100644
index 0000000000..8dc455dbda
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Complete.html
@@ -0,0 +1,5 @@
+The officer Limier:
+I do not know how far the power of Shilen, but we seem to have done everything
+they could. I admire your courage. Thank you very much!
+(Quest has been completed.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Q00150_ExtremeChallengePrimalMotherResurrected.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Q00150_ExtremeChallengePrimalMotherResurrected.java
new file mode 100644
index 0000000000..e7f164a4c0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00150_ExtremeChallengePrimalMotherResurrected/Q00150_ExtremeChallengePrimalMotherResurrected.java
@@ -0,0 +1,148 @@
+/*
+ * 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.Q00150_ExtremeChallengePrimalMotherResurrected;
+
+import com.l2jmobius.Config;
+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;
+
+/**
+ * Extreme Challenge: Primal Mother Resurrected (150)
+ * @URL https://l2wiki.com/Extreme_Challenge:_Primal_Mother_Resurrected
+ * @author Gigi
+ */
+public final class Q00150_ExtremeChallengePrimalMotherResurrected extends Quest
+{
+ // NPCs
+ private static final int RUMIESE = 33293;
+ private static final int ISTHINA_EXTRIM = 29196;
+ // Item
+ private static final int SHILENS_MARK = 17589;
+ private static final int BOTTLE_OF_ISTHINAS_SOUL = 34883;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q00150_ExtremeChallengePrimalMotherResurrected()
+ {
+ super(150);
+ addStartNpc(RUMIESE);
+ addTalkId(RUMIESE);
+ addKillId(ISTHINA_EXTRIM);
+ addCondMinLevel(MIN_LEVEL, "33293-00.htm");
+ }
+
+ @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 "33293-02.htm":
+ case "33293-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33293-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33293-07.html":
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(player, SHILENS_MARK) >= 1))
+ {
+ takeItems(player, SHILENS_MARK, 1);
+ giveItems(player, BOTTLE_OF_ISTHINAS_SOUL, 1);
+ qs.exitQuest(false, true);
+ }
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == RUMIESE)
+ {
+ htmltext = "33293-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33293-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33293-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ giveItems(player, SHILENS_MARK, 1);
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-01.htm
new file mode 100644
index 0000000000..b22ae82cee
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-02.html
new file mode 100644
index 0000000000..35cba6bb1a
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-03.html
new file mode 100644
index 0000000000..e3c4d1b2f3
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-04.htm
new file mode 100644
index 0000000000..c51f6c12e3
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-05.htm
new file mode 100644
index 0000000000..eb47555f5d
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-06.html
new file mode 100644
index 0000000000..1da37772c6
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-07.html
new file mode 100644
index 0000000000..1da37772c6
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-08.html
new file mode 100644
index 0000000000..0dd08a20cd
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/Q00180_InfernalFlamesBurningInCrystalPrison.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/Q00180_InfernalFlamesBurningInCrystalPrison.java
new file mode 100644
index 0000000000..d1626b7a35
--- /dev/null
+++ b/L2J_Mobius_Underground/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);
+ 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)
+ {
+ final 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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-01.htm
new file mode 100644
index 0000000000..db5c77b22c
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-02.html
new file mode 100644
index 0000000000..04649a9ef7
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-03.html
new file mode 100644
index 0000000000..74601fcdd4
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-04.htm
new file mode 100644
index 0000000000..89e9aee160
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-05.htm
new file mode 100644
index 0000000000..8324f3654a
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-06.html
new file mode 100644
index 0000000000..51dd7c3387
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-07.html
new file mode 100644
index 0000000000..51dd7c3387
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-08.html
new file mode 100644
index 0000000000..2ef0b074ed
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-09.html
new file mode 100644
index 0000000000..b0738ce2a2
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-10.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-10.html
new file mode 100644
index 0000000000..c400562c61
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-11.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-11.html
new file mode 100644
index 0000000000..f28117ec4a
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java
new file mode 100644
index 0000000000..bf65153e22
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java
@@ -0,0 +1,156 @@
+/*
+ * 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.commons.util.Rnd;
+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;
+
+/**
+ * @hlwrave
+ * @URL 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);
+ addStartNpc(FIOREN);
+ addTalkId(FIOREN);
+ addKillId(BALOK);
+ registerQuestItems(CONTRACT);
+ addCondMinLevel(MIN_LEVEL, "33044-02.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final 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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-00.html
new file mode 100644
index 0000000000..033d87d0d6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-00.html
@@ -0,0 +1,3 @@
+Elder Filaur:
+What brings you to Schuttgart? Did you come to defeat Teredor?
+(Only level 85+ characters may finish)
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-01.htm
new file mode 100644
index 0000000000..eb2c882dbd
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-01.htm
@@ -0,0 +1,4 @@
+Filaur of the Gray Pillar:
+I'm guessing you heard about that really vicious one and came to talk to me about it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-02.htm
new file mode 100644
index 0000000000..feee2a9256
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-02.htm
@@ -0,0 +1,6 @@
+Filaur of the Gray Pillar:
+Teredor keeps being sighted around the Dwarven town... They say he's some kind of Earth Wyrm, probably even related to that Trasken monster who ruined the Dwarven tower. At least he isn't as strong as Trasken.
+Still, his poison's potent enough that we had to close all mines, which is threatening a lot of people's livelihood.
+That's not even our biggest problem.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-03.htm
new file mode 100644
index 0000000000..535ea94ae9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-03.htm
@@ -0,0 +1,6 @@
+Filaur of the Gray Pillar:
+Oh, it's so bad it must be an Omen.
+Many years ago, the great King of Dwarves, Lucien, defeated Trasken and sealed it away. However, now that the Goddess of destruction is growing stronger, many ancient things are starting to wake up, such as this Teredor.
+I dread to think what will happen if it regains its full strength.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-04.htm
new file mode 100644
index 0000000000..b4089e7b93
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-04.htm
@@ -0,0 +1,6 @@
+Filaur of the Gray Pillar:
+The power of Shilen is closely linked to the power of death, and any deaths caused by these Earth Wyrms will only feed that.
+Eventually, the Earth Wyrm will wake completely, and Aden will be flooded with these creations of Shilen.
+Schuttgart will certainly fall, and perhaps Aden itself.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-05.htm
new file mode 100644
index 0000000000..4524eee765
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-05.htm
@@ -0,0 +1,4 @@
+Elder Filaur:
+Well, it would mean a lot to catch Teredor. It's just one part of thise whole process, but a vital part.
+You can't defeat this monster alone, so gather allies and return to me when you're ready.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-06.html
new file mode 100644
index 0000000000..0c766f6ad5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-06.html
@@ -0,0 +1,3 @@
+Elder Filaur:
+You can't defeat this monster alone, so gather allies and return to me when you're ready.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-07.html
new file mode 100644
index 0000000000..4140650922
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/30535-07.html
@@ -0,0 +1,5 @@
+Elder Filaur:
+Did you defeat it? You look a bit battered, but not too bad, considering the task. Thankfully the evil energy seems to be calming down. Maybe that will weaken the Earth Wyrm.
+You've done well. Please, take this as a reward, you earned it.
+But, Shilen is still strong. So stick around, will you? Come back when you've rested. We can use all the help we can get.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Complete.html
new file mode 100644
index 0000000000..c8e342b350
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Complete.html
@@ -0,0 +1,4 @@
+Elder Filaur:
+That Teredor creature will be quiet for a while now that we've weakened the Earth Wyrm.
+(You can do this quest once a day. It resets each day at 6:30am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Q00459_TheVillainOfTheUndergroundMineTeredor.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Q00459_TheVillainOfTheUndergroundMineTeredor.java
new file mode 100644
index 0000000000..b30b8306ef
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00459_TheVillainOfTheUndergroundMineTeredor/Q00459_TheVillainOfTheUndergroundMineTeredor.java
@@ -0,0 +1,141 @@
+/*
+ * 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.Q00459_TheVillainOfTheUndergroundMineTeredor;
+
+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.model.quest.State;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * The Villain of the Underground Mine, Teredor (459)
+ * @URL https://l2wiki.com/The_Villain_of_the_Underground_Mine,_Teredor
+ * @VIDEO http://www.dailymotion.com/video/x4hvrk2_quest-the-villain-of-the-underground-mine-teredor-infinity-odyssey_videogames
+ * @author Gigi
+ */
+public class Q00459_TheVillainOfTheUndergroundMineTeredor extends Quest
+{
+ // NPCs
+ private static final int FILAUR = 30535;
+ // Monster
+ private static final int TEREDOR = 25785;
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final int PROOF_OF_FIDELITY = 19450;
+
+ public Q00459_TheVillainOfTheUndergroundMineTeredor()
+ {
+ super(459);
+ addStartNpc(FILAUR);
+ addTalkId(FILAUR);
+ addKillId(TEREDOR);
+ addCondMinLevel(MIN_LEVEL, "30535-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "30535-02.htm":
+ case "30535-03.htm":
+ case "30535-04.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30535-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "30535-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "30535-05.html";
+ break;
+ }
+ case 2:
+ {
+ giveItems(player, PROOF_OF_FIDELITY, 6);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = "30535-07.html";
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "Complete.html";
+ }
+ qs.setState(State.CREATED);
+ 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))
+ {
+ qs.setCond(2, true);
+ }
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, true);
+ return super.onKill(npc, killer, isSummon);
+ }
+}
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-01.htm
new file mode 100644
index 0000000000..a4d7cc0fb7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-01.htm
@@ -0,0 +1,4 @@
+Filaur of the Gray Pillar:
+What's that you're holding?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-02.htm
new file mode 100644
index 0000000000..40e630b256
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/30535-02.htm
@@ -0,0 +1,4 @@
+Elder Filaur:
+So Amer is dead, and you're delivering this?
+You're a role model to all these promise-breakers who wander round as if they did nothing wrong. We'll forever remember Amer for keeping the promise to the Gray Pillar Guild.
+And, never fear, you will be getting a reward as well.
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/33092-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/33092-01.html
new file mode 100644
index 0000000000..d865188092
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/33092-01.html
@@ -0,0 +1,3 @@
+Amer:
+You need to collect all 20 of the Teredor Egg Fragments before you can make delivery! you need more!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/Q00460_PreciousResearchMaterial.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/Q00460_PreciousResearchMaterial.java
new file mode 100644
index 0000000000..2a5adbd3a4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00460_PreciousResearchMaterial/Q00460_PreciousResearchMaterial.java
@@ -0,0 +1,135 @@
+/*
+ * 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.Q00460_PreciousResearchMaterial;
+
+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.model.quest.State;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * Precious Research Material (460)
+ * @URL https://l2wiki.com/Precious_Research_Material
+ * @author Gigi
+ */
+public class Q00460_PreciousResearchMaterial extends Quest
+{
+ // NPCs
+ private static final int AMER = 33092;
+ private static final int FILAUR = 30535;
+ // Monster
+ private static final int EGG = 18997;
+ // Item's
+ private static final int PROOF_OF_FIDELITY = 19450; //
+ private static final int TEREDOR_EGG_FRAGMENT = 17735;
+ // Misc
+ private static final int MIN_LEVEL = 85;
+
+ public Q00460_PreciousResearchMaterial()
+ {
+ super(460);
+ addStartNpc(AMER);
+ addTalkId(AMER, FILAUR);
+ addKillId(EGG);
+ registerQuestItems(TEREDOR_EGG_FRAGMENT);
+ addCondMinLevel(MIN_LEVEL, "30535-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "30535-02.htm":
+ {
+ giveItems(player, PROOF_OF_FIDELITY, 3);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ switch (npc.getId())
+ {
+ case AMER:
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33092-01.htm";
+ qs.isStarted();
+ break;
+ }
+ case State.STARTED:
+ {
+ htmltext = "33092-01.htm";
+ break;
+ }
+ }
+ break;
+ }
+ case FILAUR:
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(player, TEREDOR_EGG_FRAGMENT) >= 20))
+ {
+ htmltext = "30535-01.htm";
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ if (giveItemRandomly(killer, EGG, 1, 20, 0.7, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00.htm
new file mode 100644
index 0000000000..fe4d9edcd8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00.htm
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+Your life has not yet reached this page in your destiny.
+Prepare yourself for the future, and glory will come to you.
+(This quest can only be fulfilled by characters who have completed the Witch of Orbis quest, and who are level 95 or above.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00a.html
new file mode 100644
index 0000000000..5ed5a13585
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-00a.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+You completed your task well. You should rest for tomorrow's mission.
+(This quest can be fulfilled only once per day. This quest timer resets at 6:30 a.m. everyday.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-01.htm
new file mode 100644
index 0000000000..4643c67e19
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-01.htm
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+It is time for you to take up the mission that you were born for.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-02.htm
new file mode 100644
index 0000000000..c034556114
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-02.htm
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+This is where ancient heroes were put to rest, though the perpetuity of time degenerated their souls into something less, something pitiful. This weakness allowed Malevolent Power to infiltrate and corrupt their souls.
+Now, we need a pure, untainted power to combat the darkness that threatens to engulf our world. That, my child, is what brought me to you. You are that power.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-03.htm
new file mode 100644
index 0000000000..f3eec081fb
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-03.htm
@@ -0,0 +1,6 @@
+Divine Messenger Lydia:
+This is no coincidence.
+We've waited a long time for someone to break the eternal balance and bring peace to this place.
+You must fight the lost heroes, remove their darkness from their souls, and set them free once again.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-04.htm
new file mode 100644
index 0000000000..5abb3ec078
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-04.htm
@@ -0,0 +1,7 @@
+Divine Messenger Lydia:
+I am sure you will.
+There is one more thing I must tell you - in order to succeed, you must also fight the most powerful of the fallen heroes. There are ten in total, ten mighty champions that saved the world while they lived, and now seek to damn it as while dead.
+Defeat the ancient heroes, and you'll summon these champions to defend them. As I said, there are 10 in total, but I will only ask that you kill two, if you can. If you can only kill one, then I will understand.
+Now, it's time to choose. Will you face the fate in front of you?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-05.htm
new file mode 100644
index 0000000000..c274e1f4c1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-05.htm
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+I'll tell you who you need to defeat. Turanclass and Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros are all powerful ancient warriors.
+Also, Talicrom, Micalia, Evangelos, Sotiris, and Lazaros have powerful subordinates and use magic very well.
+Well? Your destiny awaits!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-06.html
new file mode 100644
index 0000000000..4eb35103ab
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-06.html
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+Turanclass and Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros are all powerful warriors from the past.
+Also, Talicrom, Micalia, Evangelos, Sotiris, and Lazaros have powerful subordinates and they also use magic very well.
+Furthermore, face the fate that will challenge you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-07.html
new file mode 100644
index 0000000000..105c915640
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-07.html
@@ -0,0 +1,6 @@
+Divine Messenger Lydia:
+You've killed one of them.
+What do you want to do now?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-08.html
new file mode 100644
index 0000000000..9db8f70abb
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-08.html
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+Okay...
+I can still feel the sadness of the other fallen champions... when will they finally get the rest they deserve?
+Anyway, your reward is here. If you have enough of these and want to return to Ancient City Arcan , you'll want to speak to Anthony and exchange it for something of significant value.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-09.html
new file mode 100644
index 0000000000..7107b04a30
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/32892-09.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+Okay. Defeat any one of Turanclass, Georgios, Angelos, Theofanis, Steregos, Micalia, Evagelos, Sotiris, Lazaros. It doesn't matter who.
+Go face your fate.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/Q00462_StuffedAncientHeroes.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/Q00462_StuffedAncientHeroes.java
new file mode 100644
index 0000000000..2bf8e04e77
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00462_StuffedAncientHeroes/Q00462_StuffedAncientHeroes.java
@@ -0,0 +1,201 @@
+/*
+ * 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.Q00462_StuffedAncientHeroes;
+
+import java.util.HashSet;
+import java.util.Set;
+
+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.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10317_OrbisWitch.Q10317_OrbisWitch;
+
+/**
+ * Stuffed Ancient Heroes (462)
+ * @URL https://l2wiki.com/Stuffed_Ancient_Heroes
+ * @author Gigi
+ */
+public class Q00462_StuffedAncientHeroes extends Quest
+{
+ // NPCs
+ private static final int LYDIA = 32892;
+ private static final int ANCIENT_HEROES = 33347;
+ // Boss
+ private static final int[] BOSES =
+ {
+ 25760, // Turanclass
+ 25761, // Georgios
+ 25762, // Angelos
+ 25763, // Theofanis
+ 25764, // Steregos
+ 25766, // Talicrome
+ 25767, // Meikaliya
+ 25768, // Evangelos
+ 25769, // Sotiris
+ 25770 // Lazaros
+ };
+ // Item
+ private static final int CERTIFICATE_OF_HERO = 30386;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q00462_StuffedAncientHeroes()
+ {
+ super(462);
+ addStartNpc(LYDIA);
+ addTalkId(LYDIA);
+ addKillId(BOSES);
+ addCondMinLevel(MIN_LEVEL, "32892-00.htm");
+ addCondCompletedQuest(Q10317_OrbisWitch.class.getSimpleName(), "32892-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "32892-02.htm":
+ case "32892-03.htm":
+ case "32892-04.htm":
+ case "32892-09.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32892-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32892-08.html":
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (qs.isCond(2))
+ {
+ giveItems(player, CERTIFICATE_OF_HERO, 2);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ else if (qs.isCond(3))
+ {
+ giveItems(player, CERTIFICATE_OF_HERO, killCount);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (npc.getId() == LYDIA)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "32892-00a.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "32892-01.htm";
+ qs.isStarted();
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32892-06.html";
+ }
+ else if (qs.getCond() > 1)
+ {
+ htmltext = "32892-07.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && (qs.getCond() > 0))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ qs.set(KILL_COUNT_VAR, killCount);
+ if (killCount == 1)
+ {
+ qs.setCond(2, true);
+ }
+ else if ((killCount > 1) && (killCount <= 10))
+ {
+ qs.setCond(1);
+ qs.setCond(3);
+ }
+ else
+ {
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 0))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (killCount > 0)
+ {
+ final Set holder = new HashSet<>(1);
+ holder.add(new NpcLogListHolder(ANCIENT_HEROES, false, killCount));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-01.htm
new file mode 100644
index 0000000000..d5a6c23fc8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-01.htm
@@ -0,0 +1,5 @@
+Fairy citizen who ran away from Kimerian:
+That Kimerian, it's insane! Crazed!. We can't live this way! We need free ourselves from Kimerians.
+You've already helped us before; won't you help us again this time?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-02.htm
new file mode 100644
index 0000000000..bacb50007e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-02.htm
@@ -0,0 +1,4 @@
+Fairy citizen who ran away from Kimerian:
+Please help 2 or more Fairy Citizens who are suffering in the Fairy Settlement. Then we will help you when are in need. Will you help us?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-03.htm
new file mode 100644
index 0000000000..138bb524d9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-03.htm
@@ -0,0 +1,4 @@
+Fairy citizen who ran away from Kimerian:
+Thank you! You need extend a hand of true friendship.
+When you destroy Cocoons and Large Cocoons in the Fairy Settlement, you'll encounter Fairy Citizen in need. Please when you see them!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-04.html
new file mode 100644
index 0000000000..bc5fd917f9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-04.html
@@ -0,0 +1,4 @@
+Fairy citizen who ran away from Kimerian:
+Thank you for your help. You - our most loyal friend.
+(This quest is available once a day. Update the quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-05.html
new file mode 100644
index 0000000000..8c3249ccb6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-05.html
@@ -0,0 +1,3 @@
+Fairy citizen who ran away from Kimerian:
+When you destroy Cocoons and Large Cocoons in the Fairy Settlement, you'll encounter Fairy Citizen in need. Please when you see them!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-06.html
new file mode 100644
index 0000000000..4c8627c11f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-06.html
@@ -0,0 +1,6 @@
+Fairy citizen who ran away from Kimerian:
+Were you able to help the Fairy Citizens? where you able to empathize? to feel our pain? To see our long suffering?
+Did the Fairy Citizens give you anything in return?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-07.html
new file mode 100644
index 0000000000..18e5d10f72
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-07.html
@@ -0,0 +1,4 @@
+Fairy citizen who ran away from Kimerian:
+I'm sorry you could not meet a representative of my people.
+I suggest you go back and look for them well, I know they're in captivity and dreams of freedom.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-08.html
new file mode 100644
index 0000000000..64fc1c1438
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32921-08.html
@@ -0,0 +1,3 @@
+Fairy citizen who ran away from Kimerian:
+That's it! This provers you are indeed a friend to my people. Here, take this Fairy's Leaf Flute. If you find yourself facing Kimerian, and you need our help, use this. And take care until next we meet.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-01.html
new file mode 100644
index 0000000000..c14877731f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-01.html
@@ -0,0 +1,5 @@
+Fairy citizen:
+Are you one who freed me from the cocoon? Oh, thank you, thank you.
+Any longer and know I would have been mutated. Did you know that I was here?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-02.html
new file mode 100644
index 0000000000..1d95adf6a6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/32923-02.html
@@ -0,0 +1,3 @@
+Fairy citizen:
+Are you talking about the fairy in the heart of Timiniel? Ooh, good to know he made it out of here safely. Here, take this in recognition of thankful I am.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/Q00465_WeAreFriends.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/Q00465_WeAreFriends.java
new file mode 100644
index 0000000000..132b885349
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/Q00465_WeAreFriends.java
@@ -0,0 +1,154 @@
+/*
+ * 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.Q00465_WeAreFriends;
+
+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.model.quest.State;
+
+/**
+ * We Are Friends (465)
+ * @URL https://l2wiki.com/We_Are_Friends
+ * @author Gigi
+ */
+public class Q00465_WeAreFriends extends Quest
+{
+ // Npc
+ public static final int FAIRY_CITIZEN = 32921;
+ public static final int FAIRY_CITIZEN_SPAWN = 32923;
+ // item
+ private static final int MARK_OF_FRIENDSHIP = 17377;
+ private static final int FAIRY_LEAF_FLUTE = 17378;
+ private static final int CERTIFICATE_OF_PROMISE = 30384;
+ // Misc
+ private static final int MIN_LEVEL = 88;
+
+ public Q00465_WeAreFriends()
+ {
+ super(465);
+ addStartNpc(FAIRY_CITIZEN);
+ addTalkId(FAIRY_CITIZEN, FAIRY_CITIZEN_SPAWN);
+ registerQuestItems(MARK_OF_FRIENDSHIP);
+ addCondMinLevel(MIN_LEVEL, "no_level.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "32921-02.htm":
+ case "32921-07.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32921-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32923-02.html":
+ {
+ giveItems(player, MARK_OF_FRIENDSHIP, 1);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ if ((getQuestItemsCount(player, MARK_OF_FRIENDSHIP) >= 2))
+ {
+ qs.setCond(2, true);
+ }
+ htmltext = event;
+ npc.deleteMe();
+ break;
+ }
+ case "32921-08.html":
+ {
+ giveItems(player, FAIRY_LEAF_FLUTE, 1);
+ giveItems(player, CERTIFICATE_OF_PROMISE, getRandom(1, 4));
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable() && (npc.getId() == FAIRY_CITIZEN))
+ {
+ htmltext = "32921-04.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ if (npc.getId() == FAIRY_CITIZEN)
+ {
+ htmltext = "32921-01.htm";
+ }
+ }
+ break;
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case FAIRY_CITIZEN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32921-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "32921-06.html";
+ }
+ break;
+ }
+ case FAIRY_CITIZEN_SPAWN:
+ {
+ if (qs.isCond(1) && (npc.getTitle() == player.getName()))
+ {
+ htmltext = "32923-01.html";
+ break;
+ }
+ return null;
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/no_level.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/no_level.htm
new file mode 100644
index 0000000000..782492f27b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00465_WeAreFriends/no_level.htm
@@ -0,0 +1,5 @@
+Fairy citizen who ran away from Kimerian:
+We both suffer from tyranny Kimeriana! Oh, if we could get rid of his power!
+I think you could help us. Do not forget about our troubles, When you have the experience!
+(This quest is available after the 88th level.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-01.htm
new file mode 100644
index 0000000000..1dd69a7649
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-01.htm
@@ -0,0 +1,5 @@
+Horpina:
+Do not know if you happened to be in the central flower garden, located in the garden? There is a prison in which the enchanted creature, called monster Afros. His guard militant Keepers. In the past they were honest and valiant warriors, receive special protection of the gods, but now... I do not even know what will happen to our wiles Magmeldom because they weave.
+So I want to appeal to you to...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-02.htm
new file mode 100644
index 0000000000..234244b46f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-02.htm
@@ -0,0 +1,5 @@
+Horpina:
+In ancient times, the gods instructed Defenders protect the Forerunners. Now, when the ancient gods have sunk into oblivion, Defenders, drawn by the desire for power, intend to use the power of the Forerunners to their advantage. I've heard rumors that some of the precursors appear in the Ancient City Arkan and in the land of Aden, where they sowed chaos and destruction. Nobody knows what will happen even if you do not stop the Defenders.
+Our nation is trying to prevent their evil plans. But we need help. I ask, assist - Destroy 30 Defenders.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-03.htm
new file mode 100644
index 0000000000..d85b7b45af
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-03.htm
@@ -0,0 +1,3 @@
+Horpina:
+Thank you. If the keepers for fear of retribution, for a time refuse to implement their plans, it will help us win more time. For which we may be able to find a way to counter them.
+So, I ask you to kill 30 Arpheus Watchman, living in the garden.
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-04.html
new file mode 100644
index 0000000000..376844ed50
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-04.html
@@ -0,0 +1,4 @@
+Horpina:
+Thank you. If the keepers for fear of retribution, for a time refuse to implement their plans, it will help us win more time.
+(You can only do this quest once a day. This quest resets at 6:30 AM.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-05.html
new file mode 100644
index 0000000000..450c5981c2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-05.html
@@ -0,0 +1,4 @@
+Horpina:
+You followed my assignment?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-06.html
new file mode 100644
index 0000000000..2923b64c51
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-06.html
@@ -0,0 +1,3 @@
+Horpina:
+Nice! You are very good you stranger. Here's your reward - not so hot that, but the rich, and so happy... Hopefully after you have rested, we can work together again?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-07.html
new file mode 100644
index 0000000000..e86ebe40fd
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/33031-07.html
@@ -0,0 +1,4 @@
+Horpina:
+For which we may be able to find a way to counter them.
+So, I ask you to kill 30 Arpheus Watchman, living in the garden.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/Q00469_SuspiciousGardener.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/Q00469_SuspiciousGardener.java
new file mode 100644
index 0000000000..b3f89230f0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/Q00469_SuspiciousGardener.java
@@ -0,0 +1,158 @@
+/*
+ * 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.Q00469_SuspiciousGardener;
+
+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.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * Suspicious Gardener (469)
+ * @URL https://l2wiki.com/Suspicious_Gardener
+ * @author Gigi
+ */
+public class Q00469_SuspiciousGardener extends Quest
+{
+ // Npc
+ public static final int GOFINA = 33031;
+ // Monsters
+ private static final int APHERIUS_LOOKOUT_BEWILDERED = 22964;
+ // Items
+ private static final ItemHolder CERTIFICATE_OF_LIFE = new ItemHolder(30385, 2); // Certificate of Life
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q00469_SuspiciousGardener()
+ {
+ super(469);
+ addStartNpc(GOFINA);
+ addTalkId(GOFINA);
+ addKillId(APHERIUS_LOOKOUT_BEWILDERED);
+ addCondMinLevel(MIN_LEVEL, "no_level.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "33031-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33031-03.htm":
+ {
+ qs.startQuest();
+ qs.set(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED), 0);
+ htmltext = event;
+ break;
+ }
+ case "33031-06.html":
+ {
+ giveItems(player, CERTIFICATE_OF_LIFE);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (npc.getId() == GOFINA)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33031-04.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33031-01.htm";
+ }
+ break;
+ case State.STARTED:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "33031-07.html";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "33031-05.html";
+ break;
+ }
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ int kills = qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED));
+ if (kills < 30)
+ {
+ kills++;
+ qs.set(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(APHERIUS_LOOKOUT_BEWILDERED, qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(APHERIUS_LOOKOUT_BEWILDERED)) >= 30))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/no_level.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/no_level.html
new file mode 100644
index 0000000000..684e94ab31
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00469_SuspiciousGardener/no_level.html
@@ -0,0 +1,4 @@
+Horpina:
+Nice! But you are still very young for my order.
+(You must be level 90 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-01.htm
new file mode 100644
index 0000000000..74e18717c3
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-02.html
new file mode 100644
index 0000000000..c080ee64c3
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-03.htm
new file mode 100644
index 0000000000..5df77fab5d
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-04.html
new file mode 100644
index 0000000000..f27f9ba47e
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-05.html
new file mode 100644
index 0000000000..f27f9ba47e
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-06.html
new file mode 100644
index 0000000000..0919920137
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-07.html
new file mode 100644
index 0000000000..6da1824e57
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-08.html
new file mode 100644
index 0000000000..1790f16c9c
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/Q00471_BreakingThroughTheEmeraldSquare.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/Q00471_BreakingThroughTheEmeraldSquare.java
new file mode 100644
index 0000000000..bed461aa18
--- /dev/null
+++ b/L2J_Mobius_Underground/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);
+ addStartNpc(FIOREN);
+ addTalkId(FIOREN);
+ addKillId(EMABIFI);
+ addCondMinLevel(MIN_LEVEL, "33044-02.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final 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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm
new file mode 100644
index 0000000000..6a2dbccfd8
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html
new file mode 100644
index 0000000000..c080ee64c3
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-03.htm
new file mode 100644
index 0000000000..3676d1fe40
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-04.html
new file mode 100644
index 0000000000..6aa7746bd2
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-05.html
new file mode 100644
index 0000000000..6aa7746bd2
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-06.html
new file mode 100644
index 0000000000..49fd15929f
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-07.html
new file mode 100644
index 0000000000..6da1824e57
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-08.html
new file mode 100644
index 0000000000..1790f16c9c
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/Q00472_ChallengeSteamCorridor.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/Q00472_ChallengeSteamCorridor.java
new file mode 100644
index 0000000000..f391c3e2b1
--- /dev/null
+++ b/L2J_Mobius_Underground/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);
+ addStartNpc(FIOREN);
+ addTalkId(FIOREN);
+ addKillId(KECHI);
+ addCondMinLevel(MIN_LEVEL, "33044-02.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final 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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-01.htm
new file mode 100644
index 0000000000..d897022659
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-02.html
new file mode 100644
index 0000000000..c080ee64c3
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-03.htm
new file mode 100644
index 0000000000..ad1d62f069
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-04.html
new file mode 100644
index 0000000000..9b7290a7c6
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-05.html
new file mode 100644
index 0000000000..9b7290a7c6
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-06.html
new file mode 100644
index 0000000000..93c87dce8d
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-07.html
new file mode 100644
index 0000000000..6da1824e57
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-08.html
new file mode 100644
index 0000000000..1790f16c9c
--- /dev/null
+++ b/L2J_Mobius_Underground/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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/Q00473_InTheCoralGarden.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/Q00473_InTheCoralGarden.java
new file mode 100644
index 0000000000..608f73b337
--- /dev/null
+++ b/L2J_Mobius_Underground/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);
+ addStartNpc(FIOREN);
+ addTalkId(FIOREN);
+ addKillId(MICHAEL);
+ addCondMinLevel(MIN_LEVEL, "33044-02.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final 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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-01.htm
new file mode 100644
index 0000000000..87b8644414
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-01.htm
@@ -0,0 +1,4 @@
+Ende:
+Hmm ... And you ... Looks very strong fighter! Yes, it's a compliment. Do not get me wrong. And why not? No one told you compliments?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-02.htm
new file mode 100644
index 0000000000..7ed6d05737
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-02.htm
@@ -0,0 +1,4 @@
+Ende:
+Oh, I think you are much stronger! Oh ... I do not like wimps. I can not charge you a job, you do not have a single drop of responsibility ...
+(This quest is available after the 48th level.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-03.html
new file mode 100644
index 0000000000..07c3279dd5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-03.html
@@ -0,0 +1,4 @@
+Ende:
+Thank you for helping me today. My gratitude knows no bounds! Heh-heh-heh ...
+(This quest is available once a day. Update the quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-05.htm
new file mode 100644
index 0000000000..6f769c9af5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-05.htm
@@ -0,0 +1,5 @@
+Ende:
+I am Ende, helping Krasisu. You also have a relationship with Krasisom, it means that there is now not only the Dark Elves! Well, enough chatter ...
+You hang in a place where no one but travelers will not appear. Hunt? Am I mistaken?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-06.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-06.htm
new file mode 100644
index 0000000000..9ca4c5557b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-06.htm
@@ -0,0 +1,4 @@
+Ende:
+I'm so busy with his business, which is absolutely no time to hunt. Of course, it's not that I do not know how to hunt. But I was far better to spend time on other things. You as much free time. You could do it for me.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-07.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-07.htm
new file mode 100644
index 0000000000..a8dcd9f14b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-07.htm
@@ -0,0 +1,4 @@
+Ende:
+This is a very simple task. We must destroy all the evil creatures in this tower! It's easy, is not it? In addition, you are well rewarded. I can vouch for it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-08.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-08.htm
new file mode 100644
index 0000000000..501cbd7b2a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-08.htm
@@ -0,0 +1,5 @@
+Ende:
+I need a blood Monster Tower of Insolence! It seems that in their blood some hidden secret. All come here to get this blood. I was particularly interested in the newly emerging monsters.
+Destroy Vladimir Voinov, Voinov Radzhuosa, Ken Birestiana, Bistiana, Birestiana, Warrior of the Rainbow Guardian, Guardian Knight of the Rainbow and bring me 10 samples of blood of Allegiance.
+It would be great if you are at the same time destroyed their leaders: Vladimir Radzhuosa, Ken, and brought me to Blood of Truth!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-09.html
new file mode 100644
index 0000000000..378a4115a8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-09.html
@@ -0,0 +1,4 @@
+Ende:
+Destroy Vladimir Voinov, Voinov Radzhuosa, Ken Birestiana, Bistiana, Birestiana, Warrior of the Rainbow Guardian, Guardian Knight of the Rainbow and bring me 10 samples of blood of Allegiance.
+It would be great if you are at the same time destroyed their leaders: Vladimir Radzhuosa, Ken, and brought me to Blood of Truth!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-10.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-10.html
new file mode 100644
index 0000000000..6f37dce170
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-10.html
@@ -0,0 +1,6 @@
+Ende:
+The gods, as you will quickly come back ... Oh, no! We need to bring all of what I asked!
+Destroy Vladimir Voinov, Voinov Radzhuosa, Ken Birestiana, Bistiana, Birestiana, Warrior of the Rainbow Guardian, Guardian Knight of the Rainbow and bring me 10 samples of blood of Allegiance.
+It would be great if you are at the same time destroyed their leaders: Vladimir Radzhuosa, Ken, and brought me to Blood of Truth!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-11.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-11.html
new file mode 100644
index 0000000000..33249fe4db
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-11.html
@@ -0,0 +1,4 @@
+Ende:
+Oh, you really cope? And you can trust!
+Here is your reward, take it!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-12.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-12.html
new file mode 100644
index 0000000000..7a48c50fa6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/33357-12.html
@@ -0,0 +1,4 @@
+Ende:
+Oh, you really cope? And you can trust! Wow! And the blood of Truth got hold of! How do you manage it?
+Here is your reward, take it!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/Q00483_IntendedTactic.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/Q00483_IntendedTactic.java
new file mode 100644
index 0000000000..c9cb76243f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00483_IntendedTactic/Q00483_IntendedTactic.java
@@ -0,0 +1,184 @@
+/*
+ * 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.Q00483_IntendedTactic;
+
+import com.l2jmobius.commons.util.CommonUtil;
+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.model.quest.State;
+
+/**
+ * Intended Tactic (483)
+ * @URL https://l2wiki.com/Intended_Tactic
+ * @author Gigi
+ */
+public class Q00483_IntendedTactic extends Quest
+{
+ // Npc
+ public static final int ENDE = 33357;
+ // Mobs
+ private static final int[] MOBS =
+ {
+ 23069, // Vladimir's Warrior
+ 23070, // Lazearth' Warrior
+ 23071, // Beastian
+ 23072, // Birestian
+ 23073, // Kenneth Bastian
+ 23074, // Heaven's Palace Noble Warrior
+ 23075 // Heaven's Palace Noble Knight
+ };
+ private static final int[] BOSSES =
+ {
+ 25809, // Vladimir
+ 25811, // Lazearth
+ 25815 // Ken
+ };
+ // items
+ private static final int LOYAL_SERVANS_BLOOD = 17736;
+ private static final int TRUTTHFUL_ONES_BLOOD = 17737;
+ private static final int TOKEN_OF_INSOLENCE_TOWER = 17624;
+ // Misc
+ private static final int MIN_LEVEL = 48;
+
+ public Q00483_IntendedTactic()
+ {
+ super(483);
+ addStartNpc(ENDE);
+ addTalkId(ENDE);
+ addKillId(MOBS);
+ addKillId(BOSSES);
+ addCondMinLevel(MIN_LEVEL, "33357-02.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "33357-05.htm":
+ case "33357-06.htm":
+ case "33357-07.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33357-08.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "endquest":
+ {
+ if (getQuestItemsCount(player, TRUTTHFUL_ONES_BLOOD) >= 10)
+ {
+ takeItems(player, LOYAL_SERVANS_BLOOD, -1);
+ takeItems(player, TRUTTHFUL_ONES_BLOOD, -1);
+ giveItems(player, TOKEN_OF_INSOLENCE_TOWER, 1);
+ addExpAndSp(player, 1500000, 360);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = "33357-12.html";
+ break;
+ }
+ takeItems(player, LOYAL_SERVANS_BLOOD, -1);
+ addExpAndSp(player, 1500000, 360);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = "33357-11.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (npc.getId() == ENDE)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33357-03.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ break;
+ }
+ case State.CREATED:
+ {
+ htmltext = "33357-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33357-09.html";
+ }
+ else if (qs.isStarted() && qs.isCond(2))
+ {
+ htmltext = "33357-10.html";
+ }
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (qs.isCompleted() && !qs.isNowAvailable())
+ {
+ htmltext = "33357-03.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) && (CommonUtil.contains(MOBS, npc.getId())))
+ {
+ if (giveItemRandomly(killer, npc, LOYAL_SERVANS_BLOOD, 1, 10, 0.10, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ if ((qs != null) && qs.isCond(2) && (CommonUtil.contains(BOSSES, npc.getId())))
+ {
+ if (giveItemRandomly(killer, npc, TRUTTHFUL_ONES_BLOOD, 1, 10, 1.0, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-00.html
new file mode 100644
index 0000000000..3b2b5db3ae
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-00.html
@@ -0,0 +1,3 @@
+Goddard Vanguard Sirik:
+(3rd Class Transfer may take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-01.htm
new file mode 100644
index 0000000000..3523773244
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-01.htm
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+You look like you are a seasoned veteran of slaying monsters, right? I have a small request if you're interested.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-02.htm
new file mode 100644
index 0000000000..880c60fd15
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-02.htm
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+You see this guy standing next to me? He's some sort of big shot from Elmore, sent here to investigate the new monsters near the Shrine of Loyalty. Now I'm stuck here babysitting him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-03.htm
new file mode 100644
index 0000000000..c4311801d7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-03.htm
@@ -0,0 +1,6 @@
+Goddard Vanguard Sirik:
+Hahaha. No, babysitting this guy isn't the problem.
+These creatures all around us though, those are the problem. You see I'm not a very skilled Vanguard member. I'm much better at running away than fighting. But I can’t run with this guy around. If he dies, then my father is going to be super mad at me.
+I need someone to help protect me so I can protect him... which I guess is pretty much the same as protecting him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-04.htm
new file mode 100644
index 0000000000..2621b13104
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-04.htm
@@ -0,0 +1,3 @@
+Goddard Vanguard Sirik:
+No, I don't want you to do that, I just want you to eliminate some of these new monsters around here. If you do that, it pretty much makes my job significantly easier. I need you to hunt down and defeat the Succubus Soldiers, Succubus Warriors, Succubus Archers, and Succubus Shamans. They should drop Dimensional Fragments. Collect 50 of these as proof that you have eliminated these mobs and I'll reward you for doing this.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-05.html
new file mode 100644
index 0000000000..4ddf8e61e9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-05.html
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+AGH! Not again! I thought you were a spooky ghost. Please don't sneak up on me like that.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-06.html
new file mode 100644
index 0000000000..6b3e6bbadc
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-06.html
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+Let's see what you have here! Well, you have all 50 Dimensional Fragments here, but it doesn't really feel any safer around here. Damn...
+I don't mean to sound ungrateful, but maybe next time you can do a better job?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-07.html
new file mode 100644
index 0000000000..c329da90af
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/33649-07.html
@@ -0,0 +1,3 @@
+Goddard Vanguard Sirik:
+I need you to hunt down and defeat the Succubus Soldiers, Succubus Warriors, Succubus Archers, and Succubus Shamans. They should drop Dimensional Fragments. Collect 50 of these as proof that you have eliminated these mobs and I'll reward you for doing this.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/Q00491_InNominePatris.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/Q00491_InNominePatris.java
new file mode 100644
index 0000000000..d420e15166
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/Q00491_InNominePatris.java
@@ -0,0 +1,161 @@
+/*
+ * 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.Q00491_InNominePatris;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+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.base.ClassLevel;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+
+/**
+ * In Nomine Patris (491)
+ * @URL https://l2wiki.com/In_Nomine_Patris
+ * @author Gigi
+ */
+public class Q00491_InNominePatris extends Quest
+{
+ // NPCs
+ private static final int SIRIK = 33649;
+ // Monster's
+ private static final int[] MONSTERS =
+ {
+ 23181, // Succubus Soldier
+ 23182, // Succubus Warrior
+ 23183, // Succubus Archer
+ 23184 // Succubus Shaman
+ };
+ // Items
+ private static final int DIMENSIONAL_FRAGMENT = 34768;
+ // Others
+ private static final int MIN_LEVEL = 76;
+ private static final int MAX_LEVEL = 81;
+ // Reward
+ private static final int EXP_REWARD = 184210;
+ private static final int SP_REWARD = 45;
+
+ public Q00491_InNominePatris()
+ {
+ super(491);
+ addStartNpc(SIRIK);
+ addTalkId(SIRIK);
+ addKillId(MONSTERS);
+ registerQuestItems(DIMENSIONAL_FRAGMENT);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "33649-02.htm":
+ case "33649-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33649-04.htm":
+ {
+ qs.startQuest();
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, SIRIK, NpcStringId.HURRY_AND_DEFEAT_THOSE_MONSTERS));
+ htmltext = event;
+ break;
+ }
+ case "33649-06.html":
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, SIRIK, NpcStringId.HMM_THANK_YOU_SO_THEN_MAYBE_I_WON_T_HAVE_TO_GET_INVOLVED));
+ addExpAndSp(player, (EXP_REWARD * player.getLevel()), (SP_REWARD * player.getLevel()));
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == SIRIK)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "complete.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = ((player.getClassId().level() == ClassLevel.FOURTH.ordinal()) ? "33649-01.htm" : "33649-00.html");
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33649-07.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33649-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && (qs.isCond(1)))
+ {
+ if (giveItemRandomly(killer, npc, DIMENSIONAL_FRAGMENT, 1, 50, 0.5, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/complete.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/complete.htm
new file mode 100644
index 0000000000..0400900c38
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/complete.htm
@@ -0,0 +1,4 @@
+Goddard Vanguard Sirik:
+Yes, the number of Succubi in the area is down thanks to your efforts in thinning out their numbers. I feel safer already. Hopefully this scholar will finish his research fast so we can be done with area.
+(You can only do this quest once a day. This quest resets everyday at 6:30 AM.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/no_level.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/no_level.htm
new file mode 100644
index 0000000000..b74f8db970
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00491_InNominePatris/no_level.htm
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 76 to level 81)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-0.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-0.htm
new file mode 100644
index 0000000000..5dc1b7fdb8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-0.htm
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+Hmm ... For you, as long as there is no work.
+(This quest is available once a day. Updating quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-1.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-1.htm
new file mode 100644
index 0000000000..e35e8c920d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-1.htm
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+Well - prove your strength and help to cope with the problems of Dion. After listening to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-2.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-2.htm
new file mode 100644
index 0000000000..78c2e79910
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-2.htm
@@ -0,0 +1,5 @@
+Caretaker Krepsoit Guillotine Roderick:
+Due to the impact debris dead revived in a new form - a strong and terrible. They seem to accumulate power, Shilen. I do not know the details, but it looks like all the fault of garbage. Ordered him to collect and burn.
+And how to gather when there are so many undead ... You are very LTAC Ankara us if and destroy her.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3.html
new file mode 100644
index 0000000000..c049c88c5c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3.html
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+I will list who should be killed. Collect 40 pieces of Dead Meat , killing Sadiaka, Tyr, Naghdi, extermination Hakala, St. Adidayu, Haskalah, Samit, Gazema, Soul Rosen, Kelvaru, Papyulona, Krutati, charming Irene and a landscaped garden .
+When you fight with them, for you can suddenly attack Skaldisekt Hellfire . I ask you, kill him. enough to kill just one.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3a.html
new file mode 100644
index 0000000000..c049c88c5c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-3a.html
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+I will list who should be killed. Collect 40 pieces of Dead Meat , killing Sadiaka, Tyr, Naghdi, extermination Hakala, St. Adidayu, Haskalah, Samit, Gazema, Soul Rosen, Kelvaru, Papyulona, Krutati, charming Irene and a landscaped garden .
+When you fight with them, for you can suddenly attack Skaldisekt Hellfire . I ask you, kill him. enough to kill just one.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-4.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-4.html
new file mode 100644
index 0000000000..018d9b69b8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-4.html
@@ -0,0 +1,5 @@
+Caretaker Krepsoit Guillotine Roderick:
+The task performed? I can not praise you. Frankly, I'm amazed that you survived.
+Of course, one can not express gratitude to talk. I have something cooked for you. Take it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-5.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-5.html
new file mode 100644
index 0000000000..c3d7ad686a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631-5.html
@@ -0,0 +1,3 @@
+Caretaker Krepsoit Guillotine Roderick:
+Excellent!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631.htm
new file mode 100644
index 0000000000..44b5a70949
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/30631.htm
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+Why did you come to such a dangerous place? It Yeshe worse than before - garbage everywhere and corpses. Pacing here, you can join them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/Q00751_LiberatingTheSpirits.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/Q00751_LiberatingTheSpirits.java
new file mode 100644
index 0000000000..990a5419e1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/Q00751_LiberatingTheSpirits.java
@@ -0,0 +1,189 @@
+/*
+ * 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.Q00751_LiberatingTheSpirits;
+
+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.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * Liberating the Spirits (00751)
+ * @URL https://l2wiki.com/Liberating_the_Spirits
+ * @author Gigi
+ */
+public final class Q00751_LiberatingTheSpirits extends Quest
+{
+ // Npc
+ private static final int RODERIK = 30631;
+ // Monster's
+ private static final int SCALDISECT = 23212;
+ private static final int[] MOBS =
+ {
+ 23199,
+ 23201,
+ 23202,
+ 23200,
+ 23203,
+ 23204,
+ 23205,
+ 23206,
+ 23207,
+ 23208,
+ 23209,
+ 23242,
+ 23243,
+ 23244,
+ 23245
+ };
+ // Item's
+ private static final int DEADMANS_FLESH = 34971;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+
+ public Q00751_LiberatingTheSpirits()
+ {
+ super(751);
+ addStartNpc(RODERIK);
+ addTalkId(RODERIK);
+ addKillId(SCALDISECT);
+ addKillId(MOBS);
+ registerQuestItems(DEADMANS_FLESH);
+ addCondMinLevel(MIN_LEVEL, "lvl.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "30631-1.htm":
+ case "30631-2.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30631-3.html":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30631-5.html":
+ {
+ takeItems(player, DEADMANS_FLESH, -1);
+ addExpAndSp(player, 600000000, 144000);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == RODERIK)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "30631-0.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "30631.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30631-3a.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30631-4.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ if ((giveItemRandomly(killer, DEADMANS_FLESH, 1, 40, 0.2, true)) && (qs.getMemoState() < 1))
+ {
+ qs.setMemoState(1);
+ showOnScreenMsg(killer, NpcStringId.SUMMON_SCALDISECT_OF_HELLFIRE, ExShowScreenMessage.TOP_CENTER, 6000);
+ addSpawn(SCALDISECT, npc.getX() + 100, npc.getY() + 100, npc.getZ(), 0, false, 120000);
+ }
+ else if ((qs.isMemoState(1)) && (getQuestItemsCount(killer, DEADMANS_FLESH) >= 40) && (npc.getId() == SCALDISECT))
+ {
+ int kills = qs.getInt(Integer.toString(SCALDISECT));
+ if (kills < 1)
+ {
+ kills++;
+ qs.set(Integer.toString(SCALDISECT), kills);
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SCALDISECT, qs.getInt(Integer.toString(SCALDISECT)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(SCALDISECT)) >= 1))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/lvl.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/lvl.htm
new file mode 100644
index 0000000000..fc60005e0c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00751_LiberatingTheSpirits/lvl.htm
@@ -0,0 +1,4 @@
+Caretaker Krepsoit Guillotine Roderick:
+Hmm ... For you, as long as there is no work.
+(This quest is available after reaching level 95.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-0.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-0.htm
new file mode 100644
index 0000000000..2600695934
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-0.htm
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+Hmm ... For you, as long as there is no work.
+(This quest is available once a day. Updating quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-01.htm
new file mode 100644
index 0000000000..fe45fdff3c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-01.htm
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+I take one step outside of the isle of Souls Harbor and get a pounding headache. You saw too, didn't you? those countless Spiculas and Golems infected with the Laido Virus... when they first appeared, we thought the Spiculas were more weapons, and the virus - hah! that we'd only need a vaccine. We had no idea how far from the truth that was.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-02.htm
new file mode 100644
index 0000000000..a749c412b7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-02.htm
@@ -0,0 +1,6 @@
+Hesed of the Black Anvil Guild:
+They're is alive, but not. They seem to reproduce differently normal living beings. On top of that, the Laido Virus can't be completely prevented on cured despite being vaccine for it.
+That scientist Mimir was really something. Technology like this, no wonder Dr. Chaos wanted it for himself!
+Anyway, the situation is to dare to simply gawk at. We have to find out how to get this under control. And after relentless research and investigation since comming here, I've finally found a due to the secret behind the Spiculas reproduction!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-03.htm
new file mode 100644
index 0000000000..94d95a546b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-03.htm
@@ -0,0 +1,5 @@
+Hesed of the Black Anvil Guild:
+I've found that Spiculas created by the Spicula Clone generator Yin contain pieces of information on Yin within Ourselves. But research material obtained from them disappear if handled incorrectly.
+Would you be within to get some more material for me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04.htm
new file mode 100644
index 0000000000..9f582fc443
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04.htm
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+What you need to bring are Yin's Trace an Yin's Enigmatic Trace, And believe it or not, even Golems contain Yin's traces when infected with the virus, thought they don't have any information on Yin. Interesting, huh?
+Yin's Enigmatic Trace can be found in Spiculas 3,4,5 and 6, Twosword Golems, Screw Golems, Light Golems, and Broken-bodied Golems but you can only get Yin's Trace from Yin Spiculas, Spicula Elite Guard, and Spicula Elite Soldier.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04a.html
new file mode 100644
index 0000000000..b3064a1cfb
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-04a.html
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+your aim to find
+Yin's Enigmatic Trace can be found in Spiculas 3,4,5 and 6, Twosword Golems, Screw Golems, Light Golems, and Broken-bodied Golems but you can only get Yin's Trace from Yin Spiculas, Spicula Elite Guards, and Spicula Elite Soldier.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05.html
new file mode 100644
index 0000000000..6beab2b660
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05.html
@@ -0,0 +1,5 @@
+Hesed of the Black Anvil Guild:
+Thank you, young one!
+I can concentrate on my research a little more now, thanks to you. But it will still be a long while. A scientist like Mimir is an object of great envy and jealousy among us Dwarves.
+If I were to ever find out the secret to the Spiculas' reproduction... would I be able to surpass him, I wonder?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05a.html
new file mode 100644
index 0000000000..1c76b33677
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/33780-05a.html
@@ -0,0 +1,4 @@
+Hesed of the Black Anvil Guild:
+Yes yes yes, that's what I need! Let's here and I'll tell you a secret!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/Q00752_UncoverTheSecret.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/Q00752_UncoverTheSecret.java
new file mode 100644
index 0000000000..cb86f3ed0a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/Q00752_UncoverTheSecret.java
@@ -0,0 +1,198 @@
+/*
+ * 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.Q00752_UncoverTheSecret;
+
+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.model.quest.State;
+
+import quests.Q10386_MysteriousJourney.Q10386_MysteriousJourney;
+
+/**
+ * Uncover the Secret (752)
+ * @URL https://l2wiki.com/Uncover_the_Secret
+ * @author Gigi
+ */
+public final class Q00752_UncoverTheSecret extends Quest
+{
+ // Npc
+ private static final int HESET = 33780;
+ // Monster's
+ private static final int SPICULA1 = 23246;
+ private static final int SPICULA2 = 23247;
+ private static final int SPICULA3 = 23248;
+ private static final int SPICULA4 = 23249;
+ private static final int SPICULA5 = 23250;
+ private static final int SPICULA6 = 23251;
+ private static final int TWOSWORD_GOLEM = 23257;
+ private static final int SCREW_GOLEM = 23267;
+ private static final int LIGHT_GOLEM = 23255;
+ private static final int BROKEN_BODIED_GOLEM = 23259;
+
+ private static final int YIN_SPICULA = 23254;
+ private static final int SPICULA_ELITE_GUARD = 23303;
+ private static final int SPICULA_ELITE_SOLDIER = 23262;
+
+ // Items
+ private static final int TRACE = 36074;
+ private static final int ENIGMATIC = 36075;
+ private static final int SCROLL = 36082;
+ // Misc
+ private static final int MIN_LEVEL = 93;
+
+ public Q00752_UncoverTheSecret()
+ {
+ super(752);
+ addStartNpc(HESET);
+ addTalkId(HESET);
+ addKillId(SPICULA1, SPICULA2, SPICULA3, SPICULA4, SPICULA5, SPICULA6, TWOSWORD_GOLEM, SCREW_GOLEM, LIGHT_GOLEM, BROKEN_BODIED_GOLEM, YIN_SPICULA, SPICULA_ELITE_GUARD, SPICULA_ELITE_SOLDIER);
+ registerQuestItems(TRACE, ENIGMATIC);
+ addCondMinLevel(MIN_LEVEL, "lvl.htm");
+ addCondCompletedQuest(Q10386_MysteriousJourney.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33780-02.htm":
+ case "33780-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33780-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33780-05.html":
+ {
+ giveItems(player, SCROLL, 1);
+ addExpAndSp(player, 408665250, 98079);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == HESET)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33780-0.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33780-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33780-04a.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33780-05a.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ switch (npc.getId())
+ {
+ case SPICULA1:
+ case SPICULA2:
+ case SPICULA3:
+ case SPICULA4:
+ case SPICULA5:
+ case SPICULA6:
+ case TWOSWORD_GOLEM:
+ case SCREW_GOLEM:
+ case LIGHT_GOLEM:
+ case BROKEN_BODIED_GOLEM:
+ {
+ if ((getQuestItemsCount(killer, ENIGMATIC) < 20) && (getRandom(100) < 10))
+ {
+ giveItems(killer, ENIGMATIC, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case YIN_SPICULA:
+ case SPICULA_ELITE_GUARD:
+ case SPICULA_ELITE_SOLDIER:
+ {
+ if ((getQuestItemsCount(killer, TRACE) < 10) && (getRandom(100) < 5))
+ {
+ giveItems(killer, TRACE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+ if ((getQuestItemsCount(killer, TRACE) >= 10) && (getQuestItemsCount(killer, ENIGMATIC) >= 20))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/lvl.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/lvl.htm
new file mode 100644
index 0000000000..4ff1daa632
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/lvl.htm
@@ -0,0 +1,4 @@
+Heceta:
+Hmm ... For you, as long as there is no work.
+(This quest is available after reaching level 93.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/restriction.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/restriction.html
new file mode 100644
index 0000000000..849d870882
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00752_UncoverTheSecret/restriction.html
@@ -0,0 +1,3 @@
+Heceta:
+you cannot procceed with this quest until you have completed the "Mystrerious Journey" quest
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-00.htm
new file mode 100644
index 0000000000..18729b0786
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-00.htm
@@ -0,0 +1,4 @@
+Bern:
+Hmm ... For you, as long as there is no work.
+(This quest is available once a day. Updating quest takes place daily at 6:30 am.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-01.htm
new file mode 100644
index 0000000000..a51853abd0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-01.htm
@@ -0,0 +1,4 @@
+Bern:
+Wanderer Wanderer! You are just in time! I need your help .. coming contamination on all of us .. help us, we need such brave war like you!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-02.htm
new file mode 100644
index 0000000000..15d5bb97b1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-02.htm
@@ -0,0 +1,5 @@
+Bern:
+We were closing in Golem shaped monsters infect us and our children, they have a machine "Devices Creating Golem" and only 5 but we do not force ... In addition, some of them kept the keys to the cells they store materials that are collected for reproduction itself, collect at least 30 of the Keys to the Red Door. I'll help you, here is a list of monsters in which they are kept:
+Scout Nornil 1, spicules Warrior 1, Scout Nornil 2, spicules Warrior 2, spicules Ratnikov Commander (1) Commander Ratnikov spicules (2), spicules Adjutant Ratnikov ...
+Thank you, O brave warrior, we're waiting for you with good news!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-03.html
new file mode 100644
index 0000000000..840066b345
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-03.html
@@ -0,0 +1,5 @@
+Bern:
+We were closing in Golem shaped monsters infect us and our children, they have a machine "Devices Creating Golem" and only 5 but we do not force ... In addition, some of them kept the keys to the cells they store materials that are collected for reproduction itself, collect at least 30 of the Keys to the Red Door. I'll help you, here is a list of monsters in which they are kept:
+Scout Nornil 1, spicules Warrior 1, Scout Nornil 2, spicules Warrior 2, spicules Ratnikov Commander (1) Commander Ratnikov spicules (2), spicules Adjutant Ratnikov ...
+Thank you, O brave warrior, we're waiting for you with good news!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-04.html
new file mode 100644
index 0000000000..4d10e70e62
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-04.html
@@ -0,0 +1,4 @@
+Bern:
+I have heard of your exploits! You brought all that I asked for?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-05.html
new file mode 100644
index 0000000000..93f104218b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/33796-05.html
@@ -0,0 +1,4 @@
+Bern:
+Thank you, we are all indebted to you!
+However, this is very small, we only recaptured the golems for a few days, they can launch an attack at any moment .. That's your reward for your lion heart! But you know may need your help at any time!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/Q00753_ReactingToACrisis.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/Q00753_ReactingToACrisis.java
new file mode 100644
index 0000000000..c5468c4bcd
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/Q00753_ReactingToACrisis.java
@@ -0,0 +1,210 @@
+/*
+ * 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.Q00753_ReactingToACrisis;
+
+import com.l2jmobius.commons.util.CommonUtil;
+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.model.quest.State;
+import com.l2jmobius.gameserver.model.skills.Skill;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+import quests.Q10386_MysteriousJourney.Q10386_MysteriousJourney;
+
+/**
+ * Uncover the Secret (753)
+ * @URL https://l2wiki.com/Reacting_to_a_Crisis
+ * @VIDEO http://www.dailymotion.com/video/x24y4lx_quest-reacting-to-a-crisis_videogames
+ * @author Gigi
+ */
+public final class Q00753_ReactingToACrisis extends Quest
+{
+ // Npc
+ private static final int BERNA = 33796;
+ // Monster's
+ private static final int GOLEM_GENERATOR = 19296;
+ private static final int BATTLE_GOLEM = 23269;
+ private static final int[] MOBS =
+ {
+ 23270, // Patrol Fighter
+ 23271, // Patrol Archer
+ 23272, // Spicula Fighter
+ 23273, // Spicula Archer
+ 23274, // Specula Elite Captain
+ 23275, // Spicula Captain
+ 23276 // Cheif Scout
+ };
+ // Items
+ private static final int RED_GATE_KEY = 36054;
+ private static final int VERNAS_VACCINE = 36065;
+ private static final int SCROLL = 36082;
+ // Skills;
+ private static final int VACCINE = 9584;
+ private static final double DAMAGE_BY_SKILL = 0.5d; // Percent
+ // Misc
+ private static final int MIN_LEVEL = 93;
+
+ public Q00753_ReactingToACrisis()
+ {
+ super(753);
+ addStartNpc(BERNA);
+ addTalkId(BERNA);
+ addKillId(GOLEM_GENERATOR);
+ addKillId(MOBS);
+ addSkillSeeId(GOLEM_GENERATOR);
+ registerQuestItems(RED_GATE_KEY, VERNAS_VACCINE);
+ addCondMinLevel(MIN_LEVEL, "lvl.htm");
+ addCondCompletedQuest(Q10386_MysteriousJourney.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33796-02.htm":
+ {
+ qs.startQuest();
+ giveItems(player, VERNAS_VACCINE, 1);
+ htmltext = event;
+ break;
+ }
+ case "33796-05.html":
+ {
+ giveItems(player, SCROLL, 1);
+ addExpAndSp(player, 408665250, 98079);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == BERNA)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33796-00.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33796-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33796-03.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33796-04.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onSkillSee(L2Npc npc, L2PcInstance player, Skill skill, com.l2jmobius.gameserver.model.L2Object[] targets, boolean isSummon)
+ {
+ if (!npc.isDead() && (player.getTarget() == npc) && (skill.getId() == VACCINE))
+ {
+ final double dmg = npc.getMaxHp() * DAMAGE_BY_SKILL;
+ npc.reduceCurrentHp(dmg, player, null);
+ }
+ return super.onSkillSee(npc, player, skill, targets, isSummon);
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if (CommonUtil.contains(MOBS, npc.getId()))
+ {
+ if ((qs != null) && qs.isCond(1) && (giveItemRandomly(killer, RED_GATE_KEY, 1, 30, 0.2, true)))
+ {
+ qs.setMemoState(1);
+ }
+ }
+ if ((npc.getId() == 23275) || (npc.getId() == 23276) || (npc.getId() == 23274))
+ {
+ if ((getRandom(100) < 10))
+ {
+ addSpawn(GOLEM_GENERATOR, npc.getX() + 30, npc.getY() + 30, npc.getZ(), 0, false, 60000);
+ showOnScreenMsg(killer, NpcStringId.THE_GOLEM_GENERATOR_HAS_APPEARED, ExShowScreenMessage.TOP_CENTER, 6000);
+ }
+ }
+ if ((qs != null) && qs.isCond(1) && (npc.getId() == GOLEM_GENERATOR))
+ {
+ int kills = qs.getInt(Integer.toString(GOLEM_GENERATOR));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(GOLEM_GENERATOR), kills);
+ }
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpcString(NpcStringId.USE_VACCINE_ON_GOLEM_GENERATOR, kills);
+ killer.sendPacket(log);
+ for (int i = 0; i < 4; i++)
+ {
+ final L2Npc mob = addSpawn(BATTLE_GOLEM, killer, true, 70000);
+ addAttackPlayerDesire(mob, killer);
+ }
+ }
+ if ((qs != null) && (qs.getInt(Integer.toString(GOLEM_GENERATOR)) >= 5) && (qs.isMemoState(1)))
+ {
+ takeItems(killer, VERNAS_VACCINE, -1);
+ qs.setCond(2, true);
+ }
+
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/lvl.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/lvl.htm
new file mode 100644
index 0000000000..efafe0ab30
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/lvl.htm
@@ -0,0 +1,4 @@
+Bern:
+Hmm ... For you, as long as there is no work.
+(This quest is available after reaching level 93.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/restriction.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/restriction.html
new file mode 100644
index 0000000000..1817a346b0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00753_ReactingToACrisis/restriction.html
@@ -0,0 +1,3 @@
+Bern:
+you cannot procceed with this quest until you have completed the "Mystrerious Journey" quest
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-00.htm
new file mode 100644
index 0000000000..09bb3dac29
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-00.htm
@@ -0,0 +1,4 @@
+Quartermaster:
+This might be too dangerous for you. Don't worry about it.
+(Only characters level 97 or above may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-01.htm
new file mode 100644
index 0000000000..9ef4fff2f3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-01.htm
@@ -0,0 +1,5 @@
+Quartermaster:
+The Cemetary is guarded by the soldiers of late King Travis.
+What a noble protector he was! But alas, he and his men have returned as ghosts, oblivious of their once-glorious past. Please, give them eternal rest.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-02.htm
new file mode 100644
index 0000000000..f420904df4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-02.htm
@@ -0,0 +1,5 @@
+Quartermaster:
+I thought you'd say so. You were the one who helped us that time with the evil creatures, right? Thank you. Now go to the deceased king's Cemetary and take down the ghosts, and bring back Marks of Travis as evidence.
+Oh! One more thing.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-03.htm
new file mode 100644
index 0000000000..e018b5b8c9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-03.htm
@@ -0,0 +1,5 @@
+Quartermaster:
+Get me some Returner's Souls too. As with the Marks of Travis, you'll probably find them on the ghost soldiers.
+That is, if the souls haven't been devoured by darkness already. But spend enough timecollecting all the Marks of Travis, and getting those souls will come naturally. Bring them to me, and I'll reward you handsomely.
+Do I need to repeat anything?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-04.html
new file mode 100644
index 0000000000..6f3b95548c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-04.html
@@ -0,0 +1,4 @@
+Quartermaster:
+The late king Travis and his soldiers were heroes of our past. Please let them remain that way. Grant them peace.
+I will reward you the best I can if you bring me 50 Marks of Travis. And if you bring me some Returner's Souls too, I will be sure to reward you as much as you deserve.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-05.html
new file mode 100644
index 0000000000..b315fde3cd
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-05.html
@@ -0,0 +1,6 @@
+Quartermaster:
+Ah, all the Marks of Travis I had asked for! And some Returner's Souls too? Excellent. Here, take the Vitality for the number of Souls you brought.
+Do you want to call it a day? Or do you feel up to getting me some more Returner's Souls?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-06.html
new file mode 100644
index 0000000000..c0820b9e4e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-06.html
@@ -0,0 +1,3 @@
+Quartermaster:
+Here, an Escort's Supply Box for you. You must be exhausted! Get some rest..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-07.html
new file mode 100644
index 0000000000..c7a08368a0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-07.html
@@ -0,0 +1,3 @@
+Quartermaster:
+I will be waiting here!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-08.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-08.htm
new file mode 100644
index 0000000000..e338144e98
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/33407-08.htm
@@ -0,0 +1,4 @@
+Quartermaster:
+The march of the dead has stopped, thanks to you. Get some rest. I will let you know if I need more help from you.
+(This is a daily quest which resets at 6:30am every day.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/Q00758_TheFallenKingsMen.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/Q00758_TheFallenKingsMen.java
new file mode 100644
index 0000000000..41ce54bc6c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00758_TheFallenKingsMen/Q00758_TheFallenKingsMen.java
@@ -0,0 +1,216 @@
+/*
+ * 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.Q00758_TheFallenKingsMen;
+
+import com.l2jmobius.commons.util.CommonUtil;
+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.model.quest.State;
+
+/**
+ * The Fallen King's Men (758)
+ * @URL https://l2wiki.com/The_Fallen_King%27s_Men
+ * @author Gigi
+ */
+public class Q00758_TheFallenKingsMen extends Quest
+{
+ // Npc
+ private static final int INTENDANT = 33407;
+ // Items
+ private static final int TRAVIS_MARK = 36392;
+ private static final int REPATRIAT_SOUL = 36393;
+ // Rewards
+ private static final int ESCORT_BOX = 36394;
+ // Mobs
+ private static final int[] MOBS =
+ {
+ 19455, // Aden Raider
+ 23296, // Chief Quartermaster
+ 23294, // Chief Magician
+ 23292, // Royal Guard
+ 23291, // Personal Magician
+ 23290, // Royal Knight
+ 23300, // Commander of Operations
+ 23299, // Operations Chief of the 7th Division
+ 23298, // Royal Quartermaster
+ 23297, // Escort
+ 23295, // Operations Manager
+ 23293 // Royal Guard Captain
+ };
+ private static final int MIN_LEVEL = 97;
+ private static final int MARK_COUNT = 100;
+ private static final int SOUL_COUNT = 300;
+
+ public Q00758_TheFallenKingsMen()
+ {
+ super(758);
+ addStartNpc(INTENDANT);
+ addTalkId(INTENDANT);
+ registerQuestItems(TRAVIS_MARK, REPATRIAT_SOUL);
+ addKillId(MOBS);
+ addCondMinLevel(MIN_LEVEL, "33407-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "33407-02.htm":
+ case "33407-07.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33407-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33407-06.html":
+ {
+ if ((getQuestItemsCount(player, TRAVIS_MARK) >= 100) && (getQuestItemsCount(player, REPATRIAT_SOUL) < 100))
+ {
+ addExpAndSp(player, 3015185490L, 7236360);
+ giveItems(player, ESCORT_BOX, 1);
+ giveAdena(player, 1017856, false);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, TRAVIS_MARK) >= 100) && ((getQuestItemsCount(player, REPATRIAT_SOUL) >= 100) && (getQuestItemsCount(player, REPATRIAT_SOUL) <= 199)))
+ {
+ addExpAndSp(player, 6030370980L, 14472720);
+ giveItems(player, ESCORT_BOX, 2);
+ giveAdena(player, 2035712, false);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, TRAVIS_MARK) >= 100) && ((getQuestItemsCount(player, REPATRIAT_SOUL) >= 200) && (getQuestItemsCount(player, REPATRIAT_SOUL) <= 299)))
+ {
+ addExpAndSp(player, 9045556470L, 21709080);
+ giveItems(player, ESCORT_BOX, 3);
+ giveAdena(player, 3053568, false);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, TRAVIS_MARK) >= 100) && (getQuestItemsCount(player, REPATRIAT_SOUL) >= 300))
+ {
+ addExpAndSp(player, 12060741960L, 28945440);
+ giveItems(player, ESCORT_BOX, 4);
+ giveAdena(player, 4071424, false);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == INTENDANT)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33407-08.htm";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33407-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1) && (getQuestItemsCount(player, TRAVIS_MARK) < 100))
+ {
+ htmltext = "33407-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33407-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ if ((CommonUtil.contains(MOBS, npc.getId())) && (getQuestItemsCount(killer, TRAVIS_MARK) < MARK_COUNT) && (getRandom(100) < 25))
+ {
+ giveItems(killer, TRAVIS_MARK, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ if (getQuestItemsCount(killer, TRAVIS_MARK) >= MARK_COUNT)
+ {
+ qs.setCond(2, true);
+ }
+ }
+ if (qs.getCond() > 0)
+ {
+ if ((CommonUtil.contains(MOBS, npc.getId())) && (getQuestItemsCount(killer, REPATRIAT_SOUL) < SOUL_COUNT) && (getRandom(100) < 50))
+ {
+ giveItems(killer, REPATRIAT_SOUL, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ if (getQuestItemsCount(killer, REPATRIAT_SOUL) >= SOUL_COUNT)
+ {
+ qs.setCond(2, true);
+ }
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-00.htm
new file mode 100644
index 0000000000..c98a0482b5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-00.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Hellbound is too dangerous for you. Please leave.
+(Only characters Lv. 99 or above who have completed the "Elikia's Letter" quest may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-01.htm
new file mode 100644
index 0000000000..b1774ca184
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-01.htm
@@ -0,0 +1,6 @@
+Fire Dragon Bride Leona Blackbird:
+I would like to tell you about what I have investigated so far, and give you a mission. Are you interested?
+If you already know about this mission, I can let you work on it right away.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-02.html
new file mode 100644
index 0000000000..680a935ce8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-02.html
@@ -0,0 +1,6 @@
+Fire Dragon Bride Leona Blackbird:
+Finished? Wait...the Fragments of Chaos! You got it!
+This amount warrants minimal payment. Will you stop here?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-03.html
new file mode 100644
index 0000000000..911f24f98e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-03.html
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+This should be enough to deter Beleth's plans for now.
+Here is the reward I promised. Please use this to become even stronger. Never stop training!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-04.html
new file mode 100644
index 0000000000..2f0ab0e532
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-04.html
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+Good spirit! All right, listen well:
+Kill any monsters in Hellbound to collect more Fragments of Chaos. We cannot let Beleth get his way.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-05.html
new file mode 100644
index 0000000000..bd67cfbb8f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-05.html
@@ -0,0 +1,3 @@
+Fire Dragon Bride Leona Blackbird:
+Alright, this is the mission. Kill any monster in Hellbound to obtain Fragments of Chaos. Bring them to me, and I'll pay you per 100 of them. This is vital to stopping Beleth!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-06.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-06.htm
new file mode 100644
index 0000000000..1ce76fd5f1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-06.htm
@@ -0,0 +1,3 @@
+Fire Dragon Bride Leona Blackbird:
+Kill any monster in Hellbound to obtain Fragments of Chaos. Bring them to me, and I'll pay you per 100 of them. This is vital to stopping Beleth!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-07.html
new file mode 100644
index 0000000000..3086c79eaf
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-07.html
@@ -0,0 +1,3 @@
+Fire Dragon Bride Leona Blackbird:
+You can obtain Fragments of Chaos if you kill monsters here. They are proof that the monsters were once human, and also make up Core Naia - meaning Beleth is ultimately after them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-08.html
new file mode 100644
index 0000000000..2ae34a0337
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-08.html
@@ -0,0 +1,3 @@
+Fire Dragon Bride Leona Blackbird:
+Here are the rewards you've earned. If you're disappointed, know that Eva helps those who help themselves. Please come again later.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-09.html
new file mode 100644
index 0000000000..a68846949d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/31595-09.html
@@ -0,0 +1,5 @@
+Fire Dragon Bride Leona Blackbird:
+Finished? Wait...the Fragments of Chaos! You got it!
+This amount warrants is maximum payment. I am very grateful to you!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/Q00775_RetrievingTheChaosFragment.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/Q00775_RetrievingTheChaosFragment.java
new file mode 100644
index 0000000000..778ba5f388
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00775_RetrievingTheChaosFragment/Q00775_RetrievingTheChaosFragment.java
@@ -0,0 +1,229 @@
+/*
+ * 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.Q00775_RetrievingTheChaosFragment;
+
+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.model.quest.State;
+
+import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter;
+
+/**
+ * Retrieving the Fragment of Chaos (775)
+ * @URL https://l2wiki.com/Retrieving_the_Fragment_of_Chaos
+ * @author Gigi
+ */
+public class Q00775_RetrievingTheChaosFragment extends Quest
+{
+ // NPC's
+ private static final int LEONA_BLACKBIRD = 31595;
+ // Monster's
+ private static final int[] MONSTERS =
+ {
+ 23388, // Kandiloth
+ 23387, // Kanzaroth
+ 23385, // Lunatikan
+ 23384, // Smaug
+ 23386, // Jabberwok
+ 23395, // Garion
+ 23397, // Desert Wendigo
+ 23399, // Bend Beetle
+ 23398, // Koraza
+ 23395, // Garion
+ 23396, // Garion Neti
+ 23357, // Disorder Warrior
+ 23356, // Klien Soldier
+ 23361, // Mutated Fly
+ 23358, // Blow Archer
+ 23355, // Armor Beast
+ 23360, // Bizuard
+ 23354, // Dacey Hannibal
+ 23357, // Disorder Warrior
+ 23363, // Amos Officer
+ 23364, // Amos Master
+ 23362, // Amos Soldier
+ 23365, // Ailith Hunter
+ };
+ // Misc
+ private static final int MIN_LEVEL = 99;
+ // Item
+ private static final int CHAOS_FRAGMENT = 37766;
+ private static final int BLOODIED_DEMONIC_TOME = 37893;
+ private static final int LEONAS_REWARD_BOX = 46559;
+
+ public Q00775_RetrievingTheChaosFragment()
+ {
+ super(775);
+ addStartNpc(LEONA_BLACKBIRD);
+ addTalkId(LEONA_BLACKBIRD);
+ addKillId(MONSTERS);
+ registerQuestItems(CHAOS_FRAGMENT);
+ addCondMinLevel(MIN_LEVEL, "31595-00.htm");
+ addCondCompletedQuest(Q10455_ElikiasLetter.class.getSimpleName(), "31595-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = event;
+ switch (event)
+ {
+ case "31595-05.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "31595-06.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "31595-03.html":
+ {
+ if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 200) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 300))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 1);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 300) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 400))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 2);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 400) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 500))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 3);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 500) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 600))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 4);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 600) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 700))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 5);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 700) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 800))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 6);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 800) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 900))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 7);
+ }
+ else if ((getQuestItemsCount(player, CHAOS_FRAGMENT) >= 900) && (getQuestItemsCount(player, CHAOS_FRAGMENT) < 1000))
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 8);
+ }
+ else if (getQuestItemsCount(player, CHAOS_FRAGMENT) >= 1000)
+ {
+ giveItems(player, LEONAS_REWARD_BOX, 900);
+ }
+ if (getRandom(100) < 50)
+ {
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ }
+ addExpAndSp(player, 463097250, 111143);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (npc.getId() == LEONA_BLACKBIRD)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "31595-08.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "31595-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31595-07.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if (getQuestItemsCount(player, CHAOS_FRAGMENT) < 200)
+ {
+ htmltext = "31595-02.html";
+ }
+ else
+ {
+ htmltext = "31595-09.html";
+ }
+ }
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (qs.isCompleted() && !qs.isNowAvailable())
+ {
+ htmltext = "31595-08.html";
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isStarted() && (getQuestItemsCount(killer, CHAOS_FRAGMENT) < 1000))
+ {
+ if (getQuestItemsCount(killer, CHAOS_FRAGMENT) == 100)
+ {
+ qs.setCond(2, true);
+ }
+ giveItems(killer, CHAOS_FRAGMENT, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-00.htm
new file mode 100644
index 0000000000..da5bedee96
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-00.htm
@@ -0,0 +1,4 @@
+Officer Tepios:
+What do you think you're doing, wandering around here like that? Please don't make my people come running to save you.
+(Only characters Lv. 95 or above may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-01.htm
new file mode 100644
index 0000000000..6e0b2f3bed
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-01.htm
@@ -0,0 +1,4 @@
+Officer Tepios:
+Wait, stop and listen. You've come all this way to such a dangerous place. You are surely destined for great missions, no?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-02.htm
new file mode 100644
index 0000000000..1dcdd05785
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-02.htm
@@ -0,0 +1,4 @@
+Officer Tepios:
+So you're after Ekimus too. Well, the more the better! Shall we?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-03.htm
new file mode 100644
index 0000000000..4fc019a5ae
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-03.htm
@@ -0,0 +1,5 @@
+Officer Tepios:
+All right, so this is the rundown. To defeat Ekimus, you must infiltrate the Hall of Suffering first, and then reach the Heart of Infinity.
+That's where you will face Ekimus, the Lord of the Undead.
+To go to the Hall of Erosion, talk to Guide of Infinity Jaedin over there.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-04.html
new file mode 100644
index 0000000000..66cfc188f0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-04.html
@@ -0,0 +1,4 @@
+Officer Tepios:
+Got it? To defeat Ekimus, you must infiltrate the Hall of Suffering first, and then reach the Heart of Infinity.
+To go to the Hall of Erosion, talk to Guide of Infinity Jaedin over there.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-05.html
new file mode 100644
index 0000000000..1d071bde9c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-05.html
@@ -0,0 +1,4 @@
+Officer Tepios:
+Are you well? How did it go?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-06.html
new file mode 100644
index 0000000000..afb4fbafd6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/32603-06.html
@@ -0,0 +1,4 @@
+Officer Tepios:
+You truly are one of a kind. Though Ekimus will be back, I commend you nonetheless in the name of Gracia.
+I will reward you on behalf of Admiral Keucereus.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Complete.html
new file mode 100644
index 0000000000..3fde24b44b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Complete.html
@@ -0,0 +1,4 @@
+
+Officer Tepios:
+Ekimus must fall. He must!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Q00776_SlayDarkLordEkimus.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Q00776_SlayDarkLordEkimus.java
new file mode 100644
index 0000000000..f29a84fccf
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00776_SlayDarkLordEkimus/Q00776_SlayDarkLordEkimus.java
@@ -0,0 +1,147 @@
+/*
+ * 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.Q00776_SlayDarkLordEkimus;
+
+import com.l2jmobius.Config;
+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.model.quest.State;
+
+/**
+ * Slay Dark Lord Ekimus (776)
+ * @URL https://l2wiki.com/Slay_Dark_Lord_Ekimus
+ * @author Gigi
+ */
+public class Q00776_SlayDarkLordEkimus extends Quest
+{
+ // NPC's
+ private static final int TEPIOS = 32603;
+ // Boss
+ private static final int EKIMUS = 29150;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+ private static final int FREED_SOUL_CRYSTAL = 38576;
+
+ public Q00776_SlayDarkLordEkimus()
+ {
+ super(776);
+ addStartNpc(TEPIOS);
+ addTalkId(TEPIOS);
+ addKillId(EKIMUS);
+ addCondMinLevel(MIN_LEVEL, "32603-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return null;
+ }
+ switch (event)
+ {
+ case "32603-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32603-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32603-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, FREED_SOUL_CRYSTAL, 100);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == TEPIOS)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "32603-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32603-04.html";
+ }
+ else
+ {
+ htmltext = "32603-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-00.htm
new file mode 100644
index 0000000000..9001521e79
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-00.htm
@@ -0,0 +1,4 @@
+Sergeant Allenos:
+Dragonkin are not only powerful, but also cruel and merciless. Scary, right?
+(Only characters between level 93 and 97 may enter)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-01.htm
new file mode 100644
index 0000000000..d41969cebc
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-01.htm
@@ -0,0 +1,4 @@
+Sergeant Allenos:
+Are you ready? It will begin soon.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-02.htm
new file mode 100644
index 0000000000..f5c77093c0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-02.htm
@@ -0,0 +1,6 @@
+Sergeant Allenos:
+Oh wait, didn't I tell you? We're going to infiltrate the Seed of Destruction. Isn't that why you came?
+If not, you'd better get out of here quick. It's going to get ugly soon.
+Well? Which will it be? Come on, we're out of time.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-03.htm
new file mode 100644
index 0000000000..a1557c218b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-03.htm
@@ -0,0 +1,5 @@
+Sergeant Allenos:
+Ok, no need to shout!
+The infiltration will be executed as a command channel. Have your leader talk to me when you're ready, and I'll guide you in. Please make sure everyone is ready!
+Godspeed!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-04.html
new file mode 100644
index 0000000000..13f1af9d41
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-04.html
@@ -0,0 +1,4 @@
+Sergeant Allenos:
+The infiltration will be executed as a command channel. Have your leader talk to me when you're ready, and I'll guide you in. Please make sure everyone is ready!
+Godspeed!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-05.html
new file mode 100644
index 0000000000..dd5675874a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-05.html
@@ -0,0 +1,4 @@
+Sergeant Allenos:
+Have you met Special Product Broker Kirklan at the Keucereus Alliance Base yet? He said fighting creatures at the Seed of Destruction can make you rich!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-06.html
new file mode 100644
index 0000000000..cfebd7b30e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/32526-06.html
@@ -0,0 +1,3 @@
+Sergeant Allenos:
+Here you are. Take these to Special Product Broker Kirklan at the Keucereus Alliance Base, and you can get things you need. Darkness can be a win-win for everyone!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Complete.html
new file mode 100644
index 0000000000..a51bf2cc94
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Complete.html
@@ -0,0 +1,3 @@
+Sergeant Allenos:
+Sure, whatever you want. Just don't try to overdo it!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Q00777_SlayDarkLordTiat.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Q00777_SlayDarkLordTiat.java
new file mode 100644
index 0000000000..1b496c0b00
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00777_SlayDarkLordTiat/Q00777_SlayDarkLordTiat.java
@@ -0,0 +1,148 @@
+/*
+ * 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.Q00777_SlayDarkLordTiat;
+
+import com.l2jmobius.Config;
+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.model.quest.State;
+
+/**
+ * Slay Dark Lord Tiat (777)
+ * @URL https://l2wiki.com/Slay_Dark_Lord_Tiat
+ * @author Gigi
+ */
+public class Q00777_SlayDarkLordTiat extends Quest
+{
+ // NPC's
+ private static final int ALLENOS = 32526;
+ // Boss
+ private static final int TIAT = 29163;
+ // Misc
+ private static final int MIN_LEVEL = 93;
+ private static final int MAX_LEVEL = 97;
+ private static final int TIATS_CHARM = 38575;
+
+ public Q00777_SlayDarkLordTiat()
+ {
+ super(777);
+ addStartNpc(ALLENOS);
+ addTalkId(ALLENOS);
+ addKillId(TIAT);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "32526-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return null;
+ }
+ switch (event)
+ {
+ case "32526-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32526-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32526-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, TIATS_CHARM, 100);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == ALLENOS)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "32526-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32526-04.html";
+ }
+ else
+ {
+ htmltext = "32526-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-00.htm
new file mode 100644
index 0000000000..83dfa633f1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-00.htm
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+An order from Nerva Chief Turakan...
+Huh? How long have you been there?
+(This quest may only be undertaken by characters of level 97 or higher who have completed the "An Impending Threat" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-01.htm
new file mode 100644
index 0000000000..6fa3816bbc
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-01.htm
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+I have a plan to destroy the Orcs Nerba together with their reinforcement.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-02.htm
new file mode 100644
index 0000000000..5c745123cc
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-02.htm
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+I want someone like you to help me to get some information. This task difficult, but I believe that you will succeed.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-03.htm
new file mode 100644
index 0000000000..0c324d2f63
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-03.htm
@@ -0,0 +1,3 @@
+Flame Patrol Warrior Bruener:
+Well, then go to Raider's Crossroads and kill Nerva Orc Raider, Nerva Orc Archer, Nerva Orc Priest, Nerva Orc Wizard, Nerva Orc Assassin, Nerva Orc Ambusher, Nerva Orc Merchant, Nerva Orc Warrior, Nerva Orc Prefect, Captain (Nerva Bloodlust) and obtain Turakan's Secret Letter - 500 pcs. As evidence of their effort can bring Broken Weapon Fragment - 500 pcs.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-04.html
new file mode 100644
index 0000000000..ff5b55e8da
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-04.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+Are you still here?
+Go and come back when Obtain Turakan's Secret Letter - 500 pcs. and Broken Weapon Fragment - 500 pcs.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-05.html
new file mode 100644
index 0000000000..964542aaea
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-05.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+Oh, how glad to see you again!. Tell us more if you managed to carry out my plan to Orcs Nerba destroy?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-06.html
new file mode 100644
index 0000000000..44b336ba1d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/33840-06.html
@@ -0,0 +1,3 @@
+Flame Patrol Warrior Bruener:
+Thank you, here is your reward. And I still decide what to do with the fact that you brought.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Complete.html
new file mode 100644
index 0000000000..2e42d3e963
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Complete.html
@@ -0,0 +1,3 @@
+Flame Patrol Warrior Bruener:
+Something you will become familiar to me all day, come back tomorrow.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Q00778_OperationRoaringFlame.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Q00778_OperationRoaringFlame.java
new file mode 100644
index 0000000000..e33befa8af
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00778_OperationRoaringFlame/Q00778_OperationRoaringFlame.java
@@ -0,0 +1,192 @@
+/*
+ * 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.Q00778_OperationRoaringFlame;
+
+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.model.quest.State;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
+
+/**
+ * Operation Roaring Flame (778)
+ * @URL https://l2wiki.com/Operation_Roaring_Flame
+ * @author Gigi
+ */
+public class Q00778_OperationRoaringFlame extends Quest
+{
+ // NPCs
+ private static final int BRUENER = 33840;
+ // Mob
+ private static final int[] MOBS =
+ {
+ 23314, // Nerva Orc Raider
+ 23315, // Nerva Orc Archer
+ 23316, // Nerva Orc Priest
+ 23317, // Nerva Orc Wizard
+ 23318, // Nerva Orc Assassin
+ 23319, // Nerva Orc Ambusher
+ 23320, // Nerva Orc Merchant
+ 23321, // Nerva Orc Warrior
+ 23322, // Nerva Orc Prefect
+ 23324 // Captain (Nerva Bloodlust)
+ };
+ // Items'
+ private static final int TURAKANS_SECRET_LETTER = 36682;
+ private static final int BROKEN_WEAPON_FRAGMENT = 36683;
+ // rewards
+ private static final int SCROLL_OF_ESCAPE_RAIDERS_CROSSROAD = 37017;
+ private static final int ELIXIR_OF_BLESSING = 32316;
+ private static final int ELIXIR_OF_MIND = 30358;
+ private static final int ELIXIR_OF_LIFE = 30357;
+ private static final int ELMORE_NOBLE_BOX = 37022;
+ private static final int ENERGY_OF_DESTRUCTION = 35562;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q00778_OperationRoaringFlame()
+ {
+ super(778);
+ addStartNpc(BRUENER);
+ addTalkId(BRUENER);
+ addKillId(MOBS);
+ registerQuestItems(TURAKANS_SECRET_LETTER, BROKEN_WEAPON_FRAGMENT);
+ addCondMinLevel(MIN_LEVEL, "33840-00.htm");
+ addCondCompletedQuest(Q10445_AnImpendingThreat.class.getSimpleName(), "33840-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return null;
+ }
+ switch (event)
+ {
+ case "33840-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33840-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33840-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 3470807368L, 28945440);
+ giveItems(player, SCROLL_OF_ESCAPE_RAIDERS_CROSSROAD, 1);
+ giveItems(player, ELIXIR_OF_BLESSING, 5);
+ giveItems(player, ELIXIR_OF_MIND, 5);
+ giveItems(player, ELIXIR_OF_LIFE, 5);
+ giveItems(player, ELMORE_NOBLE_BOX, 1);
+ giveItems(player, ENERGY_OF_DESTRUCTION, 1);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == BRUENER)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33840-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33840-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33840-05.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))
+ {
+ if ((getQuestItemsCount(player, TURAKANS_SECRET_LETTER) < 500) && (getRandom(100) < 70))
+ {
+ giveItems(player, TURAKANS_SECRET_LETTER, getRandom(1, 2));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ if (getQuestItemsCount(player, BROKEN_WEAPON_FRAGMENT) < 500)
+ {
+ giveItems(player, BROKEN_WEAPON_FRAGMENT, getRandom(1, 2));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ if ((getQuestItemsCount(player, TURAKANS_SECRET_LETTER) >= 500) && (getQuestItemsCount(player, BROKEN_WEAPON_FRAGMENT) >= 500))
+ {
+ 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);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-00.htm
new file mode 100644
index 0000000000..4372916ba6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-00.htm
@@ -0,0 +1,4 @@
+Leona Blackbird:
+The Phantasmal Ridge is one of the most dangerous in Hellbound. If you are not strong enough, it's better for you to not go.
+(This quest is only available for characters with Lv. 99 or above who have completed the "Elikia's Letter" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-01.htm
new file mode 100644
index 0000000000..6f9d71b70e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-01.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-02.htm
new file mode 100644
index 0000000000..120d04f7ab
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-02.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-03.htm
new file mode 100644
index 0000000000..d6f95b83db
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-03.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-04.htm
new file mode 100644
index 0000000000..ba7f7e7faa
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-04.htm
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+Starrt Quest
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-05.html
new file mode 100644
index 0000000000..6003a9e514
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-05.html
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+Quest Progress
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-06.html
new file mode 100644
index 0000000000..7fb26ccf86
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-06.html
@@ -0,0 +1,5 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+Quest Condition 2
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-07.html
new file mode 100644
index 0000000000..67dfdf8344
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/31595-07.html
@@ -0,0 +1,4 @@
+Fire Dragon Bride Leona Blackbird:
+@TODO Need retail HTML text
+Quest Finish
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/Q00783_VestigeOfTheMagicPower.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/Q00783_VestigeOfTheMagicPower.java
new file mode 100644
index 0000000000..5a3c175b09
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00783_VestigeOfTheMagicPower/Q00783_VestigeOfTheMagicPower.java
@@ -0,0 +1,192 @@
+/*
+ * 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.Q00783_VestigeOfTheMagicPower;
+
+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.model.quest.State;
+
+import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter;
+
+/**
+ * Vestige of the Magic Power (783)
+ * @URL https://l2wiki.com/Vestige_of_the_Magic_Power
+ * @author Gigi
+ */
+public class Q00783_VestigeOfTheMagicPower extends Quest
+{
+ // NPC's
+ private static final int LEONA_BLACKBIRD = 31595;
+ // Monster's
+ private static final int[] MONSTERS =
+ {
+ 23384, // Smaug
+ 23385, // Lunatikan
+ 23386, // Jabberwok
+ 23387, // Kanzaroth
+ 23388, // Kandiloth
+ 23395, // Garion
+ 23396, // Garion Neti
+ 23397, // Desert Wendigo
+ 23398, // Koraza
+ 23399 // Bend Beetle
+ };
+ // Misc
+ private static final int MIN_LEVEL = 99;
+ private static final int HIGH_GRADE_FRAGMENT_OF_CHAOS = 46557;
+ private static final int LEONAS_REWARD_BOX = 46558;
+ private static final int BLOODIED_DEMONIC_TOME = 37893;
+
+ public Q00783_VestigeOfTheMagicPower()
+ {
+ super(783);
+ addStartNpc(LEONA_BLACKBIRD);
+ addTalkId(LEONA_BLACKBIRD);
+ addKillId(MONSTERS);
+ registerQuestItems(HIGH_GRADE_FRAGMENT_OF_CHAOS);
+ addCondMinLevel(MIN_LEVEL, "31595-00.htm");
+ addCondCompletedQuest(Q10455_ElikiasLetter.class.getSimpleName(), "31595-00.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "31595-02.htm":
+ case "31595-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "31595-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "31595-07.html":
+ {
+ if ((getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 250) && (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) < 500))
+ {
+ addExpAndSp(player, 3876316782L, 9303137);
+ giveItems(player, LEONAS_REWARD_BOX, 1);
+ takeItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, -1);
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 500) && (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) < 750))
+ {
+ addExpAndSp(player, 7752633564L, 18606274);
+ giveItems(player, LEONAS_REWARD_BOX, 2);
+ takeItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, -1);
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 750) && (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) < 1000))
+ {
+ addExpAndSp(player, 11628950346L, 27909411);
+ giveItems(player, LEONAS_REWARD_BOX, 3);
+ takeItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, -1);
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ else if (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 1000)
+ {
+ addExpAndSp(player, 15505267128L, 37212548);
+ giveItems(player, LEONAS_REWARD_BOX, 4);
+ takeItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, -1);
+ giveItems(player, BLOODIED_DEMONIC_TOME, 1);
+ qs.exitQuest(QuestType.REPEATABLE, 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;
+ }
+ if (npc.getId() == LEONA_BLACKBIRD)
+ {
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "31595-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31595-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "31595-06.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isStarted() && (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) < 1000))
+ {
+ giveItems(player, HIGH_GRADE_FRAGMENT_OF_CHAOS, 1);
+ if (getQuestItemsCount(player, HIGH_GRADE_FRAGMENT_OF_CHAOS) >= 250)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, player, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-01.htm
new file mode 100644
index 0000000000..0d0af370b7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-01.htm
@@ -0,0 +1,5 @@
+Namo:
+I'm here doing surveillance on the activities of dragons and the Undead in Dragon Valley. Some unusual energy was detected here recently, so I was dispatched here.
+I can even observe that Watchman over there directly as well.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-02.htm
new file mode 100644
index 0000000000..c33ebdf3a8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-02.htm
@@ -0,0 +1,5 @@
+Namo:
+Can't you see him? It's Antharas Watchman Gilmore, right next to me. He's a member of the so-called Antharas Watchmen. He is one of 12 members here to observe Antharas. He even submitted to the curse that transforms one into an Undead in order to observe the dragon.
+I'm a complete newbie compared to him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-03.htm
new file mode 100644
index 0000000000..3f6e3aa7e9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-03.htm
@@ -0,0 +1,5 @@
+Namo:
+So, what I'm saying is, in order to bring an end to the role of the Watchmen -- or to ease his pains, at least -- we need peace around here.
+Will you help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-04.htm
new file mode 100644
index 0000000000..cb03eedfd2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-04.htm
@@ -0,0 +1,3 @@
+Namo:
+Thank you! Your mission is to fell all the dragons and Undead in Dragon Valley. Bring back 50 Dragon Bone Dust as proof. There will be additional rewards if you also collect Dragon Bone Fragments.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-05.html
new file mode 100644
index 0000000000..5559e7b109
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-05.html
@@ -0,0 +1,3 @@
+Namo:
+Your mission is to fell all the dragons and Undead in Dragon Valley. Bring back 50 Dragon Bone Dust as proof. There will be additional rewards if you also collect Dragon Bone Fragments.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-06.html
new file mode 100644
index 0000000000..6399cb797a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-06.html
@@ -0,0 +1,6 @@
+Namo:
+50 Dragon Bone Dust, I see. But, you haven't collected enough Dragon Bone Fragments to get your additional reward.
+What do you want to do? Do you just want to call it a day? Or do you want to go and collect some more Dragon Bone Fragments?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-07.html
new file mode 100644
index 0000000000..1b723243bd
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-07.html
@@ -0,0 +1,5 @@
+Namo:
+Do you really want to stop now? If you accept your reward today, I won't be able to give you any additional missions.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-08.html
new file mode 100644
index 0000000000..9dc057b765
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-08.html
@@ -0,0 +1,3 @@
+Namo:
+You really will? Great. Fell all the dragons and Undead in Dragon Valley and collect Dragon Bone Fragments. You'll get a reward for meeting different quotas.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-09.html
new file mode 100644
index 0000000000..87c4faa4e3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-09.html
@@ -0,0 +1,3 @@
+Namo:
+Here you go. But, it'll be difficult to bring the Watchman's role to an end for awhile. It'd be great if you took a bit of a break and came back later.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-10.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-10.html
new file mode 100644
index 0000000000..4c5dbac37a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/33973-10.html
@@ -0,0 +1,3 @@
+
+This is a daily quest which resets at 6:30am every day.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/Q00787_TheRoleOfAWatcher.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/Q00787_TheRoleOfAWatcher.java
new file mode 100644
index 0000000000..4be31df448
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/Q00787_TheRoleOfAWatcher.java
@@ -0,0 +1,259 @@
+/*
+ * 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.Q00787_TheRoleOfAWatcher;
+
+import com.l2jmobius.gameserver.enums.QuestType;
+import com.l2jmobius.gameserver.enums.Race;
+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;
+
+/**
+ * The Role of a Watcher (00787)
+ * @URL https://l2wiki.com/The_Role_of_a_Watcher
+ * @author Gigi
+ */
+public class Q00787_TheRoleOfAWatcher extends Quest
+{
+ // NPCs
+ private static final int NAMO = 33973;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23423, // Mesmer Dragon
+ 23424, // Gargoyle Dragon
+ 23425, // Black Dragon
+ 23427, // Sand Dragon
+ 23428, // Captain Dragonblood
+ 23429, // Minion Dragonblood
+ 23436, // Cave Servant Archer
+ 23437, // Cave Servant Warrior
+ 23438, // Metallic Cave Servant
+ 23439, // Iron Cave Servant
+ 23440, // Headless Knight
+ 23430, // Prey Drake
+ 23431, // Beast Drake
+ 23432, // Dust Drake
+ 23433, // Vampiric Drake
+ 23441, // Bloody Grave Warrior
+ 23442, // Dark Grave Warrior
+ 23443, // Dark Grave Wizard
+ 23444, // Dark Grave Knight
+ 23447 // Gust Spiral
+ };
+
+ // Items
+ private static final int DRAGON_BONE_DUST = 39736; // min 50
+ private static final int DRAGON_BONE_FRAGMENT = 39737; // max 900
+ private static final int EMISSARY_REWARD_BOX = 39728; // Emissary's Reward Box (High-grade)
+ // Misc
+ private static final int MIN_LEVEL = 75;
+ private static final int MAX_LEVEL = 85;
+
+ public Q00787_TheRoleOfAWatcher()
+ {
+ super(787);
+ addStartNpc(NAMO);
+ addTalkId(NAMO);
+ addKillId(MONSTERS);
+ registerQuestItems(DRAGON_BONE_DUST, DRAGON_BONE_FRAGMENT);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondRace(Race.ERTHEIA, "noErtheya.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33973-02.htm":
+ case "33973-03.htm":
+ case "33973-07.html":
+ case "33973-08.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33973-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33973-09.html":
+ {
+ if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) < 100))
+ {
+ addExpAndSp(player, 14140350, 3393);
+ giveItems(player, EMISSARY_REWARD_BOX, 1);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 100) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 199)))
+ {
+ addExpAndSp(player, 28280700, 6786);
+ giveItems(player, EMISSARY_REWARD_BOX, 2);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 200) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 299)))
+ {
+ addExpAndSp(player, 42421050, 10179);
+ giveItems(player, EMISSARY_REWARD_BOX, 3);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 300) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 399)))
+ {
+ addExpAndSp(player, 56561400, 13572);
+ giveItems(player, EMISSARY_REWARD_BOX, 4);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 400) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 499)))
+ {
+ addExpAndSp(player, 70701750, 16965);
+ giveItems(player, EMISSARY_REWARD_BOX, 5);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 500) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 599)))
+ {
+ addExpAndSp(player, 84842100, 20358);
+ giveItems(player, EMISSARY_REWARD_BOX, 6);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 600) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 699)))
+ {
+ addExpAndSp(player, 98982450, 23751);
+ giveItems(player, EMISSARY_REWARD_BOX, 7);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 700) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 799)))
+ {
+ addExpAndSp(player, 113122800, 27144);
+ giveItems(player, EMISSARY_REWARD_BOX, 8);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ else if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && ((getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 800) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) <= 899)))
+ {
+ addExpAndSp(player, 127263150, 30537);
+ giveItems(player, EMISSARY_REWARD_BOX, 9);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ if ((getQuestItemsCount(player, DRAGON_BONE_DUST) >= 50) && (getQuestItemsCount(player, DRAGON_BONE_FRAGMENT) >= 900))
+ {
+ addExpAndSp(player, 141403500, 33930);
+ giveItems(player, EMISSARY_REWARD_BOX, 10);
+ qs.exitQuest(QuestType.DAILY, 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;
+ }
+ if (npc.getId() == NAMO)
+ {
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "33973-10.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "33973-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33973-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33973-06.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && (qs.isCond(1)))
+ {
+ if (giveItemRandomly(killer, npc, DRAGON_BONE_DUST, 1, 50, 0.15, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ if ((qs != null) && (qs.isCond(2)))
+ {
+ if (giveItemRandomly(killer, npc, DRAGON_BONE_FRAGMENT, 1, 900, 0.25, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/noErtheia.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/noErtheia.html
new file mode 100644
index 0000000000..0ef4af975d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/noErtheia.html
@@ -0,0 +1,3 @@
+Hermit:
+You are not Ertheia, this quest is not for you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/no_level.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/no_level.html
new file mode 100644
index 0000000000..1c74eebd71
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00787_TheRoleOfAWatcher/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 75 - 85)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-00.htm
new file mode 100644
index 0000000000..4ac0ca0cc7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-00.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+I don't think you'll be able to complete this mission. You seem passionate, but you don't have enough experience. Please come back when you've become stronger.
+(Only characters above Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01.htm
new file mode 100644
index 0000000000..9223fc5718
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+Are you an adventurer? I don't think we've met, but can you help us? I'll make sure to reward you for your efforts!
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01a.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01a.htm
new file mode 100644
index 0000000000..841ce4e1fe
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01a.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Ah, adventurer! There you are again. How about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01b.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01b.htm
new file mode 100644
index 0000000000..7802e514de
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01b.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+Adventurer! Good to see you. Since you've helped us so much already, how about helping us some more?
+What do you say? If you don't remember what the mission was, I can tell you again.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01c.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01c.htm
new file mode 100644
index 0000000000..22229030ca
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-01c.htm
@@ -0,0 +1,5 @@
+Master Cyphona:
+I've been waiting for you, adventurer. Well since you are here now, will you listen to me? I know I can trust you, but if you complete this mission, we'll become better allies and your pockets will get heavier. What do you say? Or do you need me to explain the mission again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-02.htm
new file mode 100644
index 0000000000..2b2ede3296
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-02.htm
@@ -0,0 +1,4 @@
+Master Cyphona:
+We're investigating the area around the Garden of Spirits. However, we are being threatened by the spirits there. That's why we must do something.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-03.htm
new file mode 100644
index 0000000000..33f812995b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-03.htm
@@ -0,0 +1,6 @@
+Master Cyphona:
+We know of a way to defeat those spirits, at least temporarily.
+I'll make sure to reward you if you do this mission. And each time you complete the mission, I'll give you an item that will prove our trust.
+You can prove the level of trust between us. The higher the level, the better the rewards. Also, I'll be able to give you top secret missions. However, these marks do disappear with time, so in order to keep our trust, you must continue doing missions from time to time.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-04.html
new file mode 100644
index 0000000000..5c8944180b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-04.html
@@ -0,0 +1,6 @@
+Master Cyphona:
+This isn't the first time we've met? You've completed a mission before? I see... Well, I don't really have a good memory.
+If you have completed a mission before, then that means you must have a Mark of Trust. What? You don't have one?
+Then you are either a liar, or you haven't been here in a long time. My trust is something you must continously try to maintain. Will you listen to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-05.htm
new file mode 100644
index 0000000000..9041babe57
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-05.htm
@@ -0,0 +1,3 @@
+Master Cyphona:
+Alright. Here's the mission. Hunt the Kerberos Leger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Labido, Fury Sylph Purka, Fury Kerberos Leger, and the Fury Kerberos Nero, and collect their Mutated Spirit's Souls as proof. You can get rewards only if you bring at least 200. Of course, you'll get more rewards if you bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-06.html
new file mode 100644
index 0000000000..63ec06f0ac
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-06.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Like I said, you need to bring back at least 200 Mutated Spirit's Souls. Of course, it would be better if you can bring more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07.html
new file mode 100644
index 0000000000..7ac46af962
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Of course I'll give you a Mark of Trust since you helped us... Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07a.html
new file mode 100644
index 0000000000..f47f9160de
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07a.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07b.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07b.html
new file mode 100644
index 0000000000..678582bc00
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07b.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07c.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07c.html
new file mode 100644
index 0000000000..5606590a2f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-07c.html
@@ -0,0 +1,5 @@
+Master Cyphona:
+You want to finish already? Well, I can still give you a reward... But it won't be something good. Are you sure?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-08.html
new file mode 100644
index 0000000000..7c4cd092c0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-08.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Good idea. The more Mutated Spirit's Souls you bring, the more safely we can investigate, and the better reward you will get.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09.html
new file mode 100644
index 0000000000..bac31c2bf7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Since it's your first time, I'll give you a reward and an item that will prove the trust between us. Here you go. We'll exchange this Mark of Trust (Low-grade) for a higher level one if you keep helping us. If you don't help us for a long time, it will disappear. Please keep that in mind.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09a.html
new file mode 100644
index 0000000000..e47b3c2b0f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09a.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09b.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09b.html
new file mode 100644
index 0000000000..28a6faa509
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09b.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09c.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09c.html
new file mode 100644
index 0000000000..9da03aaba9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-09c.html
@@ -0,0 +1,4 @@
+Master Cyphona:
+You completed the mission!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10a.html
new file mode 100644
index 0000000000..2bf94feff3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10a.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward. We'll be able to maintain our trust. As long as you don't forget about us, that is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10b.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10b.html
new file mode 100644
index 0000000000..c2f962f4f2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10b.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward, I'll remember how you've helped us all those times. Here's a higher level Mark of Trust. Thank you for all of your help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10c.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10c.html
new file mode 100644
index 0000000000..aacd7919d3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/34055-10c.html
@@ -0,0 +1,3 @@
+Master Cyphona:
+Here's your reward for helping us. Although you didn't get all the Marks, I still remember how you helped us. I have no doubt the trust between us has deepened even more.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/Q00790_ObtainingFerinsTrust.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/Q00790_ObtainingFerinsTrust.java
new file mode 100644
index 0000000000..4ca908afef
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00790_ObtainingFerinsTrust/Q00790_ObtainingFerinsTrust.java
@@ -0,0 +1,361 @@
+/*
+ * 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.Q00790_ObtainingFerinsTrust;
+
+import com.l2jmobius.Config;
+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.model.quest.State;
+
+/**
+ * Obtaining Ferin's Trust (00790)
+ * @URL https://l2wiki.com/Obtaining_Ferin%27s_Trust
+ * @author Gigi
+ */
+public class Q00790_ObtainingFerinsTrust extends Quest
+{
+ // NPCs
+ private static final int CYPHONA = 34055;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23550, // Kerberos Lager
+ 23551, // Kerberos Fort
+ 23552, // Kerberos Nero
+ 23553, // Fury Sylph Barrena
+ 23555, // Fury Sylph Temptress
+ 23556, // Fury Sylph Purka
+ 23557, // Fury Kerberos Leger
+ 23558 // Fury Kerberos Nero
+ };
+ // Misc
+ private static final int MIN_LEVEL = 100;
+ // Item's
+ private static final int MARK_OF_TRUST_LOW_GRADE = 45840;
+ private static final int MARK_OF_TRUST_MID_GRADE = 45843;
+ private static final int MARK_OF_TRUST_HIGH_GRADE = 45848;
+ private static final int MUTATAED_SPIRITS_SOUL = 45849;
+ private static final int BSOE = 1538;
+ private static final int ELEXIR_OF_LIFE_R = 30357;
+ private static final int ELEXIR_OF_MIND_R = 30358;
+ private static final int ELEXIR_OF_CP_R = 30359;
+ private static final int FERINS_REWARD_BOX = 46165;
+ private static final int SUPERIOR_GIANTS_CODEX = 46150;
+
+ public Q00790_ObtainingFerinsTrust()
+ {
+ super(790);
+ addStartNpc(CYPHONA);
+ addTalkId(CYPHONA);
+ addKillId(MONSTERS);
+ registerQuestItems(MUTATAED_SPIRITS_SOUL);
+ addCondMinLevel(MIN_LEVEL, "34055-00.htm");
+ }
+
+ @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 "34055-01.htm":
+ case "34055-02.htm":
+ case "34055-03.htm":
+ case "34055-04.html":
+ case "34055-08.html":
+ case "34055-09a.html":
+ case "34055-09b.html":
+ case "34055-09c.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34055-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34055-09.html":
+ {
+ giveItems(player, MARK_OF_TRUST_LOW_GRADE, 1);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-10a.html":
+ {
+ if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 200) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 400))
+ {
+ giveAdena(player, 119773, true);
+ addExpAndSp(player, 5932440000L, 14237820);
+ if (getRandom(100) < 20)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 400) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 600))
+ {
+ giveAdena(player, 239546, true);
+ addExpAndSp(player, 11864880000L, 28475640);
+ if (getRandom(100) < 40)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 600) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 800))
+ {
+ giveAdena(player, 359319, true);
+ addExpAndSp(player, 17797320000L, 42713460);
+ if (getRandom(100) < 60)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 800) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 1000))
+ {
+ giveAdena(player, 479091, true);
+ addExpAndSp(player, 23729760000L, 56951280);
+ if (getRandom(100) < 80)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 1000)
+ {
+ giveAdena(player, 598864, true);
+ addExpAndSp(player, 29662200000L, 71189100);
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ giveItems(player, MARK_OF_TRUST_MID_GRADE, 1);
+ giveItems(player, BSOE, 1);
+ giveItems(player, ELEXIR_OF_LIFE_R, 5);
+ giveItems(player, ELEXIR_OF_MIND_R, 5);
+ giveItems(player, ELEXIR_OF_CP_R, 5);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-10b.html":
+ {
+ if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 200) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 400))
+ {
+ giveAdena(player, 119773, true);
+ addExpAndSp(player, 5932440000L, 14237820);
+ if (getRandom(100) < 20)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 400) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 600))
+ {
+ giveAdena(player, 239546, true);
+ addExpAndSp(player, 11864880000L, 28475640);
+ if (getRandom(100) < 40)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 600) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 800))
+ {
+ giveAdena(player, 359319, true);
+ addExpAndSp(player, 17797320000L, 42713460);
+ if (getRandom(100) < 60)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 800) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 1000))
+ {
+ giveAdena(player, 479091, true);
+ addExpAndSp(player, 23729760000L, 56951280);
+ if (getRandom(100) < 80)
+ {
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ }
+ else if (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 1000)
+ {
+ giveAdena(player, 598864, true);
+ addExpAndSp(player, 29662200000L, 71189100);
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ }
+ giveItems(player, MARK_OF_TRUST_HIGH_GRADE, 1);
+ giveItems(player, BSOE, 1);
+ giveItems(player, ELEXIR_OF_LIFE_R, 5);
+ giveItems(player, ELEXIR_OF_MIND_R, 5);
+ giveItems(player, ELEXIR_OF_CP_R, 5);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ case "34055-10c.html":
+ {
+ if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 200) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 400))
+ {
+ addExpAndSp(player, 5932440000L, 14237820);
+ giveItems(player, FERINS_REWARD_BOX, 1);
+ if (getRandom(100) < 1)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 400) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 600))
+ {
+ addExpAndSp(player, 11864880000L, 28475640);
+ giveItems(player, FERINS_REWARD_BOX, getRandom(1, 2));
+ if (getRandom(100) < 9)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 600) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 800))
+ {
+ addExpAndSp(player, 17797320000L, 42713460);
+ giveItems(player, FERINS_REWARD_BOX, 2);
+ if (getRandom(100) < 20)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ else if ((getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 800) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 1000))
+ {
+ addExpAndSp(player, 23729760000L, 56951280);
+ giveItems(player, FERINS_REWARD_BOX, getRandom(2, 3));
+ if (getRandom(100) < 25)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ else if (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) >= 1000)
+ {
+ addExpAndSp(player, 29662200000L, 71189100);
+ giveItems(player, FERINS_REWARD_BOX, 3);
+ if (getRandom(100) < 33)
+ {
+ giveItems(player, SUPERIOR_GIANTS_CODEX, 1);
+ }
+ }
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (!hasQuestItems(player, MARK_OF_TRUST_LOW_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-01.htm";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_LOW_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-01a.htm";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-01b.htm";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE) && hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-01c.htm";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34055-06.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if (!hasQuestItems(player, MARK_OF_TRUST_LOW_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-07.html";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_LOW_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-07a.html";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && !hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-07b.html";
+ break;
+ }
+ else if (hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE) && hasQuestItems(player, MARK_OF_TRUST_MID_GRADE) && hasQuestItems(player, MARK_OF_TRUST_HIGH_GRADE))
+ {
+ htmltext = "34055-07c.html";
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true) && (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) < 1000))
+ {
+ giveItems(player, MUTATAED_SPIRITS_SOUL, 1);
+ if (getQuestItemsCount(player, MUTATAED_SPIRITS_SOUL) == 200)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-00.htm
new file mode 100644
index 0000000000..921cef3277
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-00.htm
@@ -0,0 +1,4 @@
+Shadai's Disciple Kaysia:
+I'm grateful you want to help, but you will need to get a little stronger to help me.
+(This quest is for characters Lv. 101 and higher who have completed the "Deep Inside Atelia Fortress" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-01.htm
new file mode 100644
index 0000000000..c44df1e450
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-01.htm
@@ -0,0 +1,5 @@
+Shadai's Disciple Kaysia:
+Oh! Are you here to help me?
+I think rumor has spread that I'm in need of help. You heard about that too, right?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-02.htm
new file mode 100644
index 0000000000..1d09d0d46e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-02.htm
@@ -0,0 +1,6 @@
+Shadai's Disciple Kaysia:
+Remember Kelbim?
+I did some research on the Kelbim's Armor Piece you brought back, but it wasn't enough.
+I will need some other materials... Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-03.htm
new file mode 100644
index 0000000000..7cc569e1be
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-03.htm
@@ -0,0 +1,6 @@
+Shadai's Disciple Kaysia:
+Will you really help me? Thank you!
+I need Black Atelia Powder now. We have no idea how the Atelia was changed, and Kelbim's Armor Piece isn't enough to find that out.
+We will need something else, but defeating Kelbim alone won't be enough.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-04.htm
new file mode 100644
index 0000000000..ced520615f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-04.htm
@@ -0,0 +1,5 @@
+Shadai's Disciple Kaysia:
+I'm glad you understand.
+I heard that Kelbim calls on his pawns. I'm sure that dealing with them will also help us understand how the Atelia transforms.
+I heard that Guardian Sinistra, Guardian Destra, and Kelbim's Clone are summoned. Please get the Black Atelia Powder from them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-05.html
new file mode 100644
index 0000000000..c0c8bc8225
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-05.html
@@ -0,0 +1,3 @@
+Shadai's Disciple Kaysia:
+Are you still working on it? When you go defeat Kelbim, make sure to defeat his pawns Guardian Sinistra, Guardian Destra, and Kelbim's Clone, and get the Black Atelia Powder from them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-06.html
new file mode 100644
index 0000000000..04ccec0693
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-06.html
@@ -0,0 +1,5 @@
+Shadai's Disciple Kaysia:
+Oh! Is that Black Atelia Powder?
+It seems so familiar, but it's still different. Can I have it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-07.html
new file mode 100644
index 0000000000..294427197e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/34051-07.html
@@ -0,0 +1,5 @@
+Shadai's Disciple Kaysia:
+Thank you!
+Please try to get me another one if you ever go back to the Atelia Castle!
+I will make sure to reward you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/Q00817_BlackAteliaResearch.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/Q00817_BlackAteliaResearch.java
new file mode 100644
index 0000000000..461f219c75
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00817_BlackAteliaResearch/Q00817_BlackAteliaResearch.java
@@ -0,0 +1,135 @@
+/*
+ * 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.Q00817_BlackAteliaResearch;
+
+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.model.quest.State;
+
+import quests.Q10841_DeepInsideAteliaFortress.Q10841_DeepInsideAteliaFortress;
+
+/**
+ * Black Atelia Research (817)
+ * @URL https://l2wiki.com/Black_Atelia_Research
+ * @author Gigi
+ */
+public final class Q00817_BlackAteliaResearch extends Quest
+{
+ // NPC
+ private static final int KAYSYA = 34051;
+ private static final int[] BOSS =
+ {
+ 23603, // Guardian Sinistra
+ 23604, // Guardian Destra
+ 26128, // Kelbim's Clone
+ };
+ // Items
+ private static final int BLACK_ATELIA_POWDER = 46145;
+ private static final int HARDENER_POUCH_R = 32779;
+ // Misc
+ private static final int MIN_LEVEL = 101;
+
+ public Q00817_BlackAteliaResearch()
+ {
+ super(817);
+ addStartNpc(KAYSYA);
+ addTalkId(KAYSYA);
+ addKillId(BOSS);
+ registerQuestItems(BLACK_ATELIA_POWDER);
+ addCondMinLevel(MIN_LEVEL, "34051-00.htm");
+ addCondCompletedQuest(Q10841_DeepInsideAteliaFortress.class.getSimpleName(), "34051-00.htm");
+ }
+
+ @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 "34051-02.htm":
+ case "34051-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "34051-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34051-07.html":
+ {
+ giveItems(player, HARDENER_POUCH_R, 1);
+ addExpAndSp(player, 3631150845L, 8714700);
+ qs.exitQuest(QuestType.REPEATABLE, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "34051-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34051-05.html";
+ }
+ else if (qs.isCond(2) && hasQuestItems(player, BLACK_ATELIA_POWDER))
+ {
+ htmltext = "34051-06.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, 1, 5, npc);
+ if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, BLACK_ATELIA_POWDER, 1, 1, 0.6, true))
+ {
+ qs.setCond(2, true);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-00.htm
new file mode 100644
index 0000000000..33d00a8447
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-00.htm
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+The Enchanted Valley has changed, so it's very dangerous.
+I don't think you are supposed to be here yet. Come back when you get stronger.
+(Only characters above Lv. 100.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-01.htm
new file mode 100644
index 0000000000..67453f1ce0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-01.htm
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+All the fairies in the Enchanted Valley disappeared. No one's left.
+Oh, me? Well, I meant everyone but me disappeared. It's not like I was shunned by my race or anything. Isn't it strange? But that's not all.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-02.htm
new file mode 100644
index 0000000000..5a6445e72f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-02.htm
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+I've been going around looking for other fairies, but I ran into some fairies that I had never seen before!
+It's not like I know everyone within our race, but I have seriously never seen them before.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-03.htm
new file mode 100644
index 0000000000..7d67bbf7bb
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-03.htm
@@ -0,0 +1,4 @@
+Fairy Mimyu:
+I think I ran into the Nymphs... I don't think they've ever come into the continent, but that certainly doesn't mean that they don't exist. The Nymphs are over there, but I ran into some trouble...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-04.htm
new file mode 100644
index 0000000000..00e8d732fd
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-04.htm
@@ -0,0 +1,6 @@
+Fairy Mimyu:
+We can't communicate at all. They certainly look like fairies, but they even tried to attack me.
+Do you have any idea of how scared I was? I escaped as fast as I could.
+At least it looks like they can't come into the center here because of Timiniel's influence... So, are you going to help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-05.htm
new file mode 100644
index 0000000000..5ed60c87d3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-05.htm
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+If the Nymphs are really fairies, I might be able to find out what happened in the Enchanted Valley with just a few clues. Please collect something that I could use as clues from the Nymphs.
+Please defeat the Nymph Rose, Nymph Lily, Nymph Tulip, Nymph Cosmos, and the Nymph Guardians and bring the Nymph Stamens. I'll need at least 300 to find out anything from them. The more you bring, the better.
+I won't forget to reward you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-06.html
new file mode 100644
index 0000000000..9c5c7da127
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-06.html
@@ -0,0 +1,4 @@
+Fairy Mimyu:
+What? This isn't enough.
+Please defeat the Nymph Rose, Nymph Lily, Nimph Tulip, Nymph Cosmos, and the Nymph Guardians and bring at least 300 Nymph Stamens.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-07.html
new file mode 100644
index 0000000000..abc0b0d1c2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-07.html
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+Did you collect everything? This should be enough to find out some information. I believe the Nymphs are flower fairies. So they must leave something in the stamen. If I can investigate the stamen, I should be able to find out some information. Of course, the more you bring back, the more research I can do. What do you say?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-08.html
new file mode 100644
index 0000000000..f7a8bf1809
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-08.html
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+Wow! You collected all these? Great!
+I'll make sure to reward you for your efforts.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-09.html
new file mode 100644
index 0000000000..bac0ba70cb
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-09.html
@@ -0,0 +1,5 @@
+Fairy Mimyu:
+You'll get more? Thank you!
+I was thinking this wasn't enough, but I didn't want to bother you.
+Well, I'll reward you as much as you help me!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-10.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-10.html
new file mode 100644
index 0000000000..8e1618ae7c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-10.html
@@ -0,0 +1,4 @@
+Fairy Mimyu:
+Thank you. This isn't that much, but I should be able to find out at least some information.
+Well, here's your reward. Also, if you have time, come back tomorrow to get more clues! I get clues and you get more rewards. Sounds great, right?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-11.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-11.html
new file mode 100644
index 0000000000..9071719def
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/30747-11.html
@@ -0,0 +1,4 @@
+Fairy Mimyu:
+If you have time, come back tomorrow to get more clues! I get clues and you get more rewards. Sounds great, right?
+(You can only undertake this quest once a day. It resets every day at 6:30 AM.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/Q00823_DisappearedRaceNewFairy.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/Q00823_DisappearedRaceNewFairy.java
new file mode 100644
index 0000000000..636431d333
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q00823_DisappearedRaceNewFairy/Q00823_DisappearedRaceNewFairy.java
@@ -0,0 +1,191 @@
+/*
+ * 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.Q00823_DisappearedRaceNewFairy;
+
+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.model.quest.State;
+
+/**
+ * Disappeared Race, New Fairy (00823)
+ * @URL https://l2wiki.com/Disappeared_Race,_New_Fairy
+ * @author Gigi
+ */
+public class Q00823_DisappearedRaceNewFairy extends Quest
+{
+ // NPCs
+ private static final int MIMYU = 30747;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 23566, // Nymph Rose
+ 23567, // Nymph Rose
+ 23568, // Nymph Lily
+ 23569, // Nymph Lily
+ 23570, // Nymph Tulip
+ 23571, // Nymph Tulip
+ 23572, // Nymph Cosmos
+ 23573, // Nymph Cosmos
+ 23578 // Nymph Guardian
+ };
+ // Item's
+ private static final int NYMPH_STAMEN = 46258;
+ private static final int MIMIUS_REWARD_BOX = 46259;
+ // Misc
+ private static final int MIN_LEVEL = 100;
+
+ public Q00823_DisappearedRaceNewFairy()
+ {
+ super(823);
+ addStartNpc(MIMYU);
+ addTalkId(MIMYU);
+ addKillId(MONSTERS);
+ registerQuestItems(NYMPH_STAMEN);
+ addCondMinLevel(MIN_LEVEL, "30747-00.htm");
+ }
+
+ @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 "30747-02.htm":
+ case "30747-03.htm":
+ case "30747-04.htm":
+ case "30747-09.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30747-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30747-10.html":
+ {
+ if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 300) && (getQuestItemsCount(player, NYMPH_STAMEN) < 600))
+ {
+ addExpAndSp(player, 3045319200L, 7308474);
+ giveItems(player, MIMIUS_REWARD_BOX, 1);
+ }
+ else if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 600) && (getQuestItemsCount(player, NYMPH_STAMEN) < 900))
+ {
+ addExpAndSp(player, 6090638400L, 14617495);
+ giveItems(player, MIMIUS_REWARD_BOX, 2);
+ }
+ else if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 900) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1200))
+ {
+ addExpAndSp(player, 9135957600L, 21926243);
+ giveItems(player, MIMIUS_REWARD_BOX, 3);
+ }
+ else if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 1200) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1500))
+ {
+ addExpAndSp(player, 12181276800L, 29233986);
+ giveItems(player, MIMIUS_REWARD_BOX, 4);
+ }
+ else if ((getQuestItemsCount(player, NYMPH_STAMEN) >= 1500) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1800))
+ {
+ addExpAndSp(player, 15226596000L, 36542370);
+ giveItems(player, MIMIUS_REWARD_BOX, 5);
+ }
+ else if (getQuestItemsCount(player, NYMPH_STAMEN) >= 1800)
+ {
+ addExpAndSp(player, 18271915200L, 43852486);
+ giveItems(player, MIMIUS_REWARD_BOX, 6);
+ }
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ if (!qs.isNowAvailable())
+ {
+ htmltext = "30747-11.html";
+ break;
+ }
+ qs.setState(State.CREATED);
+ }
+ case State.CREATED:
+ {
+ htmltext = "30747-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30747-06.html";
+ }
+ else if (qs.isCond(2) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1800))
+ {
+ htmltext = "30747-07.html";
+ }
+ else
+ {
+ htmltext = "30747-08.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && (qs.getCond() > 0) && (getQuestItemsCount(player, NYMPH_STAMEN) < 1800))
+ {
+ giveItems(player, NYMPH_STAMEN, 1);
+ if (getQuestItemsCount(player, NYMPH_STAMEN) == 300)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, player, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00.html
new file mode 100644
index 0000000000..71b2e730ea
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00.html
@@ -0,0 +1,4 @@
+Jonah:
+The dancing witches and I, we have purified the Trace of Decaying Darkness that you brought to us.
+(This quest is already complete.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00a.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00a.htm
new file mode 100644
index 0000000000..dc578e136c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-00a.htm
@@ -0,0 +1,4 @@
+Jonah:
+When we dance, we witches can feel the presence of the dark energy. It's a constant reminder and worry.
+(You must be level 90 or above and possess the Trace of Decaying Darkness to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-01.htm
new file mode 100644
index 0000000000..5cb41e6861
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-01.htm
@@ -0,0 +1,5 @@
+Jonah:
+Pew! You reek of the miasma from the ancient city!
+Why do you smell like decaying darkness? Tell me!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-02.htm
new file mode 100644
index 0000000000..8e98e3749c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-02.htm
@@ -0,0 +1,8 @@
+Jonah:
+The Trace of Decaying Darkness!
+Why do you have that foul thing, nya? Give it to us, nya!
+We Dancing Witches will purify the Trace of Decaying Darkness, nya.
+If the Mysterious Priest ever gets hold of it, not only Magmeld but the entire continent will be drowned in darkness!
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-03.html
new file mode 100644
index 0000000000..ce7e46869e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-03.html
@@ -0,0 +1,4 @@
+Jonah:
+Thank you. We will start preparations to dance and purify the Trace of Decaying Darkness.
+Take this, as a token of our gratitude.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-04.html
new file mode 100644
index 0000000000..154f606e37
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/32909-04.html
@@ -0,0 +1,4 @@
+Jonah:
+Where are you trying to take the Trace of Decaying Darkness?!
+You don't intend to go to the Mysterious Celebant, do you?! He will cover the entire continent with that darkness! We'll be ruined!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00.html
new file mode 100644
index 0000000000..2cfd2c52be
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00.html
@@ -0,0 +1,4 @@
+Mysterious Priest:
+The Goddess of Destruction will always be with you!
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00a.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00a.htm
new file mode 100644
index 0000000000..6f73abfe83
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-00a.htm
@@ -0,0 +1,4 @@
+Mysterious Priest:
+Don't be a fool, child. There are things in this world that even you are too weak for.
+(This quest can only be started by characters level 90 or above who have the Trace of Decaying Darkness.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-01.htm
new file mode 100644
index 0000000000..e2224690a3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-01.htm
@@ -0,0 +1,5 @@
+Mysterious Priest:
+I feel a great surge of darkness within you, the same surge which I feel from the Trace of Decaying Darkness.
+Perhaps you can tell me why that is...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-02.htm
new file mode 100644
index 0000000000..76a116e13f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-02.htm
@@ -0,0 +1,7 @@
+Mysterious Priest:
+Give me it! Give me it now!
+I will let you bask in the glory,
+and experience the Baptism of Darkness for the great Goddess of Destruction.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-03.html
new file mode 100644
index 0000000000..c3a3fbef7f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-03.html
@@ -0,0 +1,3 @@
+Mysterious Priest:
+You are wise! The Goddess of Destruction will always be with you!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-04.html
new file mode 100644
index 0000000000..83af10abb4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/33361-04.html
@@ -0,0 +1,4 @@
+Mysterious Priest:
+You fool! You will die, fool! You die a lonely and painful death!
+You cannot hope to stop the oncoming tides of darkness - you can only aid them, and pray that they embrace your mortal soul!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/Q10303_CrossroadsBetweenLightAndDarkness.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/Q10303_CrossroadsBetweenLightAndDarkness.java
new file mode 100644
index 0000000000..7a00fb7b98
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/Q10303_CrossroadsBetweenLightAndDarkness.java
@@ -0,0 +1,263 @@
+/*
+ * 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.Q10303_CrossroadsBetweenLightAndDarkness;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+
+/**
+ * Crossroads between Light and Darkness (10303)
+ * @URL https://l2wiki.com/Crossroads_between_Light_and_Darkness
+ * @author Gigi
+ */
+public class Q10303_CrossroadsBetweenLightAndDarkness extends Quest
+{
+ // Npc
+ private static final int JONAH = 32909;
+ private static final int MYSTERIUS_PRIEST = 33361;
+ // Mobs
+ private static final int[] MOBS =
+ {
+ 22863, // Fairy Warrior
+ 22871, // Fairy Rogue
+ 22879, // Fairy Knight
+ 22887, // Satyr Wizard
+ 22895 // Satyr Summoner
+ };
+ // Item
+ private static final int TRACE_OF_DECAYNG_DARKNESS = 17747;
+ private static final int TRACE_OF_DECAYNG_DARKNESS_Q = 17820;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+ // Reward
+ private static final int[] JOHAN_REWARD =
+ {
+ 13505, // Clownfish Hat
+ 16108, // Refined Turtle Hat
+ 16102, // Refined Shark Hat
+ 16105 // Refined Penguin Hat
+ };
+ private static final int[] PRIEST_REWARD =
+ {
+ 16101, // Refined Brown Skeleton Circlet
+ 16100, // Refined Green Skeleton Circlet
+ 16099, // Refined Orange Skeleton Circlet
+ 16098 // Refined Black Skeleton Circlet
+ };
+
+ public Q10303_CrossroadsBetweenLightAndDarkness()
+ {
+ super(10303);
+ addItemTalkId(TRACE_OF_DECAYNG_DARKNESS);
+ addKillId(MOBS);
+ addTalkId(JONAH, MYSTERIUS_PRIEST);
+ registerQuestItems(TRACE_OF_DECAYNG_DARKNESS_Q);
+ }
+
+ @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 "32909-02.htm":
+ case "33361-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32909-04.html":
+ {
+ showOnScreenMsg(player, NpcStringId.S1_YOU_WILL_REGRET_NOT_GIVING_ME_THE_TRACE_OF_DECAYING_DARKNESS, ExShowScreenMessage.TOP_CENTER, 6000, false, player.getName());
+ npc.setScriptValue(1);
+ startQuestTimer("JONAH", 60000, npc, player, false);
+ htmltext = event;
+ break;
+ }
+ case "33361-04.html":
+ {
+ showOnScreenMsg(player, NpcStringId.S1_YOU_FOOL_YOU_WILL_REGRET_NOT_GIVING_ME_THE_TRACE_OF_DECAYING_DARKNESS, ExShowScreenMessage.TOP_CENTER, 6000, false, player.getName());
+ npc.setScriptValue(1);
+ startQuestTimer("PRIEST", 60000, npc, player, false);
+ htmltext = event;
+ break;
+ }
+ case "JONAH":
+ {
+ if (npc.getId() == JONAH)
+ {
+ npc.setScriptValue(0);
+ break;
+ }
+ }
+ case "PRIEST":
+ {
+ if (npc.getId() == MYSTERIUS_PRIEST)
+ {
+ npc.setScriptValue(0);
+ break;
+ }
+ }
+ case "32909-03.html":
+ {
+ if (qs.isCond(1))
+ {
+ giveAdena(player, 465855, true);
+ giveItems(player, JOHAN_REWARD[getRandom(JOHAN_REWARD.length)], 1);
+ addExpAndSp(player, 6730155, 2847330);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ case "33361-03.html":
+ {
+ if (qs.isCond(1))
+ {
+ giveAdena(player, 465855, true);
+ giveItems(player, PRIEST_REWARD[getRandom(PRIEST_REWARD.length)], 1);
+ addExpAndSp(player, 6730155, 2847330);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onItemTalk(L2ItemInstance item, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ if (qs.isCompleted())
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ boolean startQuest = false;
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ startQuest = true;
+ break;
+ }
+ }
+
+ if (startQuest)
+ {
+ if (player.getLevel() >= MIN_LEVEL)
+ {
+ qs.startQuest();
+ takeItems(player, TRACE_OF_DECAYNG_DARKNESS, 1);
+ giveItems(player, TRACE_OF_DECAYNG_DARKNESS_Q, 1);
+ // htmltext = "start.html";
+ htmltext = "";
+ }
+ else
+ {
+ htmltext = "noLevel.htm";
+ }
+ }
+ 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.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case JONAH:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (getQuestItemsCount(player, TRACE_OF_DECAYNG_DARKNESS_Q) < 1))
+ {
+ htmltext = "32909-00a.htm";
+ break;
+ }
+ else if (qs.isCond(1) && (npc.getScriptValue() == 0))
+ {
+ htmltext = "32909-01.htm";
+ }
+ break;
+ }
+ case MYSTERIUS_PRIEST:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (getQuestItemsCount(player, TRACE_OF_DECAYNG_DARKNESS_Q) < 1))
+ {
+ htmltext = "33361-00a.htm";
+ break;
+ }
+ else if (qs.isCond(1) && (npc.getScriptValue() == 0))
+ {
+ htmltext = "33361-01.htm";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ switch (npc.getId())
+ {
+ case JONAH:
+ {
+ htmltext = "32909-00.html";
+ break;
+ }
+ case MYSTERIUS_PRIEST:
+ {
+ htmltext = "33361-00.html";
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ if (getRandom(100) < 0.03)
+ {
+ giveItems(killer, TRACE_OF_DECAYNG_DARKNESS, 1);
+ showOnScreenMsg(killer, NpcStringId.S1_CANNOT_GIVE_THEM_DECAYING_DARKNESS, ExShowScreenMessage.BOTTOM_RIGHT, 6000, false, killer.getName());
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/noLevel.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/noLevel.htm
new file mode 100644
index 0000000000..018c22d294
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/noLevel.htm
@@ -0,0 +1,4 @@
+Trace of Decaying Darkness :
+You are not fit for this job.
+(This quest is available after the 90th level.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/start.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/start.html
new file mode 100644
index 0000000000..55ac3de4dc
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10303_CrossroadsBetweenLightAndDarkness/start.html
@@ -0,0 +1,4 @@
+Trace of Decaying Darkness :
+Traces of corrupting Darkness collect Jonah and Trace of Decaying Darkness Ceremony Executor Jonah, which appeared after concussion of the central axis of the Ancient City of Arkan.
+Go to Jonah or mysterious priest. Talk to them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00.htm
new file mode 100644
index 0000000000..73063c4884
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00.htm
@@ -0,0 +1,4 @@
+Josephina's Companion Izael:
+I don't have time to chat leisurely with you.
+(You must be level 90 or above, have completed the "Shadow of Uneasiness: Rife with Rumors"; quest, and are currently undertaking the "For the Forgotten Heroes" quest to start this quest..)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00a.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00a.htm
new file mode 100644
index 0000000000..742155d9e4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-00a.htm
@@ -0,0 +1,4 @@
+Josephina's Companion Izael:
+I don't have time to chat leisurely with you.
+(Only characters who have completed the quest "Shadow of Uneasiness: Rife with Rumors" and are currently undertaking the quest "For the Forgotten Heroes" may proceed.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-01.htm
new file mode 100644
index 0000000000..94d38e6059
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-01.htm
@@ -0,0 +1,5 @@
+Josephina's Companion Izael:
+I remember you. You asked me some time ago about Josephina.
+Do you doubt the fact that Josephina was a great magician who used all of her strength for the sake of the heroes who were rejected by the gods?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-02.htm
new file mode 100644
index 0000000000..d2bdbb88b8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-02.htm
@@ -0,0 +1,7 @@
+Josephina's Companion Izael:
+Fortuna!
+How do you have this map?! It is very faint, but there is a trace of Josephina's name:
+The heroes who stood with Josephina fell into a deep slumber in Fortuna...
+But now, even that has been disrupted!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-03.htm
new file mode 100644
index 0000000000..05668a2dae
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-03.htm
@@ -0,0 +1,5 @@
+body>Josephina's Companion Izael:
+Fortuna is currently occupied by Ron and his followers. Ron became possessed by the decaying darkness in the Orbis Temple. He was expelled for the crime of raising his sword to Octavis. Then, he dared to enter and hide in Fortuna! Didn't the heroes who followed Josephina suffer enough by being forgotten? Now, even the resting place of their souls has been stolen!
+You seek the traces of Josephina! Won't you help me regain the eternal rest of the heroes?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-04.htm
new file mode 100644
index 0000000000..2b0d26f616
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-04.htm
@@ -0,0 +1,6 @@
+Josephina's Companion Izael:
+I was waiting.
+In order to defeat Ron, you must first defeat Sobbing Yui, Enraged Master Kinen, Magical Warrior Konyar, Sir Lesyinda of the Black Shadow, Mukshu the Coward, Blind Hornafi, and Yoentumak the Waiter...
+Now, are you ready to go to Fortuna?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-05.html
new file mode 100644
index 0000000000..57fe381779
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-05.html
@@ -0,0 +1,6 @@
+Josephina's Companion Izael:
+I believed that the finder of the Fortuna Map would surely help.
+But Ron is not the only enemy in Fortuna. There is also Sobbing Yui, Enraged Master Kinen, Magical Warrior Konyar, Sir Lesyinda of the Black Shadow, Mukshu the Coward, Blind Hornafi, and Yoentumak the Waiter...
+Fortuna is very dangerous at the moment. So you must 6 comrades who will stand beside you.
+(Only parties consisting of 7 members may enter.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-06.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-06.htm
new file mode 100644
index 0000000000..d86540c679
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-06.htm
@@ -0,0 +1,5 @@
+Josephina's Companion Izael:
+I was waiting.
+Now, are you ready to go to Fortuna?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-07.html
new file mode 100644
index 0000000000..6c37d51ab2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-07.html
@@ -0,0 +1,5 @@
+Josephina's Companion Izael:
+I was waiting.
+By any chance... Have you met Cellphine in Fortuna? I have heard that Cellphine exists as a soul inside Fortuna.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-08.html
new file mode 100644
index 0000000000..7bb52af142
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-08.html
@@ -0,0 +1,6 @@
+Josephina's Companion Izael:
+I see... Thank you to you and your comrades for helping the forgotten heroes find their rest.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-09.html
new file mode 100644
index 0000000000..7efa2df0a3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/32894-09.html
@@ -0,0 +1,4 @@
+Josephina's Companion Izael:
+The power of decaying darkness does not disappear easily. Ron will appear again after some time.
+I will always be here waiting for you and your comrades.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Complete.html
new file mode 100644
index 0000000000..f79ea8229c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Complete.html
@@ -0,0 +1,4 @@
+Josephina's Companion Izael:
+Cellphine was an old friend of Josephina. It would a nice to see her again, but...
+(This quest is already complete.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Q10304_ForForgottenHeroes.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Q10304_ForForgottenHeroes.java
new file mode 100644
index 0000000000..242586e2e2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10304_ForForgottenHeroes/Q10304_ForForgottenHeroes.java
@@ -0,0 +1,323 @@
+/*
+ * 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.Q10304_ForForgottenHeroes;
+
+import com.l2jmobius.Config;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.events.EventType;
+import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogin;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerPressTutorialMark;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
+
+import quests.Q10302_UnsettlingShadowAndRumors.Q10302_UnsettlingShadowAndRumors;
+
+/**
+ * For the Forgotten Heroes (10304)
+ * @URL https://l2wiki.com/For_the_Forgotten_Heroes
+ * @author Gigi
+ */
+public class Q10304_ForForgottenHeroes extends Quest
+{
+ // Npc
+ private static final int ISHAEL = 32894;
+ // mobs
+ private static final int YUI = 25837;
+ private static final int KINEN = 25840;
+ private static final int KONYAR = 25845;
+ private static final int LESYINDA = 25841;
+ private static final int MAKSHU = 25838;
+ private static final int HORNAFI = 25839;
+ private static final int YONTYMAK = 25846;
+ private static final int RON = 25825;
+ // items;
+ private static final int EWR = 17526; // Scroll: Enchant Weapon (R-grade)
+ private static final int EAR = 17527; // Scroll: Enchant Armor (R-grade)
+ private static final int COKES = 36563; // Synthetic Cokes
+ private static final int POUCH = 34861; // Ingredient and Hardener Pouch (R-grade)
+ private static final int OLD_ROLL_OF_PAPER = 34033;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q10304_ForForgottenHeroes()
+ {
+ super(10304);
+ addItemTalkId(OLD_ROLL_OF_PAPER);
+ addTalkId(ISHAEL);
+ addKillId(YUI, KINEN, KONYAR, LESYINDA, MAKSHU, HORNAFI, YONTYMAK, RON);
+ addCondCompletedQuest(Q10302_UnsettlingShadowAndRumors.class.getSimpleName(), "32894-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 "32894-02.htm":
+ case "32894-03.htm":
+ case "32894-08.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32894-06.htm":
+ {
+ qs.setCond(2);
+ htmltext = event;
+ break;
+ }
+ case "cond8":
+ {
+ qs.setCond(8);
+ break;
+ }
+ case "cond9":
+ {
+ qs.setCond(9);
+ break;
+ }
+ case "reward1":
+ {
+ giveItems(player, COKES, 68);
+ addExpAndSp(player, 15197798, 3647);
+ giveAdena(player, 47085998, true);
+ qs.exitQuest(false, true);
+ htmltext = "32894-09.html";
+ break;
+ }
+ case "reward2":
+ {
+ giveItems(player, EWR, 1);
+ giveItems(player, EAR, 1);
+ addExpAndSp(player, 15197798, 3647);
+ giveAdena(player, 47085998, true);
+ qs.exitQuest(false, true);
+ htmltext = "32894-09.html";
+ break;
+ }
+ case "reward3":
+ {
+ giveItems(player, POUCH, 4);
+ addExpAndSp(player, 15197798, 3647);
+ giveAdena(player, 47085998, true);
+ qs.exitQuest(false, true);
+ htmltext = "32894-09.html";
+ break;
+ }
+ }
+ if (event.equalsIgnoreCase("condition"))
+ {
+ if ((player.getParty() == null))
+ {
+ return "32894-05.html";
+ }
+ else if ((player.getParty() != null) && (player.getParty().getLeader() != player))
+ {
+ return "32894-05.html";
+ }
+ else if ((player.getParty() != null) && (player.getParty().getLeader() == player) && (player.getParty().getMemberCount() < 7))
+ {
+ return "32894-05.html";
+ }
+ return "32894-04.htm";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCond(1))
+ {
+ htmltext = "32894-01.htm";
+ }
+ else if ((qs.getCond() > 1) && (qs.getCond() < 9))
+ {
+ htmltext = "32894-03.htm";
+ }
+ else if (qs.isCond(9))
+ {
+ htmltext = "32894-07.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "Complete.html";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+
+ final QuestState qs = getQuestState(player, false);
+ int cond = qs.getCond();
+ int npcId = npc.getId();
+ if (player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ if ((npcId == YUI) && (cond == 2))
+ {
+ qs.setCond(3, true);
+ }
+ else if ((npcId == KINEN) && (cond == 3))
+ {
+ qs.setCond(4, true);
+ }
+ else if ((npcId == KONYAR) && (cond == 4))
+ {
+ qs.setCond(5, true);
+ }
+ else if ((npcId == LESYINDA) && (cond == 5))
+ {
+ qs.setCond(6, true);
+ }
+ else if ((npcId == MAKSHU) && (cond == 6))
+ {
+ int kills = qs.getInt(Integer.toString(MAKSHU));
+ if (kills < 1)
+ {
+ kills++;
+ qs.set(Integer.toString(MAKSHU), kills);
+ }
+ }
+ else if ((npcId == HORNAFI) && (cond == 6))
+ {
+ int kills = qs.getInt(Integer.toString(HORNAFI));
+ if (kills < 1)
+ {
+ kills++;
+ qs.set(Integer.toString(HORNAFI), kills);
+ }
+ }
+ else if ((npcId == YONTYMAK) && (cond == 7))
+ {
+ startQuestTimer("cond8", 300, null, player);
+ }
+ else if ((npcId == RON) && (cond == 8))
+ {
+ startQuestTimer("cond9", 300, null, player);
+ }
+ }
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(MAKSHU, qs.getInt(Integer.toString(MAKSHU)));
+ log.addNpc(HORNAFI, qs.getInt(Integer.toString(HORNAFI)));
+ qs.getPlayer().sendPacket(log);
+ if ((qs.getInt(Integer.toString(MAKSHU)) >= 1) && (qs.getInt(Integer.toString(HORNAFI)) >= 1))
+ {
+ qs.setCond(7, true);
+ }
+ }
+
+ @Override
+ public String onItemTalk(L2ItemInstance item, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ final QuestState qs1 = player.getQuestState(Q10302_UnsettlingShadowAndRumors.class.getSimpleName());
+ boolean startQuest = false;
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ startQuest = true;
+ break;
+ }
+ }
+ if (startQuest)
+ {
+ if ((player.getLevel() >= MIN_LEVEL) && qs1.isCompleted())
+ {
+ qs.startQuest();
+ takeItems(player, OLD_ROLL_OF_PAPER, -1);
+ htmltext = "";
+ }
+ else
+ {
+ htmltext = "32894-00.htm";
+ }
+ }
+ return htmltext;
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
+ @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
+ public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
+ {
+ final L2PcInstance player = event.getActiveChar();
+ final QuestState qs = getQuestState(player, false);
+ if ((qs == null) && (event.getOldLevel() < event.getNewLevel()) && canStartQuest(player) && (player.getLevel() >= MIN_LEVEL))
+ {
+ player.sendPacket(new TutorialShowQuestionMark(getId()));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
+ }
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_LOGIN)
+ @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
+ public void OnPlayerLogin(OnPlayerLogin event)
+ {
+ final L2PcInstance player = event.getActiveChar();
+ final QuestState qs = getQuestState(player, false);
+ if ((qs == null) && canStartQuest(player) && (player.getLevel() >= MIN_LEVEL))
+ {
+ player.sendPacket(new TutorialShowQuestionMark(getId()));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_TUTORIAL);
+ }
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
+ @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
+ public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
+ {
+ final L2PcInstance player = event.getActiveChar();
+ if ((event.getMarkId() == getId()) && canStartQuest(player) && (player.getLevel() >= MIN_LEVEL))
+ {
+ showOnScreenMsg(player, NpcStringId.YOU_CAN_USE_THE_OLD_ROLL_OF_PAPER_TO_BEGIN_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 8000);
+ if (!hasQuestItems(player, OLD_ROLL_OF_PAPER))
+ {
+ giveItems(player, OLD_ROLL_OF_PAPER, 1);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-01.htm
new file mode 100644
index 0000000000..fd50a3f1bb
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-01.htm
@@ -0,0 +1,4 @@
+Elite Bodyguard Naomi Kasheron:
+You finally came! You'll join me this time as well, I hope? Kimerian is no easy foe...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-02.html
new file mode 100644
index 0000000000..117a2d036f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-02.html
@@ -0,0 +1,5 @@
+
+Elite Bodyguard Naomi Kasheron:
+When you find out what's really going on, please let me know!
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-03.html
new file mode 100644
index 0000000000..47a7d6c806
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-03.html
@@ -0,0 +1,4 @@
+Elite Bodyguard Naomi Kasheron:
+Kimerian has turned crazy... Do you know him?
+(This quest can only be fulfilled by characters who have completed the Corrupt Leader quest, and are level 90 or above.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-04.htm
new file mode 100644
index 0000000000..8b9a67721f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-04.htm
@@ -0,0 +1,5 @@
+Elite Bodyguard Naomi Kasheron:
+I knew it! I knew you'd help!
+We'll find out the truth about Kimerian, even if I die in the process. Are you ready to go?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-05.htm
new file mode 100644
index 0000000000..1ee436567d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-05.htm
@@ -0,0 +1,4 @@
+Elite Bodyguard Naomi Kasheron:
+I thought you ran away because you were afraid to face the real Kimerian. But you've returned, and we are now able to go. Are you ready?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-06.html
new file mode 100644
index 0000000000..1bb375db81
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/32896-06.html
@@ -0,0 +1,6 @@
+Elite Bodyguard Naomi Kasheron:
+Di... did you hear this? Did you hear about this? This is unbelievable? What did I work so hard for?
+Kimerian's tyranny was not his doing... I cannot believe this, nor do I know if I should believe this.
+No, no. I need to calm down... Let's think about this. What did he exactly say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/Q10307_TheCorruptedLeaderHisTruth.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/Q10307_TheCorruptedLeaderHisTruth.java
new file mode 100644
index 0000000000..390a0689c4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10307_TheCorruptedLeaderHisTruth/Q10307_TheCorruptedLeaderHisTruth.java
@@ -0,0 +1,128 @@
+/*
+ * 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.Q10307_TheCorruptedLeaderHisTruth;
+
+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 quests.Q10306_TheCorruptedLeader.Q10306_TheCorruptedLeader;
+
+//import quests.Q10306_TheCorruptedLeader.Q10306_TheCorruptedLeader;
+
+/**
+ * The Corrupted Leader: His Truth (10307)
+ * @URL https://l2wiki.com/The_Corrupted_Leader:_His_Truth
+ * @author Gigi
+ */
+public final class Q10307_TheCorruptedLeaderHisTruth extends Quest
+{
+ // Npc's
+ private static final int NAOMI_KASHERON = 32896;
+ private static final int MIMILEAD = 32895;
+ private static final int[] MOB =
+ {
+ 25745,
+ 25747
+ };
+ private static final int ENCHANT_ARMOR_R = 17527;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q10307_TheCorruptedLeaderHisTruth()
+ {
+ super(10307);
+ addStartNpc(NAOMI_KASHERON);
+ addTalkId(NAOMI_KASHERON, MIMILEAD);
+ addKillId(MOB);
+ addCondMinLevel(MIN_LEVEL, "32896-03.html");
+ addCondCompletedQuest(Q10306_TheCorruptedLeader.class.getSimpleName(), "32896-03.html");
+ }
+
+ @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 "32896-04.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32896-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32895-03.html":
+ {
+ giveItems(player, ENCHANT_ARMOR_R, 4);
+ addExpAndSp(player, 11779522, 2827);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ switch (npc.getId())
+ {
+ case NAOMI_KASHERON:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "32896-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "32896-05.htm";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "32896-02.html";
+ }
+ break;
+ }
+ case MIMILEAD:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32895-01.html";
+ }
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-00.html
new file mode 100644
index 0000000000..ffab2ac4ff
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-00.html
@@ -0,0 +1,4 @@
+Slaski:
+Well, you've been to Garden of Genesis already, so you know there seems to be a mastermind behind the Genesis Creatures.
+The ancient heroes who were abandoned by the Gods awoke in the Prison of Darkness, and are now planning something. Someone there must be behind all of this, and I want you and your courageous allies to go to the Prison of Darkness and investigate.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-01.html
new file mode 100644
index 0000000000..817e00365a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-01.html
@@ -0,0 +1,4 @@
+Slaski:
+What is it? Do you have something to tell me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-02.html
new file mode 100644
index 0000000000..95b6da9382
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-02.html
@@ -0,0 +1,4 @@
+Slaski:
+That's correct. We should have explained the situation clearly to the people of the wider world... it's all too confusing. Anyway, everyone must come together, even the cat people, and the races of the continents.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-03.html
new file mode 100644
index 0000000000..2c5ed773af
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-03.html
@@ -0,0 +1,4 @@
+Slaski:
+I don't know exactly what the problem is. However, there must be a powerful external force acting on the dimensions, to make Magmeld continent connect to the Human world. Perhaps that's also the reason for the emergence of the beings that were sealed within Magmeld.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-04.html
new file mode 100644
index 0000000000..d018ed0bb9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-04.html
@@ -0,0 +1,4 @@
+Slaski:
+Magmeld may be the fairy world, but not everyone there is innocent. There are those who were abandoned by the gods after betraying Goddess Einhasad, as well as the Genesis Creatures who were restrained by the gods, and the crazy fairies. Honestly, we know little about them, and nothing about how to control them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-05.html
new file mode 100644
index 0000000000..e1c676bdc4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/32893-05.html
@@ -0,0 +1,3 @@
+Slaski:
+These people betrayed the Gods, but they are still angry at the Gods for abandoning them. They're capable of anything. Please take some courageous allies to the Prison of Darkness and find out who their ringleader is.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-00.htm
new file mode 100644
index 0000000000..83966efca7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-00.htm
@@ -0,0 +1,4 @@
+Selina:
+I haven't seen you before, have I? Adventurers like you will need to work hard to survive here.
+(Only characters level 90 or above who have completed the "Abandoned Creation of Gods" quest can take this quest on.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-01.htm
new file mode 100644
index 0000000000..dcd88e644c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-01.htm
@@ -0,0 +1,3 @@
+Selina: There is something I cannot understand no matter how much I meditate: why on earth has this place just shown up now? I thought I would be able to find clues if I come here... but so far, nothing.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-02.htm
new file mode 100644
index 0000000000..bccd9506bc
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-02.htm
@@ -0,0 +1,4 @@
+Selina:
+The sudden appearance of Magmeld, the Garden of Genesis, and the Cat people, can't be a simple coincidence, right?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-03.htm
new file mode 100644
index 0000000000..ba261cb73c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-03.htm
@@ -0,0 +1,5 @@
+Selina:
+Possibly...
+Maybe this is all related to the Goddess of Death's recently appearances in Aden! Maybe the cats know something. Can you meet Elder Slaski in the Ancient City Arcan, and ask him?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-04.htm
new file mode 100644
index 0000000000..1bd947e520
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-04.htm
@@ -0,0 +1,3 @@
+Selina:
+Go to Archan and meet Slaski, the head of cat race. He may have some idea as to what's going on. Good luck!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-05.html
new file mode 100644
index 0000000000..1bd947e520
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/33032-05.html
@@ -0,0 +1,3 @@
+Selina:
+Go to Archan and meet Slaski, the head of cat race. He may have some idea as to what's going on. Good luck!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Complete.html
new file mode 100644
index 0000000000..6e27b5e1a0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Complete.html
@@ -0,0 +1,4 @@
+Selina:
+Thanks to your help, we now have enough information to report back to Aden! I should thank you again.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Q10311_PeacefulDaysAreOver.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Q10311_PeacefulDaysAreOver.java
new file mode 100644
index 0000000000..c60fda9625
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10311_PeacefulDaysAreOver/Q10311_PeacefulDaysAreOver.java
@@ -0,0 +1,128 @@
+/*
+ * 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.Q10311_PeacefulDaysAreOver;
+
+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 quests.Q10312_AbandonedGodsCreature.Q10312_AbandonedGodsCreature;
+
+/**
+ * Peaceful Days are Over (10311)
+ * @URL https://l2wiki.com/Peaceful_Days_are_Over
+ * @author Gigi
+ */
+public final class Q10311_PeacefulDaysAreOver extends Quest
+{
+ // npc
+ private static final int SELINA = 33032;
+ private static final int SLASKI = 32893;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q10311_PeacefulDaysAreOver()
+ {
+ super(10311);
+ addStartNpc(SELINA);
+ addTalkId(SELINA, SLASKI);
+ addCondMinLevel(MIN_LEVEL, "33032-00.htm");
+ addCondCompletedQuest(Q10312_AbandonedGodsCreature.class.getSimpleName(), "33032-00.htm");
+ }
+
+ @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 "33032-02.htm":
+ case "33032-03.htm":
+ case "32893-02.html":
+ case "32893-03.html":
+ case "32893-04.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33032-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32893-05.html":
+ {
+ giveAdena(player, 489220, false);
+ addExpAndSp(player, 7168395, 1720);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ switch (npc.getId())
+ {
+ case SELINA:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "33032-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "33032-05.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "Complete.html";
+ }
+ break;
+ }
+ case SLASKI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32893-01.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "32893-00.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-00.htm
new file mode 100644
index 0000000000..8af37c1665
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-00.htm
@@ -0,0 +1,4 @@
+Horpina:
+Actually, before you tackle this task, I'd like you to consider taking care of something else for us.
+(You must be lv 90 or higher, and complete the Genesis Tree of Twisted Spiral quest to take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-01.htm
new file mode 100644
index 0000000000..5cca2eba78
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-01.htm
@@ -0,0 +1,4 @@
+Horpina:
+If you've spent any time wandering the gardens, you've probably seen that humongous creature chained up in the central zone. Nasty bit of work, that thing is. Its name is Apherus, and it's SO dangerous that there's a 24 hour patrol of watchers who monitor it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-02.htm
new file mode 100644
index 0000000000..cfd47f5801
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-02.htm
@@ -0,0 +1,4 @@
+Horpina:
+Well, the problem is mental fatigue. Those chains holding Apherus were forged hundreds of years ago and surprise, surprise, they're starting to weaken. NOT good. I'm not sure if Apherus' Watchers are aware of the problem. You'd think so. If I've noticed, surely they have? Right? I mean, if those chains break and Apherus escapes, Magmeld would be in for some major pain. Meow!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-03.htm
new file mode 100644
index 0000000000..e8e01334b0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-03.htm
@@ -0,0 +1,5 @@
+Horpina:
+If that beast breaks its chains, it will rampage through Magmeld and the Cats like it's stomping on bugs! I've totally lost faith in the watchmen. They never do anything but play cards and goof off. I totally wouldn't put it past them to release Apherus for a few Adena or sparkly gems.
+Can you and your friends help? If you defeat Apherus before those chains break, we can avoid a lot of bloodshed and grief.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-04.htm
new file mode 100644
index 0000000000..d570474bb6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-04.htm
@@ -0,0 +1,4 @@
+Horpina:
+Meep! Thank all that sparkles! What a weight off my shoulders! If this was left in the hands of those nincompoop watchmen any longer, Apherus would be sure to escape.
+The first thing you'll need to do is to take the prison key from the Apherus watchmen. They probably won't be thrilled to part with it, so you may have to be... convincing. Once you've got the key, enter the prison and defeat Apherus! Ooh! And bring the Giant Stem of Apherus back to me when you're done!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-05.html
new file mode 100644
index 0000000000..21a2410fb9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-05.html
@@ -0,0 +1,4 @@
+Horpina:
+You'll need to get the prison key from the Apherus watchmen first, so you can open the prison door. I don't think they'll give it up willingly, so you may have to use your considerable fighting talents to convince them. After you defeat Apherus, bring me the Giant Stem of Apherus... I'm going to mount it and hang it over the door...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-06.html
new file mode 100644
index 0000000000..3ae44b6212
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-06.html
@@ -0,0 +1,3 @@
+Horpina:
+You'll find the Apherus Watchman hanging around in front of the prison where Apherus is chained. They've got the key to the prison, and probably several other interesting keys, but that's beside the point. Rumor has it that one of them just carries the key in a bundle on his back! Like that's safe! Meeoow! Though, I suppose there could be decoy bundles... and fake keys. Hmm. Ok, perhaps it's not as silly as it seemed at first.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-07.html
new file mode 100644
index 0000000000..2586398bd1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-07.html
@@ -0,0 +1,6 @@
+Horpina:
+Thanks! The biggest headache is gone! I'll give you a gift. How about you pick?
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-08.html
new file mode 100644
index 0000000000..f9a73280c2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/33031-08.html
@@ -0,0 +1,4 @@
+Horpina:
+Here's the reward!
+Thanks again. Bless you, meow!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Complete.html
new file mode 100644
index 0000000000..61200e922d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Complete.html
@@ -0,0 +1,4 @@
+Horpina:
+Apherus must have incredible vital power, or they wouldn't have to watch it so carefully, don't you think? It's certainly weaker than it used to be, thanks to you. But it's still pretty darned nasty!
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Q10312_AbandonedGodsCreature.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Q10312_AbandonedGodsCreature.java
new file mode 100644
index 0000000000..152136e335
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10312_AbandonedGodsCreature/Q10312_AbandonedGodsCreature.java
@@ -0,0 +1,156 @@
+/*
+ * 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.Q10312_AbandonedGodsCreature;
+
+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 quests.Q10310_TwistedCreationTree.Q10310_TwistedCreationTree;
+
+/**
+ * Abandoned God's Creature (10312)
+ * @URL https://l2wiki.com/Abandoned_God%27s_Creature
+ * @author Gigi
+ */
+public final class Q10312_AbandonedGodsCreature extends Quest
+{
+ // Npc
+ private static final int HORPINA = 33031;
+ // Boss
+ private static final int APHERUS = 25775;
+ // Items
+ private static final int WARSMITH_HOLDER = 19305; // Corroded Giant's Warsmith' Holder
+ private static final int REORINS_MOLD = 19306; // Corroded Giant's Reorin's Mold
+ private static final int ARCSMITH_ANVIL = 19307; // Corroded Giant's Arcsmith' Anvil
+ private static final int WARSMITH_MOLD = 19308; // Corroded Giant's Warsmith' Mold
+ private static final int EAR = 17527; // Scroll: Enchant Armor (R-grade)
+ private static final int POUCH = 34861; // Ingredient and Hardener Pouch (R-grade)
+ // Misc
+ private static final int MIN_LEVEL = 90;
+
+ public Q10312_AbandonedGodsCreature()
+ {
+ super(10312);
+ addStartNpc(HORPINA);
+ addTalkId(HORPINA);
+ addKillId(APHERUS);
+ addCondMinLevel(MIN_LEVEL, "33031-00.htm");
+ addCondCompletedQuest(Q10310_TwistedCreationTree.class.getSimpleName(), "33031-00.htm");
+ }
+
+ @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 "33031-02.htm":
+ case "33031-03.htm":
+ case "33031-06.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33031-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "gift1":
+ {
+ giveItems(player, WARSMITH_HOLDER, 1);
+ giveItems(player, REORINS_MOLD, 1);
+ giveItems(player, ARCSMITH_ANVIL, 1);
+ giveItems(player, WARSMITH_MOLD, 1);
+ addExpAndSp(player, 46847289, 11243);
+ qs.exitQuest(false, true);
+ htmltext = "33031-08.html";
+ break;
+ }
+ case "gift2":
+ {
+ giveItems(player, EAR, 2);
+ addExpAndSp(player, 46847289, 11243);
+ qs.exitQuest(false, true);
+ htmltext = "33031-08.html";
+ break;
+ }
+ case "gift3":
+ {
+ giveItems(player, POUCH, 2);
+ addExpAndSp(player, 46847289, 11243);
+ qs.exitQuest(false, true);
+ htmltext = "33031-08.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (qs.isCreated())
+ {
+ htmltext = "33031-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "33031-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33031-07.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "Complete.html";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ executeForEachPlayer(killer, npc, isSummon, true, false);
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-00.htm
new file mode 100644
index 0000000000..01fc54ffd4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-00.htm
@@ -0,0 +1,4 @@
+Slaski:
+Aaaugh... The Prison of Darkness is shaking dreadfully, nyaong! I'm really worried that the whole of Magmeld might come crashing down, leaving only rubble and dust....
+(Only characters level 90 or above, who completed the "Corrupt Leader, His Truth" or "Day of Rest is Over" quest may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-01.htm
new file mode 100644
index 0000000000..8a5dddc7f3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-01.htm
@@ -0,0 +1,4 @@
+Slaski:
+The Prison of Darkness is in upheaval! Traitor Spezion, who had the hubris to take on the gods, is locked up there.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-02.htm
new file mode 100644
index 0000000000..2d5554acb0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-02.htm
@@ -0,0 +1,6 @@
+Slaski:
+We know he is a traitor who tried to incite a rebellion against the gods, but it's been so long that the details are vague.
+Still, the outcome is obvious, no? The rebels were wiped out, and the gods locked up Spezion as a warning to anyone who would challenge them.
+I worry that he may be coming back, and I need a brave adventurer like you to help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-03.htm
new file mode 100644
index 0000000000..9487b736a8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-03.htm
@@ -0,0 +1,4 @@
+Slaski:
+The brave cat warrior Opera went to the Prison of Darkness to find out why the ground is shaking and has not returned. Go, find Opera! Find out what's going on!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-04.htm
new file mode 100644
index 0000000000..7710293126
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-04.htm
@@ -0,0 +1,4 @@
+Slaski:
+So confident! I'm starting to like you! Well, go see Opera in the Prison of Darkness and hear the details.
+To get there, just go out of this building and opposite you will be Gatekeeper Sookie. Tell him that you want to go to the Prison of Darkness.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-05.html
new file mode 100644
index 0000000000..d3077b5ed6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32893-05.html
@@ -0,0 +1,3 @@
+Slaski:
+The ground is shaking so much! Go talk to Opera; don't dilly-dally around here.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-00.html
new file mode 100644
index 0000000000..5712829d51
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-00.html
@@ -0,0 +1,4 @@
+Opera:
+Huh? What? No, no, no! I can't play with you now. There is too much to do! I'm sorry. Maybe when I'm done here, we can play!
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-01.html
new file mode 100644
index 0000000000..62ecd130ba
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-01.html
@@ -0,0 +1,4 @@
+Opera:
+Did you see that? That! Over there! I'm sure I just saw that corpse move! Did you see it? I'm NOT having fun here! And who are you? How did you get here? You... you're not a ghost are you? Oh my paws and whiskers! Please say you aren't. I... I don't think my heart could handle it if you said you were!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-02.html
new file mode 100644
index 0000000000..3738051948
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-02.html
@@ -0,0 +1,4 @@
+Opera:
+Oh... Really? You came to help me? Ooh! Thank you! I've been worrying myself sick. Do you see that big corpse over there? That one, right there.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-03.html
new file mode 100644
index 0000000000..354468ad8c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/32946-03.html
@@ -0,0 +1,4 @@
+Opera:
+That's... That's Spezion's corpse... the traitor who rose up against God! Shhhh! Don't say that so loud! What? Oh, the shaking? Yeah, the entire town is shaking. There's this huge pendulum called the Spiral of Guard that's making everything shake. It's supposed to restrain Spezion! But now it's just shaking cats all over the place!
+Slaski ordered me to find out why... so I came here to check it out. I, umm, figured out what's going on, but I have no idea what to do about it. Wanna help me decide?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Complete.html
new file mode 100644
index 0000000000..88334ade95
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Complete.html
@@ -0,0 +1,3 @@
+Slaski:
+Another quest? Well, it's great that you're eager, but I don't have anything yet. I'll let you know if something comes up.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Q10315_ToThePrisonOfDarkness.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Q10315_ToThePrisonOfDarkness.java
new file mode 100644
index 0000000000..0bc1de1c05
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10315_ToThePrisonOfDarkness/Q10315_ToThePrisonOfDarkness.java
@@ -0,0 +1,158 @@
+/*
+ * 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.Q10315_ToThePrisonOfDarkness;
+
+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.Q10307_TheCorruptedLeaderHisTruth.Q10307_TheCorruptedLeaderHisTruth;
+import quests.Q10311_PeacefulDaysAreOver.Q10311_PeacefulDaysAreOver;
+
+/**
+ * To the Prison of Darkness (10315)
+ * @URL https://l2wiki.com/To_the_Prison_of_Darkness
+ * @author Gigi
+ */
+public final class Q10315_ToThePrisonOfDarkness extends Quest
+{
+ // NPCs
+ private static final int SLASKI = 32893;
+ private static final int OPERA = 32946;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+ // Item's
+ private static final int EWR = 17526;
+
+ public Q10315_ToThePrisonOfDarkness()
+ {
+ super(10315);
+ addStartNpc(SLASKI);
+ addTalkId(SLASKI, OPERA);
+ addCondMinLevel(MIN_LEVEL, "32893-00.htm");
+ }
+
+ @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 "32893-02.htm":
+ case "32893-03.htm":
+ case "32946-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32893-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32946-03.html":
+ {
+ giveAdena(player, 279513, false);
+ giveItems(player, EWR, 1);
+ addExpAndSp(player, 4038093, 969);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ final QuestState qs1 = player.getQuestState(Q10307_TheCorruptedLeaderHisTruth.class.getSimpleName());
+ final QuestState qs2 = player.getQuestState(Q10311_PeacefulDaysAreOver.class.getSimpleName());
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == SLASKI)
+ {
+ if (((qs1 != null) && qs1.isCompleted()) || ((qs2 != null) && qs2.isCompleted()))
+ {
+ htmltext = "32893-01.htm";
+ break;
+ }
+ htmltext = "32893-00.htm";
+ break;
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case SLASKI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32893-05.html";
+ break;
+ }
+ }
+ case OPERA:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32946-01.html";
+ break;
+ }
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ switch (npc.getId())
+ {
+ case SLASKI:
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ case OPERA:
+ {
+ htmltext = "32946-00.html";
+ break;
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00.htm
new file mode 100644
index 0000000000..dd2383f98b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00.htm
@@ -0,0 +1,5 @@
+Opera:
+I need to find out how to access Spezion's consciousness, and send him back to sleep. But, it's so scary! I can't even get near the tomb stone without quivering and puffing up!
+Meeeorrww! I'm only here because Slaski made me come. I... I just want to cry!
+(Only characters with Level 90 or above can take on this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00a.html
new file mode 100644
index 0000000000..93de75a319
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-00a.html
@@ -0,0 +1,4 @@
+Opera:
+What is it? I have no business with you.
+(Only characters with level 90 or above, who have completed the To the Prison of Darknesss quest, can take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-01.htm
new file mode 100644
index 0000000000..bc52bd6622
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-01.htm
@@ -0,0 +1,5 @@
+Opera:
+From what I can tell, a huge wave of darkness came through here recently and opened a gap between Magmeld and the other dimensions. And, well, it seems like the shock of the wave awoke Spezion's... err... well, consciousness, I guess you'd call it.
+He seems to be flickering in and out of consciousness. It's all quiet, then there's motion. Frankly, it's creeping me out!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-02.htm
new file mode 100644
index 0000000000..09c2f6b3f7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-02.htm
@@ -0,0 +1,5 @@
+Opera:
+It must have happened when the Island in the Sky fell. When it crashed, during that tiny window of time, Magmeld was covered in darkness. Slaski says that the Seed of Darkness, which was deep beneath Magmeld, sprouted!
+I'm not sure what that means, but Slaski is so smart! He knows all sorts of things, so it must be true!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-03.htm
new file mode 100644
index 0000000000..afce07e97f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-03.htm
@@ -0,0 +1,6 @@
+Opera:
+The Seed of Darkness? I'm not really sure what it is. I've heard that it was once a Lord, who was buried by Shilen in order to destroy the Spirit World of Lights. Makes me shudder just thinking about it! Fortunately, the Spirit World of Lights here is protected by Einhasad, so the Seed of Darkness remained dormant.
+But recently, the Seed of Darkness has sprouted, ripping a hole in this dimension! The Decaying Darkness also seems to be influencing Spezion.
+Umm, perhaps you could help me by traveling into Spezion's consciousness and rocking him back to sleep? It's dangerous, but....
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-04.htm
new file mode 100644
index 0000000000..8b52ae668d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-04.htm
@@ -0,0 +1,5 @@
+Opera:
+See that tombstone over there? To get to Spezion, you need to go through the tombstone. I think you just need to go over there and look at the stone. I'm sure you can figure out how to use it to enter Spezion's consciousness.
+Once you're in, put him back to sleep. It doesn't matter how you do it, defeat him, rock him to sleep, whack him on the head with a big rock, do whatever it takes!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-05.htm
new file mode 100644
index 0000000000..e9c0f448a2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-05.htm
@@ -0,0 +1,4 @@
+Opera:
+You will?! Oh, thank you! Frankly, I was just about to turn tail and run back to town... it's scary out here!
+Other, less brave cats, would never even have come out here! But I made it this far... Anyway, thank you. I'll wait here for your return. Be careful!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-06.html
new file mode 100644
index 0000000000..04e6779555
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-06.html
@@ -0,0 +1,3 @@
+Opera:
+No... nooo! Do I HAVE to follow you? O..Opera is a bit timid when it comes to scary, icky things! Oh, if I see a ghost, I just know I'm going to embarrass myself and faint!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-07.html
new file mode 100644
index 0000000000..2542962f6f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-07.html
@@ -0,0 +1,5 @@
+Opera:
+Huh? Spezion was a victim? Hahaha! What a funny story! You're just trying to make me laugh, aren't you? No? Hmm, I don't know what you heard while you were in there, but Spezion was just a crazy loon who attacked the Gods.
+Anyway, even if you've gone a bit loopy, it looks like Magmeld will be quiet for a while, all thanks to you! Meow!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-08.html
new file mode 100644
index 0000000000..5f08ceb784
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-08.html
@@ -0,0 +1,7 @@
+Opera:
+Oh, almost forgot. I have stuff for you!
+Pick what you want, meow!
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-09.html
new file mode 100644
index 0000000000..0e2569a95a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/32946-09.html
@@ -0,0 +1,4 @@
+Opera:
+Sure, here it is!
+Got it? Bye!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Complete.html
new file mode 100644
index 0000000000..fd1e4cd22d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Complete.html
@@ -0,0 +1,3 @@
+Opera:
+I want to go back to town! Now! Meow! (You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Q10316_UndecayingMemoryOfThePast.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Q10316_UndecayingMemoryOfThePast.java
new file mode 100644
index 0000000000..6dc82eb03a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10316_UndecayingMemoryOfThePast/Q10316_UndecayingMemoryOfThePast.java
@@ -0,0 +1,172 @@
+/*
+ * 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.Q10316_UndecayingMemoryOfThePast;
+
+import com.l2jmobius.Config;
+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.Q10315_ToThePrisonOfDarkness.Q10315_ToThePrisonOfDarkness;
+
+/**
+ * Undecaying Memory of the Past (10316)
+ * @URL https://l2wiki.com/Undecaying_Memory_of_the_Past
+ * @author Gigi
+ */
+public final class Q10316_UndecayingMemoryOfThePast extends Quest
+{
+ // NPCs
+ private static final int OPERA = 32946;
+ private static final int SPEZION = 25779;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+ // Item's
+ private static final int EAR = 17527;
+ private static final int CORRODED_GIANTS_WARSMITH_HOLDER = 19305;
+ private static final int CORRODED_GIANTS_REORINS_MOLD = 19306;
+ private static final int CORRODED_GIANTS_ARCSMITH_ANVIL = 19307;
+ private static final int CORRODED_GIANTS_WARSMITH_MOLD = 19308;
+ private static final int HARDENER_POUCHES = 34861;
+
+ public Q10316_UndecayingMemoryOfThePast()
+ {
+ super(10316);
+ addStartNpc(OPERA);
+ addTalkId(OPERA);
+ addKillId(SPEZION);
+ addCondMinLevel(MIN_LEVEL, "32946-00.htm");
+ addCondCompletedQuest(Q10315_ToThePrisonOfDarkness.class.getSimpleName(), "32946-00a.html");
+ }
+
+ @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 "32946-02.htm":
+ case "32946-03.htm":
+ case "32946-04.htm":
+ case "32946-08.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32946-05.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "material":
+ {
+ giveItems(player, CORRODED_GIANTS_WARSMITH_HOLDER, 1);
+ giveItems(player, CORRODED_GIANTS_REORINS_MOLD, 1);
+ giveItems(player, CORRODED_GIANTS_ARCSMITH_ANVIL, 1);
+ giveItems(player, CORRODED_GIANTS_WARSMITH_MOLD, 1);
+ addExpAndSp(player, 54093924, 12982);
+ qs.exitQuest(false, true);
+ htmltext = "32946-09.html";
+ break;
+ }
+ case "enchant":
+ {
+ giveItems(player, EAR, 2);
+ addExpAndSp(player, 54093924, 12982);
+ qs.exitQuest(false, true);
+ htmltext = "32946-09.html";
+ break;
+ }
+ case "pouch":
+ {
+ giveItems(player, HARDENER_POUCHES, 2);
+ addExpAndSp(player, 54093924, 12982);
+ qs.exitQuest(false, true);
+ htmltext = "32946-09.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == OPERA)
+ {
+ htmltext = "32946-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32946-06.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "32946-07.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = "Complete.html";
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
+ {
+ executeForEachPlayer(player, npc, isSummon, true, false);
+ return super.onKill(npc, player, isSummon);
+ }
+
+ @Override
+ public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00.htm
new file mode 100644
index 0000000000..a417a74dc1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00.htm
@@ -0,0 +1,4 @@
+Rieyi:
+No, try tackling something a little easier.
+(Only characters whose level is greater than 48 can take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00a.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00a.html
new file mode 100644
index 0000000000..cd3a4e467b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-00a.html
@@ -0,0 +1,4 @@
+Rieyi:
+Nice. You did very well. I hope you will consider helping our Krasis again in the future.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-01.htm
new file mode 100644
index 0000000000..4c66e11961
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-01.htm
@@ -0,0 +1,7 @@
+Rieyi:
+Well it looks like you can handle yourself in a fight. But then again, that isn't saying much.
+Now don't get all wound up about it... I'm not the one that called out the monster, I just stayed canceled in the shadows seeing how well you guys performed.
+The name is Rieyi, in case you didn't know, and I am a member of Krasis. Seeing how you performed against that creature I was curious to see if you would be interested in doing some work for us.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-02.htm
new file mode 100644
index 0000000000..11a6f55b52
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-02.htm
@@ -0,0 +1,6 @@
+Rieyi:
+Didn't we already have this discussion? Like a million times already? Or was that someone else... never mind, I guess I can tell you again.
+Our Krasis is basically a group of Dark Elves who specialize in making problems... disappear. We mostly hire out to the notabilities, and work behind the scenes. We've been around since the moon was young. Why we've been the silent power behind many of the most dramatic events in history.
+We've always guarded the knowledge of our existence very carefully, but with the current crisis with Shilen, we've decided that we need to step into the light and take a more prominent role.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-03.htm
new file mode 100644
index 0000000000..865ab2f50b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-03.htm
@@ -0,0 +1,5 @@
+Rieyi:
+If we want to win in this war against Shilen, we need to slap the power from her hands to give us an extra edge. She's the one who's behind the recent plethora of disasters and in order to fight her we need someone to get their hands a little dirty to win. We have an operative located at the Tower of Insolence ready to brief you if you want to take the gig. We're running low on resources so we can't send her in to handle the task if that was what you were thinking.
+Krasis has given the OK to allow contract adventures to assist us in our missions. Unfortunately there is no financial compensation, but you'll get experience performing these types of missions and you might earn something else better than currency.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-04.htm
new file mode 100644
index 0000000000..de361ce215
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-04.htm
@@ -0,0 +1,5 @@
+Rieyi:
+Like I said before, we have an operative named Kyuori who is stationed at the Tower of Isolence. You'll want to speak with her once you arrive.
+She'll fill you in on the task, but from what I've heard you shouldn't have too many problems.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-05.html
new file mode 100644
index 0000000000..3cd0be20f9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-05.html
@@ -0,0 +1,7 @@
+Rieyi:
+If you help Krasis, I will also help you all that I can. I can tell you now that you will benefit just as much, if not more.
+I can give you buffs and, if necessary, even teleport you to the front of the Tower of Insolence where you are to carry out the mission. Feel free to tell me whatever you wish to say.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-06.html
new file mode 100644
index 0000000000..a30c461794
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-06.html
@@ -0,0 +1,7 @@
+Rieyi:
+If you agree to help our Krasis, I can help you out with a little support magic or a quick teleport to the Tower of Insolence.
+What would you like to do?.
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-07.html
new file mode 100644
index 0000000000..5d5d79a0e3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-07.html
@@ -0,0 +1,8 @@
+Rieyi:
+We? Ask about Krasise? Why would such a curiosity? Haha, well, something I can tell.
+Krasis - a group of Dark Elves, decisive people's problems. Our clients - notable political figures, aristocrats ...
+Therefore, you should not be the case before us. Since our tribe came to light, we prefer to remain
+in the shade.
+But now Shilen provokes great crisis in the world, and we can not hide anymore. Here we have revealed themselves to the world.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-08.html
new file mode 100644
index 0000000000..c26d602de1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-08.html
@@ -0,0 +1,8 @@
+Rieyi:
+We want to explore the connection between Elder and present the great disasters. For this purpose, we need to investigate
+ the Tower of Insolence font>, which is confined to the gods who challenged Baium. However, our organization
+operates in secret, so that we can not openly do research.
+For this reason, we are recruiting mercenaries who can do the work for us. Of course, Krumas
+guarantee fee, so on your part will not be any loss.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-09.html
new file mode 100644
index 0000000000..3d479830e4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33155-09.html
@@ -0,0 +1,6 @@
+Rieyi:
+In the Tower of Insolence meet you Quarry. This Dark Elf a member Krasisa like me.
+Go to him and listen to his request. You said that this is not a complicated matter?
+In that case, you and your comrades will easily cope with this problem.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-00.html
new file mode 100644
index 0000000000..8e5cee8924
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-00.html
@@ -0,0 +1,4 @@
+Kyuori:
+You're back! For real? You just wanted to talk to little old me, didn't you? Well, I'm always up for a bit of a chat.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-01.html
new file mode 100644
index 0000000000..be7baf9ccc
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-01.html
@@ -0,0 +1,4 @@
+Kyuori:
+Ooh! A person! You have no idea how boring it is to be locked up in here. Talk to me or something before I lose my mind.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-02.html
new file mode 100644
index 0000000000..83d22f3348
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-02.html
@@ -0,0 +1,5 @@
+Kyuori:
+Hah, I knew it would have to be something like that! Nobody would come to this place for a party. Well, I suppose you're here to take out some monsters in the Tower of Insolence.
+Go on, then! You aren't scared, are ya?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-03.html
new file mode 100644
index 0000000000..eb8f44c085
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-03.html
@@ -0,0 +1,5 @@
+Kyuori:
+Oh, good good good! A brave one. Wow, you are braver than you look. Now, have I got a challenge for you. I need you to kill ten things. Not just any old things--but it's okay, I have a list.
+Are you ready? Because I'm only saying this one time. (Kyuori takes a deep breath.)
+Exhausted Vengeful Spirit, Wings of Viciousness, Baron's Knight, Terestian, Drill Demon, Knight's Vengeful Spirit, Royal Guard Knight Vengeful Spirit, Baron's Priest, Evil Shadow, Brutal Warrior, Dark Knight, Priest of Darkness, Vampire Queen, Bonehead Slave, Platinum Tribe Soldier, Platinum Tribe Archer, Platinum Tribe Warrior, Platinum Tribe Shaman, Platinum Tribe Overlord, Heaven's Palus Knight, Heaven's Palace Fighter, Heaven's Palace Terminator, Heaven's Palace Priest, Heaven's Palace Judge, Heaven's Palace Sniper, Slaughter Bathin, Bathin's Knight, Bathin's Wizard, Elmoreden's Lady, Elmoreden's Archer Escort, Elmoreden's Maid, Elmoreden's Guardian Warrior, Binder, Bound Warrior, Bound Archer, Heaven's Palace Seraphim, and Heaven's Palace Seraphim Escort. Remember, ten things from this list!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-04.html
new file mode 100644
index 0000000000..bc67658430
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-04.html
@@ -0,0 +1,3 @@
+Kyuori:
+Still here, eh? You must have gotten attached to me or something. No? Well, at least I didn't say you're scared of the Tower of Insolence. I mean, I only asked you to kill ten things.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-05.html
new file mode 100644
index 0000000000..7504a52388
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-05.html
@@ -0,0 +1,5 @@
+Kyuori:
+You're back with a victory! I doubt your abilities, but it's already in the past.
+I like your commitment and for this I want to thank you...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-06.html
new file mode 100644
index 0000000000..cbae064c72
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/33358-06.html
@@ -0,0 +1,3 @@
+Kyuori:
+Oooh, you got your ten things! Very excellent. And in return for doing this you get--where's a drumroll when you need one?--a Token of Insolence! Ta-da! Get some more of these, take them to Ende, and you'll be able to exchange them for something good. Remember that.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/Q10353_CertificationOfValue.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/Q10353_CertificationOfValue.java
new file mode 100644
index 0000000000..92293d2c57
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10353_CertificationOfValue/Q10353_CertificationOfValue.java
@@ -0,0 +1,251 @@
+/*
+ * 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.Q10353_CertificationOfValue;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Certification of Value (10353)
+ * @URL https://l2wiki.com/Certification_of_Value
+ * @author Gigi
+ */
+public final class Q10353_CertificationOfValue extends Quest
+{
+ // Npc's
+ public static final int RIEYI = 33155;
+ public static final int KYUORI = 33358;
+ private static final int DUMMY_MONSTER = 33349;
+ private static final int[] MONSTERS =
+ {
+ 23044, // Exhausted Vengeful Spirit
+ 23045, // Wings of Viciousness
+ 23046, // Byron's Knight
+ 23047, // Terestian
+ 23048, // Drill Demon
+ 23049, // Knight's Vengeful Spirit
+ 23050, // Escort Knight's Vengeful Spirit
+ 23051, // Byron's Confidant
+ 23052, // Evil Shadow
+ 23053, // Brutal Warrior
+ 23054, // Demon Knight
+ 23055, // Demon Priest
+ 23056, // Vampire Queen
+ 23057, // Bonehead Slave
+ 23058, // Platinum Tribe Soldier
+ 23059, // Platinum Tribe Archer
+ 23060, // Platinum Tribe Warrior
+ 23061, // Platinum Tribe Shaman
+ 23062, // Platinum Tribe Prefect
+ 23063, // Heaven's Palace Knight
+ 23064, // Heaven's Palace Fighter
+ 23065, // Heaven's Palace Terminator
+ 23066, // Heaven's Palace Priest
+ 23067, // Heaven's Palace Judge
+ 23068, // Heaven's Palace Sniper
+ 23101, // Slaughter Bathin
+ 23102, // Bathin's Knight
+ 23103, // Bathin's Wizard
+ 23104, // Elmoreden's Lady
+ 23105, // Elmoreden's Archer
+ 23106, // Elmoreden's Maid
+ 23107, // Elmoreden's Warrior
+ 23108, // Binder
+ 23109, // Bound Warrior
+ 23110, // Bound Archer
+ 23111, // Heaven's Palace Seraphim
+ 23112 // Heaven's Palace Seraphim Escort
+ };
+ // Item
+ private static final int TOKEN_OF_INSOLENCE_TOWER = 17624;
+ // Misc
+ private static final int MIN_LEVEL = 48;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10353_CertificationOfValue()
+ {
+ super(10353);
+ addStartNpc(RIEYI);
+ addTalkId(RIEYI, KYUORI);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "33155-00.htm");
+ }
+
+ @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 "33155-02.htm":
+ case "33155-03.htm":
+ case "33155-04.htm":
+ case "33155-07.html":
+ case "33155-08.html":
+ case "33155-09.html":
+ case "33358-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33155-05.html":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33358-03.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "33358-06.html":
+ {
+ addExpAndSp(player, 3000000, 720);
+ giveItems(player, TOKEN_OF_INSOLENCE_TOWER, 1);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npc.getId() == RIEYI)
+ {
+ htmltext = "33155-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case RIEYI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33155-06.html";
+ }
+ break;
+ }
+ case KYUORI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33358-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33358-04.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "33358-05.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ switch (npc.getId())
+ {
+ case RIEYI:
+ {
+ htmltext = "33155-00a.html";
+ break;
+ }
+ case KYUORI:
+ {
+ htmltext = "33358-00.html";
+ break;
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && qs.isStarted() && qs.isCond(2))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ qs.set(KILL_COUNT_VAR, killCount);
+ if (killCount >= 10)
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ }
+ else
+ {
+ sendNpcLogList(killer);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance activeChar)
+ {
+ final QuestState qs = getQuestState(activeChar, false);
+ if ((qs != null) && qs.isStarted() && qs.isCond(2))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (killCount > 0)
+ {
+ final Set holder = new HashSet<>(1);
+ holder.add(new NpcLogListHolder(DUMMY_MONSTER, false, killCount));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(activeChar);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-01.htm
new file mode 100644
index 0000000000..f1a527bdd0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-01.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Ferris:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-02.htm
new file mode 100644
index 0000000000..2d21e1fd19
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-02.htm
@@ -0,0 +1,6 @@
+Head Blacksmith Ferris:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-03.htm
new file mode 100644
index 0000000000..4c3fbda7ff
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30847-03.htm
@@ -0,0 +1,4 @@
+Head Blacksmith Ferris:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-01.htm
new file mode 100644
index 0000000000..a097f14b28
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-01.htm
@@ -0,0 +1,5 @@
+Grand Magister Winonin:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-02.htm
new file mode 100644
index 0000000000..a01f5b122e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-02.htm
@@ -0,0 +1,6 @@
+Grand Magister Winonin:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-03.htm
new file mode 100644
index 0000000000..f863d8a87b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30856-03.htm
@@ -0,0 +1,4 @@
+Grand Magister Winonin:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-01.htm
new file mode 100644
index 0000000000..1af2d56e63
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-01.htm
@@ -0,0 +1,5 @@
+Orven High Priest:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-02.htm
new file mode 100644
index 0000000000..11e96ebaa6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-02.htm
@@ -0,0 +1,6 @@
+Orven High Priest:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-03.htm
new file mode 100644
index 0000000000..2fd4841a62
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30857-03.htm
@@ -0,0 +1,4 @@
+Orven High Priest:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-01.htm
new file mode 100644
index 0000000000..f2e2f8fdd5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-01.htm
@@ -0,0 +1,5 @@
+Grand Master Oltran:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-02.htm
new file mode 100644
index 0000000000..213ef75273
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-02.htm
@@ -0,0 +1,6 @@
+Grand Master Oltran:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-03.htm
new file mode 100644
index 0000000000..eff06b1648
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30862-03.htm
@@ -0,0 +1,4 @@
+Grand Master Oltran:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-01.htm
new file mode 100644
index 0000000000..c9339ab27f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-01.htm
@@ -0,0 +1,5 @@
+High Prefect Ladanza:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-02.htm
new file mode 100644
index 0000000000..c73e38baae
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-02.htm
@@ -0,0 +1,6 @@
+High Prefect Ladanza:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-03.htm
new file mode 100644
index 0000000000..0e1c056802
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/30865-03.htm
@@ -0,0 +1,4 @@
+High Prefect Ladanza:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-01.html
new file mode 100644
index 0000000000..5a0aff078a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-01.html
@@ -0,0 +1,4 @@
+Captain Andrei:
+Yes, what is it you require?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-02.html
new file mode 100644
index 0000000000..9c90ef43f8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-02.html
@@ -0,0 +1,5 @@
+Captain Andrei:
+Hmmm... this comes from the Aden Vanguard? Yes, I had my suspicions that Goddard may be in danger. There has been a lot of strange activities in the Goddard territory. However, since Shilen has invaded our world that is somewhat of an understatement. There is something strange anywhere you look now.
+I hope you are up for more of a challenge than just delivering this message to us. Several of Goddard`s forces are out on missions and we are short on manpower here. We`re looking for anyone who can swim a sword or cast a spell.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-03.html
new file mode 100644
index 0000000000..b97d34c7bf
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-03.html
@@ -0,0 +1,5 @@
+Captain Andrei:
+So, you will help us then? Good. I need to deliver this news to my susperiors to see what can be done around here.
+I sent a reconnaissance team to the Shrine of Loyalty to investigate the new activity in the area. I believe you can find a man by the name of Gerkenshtein. He is the lead investigator on that team and should be able to brief you on the activity in that area. Hopefully you will be able to find the source of Shilen`s creature entering our world.
+Now then, if you will excuse me I have to tell my susperios we should be expecting some unwelcome guests soon.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-04.html
new file mode 100644
index 0000000000..f740f66ce5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-04.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+Go to the Shrine of Loyalty and speak with Gerkenshtein. He will inform you on what needs to be done next.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-05.html
new file mode 100644
index 0000000000..5a290e8e6a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/31292-05.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+Again, we appreciate your work on handing the Succubus situation around the Shrine of Loyalty.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-01.htm
new file mode 100644
index 0000000000..b345969ef9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-01.htm
@@ -0,0 +1,5 @@
+Grand Master Brome:
+As you already know Shilen sent several of her creatures to destroy Aden Castle. With your help, you and the Aden Vanguard were able to stop this attack. Now our soldiers can come home and focus on protecting Aden.
+Although this has been victory, news from Aden Vanguard has me concerned. As much as I would like attend to these matters personally, I have work here that must be complete. Do you think you can help me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-02.htm
new file mode 100644
index 0000000000..10907cc9b3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-02.htm
@@ -0,0 +1,6 @@
+Grand Master Brome:
+The Aden Vanguard reports they have spotted several of Shilen`s creatures entering Aden Territory from Goddard. They do not believe that there is another attack planed for Aden but more of an impending attack on Goddard.
+If this is correct, then we might be able to pinpoint the source of where and how Shilen is able to send her creatures in Aden. The first priority is to alert Goddard that Shilen`s creatures are preparing to attack Goddard.
+Will you go to Goddard and give them this information?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-03.htm
new file mode 100644
index 0000000000..3d129a04d0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/32221-03.htm
@@ -0,0 +1,4 @@
+Grand Master Brome:
+Deliver this message to Captain Andrei with urgent haste. He is a Guard Captain and can be found in the center of Goddard. He has always been trusted in handling such matters.
+Good luck.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-01.html
new file mode 100644
index 0000000000..2ac83cdbbd
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-01.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Yes, what is it you want? Can`t you see I`m in the middle of investigating this rock here... It is very... ah... interesting.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-02.html
new file mode 100644
index 0000000000..abbf37a19b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-02.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Hmm... the rock can wait. There was an attack on Aden? That is very good news! I mean, that helps prove my theory. If yo track all of Shilen`s attacks or areas where she has icreased the number of her creatures you can see a correlation... looks like a search grid... she is looking for something.
+Quickly, you have to hunt down Scavenger Scarabs, Scavenger Ants, and Shrine Knights and bring me back samples of their Remnant Ashes. To be on the safe side, please bring back 30 samples. They are already in the area so we must be quick before Shilen sends in her creations. Once I have these samples, it will help me determine if there is a threat to Goddard here or not.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-03.html
new file mode 100644
index 0000000000..b84d8906af
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-03.html
@@ -0,0 +1,3 @@
+Gerkenshtein:
+Quickly, you have to hunt down Scavenger Scarabs, Scavenger Ants, and Shrine Knights and bring me back samples of their Remnant Ashes. To be on the safe side, please bring back 30 samples. They are already in the area so we must be quick before Shilen sends in her creations. Once I have these samples, it will help me determine if there is a threat to Goddard here or not.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-04.html
new file mode 100644
index 0000000000..3c0f6a5632
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-04.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Exellent. Give me a moment to perform some quick tests. Well I have good news and bad news. The good news is that I was able to verify that this is the Remnant Ashes normal creatures. The bad news is that it does nithing to further my investigation...
+This investigation is pretty much at a dead end. I do wish to thank you for your assistance. At least we can prove that these creatures have not been corrupted by Shilen`s influence. Here is a little something for your efforts. I do have a few other thing that could use your attention.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-05.html
new file mode 100644
index 0000000000..1289af68d5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/33648-05.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Um... didn`t you already do this for me... I`m pretty sure you did.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/Q10370_MenacingTimes.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/Q10370_MenacingTimes.java
new file mode 100644
index 0000000000..001b65c6d0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/Q10370_MenacingTimes.java
@@ -0,0 +1,303 @@
+/*
+ * 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.Q10370_MenacingTimes;
+
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Menacing Times (10370)
+ * @URL https://l2wiki.com/Menacing_Times
+ * @author Gigi
+ */
+public class Q10370_MenacingTimes extends Quest
+{
+ // NPCs
+ private static final int ORVEN = 30857; // Human
+ private static final int WINONIN = 30856; // Elf
+ private static final int OLTRAN = 30862; // DarkElf
+ private static final int LADANZA = 30865; // Orc
+ private static final int FERRIS = 30847; // Dvarf
+ private static final int BROME = 32221; // Kamael
+ private static final int ANDREI = 31292;
+ private static final int GERKENSHTEIN = 33648;
+ // Monster's
+ private static final int GRAVE_SCARAB = 21646;
+ private static final int GRAVE_ANT = 21648;
+ private static final int SHRINE_KNIGHT = 21650;
+ // Items
+ private static final int REMNANT_ASHES = 34765;
+ private static final ItemHolder ADENA = new ItemHolder(57, 479620);
+ // Reward
+ private static final int EXP_REWARD = 22451400;
+ private static final int SP_REWARD = 5388;
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final int MAX_LEVEL = 81;
+
+ public Q10370_MenacingTimes()
+ {
+ super(10370);
+ addStartNpc(ORVEN, WINONIN, OLTRAN, LADANZA, FERRIS, BROME);
+ addTalkId(ORVEN, WINONIN, OLTRAN, LADANZA, FERRIS, BROME, ANDREI, GERKENSHTEIN);
+ addKillId(GRAVE_SCARAB, GRAVE_ANT, SHRINE_KNIGHT);
+ registerQuestItems(REMNANT_ASHES);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.htm");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "30857-02.htm":
+ case "30856-02.htm":
+ case "30862-02.htm":
+ case "30865-02.htm":
+ case "30847-02.htm":
+ case "32221-02.htm":
+ case "31292-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30856-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30862-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30865-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "30847-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32221-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "31292-03.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "33648-02.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ switch (npc.getId())
+ {
+ case ORVEN:
+ {
+ if ((player.getRace() == Race.HUMAN) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30857-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case WINONIN:
+ {
+ if ((player.getRace() == Race.ELF) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30856-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case OLTRAN:
+ {
+ if ((player.getRace() == Race.DARK_ELF) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30862-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case LADANZA:
+ {
+ if ((player.getRace() == Race.ORC) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30865-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case FERRIS:
+ {
+ if ((player.getRace() == Race.DWARF) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "30847-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ case BROME:
+ {
+ if ((player.getRace() == Race.KAMAEL) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "32221-01.htm";
+ }
+ else
+ {
+ htmltext = "noRace.htm";
+ }
+ break;
+ }
+ }
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case ANDREI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31292-01.html";
+ }
+ else if (qs.getCond() > 1)
+ {
+ htmltext = "31292-04.html";
+ }
+ break;
+ }
+ case GERKENSHTEIN:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "33648-01.html";
+ }
+ else if (qs.getCond() == 3)
+ {
+ htmltext = "33648-03.html";
+ }
+ else if (qs.isCond(4))
+ {
+ htmltext = "33648-04.html";
+ takeItems(player, REMNANT_ASHES, -1);
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ giveItems(player, ADENA);
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ switch (npc.getId())
+ {
+ case ANDREI:
+ {
+ htmltext = "31292-05.html";
+ }
+ break;
+ case GERKENSHTEIN:
+ {
+ htmltext = "33648-05.html";
+ }
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && (qs.isCond(3)))
+ {
+ if (giveItemRandomly(killer, npc, REMNANT_ASHES, 1, 30, 0.15, true))
+ {
+ qs.setCond(4, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/noRace.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/noRace.htm
new file mode 100644
index 0000000000..bc4d0510a6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/noRace.htm
@@ -0,0 +1,4 @@
+High Priest:
+It does not look like you have the correct skill set to assist me.
+(Only My race and 3rd Class Transfer may take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/no_level.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/no_level.htm
new file mode 100644
index 0000000000..c0b3805716
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10370_MenacingTimes/no_level.htm
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 76 - 81)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-01.htm
new file mode 100644
index 0000000000..330f4778a3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-01.htm
@@ -0,0 +1,5 @@
+Gerkenshtein:
+I believe I have another lead. The path that leads to the Imperial Tomb, do you know of it? It seems that the creatures there are not the same as the creatures that used to guard that path.
+The creatures are... different. I cannot be certain, but some of these creatures have a strange aura to them. I need to know more to be certain though.It might be worth looking further into see if there is a connection between these new creatures and Shilen.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-02.htm
new file mode 100644
index 0000000000..17f4e4da4e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-02.htm
@@ -0,0 +1,4 @@
+Gerkenshtein: As I was saying, yes these creatures are quite different that the ones who used to roam the area. My Cryptozoology is a bit rusty, but it appears they are a rare species of Succubus. These creatures do not appear to have any of the traditional characteristics of a true Succubus with the exception of their one desire to drain the life out of you. Again, I would like for you to find out if these cratures are here due Shilen.
+I`m afraid it this task isn`t as easy as watching elpies. It requires a bit more of a hands-on approach. I need you to kill a fair amount of these Succubus creatures and observe their reactions.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-03.htm
new file mode 100644
index 0000000000..2e79db31a6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-03.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Oh, and one last thing. If you encounter anything out of the ordinary be sure let me know. It`s probably nothing important, but any little detail could be extremely helpful in this investigation.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-04.htm
new file mode 100644
index 0000000000..04c1a6a1c8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-04.htm
@@ -0,0 +1,5 @@
+Gerkenshtein:
+Exellent! Here are the creatures I need you to defeat.
+The easiest creatures are the Succubus Soldiers, Succubus Warriors, Succubus Archers, and Succubus Shamans. The ones that make things more interesting are the Succubus Disciples. They are bit rarer than the others but you should be able to find enough in the area. I believe they are called Bloody Succubi.
+Please defeat these creatures then let me know what you find.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-05.html
new file mode 100644
index 0000000000..bbffe07b98
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-05.html
@@ -0,0 +1,5 @@
+Gerkenshtein:
+I do not believe you have not completed your quest yet.
+You probably haven`t killed enough Succubus Soldiers, Succubus Warriors, Succubus Archers, and Succubus Shamans. Or maybe you are having a bit of difficulty with the Bloody Succubi.Either way, there`s still more work that needs to be done.
+Oh and don`t forget, if anything strange happens, to you be sure and take note of it.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-06.html
new file mode 100644
index 0000000000..258f39fba2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-06.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Ah, you are back. Did you find the Succubus?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-07.html
new file mode 100644
index 0000000000..2add430ea0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-07.html
@@ -0,0 +1,5 @@
+Gerkenshtein:
+Very interesting! i`m astonished. It`s true. Most who would try to gather this type of informatinon would be met with a quick and probably extremely painful death, but you seem to just breez through these types of tasks.
+Anything else happen while you were defeating these creatures?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-08.html
new file mode 100644
index 0000000000..25439afee8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/33648-08.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Hmm. Maybe you somehow inherited the power of the Succubus!
+I`ll need to confirm with some of my fellow scholars to see if they have heard anything like this happening before. Get some rest and let me know when you are ready to continue.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/Q10371_GraspThyPower.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/Q10371_GraspThyPower.java
new file mode 100644
index 0000000000..c38e157c8d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/Q10371_GraspThyPower.java
@@ -0,0 +1,206 @@
+/*
+ * 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.Q10371_GraspThyPower;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10370_MenacingTimes.Q10370_MenacingTimes;
+
+/**
+ * Grasp Thy Power (10371)
+ * @URL https://l2wiki.com/Grasp_Thy_Power
+ * @author Gigi
+ */
+public class Q10371_GraspThyPower extends Quest
+{
+ // NPCs
+ private static final int GERKENSHTEIN = 33648;
+ // Monster's
+ private static final int SUCCUBUS_SOLDIER = 23181;
+ private static final int SUCCUBUS_WARRIOR = 23182;
+ private static final int SUCCUBUS_ARCHER = 23183;
+ private static final int SUCCUBUS_SHAMAN = 23184;
+ private static final int BLOODY_SUCCUBUS = 23185;
+ // Items
+ private static final ItemHolder ADENA = new ItemHolder(57, 484990);
+ // Reward
+ private static final int EXP_REWARD = 22641900;
+ private static final int SP_REWARD = 5434;
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final int MAX_LEVEL = 81;
+
+ public Q10371_GraspThyPower()
+ {
+ super(10371);
+ addStartNpc(GERKENSHTEIN);
+ addTalkId(GERKENSHTEIN);
+ addKillId(SUCCUBUS_SOLDIER, SUCCUBUS_WARRIOR, SUCCUBUS_ARCHER, SUCCUBUS_SHAMAN, BLOODY_SUCCUBUS);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondCompletedQuest(Q10370_MenacingTimes.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33648-02.htm":
+ case "33648-03.htm":
+ case "33648-07.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33648-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33648-08.html":
+ {
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ giveItems(player, ADENA);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if ((qs.isCreated()) && (player.getClassId().level() == ClassLevel.FOURTH.ordinal()))
+ {
+ htmltext = "33648-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "33648-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33648-06.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "complete.htm";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ switch (npc.getId())
+ {
+ case SUCCUBUS_SOLDIER:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_SOLDIER));
+ if (kills < 12)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_SOLDIER), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_WARRIOR:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_WARRIOR));
+ if (kills < 12)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_WARRIOR), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_ARCHER:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_ARCHER));
+ if (kills < 8)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_ARCHER), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_SHAMAN:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_SHAMAN));
+ if (kills < 8)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_SHAMAN), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case BLOODY_SUCCUBUS:
+ {
+ int kills = qs.getInt(Integer.toString(BLOODY_SUCCUBUS));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(BLOODY_SUCCUBUS), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SUCCUBUS_SOLDIER, qs.getInt(Integer.toString(SUCCUBUS_SOLDIER)));
+ log.addNpc(SUCCUBUS_WARRIOR, qs.getInt(Integer.toString(SUCCUBUS_WARRIOR)));
+ log.addNpc(SUCCUBUS_ARCHER, qs.getInt(Integer.toString(SUCCUBUS_ARCHER)));
+ log.addNpc(SUCCUBUS_SHAMAN, qs.getInt(Integer.toString(SUCCUBUS_SHAMAN)));
+ log.addNpc(BLOODY_SUCCUBUS, qs.getInt(Integer.toString(BLOODY_SUCCUBUS)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(SUCCUBUS_SOLDIER)) >= 12) && (qs.getInt(Integer.toString(SUCCUBUS_WARRIOR)) >= 12) && (qs.getInt(Integer.toString(SUCCUBUS_ARCHER)) >= 8) && (qs.getInt(Integer.toString(SUCCUBUS_SHAMAN)) >= 8) && (qs.getInt(Integer.toString(BLOODY_SUCCUBUS)) >= 5))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/complete.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/complete.htm
new file mode 100644
index 0000000000..5d0c0b34fe
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/complete.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+I know that this is a very interesting case, but it looks loke you have already finished this task. You efforts are best spent elsewhere.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/no_level.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/no_level.htm
new file mode 100644
index 0000000000..c0b3805716
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/no_level.htm
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 76 - 81)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/restriction.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/restriction.html
new file mode 100644
index 0000000000..91b300594d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10371_GraspThyPower/restriction.html
@@ -0,0 +1,3 @@
+Vorbos:
+(Quest only available to Ertheia characters Lv. 76-81 or above who have completed the quest "Menacing Times.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-01.html
new file mode 100644
index 0000000000..24306c92a0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-01.html
@@ -0,0 +1,4 @@
+Captain Andrei:
+So, you have returned from the Shrine of Loyalty. Did you or Gerkenshtein find anything there?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-02.html
new file mode 100644
index 0000000000..1466d752b7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-02.html
@@ -0,0 +1,4 @@
+Captain Andrei:
+Hmm. Creatures that can harness the power of Shilen? This is not good. I`ll deliver this to my superiors at once. You have done a great job, friend. I can tell by those wounds and scars that you sacrificed a great deal to get us this informated.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-03.html
new file mode 100644
index 0000000000..73d88ede09
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-03.html
@@ -0,0 +1,10 @@
+Captain Andrei:
+Oh yes, of course. We don`t have much in terms of Adena to give you but we do have a surplus of Attribute Crystals.
+Again, we appreciate the wotk you have done in the Shrine of Loyalty. Please choose which Crystal you want.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-04.html
new file mode 100644
index 0000000000..5a290e8e6a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/31292-04.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+Again, we appreciate your work on handing the Succubus situation around the Shrine of Loyalty.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-01.htm
new file mode 100644
index 0000000000..6a0abbb235
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-01.htm
@@ -0,0 +1,5 @@
+Gerkenshtein:
+Ah, you`re back. If ypu have a moment, I would like to discuss the power you felt the other day during your quest.
+Which creature did you say you acquired thepower from?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-02.htm
new file mode 100644
index 0000000000..1d55821554
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-02.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Ah, yes... the Bloody Succubus...the stronger of the creatures. Explain to me what happened after delivering the fatal blow to the Succubus.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-03.htm
new file mode 100644
index 0000000000..5557248d33
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-03.htm
@@ -0,0 +1,5 @@
+Gerkenshtein:
+Hmmm. This does indeed sound like these creatures are from Shilen. It will be difficult to explain this to others without some from of proof.
+I do not doubt your words, but others will need some evidence to prove this threat. I hate to throw you back into the fire but I need proof in order to finish my report. Will you undertake this quest?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-04.htm
new file mode 100644
index 0000000000..600078cba5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-04.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Exellent! As you mentioned, the strongest of the creatures is the Blood Succubus. They are also known as Succubus Disciples, but that is beside the point.
+I need you to kill these creatures and extract from them their Essence. I need you to collect 10 Succubus Essences from their corpes before they turn to ash and bring them back to me. As soon as you return I can finish my report.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-05.html
new file mode 100644
index 0000000000..a0c0cdee19
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-05.html
@@ -0,0 +1,4 @@
+Gerkenshtein:
+Do you require further instructions or need anything else? Please find a Bloody Succubus, kill it, and extract its Essence. You must collect 10 of them.
+Once you`re done, bring them to me. I will be waiting.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-06.html
new file mode 100644
index 0000000000..93cc0cb2f9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-06.html
@@ -0,0 +1,6 @@
+Gerkenshtein:
+Yes, have you collected all of the Succubus Essences? Good, give it to me. U wasn`t sure what to make of this until I had a chance to take a look at it. Yes, this is difinitely the source of the power you received. You did receive some of Shilen`s Power after all!
+If simple creatures such as this can harness the power of Shilen in other areas, we would be in severe trouble. Think of the endless armies of creatures with the her power!
+Here. This is a report of the things that have happened here. Take it to Captain Andrei. It describes what I have been able to verify through your actions in the area. This is for his eyes only and is top secret. Do not let anyone know of this.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-07.html
new file mode 100644
index 0000000000..67728faa97
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/33648-07.html
@@ -0,0 +1,3 @@
+Gerkenshtein:
+This is a report of the things that have happened here. Take it to Captain Andrei. It describes what I have been able to verify through your actions in the area. This is for his eyes only and is top secret. Do not let anyone know of this.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/Q10372_PurgatoryVolvere.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/Q10372_PurgatoryVolvere.java
new file mode 100644
index 0000000000..0c56730893
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/Q10372_PurgatoryVolvere.java
@@ -0,0 +1,187 @@
+/*
+ * 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.Q10372_PurgatoryVolvere;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10371_GraspThyPower.Q10371_GraspThyPower;
+
+/**
+ * Purgatory Volvere (10372)
+ * @URL https://l2wiki.com/Purgatory_Volvere
+ * @author Gigi
+ */
+public class Q10372_PurgatoryVolvere extends Quest
+{
+ // NPCs
+ private static final int GERKENSHTEIN = 33648;
+ private static final int ANDREI = 31292;
+ // Monster's
+ private static final int BLOODY_SUCCUBUS = 23185;
+ // Items
+ private static final int SUCCUBUS_ESENCE = 34766;
+ private static final int GERKENSHTEINS_REPORT = 34767;
+ // Reward
+ private static final int EXP_REWARD = 23009000;
+ private static final int SP_REWARD = 5522;
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final int MAX_LEVEL = 81;
+
+ public Q10372_PurgatoryVolvere()
+ {
+ super(10372);
+ addStartNpc(GERKENSHTEIN);
+ addTalkId(GERKENSHTEIN, ANDREI);
+ addKillId(BLOODY_SUCCUBUS);
+ registerQuestItems(SUCCUBUS_ESENCE, GERKENSHTEINS_REPORT);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondCompletedQuest(Q10371_GraspThyPower.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+ switch (event)
+ {
+ case "33648-02.htm":
+ case "33648-03.htm":
+ case "31292-02.html":
+ case "31292-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33648-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "33648-07.html":
+ {
+ takeItems(player, SUCCUBUS_ESENCE, -1);
+ giveItems(player, GERKENSHTEINS_REPORT, 1);
+ qs.setCond(0);
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ default:
+ {
+ if (event.startsWith("giveReward_") && qs.isCond(3))
+ {
+ final int itemId = Integer.parseInt(event.replace("giveReward_", ""));
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ takeItems(player, GERKENSHTEINS_REPORT, -1);
+ giveItems(player, itemId, 15);
+ qs.exitQuest(false, true);
+ htmltext = "31292-04.html";
+ 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.COMPLETED:
+ {
+ htmltext = "complete.htm";
+ break;
+ }
+ case State.CREATED:
+ {
+ if (npc.getId() == GERKENSHTEIN)
+ {
+ htmltext = ((player.getClassId().level() == ClassLevel.FOURTH.ordinal()) ? "33648-01.htm" : "complete.htm");
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case GERKENSHTEIN:
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "33648-05.html";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "33648-06.html";
+ break;
+ }
+ case 3:
+ {
+ htmltext = "33648-07.html";
+ break;
+ }
+ }
+ break;
+ }
+ case ANDREI:
+ {
+ if ((qs.isCond(3)) && (getQuestItemsCount(player, GERKENSHTEINS_REPORT) > 0))
+ {
+ htmltext = "31292-01.html";
+ }
+ break;
+ }
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+
+ if ((qs != null) && (qs.isCond(1)))
+ {
+ if (giveItemRandomly(killer, npc, SUCCUBUS_ESENCE, 1, 10, 0.2, true))
+ {
+ qs.setCond(2, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/complete.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/complete.htm
new file mode 100644
index 0000000000..5d0c0b34fe
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/complete.htm
@@ -0,0 +1,4 @@
+Gerkenshtein:
+I know that this is a very interesting case, but it looks loke you have already finished this task. You efforts are best spent elsewhere.
+(You have already completed this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/no_level.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/no_level.htm
new file mode 100644
index 0000000000..c0b3805716
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/no_level.htm
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 76 - 81)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/restriction.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/restriction.html
new file mode 100644
index 0000000000..dc8f028865
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10372_PurgatoryVolvere/restriction.html
@@ -0,0 +1,3 @@
+Vorbos:
+(Quest only available to Ertheia characters Lv. 76-81 or above who have completed the quest "Grasp Thy Power.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-01.htm
new file mode 100644
index 0000000000..efd51ad891
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-01.htm
@@ -0,0 +1,4 @@
+Captain Andrei:
+Evil creatures with which you faced the last time at the Shrine of Loyalty, going to the Tomb of the Emperor. It seems that these monsters, the generation of Shilen, looking for something to revive her mistress.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-02.htm
new file mode 100644
index 0000000000..e286ef425c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-02.htm
@@ -0,0 +1,6 @@
+Captain Andrei:
+Those are the words of Agnes. According to her, some wandering Kamaels sought her out, told her the story, and requested her help. We don't know if the story is true, but we cannot ignore it either.
+ It is definitely true that the Succubus monsters are gaining strength. Our territory is being threatend more and more by them, but I cannot send out troops just on the word of some wandering Kamaels... What a bind
+ Can you investigate this mattr? Then we will know whether their words are true or not.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-03.htm
new file mode 100644
index 0000000000..af078675a2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-03.htm
@@ -0,0 +1,4 @@
+Captain Andrei:
+Now, then, first speak withAgnes. Listen to her story about the wandering Kamaels, and then help her.
+Agnes stays here in the Town of Goddard with her followers, so she will be easy to find
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-04.html
new file mode 100644
index 0000000000..a32ac1b9c7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31292-04.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+Hmm? You have already returned? met Agnes? She did not say anything about the errant Kamael?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-01.html
new file mode 100644
index 0000000000..4087694529
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-01.html
@@ -0,0 +1,5 @@
+Saint of Light Agnes:
+Good afternoon. You came to me after hearing the story of Andrei? Yes. Right. These were previously Kamael Kamael Village elders, but now that the village destroyed by order of Shilen, they eke out a miserable existence.
+The elders led a vagabond life. And now, when they learned that Shilen saves the power to revive, they decided to stop her. However, their own forces for that is not enough, so they asked me for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-02.html
new file mode 100644
index 0000000000..6315007a96
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-02.html
@@ -0,0 +1,4 @@
+Saint of Light Agnes:
+They are working at the Imperial Tomb, desperately tryng to step Shilen's spirits from escaping. If you're willing to help, go to the Imperial tomb and find Zenya
+Remember. We must block Shilen's resurrection no matter what. That is the only wey to protect this world.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-03.html
new file mode 100644
index 0000000000..f473430b0b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/31588-03.html
@@ -0,0 +1,2 @@
+Saint of Light Agnes:
+You met with Zeniey in the Tomb of the Emperor? Rather, look for it. She needs your help.
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-01.html
new file mode 100644
index 0000000000..4fcf0e2b4a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-01.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+Agnes sent you? What a relief. Thank you for coming. I am using my powers to seal the Succubus Monsters inside the Imperial Tomb. Their resistance is difficult to manage.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-02.html
new file mode 100644
index 0000000000..818960484a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-02.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+Thank you. Let's talk about the details leter. First go to the Imperial Tomb and kill 15 Phantom Soldiers, 10 Phantom Warriors, 5 Phantom Archers, 5 Phantom Shamans, and 5 Phantom martyrs. That will make my task easier.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-03.html
new file mode 100644
index 0000000000..d62c474dcb
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-03.html
@@ -0,0 +1,5 @@
+Vice Hierarch Zenya:
+Thank you! Thanks to you we were able to overcome the crisis. But you can not relax. These creatures Shilen and will climb out of the Tomb. We now have a free minute, so I can introduce myself to you. My name is Zenia, Assistant Tetrarch Kamael Village.
+The village where I lived, was burned to the ground by order of Shilen. Then we with my friends barely managed to escape. We lost their homeland and dispersed throughout the world in all directions. I recently learned that his creatures Shilen ordered to gather the strength to revive her.
+In what may become necessary to prevent her to be reborn. If the goddess reborn, this world will fill the die. Our overall mission is greater than the racial interests. So after some time I again ask you for help.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-04.html
new file mode 100644
index 0000000000..016f1a98d6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/32140-04.html
@@ -0,0 +1,2 @@
+Vice Hierarch Zenya:
+You have not yet completed the task, which I gave to you. Most of the case.
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/Q10374_ThatPlaceSuccubus.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/Q10374_ThatPlaceSuccubus.java
new file mode 100644
index 0000000000..ac877828b0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/Q10374_ThatPlaceSuccubus.java
@@ -0,0 +1,276 @@
+/*
+ * 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.Q10374_ThatPlaceSuccubus;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * That Place Succubus (10374)
+ * @URL https://l2wiki.com/That_Place_Succubus
+ * @author Gigi
+ */
+public class Q10374_ThatPlaceSuccubus extends Quest
+{
+ // NPCs
+ private static final int ANDREI = 31292;
+ private static final int AGNES = 31588;
+ private static final int ZENYA = 32140;
+ // Items
+ private static final ItemHolder ADENA = new ItemHolder(57, 500560);
+ // Reward
+ private static final int EXP_REWARD = 23747100;
+ private static final int SP_REWARD = 5699;
+ // Misc
+ private static final int MIN_LEVEL = 80;
+ // Monsters
+ private static final int PHANTOM_SOLIDER = 23186;
+ private static final int PHANTOM_WARRIOR = 23187;
+ private static final int PHANTOM_ARCHER = 23188;
+ private static final int PHANTOM_SHAMAN = 23189;
+ private static final int PHANTOM_MARTYR = 23190;
+
+ public Q10374_ThatPlaceSuccubus()
+ {
+ super(10374);
+ addStartNpc(ANDREI);
+ addTalkId(ANDREI, AGNES, ZENYA);
+ addKillId(PHANTOM_SOLIDER, PHANTOM_WARRIOR, PHANTOM_ARCHER, PHANTOM_SHAMAN, PHANTOM_MARTYR);
+ addCondMinLevel(MIN_LEVEL, "noLevel.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "31292-02.htm":
+ case "31292-04.html":
+ case "31588-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "31292-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "31588-02.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "32140-02.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ if ((npc.getId() == ZENYA) && (player.getClassId().level() == ClassLevel.THIRD.ordinal()))
+ {
+ return "noClass.html";
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ switch (npc.getId())
+ {
+ case ANDREI:
+ {
+ htmltext = "31292-01.htm";
+ }
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case ANDREI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31292-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "31292-04.html";
+ }
+ break;
+ }
+ case AGNES:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31588-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "31588-03.html";
+ }
+ break;
+ }
+ case ZENYA:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "32140-01.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "32140-04.html";
+ }
+ else if (qs.isCond(4))
+ {
+ giveItems(player, ADENA);
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THANK_YOU_WITH_YOUR_HELP_WE_WERE_ABLE_TO_SURVIVE_A_GREAT_CRISIS));
+ qs.exitQuest(false, true);
+ htmltext = "32140-03.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, 3, 3, npc);
+ if ((qs != null) && qs.isCond(3) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ switch (npc.getId())
+ {
+ case PHANTOM_SOLIDER:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_SOLIDER));
+ if (kills < 15)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_SOLIDER), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case PHANTOM_WARRIOR:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_WARRIOR));
+ if (kills < 10)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_WARRIOR), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case PHANTOM_ARCHER:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_ARCHER));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_ARCHER), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case PHANTOM_SHAMAN:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_SHAMAN));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_SHAMAN), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case PHANTOM_MARTYR:
+ {
+ int kills = qs.getInt(Integer.toString(PHANTOM_MARTYR));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(PHANTOM_MARTYR), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(PHANTOM_SOLIDER, qs.getInt(Integer.toString(PHANTOM_SOLIDER)));
+ log.addNpc(PHANTOM_WARRIOR, qs.getInt(Integer.toString(PHANTOM_WARRIOR)));
+ log.addNpc(PHANTOM_ARCHER, qs.getInt(Integer.toString(PHANTOM_ARCHER)));
+ log.addNpc(PHANTOM_SHAMAN, qs.getInt(Integer.toString(PHANTOM_SHAMAN)));
+ log.addNpc(PHANTOM_MARTYR, qs.getInt(Integer.toString(PHANTOM_MARTYR)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(PHANTOM_SOLIDER)) >= 15) && (qs.getInt(Integer.toString(PHANTOM_WARRIOR)) >= 10) && (qs.getInt(Integer.toString(PHANTOM_ARCHER)) >= 5) && (qs.getInt(Integer.toString(PHANTOM_SHAMAN)) >= 5) && (qs.getInt(Integer.toString(PHANTOM_MARTYR)) >= 5))
+ {
+ qs.setCond(4, true);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noClass.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noClass.html
new file mode 100644
index 0000000000..a1d396c156
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noClass.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+I feel your strength Germunkusa. Now we are able to deal with all problems. And your other necessary assistance.
+(This is a task only for the characters, Completed the 3rd Class Transfer; Before Awakening.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noLevel.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noLevel.html
new file mode 100644
index 0000000000..89630fa049
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10374_ThatPlaceSuccubus/noLevel.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back
+(You must be level 80 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-01.htm
new file mode 100644
index 0000000000..c23fab1b23
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-01.htm
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+The demons that have captured the Emperors Tomb, in fact, are not creatures of this world - they are causing the world of dreams. They may appear to exist in this world thanks to the special creatures - Dreams of the Apostles. Having a special power of Shilen, they bring to our world nightmares.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-02.htm
new file mode 100644
index 0000000000..aec85d647f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-02.htm
@@ -0,0 +1,5 @@
+Vice Hierarch Zenya:
+I heard something about that from anyone. Whoever it was, it took too much time to think about it.
+First of all, we need to destroy and weaken the Apostles Dream of demons. So...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-03.html
new file mode 100644
index 0000000000..ce20e11d7f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-03.html
@@ -0,0 +1,5 @@
+Vice Hierarch Zenya:
+Adventurer. I am glad that you are back safely.Thanks to your efforts. The Succubus Disciples and their power im this world have weakened.
+But we cannot let our guard down yet. Inside the Imperial tomb, there are more powerful disciples.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-04.html
new file mode 100644
index 0000000000..031a0e1826
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-04.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+I knew you would say that. Adventurer. Now! Go inside again to the Imperial Tomb.Go deeper inside an d kill the Succubus of Insanity and Succubus of Silence, 5 each of thrm.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-05.html
new file mode 100644
index 0000000000..0e0db6377c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-05.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+The task was very difficult, and you performed it so beautifully, it's just wonderful. So... Thanks to your servant of Shilen, no doubt, have lost a lot of effort. Of course, it is too early to relax. With the machinations of Shilen has not yet finished with its odious creatures, too. I want to stay and observe them, and yet you'd better have a rest. If I need help, I'll let you know.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-06.html
new file mode 100644
index 0000000000..7f465306e4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-06.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+Thank you for having made the right decision. So... Sign In Imperial Tomb. Go on and kill the Succubus of Death and Succubus of Darkness, 5 of each of them.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-07.html
new file mode 100644
index 0000000000..0c2246d26c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/32140-07.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+I can not believe your words. So... Come on! Then quickly go into Emperors Tomb. At this time, will need to go further than usual.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/Q10375_SuccubusDisciples.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/Q10375_SuccubusDisciples.java
new file mode 100644
index 0000000000..958619d3a3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/Q10375_SuccubusDisciples.java
@@ -0,0 +1,243 @@
+/*
+ * 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.Q10375_SuccubusDisciples;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10374_ThatPlaceSuccubus.Q10374_ThatPlaceSuccubus;
+
+/**
+ * Succubus Discipless (10375)
+ * @URL https://l2wiki.com/Succubus_Disciples
+ * @author Gigi
+ */
+public class Q10375_SuccubusDisciples extends Quest
+{
+ // NPCs
+ private static final int ZENYA = 32140;
+ // Items
+ private static final ItemHolder ADENA = new ItemHolder(57, 498700);
+ // Reward
+ private static final int EXP_REWARD = 24782300;
+ private static final int SP_REWARD = 5947;
+ // Misc
+ private static final int MIN_LEVEL = 80;
+ // Monsters
+ private static final int SUCCUBUS_OF_DEATH = 23191;
+ private static final int SUCCUBUS_OF_DARKNESS = 23192;
+ private static final int SUCCUBUS_OF_LUNACY = 23197;
+ private static final int SUCCUBUS_OF_SILENCE = 23198;
+
+ public Q10375_SuccubusDisciples()
+ {
+ super(10375);
+ addStartNpc(ZENYA);
+ addTalkId(ZENYA);
+ addKillId(SUCCUBUS_OF_DEATH, SUCCUBUS_OF_DARKNESS, SUCCUBUS_OF_SILENCE, SUCCUBUS_OF_LUNACY);
+ addCondMinLevel(MIN_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10374_ThatPlaceSuccubus.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "32140-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32140-06.html":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32140-04.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+
+ if ((npc.getId() == ZENYA) && (player.getClassId().level() == ClassLevel.THIRD.ordinal()))
+ {
+ return "noClass.html";
+ }
+
+ switch (npc.getId())
+ {
+ case ZENYA:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "32140-01.htm";
+ }
+ else if (qs.isStarted())
+ {
+ switch (qs.getCond())
+ {
+ case 1:
+ {
+ htmltext = "32140-07.html";
+ break;
+ }
+ case 2:
+ {
+ htmltext = "32140-03.html";
+ break;
+ }
+ case 4:
+ {
+ if (qs.isCond(4))
+ {
+ giveItems(player, ADENA);
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOU_ARE_TRULY_AMAZING_FOR_DEFEATING_THE_SUCCUBUS_DISCIPLES));
+ playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
+ qs.exitQuest(false, true);
+ htmltext = "32140-05.html";
+ }
+ break;
+ }
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ switch (npc.getId())
+ {
+ case SUCCUBUS_OF_DEATH:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_OF_DEATH));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_OF_DEATH), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_OF_DARKNESS:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_OF_DARKNESS));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_OF_DARKNESS), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SUCCUBUS_OF_DEATH, qs.getInt(Integer.toString(SUCCUBUS_OF_DEATH)));
+ log.addNpc(SUCCUBUS_OF_DARKNESS, qs.getInt(Integer.toString(SUCCUBUS_OF_DARKNESS)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(SUCCUBUS_OF_DEATH)) >= 5) && (qs.getInt(Integer.toString(SUCCUBUS_OF_DARKNESS)) >= 5))
+ {
+ qs.setCond(2);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ }
+ }
+
+ else if ((qs != null) && qs.isCond(3) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ switch (npc.getId())
+ {
+ case SUCCUBUS_OF_SILENCE:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_OF_SILENCE));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_OF_SILENCE), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case SUCCUBUS_OF_LUNACY:
+ {
+ int kills = qs.getInt(Integer.toString(SUCCUBUS_OF_LUNACY));
+ if (kills < 5)
+ {
+ kills++;
+ qs.set(Integer.toString(SUCCUBUS_OF_LUNACY), kills);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(SUCCUBUS_OF_SILENCE, qs.getInt(Integer.toString(SUCCUBUS_OF_SILENCE)));
+ log.addNpc(SUCCUBUS_OF_LUNACY, qs.getInt(Integer.toString(SUCCUBUS_OF_LUNACY)));
+ qs.getPlayer().sendPacket(log);
+
+ if ((qs.getInt(Integer.toString(SUCCUBUS_OF_SILENCE)) >= 5) && (qs.getInt(Integer.toString(SUCCUBUS_OF_LUNACY)) >= 5))
+ {
+ qs.setCond(4);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noClass.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noClass.html
new file mode 100644
index 0000000000..a1d396c156
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noClass.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+I feel your strength Germunkusa. Now we are able to deal with all problems. And your other necessary assistance.
+(This is a task only for the characters, Completed the 3rd Class Transfer; Before Awakening.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noLevel.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noLevel.html
new file mode 100644
index 0000000000..89630fa049
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/noLevel.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back
+(You must be level 80 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/restriction.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/restriction.html
new file mode 100644
index 0000000000..004c14fb31
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10375_SuccubusDisciples/restriction.html
@@ -0,0 +1,3 @@
+Vorbos:
+(Quest only available to Ertheia characters Lv. 80+ or above who have completed the quest "That Place Succubus.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-01.htm
new file mode 100644
index 0000000000..d8626b2d4f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-01.htm
@@ -0,0 +1,4 @@
+Captain Andrei:
+Hmm... Complicated. So there was something very powerful inside the Imperial Tomb that was needed for Shilen's resurrection, and it originally belonged to Einhasad... And now, servants of the giant called Hermuncus have taken it? Well? Is that right?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-02.htm
new file mode 100644
index 0000000000..3f9ed96ff0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-02.htm
@@ -0,0 +1,4 @@
+Captain Andrei:
+Hmm I see. But putting aside the talk about gods and giants, did you say that you defeated the head of the monsters in the Imperial Tomb with your own hands? What was it called again? Blood Thirst?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-03.html
new file mode 100644
index 0000000000..f69db416e4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31292-03.html
@@ -0,0 +1,3 @@
+Captain Andrei:
+All right! That's plenty! The immediate threat to the Goddard Territory has disappeared. We will worry later about the things to come!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-01.html
new file mode 100644
index 0000000000..0febd2f4e3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-01.html
@@ -0,0 +1,4 @@
+Agnes:
+I'm glad that you returned safely. Did you meet the Kamaels that I told you about?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-02.html
new file mode 100644
index 0000000000..8f49a41407
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-02.html
@@ -0,0 +1,5 @@
+Agnes:
+What?! They became followers of Hermuncus?! How did I fail to notice this earlier?
+Please listen! The power that the Kamael stole originally belonged to Einhasad, not Hermuncus, though Hermuncus had stolen it from her. Some of it was probably scattered while Hermuncus was spiriting it away. This... this is AWFUL!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-03.html
new file mode 100644
index 0000000000..99fba3ce5c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/31588-03.html
@@ -0,0 +1,4 @@
+Agnes:
+Well... well... oh.
+I need to study a few things, friend. You should return to Captain Andrei. With any luck, he'll have an answer to all this chaos.
+
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-01.html
new file mode 100644
index 0000000000..bb3f8ccfd6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-01.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+I have been waiting. I've heard much about you from Vice Hierarch Zenya. You've helped us a lot, right? I am sure you have heard some information already. I am here searching for traces of the Blood Thirst.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-02.html
new file mode 100644
index 0000000000..a3e67b51f5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-02.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+That evil spirit exists and yet it does not within the Imperial Tomb. It is at the border between reality and delusion, so it is not easy to find. But after a long time of searching, I discovered its hide out. Will you go with me there, and defeat the Blood Thirst?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-03.html
new file mode 100644
index 0000000000..7156341db5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-03.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+You have chosen wisely! Tell me when you are ready. We must go to the border between reality and delusion to defeat the Blood Thirst and shatter Shilen's futile dream.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-04.html
new file mode 100644
index 0000000000..8efc1945d6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-04.html
@@ -0,0 +1,5 @@
+Vice Hierarch Casca:
+Now! Defeat the Blood Thirst before you! Defeat him and return to me. Then, I will let you go back to the Imperial Tomb.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-05.html
new file mode 100644
index 0000000000..6e821f5748
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-05.html
@@ -0,0 +1,3 @@
+Vice Hierarch Casca:
+I still cannot forget the day that my hometown was destroyed by Shilen. We could only scream and await our death... Until suddenly, our savior Hermuncus appeared and rescued us! He is the only one who can fight against Shilen and retain the peace of this world.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-06.html
new file mode 100644
index 0000000000..36254f55d3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-06.html
@@ -0,0 +1,6 @@
+Vice Hierarch Casca:
+Adventurer, well done. Your efforts were instrumental in defeating the Blood Thirst and in retrieving some of the power that our master seeks. If this power had gone to Shilen, it would have surely helped her resurrect into this world. Thankfully that didn't happen.
+
+
+
+
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-07.html
new file mode 100644
index 0000000000..2a7a29ceca
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-07.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+Our master is Hermuncus. He was one of the giants who created the Kamael race. When the Isle of Souls was destroyed by Shilen, he saved our people. We who escaped the destruction pledged our lives to him.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-08.html
new file mode 100644
index 0000000000..8d257431eb
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-08.html
@@ -0,0 +1,5 @@
+Vice Hierarch Casca:
+Using you, huh? Very well, I will not deny it. But you must know that this was done for the good of all of us. Shilen's resurrection must be stopped at all costs, and we should do everything we can to prevent her from gaining even one more foothold in this war. Besides, the power that Shilen had sought through her minions here at the Imperial Tomb had originally belonged to Hermuncus; it is only right that we return it to its rightful owner.
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-09.html
new file mode 100644
index 0000000000..1052c21a4f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139-09.html
@@ -0,0 +1,5 @@
+Vice Hierarch Casca:
+It means great things for you, but you must be patient. I shall leave now, but first, I will return you to the Town of Goddard. When you arrive, please thank Agnes for me. It was because of her that I was able to meet you. Now, are you ready?
+
+
+
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139.html
new file mode 100644
index 0000000000..d52eb218e6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32139.html
@@ -0,0 +1,4 @@
+Vice Hierarch Casca:
+I still cannot forget the day that my hometown was destroyed by Shilen. We could only scream and await our death... Until suddenly, our savior Hermuncus appeared and rescued us! He is the only one who can fight against Shilen and retain the peace of this world.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-01.htm
new file mode 100644
index 0000000000..12008a699d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-01.htm
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+On the day when the order was destroyed by Shilen Island Shower with me ran Keska. He also hates Shilen, as I do. Now he is looking for traces of Vladiveyna in the Tomb of the Emperors.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-02.htm
new file mode 100644
index 0000000000..ea42afed27
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-02.htm
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+Vladiveyn - Ruler of Dreams. Now he put the leader of the demons in the Tomb of the Emperor. If we win this demon and thwart Shilen, perhaps, the demons will disappear altogether from the Tombs of the Emperors. Try to beat this demon.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-03.html
new file mode 100644
index 0000000000..036c8adce5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-03.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+I feel your strength Germunkusa. Now we are able to deal with all problems. And your other necessary assistance.
+(This is a task only for the characters, the last third change of profession, and not degenerate.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-06.html
new file mode 100644
index 0000000000..9b5993a05f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-06.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+Here's a joy. This is the answer I was waiting for. Then quickly go to the Imperial Tomb, find there Assistant Tetrarch Kesku, talk to him and help him defeat the Vladiveyna.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-07.html
new file mode 100644
index 0000000000..94e8e9a6e0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/32140-07.html
@@ -0,0 +1,3 @@
+Vice Hierarch Zenya:
+So... You met with Cesca in the Tomb of the Emperors?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/Q10376_BloodyGoodTime.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/Q10376_BloodyGoodTime.java
new file mode 100644
index 0000000000..6f442ad5f7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/Q10376_BloodyGoodTime.java
@@ -0,0 +1,252 @@
+/*
+ * 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.Q10376_BloodyGoodTime;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.model.Location;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.base.ClassLevel;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+
+import quests.Q10375_SuccubusDisciples.Q10375_SuccubusDisciples;
+
+/**
+ * Bloody Good Time (10376)
+ * @URL https://l2wiki.com/Bloody_Good_Time
+ * @author Gigi
+ */
+public class Q10376_BloodyGoodTime extends Quest
+{
+ // NPCs
+ private static final int ZENYA = 32140;
+ private static final int CASCA = 32139;
+ private static final int AGNES = 31588;
+ private static final int ANDREI = 31292;
+ private static final int MOB_BLOODY_VEIN = 27481;
+ // Misc
+ private static final int MIN_LEVEL = 80;
+ // Reward
+ private static final int EXP_REWARD = 121297500;
+ private static final int SP_REWARD = 29111;
+ // Items
+ private static final ItemHolder REWARD_MAGIC_RUNE_CLIP = new ItemHolder(32700, 1);
+ // Location
+ private static final Location RETURN_LOC = new Location(178648, -84903, -7216);
+
+ public Q10376_BloodyGoodTime()
+ {
+ super(10376);
+ addStartNpc(ZENYA);
+ addTalkId(ZENYA, CASCA, AGNES, ANDREI);
+ addFirstTalkId(CASCA);
+ addKillId(MOB_BLOODY_VEIN);
+ addCondMinLevel(MIN_LEVEL, "noLevel.html");
+ addCondCompletedQuest(Q10375_SuccubusDisciples.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "32139-05.html":
+ case "32139-07.html":
+ case "32139-08.html":
+ case "32139-09.html":
+ case "31588-02.html":
+ case "32140-02.htm":
+ case "32140-07.html":
+ case "31292-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32140-06.html":
+ {
+ qs.startQuest();
+ htmltext = "32140-06.html";
+ break;
+ }
+ case "32139-02.html":
+ {
+ if (qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ }
+ case "return":
+ {
+ if (player.isInCombat())
+ {
+ player.sendPacket(new ExShowScreenMessage("You cannot teleport when you in combat status.", 5000));
+ }
+ else
+ {
+ qs.setCond(2);
+ player.teleToLocation(RETURN_LOC, 0);
+ player.setInstance(null);
+ }
+ }
+ case "32139-03.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "31588-03.html":
+ {
+ qs.setCond(6, true);
+ break;
+ }
+ case "31292-03.html":
+ {
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.WELL_DONE_I_WAS_RIGHT_TO_ENTRUST_THIS_TO_YOU));
+ giveItems(player, REWARD_MAGIC_RUNE_CLIP);
+ htmltext = event;
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ switch (npc.getId())
+ {
+ case ZENYA:
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (((player.getClassId().level() != ClassLevel.AWAKEN.ordinal()) && (player.getRace() != Race.ERTHEIA)))
+ {
+ return "32140-01.htm";
+ }
+ else if ((player.getRace() == Race.ERTHEIA) && (player.getLevel() >= MIN_LEVEL))
+ {
+ return "32140-01.htm";
+ }
+ else
+ {
+ return "32140-03.html";
+ }
+ }
+ case State.STARTED:
+ {
+ return "32140-07.html";
+ }
+ case State.COMPLETED:
+ {
+ return "32140-05.htm";
+ }
+ }
+ break;
+
+ case CASCA:
+ {
+ if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ return "32139-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ return "32139-03.html";
+ }
+ else if (qs.isCond(3))
+ {
+ return "32139-04.html";
+ }
+ else if (qs.isCond(4))
+ {
+ return "32139-06.html";
+ }
+ }
+ break;
+ }
+
+ case AGNES:
+ {
+ if (qs.isStarted())
+ {
+ if (qs.isCond(5))
+ {
+ htmltext = "31588-01.html";
+ }
+ else if (qs.isCond(6))
+ {
+ htmltext = "31588-03.html";
+ }
+ }
+ break;
+ }
+
+ case ANDREI:
+ {
+ if (qs.isStarted() && qs.isCond(6))
+ {
+ htmltext = "31292-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onFirstTalk(L2Npc npc, L2PcInstance player)
+ {
+ return "32139.html";
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState st = getQuestState(killer, false);
+
+ if ((st != null) && st.isCond(3))
+ {
+ st.setCond(4, true);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noClass.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noClass.html
new file mode 100644
index 0000000000..a1d396c156
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noClass.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+I feel your strength Germunkusa. Now we are able to deal with all problems. And your other necessary assistance.
+(This is a task only for the characters, Completed the 3rd Class Transfer; Before Awakening.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noLevel.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noLevel.html
new file mode 100644
index 0000000000..89630fa049
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/noLevel.html
@@ -0,0 +1,4 @@
+Vice Hierarch Zenya:
+This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back
+(You must be level 80 or above to start this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/restriction.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/restriction.html
new file mode 100644
index 0000000000..74220425e5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10376_BloodyGoodTime/restriction.html
@@ -0,0 +1,3 @@
+Vorbos:
+(Quest only available to Ertheia characters Lv. 80+ or above who have completed the quest "Succubus Disciples.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01.htm
new file mode 100644
index 0000000000..741e8d5067
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01.htm
@@ -0,0 +1,4 @@
+Dadfena:
+The Execution Grounds... No, Guillotine Fortress. Now that I see it for myself, I see how they named the place. Still. Purpose brought me here
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01a.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01a.htm
new file mode 100644
index 0000000000..4f2d4357c3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01a.htm
@@ -0,0 +1,5 @@
+Dadfena:
+Actually, I am a plant researcher. When the Guillotine Fortress arose, something strange happened to the Mandragoras. I was asked to come here to investigate.
+But my heart is have, knowing that this disaster is caused by Shilen, the mother of us Dark Elves.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01b.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01b.htm
new file mode 100644
index 0000000000..f8b31928b0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-01b.htm
@@ -0,0 +1,5 @@
+Dadfena:
+Well, I cannot disrupt the construction for my own personal feelings. Could you help me put the dead of this land to rest, for the sake of Dion?
+I will compensate you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-02.htm
new file mode 100644
index 0000000000..d425948f95
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-02.htm
@@ -0,0 +1,4 @@
+Dadfena:
+Oh, thank you! We must obtain Mandragora parts in order to proceed with the research. It is dangerous, but I need you to kill the Mandragoras, and obtain 5 Mandragora Stems from the Mandragoras of Joy and Sorrow and 5 Mandragora Roots from the Mandragoras Prayer.
+Hurry!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-03.html
new file mode 100644
index 0000000000..36c53f43bf
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-03.html
@@ -0,0 +1,3 @@
+Dadfena:
+We must obtain Mandragora parts in order to proceed with the research. It is dangerous, but I need you to kill the Mandragoras, and obtain 5 Mandragora Stems from the Mandragoras of Joy and Sorrow and 5 Mandragora Roots from the Mandragoras Prayer.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-04.html
new file mode 100644
index 0000000000..0bf62d5c23
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-04.html
@@ -0,0 +1,4 @@
+Dadfena:
+You have returned! Is everything done?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-05.html
new file mode 100644
index 0000000000..2eaf1119db
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/33697-05.html
@@ -0,0 +1,3 @@
+Dadfena:
+Thank you. These will certainly help the research!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/Q10378_WeedingWork.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/Q10378_WeedingWork.java
new file mode 100644
index 0000000000..7635bcdbae
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10378_WeedingWork/Q10378_WeedingWork.java
@@ -0,0 +1,166 @@
+/*
+ * 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.Q10378_WeedingWork;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import com.l2jmobius.gameserver.util.Util;
+
+/**
+ * Weeding Work (10378)
+ * @URL https://l2wiki.com/Weeding_Work
+ * @author Gigi
+ */
+public final class Q10378_WeedingWork extends Quest
+{
+ // NPC's
+ private static final int DADFPHYNA = 33697;
+ // Monster's
+ private static final int MANDRAGORA_OF_JOY_AND_SORROW = 23210;
+ private static final int MANDRAGORA_OF_PRAYER = 23211;
+ // Items
+ private static final int MANDRAGORA_ROOT = 34975;
+ private static final int MANDRAGORA_STEM = 34974;
+ private static final int SOE_GUILLOTINE_FORTRESS = 35292;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+
+ public Q10378_WeedingWork()
+ {
+ super(10378);
+ addStartNpc(DADFPHYNA);
+ addTalkId(DADFPHYNA);
+ addKillId(MANDRAGORA_OF_JOY_AND_SORROW, MANDRAGORA_OF_PRAYER);
+ registerQuestItems(MANDRAGORA_ROOT, MANDRAGORA_STEM);
+ addCondMinLevel(MIN_LEVEL);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "33697-01a.htm":
+ case "33697-01b.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33697-02.htm":
+ {
+ qs.startQuest();
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, DADFPHYNA, NpcStringId.PLEASE_HELP_US_DISCOVER_THE_CAUSE_OF_THIS_CHAOS));
+ htmltext = event;
+ break;
+ }
+ case "33697-05.html":
+ {
+ giveAdena(player, 3000000, true);
+ giveItems(player, SOE_GUILLOTINE_FORTRESS, 2);
+ addExpAndSp(player, 845059770, 202814);
+ qs.exitQuest(false, true);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, DADFPHYNA, NpcStringId.THANK_YOU_IT_WILL_CERTAINLY_HELP_THE_RESEARCH));
+ htmltext = event;
+ 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 = "33697-01.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33697-03.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33697-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ 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))
+ {
+ switch (npc.getId())
+ {
+ case MANDRAGORA_OF_PRAYER:
+ {
+ if (getQuestItemsCount(player, MANDRAGORA_ROOT) < 5)
+ {
+ giveItems(player, MANDRAGORA_ROOT, 1);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ case MANDRAGORA_OF_JOY_AND_SORROW:
+ {
+ if (getQuestItemsCount(player, MANDRAGORA_STEM) < 5)
+ {
+ giveItems(player, MANDRAGORA_STEM, 1);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ }
+ }
+
+ if ((getQuestItemsCount(player, MANDRAGORA_ROOT) >= 5) && (getQuestItemsCount(player, MANDRAGORA_STEM) >= 5))
+ {
+ 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);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/Q10380_TheExecutionersExecution.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/Q10380_TheExecutionersExecution.java
new file mode 100644
index 0000000000..90d7b160c0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/Q10380_TheExecutionersExecution.java
@@ -0,0 +1,191 @@
+/*
+ * 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.Q10380_TheExecutionersExecution;
+
+import com.l2jmobius.gameserver.enums.ChatType;
+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.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10379_AnUninvitedGuest.Q10379_AnUninvitedGuest;
+
+/**
+ * The Executioner's Execution (10380)
+ * @URL https://l2wiki.com/The_Executioner%27s_Execution
+ * @author Gigi
+ */
+public final class Q10380_TheExecutionersExecution extends Quest
+{
+ // NPC's
+ private static final int ENDRIGO = 30632;
+ private static final int GUILLOTINE_OF_DEATH = 25892;
+ private static final int NAGDU_THE_DEFORMED = 23201;
+ private static final int SADIAC_THE_KILLER = 23199;
+ private static final int ROSENIAS_DIVINE_SPIRIT = 23208;
+ private static final int HASKAL_GHOST = 23205;
+ private static final int CANTA_STANDING_BEAST = 23203;
+ private static final int GAZAM = 23207;
+ private static final int TURAN_GHOST = 23200;
+ private static final int KILLER_FRANGS = 23204;
+ private static final int KALLBERA = 23209;
+ private static final int HAKAL_THE_BUTTCHERED = 23202;
+ private static final int SAMMITA = 23206;
+ // Item's
+ private static final int GLORIOUS_T_SHIRT = 35291;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+
+ public Q10380_TheExecutionersExecution()
+ {
+ super(10380);
+ addStartNpc(ENDRIGO);
+ addTalkId(ENDRIGO);
+ addKillId(GUILLOTINE_OF_DEATH, NAGDU_THE_DEFORMED, SADIAC_THE_KILLER, ROSENIAS_DIVINE_SPIRIT, HASKAL_GHOST, CANTA_STANDING_BEAST, GAZAM, TURAN_GHOST, KILLER_FRANGS, KALLBERA, HAKAL_THE_BUTTCHERED, SAMMITA);
+ addCondMinLevel(MIN_LEVEL);
+ addCondCompletedQuest(Q10379_AnUninvitedGuest.class.getSimpleName(), "warden_endrigo_q10380_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 "warden_endrigo_q10380_04.htm":
+ case "warden_endrigo_q10380_05.htm":
+ case "warden_endrigo_q10380_09.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "warden_endrigo_q10380_06.htm":
+ {
+ qs.startQuest();
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, ENDRIGO, NpcStringId.IT_IS_TIME_TO_PUT_THIS_TO_AN_END_ARE_YOU_READY));
+ htmltext = event;
+ break;
+ }
+ case "warden_endrigo_q10380_10.html":
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, ENDRIGO, NpcStringId.YOU_DEFEATED_THE_GUILLOTINE_OF_DEATH_I_THINK_THAT_WAS_TRULY_AMAZING));
+ giveItems(player, GLORIOUS_T_SHIRT, 1);
+ addExpAndSp(player, 1022967090, 245512);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ if (qs.isCreated())
+ {
+ htmltext = "warden_endrigo_q10380_01.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "warden_endrigo_q10380_07.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "warden_endrigo_q10380_08.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = "warden_endrigo_q10380_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) && qs.isCond(1))
+ {
+ switch (npc.getId())
+ {
+ case NAGDU_THE_DEFORMED:
+ case SADIAC_THE_KILLER:
+ case ROSENIAS_DIVINE_SPIRIT:
+ case HASKAL_GHOST:
+ case CANTA_STANDING_BEAST:
+ case GAZAM:
+ case TURAN_GHOST:
+ case KILLER_FRANGS:
+ case KALLBERA:
+ case HAKAL_THE_BUTTCHERED:
+ case SAMMITA:
+ {
+ if (getRandom(100) < 5)
+ {
+ showOnScreenMsg(player, NpcStringId.TO_DEFEAT_THE_GUILLOTINE_OF_DEATH_HOW_AMAZING, ExShowScreenMessage.TOP_CENTER, 8000);
+ addSpawn(GUILLOTINE_OF_DEATH, npc.getX() + 500, npc.getY() + 500, npc.getZ(), 0, false, 180000);
+ }
+ break;
+ }
+ case GUILLOTINE_OF_DEATH:
+ {
+ int kills = qs.getInt(Integer.toString(GUILLOTINE_OF_DEATH));
+ if (kills < 1)
+ {
+ kills++;
+ qs.set(Integer.toString(GUILLOTINE_OF_DEATH), kills);
+ }
+ final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
+ log.addNpc(GUILLOTINE_OF_DEATH, qs.getInt("GUILLOTINE_OF_DEATH"));
+ player.sendPacket(log);
+
+ if (qs.getInt(Integer.toString(GUILLOTINE_OF_DEATH)) == 1)
+ {
+ qs.setCond(2, true);
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ @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/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_01.htm
new file mode 100644
index 0000000000..7e61e8da14
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_01.htm
@@ -0,0 +1,5 @@
+Guillotine Fortress Watchman Endrigo:
+You have finally defeated Scaldisect the Furious! Now the Dion soldiers can carry out their missions with ease.
+I couldn't trust you completely in the beginning, but now? I can't imagine how I got by without you. Would you forgive me for being a bit greedy?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_02.html
new file mode 100644
index 0000000000..0b731dcd5a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_02.html
@@ -0,0 +1,4 @@
+Guillotine Fortress Watchman Endrigo:
+Well, never mind.
+(This quest is for level 95 or above with the prerequisite "An Uninvited Guest" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_03.html
new file mode 100644
index 0000000000..bd4ad0eff8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_03.html
@@ -0,0 +1,4 @@
+Guillotine Fortress Watchman Endrigo:
+I still can't believe you did it.
+(You have already finished this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_04.htm
new file mode 100644
index 0000000000..b5f2d07291
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_04.htm
@@ -0,0 +1,5 @@
+Guillotine Fortress Watchman Endrigo:
+Guillotine of Death, their boss here... It's a given that we need him killed to bring peace.
+But he's so fearsome...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_05.htm
new file mode 100644
index 0000000000..857e9865ce
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_05.htm
@@ -0,0 +1,4 @@
+Guillotine Fortress Watchman Endrigo:
+Of course, I can't force you to put your life on the line. But I also think that if you bring help, you could do it without much trouble. How about it?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_06.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_06.htm
new file mode 100644
index 0000000000..1a37d9e765
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_06.htm
@@ -0,0 +1,3 @@
+Guillotine Fortress Watchman Endrigo:
+I knew it! You're something else. Please kill the Guillotine of Death. But you will need companions equal to you in strength. Wouldn't want you to die in vain.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_07.html
new file mode 100644
index 0000000000..27232ba70c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_07.html
@@ -0,0 +1,3 @@
+Guillotine Fortress Watchman Endrigo:
+Please kill the Guillotine of Death. But you will need companions equal to you in strength. Wouldn't want you to die in vain.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_08.html
new file mode 100644
index 0000000000..db7c9ea90b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_08.html
@@ -0,0 +1,4 @@
+Guillotine Fortress Watchman Endrigo:
+How did it go?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_09.html
new file mode 100644
index 0000000000..e4813f9c6b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_09.html
@@ -0,0 +1,5 @@
+Guillotine Fortress Watchman Endrigo:
+No! Really? The Guillotine of Death? And you have both your arms and everything!
+We have prepared the best reward we could. It's not much, but it's all we have.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_10.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_10.html
new file mode 100644
index 0000000000..13a953d08e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10380_TheExecutionersExecution/warden_endrigo_q10380_10.html
@@ -0,0 +1,3 @@
+Guillotine Fortress Watchman Endrigo:
+I want to thank you on the behalf of Dion. You have done something truly extraordinary!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/Q10388_ConspiracyBehindDoor.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/Q10388_ConspiracyBehindDoor.java
new file mode 100644
index 0000000000..7e5b250c0f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/Q10388_ConspiracyBehindDoor.java
@@ -0,0 +1,148 @@
+/*
+ * 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.Q10388_ConspiracyBehindDoor;
+
+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;
+
+/**
+ * @author hlwrave
+ */
+public class Q10388_ConspiracyBehindDoor extends Quest
+{
+ // NPCs
+ private static final int ELIA = 31329;
+ private static final int KARGOS = 33821;
+ private static final int HICHEN = 33820;
+ private static final int RAZDEN = 33803;
+ // Item
+ private static final int VISITORS_BADGE = 8064;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q10388_ConspiracyBehindDoor()
+ {
+ super(10388);
+ addStartNpc(ELIA);
+ addTalkId(ELIA, KARGOS, HICHEN, RAZDEN);
+ addCondMinLevel(MIN_LEVEL);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final String htmltext = event;
+ final QuestState qs = getQuestState(player, false);
+
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "go.html":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "toCond2.html":
+ {
+ qs.setCond(2, true);
+ break;
+ }
+ case "toCond3.html":
+ {
+ qs.setCond(0);
+ qs.setCond(3, true);
+ giveItems(player, VISITORS_BADGE, 1);
+ break;
+ }
+ case "final.html":
+ {
+ addExpAndSp(player, 29638350, 2963835);
+ qs.exitQuest(false, true);
+ 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;
+ }
+
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ case State.CREATED:
+ {
+ if (npcId == ELIA)
+ {
+ htmltext = player.getLevel() >= MIN_LEVEL ? "start.htm" : "nolvl.html";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npcId)
+ {
+ case KARGOS:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "cond1.html";
+ }
+ break;
+ }
+ case HICHEN:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "cond2.html";
+ }
+ break;
+ }
+ case RAZDEN:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "cond3.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond1.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond1.html
new file mode 100644
index 0000000000..3b82ca3408
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond1.html
@@ -0,0 +1,6 @@
+Kargos:
+Sir , nice to see you, I see you with a message from our good priest.
+What then if you are willing to learn of a secret conspiracy , you have to talk to the Costumed Knight Hichen find it will not be easy , he secretly investigating this conspiracy in the Temple of the Pagans.
+I hope that he will have good news for you!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond2.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond2.html
new file mode 100644
index 0000000000..b42cca085b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond2.html
@@ -0,0 +1,5 @@
+Hichen:
+Quiet...! I learned something... outside the door is a new evil that must win our glorious world... Unfortunately I can not say anything more yasnoe..ne dolgo..na stand here we can watch..
+Go to undress... not long ago he sent me a spy... said that he learned something over a secret... it go immediately.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond3.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond3.html
new file mode 100644
index 0000000000..3e692a12a3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/cond3.html
@@ -0,0 +1,5 @@
+Radzen:
+Do not be afraid , come near... I see what you come up with questions... but I will have one and you.
+You would not find me without the help Hichen, it happens nothing handed?!!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/final.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/final.html
new file mode 100644
index 0000000000..1f0335c856
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/final.html
@@ -0,0 +1,3 @@
+Radzen:
+So the ships harbor... tomorrow!? Oh, God, thank you for the information... here's a reward... not much but it's all there... come on later, I need to work!!!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/go.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/go.html
new file mode 100644
index 0000000000..9c15d978c1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/go.html
@@ -0,0 +1,3 @@
+Eliyah:
+Oh thank you brave soldier, give me Kargos rays of light and blessing of the gods!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/nolvl.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/nolvl.html
new file mode 100644
index 0000000000..b1b068a5da
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/nolvl.html
@@ -0,0 +1,3 @@
+Elia:
+Sorry, but it seems you lost your job.. not by force , go work out , come when you reach the 97-level!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/start.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/start.htm
new file mode 100644
index 0000000000..90cf10621e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/start.htm
@@ -0,0 +1,7 @@
+Eliyah:
+Oh, my eyes let me down? It is you? About who says it? Those who will save the world?
+Of course, not all at once.. first we must learn that hides from us the evil of those same doors!
+And you do not know about this?!
+Go and have a talk with the Chief Kargos Knight and he will enlighten your not knowing!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond2.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond2.html
new file mode 100644
index 0000000000..092b636723
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond2.html
@@ -0,0 +1,3 @@
+Kargos:
+Well, Well , good luck to you friend, I hope luck will smile to you!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond3.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond3.html
new file mode 100644
index 0000000000..872e55e7ad
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10388_ConspiracyBehindDoor/toCond3.html
@@ -0,0 +1,3 @@
+Kichen:
+Yes ... quiet ... * whispers * .. tell him the ships come into the harbor tomorrow .. good luck ..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/Q10389_TheVoiceOfAuthority.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/Q10389_TheVoiceOfAuthority.java
new file mode 100644
index 0000000000..2d2a71927e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/Q10389_TheVoiceOfAuthority.java
@@ -0,0 +1,174 @@
+/*
+ * 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.Q10389_TheVoiceOfAuthority;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.NpcStringId;
+
+import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor;
+
+/**
+ * @author Gigi
+ */
+public class Q10389_TheVoiceOfAuthority extends Quest
+{
+ // NPCs
+ private static final int RADZEN = 33803;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22139, // Old Aristocrat's Soldier
+ 22140, // Zombie Worker
+ 22141, // Forgotten Victim
+ 22142, // Triol's Layperson
+ 22144, // Resurrected Temple Knight
+ 22145, // Ritual Sacrifice
+ 22147, // Ritual Offering
+ 22148, // Triol's Believer
+ 22154, // Ritual Sacrifice
+ 22155, // Triol's High Priest
+ };
+ // Misc
+ private static final int MIN_LEVEL = 97;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10389_TheVoiceOfAuthority()
+ {
+ super(10389);
+ addCondCompletedQuest(Q10388_ConspiracyBehindDoor.class.getSimpleName(), "no_quest.html");
+ addStartNpc(RADZEN);
+ addTalkId(RADZEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL);
+ }
+
+ @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 "endquest.html":
+ {
+ giveAdena(player, 1302720, true);
+ giveItems(player, 8067, 1);
+ addExpAndSp(player, 592767000, 142264);
+ qs.exitQuest(false, true);
+ htmltext = "endquest.html";
+ 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.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ case State.CREATED:
+ {
+ htmltext = player.getLevel() >= MIN_LEVEL ? "start.htm" : "no_level.html";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "notcollected.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "collected.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ int killCount = qs.getInt(KILL_COUNT_VAR);
+ qs.set(KILL_COUNT_VAR, ++killCount);
+ if (killCount >= 30)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR);
+ if (killCount > 0)
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.ELIMINATE_THE_PAGANS_IN_THE_ANTEROOM, killCount));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/accepted.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/accepted.html
new file mode 100644
index 0000000000..5db199cf48
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/accepted.html
@@ -0,0 +1,3 @@
+Radzi:
+You need to kill 30 monsters, that's what it is: A soldier of the old aristocracy, the Risen worker Forgotten Sacrifice Offering Ritual, Ritual Sacrifice, Resurrected Temple Knight, who believes Tyrol, Tyrol, Amateur, High Priest of the Tyrol. Come back when you're done!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/collected.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/collected.html
new file mode 100644
index 0000000000..12032ad89b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/collected.html
@@ -0,0 +1,4 @@
+Radzi:
+Quickly you're done, I'm happy.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/endquest.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/endquest.html
new file mode 100644
index 0000000000..d6ecec0192
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/endquest.html
@@ -0,0 +1,3 @@
+Radzi:
+I will give you higher authorities coped with all the complexities, here is your reward and a sign of loyalty.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_level.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_level.html
new file mode 100644
index 0000000000..e08dac5638
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 97 or above.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_quest.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_quest.html
new file mode 100644
index 0000000000..3ca4a53166
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/no_quest.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+You cannot procceed with this quest until you have completed the Conspiracy Behind Door quest.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/notcollected.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/notcollected.html
new file mode 100644
index 0000000000..5db199cf48
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/notcollected.html
@@ -0,0 +1,3 @@
+Radzi:
+You need to kill 30 monsters, that's what it is: A soldier of the old aristocracy, the Risen worker Forgotten Sacrifice Offering Ritual, Ritual Sacrifice, Resurrected Temple Knight, who believes Tyrol, Tyrol, Amateur, High Priest of the Tyrol. Come back when you're done!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/start.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/start.htm
new file mode 100644
index 0000000000..a70c3d85e4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10389_TheVoiceOfAuthority/start.htm
@@ -0,0 +1,4 @@
+Radzi:
+You are not a bad try, but to get to this temple is not so simple. You have not shown us that you are really true to us. I am giving you a chance to prove their loyalty, are you ready?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-00.htm
new file mode 100644
index 0000000000..48b38ba0cd
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-00.htm
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+I don't know why you're sticking around here, but you should go back. If Flame Patrol Vice Captain Tuska sees you, it'll be me that gets blamed for it.
+(This quest may only be undertaken by characters of level 99 or higher who have completed the "An Impending Threat" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-01.htm
new file mode 100644
index 0000000000..60343be31e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-01.htm
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+Glad to see you, my friend. I've been waiting for you to come talk to me! You weren't planning to just go back with the Reinforcements' Badge from Flame Patrol Vice Captain Tuska, right? I am so happy to have you here. I've been all alone.
+I have been waiting to ask you a favor too.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-02.htm
new file mode 100644
index 0000000000..3eeda9da3f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-02.htm
@@ -0,0 +1,7 @@
+Flame Patrol Warrior Bruener:
+You are so impatient! I was going to give you all the details.
+There are 4 checkpoints at Raider's Crossroads. When you are up on a checkpoint, you can see the surrounding area very well. That's why the Nerva Orc Prefect gives instructions to nearby Nerva Orcs from there.
+The Nerva Orc Prefect is pretty good at his job, making the lives of us Flame Patrol pretty hard.
+My friend, do you understand what I am trying to say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-03.htm
new file mode 100644
index 0000000000..e5ce886fa7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-03.htm
@@ -0,0 +1,6 @@
+Flame Patrol Warrior Bruener:
+Yes! You are so smart.
+Flame Patrol Vice Captain Tuska selected you himself. So I trust that you will do a good job!
+You'll help me, right?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-04.htm
new file mode 100644
index 0000000000..3f56e22f54
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-04.htm
@@ -0,0 +1,7 @@
+Flame Patrol Warrior Bruener:
+Good, you don't talk too much either. I like you even more! You and I will make good partners.
+Now, go to the checkpoints at Raider's Crossroads and beat up Nerva Orc Prefects. Maybe... like 10 of them?
+When they die, smoke will come out of the checkpoints as a sign of danger.
+Be careful. Nerva Orcs might suddenly attack you. If you think it's getting too dangerous, just get rid of the Nerva Orc Prefect and run away!
+Why that look on your face? Hit and run is a highly-advanced strategy, it's not cowardly at all! You didn't know that?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-05.html
new file mode 100644
index 0000000000..5d58774082
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-05.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+Huh? You're not too scared, are you? If you aren't that confident, just do what I told you to do and come back here right away.
+Now, go to the checkpoints at Raider's Crossroads and get rid of the Nerva Orc Prefect.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-06.html
new file mode 100644
index 0000000000..9787176d36
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-06.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+I'm glad to see you again. Probably it was hard, but you and your friends were able to perform my job, now we can talk about compensation
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-07.html
new file mode 100644
index 0000000000..ad65365966
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/33840-07.html
@@ -0,0 +1,4 @@
+Flame Patrol Warrior Bruener:
+Oh! I knew Tuska had an eye for talent. I'm so happy that I have someone like you to work with!
+See you soon!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/Q10446_HitAndRun.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/Q10446_HitAndRun.java
new file mode 100644
index 0000000000..da132be681
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10446_HitAndRun/Q10446_HitAndRun.java
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package quests.Q10446_HitAndRun;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
+
+/**
+ * Hit and Run (10446)
+ * @URL https://l2wiki.com/Hit_and_Run
+ * @author Gigi
+ */
+public final class Q10446_HitAndRun extends Quest
+{
+ // NPCs
+ private static final int BRUENER = 33840;
+ // Monster
+ private static final int NARVA_ORC_PREFECT = 23322;
+ // Item
+ private static final int ETERNAL_ENHANCEMENT_STONE = 35569;
+ private static final int ELMORE_SUPPORT_BOX = 37020;
+ // Misc
+ private static final int MIN_LEVEL = 99;
+ private static final String KILL_COUNT_VAR = "KillCounts";
+
+ public Q10446_HitAndRun()
+ {
+ super(10446);
+ addStartNpc(BRUENER);
+ addTalkId(BRUENER);
+ addKillId(NARVA_ORC_PREFECT);
+ addCondMinLevel(MIN_LEVEL, "33840-00.htm");
+ addCondCompletedQuest(Q10445_AnImpendingThreat.class.getSimpleName(), "33840-00.htm");
+ }
+
+ @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 "33840-02.htm":
+ case "33840-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33840-04.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "33840-07.html":
+ {
+ if (qs.isCond(2))
+ {
+ giveItems(player, ETERNAL_ENHANCEMENT_STONE, 1);
+ giveItems(player, ELMORE_SUPPORT_BOX, 1);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == BRUENER)
+ {
+ htmltext = "33840-01.htm";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33840-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33840-06.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc);
+ if ((qs != null) && qs.isCond(1))
+ {
+ int count = qs.getInt(KILL_COUNT_VAR);
+ qs.set(KILL_COUNT_VAR, ++count);
+ if (count >= 10)
+ {
+ qs.setCond(2, true);
+ }
+ else
+ {
+ sendNpcLogList(killer);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public Set getNpcLogList(L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCounts = qs.getInt(KILL_COUNT_VAR);
+ if (killCounts > 0)
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NARVA_ORC_PREFECT, false, killCounts));
+ return holder;
+ }
+ }
+ return super.getNpcLogList(player);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-00.htm
new file mode 100644
index 0000000000..c07b401f34
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-00.htm
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+No, no. You can't rescue him.
+Forget I said anything. My mouth is zipped!
+(This quest may only be undertaken by characters of level 99 or higher who have completed the "An Impending Threat" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-01.htm
new file mode 100644
index 0000000000..00bda828ff
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-01.htm
@@ -0,0 +1,6 @@
+
+Flame Patrol Warrior Bruener:
+I'm glad you came. Can you do me a favor? Haha. Don't look at me like that. It's not very difficult.
+It's just rescuing one person. I have work to do here, so I can't roam around. You know what I mean, my friend?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-02.htm
new file mode 100644
index 0000000000..eaa7ec6a4a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-02.htm
@@ -0,0 +1,6 @@
+Flame Patrol Warrior Bruener:
+Nerva's Temporary Prison is at Raider's Crossroads. To "raise proceeds," the Nerva Orcs kidnapped Treasure Dealer Kaysen and put him there.
+That poor treasure dealer! I don't know him personally, but it's unsettling to hear about his detention. On top of that, the Nerva Orcs are getting money for their military from him.
+Ah, there is one thing you should keep in mind... Hmm... I'll tell you if you promise to do as I asked.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-03.htm
new file mode 100644
index 0000000000..7ec66e42a4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-03.htm
@@ -0,0 +1,6 @@
+Flame Patrol Warrior Bruener:
+I don't think this is always the case but... Nerva's Temporary Prison is a bit strange right now. Detainees get violent after a while. Maybe there's some kind of aura there or something. Well, if you want, you can just open the door for him and come back. Our goal is to cut off the source of money for the Nerva Orc military, not lose fine friends like you!
+The Nerva Orcs should have a Nerva's Temporary Prison Key. Kill them to get it.
+No one knows how Treasure Dealer Kaysen will be when you get inside the prison. So, use your sense. You know the old saying...
+'Timing is key!'
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-04.html
new file mode 100644
index 0000000000..f678be0a14
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-04.html
@@ -0,0 +1,3 @@
+Flame Patrol Warrior Bruener:
+The Nerva Orcs at Raider's Crossroads have Nerva's Temporary Prison Key. Get the key and rescue Treasure Dealer Kaysen.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-05.html
new file mode 100644
index 0000000000..2ae0da81c7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-05.html
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+I really don't think that you will return from there alive, you are a hero.
+let me thank you for your work and give you a deserved award
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-06.html
new file mode 100644
index 0000000000..31d9bb12c8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/33840-06.html
@@ -0,0 +1,5 @@
+Flame Patrol Warrior Bruener:
+Good job.
+Did Treasure Dealer Kaysen turn into a Nerva Orc or something?
+By the look on your face, I guess it wasn't a good experience. Hahahahaha!
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/Q10447_TimingIsEverything.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/Q10447_TimingIsEverything.java
new file mode 100644
index 0000000000..0dd040b0ea
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10447_TimingIsEverything/Q10447_TimingIsEverything.java
@@ -0,0 +1,177 @@
+/*
+ * 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.Q10447_TimingIsEverything;
+
+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 com.l2jmobius.gameserver.network.NpcStringId;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.util.Util;
+
+import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
+
+/**
+ * Timing is Everything (10447)
+ * @URL https://l2wiki.com/Timing_is_Everything
+ * @author Gigi
+ */
+public class Q10447_TimingIsEverything extends Quest
+{
+ // Npc
+ private static final int BRUENER = 33840;
+ // Mobs
+ private static final int[] MOBS =
+ {
+ 23314, // Nerva Orc Raider
+ 23315, // Nerva Orc Archer
+ 23316, // Nerva Orc Priest
+ 23317, // Nerva Orc Wizard
+ 23318, // Nerva Orc Assassin
+ 23319, // Nerva Orc Ambusher
+ 23320, // Nerva Orc Merchant
+ 23321, // Nerva Orc Warrior
+ 23322, // Nerva Orc Prefect
+ 23323, // Nerva Orc Elite
+ 23324, // Nerva Bloodlust
+ 23325, // Nerva Bloodlust
+ 23326, // Nerva Bloodlust
+ 23327, // Nerva Bloodlust
+ 23328, // Nerva Bloodlust
+ 23329 // Nerva Kaiser
+ };
+ // Item
+ private static final int NARVAS_PRISON_KEY = 36665;
+ // Misc
+ private static final int MIN_LEVEL = 99;
+
+ public Q10447_TimingIsEverything()
+ {
+ super(10447);
+ addStartNpc(BRUENER);
+ addTalkId(BRUENER);
+ addKillId(MOBS);
+ registerQuestItems(NARVAS_PRISON_KEY);
+ addCondMinLevel(MIN_LEVEL, "33840-00.htm");
+ addCondCompletedQuest(Q10445_AnImpendingThreat.class.getSimpleName(), "33840-00.htm");
+ }
+
+ @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 "33840-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33840-03.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "33840-06.html":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 2_147_483_647L, 515396);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if (npcId == BRUENER)
+ {
+ htmltext = "33840-01.htm";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33840-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "33840-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc);
+
+ if (!Util.checkIfInRange(1500, npc, killer, true))
+ {
+ return null;
+ }
+
+ if ((qs != null) && qs.isCond(1) && (giveItemRandomly(qs.getPlayer(), npc, NARVAS_PRISON_KEY, 1, 1, 0.1, false)))
+ {
+ showOnScreenMsg(qs.getPlayer(), NpcStringId.YOU_TOOK_DOWN_THE_NERVA_ORCS_AND_GOT_THEIR_TEMPORARY_PRISON_KEY, ExShowScreenMessage.BOTTOM_RIGHT, 5000);
+ qs.setCond(2, true);
+ }
+ else
+ {
+ if (getRandom(100) < 0.03)
+ {
+ showOnScreenMsg(killer, NpcStringId.YOU_HAVE_OBTAINED_NERVA_S_TEMPORARY_PRISON_KEY, ExShowScreenMessage.BOTTOM_RIGHT, 5000);
+ giveItems(killer, NARVAS_PRISON_KEY, 1);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-01.htm
new file mode 100644
index 0000000000..5fe16e8cb4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-01.htm
@@ -0,0 +1,4 @@
+Investigator Harry:
+There are some unique plants on the Plains of the Lizardmen. They're very rare and sought after because of what happens when you eat them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-02.htm
new file mode 100644
index 0000000000..2249d056bc
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-02.htm
@@ -0,0 +1,5 @@
+Investigator Harry:
+Ah, well... I don't actually know. But I'm determined to find out!
+It's just, y'know, people talk.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-03.htm
new file mode 100644
index 0000000000..baa5ce8c7a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-03.htm
@@ -0,0 +1,3 @@
+Investigator Sally:
+Oh, thank you so much. You are so awesome! Let's find out the effects of a1 Fantasy Mushroom's Spore Sac, 1 Sticky Mushroom's Spore Sac, and 1 Vitality Leaf Pouch from a Fantasy Mushroom, a Sticky Mushroom, and a Vitality Plant in the Plains of the Lizardmen. And don't eat them! At least till we've done some studying, yeah?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-04.html
new file mode 100644
index 0000000000..d3c27128d7
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-04.html
@@ -0,0 +1,3 @@
+Investigator Sally:
+You still haven't found everything? That's OK... if you have no curiosity! C'mon. Just a couple of thinigs from the Plains of the Lizardmen. I need 1 Fantasy Mushroom's Spore Sac, 1 Sticky Mushroom's Spore Sac, and 1 Vitality Leaf Pouch. You can get them from a Fantasy Mushroom, a Sticky Mushroom, and a Vitality Plant respectively.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-05.html
new file mode 100644
index 0000000000..a4a22407a4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-05.html
@@ -0,0 +1,3 @@
+Investigator Sally:
+This quest is complete
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-06.html
new file mode 100644
index 0000000000..f87deebd40
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-06.html
@@ -0,0 +1,8 @@
+Investigator Harry:
+Well, I finished the analysis, and the results are good. You'll live! No need for an Antidote or anything.
+I eat various medicinal plants all the time. For research purposes only, of course. Want me to tell you about what these do?
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-07.html
new file mode 100644
index 0000000000..f2f56dac30
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-07.html
@@ -0,0 +1,3 @@
+Investigator Sally:
+Thanks for helping me out. You've got a healthy sense of curiosity.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-08.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-08.htm
new file mode 100644
index 0000000000..4b496dd996
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-08.htm
@@ -0,0 +1,4 @@
+Investigator Sally:
+The Plains are so full of so many interesting plants, some you can't find anywhere else! But I couldn't send you out there. You're just not strong enough yet.
+(Only characters level 81 or above are allowed to take this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-09.html
new file mode 100644
index 0000000000..417d77378f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-09.html
@@ -0,0 +1,7 @@
+Investigator Harry:
+Sticky Mushrooms recover your HP by 90%! Plus, it has no side effects. Awesome, right?
+I love talking about plants! Want to know more?
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-10.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-10.html
new file mode 100644
index 0000000000..3038edf937
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-10.html
@@ -0,0 +1,7 @@
+Investigator Harry:
+Fantasy Mushrooms cause visions and euphoria. Any aggressive monsters will chill out when its spores are released. Temporarily, of course.
+I love talking about plants! Want to know more?
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-11.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-11.html
new file mode 100644
index 0000000000..54907a25df
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/32743-11.html
@@ -0,0 +1,7 @@
+Investigator Harry:
+Vitality Plants recover your hit points by 70%. So far, I haven't noticed any adverse side-effects.
+I love talking about plants! Want to know more?
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/Complete.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/Complete.html
new file mode 100644
index 0000000000..a4a22407a4
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/Complete.html
@@ -0,0 +1,3 @@
+Investigator Sally:
+This quest is complete
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/Q10452_IsItEdible.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/Q10452_IsItEdible.java
new file mode 100644
index 0000000000..6369f6494a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10452_IsItEdible/Q10452_IsItEdible.java
@@ -0,0 +1,172 @@
+/*
+ * 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.Q10452_IsItEdible;
+
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+
+/**
+ * Is it Edible? (10452)
+ * @URL https://l2wiki.com/Is_it_Edible%3F
+ * @author Gigi
+ */
+public final class Q10452_IsItEdible extends Quest
+{
+ // Npc's
+ private static final int SALLY = 32743;
+ // Monster's
+ private static final int FANTASY_MUSHROM = 18864;
+ private static final int STICKY_MUSHROMS = 18865;
+ private static final int VITALIITY_PLANT = 18868;
+ // items
+ private static final int FANTASY_MUSHROMS_SPORE = 36688;
+ private static final int STICKY_MUSHROMS_SPORE = 36689;
+ private static final int VITALIITY_LEAF_POUCH = 36690;
+ // Misc
+ private static final int MIN_LEVEL = 81;
+
+ public Q10452_IsItEdible()
+ {
+ super(10452);
+ addStartNpc(SALLY);
+ addTalkId(SALLY);
+ addKillId(FANTASY_MUSHROM, STICKY_MUSHROMS, VITALIITY_PLANT);
+ registerQuestItems(FANTASY_MUSHROMS_SPORE, STICKY_MUSHROMS_SPORE, VITALIITY_LEAF_POUCH);
+ addCondMinLevel(MIN_LEVEL, "32743-08.htm");
+ }
+
+ @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 "32743-02.htm":
+ case "32743-09.html":
+ case "32743-10.html":
+ case "32743-11.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32743-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "32743-07.html":
+ {
+ giveAdena(player, 299940, true);
+ addExpAndSp(player, 14120400, 3388);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (qs.isCreated())
+ {
+ htmltext = "32743-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "32743-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ takeItems(player, FANTASY_MUSHROMS_SPORE, -1);
+ takeItems(player, STICKY_MUSHROMS_SPORE, -1);
+ takeItems(player, VITALIITY_LEAF_POUCH, -1);
+ htmltext = "32743-05.html";
+ qs.setCond(3);
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "32743-06.html";
+ }
+ else
+ {
+ htmltext = "Complete.html";
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if (qs == null)
+ {
+ return super.onKill(npc, killer, isSummon);
+ }
+ switch (npc.getId())
+ {
+ case FANTASY_MUSHROM:
+ {
+ if (qs.isCond(1) && !hasQuestItems(killer, FANTASY_MUSHROMS_SPORE))
+ {
+ giveItems(killer, FANTASY_MUSHROMS_SPORE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ break;
+ }
+ }
+ case STICKY_MUSHROMS:
+ {
+ if (qs.isCond(1) && !hasQuestItems(killer, STICKY_MUSHROMS_SPORE))
+ {
+ giveItems(killer, STICKY_MUSHROMS_SPORE, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ break;
+ }
+ }
+ case VITALIITY_PLANT:
+ {
+ if (qs.isCond(1) && !hasQuestItems(killer, VITALIITY_LEAF_POUCH))
+ {
+ giveItems(killer, VITALIITY_LEAF_POUCH, 1);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ break;
+ }
+ }
+ }
+ if ((getQuestItemsCount(killer, FANTASY_MUSHROMS_SPORE) >= 1) && (getQuestItemsCount(killer, STICKY_MUSHROMS_SPORE) >= 1) && (getQuestItemsCount(killer, VITALIITY_LEAF_POUCH) >= 1))
+ {
+ qs.setCond(2, true);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-00.htm
new file mode 100644
index 0000000000..c0c49f0f5a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-00.htm
@@ -0,0 +1,4 @@
+Head Blacksmith Flutter:
+Weapons work their best when used by those with great skills. One day, you will understand what I mean.
+(Only characters level 46 or above may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-01.htm
new file mode 100644
index 0000000000..753f6b33ae
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-01.htm
@@ -0,0 +1,4 @@
+Head Blacksmith Flutter:
+Do you know what augmenting is? Your weapon sure doesn't look it.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-02.htm
new file mode 100644
index 0000000000..4c1de03590
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-02.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Flutter:
+See? I was right! Only when your weapons are reliable, can you be confident about your skills.
+Now, pay attention. I will teach you to maximize the hidden potential.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-03.htm
new file mode 100644
index 0000000000..7081fce85b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-03.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Flutter:
+First, you must understand augmenting. It provides items with additional options, separately from enchanting, soul crystal enhancement or attributes that you will learn later.
+For augmenting, you have to get all the required material and ask any village's blacksmith to make an item. Keep in mind that you can have accessories and hair accessories augmented but not armor.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-04.htm
new file mode 100644
index 0000000000..9f171c52f3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-04.htm
@@ -0,0 +1,8 @@
+Head Blacksmith Flutter:
+Keep this in mind.
+First, augmentation options are assigned randomly.
+Second, augmented items cannot be exchanged or traded.
+Third, to augment, you need Life Stones, or Spirit Stones and Gemstones, but they are limited by the level at which they can be used.
+Also, the amount of materials you need will increase as the level of the weapon increases. This should be enough. Are you ready?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-05.htm
new file mode 100644
index 0000000000..88f03022d9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-05.htm
@@ -0,0 +1,5 @@
+Head Blacksmith Flutter:
+I have all the materials.
+I'm helping you since it's your first time. I'll give you this Augmentation Practice Weapon, an Augmentation Practice Spirit Stone, and an Augmentation Practice Gemstone.
+Now do as I told you. Bring back an augmented Augmentation Practice Weapon.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-06.html
new file mode 100644
index 0000000000..285332df56
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-06.html
@@ -0,0 +1,4 @@
+Head Blacksmith Flutter:
+Was it too hard?
+Try augmenting with an Augmentation Practice Weapon, an Augmentation Practice Spirit Stone, and an Augmentation Practice Gemstone. If you succeed, you will get an augmented Augmentation Practice Weapon.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-07.html
new file mode 100644
index 0000000000..4f19f1bba3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-07.html
@@ -0,0 +1,5 @@
+Head Blacksmith Flutter:
+Congratulations on your success. Feel free to toss this practice weapon, if you don't like the result. That's what practice is for. In the real world, if you don't like the final version, you can remove augmentation with a few Adenas. Keep that in mind.
+Anyway, you did a good job following my instructions.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-08.html
new file mode 100644
index 0000000000..f1265db152
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/30677-08.html
@@ -0,0 +1,4 @@
+Head Blacksmith Flutter:
+Haha, really? Let me reward you with something related to augmentation. Please take it.
+I hope you will put your new augmenting skills to good use. Bye now.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/Q10462_TemperARustingBlade.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/Q10462_TemperARustingBlade.java
new file mode 100644
index 0000000000..a7172d7583
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10462_TemperARustingBlade/Q10462_TemperARustingBlade.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.Q10462_TemperARustingBlade;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.events.EventType;
+import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import com.l2jmobius.gameserver.model.events.annotations.Id;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerAugment;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+
+/**
+ * Temper a Rusting Blade (10462) TODO Update to Helios cronicle. Quest start Iv 85
+ * @URL https://l2wiki.com/Temper_a_Rusting_Blade
+ * @author Gigi
+ */
+public final class Q10462_TemperARustingBlade extends Quest
+{
+ // NPCs
+ private static final int FLUTTER = 30677;
+ // quest_items
+ private static final int PRACTICE_WEAPON = 36717;
+ private static final int PRACTICE_LIFE_STONE = 36718;
+ private static final int PRACTICE_LIFE_GEMSTONE = 36719;
+ // Misc
+ private static final int MIN_LEVEL = 46;
+ private static final int MAX_LEVEL = 52;
+
+ public Q10462_TemperARustingBlade()
+ {
+ super(10462);
+ addStartNpc(FLUTTER);
+ addTalkId(FLUTTER);
+ registerQuestItems(PRACTICE_WEAPON, PRACTICE_LIFE_STONE, PRACTICE_LIFE_GEMSTONE);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "30677-00.htm");
+ }
+
+ @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 "30677-02.htm":
+ case "30677-03.htm":
+ case "30677-04.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30677-05.htm":
+ {
+ qs.startQuest();
+ giveItems(player, PRACTICE_WEAPON, 1);
+ giveItems(player, PRACTICE_LIFE_STONE, 1);
+ giveItems(player, PRACTICE_LIFE_GEMSTONE, 25);
+ htmltext = event;
+ break;
+ }
+ case "30677-08.html":
+ {
+ addExpAndSp(player, 504210, 121);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ htmltext = "30677-01.htm";
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30677-06.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30677-07.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_AUGMENT)
+ @RegisterType(ListenerRegisterType.ITEM)
+ @Id(PRACTICE_WEAPON)
+ public void onItemAugment(OnPlayerAugment event)
+ {
+ final L2PcInstance player = event.getActiveChar();
+ final QuestState qs = getQuestState(player, false);
+ L2ItemInstance item = qs.getPlayer().getInventory().getItemByItemId(PRACTICE_WEAPON);
+ if ((item != null) && qs.isCond(1) && item.isAugmented())
+ {
+ qs.setCond(2, true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-00.html
new file mode 100644
index 0000000000..5c11af6531
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-00.html
@@ -0,0 +1,4 @@
+Officer Rumiese:
+Well, I know that a soul bottle is a rare item. So what?
+(Only characters Lv. 97 or above who have completed "Extreme Challenge: Primal Mother Resurrected" quest may undertake this quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-01.html
new file mode 100644
index 0000000000..57ac4827b3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-01.html
@@ -0,0 +1,4 @@
+Officer Rumiese:
+Oh, I remember you. You helped us defeat Istina! What brings you back?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-02.html
new file mode 100644
index 0000000000..ba180d1222
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-02.html
@@ -0,0 +1,6 @@
+Officer Rumiese:
+Well, I don't doubt your ability to do it, since I've seen you do it before. But why do you want to fight Istina again, if you don't mind me asking?
+Is there a special reason?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-03.html
new file mode 100644
index 0000000000..f7e59fddb1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-03.html
@@ -0,0 +1,5 @@
+Officer Rumiese:
+What a noble mind. I am impressed all over again! How about I get you a small gift or something, to help you with your noble deed?
+Would you take even a small reward? What do you say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-04.html
new file mode 100644
index 0000000000..dd362f2991
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-04.html
@@ -0,0 +1,4 @@
+Officer Rumiese: Oh. Um. You're very, uh, honest.
+Well, I mean, that's not a bad thing. If you take her down, it will be good for us too. Let us work together then, shall we?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-05.html
new file mode 100644
index 0000000000..5fd9dc61ca
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-05.html
@@ -0,0 +1,6 @@
+Officer Rumiese:
+All right, I'll make sure you get to face Istina again.
+Complete the task I give you successfully, and you'll be able to receive the Bottle of Istina's Soul.
+ But remember -- only this once.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-06.html
new file mode 100644
index 0000000000..d103176a0e
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/33293-06.html
@@ -0,0 +1,4 @@
+Officer Rumiese:
+All right, the prep work is done. Let me know when you're ready to go.
+(You can now undertake the quest "Extreme Challenge: Primal Mother Resurrected" one more time.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/Q10703_BottleOfIstinasSoul.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/Q10703_BottleOfIstinasSoul.java
new file mode 100644
index 0000000000..5a337ecc5d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10703_BottleOfIstinasSoul/Q10703_BottleOfIstinasSoul.java
@@ -0,0 +1,134 @@
+/*
+ * 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.Q10703_BottleOfIstinasSoul;
+
+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.Q00150_ExtremeChallengePrimalMotherResurrected.Q00150_ExtremeChallengePrimalMotherResurrected;
+
+/**
+ * Bottle of Istina's Soul (10703)
+ * @URL http://l2on.net/en/?c=quests&id=10703&game=1
+ * @author Gigi
+ */
+public final class Q10703_BottleOfIstinasSoul extends Quest
+{
+ // NPCs
+ private static final int RUMIESE = 33293;
+ // Item
+ private static final int ISTINAS_SOUL_BOTTLE = 34883;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q10703_BottleOfIstinasSoul()
+ {
+ super(10703);
+ addStartNpc(RUMIESE);
+ addTalkId(RUMIESE);
+ addCondMinLevel(MIN_LEVEL, "33293-00.html");
+ addCondCompletedQuest(Q00150_ExtremeChallengePrimalMotherResurrected.class.getSimpleName(), "33293-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ final QuestState qs1 = player.getQuestState(Q00150_ExtremeChallengePrimalMotherResurrected.class.getSimpleName());
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "33293-02.html":
+ case "33293-03.html":
+ case "33293-04.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33293-05.html":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "33293-06.html":
+ {
+ if (qs.isCond(1) && (getQuestItemsCount(player, ISTINAS_SOUL_BOTTLE) >= 1))
+ {
+ takeItems(player, ISTINAS_SOUL_BOTTLE, 1);
+ qs1.setState(State.CREATED);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((npcId == RUMIESE) && (getQuestItemsCount(player, ISTINAS_SOUL_BOTTLE) >= 1))
+ {
+ htmltext = "33293-01.html";
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33293-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-00.html
new file mode 100644
index 0000000000..fac7b9694c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-00.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+No more, please. I cannot help you.
+(This quest is only available for characters Lv. 95 or above who have completed the "Resurrected Owner of Hall" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-01.html
new file mode 100644
index 0000000000..86ff67e181
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-01.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+You're back. Missing something from your last fight with Octavis?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-02.html
new file mode 100644
index 0000000000..02e2e7c065
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-02.html
@@ -0,0 +1,6 @@
+Divine Messenger Lydia:
+Oh? That's interesting. Octavis is up and around again, thanks to Shilen's powers.
+But how did you know, and why did you come? Why return to a foe you have already defeated?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-03.html
new file mode 100644
index 0000000000..542ab5b289
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-03.html
@@ -0,0 +1,5 @@
+Divine Messenger Lydia:
+Just as I had thought... you are truly a great warrior. I will help you the best I can.
+Would you like to accept something small I prepared?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-04.html
new file mode 100644
index 0000000000..0ca5f0c0b1
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-04.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+...I see. It would be dishonest of me to say your answer makes me happy. But your honesty is also commendable. Very well then, as your help will ultimately help us all... I will help you.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-05.html
new file mode 100644
index 0000000000..4c19697be3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-05.html
@@ -0,0 +1,6 @@
+Divine Messenger Lydia:
+All right then. I will make arrangements for you to fight Octavis again.
+If you succeed, you will receive a Bottle of Octavis' Soul.
+But do remember -- this is your only chance.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-06.html
new file mode 100644
index 0000000000..a9a274cd49
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/32892-06.html
@@ -0,0 +1,4 @@
+Divine Messenger Lydia:
+Everything is now ready. Let me know when you wish to begin. Good luck to you.
+(You can now undertake the quest "Resurrected Owner of Hall" one more time. The Bottle of Octavis' Soul will be your only reward.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/Q10704_BottleOfOctavisSoul.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/Q10704_BottleOfOctavisSoul.java
new file mode 100644
index 0000000000..54b87bb1d0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10704_BottleOfOctavisSoul/Q10704_BottleOfOctavisSoul.java
@@ -0,0 +1,135 @@
+/*
+ * 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.Q10704_BottleOfOctavisSoul;
+
+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.Q10354_ResurrectedOwnerOfHall.Q10354_ResurrectedOwnerOfHall;
+
+/**
+ * Bottle of Octavis' Soul (10704)
+ * @URL http://l2on.net/en/?c=quests&id=10704&game=1
+ * @author Gigi
+ */
+public final class Q10704_BottleOfOctavisSoul extends Quest
+{
+ // NPCs
+ private static final int LYDIA = 32892;
+ // Item
+ private static final int OCTAVIS_SOUL_BOTTLE = 34884;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+
+ public Q10704_BottleOfOctavisSoul()
+ {
+ super(10704);
+ addStartNpc(LYDIA);
+ addTalkId(LYDIA);
+ addCondMinLevel(MIN_LEVEL, "32892-00.html");
+ addCondCompletedQuest(Q10354_ResurrectedOwnerOfHall.class.getSimpleName(), "32892-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ final QuestState qs1 = player.getQuestState(Q10354_ResurrectedOwnerOfHall.class.getSimpleName());
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "32892-02.html":
+ case "32892-03.html":
+ case "32892-04.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32892-05.html":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "32892-06.html":
+ {
+ if (qs.isCond(1) && (getQuestItemsCount(player, OCTAVIS_SOUL_BOTTLE) >= 1))
+ {
+ takeItems(player, OCTAVIS_SOUL_BOTTLE, 1);
+ qs1.setState(State.CREATED);
+ qs1.setMemoState(1);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((npcId == LYDIA) && (getQuestItemsCount(player, OCTAVIS_SOUL_BOTTLE) >= 1))
+ {
+ htmltext = "32892-01.html";
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "32892-05.html";
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-00.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-00.html
new file mode 100644
index 0000000000..31779c29a3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-00.html
@@ -0,0 +1,4 @@
+Fergason:
+I can't do any more for you. I have my limits, after all.
+(This quest is only available for characters Lv. 97 or above who have completed "An Audience With Tauti" quest.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-01.html
new file mode 100644
index 0000000000..633a5cd62a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-01.html
@@ -0,0 +1,4 @@
+Fergason:
+Oh, hey! I know you! You're that gutsy fella that took down Tauti!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-02.html
new file mode 100644
index 0000000000..648c3dd5f8
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-02.html
@@ -0,0 +1,6 @@
+Fergason:
+Oh? Well, well. I've seen what you're capable of, so I won't try to stop you. But...why?
+I mean sure, you took down Tauti before, but not without losses on your part. Why risk your life again?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-03.html
new file mode 100644
index 0000000000..2d2c83fc67
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-03.html
@@ -0,0 +1,5 @@
+Fergason:
+Really? Such a noble deed with no demand in return! I commend you. I really...dear me, you have moved me beyond words.
+A true dwarf knows to repay a good deed done. I will see to it that your pains are worth your while.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-04.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-04.html
new file mode 100644
index 0000000000..ce7aa9a609
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-04.html
@@ -0,0 +1,5 @@
+Fergason:
+Just as I thought! Well, no harm in that. Hard work deserves rewarding!
+In that case, I can try to pull some strings for you. What do you say?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-05.html
new file mode 100644
index 0000000000..8c12a62811
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-05.html
@@ -0,0 +1,5 @@
+Fergason:
+I'll let you work again on the mission you got from me before. And if you eliminate Tauti this time, you'll get the Bottle of Tauti's Soul!
+But mind you, no second chances!
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-06.html
new file mode 100644
index 0000000000..a51a4bc0a5
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/33681-06.html
@@ -0,0 +1,4 @@
+Fergason:
+All right, you know the drill. Let me know when you're ready so I can officially assign the task to you. Good luck.
+(You can now undertake "An Audience With Tauti" again. The Bottle of Tauti's Soul will be your only reward.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/Q10705_BottleOfTautisSoul.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/Q10705_BottleOfTautisSoul.java
new file mode 100644
index 0000000000..f69687fc64
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10705_BottleOfTautisSoul/Q10705_BottleOfTautisSoul.java
@@ -0,0 +1,131 @@
+/*
+ * 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.Q10705_BottleOfTautisSoul;
+
+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.Q10384_AnAudienceWithTauti.Q10384_AnAudienceWithTauti;
+
+/**
+ * Bottle of Tauti's Soul (10705)
+ * @URL http://l2on.net/en/?c=quests&id=10705&game=1
+ * @author Gigi
+ */
+public final class Q10705_BottleOfTautisSoul extends Quest
+{
+ // NPCs
+ private static final int FERGASON = 33681;
+ // Item
+ private static final int BOTTLE_OF_TAUTIS_SOUL = 35295;
+ // Misc
+ private static final int MIN_LEVEL = 97;
+
+ public Q10705_BottleOfTautisSoul()
+ {
+ super(10705);
+ addStartNpc(FERGASON);
+ addTalkId(FERGASON);
+ addCondMinLevel(MIN_LEVEL, "33681-00.html");
+ addCondCompletedQuest(Q10384_AnAudienceWithTauti.class.getSimpleName(), "33681-00.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = null;
+ final QuestState qs = getQuestState(player, false);
+ final QuestState qs1 = player.getQuestState(Q10384_AnAudienceWithTauti.class.getSimpleName());
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (event)
+ {
+ case "33681-02.html":
+ case "33681-03.html":
+ case "33681-04.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33681-05.html":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "33681-06.html":
+ {
+ if (qs.isCond(1) && (getQuestItemsCount(player, BOTTLE_OF_TAUTIS_SOUL) >= 1))
+ {
+ takeItems(player, BOTTLE_OF_TAUTIS_SOUL, 1);
+ qs1.setState(State.CREATED);
+ qs1.setMemoState(1);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ else
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ final int npcId = npc.getId();
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((npcId == FERGASON) && (getQuestItemsCount(player, BOTTLE_OF_TAUTIS_SOUL) >= 1))
+ {
+ htmltext = "33681-01.html";
+ break;
+ }
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33681-05.html";
+ break;
+ }
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getNoQuestMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-01.html
new file mode 100644
index 0000000000..7e41b1e57d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-01.html
@@ -0,0 +1,4 @@
+Minstrel Liberatto:
+Adventurer! Do you have business with me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-02.html
new file mode 100644
index 0000000000..e33e861f50
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-02.html
@@ -0,0 +1,4 @@
+Minstrel Liberatto:
+You're interested in the tales of heroes? That's great to hear. Would you like to listen to my stories?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-03.html
new file mode 100644
index 0000000000..e9f9be0e5f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/33955-03.html
@@ -0,0 +1,3 @@
+Minstrel Liberatto:
+Good. Let me tell you my story then.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/Q10712_TheMinstrelsSongPart1.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/Q10712_TheMinstrelsSongPart1.java
new file mode 100644
index 0000000000..1c6d21a3d9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/Q10712_TheMinstrelsSongPart1.java
@@ -0,0 +1,100 @@
+/*
+ * 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.Q10712_TheMinstrelsSongPart1;
+
+import com.l2jmobius.gameserver.model.Location;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+
+import quests.LetterQuest;
+
+/**
+ * The Minstrel's Song, Part 1 (10712)
+ * @URL https://l2wiki.com/The_Minstrel%27s_Song,_Part_1
+ * @author Gigi
+ */
+public final class Q10712_TheMinstrelsSongPart1 extends LetterQuest
+{
+ // NPCs
+ private static final int LIBERATTO = 33955;
+ // Items
+ private static final int SOE_TALKING_ISLAND = 39553;
+ // Location
+ private static final Location TELEPORT_LOC = new Location(-113914, 255797, -1504);
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final int MAX_LEVEL = 87;
+
+ public Q10712_TheMinstrelsSongPart1()
+ {
+ super(10712);
+ addTalkId(LIBERATTO);
+ setLevel(MIN_LEVEL, MAX_LEVEL);
+ setStartLocation(SOE_TALKING_ISLAND, TELEPORT_LOC);
+ registerQuestItems(SOE_TALKING_ISLAND);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "33955-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33955-03.html":
+ {
+ giveStoryQuestReward(player, 20);
+ addExpAndSp(player, 23297400, 5591);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (qs.isStarted() && (npc.getId() == LIBERATTO))
+ {
+ htmltext = "33955-01.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/popup.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/popup.html
new file mode 100644
index 0000000000..ea84f10487
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10712_TheMinstrelsSongPart1/popup.html
@@ -0,0 +1,6 @@
+Minstrel Liberatto's Invitation:
+I am Minstrel Liberatto. Are You interested in tales of heroes? Not the heroes in the old stories but contemporary heroes. Perhaps you could be one of them. If you're interested, come to me.
+(A Scroll of Escape is enclosed. If you want to go now, use it to travel immediately.)
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-01.html
new file mode 100644
index 0000000000..8d9969e57d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-01.html
@@ -0,0 +1,4 @@
+Minstrel Tulesir:
+Adventurer! You're here to see me again. What do you need this time?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-02.html
new file mode 100644
index 0000000000..f9ff3a25be
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-02.html
@@ -0,0 +1,4 @@
+Minstrel Tulesir:
+So You're interested in the tales of heroes? It's about time. I will tell you interesting stories so that you may set your goals higher. Do you want to hear my stories?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-03.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-03.html
new file mode 100644
index 0000000000..c56a4d51d9
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/33958-03.html
@@ -0,0 +1,3 @@
+Minstrel Tulesir:
+Good. Let me tell you my story then.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/Q10731_TheMinstrelsSongPart6.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/Q10731_TheMinstrelsSongPart6.java
new file mode 100644
index 0000000000..5fb61f265a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/Q10731_TheMinstrelsSongPart6.java
@@ -0,0 +1,100 @@
+/*
+ * 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.Q10731_TheMinstrelsSongPart6;
+
+import com.l2jmobius.gameserver.model.Location;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+
+import quests.LetterQuest;
+
+/**
+ * The Minstrel's Song, Part 1 (10712)
+ * @URL https://l2wiki.com/The_Minstrel%27s_Song,_Part_1
+ * @author Gigi
+ */
+public final class Q10731_TheMinstrelsSongPart6 extends LetterQuest
+{
+ // NPCs
+ private static final int TULESIR = 33958;
+ // Items
+ private static final int SOE_ADEN_TOWN = 39557;
+ // Location
+ private static final Location TELEPORT_LOC = new Location(147205, 25784, -2008);
+ // Misc
+ private static final int MIN_LEVEL = 97;
+ private static final int MAX_LEVEL = 99;
+
+ public Q10731_TheMinstrelsSongPart6()
+ {
+ super(10731);
+ addTalkId(TULESIR);
+ setLevel(MIN_LEVEL, MAX_LEVEL);
+ setStartLocation(SOE_ADEN_TOWN, TELEPORT_LOC);
+ registerQuestItems(SOE_ADEN_TOWN);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "33958-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33958-03.html":
+ {
+ giveStoryQuestReward(player, 30);
+ addExpAndSp(player, 30252600, 7260);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ String htmltext = getNoQuestMsg(player);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+ if (qs.isStarted() && (npc.getId() == TULESIR))
+ {
+ htmltext = "33958-01.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/popup.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/popup.html
new file mode 100644
index 0000000000..531ebd1160
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10731_TheMinstrelsSongPart6/popup.html
@@ -0,0 +1,6 @@
+Minstrel Tulesir's Invitation:
+I am Minstrel Tulesir. Are You interested in tales of heroes? Not the heroes in the old stories but contemporary heroes. Perhaps you could be one of them. If you're interested, come to me.
+(A Scroll of Escape is enclosed. If you want to go now, use it to travel immediately.)
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-01.htm
new file mode 100644
index 0000000000..c6c082671a
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-01.htm
@@ -0,0 +1,4 @@
+Hermit:
+Not too long ago, a few fellows I have never seen came by. Since I'm here to listen to Eva's voice, I don't care much about what goes around in the world, but they left a lasting impression, so I remember them.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-02.htm
new file mode 100644
index 0000000000..0ac3a2e202
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-02.htm
@@ -0,0 +1,4 @@
+Hermit:
+Like I said earlier, I don't care much about what goes around the world, so I don't know what they did. They just went around the Wall of Argos... Oh! Maybe they were looking for the Eye of Argos?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-03.htm
new file mode 100644
index 0000000000..8efa5d6fd2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-03.htm
@@ -0,0 +1,4 @@
+Hermit:
+The Eye of Argos refers to the giant eye that went against the gods a long time ago. It's trapped somewhere in the Wall of Argos. Since the eye has been in existence for such a long time, maybe it knows what they are looking for?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-04.htm
new file mode 100644
index 0000000000..cc44bb8504
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-04.htm
@@ -0,0 +1,3 @@
+Hermit:
+Yes. Go to the Wall of Argos and find the Eye of Argos that was bound there for going against the gods in the past. You might find out what you want.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-05.html
new file mode 100644
index 0000000000..e5a37d0e78
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31616-05.html
@@ -0,0 +1,2 @@
+Hermit: Try looking for the Eye of Argos.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-01.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-01.html
new file mode 100644
index 0000000000..82f39d78df
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-01.html
@@ -0,0 +1,4 @@
+Eye of Argos:
+Who are you to come to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-02.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-02.html
new file mode 100644
index 0000000000..14036392b0
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/31683-02.html
@@ -0,0 +1,3 @@
+Eye of Argos:
+I am. Why are you here?
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/Q10796_TheEyeThatDefiedTheGods.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/Q10796_TheEyeThatDefiedTheGods.java
new file mode 100644
index 0000000000..ffe2b731f6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/Q10796_TheEyeThatDefiedTheGods.java
@@ -0,0 +1,119 @@
+/*
+ * 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.Q10796_TheEyeThatDefiedTheGods;
+
+import com.l2jmobius.gameserver.enums.Race;
+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;
+
+/**
+ * The Eye that Defied the Gods (10796)
+ * @URL https://l2wiki.com/The_Eye_that_Defied_the_Gods
+ * @author Gigi
+ */
+public class Q10796_TheEyeThatDefiedTheGods extends Quest
+{
+ // NPCs
+ private static final int HERMIT = 31616;
+ private static final int EYE_OF_ARGOS = 31683;
+ // Items
+ private static final int EAA = 730;
+ // Misc
+ private static final int MIN_LEVEL = 70;
+ private static final int MAX_LEVEL = 75;
+
+ public Q10796_TheEyeThatDefiedTheGods()
+ {
+ super(10796);
+ addStartNpc(HERMIT);
+ addTalkId(HERMIT, EYE_OF_ARGOS);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondRace(Race.ERTHEIA, "noErtheya.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "31616-02.htm":
+ case "31616-03.htm":
+ break;
+ case "31616-04.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "31683-02.html":
+ {
+ addExpAndSp(player, 1088640, 261);
+ giveStoryQuestReward(player, 2);
+ giveItems(player, EAA, 2);
+ qs.exitQuest(false, 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 HERMIT:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "31616-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "31616-05.htm";
+ }
+ if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ break;
+ }
+ case EYE_OF_ARGOS:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "31683-01.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ }
+ break;
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/noErtheia.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/noErtheia.html
new file mode 100644
index 0000000000..0ef4af975d
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/noErtheia.html
@@ -0,0 +1,3 @@
+Hermit:
+You are not Ertheia, this quest is not for you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/no_level.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/no_level.html
new file mode 100644
index 0000000000..26bfc341ab
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10796_TheEyeThatDefiedTheGods/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 70 - 75)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-01.htm
new file mode 100644
index 0000000000..c2455f58d2
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-01.htm
@@ -0,0 +1,4 @@
+Eye of Argos:
+Are you Ertheia? I heard your kind was hiding in the Material Realm, but I see that's not the case. Or, have these rough times called the Ertheia to the Material Realm? Regardless, I am waiting for a wise and brave adventurer. You will do. But, why have you come to me?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-02.htm
new file mode 100644
index 0000000000..5027ecef1b
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-02.htm
@@ -0,0 +1,4 @@
+Eye of Argos:
+The holy grail? Such a thing exists? I don't know. I have more important things to worry about than something so trivial.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-03.htm
new file mode 100644
index 0000000000..5dcb34a81f
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-03.htm
@@ -0,0 +1,4 @@
+Eye of Argos:
+Ertheia...I don't remember. I just said this, but I have much more important matters to think about. If you help me, I will do my very best to help you, too.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-04.htm
new file mode 100644
index 0000000000..900111ebb6
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-04.htm
@@ -0,0 +1,3 @@
+Eye of Argos:
+A drove of Embryos is trying to overtake me. But since I won't submit, the Embryos are at Daimon's Altar trying to obtain Daimon's the White-eyed's power. I want you to defeat Daimon the White-eyed so the Embryos can't get his power.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-05.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-05.html
new file mode 100644
index 0000000000..9b3a524adf
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-05.html
@@ -0,0 +1,3 @@
+Eye of Argos:
+Come back after you've defeated Daimon the White-eyed.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-06.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-06.html
new file mode 100644
index 0000000000..476e3fae32
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-06.html
@@ -0,0 +1,4 @@
+Eye of Argos:
+Have you defeated Daimon the White-eyed?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-07.html
new file mode 100644
index 0000000000..0d5f8e53a3
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/31683-07.html
@@ -0,0 +1,4 @@
+Eye of Argos:
+Well done. The Embryo will take a while to recover from this. So, you were looking for Ertheia? I remembered right after you left that they came by in a cluster. Making a racket too, about having found something near this place.
+I don't know what they found, though. A Human came by and took something from that very spot, merely moments before you got here. I guess you're too late.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/Q10797_CrossingFate.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/Q10797_CrossingFate.java
new file mode 100644
index 0000000000..85e05a8a57
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/Q10797_CrossingFate.java
@@ -0,0 +1,123 @@
+/*
+ * 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.Q10797_CrossingFate;
+
+import com.l2jmobius.gameserver.enums.Race;
+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 quests.Q10796_TheEyeThatDefiedTheGods.Q10796_TheEyeThatDefiedTheGods;
+
+/**
+ * Crossing Fate (10797)
+ * @URL https://l2wiki.com/Crossing_Fate
+ * @author Gigi
+ */
+public class Q10797_CrossingFate extends Quest
+{
+ // NPCs
+ private static final int EYE_OF_ARGOS = 31683;
+ private static final int DAIMON_THE_WHITE_EYED = 27499;
+ // Items
+ private static final int EAA = 730;
+ // Misc
+ private static final int MIN_LEVEL = 70;
+ private static final int MAX_LEVEL = 75;
+
+ public Q10797_CrossingFate()
+ {
+ super(10797);
+ addStartNpc(EYE_OF_ARGOS);
+ addTalkId(EYE_OF_ARGOS);
+ addKillId(DAIMON_THE_WHITE_EYED);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ addCondRace(Race.ERTHEIA, "noErtheya.html");
+ addCondCompletedQuest(Q10796_TheEyeThatDefiedTheGods.class.getSimpleName(), "restriction.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = event;
+ switch (event)
+ {
+ case "31683-02.htm":
+ case "31683-03.htm":
+ break;
+ case "31683-04.htm":
+ {
+ qs.startQuest();
+ break;
+ }
+ case "31683-07.html":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 2721600, 653);
+ giveStoryQuestReward(player, 26);
+ giveItems(player, EAA, 5);
+ qs.exitQuest(false, 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 = "31683-01.htm";
+ }
+ else if (qs.isCond(1))
+ {
+ htmltext = "31683-05.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "31683-06.html";
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
+ {
+ qs.setCond(2, true);
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/noErtheia.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/noErtheia.html
new file mode 100644
index 0000000000..ea67e16f1c
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/noErtheia.html
@@ -0,0 +1,3 @@
+High Priest Orven:
+You are not Ertheia, this quest is not for you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/no_level.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/no_level.html
new file mode 100644
index 0000000000..26bfc341ab
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 70 - 75)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/restriction.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/restriction.html
new file mode 100644
index 0000000000..b2af3b11ab
--- /dev/null
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10797_CrossingFate/restriction.html
@@ -0,0 +1,3 @@
+Research Pio:
+(Quest only available to Ertheia characters Lv. 70-75 who have completed the quest "The Eye that Defied the Gods.")
+
\ No newline at end of file
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java
index b205f4b294..1d8bd7128f 100644
--- a/L2J_Mobius_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -68,7 +68,11 @@ import quests.Q00142_FallenAngelRequestOfDawn.Q00142_FallenAngelRequestOfDawn;
import quests.Q00143_FallenAngelRequestOfDusk.Q00143_FallenAngelRequestOfDusk;
import quests.Q00144_PailakaInjuredDragon.Q00144_PailakaInjuredDragon;
import quests.Q00146_TheZeroHour.Q00146_TheZeroHour;
+import quests.Q00149_PrimalMotherIstina.Q00149_PrimalMotherIstina;
+import quests.Q00150_ExtremeChallengePrimalMotherResurrected.Q00150_ExtremeChallengePrimalMotherResurrected;
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;
@@ -120,18 +124,28 @@ import quests.Q00455_WingsOfSand.Q00455_WingsOfSand;
import quests.Q00456_DontKnowDontCare.Q00456_DontKnowDontCare;
import quests.Q00457_LostAndFound.Q00457_LostAndFound;
import quests.Q00458_PerfectForm.Q00458_PerfectForm;
+import quests.Q00459_TheVillainOfTheUndergroundMineTeredor.Q00459_TheVillainOfTheUndergroundMineTeredor;
+import quests.Q00460_PreciousResearchMaterial.Q00460_PreciousResearchMaterial;
+import quests.Q00462_StuffedAncientHeroes.Q00462_StuffedAncientHeroes;
import quests.Q00463_IMustBeaGenius.Q00463_IMustBeaGenius;
import quests.Q00464_Oath.Q00464_Oath;
+import quests.Q00465_WeAreFriends.Q00465_WeAreFriends;
import quests.Q00466_PlacingMySmallPower.Q00466_PlacingMySmallPower;
import quests.Q00468_BeLostInTheMysteriousScent.Q00468_BeLostInTheMysteriousScent;
+import quests.Q00469_SuspiciousGardener.Q00469_SuspiciousGardener;
import quests.Q00470_DivinityProtector.Q00470_DivinityProtector;
+import quests.Q00471_BreakingThroughTheEmeraldSquare.Q00471_BreakingThroughTheEmeraldSquare;
+import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor;
+import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden;
import quests.Q00474_WaitingForTheSummer.Q00474_WaitingForTheSummer;
import quests.Q00476_PlainMission.Q00476_PlainMission;
import quests.Q00481_ShadowHelper.Q00481_ShadowHelper;
+import quests.Q00483_IntendedTactic.Q00483_IntendedTactic;
import quests.Q00485_HotSpringWater.Q00485_HotSpringWater;
import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring;
import quests.Q00489_InThisQuietPlace.Q00489_InThisQuietPlace;
import quests.Q00490_DutyOfTheSurvivor.Q00490_DutyOfTheSurvivor;
+import quests.Q00491_InNominePatris.Q00491_InNominePatris;
import quests.Q00492_TombRaiders.Q00492_TombRaiders;
import quests.Q00493_KickingOutUnwelcomeGuests.Q00493_KickingOutUnwelcomeGuests;
import quests.Q00494_IncarnationOfGreedZellakaGroup.Q00494_IncarnationOfGreedZellakaGroup;
@@ -172,10 +186,14 @@ import quests.Q00663_SeductiveWhispers.Q00663_SeductiveWhispers;
import quests.Q00688_DefeatTheElrokianRaiders.Q00688_DefeatTheElrokianRaiders;
import quests.Q00726_LightWithinTheDarkness.Q00726_LightWithinTheDarkness;
import quests.Q00727_HopeWithinTheDarkness.Q00727_HopeWithinTheDarkness;
+import quests.Q00751_LiberatingTheSpirits.Q00751_LiberatingTheSpirits;
+import quests.Q00752_UncoverTheSecret.Q00752_UncoverTheSecret;
+import quests.Q00753_ReactingToACrisis.Q00753_ReactingToACrisis;
import quests.Q00754_AssistingTheRebelForces.Q00754_AssistingTheRebelForces;
import quests.Q00755_InNeedOfPetras.Q00755_InNeedOfPetras;
import quests.Q00756_TopQualityPetra.Q00756_TopQualityPetra;
import quests.Q00757_TriolsMovement.Q00757_TriolsMovement;
+import quests.Q00758_TheFallenKingsMen.Q00758_TheFallenKingsMen;
import quests.Q00760_BlockTheExit.Q00760_BlockTheExit;
import quests.Q00761_AssistingTheGoldenRamArmy.Q00761_AssistingTheGoldenRamArmy;
import quests.Q00762_AnOminousRequest.Q00762_AnOminousRequest;
@@ -183,9 +201,18 @@ import quests.Q00763_ADauntingTask.Q00763_ADauntingTask;
import quests.Q00764_WeakeningTheVarkaSilenosForces.Q00764_WeakeningTheVarkaSilenosForces;
import quests.Q00765_WeakeningTheKetraOrcForces.Q00765_WeakeningTheKetraOrcForces;
import quests.Q00772_PurifyingSouls.Q00772_PurifyingSouls;
+import quests.Q00775_RetrievingTheChaosFragment.Q00775_RetrievingTheChaosFragment;
+import quests.Q00776_SlayDarkLordEkimus.Q00776_SlayDarkLordEkimus;
+import quests.Q00777_SlayDarkLordTiat.Q00777_SlayDarkLordTiat;
+import quests.Q00778_OperationRoaringFlame.Q00778_OperationRoaringFlame;
+import quests.Q00783_VestigeOfTheMagicPower.Q00783_VestigeOfTheMagicPower;
import quests.Q00784_TheQuietKiller.Q00784_TheQuietKiller;
import quests.Q00785_ASuspiciousIngredient.Q00785_ASuspiciousIngredient;
import quests.Q00786_AwaitingTheVoiceOfTheGods.Q00786_AwaitingTheVoiceOfTheGods;
+import quests.Q00787_TheRoleOfAWatcher.Q00787_TheRoleOfAWatcher;
+import quests.Q00790_ObtainingFerinsTrust.Q00790_ObtainingFerinsTrust;
+import quests.Q00817_BlackAteliaResearch.Q00817_BlackAteliaResearch;
+import quests.Q00823_DisappearedRaceNewFairy.Q00823_DisappearedRaceNewFairy;
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
@@ -215,9 +242,16 @@ import quests.Q10296_SevenSignsOneWhoSeeksThePowerOfTheSeal.Q10296_SevenSignsOne
import quests.Q10297_GrandOpeningComeToOurPub.Q10297_GrandOpeningComeToOurPub;
import quests.Q10301_ShadowOfTerrorBlackishRedFog.Q10301_ShadowOfTerrorBlackishRedFog;
import quests.Q10302_UnsettlingShadowAndRumors.Q10302_UnsettlingShadowAndRumors;
+import quests.Q10303_CrossroadsBetweenLightAndDarkness.Q10303_CrossroadsBetweenLightAndDarkness;
+import quests.Q10304_ForForgottenHeroes.Q10304_ForForgottenHeroes;
import quests.Q10305_UnstoppableFutileEfforts.Q10305_UnstoppableFutileEfforts;
import quests.Q10306_TheCorruptedLeader.Q10306_TheCorruptedLeader;
+import quests.Q10307_TheCorruptedLeaderHisTruth.Q10307_TheCorruptedLeaderHisTruth;
import quests.Q10310_TwistedCreationTree.Q10310_TwistedCreationTree;
+import quests.Q10311_PeacefulDaysAreOver.Q10311_PeacefulDaysAreOver;
+import quests.Q10312_AbandonedGodsCreature.Q10312_AbandonedGodsCreature;
+import quests.Q10315_ToThePrisonOfDarkness.Q10315_ToThePrisonOfDarkness;
+import quests.Q10316_UndecayingMemoryOfThePast.Q10316_UndecayingMemoryOfThePast;
import quests.Q10317_OrbisWitch.Q10317_OrbisWitch;
import quests.Q10318_DecayingDarkness.Q10318_DecayingDarkness;
import quests.Q10320_LetsGoToTheCentralSquare.Q10320_LetsGoToTheCentralSquare;
@@ -247,6 +281,7 @@ import quests.Q10344_DayOfDestinyOrcsFate.Q10344_DayOfDestinyOrcsFate;
import quests.Q10345_DayOfDestinyDwarfsFate.Q10345_DayOfDestinyDwarfsFate;
import quests.Q10346_DayOfDestinyKamaelsFate.Q10346_DayOfDestinyKamaelsFate;
import quests.Q10351_OwnerOfHall.Q10351_OwnerOfHall;
+import quests.Q10353_CertificationOfValue.Q10353_CertificationOfValue;
import quests.Q10354_ResurrectedOwnerOfHall.Q10354_ResurrectedOwnerOfHall;
import quests.Q10358_DividedSakumPoslof.Q10358_DividedSakumPoslof;
import quests.Q10359_TracesOfEvil.Q10359_TracesOfEvil;
@@ -259,8 +294,16 @@ import quests.Q10365_SeekerEscort.Q10365_SeekerEscort;
import quests.Q10366_RuinsStatusUpdate.Q10366_RuinsStatusUpdate;
import quests.Q10368_RebellionOfMonsters.Q10368_RebellionOfMonsters;
import quests.Q10369_NoblesseSoulTesting.Q10369_NoblesseSoulTesting;
+import quests.Q10370_MenacingTimes.Q10370_MenacingTimes;
+import quests.Q10371_GraspThyPower.Q10371_GraspThyPower;
+import quests.Q10372_PurgatoryVolvere.Q10372_PurgatoryVolvere;
+import quests.Q10374_ThatPlaceSuccubus.Q10374_ThatPlaceSuccubus;
+import quests.Q10375_SuccubusDisciples.Q10375_SuccubusDisciples;
+import quests.Q10376_BloodyGoodTime.Q10376_BloodyGoodTime;
import quests.Q10377_TheInvadedExecutionGrounds.Q10377_TheInvadedExecutionGrounds;
+import quests.Q10378_WeedingWork.Q10378_WeedingWork;
import quests.Q10379_AnUninvitedGuest.Q10379_AnUninvitedGuest;
+import quests.Q10380_TheExecutionersExecution.Q10380_TheExecutionersExecution;
import quests.Q10381_ToTheSeedOfHellfire.Q10381_ToTheSeedOfHellfire;
import quests.Q10382_DayOfLiberation.Q10382_DayOfLiberation;
import quests.Q10383_FergasonsOffer.Q10383_FergasonsOffer;
@@ -268,6 +311,8 @@ import quests.Q10384_AnAudienceWithTauti.Q10384_AnAudienceWithTauti;
import quests.Q10385_RedThreadOfFate.Q10385_RedThreadOfFate;
import quests.Q10386_MysteriousJourney.Q10386_MysteriousJourney;
import quests.Q10387_SoullessOne.Q10387_SoullessOne;
+import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor;
+import quests.Q10389_TheVoiceOfAuthority.Q10389_TheVoiceOfAuthority;
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
import quests.Q10391_ASuspiciousHelper.Q10391_ASuspiciousHelper;
import quests.Q10392_FailureAndItsConsequences.Q10392_FailureAndItsConsequences;
@@ -317,12 +362,16 @@ import quests.Q10442_TheAnnihilatedPlains1.Q10442_TheAnnihilatedPlains1;
import quests.Q10443_TheAnnihilatedPlains2.Q10443_TheAnnihilatedPlains2;
import quests.Q10444_TheOriginOfMonsters.Q10444_TheOriginOfMonsters;
import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
+import quests.Q10446_HitAndRun.Q10446_HitAndRun;
+import quests.Q10447_TimingIsEverything.Q10447_TimingIsEverything;
import quests.Q10450_ADarkAmbition.Q10450_ADarkAmbition;
+import quests.Q10452_IsItEdible.Q10452_IsItEdible;
import quests.Q10453_StoppingTheWindDragon.Q10453_StoppingTheWindDragon;
import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter;
import quests.Q10459_ASickAmbition.Q10459_ASickAmbition;
import quests.Q10460_ReturnOfTheAlligatorHunter.Q10460_ReturnOfTheAlligatorHunter;
import quests.Q10461_TappingThePowerWithin.Q10461_TappingThePowerWithin;
+import quests.Q10462_TemperARustingBlade.Q10462_TemperARustingBlade;
import quests.Q10464_BePreparedForAnything.Q10464_BePreparedForAnything;
import quests.Q10465_SoulFrostSword.Q10465_SoulFrostSword;
import quests.Q10472_WindsOfFateEncroachingShadows.Q10472_WindsOfFateEncroachingShadows;
@@ -333,10 +382,15 @@ import quests.Q10504_JewelOfAntharas.Q10504_JewelOfAntharas;
import quests.Q10505_JewelOfValakas.Q10505_JewelOfValakas;
import quests.Q10701_TheRoadToDestruction.Q10701_TheRoadToDestruction;
import quests.Q10702_TheRoadToInfinity.Q10702_TheRoadToInfinity;
+import quests.Q10703_BottleOfIstinasSoul.Q10703_BottleOfIstinasSoul;
+import quests.Q10704_BottleOfOctavisSoul.Q10704_BottleOfOctavisSoul;
+import quests.Q10705_BottleOfTautisSoul.Q10705_BottleOfTautisSoul;
import quests.Q10707_FlamesOfSorrow.Q10707_FlamesOfSorrow;
import quests.Q10708_StrengthenTheBarrier.Q10708_StrengthenTheBarrier;
import quests.Q10709_TheStolenSeed.Q10709_TheStolenSeed;
import quests.Q10710_LifeEnergyRepository.Q10710_LifeEnergyRepository;
+import quests.Q10712_TheMinstrelsSongPart1.Q10712_TheMinstrelsSongPart1;
+import quests.Q10731_TheMinstrelsSongPart6.Q10731_TheMinstrelsSongPart6;
import quests.Q10732_AForeignLand.Q10732_AForeignLand;
import quests.Q10733_TheTestForSurvival.Q10733_TheTestForSurvival;
import quests.Q10734_DoOrDie.Q10734_DoOrDie;
@@ -390,6 +444,8 @@ import quests.Q10792_LettersFromTheQueenForestOfTheDead.Q10792_LettersFromTheQue
import quests.Q10793_SaveTheSouls.Q10793_SaveTheSouls;
import quests.Q10794_InvestigateTheForest.Q10794_InvestigateTheForest;
import quests.Q10795_LettersFromTheQueenWallOfAgros.Q10795_LettersFromTheQueenWallOfAgros;
+import quests.Q10796_TheEyeThatDefiedTheGods.Q10796_TheEyeThatDefiedTheGods;
+import quests.Q10797_CrossingFate.Q10797_CrossingFate;
import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenDragonValley;
import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley;
import quests.Q10800_ReconnaissanceAtDragonValley.Q10800_ReconnaissanceAtDragonValley;
@@ -479,7 +535,11 @@ public class QuestMasterHandler
Q00143_FallenAngelRequestOfDusk.class,
Q00144_PailakaInjuredDragon.class,
Q00146_TheZeroHour.class,
+ Q00149_PrimalMotherIstina.class,
+ Q00150_ExtremeChallengePrimalMotherResurrected.class,
Q00177_SplitDestiny.class,
+ Q00180_InfernalFlamesBurningInCrystalPrison.class,
+ Q00181_DevilsStrikeBackAdventOfBalok.class,
Q00183_RelicExploration.class,
Q00184_ArtOfPersuasion.class,
Q00185_NikolasCooperation.class,
@@ -531,18 +591,28 @@ public class QuestMasterHandler
Q00456_DontKnowDontCare.class,
Q00457_LostAndFound.class,
Q00458_PerfectForm.class,
+ Q00459_TheVillainOfTheUndergroundMineTeredor.class,
+ Q00460_PreciousResearchMaterial.class,
+ Q00462_StuffedAncientHeroes.class,
Q00463_IMustBeaGenius.class,
Q00464_Oath.class,
+ Q00465_WeAreFriends.class,
Q00466_PlacingMySmallPower.class,
Q00468_BeLostInTheMysteriousScent.class,
+ Q00469_SuspiciousGardener.class,
Q00470_DivinityProtector.class,
+ Q00471_BreakingThroughTheEmeraldSquare.class,
+ Q00472_ChallengeSteamCorridor.class,
+ Q00473_InTheCoralGarden.class,
Q00474_WaitingForTheSummer.class,
Q00476_PlainMission.class,
Q00481_ShadowHelper.class,
+ Q00483_IntendedTactic.class,
Q00485_HotSpringWater.class,
Q00488_WondersOfCaring.class,
Q00489_InThisQuietPlace.class,
Q00490_DutyOfTheSurvivor.class,
+ Q00491_InNominePatris.class,
Q00492_TombRaiders.class,
Q00493_KickingOutUnwelcomeGuests.class,
Q00494_IncarnationOfGreedZellakaGroup.class,
@@ -583,10 +653,14 @@ public class QuestMasterHandler
Q00688_DefeatTheElrokianRaiders.class,
Q00726_LightWithinTheDarkness.class,
Q00727_HopeWithinTheDarkness.class,
+ Q00751_LiberatingTheSpirits.class,
+ Q00752_UncoverTheSecret.class,
+ Q00753_ReactingToACrisis.class,
Q00754_AssistingTheRebelForces.class,
Q00755_InNeedOfPetras.class,
Q00756_TopQualityPetra.class,
Q00757_TriolsMovement.class,
+ Q00758_TheFallenKingsMen.class,
Q00760_BlockTheExit.class,
Q00761_AssistingTheGoldenRamArmy.class,
Q00762_AnOminousRequest.class,
@@ -594,9 +668,18 @@ public class QuestMasterHandler
Q00764_WeakeningTheVarkaSilenosForces.class,
Q00765_WeakeningTheKetraOrcForces.class,
Q00772_PurifyingSouls.class,
+ Q00775_RetrievingTheChaosFragment.class,
+ Q00776_SlayDarkLordEkimus.class,
+ Q00777_SlayDarkLordTiat.class,
+ Q00778_OperationRoaringFlame.class,
+ Q00783_VestigeOfTheMagicPower.class,
Q00784_TheQuietKiller.class,
Q00785_ASuspiciousIngredient.class,
Q00786_AwaitingTheVoiceOfTheGods.class,
+ Q00787_TheRoleOfAWatcher.class,
+ Q00790_ObtainingFerinsTrust.class,
+ Q00817_BlackAteliaResearch.class,
+ Q00823_DisappearedRaceNewFairy.class,
Q00901_HowLavasaurusesAreMade.class,
Q00902_ReclaimOurEra.class,
Q00903_TheCallOfAntharas.class,
@@ -626,9 +709,16 @@ public class QuestMasterHandler
Q10297_GrandOpeningComeToOurPub.class,
Q10301_ShadowOfTerrorBlackishRedFog.class,
Q10302_UnsettlingShadowAndRumors.class,
+ Q10303_CrossroadsBetweenLightAndDarkness.class,
+ Q10304_ForForgottenHeroes.class,
Q10305_UnstoppableFutileEfforts.class,
Q10306_TheCorruptedLeader.class,
+ Q10307_TheCorruptedLeaderHisTruth.class,
Q10310_TwistedCreationTree.class,
+ Q10311_PeacefulDaysAreOver.class,
+ Q10312_AbandonedGodsCreature.class,
+ Q10315_ToThePrisonOfDarkness.class,
+ Q10316_UndecayingMemoryOfThePast.class,
Q10317_OrbisWitch.class,
Q10318_DecayingDarkness.class,
Q10320_LetsGoToTheCentralSquare.class,
@@ -658,6 +748,7 @@ public class QuestMasterHandler
Q10345_DayOfDestinyDwarfsFate.class,
Q10346_DayOfDestinyKamaelsFate.class,
Q10351_OwnerOfHall.class,
+ Q10353_CertificationOfValue.class,
Q10354_ResurrectedOwnerOfHall.class,
Q10358_DividedSakumPoslof.class,
Q10359_TracesOfEvil.class,
@@ -670,8 +761,16 @@ public class QuestMasterHandler
Q10366_RuinsStatusUpdate.class,
Q10368_RebellionOfMonsters.class,
Q10369_NoblesseSoulTesting.class,
+ Q10370_MenacingTimes.class,
+ Q10371_GraspThyPower.class,
+ Q10372_PurgatoryVolvere.class,
+ Q10374_ThatPlaceSuccubus.class,
+ Q10375_SuccubusDisciples.class,
+ Q10376_BloodyGoodTime.class,
Q10377_TheInvadedExecutionGrounds.class,
+ Q10378_WeedingWork.class,
Q10379_AnUninvitedGuest.class,
+ Q10380_TheExecutionersExecution.class,
Q10381_ToTheSeedOfHellfire.class,
Q10382_DayOfLiberation.class,
Q10383_FergasonsOffer.class,
@@ -679,6 +778,8 @@ public class QuestMasterHandler
Q10385_RedThreadOfFate.class,
Q10386_MysteriousJourney.class,
Q10387_SoullessOne.class,
+ Q10388_ConspiracyBehindDoor.class,
+ Q10389_TheVoiceOfAuthority.class,
Q10390_KekropusLetter.class,
Q10391_ASuspiciousHelper.class,
Q10392_FailureAndItsConsequences.class,
@@ -728,12 +829,16 @@ public class QuestMasterHandler
Q10443_TheAnnihilatedPlains2.class,
Q10444_TheOriginOfMonsters.class,
Q10445_AnImpendingThreat.class,
+ Q10446_HitAndRun.class,
+ Q10447_TimingIsEverything.class,
Q10450_ADarkAmbition.class,
+ Q10452_IsItEdible.class,
Q10453_StoppingTheWindDragon.class,
Q10455_ElikiasLetter.class,
Q10459_ASickAmbition.class,
Q10460_ReturnOfTheAlligatorHunter.class,
Q10461_TappingThePowerWithin.class,
+ Q10462_TemperARustingBlade.class,
Q10464_BePreparedForAnything.class,
Q10465_SoulFrostSword.class,
Q10472_WindsOfFateEncroachingShadows.class,
@@ -744,10 +849,15 @@ public class QuestMasterHandler
Q10505_JewelOfValakas.class,
Q10701_TheRoadToDestruction.class,
Q10702_TheRoadToInfinity.class,
+ Q10703_BottleOfIstinasSoul.class,
+ Q10704_BottleOfOctavisSoul.class,
+ Q10705_BottleOfTautisSoul.class,
Q10707_FlamesOfSorrow.class,
Q10708_StrengthenTheBarrier.class,
Q10709_TheStolenSeed.class,
Q10710_LifeEnergyRepository.class,
+ Q10712_TheMinstrelsSongPart1.class,
+ Q10731_TheMinstrelsSongPart6.class,
Q10732_AForeignLand.class,
Q10733_TheTestForSurvival.class,
Q10734_DoOrDie.class,
@@ -801,6 +911,8 @@ public class QuestMasterHandler
Q10793_SaveTheSouls.class,
Q10794_InvestigateTheForest.class,
Q10795_LettersFromTheQueenWallOfAgros.class,
+ Q10796_TheEyeThatDefiedTheGods.class,
+ Q10797_CrossingFate.class,
Q10798_LettersFromTheQueenDragonValley.class,
Q10799_StrangeThingsAfootInTheValley.class,
Q10800_ReconnaissanceAtDragonValley.class,