Addition of quest Odd Happenings At Dragon Valley (10531).

Contributed by Darkloud.
This commit is contained in:
MobiusDevelopment 2020-01-14 10:10:44 +00:00
parent 3ca0791c18
commit c9ff92f395
60 changed files with 1065 additions and 192 deletions

View File

@ -0,0 +1,5 @@
<html><body>Researcher Stena:<br>
I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?<br>
As it turns out, we've found someone.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -57,7 +57,6 @@
10418 The Immortal Pirate King
10457 Kefensis' Illusion
10506 Diana's Request
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons
10712 The Minstrel's Song, Part 1
10717 The Minstrel's Song, Part 2

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I'm sure you know about the Dimensional Cracks appeaning all over Dragon Valley. The dragons have become very much weakened in recent days. The reduction of the dragons strength and other dangers to us is a good thing, but there's also a problem. The dragons may be weakened, but there's been activity from them as a group,and this will grow into a huge problem. And that's not all...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-02.htm">"What other problems are there?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
Currently, the dragons are active during the day while the undead are up to no good at night. On top or that, we don't know which dimensional rifts are connected to which dimensions or what else we'll lean from Dragon Valley and that's a problem.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-03.htm">"Is there a solution to all this?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
We don't have a clear solution just yet. For now, we've asked for help here and there in order to investigate the current situation in Dragon Valley. We are being helped by the Ertheia, and have been engaged continously in research. We don't have anything concrete yet. However, according to the information we have gained so far, the strange goings on in Dragon Valley don't appear to be due to just the recent changes in the dimensions. That's why we've called on the help of others.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-04.htm">"What kind of help do you need?"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
While it's not too meaningful in itself to lay down boundaries in <font color="LEVEL">Dragon Valley<font>, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find <font color="LEVEL">Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant</font> and <font color="LEVEL">Headless Knight</font>. You need to slay <font color="LEVEL">200</font> of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I think you got all the dragons and undead. Thank you. The change in Dragon Valley were so unusual that everyone was just nervous all the time. If you were curious about the Dimensional Cracks in Dragon Valley, you can join us when we go investigating the next time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-06.htm">"Sure. I'will join you"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
Got it. We're going to start investigating soon. I'll let you know when we start. Here's your reward for helping. What would you like as your reward?
</body></html>

View File

@ -0,0 +1,183 @@
/*
* 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.Q10531_OddHappeningsAtDragonValley;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
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.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
/**
* Odd Happenings At Dragon Valley (10531)
* @URL https://youtu.be/bmoXp8gd_zk https://l2wiki.com/Odd_Happenings_at_Dragon_Valley
* @author Darkloud
* @date 2020-01-13 - [23:30:1009]
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
// NPCs
private static final int NAMO = 33973;
private static final int[] MONSTERS =
{
23423, // MESMER DRAGON
23424, // GARGOLEY DRAGON
23425, // BLACK DDRAGON
23426, // EMERALD DRAGON
23427, // SAND DRAGON
23428, // DRAGONBLOOD CAPTAIN
23429, // DRAGONBLOOD MINION
23436, // CAVE SERVANT ARCHER
23437, // CAVE SERVANT WARRIOR
23438, // METALLIC CAVE SERVANT
23439, // IRON CAVE SERVANT
20146, // HEADLESS KNIGHT
};
// Rewards
private static final int XP = 54308087;
private static final int SP = 23435;
// Misc
private static final int MIN_LEVEL = 81;
private static final int MAX_LEVEL = 84;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(NAMO);
addTalkId(NAMO);
addKillId(MONSTERS);
addCondLevel(MIN_LEVEL, MAX_LEVEL, getNoQuestMsg(null));
}
@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 "33973-02.htm":
case "33973-03.htm":
{
htmltext = event;
break;
}
case "33973-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33973-06.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, XP, SP);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "33973-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33973-05.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
int killCount = qs.getInt("KILLED_COUNT");
if (killCount < 100)
{
killCount++;
qs.set("KILLED_COUNT", killCount);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if (killCount == 200)
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(1);
npcLogList.add(new NpcLogListHolder(NpcStringId.SUBJUGATION_IN_THE_NORTHERN_DRAGON_VALLEY, qs.getInt("KILLED_COUNT")));
return npcLogList;
}
return super.getNpcLogList(player);
}
}

View File

@ -360,6 +360,7 @@ import quests.Q10526_TheDarkSecretOfTheKetraOrcs.Q10526_TheDarkSecretOfTheKetraO
import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinationOfTheKetraOrcCommander;
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10531_OddHappeningsAtDragonValley.Q10531_OddHappeningsAtDragonValley;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
@ -518,7 +519,6 @@ import quests.not_done.Q10396_WitchOfSpores;
import quests.not_done.Q10418_TheImmortalPirateKing;
import quests.not_done.Q10457_KefensisIllusion;
import quests.not_done.Q10506_DianasRequest;
import quests.not_done.Q10531_OddHappeningsAtDragonValley;
import quests.not_done.Q10532_UncoveringTheConspiracy;
import quests.not_done.Q10748_MysteriousSuggestion1;
import quests.not_done.Q10749_MysteriousSuggestion2;
@ -921,7 +921,7 @@ public class QuestMasterHandler
Q10527_TheAssassinationOfTheKetraOrcCommander.class,
Q10528_TheAssassinationOfTheKetraOrcChief.class,
Q10530_KekropusLetterTheDragonsTransition.class,
Q10531_OddHappeningsAtDragonValley.class, // TODO: Not done.
Q10531_OddHappeningsAtDragonValley.class,
Q10532_UncoveringTheConspiracy.class, // TODO: Not done.
Q10534_HatchlingResearch.class,
Q10537_KamaelDisarray.class,

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
private static final int START_NPC = 33973;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -716,6 +716,7 @@
<!-- NPCs -->
<npc id="33972" x="102238" y="113296" z="-3720" heading="50632" respawnTime="60sec" /> <!-- Rakun -->
<npc id="33973" x="72224" y="116720" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Namo -->
<npc id="34221" x="72304" y="116602" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Stena -->
<npc id="30754" x="72452" y="117062" z="-3672" heading="18067" respawnTime="60sec" /> <!-- Gilmore -->
<npc id="32870" x="72597" y="117140" z="-3672" heading="21826" respawnTime="60sec" /> <!-- Separated Soul -->
<npc id="33970" x="80042" y="116033" z="-3672" heading="44928" respawnTime="60sec" /> <!-- Mercenary Captain -->

View File

@ -0,0 +1,5 @@
<html><body>Researcher Stena:<br>
I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?<br>
As it turns out, we've found someone.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -125,7 +125,6 @@
10454 Final Embryo Apostle
10457 Kefensis' Illusion
10506 Diana's Request
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons
10535 Blacksmith's Soul-awakening Weapon - 3
10712 The Minstrel's Song, Part 1

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I'm sure you know about the Dimensional Cracks appeaning all over Dragon Valley. The dragons have become very much weakened in recent days. The reduction of the dragons strength and other dangers to us is a good thing, but there's also a problem. The dragons may be weakened, but there's been activity from them as a group,and this will grow into a huge problem. And that's not all...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-02.htm">"What other problems are there?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
Currently, the dragons are active during the day while the undead are up to no good at night. On top or that, we don't know which dimensional rifts are connected to which dimensions or what else we'll lean from Dragon Valley and that's a problem.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-03.htm">"Is there a solution to all this?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
We don't have a clear solution just yet. For now, we've asked for help here and there in order to investigate the current situation in Dragon Valley. We are being helped by the Ertheia, and have been engaged continously in research. We don't have anything concrete yet. However, according to the information we have gained so far, the strange goings on in Dragon Valley don't appear to be due to just the recent changes in the dimensions. That's why we've called on the help of others.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-04.htm">"What kind of help do you need?"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
While it's not too meaningful in itself to lay down boundaries in <font color="LEVEL">Dragon Valley<font>, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find <font color="LEVEL">Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant</font> and <font color="LEVEL">Headless Knight</font>. You need to slay <font color="LEVEL">200</font> of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I think you got all the dragons and undead. Thank you. The change in Dragon Valley were so unusual that everyone was just nervous all the time. If you were curious about the Dimensional Cracks in Dragon Valley, you can join us when we go investigating the next time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-06.htm">"Sure. I'will join you"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
Got it. We're going to start investigating soon. I'll let you know when we start. Here's your reward for helping. What would you like as your reward?
</body></html>

View File

@ -0,0 +1,183 @@
/*
* 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.Q10531_OddHappeningsAtDragonValley;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
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.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
/**
* Odd Happenings At Dragon Valley (10531)
* @URL https://youtu.be/bmoXp8gd_zk https://l2wiki.com/Odd_Happenings_at_Dragon_Valley
* @author Darkloud
* @date 2020-01-13 - [23:30:1009]
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
// NPCs
private static final int NAMO = 33973;
private static final int[] MONSTERS =
{
23423, // MESMER DRAGON
23424, // GARGOLEY DRAGON
23425, // BLACK DDRAGON
23426, // EMERALD DRAGON
23427, // SAND DRAGON
23428, // DRAGONBLOOD CAPTAIN
23429, // DRAGONBLOOD MINION
23436, // CAVE SERVANT ARCHER
23437, // CAVE SERVANT WARRIOR
23438, // METALLIC CAVE SERVANT
23439, // IRON CAVE SERVANT
20146, // HEADLESS KNIGHT
};
// Rewards
private static final int XP = 54308087;
private static final int SP = 23435;
// Misc
private static final int MIN_LEVEL = 81;
private static final int MAX_LEVEL = 84;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(NAMO);
addTalkId(NAMO);
addKillId(MONSTERS);
addCondLevel(MIN_LEVEL, MAX_LEVEL, getNoQuestMsg(null));
}
@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 "33973-02.htm":
case "33973-03.htm":
{
htmltext = event;
break;
}
case "33973-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33973-06.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, XP, SP);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "33973-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33973-05.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
int killCount = qs.getInt("KILLED_COUNT");
if (killCount < 100)
{
killCount++;
qs.set("KILLED_COUNT", killCount);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if (killCount == 200)
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(1);
npcLogList.add(new NpcLogListHolder(NpcStringId.SUBJUGATION_IN_THE_NORTHERN_DRAGON_VALLEY, qs.getInt("KILLED_COUNT")));
return npcLogList;
}
return super.getNpcLogList(player);
}
}

View File

@ -358,6 +358,7 @@ import quests.Q10526_TheDarkSecretOfTheKetraOrcs.Q10526_TheDarkSecretOfTheKetraO
import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinationOfTheKetraOrcCommander;
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10531_OddHappeningsAtDragonValley.Q10531_OddHappeningsAtDragonValley;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
@ -526,7 +527,6 @@ import quests.not_done.Q10423_EmbryoStrongholdAmbush;
import quests.not_done.Q10454_FinalEmbryoApostle;
import quests.not_done.Q10457_KefensisIllusion;
import quests.not_done.Q10506_DianasRequest;
import quests.not_done.Q10531_OddHappeningsAtDragonValley;
import quests.not_done.Q10532_UncoveringTheConspiracy;
import quests.not_done.Q10535_BlacksmithsSoulAwakeningWeapon3;
import quests.not_done.Q10748_MysteriousSuggestion1;
@ -948,7 +948,7 @@ public class QuestMasterHandler
Q10527_TheAssassinationOfTheKetraOrcCommander.class,
Q10528_TheAssassinationOfTheKetraOrcChief.class,
Q10530_KekropusLetterTheDragonsTransition.class,
Q10531_OddHappeningsAtDragonValley.class, // TODO: Not done.
Q10531_OddHappeningsAtDragonValley.class,
Q10532_UncoveringTheConspiracy.class, // TODO: Not done.
Q10534_HatchlingResearch.class,
Q10535_BlacksmithsSoulAwakeningWeapon3.class, // TODO: Not done.

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
private static final int START_NPC = 33973;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -716,6 +716,7 @@
<!-- NPCs -->
<npc id="33972" x="102238" y="113296" z="-3720" heading="50632" respawnTime="60sec" /> <!-- Rakun -->
<npc id="33973" x="72224" y="116720" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Namo -->
<npc id="34221" x="72304" y="116602" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Stena -->
<npc id="30754" x="72452" y="117062" z="-3672" heading="18067" respawnTime="60sec" /> <!-- Gilmore -->
<npc id="32870" x="72597" y="117140" z="-3672" heading="21826" respawnTime="60sec" /> <!-- Separated Soul -->
<npc id="33970" x="80042" y="116033" z="-3672" heading="44928" respawnTime="60sec" /> <!-- Mercenary Captain -->

View File

@ -0,0 +1,5 @@
<html><body>Researcher Stena:<br>
I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?<br>
As it turns out, we've found someone.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -142,7 +142,6 @@
10454 Final Embryo Apostle
10457 Kefensis' Illusion
10506 Diana's Request
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons
10535 Blacksmith's Soul-awakening Weapon - 3
10552 Challenge! Balthus Knight!

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I'm sure you know about the Dimensional Cracks appeaning all over Dragon Valley. The dragons have become very much weakened in recent days. The reduction of the dragons strength and other dangers to us is a good thing, but there's also a problem. The dragons may be weakened, but there's been activity from them as a group,and this will grow into a huge problem. And that's not all...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-02.htm">"What other problems are there?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
Currently, the dragons are active during the day while the undead are up to no good at night. On top or that, we don't know which dimensional rifts are connected to which dimensions or what else we'll lean from Dragon Valley and that's a problem.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-03.htm">"Is there a solution to all this?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
We don't have a clear solution just yet. For now, we've asked for help here and there in order to investigate the current situation in Dragon Valley. We are being helped by the Ertheia, and have been engaged continously in research. We don't have anything concrete yet. However, according to the information we have gained so far, the strange goings on in Dragon Valley don't appear to be due to just the recent changes in the dimensions. That's why we've called on the help of others.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-04.htm">"What kind of help do you need?"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
While it's not too meaningful in itself to lay down boundaries in <font color="LEVEL">Dragon Valley<font>, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find <font color="LEVEL">Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant</font> and <font color="LEVEL">Headless Knight</font>. You need to slay <font color="LEVEL">200</font> of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I think you got all the dragons and undead. Thank you. The change in Dragon Valley were so unusual that everyone was just nervous all the time. If you were curious about the Dimensional Cracks in Dragon Valley, you can join us when we go investigating the next time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-06.htm">"Sure. I'will join you"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
Got it. We're going to start investigating soon. I'll let you know when we start. Here's your reward for helping. What would you like as your reward?
</body></html>

View File

@ -0,0 +1,183 @@
/*
* 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.Q10531_OddHappeningsAtDragonValley;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
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.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
/**
* Odd Happenings At Dragon Valley (10531)
* @URL https://youtu.be/bmoXp8gd_zk https://l2wiki.com/Odd_Happenings_at_Dragon_Valley
* @author Darkloud
* @date 2020-01-13 - [23:30:1009]
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
// NPCs
private static final int NAMO = 33973;
private static final int[] MONSTERS =
{
23423, // MESMER DRAGON
23424, // GARGOLEY DRAGON
23425, // BLACK DDRAGON
23426, // EMERALD DRAGON
23427, // SAND DRAGON
23428, // DRAGONBLOOD CAPTAIN
23429, // DRAGONBLOOD MINION
23436, // CAVE SERVANT ARCHER
23437, // CAVE SERVANT WARRIOR
23438, // METALLIC CAVE SERVANT
23439, // IRON CAVE SERVANT
20146, // HEADLESS KNIGHT
};
// Rewards
private static final int XP = 54308087;
private static final int SP = 23435;
// Misc
private static final int MIN_LEVEL = 81;
private static final int MAX_LEVEL = 84;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(NAMO);
addTalkId(NAMO);
addKillId(MONSTERS);
addCondLevel(MIN_LEVEL, MAX_LEVEL, getNoQuestMsg(null));
}
@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 "33973-02.htm":
case "33973-03.htm":
{
htmltext = event;
break;
}
case "33973-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33973-06.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, XP, SP);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "33973-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33973-05.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
int killCount = qs.getInt("KILLED_COUNT");
if (killCount < 100)
{
killCount++;
qs.set("KILLED_COUNT", killCount);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if (killCount == 200)
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(1);
npcLogList.add(new NpcLogListHolder(NpcStringId.SUBJUGATION_IN_THE_NORTHERN_DRAGON_VALLEY, qs.getInt("KILLED_COUNT")));
return npcLogList;
}
return super.getNpcLogList(player);
}
}

View File

@ -363,6 +363,7 @@ import quests.Q10526_TheDarkSecretOfTheKetraOrcs.Q10526_TheDarkSecretOfTheKetraO
import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinationOfTheKetraOrcCommander;
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10531_OddHappeningsAtDragonValley.Q10531_OddHappeningsAtDragonValley;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
@ -914,7 +915,7 @@ public class QuestMasterHandler
Q10527_TheAssassinationOfTheKetraOrcCommander.class,
Q10528_TheAssassinationOfTheKetraOrcChief.class,
Q10530_KekropusLetterTheDragonsTransition.class,
Q10531_OddHappeningsAtDragonValley.class, // TODO: Not done.
Q10531_OddHappeningsAtDragonValley.class,
Q10532_UncoveringTheConspiracy.class, // TODO: Not done.
Q10534_HatchlingResearch.class,
Q10535_BlacksmithsSoul3.class, // TODO: Not done.

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
private static final int START_NPC = 33973;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -716,6 +716,7 @@
<!-- NPCs -->
<npc id="33972" x="102238" y="113296" z="-3720" heading="50632" respawnTime="60sec" /> <!-- Rakun -->
<npc id="33973" x="72224" y="116720" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Namo -->
<npc id="34221" x="72304" y="116602" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Stena -->
<npc id="30754" x="72452" y="117062" z="-3672" heading="18067" respawnTime="60sec" /> <!-- Gilmore -->
<npc id="32870" x="72597" y="117140" z="-3672" heading="21826" respawnTime="60sec" /> <!-- Separated Soul -->
<npc id="33970" x="80042" y="116033" z="-3672" heading="44928" respawnTime="60sec" /> <!-- Mercenary Captain -->

View File

@ -0,0 +1,5 @@
<html><body>Researcher Stena:<br>
I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?<br>
As it turns out, we've found someone.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -152,7 +152,6 @@
10457 Kefensis' Illusion
10506 Diana's Request
10529 Ivory Tower's Research - Sea of Spores Journal
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons
10533 Orfen's Ambition
10535 Blacksmith's Soul-awakening Weapon - 3

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I'm sure you know about the Dimensional Cracks appeaning all over Dragon Valley. The dragons have become very much weakened in recent days. The reduction of the dragons strength and other dangers to us is a good thing, but there's also a problem. The dragons may be weakened, but there's been activity from them as a group,and this will grow into a huge problem. And that's not all...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-02.htm">"What other problems are there?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
Currently, the dragons are active during the day while the undead are up to no good at night. On top or that, we don't know which dimensional rifts are connected to which dimensions or what else we'll lean from Dragon Valley and that's a problem.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-03.htm">"Is there a solution to all this?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
We don't have a clear solution just yet. For now, we've asked for help here and there in order to investigate the current situation in Dragon Valley. We are being helped by the Ertheia, and have been engaged continously in research. We don't have anything concrete yet. However, according to the information we have gained so far, the strange goings on in Dragon Valley don't appear to be due to just the recent changes in the dimensions. That's why we've called on the help of others.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-04.htm">"What kind of help do you need?"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
While it's not too meaningful in itself to lay down boundaries in <font color="LEVEL">Dragon Valley<font>, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find <font color="LEVEL">Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant</font> and <font color="LEVEL">Headless Knight</font>. You need to slay <font color="LEVEL">200</font> of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I think you got all the dragons and undead. Thank you. The change in Dragon Valley were so unusual that everyone was just nervous all the time. If you were curious about the Dimensional Cracks in Dragon Valley, you can join us when we go investigating the next time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-06.htm">"Sure. I'will join you"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
Got it. We're going to start investigating soon. I'll let you know when we start. Here's your reward for helping. What would you like as your reward?
</body></html>

View File

@ -0,0 +1,183 @@
/*
* 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.Q10531_OddHappeningsAtDragonValley;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
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.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
/**
* Odd Happenings At Dragon Valley (10531)
* @URL https://youtu.be/bmoXp8gd_zk https://l2wiki.com/Odd_Happenings_at_Dragon_Valley
* @author Darkloud
* @date 2020-01-13 - [23:30:1009]
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
// NPCs
private static final int NAMO = 33973;
private static final int[] MONSTERS =
{
23423, // MESMER DRAGON
23424, // GARGOLEY DRAGON
23425, // BLACK DDRAGON
23426, // EMERALD DRAGON
23427, // SAND DRAGON
23428, // DRAGONBLOOD CAPTAIN
23429, // DRAGONBLOOD MINION
23436, // CAVE SERVANT ARCHER
23437, // CAVE SERVANT WARRIOR
23438, // METALLIC CAVE SERVANT
23439, // IRON CAVE SERVANT
20146, // HEADLESS KNIGHT
};
// Rewards
private static final int XP = 54308087;
private static final int SP = 23435;
// Misc
private static final int MIN_LEVEL = 81;
private static final int MAX_LEVEL = 84;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(NAMO);
addTalkId(NAMO);
addKillId(MONSTERS);
addCondLevel(MIN_LEVEL, MAX_LEVEL, getNoQuestMsg(null));
}
@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 "33973-02.htm":
case "33973-03.htm":
{
htmltext = event;
break;
}
case "33973-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33973-06.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, XP, SP);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "33973-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33973-05.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
int killCount = qs.getInt("KILLED_COUNT");
if (killCount < 100)
{
killCount++;
qs.set("KILLED_COUNT", killCount);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if (killCount == 200)
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(1);
npcLogList.add(new NpcLogListHolder(NpcStringId.SUBJUGATION_IN_THE_NORTHERN_DRAGON_VALLEY, qs.getInt("KILLED_COUNT")));
return npcLogList;
}
return super.getNpcLogList(player);
}
}

View File

@ -318,6 +318,7 @@ import quests.Q10526_TheDarkSecretOfTheKetraOrcs.Q10526_TheDarkSecretOfTheKetraO
import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinationOfTheKetraOrcCommander;
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10531_OddHappeningsAtDragonValley.Q10531_OddHappeningsAtDragonValley;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
@ -828,7 +829,7 @@ public class QuestMasterHandler
Q10528_TheAssassinationOfTheKetraOrcChief.class,
Q10529_IvoryTowersResearchSeaOfSporesJournal.class, // TODO: Not done.
Q10530_KekropusLetterTheDragonsTransition.class,
Q10531_OddHappeningsAtDragonValley.class, // TODO: Not done.
Q10531_OddHappeningsAtDragonValley.class,
Q10532_UncoveringTheConspiracy.class, // TODO: Not done.
Q10533_OrfensAmbition.class, // TODO: Not done.
Q10534_HatchlingResearch.class,

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
private static final int START_NPC = 33973;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -716,6 +716,7 @@
<!-- NPCs -->
<npc id="33972" x="102238" y="113296" z="-3720" heading="50632" respawnTime="60sec" /> <!-- Rakun -->
<npc id="33973" x="72224" y="116720" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Namo -->
<npc id="34221" x="72304" y="116602" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Stena -->
<npc id="30754" x="72452" y="117062" z="-3672" heading="18067" respawnTime="60sec" /> <!-- Gilmore -->
<npc id="32870" x="72597" y="117140" z="-3672" heading="21826" respawnTime="60sec" /> <!-- Separated Soul -->
<npc id="33970" x="80042" y="116033" z="-3672" heading="44928" respawnTime="60sec" /> <!-- Mercenary Captain -->

View File

@ -0,0 +1,5 @@
<html><body>Researcher Stena:<br>
I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?<br>
As it turns out, we've found someone.<br>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -159,7 +159,6 @@
10423 Embryo Stronghold Ambush
10454 Final Embryo Apostle
10457 Kefensis' Illusion
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons
10535 Blacksmith's Soul-awakening Weapon - 3
10552 Challenge! Balthus Knight!

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I'm sure you know about the Dimensional Cracks appeaning all over Dragon Valley. The dragons have become very much weakened in recent days. The reduction of the dragons strength and other dangers to us is a good thing, but there's also a problem. The dragons may be weakened, but there's been activity from them as a group,and this will grow into a huge problem. And that's not all...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-02.htm">"What other problems are there?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
Currently, the dragons are active during the day while the undead are up to no good at night. On top or that, we don't know which dimensional rifts are connected to which dimensions or what else we'll lean from Dragon Valley and that's a problem.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-03.htm">"Is there a solution to all this?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
We don't have a clear solution just yet. For now, we've asked for help here and there in order to investigate the current situation in Dragon Valley. We are being helped by the Ertheia, and have been engaged continously in research. We don't have anything concrete yet. However, according to the information we have gained so far, the strange goings on in Dragon Valley don't appear to be due to just the recent changes in the dimensions. That's why we've called on the help of others.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-04.htm">"What kind of help do you need?"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
While it's not too meaningful in itself to lay down boundaries in <font color="LEVEL">Dragon Valley<font>, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find <font color="LEVEL">Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant</font> and <font color="LEVEL">Headless Knight</font>. You need to slay <font color="LEVEL">200</font> of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.<br>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Namo:<br>
I think you got all the dragons and undead. Thank you. The change in Dragon Valley were so unusual that everyone was just nervous all the time. If you were curious about the Dimensional Cracks in Dragon Valley, you can join us when we go investigating the next time.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10531_OddHappeningsAtDragonValley 33973-06.htm">"Sure. I'will join you"</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Namo:<br>
Got it. We're going to start investigating soon. I'll let you know when we start. Here's your reward for helping. What would you like as your reward?
</body></html>

View File

@ -0,0 +1,183 @@
/*
* 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.Q10531_OddHappeningsAtDragonValley;
import java.util.HashSet;
import java.util.Set;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
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.model.quest.State;
import org.l2jmobius.gameserver.network.NpcStringId;
/**
* Odd Happenings At Dragon Valley (10531)
* @URL https://youtu.be/bmoXp8gd_zk https://l2wiki.com/Odd_Happenings_at_Dragon_Valley
* @author Darkloud
* @date 2020-01-13 - [23:30:1009]
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
// NPCs
private static final int NAMO = 33973;
private static final int[] MONSTERS =
{
23423, // MESMER DRAGON
23424, // GARGOLEY DRAGON
23425, // BLACK DDRAGON
23426, // EMERALD DRAGON
23427, // SAND DRAGON
23428, // DRAGONBLOOD CAPTAIN
23429, // DRAGONBLOOD MINION
23436, // CAVE SERVANT ARCHER
23437, // CAVE SERVANT WARRIOR
23438, // METALLIC CAVE SERVANT
23439, // IRON CAVE SERVANT
20146, // HEADLESS KNIGHT
};
// Rewards
private static final int XP = 54308087;
private static final int SP = 23435;
// Misc
private static final int MIN_LEVEL = 81;
private static final int MAX_LEVEL = 84;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(NAMO);
addTalkId(NAMO);
addKillId(MONSTERS);
addCondLevel(MIN_LEVEL, MAX_LEVEL, getNoQuestMsg(null));
}
@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 "33973-02.htm":
case "33973-03.htm":
{
htmltext = event;
break;
}
case "33973-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33973-06.html":
{
if (qs.isCond(2))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, XP, SP);
qs.exitQuest(QuestType.ONE_TIME, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "33973-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "33973-05.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
int killCount = qs.getInt("KILLED_COUNT");
if (killCount < 100)
{
killCount++;
qs.set("KILLED_COUNT", killCount);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if (killCount == 200)
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted() && qs.isCond(1))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(1);
npcLogList.add(new NpcLogListHolder(NpcStringId.SUBJUGATION_IN_THE_NORTHERN_DRAGON_VALLEY, qs.getInt("KILLED_COUNT")));
return npcLogList;
}
return super.getNpcLogList(player);
}
}

View File

@ -317,6 +317,7 @@ import quests.Q10526_TheDarkSecretOfTheKetraOrcs.Q10526_TheDarkSecretOfTheKetraO
import quests.Q10527_TheAssassinationOfTheKetraOrcCommander.Q10527_TheAssassinationOfTheKetraOrcCommander;
import quests.Q10528_TheAssassinationOfTheKetraOrcChief.Q10528_TheAssassinationOfTheKetraOrcChief;
import quests.Q10530_KekropusLetterTheDragonsTransition.Q10530_KekropusLetterTheDragonsTransition;
import quests.Q10531_OddHappeningsAtDragonValley.Q10531_OddHappeningsAtDragonValley;
import quests.Q10534_HatchlingResearch.Q10534_HatchlingResearch;
import quests.Q10537_KamaelDisarray.Q10537_KamaelDisarray;
import quests.Q10538_GiantsEvolution.Q10538_GiantsEvolution;
@ -850,7 +851,7 @@ public class QuestMasterHandler
Q10528_TheAssassinationOfTheKetraOrcChief.class,
Q10529_IvoryTowersResearchFloatingSeaJournal.class, // FIXME: Custom.
Q10530_KekropusLetterTheDragonsTransition.class,
Q10531_OddHappeningsAtDragonValley.class, // TODO: Not done.
Q10531_OddHappeningsAtDragonValley.class,
Q10532_UncoveringTheConspiracy.class, // TODO: Not done.
Q10533_OrfensAmbition.class, // FIXME: Custom.
Q10534_HatchlingResearch.class,

View File

@ -1,36 +0,0 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10531_OddHappeningsAtDragonValley extends Quest
{
private static final int START_NPC = 33973;
public Q10531_OddHappeningsAtDragonValley()
{
super(10531);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

View File

@ -716,6 +716,7 @@
<!-- NPCs -->
<npc id="33972" x="102238" y="113296" z="-3720" heading="50632" respawnTime="60sec" /> <!-- Rakun -->
<npc id="33973" x="72224" y="116720" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Namo -->
<npc id="34221" x="72304" y="116602" z="-3688" heading="25811" respawnTime="60sec" /> <!-- Stena -->
<npc id="30754" x="72452" y="117062" z="-3672" heading="18067" respawnTime="60sec" /> <!-- Gilmore -->
<npc id="32870" x="72597" y="117140" z="-3672" heading="21826" respawnTime="60sec" /> <!-- Separated Soul -->
<npc id="33970" x="80042" y="116033" z="-3672" heading="44928" respawnTime="60sec" /> <!-- Mercenary Captain -->