diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-01.html b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-01.html
new file mode 100644
index 0000000000..edceb0d1ac
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-01.html
@@ -0,0 +1,4 @@
+
High Priest Orven:
+Welcome. I have been waiting for you. The item you could not find the previous time has been found, which is why I contacted Queen Navari. I was sure that you would come this time.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-02.htm b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-02.htm
new file mode 100644
index 0000000000..cda4e08b04
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-02.htm
@@ -0,0 +1,4 @@
+High Priest Orven:
+You look rather worried. That device must have been important. But I do not think that rushing things will solve issue.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-03.htm b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-03.htm
new file mode 100644
index 0000000000..f7997ec6a2
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-03.htm
@@ -0,0 +1,7 @@
+High Priest Orven:
+Good idea. I did not confirm that device myself.
+Rather, someone else had reported.
+I'm not sure what it is, but it's definitely not ours. Its looks similar to the one the delegation had, which is why I was sure that it was that.
+
+First go find Shuvann at the Field of Massacre. It was him who found the device first.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-04.html b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-04.html
new file mode 100644
index 0000000000..b300cf17f5
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/30857-04.html
@@ -0,0 +1,4 @@
+High Priest Orven:
+I'm sure an Ertheia knows much better than us. First go find Shuvann at the Field of Massacre.
+It was him who found the device first
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-01.html b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-01.html
new file mode 100644
index 0000000000..cb6e50c32b
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-01.html
@@ -0,0 +1,4 @@
+Shuvann:
+What brings you here? The Fields of Massacre is not safe. I encourage you to go back.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-02.htm b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-02.htm
new file mode 100644
index 0000000000..646a67143c
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-02.htm
@@ -0,0 +1,4 @@
+Shuvann:
+Oh! You must be here for the item I came across. I did hear from Orven. It must be important to Ertheia.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-03.htm b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-03.htm
new file mode 100644
index 0000000000..b1f32d98ab
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/33867-03.htm
@@ -0,0 +1,4 @@
+Shuvann:
+I see. Let me find the document, where I recorded what happened.
+(You can obtain the next Letter from the Queen at Level 65.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/Announce.html b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/Announce.html
new file mode 100644
index 0000000000..e7779e9b9d
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/Announce.html
@@ -0,0 +1,5 @@
+The Queen's Letter
+A part of the Broken Device has been found. You must retrieve it
+Go talk to High Priest Orven in Einhased Temole in the Town of Aden. He will tell you the details.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/Q10785_LettersFromTheQueen_FieldsOfMassacre.java b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/Q10785_LettersFromTheQueen_FieldsOfMassacre.java
new file mode 100644
index 0000000000..780338602e
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/Q10785_LettersFromTheQueen_FieldsOfMassacre.java
@@ -0,0 +1,253 @@
+package quests.Q10785_LettersFromTheQueen_FieldsOfMassacre;
+
+import com.l2jmobius.Config;
+import com.l2jmobius.gameserver.ai.CtrlIntention;
+import com.l2jmobius.gameserver.cache.HtmCache;
+import com.l2jmobius.gameserver.enums.QuestSound;
+import com.l2jmobius.gameserver.enums.Race;
+import com.l2jmobius.gameserver.handler.BypassHandler;
+import com.l2jmobius.gameserver.handler.IBypassHandler;
+import com.l2jmobius.gameserver.model.Location;
+import com.l2jmobius.gameserver.model.actor.L2Character;
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.events.EventType;
+import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
+import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
+import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
+import com.l2jmobius.gameserver.model.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
+import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
+
+/**
+ * Letters From The Queen: Fields Of Massacre (10785)
+ * @URL https://l2wiki.com/Letters_from_the_Queen:_Fields_of_Massacre
+ * @author Gigi
+ */
+public class Q10785_LettersFromTheQueen_FieldsOfMassacre extends Quest implements IBypassHandler
+{
+ // NPCs
+ private static final int ORVEN = 30857;
+ private static final int SHUVANN = 33867;
+ // Items
+ private static final ItemHolder SCROLL_OF_ESCAPE_FIELDS_OF_MASSACRE = new ItemHolder(37029, 1);
+ private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 71);
+ private static final ItemHolder EWA = new ItemHolder(729, 1);
+ // Reward
+ private static final int EXP_REWARD = 807240;
+ private static final int SP_REWARD = 193;
+ // Misc
+ private static final int MIN_LEVEL = 61;
+ private static final int MAX_LEVEL = 64;
+ // Teleport
+ private static final Location TP_LOC = new Location(147446, 22761, -1984);
+ private static final String[] TP_COMMANDS =
+ {
+ "Q10785_Teleport"
+ };
+
+ public Q10785_LettersFromTheQueen_FieldsOfMassacre()
+ {
+ super(10785, Q10785_LettersFromTheQueen_FieldsOfMassacre.class.getSimpleName(), "Letters from the Queen: FieldsOfMassacre");
+ addStartNpc(ORVEN);
+ addTalkId(ORVEN, SHUVANN);
+ addCondRace(Race.ERTHEIA, "noErtheia.html");
+ addCondMinLevel(MIN_LEVEL, "no_level.html");
+ BypassHandler.getInstance().registerHandler(this);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+ String htmltext = null;
+ switch (event)
+ {
+ case "30857-02.htm":
+ case "30857-04.html":
+ case "33867-02.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "30857-03.htm": // start the quest
+ {
+ qs.startQuest();
+ if (qs.getQuestItemsCount(SCROLL_OF_ESCAPE_FIELDS_OF_MASSACRE.getId()) < 1)
+ {
+ qs.giveItems(SCROLL_OF_ESCAPE_FIELDS_OF_MASSACRE);
+ player.sendPacket(new ExShowScreenMessage("Try using the teleport scroll Orven gave you to go to Fields of Massacre.", 10000));
+ qs.setCond(2, true);
+ htmltext = event;
+ }
+ break;
+ }
+ case "33867-03.htm":
+ {
+ if (qs.isCond(2))
+ {
+ player.sendPacket(new ExShowScreenMessage("Grow stronger here until you receive the next letter from Queen Navari at Lv. 65!", 5000));
+ qs.giveItems(STEEL_DOOR_GUILD);
+ qs.giveItems(EWA);
+ qs.addExpAndSp(EXP_REWARD, SP_REWARD);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = null;
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ if (player.getRace() != Race.ERTHEIA)
+ {
+ return "noErtheia.html";
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ switch (npc.getId())
+ {
+ case ORVEN:
+ {
+ htmltext = "30857-01.html";
+ break;
+ }
+ case SHUVANN:
+ {
+ if (player.getRace() != Race.ERTHEIA)
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ else if (qs.isCreated())
+ {
+ htmltext = getNoQuestMsg(player);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ switch (npc.getId())
+ {
+ case ORVEN:
+ {
+ if (qs.isCond(1))
+ {
+ playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+ htmltext = "30857-03.htm";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "30857-04.html";
+ }
+ break;
+ }
+ case SHUVANN:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "33867-01.html";
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
+ @RegisterType(ListenerRegisterType.GLOBAL)
+ public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
+ {
+ if (Config.DISABLE_TUTORIAL)
+ {
+ return;
+ }
+ final L2PcInstance player = event.getActiveChar();
+ final int oldLevel = event.getOldLevel();
+ final int newLevel = event.getNewLevel();
+ if ((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA))
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
+ html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/Announce.html"));
+ player.sendPacket(html);
+ }
+ }
+ }
+
+ @Override
+ public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() != Race.ERTHEIA))
+ {
+ return false;
+ }
+ if (player.isInParty())
+ {
+ player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
+ }
+ else if (player.isInCombat())
+ {
+ player.sendPacket(new ExShowScreenMessage("You cannot teleport when you in combat status.", 5000));
+ }
+ else if (player.isInDuel())
+ {
+ player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
+ }
+ else if (player.isInOlympiadMode())
+ {
+ player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
+ }
+ else if (player.isInVehicle())
+ {
+ player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
+ }
+ else
+ {
+ player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
+ player.teleToLocation(TP_LOC);
+ }
+ return true;
+ }
+
+ @Override
+ public String[] getBypassList()
+ {
+ return TP_COMMANDS;
+ }
+}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/noErtheia.html b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/noErtheia.html
new file mode 100644
index 0000000000..ea67e16f1c
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/noErtheia.html
@@ -0,0 +1,3 @@
+High Priest Orven:
+You are not Ertheia, this quest is not for you.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/no_level.htm b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/no_level.htm
new file mode 100644
index 0000000000..2ab4634673
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10785_LettersFromTheQueen_FieldsOfMassacre/no_level.htm
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 61 and above)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
index 44ee1b193c..e37874e6eb 100644
--- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -274,7 +274,7 @@ import quests.Q10763_TerrifyingChertuba.Q10763_TerrifyingChertuba;
import quests.Q10764_FreeSpirit.Q10764_FreeSpirit;
import quests.Q10769_LettersFromTheQueen_CrumaTower.Q10769_LettersFromTheQueen_CrumaTower;
import quests.Q10782_LettersFromTheQueen_ForsakenPlains.Q10782_LettersFromTheQueen_ForsakenPlains;
-
+import quests.Q10785_LettersFromTheQueen_FieldsOfMassacre.Q10785_LettersFromTheQueen_FieldsOfMassacre;
/**
* @author NosBit
@@ -539,7 +539,8 @@ final class QuestMasterHandler
Q10763_TerrifyingChertuba.class,
Q10764_FreeSpirit.class,
Q10769_LettersFromTheQueen_CrumaTower.class,
- Q10782_LettersFromTheQueen_ForsakenPlains.class
+ Q10782_LettersFromTheQueen_ForsakenPlains.class,
+ Q10785_LettersFromTheQueen_FieldsOfMassacre.class
};
public static void main(String[] args)