Quest Reconnaissance at Dragon Valley (10800).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2016-06-18 11:36:04 +00:00
parent fdb76699b4
commit 838e8228fa
13 changed files with 229 additions and 0 deletions

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
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.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10800_ReconnaissanceADragonValley 33973-02.htm">"Tell me what I need to do."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Namo:<br>
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.<br>
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.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley 33973-03.htm">"Different how?"</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Namo:<br>
The Drakes were previously nowhere near being an organization, but now there's organized activity on their part.<br>
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.<br>
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.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley 33973-04.htm">"What should be done?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
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.<br>
We can get an idea of the situation by slaying <font color="LEVEL">100</font> <font color="LEVEL">Prey Drake, Beast Drake, Dust Drake, Vampiric Drake, Bloody Grave Warrior, Dark Grave Warrior, Dark Grave Wizard, Dark Grave Knight, and Gust Spiral</font>.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
I don't think you're done catching all your monsters.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
That's good enough. Were you able to investigate the area at all?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley 33973-07.html">"Yep."</Button>
</body></html>

View File

@ -0,0 +1,10 @@
<html><body>Namo:<br>
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.<br>
Here, you may choose your own reward. Which one would you like?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley giveReward_9546">30 Fire Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley giveReward_9547">30 Water Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley giveReward_9548">30 Earth Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley giveReward_9549">30 Wind Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley giveReward_9550">30 Dark Stones</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10800_ReconnaissanceADragonValley giveReward_9551">30 Holy Stones</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
All right, here you go. I'll be giving you other helpful items aside from these.
</body></html>

View File

@ -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 <http://www.gnu.org/licenses/>.
*/
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<NpcLogListHolder> 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<NpcLogListHolder> holder = new HashSet<>();
holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_IN_DRAGON_VALLEY, killCounts));
return holder;
}
}
return super.getNpcLogList(player);
}
}

View File

@ -0,0 +1,3 @@
<html><body>High Priest Orven:<br>
You are not Ertheia, this quest is not for you.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>You don't meet level requirements<br>
(Quest available from level 76 - 85)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
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.<br>
(This quest can only be performed by characters who have completed "Secrets of the Valley" and are Lv. 76 or above.)
</body></html>

View File

@ -320,6 +320,7 @@ import quests.Q10793_SaveTheSouls.Q10793_SaveTheSouls;
import quests.Q10795_LettersFromTheQueenWallOfAgros.Q10795_LettersFromTheQueenWallOfAgros; import quests.Q10795_LettersFromTheQueenWallOfAgros.Q10795_LettersFromTheQueenWallOfAgros;
import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenDragonValley; import quests.Q10798_LettersFromTheQueenDragonValley.Q10798_LettersFromTheQueenDragonValley;
import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley; import quests.Q10799_StrangeThingsAfootInTheValley.Q10799_StrangeThingsAfootInTheValley;
import quests.Q10800_ReconnaissanceADragonValley.Q10800_ReconnaissanceADragonValley;
import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit; import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit;
import quests.Q10812_FacingSadness.Q10812_FacingSadness; import quests.Q10812_FacingSadness.Q10812_FacingSadness;
import quests.Q10813_ForGlory.Q10813_ForGlory; import quests.Q10813_ForGlory.Q10813_ForGlory;
@ -636,6 +637,7 @@ public class QuestMasterHandler
Q10795_LettersFromTheQueenWallOfAgros.class, Q10795_LettersFromTheQueenWallOfAgros.class,
Q10798_LettersFromTheQueenDragonValley.class, Q10798_LettersFromTheQueenDragonValley.class,
Q10799_StrangeThingsAfootInTheValley.class, Q10799_StrangeThingsAfootInTheValley.class,
Q10800_ReconnaissanceADragonValley.class,
Q10811_ExaltedOneWhoFacesTheLimit.class, Q10811_ExaltedOneWhoFacesTheLimit.class,
Q10812_FacingSadness.class, Q10812_FacingSadness.class,
Q10813_ForGlory.class, Q10813_ForGlory.class,