diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/html/default/34221.htm b/L2J_Mobius_3.0_Helios/dist/game/data/html/default/34221.htm
new file mode 100644
index 0000000000..94cb1bc428
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/html/default/34221.htm
@@ -0,0 +1,5 @@
+
Researcher Stena:
+I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?
+As it turns out, we've found someone.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt
index 921b5a6ecc..b07b7ea5d1 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/MissingQuests.txt
@@ -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
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
new file mode 100644
index 0000000000..19d063b9bc
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
@@ -0,0 +1,4 @@
+Namo:
+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...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
new file mode 100644
index 0000000000..d01043a5d8
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
new file mode 100644
index 0000000000..724acd4cb8
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
new file mode 100644
index 0000000000..eb438fb11e
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
@@ -0,0 +1,3 @@
+Namo:
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, 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 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 and Headless Knight. You need to slay 200 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.
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
new file mode 100644
index 0000000000..40d7a9e3ce
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
new file mode 100644
index 0000000000..c84d463ea6
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
@@ -0,0 +1,3 @@
+Namo:
+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?
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
new file mode 100644
index 0000000000..70ea459dc4
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
@@ -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 .
+ */
+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 getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isStarted() && qs.isCond(1))
+ {
+ final Set 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);
+ }
+
+}
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java
index f1f817912e..b759609ca5 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -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,
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
deleted file mode 100644
index b54a62abbd..0000000000
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
+++ /dev/null
@@ -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 .
- */
-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));
- }
-}
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Giran/DragonValley.xml b/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Giran/DragonValley.xml
index 3210a419c9..e255735888 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Giran/DragonValley.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/spawns/Giran/DragonValley.xml
@@ -716,6 +716,7 @@
+
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/html/default/34221.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/html/default/34221.htm
new file mode 100644
index 0000000000..94cb1bc428
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/html/default/34221.htm
@@ -0,0 +1,5 @@
+Researcher Stena:
+I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?
+As it turns out, we've found someone.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt
index ba0e032651..2ac2fefac7 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/MissingQuests.txt
@@ -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
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
new file mode 100644
index 0000000000..19d063b9bc
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
@@ -0,0 +1,4 @@
+Namo:
+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...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
new file mode 100644
index 0000000000..d01043a5d8
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
new file mode 100644
index 0000000000..724acd4cb8
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
new file mode 100644
index 0000000000..eb438fb11e
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
@@ -0,0 +1,3 @@
+Namo:
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, 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 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 and Headless Knight. You need to slay 200 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.
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
new file mode 100644
index 0000000000..40d7a9e3ce
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
new file mode 100644
index 0000000000..c84d463ea6
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
@@ -0,0 +1,3 @@
+Namo:
+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?
+
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
new file mode 100644
index 0000000000..70ea459dc4
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
@@ -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 .
+ */
+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 getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isStarted() && qs.isCond(1))
+ {
+ final Set 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);
+ }
+
+}
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java
index 79ef202cf4..0706d9dd50 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -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.
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
deleted file mode 100644
index b54a62abbd..0000000000
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
+++ /dev/null
@@ -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 .
- */
-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));
- }
-}
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/spawns/Giran/DragonValley.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/spawns/Giran/DragonValley.xml
index 3210a419c9..e255735888 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/spawns/Giran/DragonValley.xml
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/spawns/Giran/DragonValley.xml
@@ -716,6 +716,7 @@
+
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/html/default/34221.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/html/default/34221.htm
new file mode 100644
index 0000000000..94cb1bc428
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/html/default/34221.htm
@@ -0,0 +1,5 @@
+Researcher Stena:
+I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?
+As it turns out, we've found someone.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt
index 4f53750572..5c629ae1f8 100644
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/MissingQuests.txt
@@ -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!
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
new file mode 100644
index 0000000000..19d063b9bc
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
@@ -0,0 +1,4 @@
+Namo:
+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...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
new file mode 100644
index 0000000000..d01043a5d8
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
new file mode 100644
index 0000000000..724acd4cb8
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
new file mode 100644
index 0000000000..eb438fb11e
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
@@ -0,0 +1,3 @@
+Namo:
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, 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 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 and Headless Knight. You need to slay 200 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.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
new file mode 100644
index 0000000000..40d7a9e3ce
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
new file mode 100644
index 0000000000..c84d463ea6
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
@@ -0,0 +1,3 @@
+Namo:
+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?
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
new file mode 100644
index 0000000000..70ea459dc4
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
@@ -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 .
+ */
+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 getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isStarted() && qs.isCond(1))
+ {
+ final Set 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);
+ }
+
+}
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java
index 4ba5149929..964f92451a 100644
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -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.
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
deleted file mode 100644
index b54a62abbd..0000000000
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
+++ /dev/null
@@ -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 .
- */
-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));
- }
-}
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/spawns/Giran/DragonValley.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/spawns/Giran/DragonValley.xml
index 3210a419c9..e255735888 100644
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/spawns/Giran/DragonValley.xml
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/spawns/Giran/DragonValley.xml
@@ -716,6 +716,7 @@
+
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/html/default/34221.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/html/default/34221.htm
new file mode 100644
index 0000000000..94cb1bc428
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/html/default/34221.htm
@@ -0,0 +1,5 @@
+Researcher Stena:
+I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?
+As it turns out, we've found someone.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt
index 1890edd321..11c07cf0de 100644
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/MissingQuests.txt
@@ -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
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
new file mode 100644
index 0000000000..19d063b9bc
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
@@ -0,0 +1,4 @@
+Namo:
+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...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
new file mode 100644
index 0000000000..d01043a5d8
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
new file mode 100644
index 0000000000..724acd4cb8
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
new file mode 100644
index 0000000000..eb438fb11e
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
@@ -0,0 +1,3 @@
+Namo:
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, 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 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 and Headless Knight. You need to slay 200 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.
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
new file mode 100644
index 0000000000..40d7a9e3ce
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
new file mode 100644
index 0000000000..c84d463ea6
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
@@ -0,0 +1,3 @@
+Namo:
+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?
+
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
new file mode 100644
index 0000000000..70ea459dc4
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
@@ -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 .
+ */
+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 getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isStarted() && qs.isCond(1))
+ {
+ final Set 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);
+ }
+
+}
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java
index d9e9e07618..f3f01cde84 100644
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -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,
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
deleted file mode 100644
index b54a62abbd..0000000000
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
+++ /dev/null
@@ -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 .
- */
-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));
- }
-}
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/spawns/Giran/DragonValley.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/spawns/Giran/DragonValley.xml
index 3210a419c9..e255735888 100644
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/spawns/Giran/DragonValley.xml
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/spawns/Giran/DragonValley.xml
@@ -716,6 +716,7 @@
+
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/html/default/34221.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/html/default/34221.htm
new file mode 100644
index 0000000000..94cb1bc428
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/html/default/34221.htm
@@ -0,0 +1,5 @@
+Researcher Stena:
+I mean, who in the world is going to the mindlessly dangerous thing of researching dragons? Really, who would do such a thing?
+As it turns out, we've found someone.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt
index f9a4c79fea..c23bcb19d0 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/MissingQuests.txt
@@ -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!
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
new file mode 100644
index 0000000000..19d063b9bc
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-01.htm
@@ -0,0 +1,4 @@
+Namo:
+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...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
new file mode 100644
index 0000000000..d01043a5d8
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-02.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
new file mode 100644
index 0000000000..724acd4cb8
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-03.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
new file mode 100644
index 0000000000..eb438fb11e
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm
@@ -0,0 +1,3 @@
+Namo:
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, 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 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 and Headless Knight. You need to slay 200 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.
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
new file mode 100644
index 0000000000..40d7a9e3ce
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-05.htm
@@ -0,0 +1,4 @@
+Namo:
+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.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
new file mode 100644
index 0000000000..c84d463ea6
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-06.htm
@@ -0,0 +1,3 @@
+Namo:
+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?
+
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
new file mode 100644
index 0000000000..70ea459dc4
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/Q10531_OddHappeningsAtDragonValley.java
@@ -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 .
+ */
+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 getNpcLogList(PlayerInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) && qs.isStarted() && qs.isCond(1))
+ {
+ final Set 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);
+ }
+
+}
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
index ad8e647a2d..2f3ded8a68 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -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,
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
deleted file mode 100644
index b54a62abbd..0000000000
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/not_done/Q10531_OddHappeningsAtDragonValley.java
+++ /dev/null
@@ -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 .
- */
-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));
- }
-}
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/spawns/Giran/DragonValley.xml b/L2J_Mobius_6.0_Fafurion/dist/game/data/spawns/Giran/DragonValley.xml
index 3210a419c9..e255735888 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/spawns/Giran/DragonValley.xml
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/spawns/Giran/DragonValley.xml
@@ -716,6 +716,7 @@
+