diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-01.htm b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-01.htm new file mode 100644 index 0000000000..aa296c99c2 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-01.htm @@ -0,0 +1,4 @@ +Namo:
+It's now time to investigate the dimensional rifts in Dragon Valley. There's going to be a lot that you'll have to do.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-02.htm b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-02.htm new file mode 100644 index 0000000000..a2400821f2 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-02.htm @@ -0,0 +1,5 @@ +Namo:
+You're probably aware that many extraordinary things are happening in Dragon Valley. And this might sound romantic, but it couldn't be further from the truth.
+You've already faced off with the dragons and Undead of northern Dragon Valley, but it's vastly different from how Dragon Valley used to be.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-03.htm b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-03.htm new file mode 100644 index 0000000000..cac9f22c2b --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-03.htm @@ -0,0 +1,6 @@ +Namo:
+The Drakes were previously nowhere near being an organization, but now there's organized activity on their part.
+Individually they are weaker than before, but since they've come together, they've become more particular is what I'm saying. It's to the point that the return of the Undead was near undetectable.
+The biggest issue is determining if there's a connection between the dimensional rifts in Dragon valley and the unusual events going on, and since we're limited in what we can do, we have to be especially fastidious.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-04.htm b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-04.htm new file mode 100644 index 0000000000..40057c71ee --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-04.htm @@ -0,0 +1,4 @@ +Namo:
+I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and Undead in the south to get an idea of what's going on.
+We can get an idea of the situation by slaying 100 Prey Drake, Beast Drake, Dust Drake, Vampiric Drake, Bloody Grave Warrior, Dark Grave Warrior, Dark Grave Wizard, Dark Grave Knight, and Gust Spiral. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-05.html b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-05.html new file mode 100644 index 0000000000..b356c9e4ac --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-05.html @@ -0,0 +1,3 @@ +Namo:
+I don't think you're done catching all your monsters. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-06.html b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-06.html new file mode 100644 index 0000000000..8f43818358 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-06.html @@ -0,0 +1,4 @@ +Namo:
+That's good enough. Were you able to investigate the area at all?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-07.html b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-07.html new file mode 100644 index 0000000000..7c8fe196b4 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-07.html @@ -0,0 +1,10 @@ +Namo:
+Great. Thanks to you, the rest of our work will be a breeze. If we detect any more changes in the dimensional rift, we'll tell you right away.
+Here, you may choose your own reward. Which one would you like?
+ + + + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-08.html b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-08.html new file mode 100644 index 0000000000..f3249958b8 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/33973-08.html @@ -0,0 +1,3 @@ +Namo:
+All right, here you go. I'll be giving you other helpful items aside from these. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/Q10800_ReconnaissanceADragonValley.java b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/Q10800_ReconnaissanceADragonValley.java new file mode 100644 index 0000000000..4609e7005a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/Q10800_ReconnaissanceADragonValley.java @@ -0,0 +1,178 @@ +/* + * 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.Q10800_ReconnaissanceADragonValley; + +import java.util.HashSet; +import java.util.Set; + +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.Race; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.holders.NpcLogListHolder; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; +import com.l2jmobius.gameserver.network.NpcStringId; + +import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley; + +/** + * Reconnaissance at Dragon Valley (10800) + * @URL https://l2wiki.com/Reconnaissance_at_Dragon_Valley + * @author Gigi + */ +public class Q10800_ReconnaissanceADragonValley extends Quest +{ + // NPC + private static final int NAMO = 33973; + // Monsters + private static final int[] MONSTERS = + { + 23430, // Prey Drake + 23431, // Beast Drake + 23432, // Dust Drake + 23433, // Vampiric Drake + 23441, // Bloody Grave Warrior + 23442, // Dark Grave Warrior + 23443, // Dark Grave Wizard + 23444, // Dark Grave Knight + 23447 // Gust Spiral + }; + // Item + private static final int EAS = 960; + // Misc + private static final int MIN_LEVEL = 76; + private static final int MAX_LEVEL = 85; + private static final String KILL_COUNT_VAR = "KillCounts"; + + public Q10800_ReconnaissanceADragonValley() + { + super(10800); + addStartNpc(NAMO); + addTalkId(NAMO); + addKillId(MONSTERS); + addCondRace(Race.ERTHEIA, "noErtheia.html"); + addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html"); + addCondCompletedQuest(Q10799_StrangeThingsAfootInTheValley.class.getSimpleName(), "restriction.htm"); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + String htmltext = event; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return getNoQuestMsg(player); + } + + switch (event) + { + case "33973-02.htm": + case "33973-03.htm": + case "33973-07.html": + { + break; + } + case "33973-04.htm": + { + qs.startQuest(); + break; + } + default: + { + if (event.startsWith("giveReward_") && qs.isCond(2) && (player.getLevel() >= MIN_LEVEL)) + { + final int itemId = Integer.parseInt(event.replace("giveReward_", "")); + qs.exitQuest(false, true); + giveStoryQuestReward(player, 235); + giveItems(player, EAS, 10); + giveItems(player, itemId, 30); + addExpAndSp(player, 84722400, 20333); + htmltext = "33973-08.html"; + } + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + htmltext = "33973-01.htm"; + break; + } + case State.STARTED: + { + htmltext = (qs.isCond(1)) ? "33973-05.html" : "33973-06.html"; + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getQuestState(killer, false); + if ((qs != null) && qs.isCond(1)) + { + int count = qs.getInt(KILL_COUNT_VAR); + qs.set(KILL_COUNT_VAR, ++count); + if (count >= 100) + { + qs.setCond(2, true); + } + else + { + sendNpcLogList(killer); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final int killCounts = qs.getInt(KILL_COUNT_VAR); + if (killCounts > 0) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_IN_DRAGON_VALLEY, killCounts)); + return holder; + } + } + return super.getNpcLogList(player); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/noErtheia.html b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/noErtheia.html new file mode 100644 index 0000000000..ea67e16f1c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/noErtheia.html @@ -0,0 +1,3 @@ +High Priest Orven:
+You are not Ertheia, this quest is not for you. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/no_level.htm b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/no_level.htm new file mode 100644 index 0000000000..0bb55ae394 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/no_level.htm @@ -0,0 +1,3 @@ +You don't meet level requirements
+(Quest available from level 76 - 85) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/restriction.htm b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/restriction.htm new file mode 100644 index 0000000000..4b6b9d7476 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10800_ReconnaissanceADragonValley/restriction.htm @@ -0,0 +1,4 @@ +Namo:
+Even if I wanted to put someone to work, I can't seem to find anybody skilled enough. And it's even harder to find someone you can trust who also has the skills.
+(This quest can only be performed by characters who have completed "Secrets of the Valley" and are Lv. 76 or above.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java index 76d886dfe5..5e20a7625c 100644 --- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -320,6 +320,7 @@ import quests.Q10793_SaveTheSouls.Q10793_SaveTheSouls; import quests.Q10795_LettersFromTheQueenWallOfAgros.Q10795_LettersFromTheQueenWallOfAgros; import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenDragonValley; import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley; +import quests.Q10800_ReconnaissanceADragonValley.Q10800_ReconnaissanceADragonValley; import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit; import quests.Q10812_FacingSadness.Q10812_FacingSadness; import quests.Q10813_ForGlory.Q10813_ForGlory; @@ -636,6 +637,7 @@ public class QuestMasterHandler Q10795_LettersFromTheQueenWallOfAgros.class, Q10798_LettersFromTheQueenDragonValley.class, Q10799_StrangeThingsAfootInTheValley.class, + Q10800_ReconnaissanceADragonValley.class, Q10811_ExaltedOneWhoFacesTheLimit.class, Q10812_FacingSadness.class, Q10813_ForGlory.class,