diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30483-01.html b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30483-01.html new file mode 100644 index 0000000000..7c3d2bc730 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30483-01.html @@ -0,0 +1,5 @@ +Ivory Tower Wizard Carsus:
+Are you from Aden?
+I guess you are the person High Priest Orven was talking about.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30483-02.html b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30483-02.html new file mode 100644 index 0000000000..78d5b5b764 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30483-02.html @@ -0,0 +1,5 @@ +Ivory Tower Wizard Carsus:
+Recently Ivory Tower Wizards have decided to explore the lower levels of the Cruma Tower, but after getting there they have faced many monsters. It's pretty hard to explore something during fighting.
+So I was told to look for adventurers who can help our scholars and kill the monster in the Cruma Tower.
+If you want to help us, go to the 2nd and 3rd floors of the Cruma Tower and kill 1000 monsters there.
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-01.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-01.htm new file mode 100644 index 0000000000..6051e62e1d --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-01.htm @@ -0,0 +1,5 @@ +High Priest Orven:
+We know that Giants appeared from the prime sphere. It's said they were mighty and wise, had great knowledge of everything and could create everything they want.
+They ruled all the world and created many marvelous things.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-02.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-02.htm new file mode 100644 index 0000000000..48e844971c --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-02.htm @@ -0,0 +1,6 @@ +High Priest Orven:
+The Cruma Tower in the land of Dion is one of Giant's creations.
+Ivory Tower Wizards have a theory that Giants was planning to build an unique tower that would generate energy. But it's just a theory, there are not enough proofs, that's why the Cruma Tower is a study object.
+By the way, I think the wizards would be happy if someone helps them to explore the Cruma Tower.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-03.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-03.htm new file mode 100644 index 0000000000..9c5f874e8a --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-03.htm @@ -0,0 +1,5 @@ +High Priest Orven:
+Truth be told, there are hordes of monsters, and Ivory Tower Wizards cannot defeat them all. They try to continue their explorations and researches, but they make little progress because monsters just don't stop attacking.
+I think you should go to the Cruma Tower and speak with the Ivory Tower Wizard named Carsus.
+Use a teleport to the to the Cruma Tower. You can find the nearest one in the teleport list of Dion hunting zones.
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-03.html b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-03.html new file mode 100644 index 0000000000..8bf3ab3191 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-03.html @@ -0,0 +1,4 @@ +High Priest Orven:
+Speak to the Ivory Tower Wizard Carsus to learn the details.
+Use a teleport to the to the Cruma Tower. You can find the nearest one in the teleport list of Dion hunting zones.
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-04.html b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-04.html new file mode 100644 index 0000000000..8ad1bb7186 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-04.html @@ -0,0 +1,4 @@ +High Priest Orven:
+Have you killed the monsters?
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-05.html b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-05.html new file mode 100644 index 0000000000..4d242f833a --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857-05.html @@ -0,0 +1,4 @@ +High Priest Orven:
+Thank you! I hope Ivory Tower Wizard can explore the Cruma Tower without risks now.
+Here, it's a small gift from them. Hopefully, it'll come in handy.
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857.htm new file mode 100644 index 0000000000..ce947a0f2e --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/30857.htm @@ -0,0 +1,4 @@ +High Priest Orven:
+Have you ever heard of Giants? In the ancient times, they were rulers of the continent.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/Q10300_ExploringTheCrumaTower.java b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/Q10300_ExploringTheCrumaTower.java new file mode 100644 index 0000000000..55426f93b9 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/Q10300_ExploringTheCrumaTower.java @@ -0,0 +1,211 @@ +/* + * 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.Q10300_ExploringTheCrumaTower; + +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.instance.PlayerInstance; +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 Admin + */ +public class Q10300_ExploringTheCrumaTower extends Quest +{ + // NPCs + private static final int ORVEN = 30857; + private static final int CARSUS = 30483; + // Monsters + private static final int PORTA = 22200; + private static final int EXCURO = 22201; + private static final int MORDEO = 22202; + private static final int RICENSEO = 22203; + private static final int KRATOR = 22204; + private static final int CATHEROK = 22205; + private static final int PREMO = 22206; + private static final int VALIDUS = 22207; + private static final int DICOR = 22208; + private static final int PERUM = 22209; + private static final int TORFE = 22210; + // Items + private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 5); + private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 2); + private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 3); + + // Misc + private static final int MIN_LEVEL = 65; + private static final String KILL_COUNT_VAR = "KillCount"; + + public Q10300_ExploringTheCrumaTower() + { + super(10300); + addStartNpc(ORVEN); + addTalkId(ORVEN, CARSUS); + addKillId(PORTA, EXCURO, MORDEO, RICENSEO, KRATOR, CATHEROK, PREMO, VALIDUS, DICOR, PERUM, TORFE); + addCondMinLevel(MIN_LEVEL, "no_lvl.html"); + setQuestNameNpcStringId(NpcStringId.LV_65_CRUMA_TOWER_EXPLORATION_SUPPORT); + } + + @Override + public boolean checkPartyMember(PlayerInstance member, Npc npc) + { + final QuestState qs = getQuestState(member, false); + return ((qs != null) && qs.isStarted()); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance 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": + case "30483-01.html": + case "30483-02.html": + case "30483-04.html": + { + htmltext = event; + break; + } + case "30857-03.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "reward": + { + if (qs.isCond(3)) + { + addExpAndSp(player, 50000000, 1350000); + 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, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + if (qs.isCreated()) + { + htmltext = "30857.htm"; + } + else if (qs.isStarted()) + { + switch (npc.getId()) + { + case ORVEN: + { + if (qs.isCond(1)) + { + htmltext = "30857-03.html"; + } + else if (qs.isCond(3)) + { + htmltext = "30857-04.html"; + } + break; + } + case CARSUS: + { + if (qs.isCond(1)) + { + qs.setCond(2); + htmltext = "30483-01.html"; + } + else if (qs.isCond(2)) + { + htmltext = "30483-02.html"; + } + else if (qs.isCond(2)) + { + final int killCount = qs.getInt(KILL_COUNT_VAR); + if (killCount < 1000) + { + htmltext = "30483-02.html"; + } + } + break; + } + } + } + else if (qs.isCompleted()) + { + htmltext = getAlreadyCompletedMsg(player); + } + return htmltext; + } + + @Override + public String onKill(Npc npc, PlayerInstance killer, boolean isSummon) + { + final QuestState qs = getQuestState(killer, false); + if ((qs != null) && qs.isCond(2)) + { + 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(3, true); + qs.unset(KILL_COUNT_VAR); + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public Set getNpcLogList(PlayerInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(2)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_MONSTERS_IN_THE_CRUMA_TOWER.getId(), true, qs.getInt(KILL_COUNT_VAR))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/no_lvl.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/no_lvl.htm new file mode 100644 index 0000000000..4d5d6ce1e6 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10300_ExploringTheCrumaTower/no_lvl.htm @@ -0,0 +1,6 @@ +High Priest Orven:
+The Cruma Tower war built by Giants who ruled all the continent.
+The tower isn't explored enough, so many different dangers may await you there. That's why only experienced warriors can go that place. +Unfortunately, you are not strong, so come back later.
+(Available to characters of Lv. 65 and higher.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-01.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-01.htm new file mode 100644 index 0000000000..64addd4082 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-01.htm @@ -0,0 +1,5 @@ +High Priest Orven:
+There are lot of places changed so much that their history can be seen only in their geographical names. One of them is the Silent Valley.
+Long ago it was a really peaceful and quiet place...
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-02.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-02.htm new file mode 100644 index 0000000000..b4a8f5f57a --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-02.htm @@ -0,0 +1,5 @@ +High Priest Orven:
+Oh, nothing special.
+Giants were living there in ancient times. When they're gone, there was left a lot of their traces. So the Silent Valley had lost its silence.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-03.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-03.htm new file mode 100644 index 0000000000..1cd247f534 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-03.htm @@ -0,0 +1,5 @@ +High Priest Orven:
+That's right. A lot of creatures created by Giants are roaming there. Giant's legacy, if I may call them so.
+Long ago the Giants were their masters, but now the creatures serve nobody and nobody can keep them at bay. They have alot their memories and turned into monsters attacking anyone who doesn't look like a Giant.
+If we sit back and do nothing, these monster will spread out over the would. So go to the Siilen Valley and kill 1000 monsters there. Please hunt down every Creature of the Past, Forgotten Face, Giant's Shadow, Warrior of Ancient Times, Shaman of Ancient Times, and Forgotten Ancient Creature that you see.
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-03.html b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-03.html new file mode 100644 index 0000000000..bd6bdf6d4d --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-03.html @@ -0,0 +1,4 @@ +High Priest Orven:
+So go to the Silent Valley and kill the monsters dwelling there.
+If we sit back and do nothing, these monster will spread out over the would. So go to the Siilen Valley and kill 1000 monsters there. Please hunt down every Creature of the Past, Forgotten Face, Giant's Shadow, Warrior of Ancient Times, Shaman of Ancient Times, and Forgotten Ancient Creature that you see.
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-04.html b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-04.html new file mode 100644 index 0000000000..2808cf58a2 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-04.html @@ -0,0 +1,4 @@ +High Priest Orven:
+Have you killed the monsters in the Silent Valley?
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-05.html b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-05.html new file mode 100644 index 0000000000..40c99fb641 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857-05.html @@ -0,0 +1,3 @@ +High Priest Orven:
+Thank you for your help. I hope there would be peace and silence in the Silent Valley again.
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857.htm new file mode 100644 index 0000000000..c46a493f49 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/30857.htm @@ -0,0 +1,5 @@ +High Priest Orven:
+Some regions of the continent have their own stories. You can see historical traces in geographical names.
+Nowadays some of that names seem ridiculous because do not reflect the life and happenings of the places they describe. Are you agree?
+ + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/Q10301_NotSoSilentValley.java b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/Q10301_NotSoSilentValley.java new file mode 100644 index 0000000000..a7532f747d --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/Q10301_NotSoSilentValley.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.Q10301_NotSoSilentValley; + +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.instance.PlayerInstance; +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 Admin + */ +public class Q10301_NotSoSilentValley extends Quest +{ + // NPCs + private static final int ORVEN = 30857; + // Monsters + private static final int CHIMERA_PIECE = 20965; + private static final int MUTATED_CREATION = 20966; + private static final int CREATURE_OF_THE_PAST = 20967; + private static final int FORGOTTEN_FACE = 20968; + private static final int SOLDIER_OF_ANCIENT_TIMES = 20970; + private static final int WARRIOR_OF_ANCIENT_TIMES = 20971; + private static final int SHAMAN_OF_ANCIENT_TIMES = 20972; + private static final int FORGOTTEN_ANCIENT_PEOPLE = 20973; + private static final int ANCIENT_GUARDIAN = 22106; + // Items + private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 5); + private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 4); + private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 1); + + // Misc + private static final int MIN_LEVEL = 70; + private static final String KILL_COUNT_VAR = "KillCount"; + + public Q10301_NotSoSilentValley() + { + super(10301); + addStartNpc(ORVEN); + addTalkId(ORVEN); + addKillId(CHIMERA_PIECE, MUTATED_CREATION, CREATURE_OF_THE_PAST, FORGOTTEN_FACE, SOLDIER_OF_ANCIENT_TIMES, WARRIOR_OF_ANCIENT_TIMES, SHAMAN_OF_ANCIENT_TIMES, FORGOTTEN_ANCIENT_PEOPLE, ANCIENT_GUARDIAN); + addCondMinLevel(MIN_LEVEL, "no_lvl.html"); + setQuestNameNpcStringId(NpcStringId.DEFEAT_THE_MONSTERS_IN_THE_SILENT_VALLEY_2); + } + + @Override + public boolean checkPartyMember(PlayerInstance member, Npc npc) + { + final QuestState qs = getQuestState(member, false); + return ((qs != null) && qs.isStarted()); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance 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": + case "30857-04.html": + { + htmltext = event; + break; + } + case "30857-03.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "reward": + { + if (qs.isCond(2)) + { + addExpAndSp(player, 50000000, 1350000); + giveItems(player, SAYHA_COOKIE); + giveItems(player, SAYHA_STORM); + giveItems(player, MAGIC_LAMP_CHARGING_POTION); + htmltext = "30857-04.html"; + qs.exitQuest(false, true); + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + if (qs.isCreated()) + { + htmltext = "30857.htm"; + } + else if (qs.isStarted()) + { + switch (npc.getId()) + { + case ORVEN: + { + if (qs.isCond(1)) + { + htmltext = "30857-03.html"; + } + else if (qs.isCond(2)) + { + final int killCount = qs.getInt(KILL_COUNT_VAR); + if (killCount < 1000) + { + htmltext = "30857-03.html"; + } + else + { + htmltext = "30857-04.html"; + } + } + break; + } + } + } + else if (qs.isCompleted()) + { + htmltext = getAlreadyCompletedMsg(player); + } + return htmltext; + } + + @Override + public String onKill(Npc npc, PlayerInstance 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(3, true); + qs.unset(KILL_COUNT_VAR); + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public Set getNpcLogList(PlayerInstance 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_CRUMA_TOWER.getId(), true, qs.getInt(KILL_COUNT_VAR))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/no_lvl.htm b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/no_lvl.htm new file mode 100644 index 0000000000..d01ece9a9c --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/Q10301_NotSoSilentValley/no_lvl.htm @@ -0,0 +1,5 @@ +High Priest Orven:
+Many strange things are happening in the Silent Valley.
+But I cannot ask you for help because you are not strong enough. Please, come back when you've got more experienced.
+(This quest is available to characters of Lv. 70+.)
+ \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/QuestMasterHandler.java index c5ffc34546..bc5bee1086 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -33,6 +33,8 @@ import quests.Q10296_LetsPayRespectsToOurFallenBrethren.Q10296_LetsPayRespectsTo import quests.Q10297_MemoryOfTheGloriousPast.Q10297_MemoryOfTheGloriousPast; 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.Q10673_SagaOfLegend.Q10673_SagaOfLegend; import quests.Q10954_SayhaChildren.Q10954_SayhaChildren; import quests.Q10955_NewLifeLessons.Q10955_NewLifeLessons; @@ -83,6 +85,8 @@ public class QuestMasterHandler Q10297_MemoryOfTheGloriousPast.class, Q10298_TracesOfBattle.class, Q10299_GetIncrediblePower.class, + Q10300_ExploringTheCrumaTower.class, + Q10301_NotSoSilentValley.class, Q10954_SayhaChildren.class, Q10955_NewLifeLessons.class, Q10956_WeSylphs.class, diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/49700-49799.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/49700-49799.xml index 7cff3e6eb6..6db966dae8 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/49700-49799.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/49700-49799.xml @@ -833,6 +833,14 @@ + + + + + + + + @@ -941,6 +949,14 @@ + + + + + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/49800-49899.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/49800-49899.xml index 1e0eed348f..e2aff8e5a0 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/49800-49899.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/49800-49899.xml @@ -502,6 +502,10 @@ + + + + @@ -512,6 +516,14 @@ + + + + + + + + @@ -522,6 +534,14 @@ + + + + + + + + @@ -532,6 +552,14 @@ + + + + + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91700-91799.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91700-91799.xml index 3e60a65a67..416a68cc3a 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91700-91799.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91700-91799.xml @@ -446,6 +446,10 @@ + + + + @@ -801,6 +805,10 @@ + + + + @@ -1127,6 +1135,14 @@ + + + + + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91800-91899.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91800-91899.xml index a474dd3f77..854128ed05 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91800-91899.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91800-91899.xml @@ -441,6 +441,10 @@ + + + + @@ -613,6 +617,14 @@ + + + + + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91900-91999.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91900-91999.xml index 5a73e4b675..a820d16ea1 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91900-91999.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/91900-91999.xml @@ -1124,6 +1124,11 @@ + + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/92000-92099.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/92000-92099.xml index 58efceefd8..76eb24e218 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/92000-92099.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/92000-92099.xml @@ -181,6 +181,10 @@ + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/92300-92399.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/92300-92399.xml index 996c646f96..ca5b4e29a0 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/92300-92399.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/92300-92399.xml @@ -1444,6 +1444,10 @@ + + + + @@ -1454,9 +1458,17 @@ + + + + + + + + @@ -1467,6 +1479,14 @@ + + + + + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93000-93099.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93000-93099.xml index e9ebae8709..dcbe1e184a 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93000-93099.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93000-93099.xml @@ -1230,6 +1230,11 @@ + + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93200-93299.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93200-93299.xml index 14f8257bba..38baea5870 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93200-93299.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93200-93299.xml @@ -719,6 +719,10 @@ + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93900-93999.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93900-93999.xml index 4e0ae1f57c..9e36d85d65 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93900-93999.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/93900-93999.xml @@ -1069,6 +1069,7 @@ + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94100-94199.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94100-94199.xml index 9ea06890b2..2a43b43e9e 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94100-94199.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94100-94199.xml @@ -809,6 +809,10 @@ + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94300-94399.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94300-94399.xml index 0896958208..13c953927a 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94300-94399.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94300-94399.xml @@ -221,7 +221,7 @@ - + @@ -236,7 +236,7 @@ - + @@ -251,7 +251,7 @@ - + @@ -266,7 +266,7 @@ - + @@ -375,6 +375,10 @@ + + + + @@ -658,7 +662,7 @@ - + @@ -673,7 +677,7 @@ - + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94500-94599.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94500-94599.xml index 97fece15f0..2ac3ac9d53 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94500-94599.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/items/94500-94599.xml @@ -654,6 +654,14 @@ + + + + + + + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/39100-39199.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/39100-39199.xml index 40b04cbd1a..e7d5938871 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/39100-39199.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/39100-39199.xml @@ -958,6 +958,26 @@ A1 600000 + 1 + true + SELF + + + 35000 + + + + + + 20000 + + + 50000 + + + 3250 + + icon.etc_treasure_box_i07 @@ -1049,9 +1069,29 @@ 500 500 - + A1 3600000 + 1 + true + SELF + + + 35000 + + + + + + 35000 + + + 50000 + + + 3250 + + icon.npoint_valakas_30day_box @@ -1831,6 +1871,35 @@ 500 500 3000 + 2 + 1 + 5 + 0 + SELF + SINGLE + 1 + 49844 + + + 10 + 10 + + + + + + + + + + + + + + + + + icon.etc_treasure_box_i04 @@ -1884,10 +1953,38 @@ A1 600000 + 1 + true + SELF + + + 35000 + + + + + + 70000 + + A1 600000 + 1 + true + SELF + + + 35000 + + + + + + 105000 + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40000-40099.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40000-40099.xml index f82e55d4bc..a873c4fd1b 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40000-40099.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40000-40099.xml @@ -605,61 +605,157 @@ icon.skill0000 A1 + 1 + true + SELF + + + 100 + + icon.skill0000 A1 + 1 + true + SELF + + + 500 + + icon.skill0000 A1 + 1 + true + SELF + + + 1000 + + icon.skill0000 A1 + 1 + true + SELF + + + 3000 + + icon.skill0000 A1 + 1 + true + SELF + + + 5000 + + icon.skill0000 A1 + 1 + true + SELF + + + 10000 + + icon.skill0000 A1 + 1 + true + SELF + + + 30000 + + icon.skill0000 A1 + 1 + true + SELF + + + 50000 + + icon.skill0000 A1 + 1 + true + SELF + + + 100000 + + icon.skill0000 A1 + 1 + true + SELF + + + 300000 + + icon.skill0000 A1 + 1 + true + SELF + + + 500000 + + icon.skill0000 A1 + 1 + true + SELF + + + 1000000 + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40100-40199.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40100-40199.xml index 3e684199aa..48bfe27063 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40100-40199.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40100-40199.xml @@ -31,9 +31,26 @@ A1 - icon.skill0000 A1 + 4 + 500 + 500 + 500 + 1 + true + SELF + + + 35000 + + + + + + 140000 + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40200-40299.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40200-40299.xml index 24133abb21..227d95a0a9 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40200-40299.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/40200-40299.xml @@ -301,34 +301,179 @@ A1 - icon.skill0000 - A1 + A2 + 4000 + 1200 + 94559 + 1 + SELF + SINGLE + -1 + MULTI_BUFF + false + true + NONE + 5 + 1 + 4 + 1 + + + 40243 + 1 + + + 40244 + 1 + + + 40245 + 1 + + + 40246 + 1 + + + 40247 + 1 + + - icon.skill0000 - A1 + icon.bm_freya_storm_scroll + 1 + 1200 + 1 + 4 + NONE + 5 + SELF + SINGLE + A2 + + + 1 + STR + + + 1 + DEX + + + 1 + CON + + + 1 + INT + + + 1 + WIT + + + 1 + MEN + + - icon.skill0000 + icon.bm_freya_storm_scroll + 1 + 1200 A1 + 1 + 4 + NONE + 5 + SELF + SINGLE + A2 + + + 50 + + - icon.skill0000 + icon.bm_freya_storm_scroll + 1 + 1200 A1 + 1 + 4 + NONE + 5 + SELF + SINGLE + A2 + + + 10 + DIFF + + - icon.skill0000 + icon.bm_freya_storm_scroll + 1 + 1200 A1 + 1 + 4 + NONE + 5 + SELF + SINGLE + A2 + + + 150 + DIFF + + + 150 + DIFF + + + 150 + DIFF + + + 150 + DIFF + + - icon.skill0000 + icon.bm_freya_storm_scroll + 1 + 1200 A1 + 1 + 4 + NONE + 5 + SELF + SINGLE + A2 + + + 100 + DIFF + + + 100 + DIFF + + icon.skill0000 diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/50100-50199.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/50100-50199.xml index f8973492bf..f93c1de85f 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/50100-50199.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/50100-50199.xml @@ -212,6 +212,20 @@ 500 500 500 + 1 + true + SELF + + + 35000 + + + + + + 30000 + + A1 @@ -593,6 +607,26 @@ 500 500 500 + 1 + true + SELF + + + 35000 + + + + + + 10000 + + + 50000 + + + 3250 + + A1 diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/50400-50499.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/50400-50499.xml index 4f313cb5d1..1b486305df 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/50400-50499.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/50400-50499.xml @@ -2973,6 +2973,19 @@ 6 7 + + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 3 + 3 + 4 + 5 + @@ -3002,6 +3015,7 @@ 80000 100000 + 5 DIFF diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/51300-51399.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/51300-51399.xml index cefbb78059..e45e377852 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/51300-51399.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/51300-51399.xml @@ -469,6 +469,26 @@ A1 + 1 + true + SELF + + + 35000 + + + + + + 35000 + + + 50000 + + + 3250 + + A1 diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/54000-54099.xml b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/54000-54099.xml index b3ff78a6b5..42dd430292 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/54000-54099.xml +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/54000-54099.xml @@ -1798,6 +1798,26 @@ A1 + 4 + 200 + SELF + SINGLE + 91768 + 1 + + + CASTER + LAWFUL + + + + + + 147465 + 22668 + -1984 + + @@ -2490,6 +2510,30 @@ A1 + 4 + 500 + 500 + 500 + 1 + true + SELF + + + 35000 + + + + + + 10000 + + + 50000 + + + 3250 + + diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/xsd/skills.xsd index 86bc544ea2..3278959463 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/xsd/skills.xsd @@ -1649,6 +1649,21 @@ + + + + + + + + + + + + + + +