High Priest Orven:
+On the Plans of the Lizardmen.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm
new file mode 100644
index 0000000000..3045a19116
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm
@@ -0,0 +1,6 @@
+High Priest Orven:
+Many Overlords had diied on the Plans of the Lizardmen.
+Echoes of their suffering and deaths had been imprinted in the plains for ever. That's why monsters like wandering there.
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm
new file mode 100644
index 0000000000..35c7db6663
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Plans of the Lizardmen and defeat the monsters that roam near. Valid targets: Tanta Lizardman, Tanta Lizardman Warrior, Tanta Lizardman Berserker, Tanta Lizardman Archer, Tanta Lizardman Summoner.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm
new file mode 100644
index 0000000000..b178afbafe
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Where do you think the most Overlords live?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java
new file mode 100644
index 0000000000..36b098398d
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java
@@ -0,0 +1,186 @@
+/*
+ * 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.Q10302_FoilPlansOfTheLizardmen;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10302_FoilPlansOfTheLizardmen extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22151,
+ 22152,
+ 22153,
+ 22154,
+ 22155,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 6);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 1);
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10302_FoilPlansOfTheLizardmen()
+ {
+ super(10302);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.ERADICATE_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.ERADICATE_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html
new file mode 100644
index 0000000000..028861c3f7
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Plans of the Lizardmen and defeat the monsters that roam near. Monsters to hunt: Tanta Lizardman, Tanta Lizardman Warrior, Tanta Lizardman Berserker, Tanta Lizardman Archer, Tanta Lizardman Summoner.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html
new file mode 100644
index 0000000000..b6e13ba772
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 76+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm
new file mode 100644
index 0000000000..7d346628d7
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Tower of Insolence.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm
new file mode 100644
index 0000000000..b42ce03b3a
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm
new file mode 100644
index 0000000000..666f94102a
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Tower of Insolence and defeat the monsters that roam near. Valid targets: Ghost of the Tower, Tower Watchman, Ghastly Warrior, Archer of Despair, Judge of Despair, Crendion, Swordsman of Ordeal, Hound of Destruction, Royal Guard of Insolence.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm
new file mode 100644
index 0000000000..70d9cbbeef
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous tower near Aden?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.java
new file mode 100644
index 0000000000..178a93a4f2
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.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.Q10303_SymbolOfHubris;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10303_SymbolOfHubris extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 21989,
+ 21990,
+ 21991,
+ 21992,
+ 21993,
+ 21994,
+ 21995,
+ 21996,
+ 21997,
+ 21998,
+ 21999,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 8);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 1);
+ // Misc
+ private static final int MIN_LEVEL = 78;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10303_SymbolOfHubris()
+ {
+ super(10303);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_TOWER_OF_INSOLENCE);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_TOWER_OF_INSOLENCE.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html
new file mode 100644
index 0000000000..16a1912499
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Tower of Insolence and defeat the monsters that roam near. Monsters to hunt: Ghost of the Tower, Tower Watchman, Ghastly Warrior, Archer of Despair, Judge of Despair, Crendion, Swordsman of Ordeal, Hound of Destruction, Royal Guard of Insolence.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html
new file mode 100644
index 0000000000..2943aea9f1
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 78+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm
new file mode 100644
index 0000000000..4bc92daa57
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Dragon Valley.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm
new file mode 100644
index 0000000000..cc16fa0d1f
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm
new file mode 100644
index 0000000000..4cbb299b50
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Dragon Valley (west) and defeat the monsters that roam near. Valid targets: Cave Maiden, Headless Knight, Convict, Cave Servant Captain, Cave Keeper, Drake, Gargoyle Hunter, Dustwind Gargoyle, Thunder Wyrm, Blood Queen, Maluk Succubus, Cave Banshee, Cave Servant, Cave Servant Archer, Cave Servant Warrior, Royal Cave Servant, Dragon Bearer Captain, Dragon Bearer Warrior, Dragon Bearer Archer, Lord Ishka.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm
new file mode 100644
index 0000000000..17b94fade3
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Dragons?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java
new file mode 100644
index 0000000000..981bbae16f
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java
@@ -0,0 +1,200 @@
+/*
+ * 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_ChangesintheDragonValley;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10304_ChangesintheDragonValley extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 20412,
+ 20142,
+ 20246,
+ 20134,
+ 20236,
+ 20237,
+ 20239,
+ 20238,
+ 20760,
+ 20758,
+ 20759,
+ 20137,
+ 20242,
+ 20146,
+ 20241,
+ 20244,
+ 20240,
+ 20235,
+ 20243,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 10);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10304_ChangesintheDragonValley()
+ {
+ super(10304);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_WEST);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_WEST.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html
new file mode 100644
index 0000000000..a8abaa44cb
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Dragon Valley and defeat the monsters that roam near. Monsters to hunt: Cave Maiden, Headless Knight, Convict, Cave Servant Captain, Cave Keeper, Drake, Gargoyle Hunter, Dustwind Gargoyle, Thunder Wyrm, Blood Queen, Maluk Succubus, Cave Banshee, Cave Servant, Cave Servant Archer, Cave Servant Warrior, Royal Cave Servant, Dragon Bearer Captain, Dragon Bearer Warrior, Dragon Bearer Archer, Lord Ishka.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html
new file mode 100644
index 0000000000..b6e13ba772
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 76+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm
new file mode 100644
index 0000000000..41985c4070
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Dragon Valley.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm
new file mode 100644
index 0000000000..e242dc6130
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm
new file mode 100644
index 0000000000..d5ece80095
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Dragon Valley (east) and defeat the monsters that roam near. Valid targets: Dragontroop Soldier, Dragontroop Lancer, Dragontroop Berserker, Dragontroop Minion, Dragontroop Wizard, Dragontroop Elite Wizard, Drake Minion, Mutated Drake..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm
new file mode 100644
index 0000000000..9b43713ffa
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Dragons?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.java
new file mode 100644
index 0000000000..885a8bf028
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.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.Q10305_DragonsSuspiciousMovements;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10305_DragonsSuspiciousMovements extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22307,
+ 22312,
+ 22306,
+ 22308,
+ 22309,
+ 22310,
+ 22311,
+ 22305,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 82;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10305_DragonsSuspiciousMovements()
+ {
+ super(10305);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_EAST);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 300000000, 8100000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_EAST.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html
new file mode 100644
index 0000000000..1f05a073ca
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Dragon Valley and defeat the monsters that roam near. Monsters to hunt: Dragontroop Soldier, Dragontroop Lancer, Dragontroop Berserker, Dragontroop Minion, Dragontroop Wizard, Dragontroop Elite Wizard, Drake Minion, Mutated Drake..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html
new file mode 100644
index 0000000000..e299c4c2a9
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 82+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm
new file mode 100644
index 0000000000..941a8fe32a
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Sel Mahum Base.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm
new file mode 100644
index 0000000000..7ce3cfce31
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm
new file mode 100644
index 0000000000..058593e0d9
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Sel Mahum Base and defeat the monsters that roam near. Valid targets: Sel Mahum Sniper, Sel Mahum Raider, Sel Mahum Berserker, Sel Mahum Mage, Sel Mahum Thief, Sel Mahum Wizard, Sel Mahum Knight, Sel Mahum Footman, Sel Mahum Bowman..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm
new file mode 100644
index 0000000000..d624fb082a
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Mahums?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java
new file mode 100644
index 0000000000..e314a22045
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java
@@ -0,0 +1,200 @@
+/*
+ * 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.Q10306_StopSelMahumsTroops;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10306_StopSelMahumsTroops extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22256,
+ 22237,
+ 22238,
+ 22239,
+ 22240,
+ 22241,
+ 22242,
+ 22243,
+ 22244,
+ 22245,
+ 22247,
+ 22248,
+ 22249,
+ 22250,
+ 22251,
+ 22252,
+ 22253,
+ 22254,
+ 22255,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10306_StopSelMahumsTroops()
+ {
+ super(10306);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_SEL_MAHUM_BASE);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 400000000, 10800000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_SEL_MAHUM_BASE.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html
new file mode 100644
index 0000000000..b265d68090
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Sel Mahum Base and defeat the monsters that roam near. Monsters to hunt: Sel Mahum Sniper, Sel Mahum Raider, Sel Mahum Berserker, Sel Mahum Mage, Sel Mahum Thief, Sel Mahum Wizard, Sel Mahum Knight, Sel Mahum Footman, Sel Mahum Bowman..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html
new file mode 100644
index 0000000000..9d3cbf3d4b
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 85+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm
new file mode 100644
index 0000000000..f32a4848ee
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Orc Barracks.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm
new file mode 100644
index 0000000000..a1af9b6584
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm
new file mode 100644
index 0000000000..241b89a7f4
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Orc Barracks and defeat the monsters that roam near. Valid targets: Turek Orc, Turek Orc Footman, Turek Orc Marksman, Turek Orc Warrior, Turek Orc Shaman, Kerr, Turek Orc Elite, Turek Orc Skirmisher, Turek Orc Sniper, Turek Orc Prefect, Turek Orc Elder, Turek..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm
new file mode 100644
index 0000000000..ba800ba904
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of dirty Orcs?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java
new file mode 100644
index 0000000000..cbd17ddcc9
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java
@@ -0,0 +1,193 @@
+/*
+ * 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_TurekOrcsSecret;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10307_TurekOrcsSecret extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22135,
+ 22136,
+ 22137,
+ 22138,
+ 22139,
+ 22140,
+ 22146,
+ 22141,
+ 22142,
+ 22143,
+ 22144,
+ 22145,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10307_TurekOrcsSecret()
+ {
+ super(10307);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_ORC_BARRACKS);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 500000000, 13500000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_ORC_BARRACKS.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html
new file mode 100644
index 0000000000..c3944df5aa
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Orc Barracks and defeat the monsters that roam near. Monsters to hunt: Turek Orc, Turek Orc Footman, Turek Orc Marksman, Turek Orc Warrior, Turek Orc Shaman, Kerr, Turek Orc Elite, Turek Orc Skirmisher, Turek Orc Sniper, Turek Orc Prefect, Turek Orc Elder, Turek..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html
new file mode 100644
index 0000000000..9d3cbf3d4b
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 85+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/QuestMasterHandler.java
index 3c28d43552..87723a15cc 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -35,6 +35,12 @@ import quests.Q10298_TracesOfBattle.Q10298_TracesOfBattle;
import quests.Q10299_GetIncrediblePower.Q10299_GetIncrediblePower;
import quests.Q10300_ExploringTheCrumaTower.Q10300_ExploringTheCrumaTower;
import quests.Q10301_NotSoSilentValley.Q10301_NotSoSilentValley;
+import quests.Q10302_FoilPlansOfTheLizardmen.Q10302_FoilPlansOfTheLizardmen;
+import quests.Q10303_SymbolOfHubris.Q10303_SymbolOfHubris;
+import quests.Q10304_ChangesintheDragonValley.Q10304_ChangesintheDragonValley;
+import quests.Q10305_DragonsSuspiciousMovements.Q10305_DragonsSuspiciousMovements;
+import quests.Q10306_StopSelMahumsTroops.Q10306_StopSelMahumsTroops;
+import quests.Q10307_TurekOrcsSecret.Q10307_TurekOrcsSecret;
import quests.Q10673_SagaOfLegend.Q10673_SagaOfLegend;
import quests.Q10954_SayhaChildren.Q10954_SayhaChildren;
import quests.Q10955_NewLifeLessons.Q10955_NewLifeLessons;
@@ -87,6 +93,12 @@ public class QuestMasterHandler
Q10299_GetIncrediblePower.class,
Q10300_ExploringTheCrumaTower.class,
Q10301_NotSoSilentValley.class,
+ Q10302_FoilPlansOfTheLizardmen.class,
+ Q10303_SymbolOfHubris.class,
+ Q10304_ChangesintheDragonValley.class,
+ Q10305_DragonsSuspiciousMovements.class,
+ Q10306_StopSelMahumsTroops.class,
+ Q10307_TurekOrcsSecret.class,
Q10954_SayhaChildren.class,
Q10955_NewLifeLessons.class,
Q10956_WeSylphs.class,
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-01.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-01.htm
new file mode 100644
index 0000000000..a77dd22c64
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+On the Plans of the Lizardmen.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm
new file mode 100644
index 0000000000..3045a19116
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm
@@ -0,0 +1,6 @@
+High Priest Orven:
+Many Overlords had diied on the Plans of the Lizardmen.
+Echoes of their suffering and deaths had been imprinted in the plains for ever. That's why monsters like wandering there.
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm
new file mode 100644
index 0000000000..35c7db6663
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Plans of the Lizardmen and defeat the monsters that roam near. Valid targets: Tanta Lizardman, Tanta Lizardman Warrior, Tanta Lizardman Berserker, Tanta Lizardman Archer, Tanta Lizardman Summoner.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm
new file mode 100644
index 0000000000..b178afbafe
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Where do you think the most Overlords live?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java
new file mode 100644
index 0000000000..36b098398d
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java
@@ -0,0 +1,186 @@
+/*
+ * 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.Q10302_FoilPlansOfTheLizardmen;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10302_FoilPlansOfTheLizardmen extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22151,
+ 22152,
+ 22153,
+ 22154,
+ 22155,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 6);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 1);
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10302_FoilPlansOfTheLizardmen()
+ {
+ super(10302);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.ERADICATE_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.ERADICATE_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html
new file mode 100644
index 0000000000..028861c3f7
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Plans of the Lizardmen and defeat the monsters that roam near. Monsters to hunt: Tanta Lizardman, Tanta Lizardman Warrior, Tanta Lizardman Berserker, Tanta Lizardman Archer, Tanta Lizardman Summoner.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html
new file mode 100644
index 0000000000..b6e13ba772
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 76+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm
new file mode 100644
index 0000000000..7d346628d7
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Tower of Insolence.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm
new file mode 100644
index 0000000000..b42ce03b3a
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm
new file mode 100644
index 0000000000..666f94102a
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Tower of Insolence and defeat the monsters that roam near. Valid targets: Ghost of the Tower, Tower Watchman, Ghastly Warrior, Archer of Despair, Judge of Despair, Crendion, Swordsman of Ordeal, Hound of Destruction, Royal Guard of Insolence.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm
new file mode 100644
index 0000000000..70d9cbbeef
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous tower near Aden?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.java
new file mode 100644
index 0000000000..6de8e806e3
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.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.Q10303_SymbolOfHubris;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10303_SymbolOfHubris extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 21989,
+ 21990,
+ 21991,
+ 21992,
+ 21993,
+ 21994,
+ 21995,
+ 21996,
+ 21997,
+ 21998,
+ 21999,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 8);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 1);
+ // Misc
+ private static final int MIN_LEVEL = 78;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10303_SymbolOfHubris()
+ {
+ super(10303);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.KILL_MONSTERS_IN_THE_TOWER_OF_INSOLENCE);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_IN_THE_TOWER_OF_INSOLENCE.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html
new file mode 100644
index 0000000000..16a1912499
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Tower of Insolence and defeat the monsters that roam near. Monsters to hunt: Ghost of the Tower, Tower Watchman, Ghastly Warrior, Archer of Despair, Judge of Despair, Crendion, Swordsman of Ordeal, Hound of Destruction, Royal Guard of Insolence.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html
new file mode 100644
index 0000000000..2943aea9f1
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 78+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm
new file mode 100644
index 0000000000..4bc92daa57
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Dragon Valley.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm
new file mode 100644
index 0000000000..cc16fa0d1f
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm
new file mode 100644
index 0000000000..4cbb299b50
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Dragon Valley (west) and defeat the monsters that roam near. Valid targets: Cave Maiden, Headless Knight, Convict, Cave Servant Captain, Cave Keeper, Drake, Gargoyle Hunter, Dustwind Gargoyle, Thunder Wyrm, Blood Queen, Maluk Succubus, Cave Banshee, Cave Servant, Cave Servant Archer, Cave Servant Warrior, Royal Cave Servant, Dragon Bearer Captain, Dragon Bearer Warrior, Dragon Bearer Archer, Lord Ishka.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm
new file mode 100644
index 0000000000..17b94fade3
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Dragons?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java
new file mode 100644
index 0000000000..981bbae16f
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java
@@ -0,0 +1,200 @@
+/*
+ * 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_ChangesintheDragonValley;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10304_ChangesintheDragonValley extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 20412,
+ 20142,
+ 20246,
+ 20134,
+ 20236,
+ 20237,
+ 20239,
+ 20238,
+ 20760,
+ 20758,
+ 20759,
+ 20137,
+ 20242,
+ 20146,
+ 20241,
+ 20244,
+ 20240,
+ 20235,
+ 20243,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 10);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10304_ChangesintheDragonValley()
+ {
+ super(10304);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_WEST);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_WEST.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html
new file mode 100644
index 0000000000..a8abaa44cb
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Dragon Valley and defeat the monsters that roam near. Monsters to hunt: Cave Maiden, Headless Knight, Convict, Cave Servant Captain, Cave Keeper, Drake, Gargoyle Hunter, Dustwind Gargoyle, Thunder Wyrm, Blood Queen, Maluk Succubus, Cave Banshee, Cave Servant, Cave Servant Archer, Cave Servant Warrior, Royal Cave Servant, Dragon Bearer Captain, Dragon Bearer Warrior, Dragon Bearer Archer, Lord Ishka.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html
new file mode 100644
index 0000000000..b6e13ba772
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 76+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm
new file mode 100644
index 0000000000..41985c4070
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Dragon Valley.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm
new file mode 100644
index 0000000000..e242dc6130
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm
new file mode 100644
index 0000000000..d5ece80095
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Dragon Valley (east) and defeat the monsters that roam near. Valid targets: Dragontroop Soldier, Dragontroop Lancer, Dragontroop Berserker, Dragontroop Minion, Dragontroop Wizard, Dragontroop Elite Wizard, Drake Minion, Mutated Drake..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm
new file mode 100644
index 0000000000..9b43713ffa
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Dragons?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.java
new file mode 100644
index 0000000000..885a8bf028
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.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.Q10305_DragonsSuspiciousMovements;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10305_DragonsSuspiciousMovements extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22307,
+ 22312,
+ 22306,
+ 22308,
+ 22309,
+ 22310,
+ 22311,
+ 22305,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 82;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10305_DragonsSuspiciousMovements()
+ {
+ super(10305);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_EAST);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 300000000, 8100000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_EAST.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html
new file mode 100644
index 0000000000..1f05a073ca
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Dragon Valley and defeat the monsters that roam near. Monsters to hunt: Dragontroop Soldier, Dragontroop Lancer, Dragontroop Berserker, Dragontroop Minion, Dragontroop Wizard, Dragontroop Elite Wizard, Drake Minion, Mutated Drake..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html
new file mode 100644
index 0000000000..e299c4c2a9
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 82+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm
new file mode 100644
index 0000000000..941a8fe32a
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Sel Mahum Base.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm
new file mode 100644
index 0000000000..7ce3cfce31
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm
new file mode 100644
index 0000000000..058593e0d9
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Sel Mahum Base and defeat the monsters that roam near. Valid targets: Sel Mahum Sniper, Sel Mahum Raider, Sel Mahum Berserker, Sel Mahum Mage, Sel Mahum Thief, Sel Mahum Wizard, Sel Mahum Knight, Sel Mahum Footman, Sel Mahum Bowman..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm
new file mode 100644
index 0000000000..d624fb082a
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Mahums?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java
new file mode 100644
index 0000000000..e314a22045
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java
@@ -0,0 +1,200 @@
+/*
+ * 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.Q10306_StopSelMahumsTroops;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10306_StopSelMahumsTroops extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22256,
+ 22237,
+ 22238,
+ 22239,
+ 22240,
+ 22241,
+ 22242,
+ 22243,
+ 22244,
+ 22245,
+ 22247,
+ 22248,
+ 22249,
+ 22250,
+ 22251,
+ 22252,
+ 22253,
+ 22254,
+ 22255,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10306_StopSelMahumsTroops()
+ {
+ super(10306);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_SEL_MAHUM_BASE);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 400000000, 10800000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_SEL_MAHUM_BASE.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html
new file mode 100644
index 0000000000..b265d68090
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Sel Mahum Base and defeat the monsters that roam near. Monsters to hunt: Sel Mahum Sniper, Sel Mahum Raider, Sel Mahum Berserker, Sel Mahum Mage, Sel Mahum Thief, Sel Mahum Wizard, Sel Mahum Knight, Sel Mahum Footman, Sel Mahum Bowman..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html
new file mode 100644
index 0000000000..9d3cbf3d4b
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 85+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm
new file mode 100644
index 0000000000..f32a4848ee
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Orc Barracks.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm
new file mode 100644
index 0000000000..a1af9b6584
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm
new file mode 100644
index 0000000000..241b89a7f4
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Orc Barracks and defeat the monsters that roam near. Valid targets: Turek Orc, Turek Orc Footman, Turek Orc Marksman, Turek Orc Warrior, Turek Orc Shaman, Kerr, Turek Orc Elite, Turek Orc Skirmisher, Turek Orc Sniper, Turek Orc Prefect, Turek Orc Elder, Turek..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm
new file mode 100644
index 0000000000..ba800ba904
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of dirty Orcs?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java
new file mode 100644
index 0000000000..cbd17ddcc9
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java
@@ -0,0 +1,193 @@
+/*
+ * 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_TurekOrcsSecret;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10307_TurekOrcsSecret extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22135,
+ 22136,
+ 22137,
+ 22138,
+ 22139,
+ 22140,
+ 22146,
+ 22141,
+ 22142,
+ 22143,
+ 22144,
+ 22145,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10307_TurekOrcsSecret()
+ {
+ super(10307);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_ORC_BARRACKS);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 500000000, 13500000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_ORC_BARRACKS.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html
new file mode 100644
index 0000000000..c3944df5aa
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Orc Barracks and defeat the monsters that roam near. Monsters to hunt: Turek Orc, Turek Orc Footman, Turek Orc Marksman, Turek Orc Warrior, Turek Orc Shaman, Kerr, Turek Orc Elite, Turek Orc Skirmisher, Turek Orc Sniper, Turek Orc Prefect, Turek Orc Elder, Turek..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html
new file mode 100644
index 0000000000..9d3cbf3d4b
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 85+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/QuestMasterHandler.java
index 56d57c275c..0ce4a33882 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -35,6 +35,12 @@ import quests.Q10298_TracesOfBattle.Q10298_TracesOfBattle;
import quests.Q10299_GetIncrediblePower.Q10299_GetIncrediblePower;
import quests.Q10300_ExploringTheCrumaTower.Q10300_ExploringTheCrumaTower;
import quests.Q10301_NotSoSilentValley.Q10301_NotSoSilentValley;
+import quests.Q10302_FoilPlansOfTheLizardmen.Q10302_FoilPlansOfTheLizardmen;
+import quests.Q10303_SymbolOfHubris.Q10303_SymbolOfHubris;
+import quests.Q10304_ChangesintheDragonValley.Q10304_ChangesintheDragonValley;
+import quests.Q10305_DragonsSuspiciousMovements.Q10305_DragonsSuspiciousMovements;
+import quests.Q10306_StopSelMahumsTroops.Q10306_StopSelMahumsTroops;
+import quests.Q10307_TurekOrcsSecret.Q10307_TurekOrcsSecret;
import quests.Q10311_BestMedicine.Q10311_BestMedicine;
import quests.Q10312_GordesLegend.Q10312_GordesLegend;
import quests.Q10313_CunningMorgos.Q10313_CunningMorgos;
@@ -94,6 +100,12 @@ public class QuestMasterHandler
Q10299_GetIncrediblePower.class,
Q10300_ExploringTheCrumaTower.class,
Q10301_NotSoSilentValley.class,
+ Q10302_FoilPlansOfTheLizardmen.class,
+ Q10303_SymbolOfHubris.class,
+ Q10304_ChangesintheDragonValley.class,
+ Q10305_DragonsSuspiciousMovements.class,
+ Q10306_StopSelMahumsTroops.class,
+ Q10307_TurekOrcsSecret.class,
Q10311_BestMedicine.class,
Q10312_GordesLegend.class,
Q10313_CunningMorgos.class,
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-01.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-01.htm
new file mode 100644
index 0000000000..a77dd22c64
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+On the Plans of the Lizardmen.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm
new file mode 100644
index 0000000000..3045a19116
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-02.htm
@@ -0,0 +1,6 @@
+High Priest Orven:
+Many Overlords had diied on the Plans of the Lizardmen.
+Echoes of their suffering and deaths had been imprinted in the plains for ever. That's why monsters like wandering there.
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm
new file mode 100644
index 0000000000..35c7db6663
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Plans of the Lizardmen and defeat the monsters that roam near. Valid targets: Tanta Lizardman, Tanta Lizardman Warrior, Tanta Lizardman Berserker, Tanta Lizardman Archer, Tanta Lizardman Summoner.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm
new file mode 100644
index 0000000000..b178afbafe
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Where do you think the most Overlords live?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java
new file mode 100644
index 0000000000..36b098398d
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/Q10302_FoilPlansOfTheLizardmen.java
@@ -0,0 +1,186 @@
+/*
+ * 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.Q10302_FoilPlansOfTheLizardmen;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10302_FoilPlansOfTheLizardmen extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22151,
+ 22152,
+ 22153,
+ 22154,
+ 22155,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 6);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 1);
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10302_FoilPlansOfTheLizardmen()
+ {
+ super(10302);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.ERADICATE_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.ERADICATE_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html
new file mode 100644
index 0000000000..028861c3f7
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Plans of the Lizardmen and defeat the monsters that roam near. Monsters to hunt: Tanta Lizardman, Tanta Lizardman Warrior, Tanta Lizardman Berserker, Tanta Lizardman Archer, Tanta Lizardman Summoner.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html
new file mode 100644
index 0000000000..b6e13ba772
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10302_FoilPlansOfTheLizardmen/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 76+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm
new file mode 100644
index 0000000000..7d346628d7
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Tower of Insolence.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm
new file mode 100644
index 0000000000..b42ce03b3a
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm
new file mode 100644
index 0000000000..666f94102a
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Tower of Insolence and defeat the monsters that roam near. Valid targets: Ghost of the Tower, Tower Watchman, Ghastly Warrior, Archer of Despair, Judge of Despair, Crendion, Swordsman of Ordeal, Hound of Destruction, Royal Guard of Insolence.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm
new file mode 100644
index 0000000000..70d9cbbeef
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous tower near Aden?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.java
new file mode 100644
index 0000000000..6de8e806e3
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/Q10303_SymbolOfHubris.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.Q10303_SymbolOfHubris;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10303_SymbolOfHubris extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 21989,
+ 21990,
+ 21991,
+ 21992,
+ 21993,
+ 21994,
+ 21995,
+ 21996,
+ 21997,
+ 21998,
+ 21999,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 8);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 1);
+ // Misc
+ private static final int MIN_LEVEL = 78;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10303_SymbolOfHubris()
+ {
+ super(10303);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.KILL_MONSTERS_IN_THE_TOWER_OF_INSOLENCE);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_IN_THE_TOWER_OF_INSOLENCE.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html
new file mode 100644
index 0000000000..16a1912499
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Tower of Insolence and defeat the monsters that roam near. Monsters to hunt: Ghost of the Tower, Tower Watchman, Ghastly Warrior, Archer of Despair, Judge of Despair, Crendion, Swordsman of Ordeal, Hound of Destruction, Royal Guard of Insolence.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html
new file mode 100644
index 0000000000..2943aea9f1
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10303_SymbolOfHubris/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 78+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm
new file mode 100644
index 0000000000..4bc92daa57
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Dragon Valley.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm
new file mode 100644
index 0000000000..cc16fa0d1f
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm
new file mode 100644
index 0000000000..4cbb299b50
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Dragon Valley (west) and defeat the monsters that roam near. Valid targets: Cave Maiden, Headless Knight, Convict, Cave Servant Captain, Cave Keeper, Drake, Gargoyle Hunter, Dustwind Gargoyle, Thunder Wyrm, Blood Queen, Maluk Succubus, Cave Banshee, Cave Servant, Cave Servant Archer, Cave Servant Warrior, Royal Cave Servant, Dragon Bearer Captain, Dragon Bearer Warrior, Dragon Bearer Archer, Lord Ishka.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm
new file mode 100644
index 0000000000..17b94fade3
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Dragons?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java
new file mode 100644
index 0000000000..981bbae16f
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/Q10304_ChangesintheDragonValley.java
@@ -0,0 +1,200 @@
+/*
+ * 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_ChangesintheDragonValley;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10304_ChangesintheDragonValley extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 20412,
+ 20142,
+ 20246,
+ 20134,
+ 20236,
+ 20237,
+ 20239,
+ 20238,
+ 20760,
+ 20758,
+ 20759,
+ 20137,
+ 20242,
+ 20146,
+ 20241,
+ 20244,
+ 20240,
+ 20235,
+ 20243,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 10);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 76;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10304_ChangesintheDragonValley()
+ {
+ super(10304);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_WEST);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 100000000, 2700000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_WEST.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html
new file mode 100644
index 0000000000..a8abaa44cb
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Dragon Valley and defeat the monsters that roam near. Monsters to hunt: Cave Maiden, Headless Knight, Convict, Cave Servant Captain, Cave Keeper, Drake, Gargoyle Hunter, Dustwind Gargoyle, Thunder Wyrm, Blood Queen, Maluk Succubus, Cave Banshee, Cave Servant, Cave Servant Archer, Cave Servant Warrior, Royal Cave Servant, Dragon Bearer Captain, Dragon Bearer Warrior, Dragon Bearer Archer, Lord Ishka.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html
new file mode 100644
index 0000000000..b6e13ba772
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10304_ChangesintheDragonValley/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 76+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm
new file mode 100644
index 0000000000..41985c4070
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Dragon Valley.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm
new file mode 100644
index 0000000000..e242dc6130
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm
new file mode 100644
index 0000000000..d5ece80095
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Dragon Valley (east) and defeat the monsters that roam near. Valid targets: Dragontroop Soldier, Dragontroop Lancer, Dragontroop Berserker, Dragontroop Minion, Dragontroop Wizard, Dragontroop Elite Wizard, Drake Minion, Mutated Drake..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm
new file mode 100644
index 0000000000..9b43713ffa
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Dragons?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.java
new file mode 100644
index 0000000000..885a8bf028
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/Q10305_DragonsSuspiciousMovements.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.Q10305_DragonsSuspiciousMovements;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10305_DragonsSuspiciousMovements extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22307,
+ 22312,
+ 22306,
+ 22308,
+ 22309,
+ 22310,
+ 22311,
+ 22305,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 82;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10305_DragonsSuspiciousMovements()
+ {
+ super(10305);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_EAST);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 300000000, 8100000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_DRAGON_VALLEY_EAST.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html
new file mode 100644
index 0000000000..1f05a073ca
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Dragon Valley and defeat the monsters that roam near. Monsters to hunt: Dragontroop Soldier, Dragontroop Lancer, Dragontroop Berserker, Dragontroop Minion, Dragontroop Wizard, Dragontroop Elite Wizard, Drake Minion, Mutated Drake..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html
new file mode 100644
index 0000000000..e299c4c2a9
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10305_DragonsSuspiciousMovements/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 82+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm
new file mode 100644
index 0000000000..941a8fe32a
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Sel Mahum Base.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm
new file mode 100644
index 0000000000..7ce3cfce31
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm
new file mode 100644
index 0000000000..058593e0d9
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Sel Mahum Base and defeat the monsters that roam near. Valid targets: Sel Mahum Sniper, Sel Mahum Raider, Sel Mahum Berserker, Sel Mahum Mage, Sel Mahum Thief, Sel Mahum Wizard, Sel Mahum Knight, Sel Mahum Footman, Sel Mahum Bowman..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm
new file mode 100644
index 0000000000..d624fb082a
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of Mahums?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java
new file mode 100644
index 0000000000..e314a22045
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/Q10306_StopSelMahumsTroops.java
@@ -0,0 +1,200 @@
+/*
+ * 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.Q10306_StopSelMahumsTroops;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10306_StopSelMahumsTroops extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22256,
+ 22237,
+ 22238,
+ 22239,
+ 22240,
+ 22241,
+ 22242,
+ 22243,
+ 22244,
+ 22245,
+ 22247,
+ 22248,
+ 22249,
+ 22250,
+ 22251,
+ 22252,
+ 22253,
+ 22254,
+ 22255,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10306_StopSelMahumsTroops()
+ {
+ super(10306);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_SEL_MAHUM_BASE);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 400000000, 10800000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_SEL_MAHUM_BASE.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html
new file mode 100644
index 0000000000..b265d68090
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Sel Mahum Base and defeat the monsters that roam near. Monsters to hunt: Sel Mahum Sniper, Sel Mahum Raider, Sel Mahum Berserker, Sel Mahum Mage, Sel Mahum Thief, Sel Mahum Wizard, Sel Mahum Knight, Sel Mahum Footman, Sel Mahum Bowman..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html
new file mode 100644
index 0000000000..9d3cbf3d4b
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10306_StopSelMahumsTroops/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 85+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm
new file mode 100644
index 0000000000..f32a4848ee
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-01.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+It's called a Orc Barracks.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm
new file mode 100644
index 0000000000..a1af9b6584
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+I want to ask you for help.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm
new file mode 100644
index 0000000000..241b89a7f4
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857-03.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Thank you for answering my plea.
+Go to the Orc Barracks and defeat the monsters that roam near. Valid targets: Turek Orc, Turek Orc Footman, Turek Orc Marksman, Turek Orc Warrior, Turek Orc Shaman, Kerr, Turek Orc Elite, Turek Orc Skirmisher, Turek Orc Sniper, Turek Orc Prefect, Turek Orc Elder, Turek..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm
new file mode 100644
index 0000000000..ba800ba904
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/30857.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+Hello my friend. Do you want to explore a dangerous place with full of dirty Orcs?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java
new file mode 100644
index 0000000000..cbd17ddcc9
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/Q10307_TurekOrcsSecret.java
@@ -0,0 +1,193 @@
+/*
+ * 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_TurekOrcsSecret;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.l2jmobius.gameserver.enums.QuestSound;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.ItemHolder;
+import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
+import org.l2jmobius.gameserver.model.quest.Quest;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * @author petryxa
+ */
+public class Q10307_TurekOrcsSecret extends Quest
+{
+ // NPC
+ private static final int ORVEN = 30857;
+ // Monsters
+ private static final int[] MONSTERS =
+ {
+ 22135,
+ 22136,
+ 22137,
+ 22138,
+ 22139,
+ 22140,
+ 22146,
+ 22141,
+ 22142,
+ 22143,
+ 22144,
+ 22145,
+ };
+ // Items
+ private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
+ private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 20);
+ private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 12);
+ private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 2);
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final String KILL_COUNT_VAR = "KillCount";
+
+ public Q10307_TurekOrcsSecret()
+ {
+ super(10307);
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN);
+ addKillId(MONSTERS);
+ addCondMinLevel(MIN_LEVEL, "no_lvl.html");
+ registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
+ setQuestNameNpcStringId(NpcStringId.DEFEAT_MONSTERS_IN_THE_ORC_BARRACKS);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857.htm":
+ case "30857-01.htm":
+ case "30857-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "reward":
+ {
+ if (qs.isCond(2))
+ {
+ addExpAndSp(player, 500000000, 13500000);
+ giveItems(player, SAYHA_COOKIE);
+ giveItems(player, SAYHA_STORM);
+ giveItems(player, MAGIC_LAMP_CHARGING_POTION);
+ htmltext = "30857-05.html";
+ qs.exitQuest(false, true);
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(Npc npc, Player player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = "30857.htm";
+ }
+ else if (qs.isStarted())
+ {
+ if (qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ htmltext = "no_kill.html";
+ }
+ else
+ {
+ htmltext = "30857-01.htm";
+ }
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(Npc npc, Player killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
+ if (killCount < 1000)
+ {
+ qs.set(KILL_COUNT_VAR, killCount);
+ playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ sendNpcLogList(killer);
+ }
+ else
+ {
+ qs.setCond(2, true);
+ giveItems(killer, SOE_HIGH_PRIEST_OVEN);
+ qs.unset(KILL_COUNT_VAR);
+ }
+ }
+ return super.onKill(npc, killer, isSummon);
+ }
+
+ @Override
+ public boolean checkPartyMember(Player member, Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public Set getNpcLogList(Player player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isCond(1))
+ {
+ final Set holder = new HashSet<>();
+ holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_ORC_BARRACKS.getId(), true, qs.getInt(KILL_COUNT_VAR)));
+ return holder;
+ }
+ return super.getNpcLogList(player);
+ }
+}
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html
new file mode 100644
index 0000000000..c3944df5aa
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_kill.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I think there are still too many monsters.
+Go to the Orc Barracks and defeat the monsters that roam near. Monsters to hunt: Turek Orc, Turek Orc Footman, Turek Orc Marksman, Turek Orc Warrior, Turek Orc Shaman, Kerr, Turek Orc Elite, Turek Orc Skirmisher, Turek Orc Sniper, Turek Orc Prefect, Turek Orc Elder, Turek..
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html
new file mode 100644
index 0000000000..9d3cbf3d4b
--- /dev/null
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/Q10307_TurekOrcsSecret/no_lvl.html
@@ -0,0 +1,4 @@
+Hight Priest Orven:
+I think you are not strong enough for this quest. Gain more experience and then come back.
+(This quest is available to characters of Lv. 85+.)
+
\ No newline at end of file
diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/QuestMasterHandler.java
index 56d57c275c..0ce4a33882 100644
--- a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -35,6 +35,12 @@ import quests.Q10298_TracesOfBattle.Q10298_TracesOfBattle;
import quests.Q10299_GetIncrediblePower.Q10299_GetIncrediblePower;
import quests.Q10300_ExploringTheCrumaTower.Q10300_ExploringTheCrumaTower;
import quests.Q10301_NotSoSilentValley.Q10301_NotSoSilentValley;
+import quests.Q10302_FoilPlansOfTheLizardmen.Q10302_FoilPlansOfTheLizardmen;
+import quests.Q10303_SymbolOfHubris.Q10303_SymbolOfHubris;
+import quests.Q10304_ChangesintheDragonValley.Q10304_ChangesintheDragonValley;
+import quests.Q10305_DragonsSuspiciousMovements.Q10305_DragonsSuspiciousMovements;
+import quests.Q10306_StopSelMahumsTroops.Q10306_StopSelMahumsTroops;
+import quests.Q10307_TurekOrcsSecret.Q10307_TurekOrcsSecret;
import quests.Q10311_BestMedicine.Q10311_BestMedicine;
import quests.Q10312_GordesLegend.Q10312_GordesLegend;
import quests.Q10313_CunningMorgos.Q10313_CunningMorgos;
@@ -94,6 +100,12 @@ public class QuestMasterHandler
Q10299_GetIncrediblePower.class,
Q10300_ExploringTheCrumaTower.class,
Q10301_NotSoSilentValley.class,
+ Q10302_FoilPlansOfTheLizardmen.class,
+ Q10303_SymbolOfHubris.class,
+ Q10304_ChangesintheDragonValley.class,
+ Q10305_DragonsSuspiciousMovements.class,
+ Q10306_StopSelMahumsTroops.class,
+ Q10307_TurekOrcsSecret.class,
Q10311_BestMedicine.class,
Q10312_GordesLegend.class,
Q10313_CunningMorgos.class,