Kain Van Halter:
+Took you long enough. I thought you'd be as swift as the wind, but you're slow as molasses. I got here first with Ferin. She's the daughter of... Venir, was it? We're finally going to find the Grail. Let's get going.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639-02.html
new file mode 100644
index 0000000000..2ec7e79c69
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639-02.html
@@ -0,0 +1,7 @@
+Kain Van Halter:
+The Grail was literally just a simple grail. it was not what I was looking for.
+But, I have no regrets about taking this journey with you.
+If it's not the Grail, I'm not interested in it. Do whatever you wish with it.
+Let us part ways now.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639.html
new file mode 100644
index 0000000000..abc8c737de
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639.html
@@ -0,0 +1,4 @@
+Kain Van Halter:
+I hope that the Grail it's talking about is the same one I'm looking for.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-01.html
new file mode 100644
index 0000000000..e5d3e2d372
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-01.html
@@ -0,0 +1,7 @@
+
+Mysterious Wizard:
+Nidrah? I have no idea what you're talking about. Oh, you mean thr vampire shouted at me?
+She was cursed with dark magic and was not herself. You believe her?
+More importantly, I want to talk about the object you have.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-02.html
new file mode 100644
index 0000000000..c717b58f52
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-02.html
@@ -0,0 +1,6 @@
+
+Mysterious Wizard:
+This is a extremely rare gem called Atelia. To my knowledge, it's only found in the Wind Spirit Realm.
+I heard that an Atelia can recognize its owner. You see how it turned back to its original form when you touched it? That means you are the rightful owner.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-03.html
new file mode 100644
index 0000000000..492ba03570
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-03.html
@@ -0,0 +1,5 @@
+Mysterious Wizard:
+Do You still suspect me? I'm just helping you so that you won't lose what is yours. The Atelia will only end up in Queen's hands back in town, wich means ir will be the Queen's power. Don't you want the power for yourself?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-04.html
new file mode 100644
index 0000000000..0e6cbb5cca
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-04.html
@@ -0,0 +1,5 @@
+Mysterious Wizard:
+Really? Having Atelia's power will make you powerful beyond your imagination. You want to give up your last chance to use this power for yourself?
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-05.html
new file mode 100644
index 0000000000..9b9052430f
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980-05.html
@@ -0,0 +1,3 @@
+Mysterious Wizard:
+I'm sorry to hear that. I wanted to see you become more powerful. That's all time has permitted us. Perhaps I will see you later?
+
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980.html
new file mode 100644
index 0000000000..65483963d1
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33980.html
@@ -0,0 +1,5 @@
+
+Mysterious Wizard:
+Long time no see. How do you do?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996-01.html
new file mode 100644
index 0000000000..1aaac72956
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996-01.html
@@ -0,0 +1,5 @@
+Grail:
+This is the grail the Prophecy Machine was referring to.
+Do you think this is THE grail?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996-02.html
new file mode 100644
index 0000000000..062da7608c
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996-02.html
@@ -0,0 +1,3 @@
+Grail:
+The grail disappeared, leaving behind a gem.
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996.html
new file mode 100644
index 0000000000..d0de8dcc13
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/33996.html
@@ -0,0 +1,6 @@
+Grail:
+
The Atelias's powers are sealed here.
+It will regan its from, when the masters of its power comes.
+
-Zepharon, King of Ertheia
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java
new file mode 100644
index 0000000000..13aa7214e1
--- /dev/null
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java
@@ -0,0 +1,463 @@
+/*
+ * 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 instances.ChamberOfProphecies;
+
+import org.l2jmobius.gameserver.ai.CtrlIntention;
+import org.l2jmobius.gameserver.enums.ChatType;
+import org.l2jmobius.gameserver.model.Location;
+import org.l2jmobius.gameserver.model.World;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Npc;
+import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.model.instancezone.Instance;
+import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.NpcStringId;
+import org.l2jmobius.gameserver.network.SystemMessageId;
+import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
+import org.l2jmobius.gameserver.network.serverpackets.ExShowUsm;
+import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
+import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
+import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
+
+import instances.AbstractInstance;
+import quests.Q11027_PathOfDestinyOvercome.Q11027_PathOfDestinyOvercome;
+
+/**
+ * Chamber of Prophecies instance.
+ * @author Gigi, Mobius
+ */
+public class ChamberOfProphecies extends AbstractInstance
+{
+ // NPCs
+ private static final int KAIN_VAN_HALTER = 31639;
+ private static final int VAN_HALTER = 33999;
+ private static final int FERIN = 34001;
+ private static final int GRAIL = 33996;
+ private static final int MYSTERIOUS_WIZARD = 33980;
+ // Misc
+ private static final int DOOR_2 = 17230102;
+ private static final int DOOR_3 = 17230103;
+ private static final int DOOR_4 = 17230104;
+ private static final int TEMPLATE_ID = 255;
+ private static final int PROPHECY_MACHINE = 39540;
+ private static final int ATELIA = 39542;
+ private static final Location FIRST_ROOM_LOC = new Location(-88503, 184754, -10440, 48891);
+
+ public ChamberOfProphecies()
+ {
+ super(TEMPLATE_ID);
+ addStartNpc(KAIN_VAN_HALTER);
+ addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD);
+ addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD);
+ addSeeCreatureId(FERIN);
+ addSeeCreatureId(VAN_HALTER);
+ }
+
+ @Override
+ public String onAdvEvent(String event, Npc npc, PlayerInstance player)
+ {
+ String htmltext = null;
+ if (event.equals("enterInstance"))
+ {
+ final QuestState qs = player.getQuestState(Q11027_PathOfDestinyOvercome.class.getSimpleName());
+ if (qs != null)
+ {
+ enterInstance(player, npc, TEMPLATE_ID);
+ if (hasQuestItems(player, PROPHECY_MACHINE))
+ {
+ takeItems(player, PROPHECY_MACHINE, 1);
+ }
+ qs.setCond(4, true);
+ }
+ }
+ else
+ {
+ final Instance world = npc.getInstanceWorld();
+ if (!isInInstance(world))
+ {
+ return null;
+ }
+
+ switch (event)
+ {
+ case "31639-01.html":
+ case "33996-01.html":
+ case "33980-01.html":
+ case "33980-02.html":
+ {
+ htmltext = event;
+ break;
+ }
+ case "33996-02.html":
+ {
+ world.broadcastPacket(ExShowUsm.USM_Q015_E); // TODO not show usim movie
+ world.despawnGroup("q10753_16_instance_grail");
+ world.spawnGroup("q10753_16_instance_wizard");
+ giveItems(player, ATELIA, 1);
+ showOnScreenMsg(player, NpcStringId.TALK_TO_THE_MYSTERIOUS_WIZARD, ExShowScreenMessage.TOP_CENTER, 6000);
+ htmltext = event;
+ break;
+ }
+ case "33980-03.html":
+ {
+ showOnScreenMsg(player, NpcStringId.THIS_CHOICE_CANNOT_BE_REVERSED, ExShowScreenMessage.TOP_CENTER, 6000);
+ htmltext = event;
+ break;
+ }
+ case "33980-04.html":
+ {
+ showOnScreenMsg(player, NpcStringId.THIS_CHOICE_CANNOT_BE_REVERSED, ExShowScreenMessage.TOP_CENTER, 6000);
+ htmltext = event;
+ break;
+ }
+ case "33980-05.html":
+ {
+ world.spawnGroup("q10753_16_instance_halter_2");
+ world.setStatus(6);
+ startQuestTimer("DESPAWN_WIZARD", 2000, npc, player);
+ htmltext = event;
+ break;
+ }
+ case "status":
+ {
+ if (world.isStatus(0))
+ {
+ htmltext = "31639-01.html";
+ break;
+ }
+ htmltext = "31639-02.html";
+ break;
+ }
+ case "teleport":
+ {
+ world.getNpc(FERIN).deleteMe(); // probably needs another npc id for initial room
+ world.spawnGroup("q10753_16_instance_halter_1_1");
+ world.spawnGroup("wof_room1");
+ player.teleToLocation(FIRST_ROOM_LOC);
+ cancelQuestTimers("CHECK_STATUS");
+ startQuestTimer("CHECK_STATUS", 7000, world.getNpc(KAIN_VAN_HALTER), null);
+ break;
+ }
+ case "CHECK_STATUS":
+ {
+ switch (world.getStatus())
+ {
+ case 0:
+ {
+ if (world.getAliveNpcs(MonsterInstance.class).isEmpty())
+ {
+ final PlayerInstance pl = world.getFirstPlayer();
+ startQuestTimer("SEY2", 14000, world.getNpc(FERIN), pl);
+ startQuestTimer("SEY_KAIN", 24000, world.getNpc(VAN_HALTER), pl);
+ startQuestTimer("OPEN_DOOR1", 5000, npc, pl);
+ }
+ startQuestTimer("CHECK_STATUS", 7000, npc, null);
+ break;
+ }
+ case 1:
+ {
+ if (world.getAliveNpcs(MonsterInstance.class).isEmpty())
+ {
+ world.spawnGroup("wof_room2_1");
+ world.setStatus(2);
+ }
+ startQuestTimer("CHECK_STATUS", 7000, npc, null);
+ break;
+ }
+ case 2:
+ {
+ if (world.getAliveNpcs(MonsterInstance.class).isEmpty())
+ {
+ final PlayerInstance pl = world.getFirstPlayer();
+ startQuestTimer("SEY3", 8000, world.getNpc(FERIN), pl);
+ startQuestTimer("OPEN_DOOR2", 5000, npc, pl);
+ }
+ startQuestTimer("CHECK_STATUS", 7000, npc, null);
+ break;
+ }
+ case 3:
+ {
+ if (world.getAliveNpcs(MonsterInstance.class).isEmpty())
+ {
+ world.setStatus(4);
+ world.spawnGroup("wof_room3_2");
+ world.openCloseDoor(DOOR_3, false);
+ startQuestTimer("SEY_KAIN_1", 5000, world.getNpc(VAN_HALTER), world.getFirstPlayer());
+ }
+ startQuestTimer("CHECK_STATUS", 7000, npc, null);
+ break;
+ }
+ case 4:
+ {
+ if (world.getAliveNpcs(MonsterInstance.class).isEmpty())
+ {
+ world.setStatus(5);
+ world.spawnGroup("wof_room4");
+ final PlayerInstance pl = world.getFirstPlayer();
+ startQuestTimer("SEY_KAIN_2", 3000, world.getNpc(VAN_HALTER), pl);
+ startQuestTimer("SEY4", 7000, world.getNpc(FERIN), pl);
+ }
+ else
+ {
+ startQuestTimer("CHECK_STATUS", 7000, npc, null);
+ }
+ break;
+ }
+ }
+ break;
+ }
+ case "ATTACK":
+ case "ATTACK1":
+ case "ATTACK2":
+ {
+ npc.setRunning();
+ ((Attackable) npc).setCanReturnToSpawnPoint(false);
+ if (npc.isScriptValue(0) && world.getAliveNpcs(MonsterInstance.class).isEmpty())
+ {
+ npc.setTarget(player);
+ npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
+ }
+ else if (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)
+ {
+ World.getInstance().forEachVisibleObjectInRange(npc, MonsterInstance.class, 3000, monster ->
+ {
+ addAttackDesire(npc, monster);
+ return;
+ });
+ }
+ break;
+ }
+ case "OPEN_DOOR1":
+ {
+ cancelQuestTimers("ATTACK");
+ world.setStatus(1);
+ world.openCloseDoor(DOOR_2, true);
+ world.spawnGroup("wof_room2");
+ break;
+ }
+ case "OPEN_DOOR2":
+ {
+ cancelQuestTimers("ATTACK1");
+ startQuestTimer("ATTACK2", 200, world.getNpc(VAN_HALTER), player, true);
+ world.setStatus(3);
+ world.spawnGroup("wof_room3");
+ world.openCloseDoor(DOOR_3, true);
+ break;
+ }
+ case "BROADCAST_TEXT":
+ {
+ npc.setTarget(player);
+ npc.setRunning();
+ npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THAT_GUY_KAIN_HAS_A_SMARMY_FACE));
+ player.sendPacket(new PlaySound(3, "Npcdialog1.apple_quest_7", 0, 0, 0, 0, 0));
+ break;
+ }
+ case "SEY2":
+ {
+ if (npc.getId() == FERIN)
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOU_CAN_T_DIE_HERE_I_DIDN_T_LEARN_RESURRECT_YET));
+ player.sendPacket(new PlaySound(3, "Npcdialog1.apple_quest_4", 0, 0, 0, 0, 0));
+ }
+ break;
+ }
+ case "SEY_KAIN":
+ {
+ if (npc.getId() == VAN_HALTER)
+ {
+ startQuestTimer("ATTACK1", 200, npc, player, true);
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.GISELLE_WAS_SUCH_A_SWEET_CHILD));
+ player.sendPacket(new PlaySound(3, "Npcdialog1.holter_quest_1", 0, 0, 0, 0, 0));
+ }
+ break;
+ }
+ case "SEY3":
+ {
+ if (npc.getId() == FERIN)
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.DO_YOU_THINK_I_LL_GROW_TALLER_IF_I_EAT_LOTS_AND_LOTS));
+ player.sendPacket(new PlaySound(3, "Npcdialog1.apple_quest_6", 0, 0, 0, 0, 0));
+ }
+ break;
+ }
+ case "SEY_KAIN_1":
+ {
+ if (npc.getId() == VAN_HALTER)
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.SUCH_MONSTERS_IN_A_PLACE_LIKE_THIS_UNBELIEVABLE));
+ }
+ break;
+ }
+ case "SEY_KAIN_2":
+ {
+ if (npc.getId() == VAN_HALTER)
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THAT_S_THE_MONSTER_THAT_ATTACKED_FAERON_YOU_RE_OUTMATCHED_HERE_GO_AHEAD_I_LL_CATCH_UP));
+ player.sendPacket(new PlaySound(3, "Npcdialog1.holter_quest_6", 0, 0, 0, 0, 0));
+ startQuestTimer("SEY_KAIN_3", 7000, npc, player);
+ }
+ break;
+ }
+ case "SEY4":
+ {
+ if (npc.getId() == FERIN)
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.GO_NOW_KAIN_CAN_HANDLE_THIS));
+ startQuestTimer("REST", 5000, npc, player);
+ npc.setScriptValue(1);
+ }
+ break;
+ }
+ case "SEY_KAIN_3":
+ {
+ if (npc.getId() == VAN_HALTER)
+ {
+ npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.LEAVE_THIS_TO_ME_GO));
+ startQuestTimer("SEY_KAIN_4", 1000, npc, player);
+ npc.setScriptValue(1);
+ }
+ break;
+ }
+ case "REST":
+ {
+ if (npc.getId() == FERIN)
+ {
+ npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE, player);
+ cancelQuestTimers("BROADCAST_TEXT");
+ }
+ break;
+ }
+ case "SEY_KAIN_4":
+ {
+ world.setStatus(5);
+ world.spawnGroup("q10753_16_instance_grail");
+ showOnScreenMsg(player, NpcStringId.LEAVE_THIS_PLACE_TO_KAIN_NGO_TO_THE_NEXT_ROOM, ExShowScreenMessage.TOP_CENTER, 6000);
+ world.openCloseDoor(DOOR_4, true);
+ cancelQuestTimers("ATTACK2");
+ npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE, player);
+ startQuestTimer("CLOSE", 15000, world.getNpc(GRAIL), player);
+ break;
+ }
+ case "CLOSE":
+ {
+ if (player.calculateDistance2D(world.getNpc(GRAIL)) < 390)
+ {
+ world.openCloseDoor(DOOR_4, false);
+ world.despawnGroup("q10753_16_instance_halter_1_1");
+ world.despawnGroup("wof_room4");
+ }
+ else
+ {
+ startQuestTimer("CLOSE", 3000, npc, player);
+ }
+ break;
+ }
+ case "DESPAWN_WIZARD":
+ {
+ world.despawnGroup("q10753_16_instance_wizard");
+ break;
+ }
+ case "exit":
+ {
+ startQuestTimer("finish", 3000, npc, player);
+ player.sendPacket(new SystemMessage(SystemMessageId.THIS_DUNGEON_WILL_EXPIRE_IN_S1_MINUTE_S_YOU_WILL_BE_FORCED_OUT_OF_THE_DUNGEON_WHEN_THE_TIME_EXPIRES).addInt((int) 1.0D));
+ final QuestState qs = player.getQuestState(Q11027_PathOfDestinyOvercome.class.getSimpleName());
+ if (qs != null)
+ {
+ qs.setCond(5, true);
+ }
+ break;
+ }
+ case "finish":
+ {
+ world.finishInstance(0);
+ break;
+ }
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onFirstTalk(Npc npc, PlayerInstance player)
+ {
+ final QuestState qs = player.getQuestState(Q11027_PathOfDestinyOvercome.class.getSimpleName());
+ String htmltext = null;
+ switch (npc.getId())
+ {
+ case KAIN_VAN_HALTER:
+ {
+ if ((qs != null) && qs.isCond(4))
+ {
+ htmltext = "31639.html";
+ }
+ break;
+ }
+ case GRAIL:
+ {
+ htmltext = "33996.html";
+ break;
+ }
+ case MYSTERIOUS_WIZARD:
+ {
+ if ((qs != null) && qs.isCond(4))
+ {
+ htmltext = "33980.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onSeeCreature(Npc npc, Creature creature, boolean isSummon)
+ {
+ final Instance world = npc.getInstanceWorld();
+ if (world != null)
+ {
+ switch (npc.getId())
+ {
+ case FERIN:
+ {
+ if (creature.isPlayer() && !creature.isDead() && npc.isScriptValue(0))
+ {
+ startQuestTimer("BROADCAST_TEXT", 12000, npc, (PlayerInstance) creature);
+ }
+ break;
+ }
+ case VAN_HALTER:
+ {
+ if (creature.isPlayer() && !creature.isDead() && world.isStatus(0))
+ {
+ startQuestTimer("ATTACK", 2000, npc, (PlayerInstance) creature, true);
+ }
+ break;
+ }
+ }
+ }
+ return super.onSeeCreature(npc, creature, isSummon);
+ }
+
+ public static void main(String[] args)
+ {
+ new ChamberOfProphecies();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt
index a3be32ed58..8ba32ae7eb 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/MissingQuests.txt
@@ -232,13 +232,7 @@
10900 Path to Strength
10901 A Model Adventurer
11024 Path of Destiny - Beginning
-11027 Path of Destiny - Overcome
11028 Wind of Destiny - Encounter
11029 Wind of Destiny - Promise
11030 Wind of Destiny - Choice
-11041 Check Out the Situation
-11042 Suspicious Movements
-11043 Someone's Trace
-11044 Ketra Orcs...?
-11045 They Must Be Up to Something
-11046 Praying for Safety
\ No newline at end of file
+11041 Check Out the Situation
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/33980-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/1033980-01.html
similarity index 79%
rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/33980-01.html
rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/1033980-01.html
index 651a5ae1c3..bb08306800 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/33980-01.html
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/1033980-01.html
@@ -1,5 +1,5 @@
Mysterios Wizard:
The deaths of your companions must have been shocking for you. I thought it was strange that Skeletons were appearing near the town.
Please let your guard down. I'm just a wizard passing by.
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/33980-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/1033980-02.html
similarity index 100%
rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/33980-02.html
rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/1033980-02.html
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/Q11025_PathOfDestinyProving.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/Q11025_PathOfDestinyProving.java
index 25d6e75fc4..066918482f 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/Q11025_PathOfDestinyProving.java
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11025_PathOfDestinyProving/Q11025_PathOfDestinyProving.java
@@ -46,7 +46,7 @@ public class Q11025_PathOfDestinyProving extends Quest
private static final int TARTI = 34505;
private static final int RAYMOND = 30289;
private static final int TERESIA = 33981;
- private static final int MYSTERIOUS_MAGE = 33980;
+ private static final int MYSTERIOUS_MAGE = 1033980; // TODO: Find proper ID.
private static final int SKELETON_ARCHER = 27529;
private static final int SKELETON_WARRIOR = 27528;
// Items
@@ -88,7 +88,7 @@ public class Q11025_PathOfDestinyProving extends Quest
case "34505-08.html":
case "34505-09.html":
case "34505-12.html":
- case "33980-02.html":
+ case "1033980-02.html":
{
htmltext = event;
break;
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-01.html
similarity index 76%
rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-01.html
rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-01.html
index 5661623094..a4082feb03 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-01.html
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-01.html
@@ -1,4 +1,4 @@
Kain Van Halter:
Who are you? Why would you try to kill Giselle all the way out here?
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-02.html
similarity index 80%
rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-02.html
rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-02.html
index 147b9e3006..0f168c6676 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-02.html
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-02.html
@@ -1,5 +1,5 @@
Kain Van Halter:
That's not a good reason. The fast that you came all the way here alone is suspicious.
You were after Giselle's life in the first place!
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-03.html
similarity index 85%
rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-03.html
rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-03.html
index 65886482c9..1fd7783863 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-03.html
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-03.html
@@ -2,5 +2,5 @@
The High Priest of Gludio?
Alright, then. Let's say I believe that Giselle has attacked you first. Vampires have a hard time controlling themselves, that's for sure...
However, what brings you all the way here? Why have you been looking for Giselle? I can't imagine you having business with her.
-
+