diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/instances/ChamberOfProphecies.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/instances/ChamberOfProphecies.xml new file mode 100644 index 0000000000..0f0392172d --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/instances/ChamberOfProphecies.xml @@ -0,0 +1,117 @@ + + + + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639-01.html new file mode 100644 index 0000000000..8473fd2fb9 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/31639-01.html @@ -0,0 +1,4 @@ +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.
- + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-04.html similarity index 81% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-04.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-04.html index 7d839ca95e..b91f788f41 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-04.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-04.html @@ -1,5 +1,5 @@ Kain Van Halter:
Me?
What do you want with a wanderer like me? And I don't see why I should even help you. You tried to harm my sister! Good thing I stopped by to check on her.
- + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-05.html similarity index 71% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-05.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-05.html index 4d54114a54..4a7f46d86d 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-05.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-05.html @@ -1,5 +1,5 @@ Kain Van Halter:
Prophecy Machine?
What about the Prophecy Machine?
- + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-06.html similarity index 89% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-06.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-06.html index 9ce08b78cc..ad0818c3fe 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-06.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-06.html @@ -7,5 +7,5 @@ The path will open to the Grail.
... ...
So why are you showing me this?
- + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-07.html similarity index 79% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-07.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-07.html index 0d195b0908..bec336bf16 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-07.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-07.html @@ -1,5 +1,5 @@ Kain Van Halter:
I see. Did Karla tell you? So sge still remembers me mentioning the Grail that day.
Check this out first.
- + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-08.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-08.html similarity index 85% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-08.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-08.html index 8a61595809..d99ebf8b96 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-08.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-08.html @@ -2,5 +2,5 @@ Surprised? I found it while passing Goddard Territory.
This looks similar to the Prophecy Machine that you showed me. It's probably a part of the whole.
And about what's written on your machine... I think I know what it's saying.
- + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-09.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-09.html similarity index 86% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-09.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-09.html index 7b9397a7bd..e44cceec17 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-09.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-09.html @@ -1,5 +1,5 @@ Kain Van Halter:
A red river flows... hard frost upon the earth. You see, Elmore rules over a cold part of the land, which it once shared with Aden as Elmoreden. Now the whole continent is swarming with Shilen's bloody works.
But this part is surprising. When joined by one... the path will open to the Grail. Truly?
- + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-10.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-10.html similarity index 91% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-10.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-10.html index f0d0dbb20c..e08ab151ad 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-10.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-10.html @@ -3,5 +3,5 @@ Ha! Even the prophecy of Ertheia describes me so, huh? Well, it's right. My mother was a commoner. A tragic farce, to be loved by the king! So here I am, a prince only in name. And descending with the winds to deliver from...yes, that is me. I happened to save Faeron once. Kain is your man!
The Grail...if it's the same Grail, then...anyway, you can read the rest of the prophecy with the fragment that I found, right?
Take it. Your village needs it more than I.
- + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-11.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-11.html similarity index 100% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-11.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-11.html diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-12.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-12.html similarity index 76% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-12.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-12.html index 218a080aa9..202f73e982 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-12.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-12.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-13.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-13.html similarity index 80% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-13.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-13.html index c77aa0e8c2..05d17b2eea 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-13.html +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-13.html @@ -1,5 +1,5 @@ Kain Van Halter:
That's not a good reason. The fact 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-14.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-14.html similarity index 100% rename from L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/31639-14.html rename to L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/34339-14.html diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/Q11026_PathOfDestinyConviction.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/Q11026_PathOfDestinyConviction.java index 3da7d66088..3947caeeb2 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/Q11026_PathOfDestinyConviction.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11026_PathOfDestinyConviction/Q11026_PathOfDestinyConviction.java @@ -48,7 +48,7 @@ public class Q11026_PathOfDestinyConviction extends Quest // NPCs private static final int TARTI = 34505; private static final int RAYMOND = 30289; - private static final int KAIN_VAN_HALTER = 31639; + private static final int KAIN_VAN_HALTER = 34339; private static final int MYSTERIOUS_MAGE = 31522; private static final int VAMPIRE_SOLDIER = 21582; private static final int VON_HELLMANN = 19566; @@ -68,7 +68,7 @@ public class Q11026_PathOfDestinyConviction extends Quest addFirstTalkId(KAIN_VAN_HALTER, MYSTERIOUS_MAGE); addKillId(VAMPIRE_SOLDIER, VON_HELLMANN); registerQuestItems(WIND_SPIRIT); - addCondMinLevel(41, "33963-06.html"); + addCondMinLevel(41, "33963-06.html"); // Not retail, just don't want to see it as unavailable when picking up next quest. addCondCompletedQuest(Q11025_PathOfDestinyProving.class.getSimpleName(), "33963-06.html"); setQuestNameNpcStringId(NpcStringId.LV_40_PATH_OF_DESTINY_CONVICTION); } @@ -89,15 +89,15 @@ public class Q11026_PathOfDestinyConviction extends Quest case "34505-09.html": case "34505-11.html": case "30289-03.html": - case "31639-02.html": - case "31639-03.html": - case "31639-04.html": - case "31639-05.html": - case "31639-06.html": - case "31639-07.html": - case "31639-08.html": - case "31639-09.html": - case "31639-11.html": + case "34339-02.html": + case "34339-03.html": + case "34339-04.html": + case "34339-05.html": + case "34339-06.html": + case "34339-07.html": + case "34339-08.html": + case "34339-09.html": + case "34339-11.html": { htmltext = event; break; @@ -145,7 +145,7 @@ public class Q11026_PathOfDestinyConviction extends Quest } break; } - case "31639-10.html": + case "34339-10.html": { if (qs.isCond(3)) { @@ -244,7 +244,7 @@ public class Q11026_PathOfDestinyConviction extends Quest { if (qs.isCond(3)) { - htmltext = "31639-01.html"; + htmltext = "34339-01.html"; } break; } @@ -252,7 +252,7 @@ public class Q11026_PathOfDestinyConviction extends Quest { if (qs.isCond(3)) { - htmltext = "33980-01.html"; + htmltext = "31522-01.html"; } break; } diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-01.html new file mode 100644 index 0000000000..25ebb02204 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-01.html @@ -0,0 +1,5 @@ +High Priest Raymond:
+You have the Ertheia's prophecy device.
+Then you must be the one I've been waiting for.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-02.html new file mode 100644 index 0000000000..e4bfcbfe18 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-02.html @@ -0,0 +1,5 @@ +High Priest Raymond:
+I was chosen one day. It was an oracle after so long, but the message was very ambiguous.
+What I do remember is that someone will come to me with the Ertheia's prophecy device, and I must guide them to some place.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-03.html new file mode 100644 index 0000000000..b27fb60739 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/30289-03.html @@ -0,0 +1,7 @@ +High Priest Raymond:
+That place... Is where the one with noble blood must face eternal pain.
+No one wants to go to the Fortress of the Dead.
+But... That man reached that place because he wanted to, and you must go there to meet that man.
+That's as far as I know from the oracle. All I can do is guide you to that place.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-01.html new file mode 100644 index 0000000000..1474caf0f2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-01.html @@ -0,0 +1,6 @@ +High Priest Gereth:
+Were you not able to meet up with Kain? He had come all the way here to find you...you must've just missed each other.
+I told him that you were off to verify some information on the Prophecy Machine and he said he'd wait for you, but...
+Were you able to wrap up your work on the Prophecy Machine?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-02.html new file mode 100644 index 0000000000..3bd7447714 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-02.html @@ -0,0 +1,4 @@ +High Priest Gereth:
+Mm. Can you show me the Prophecy Machine?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-03.html new file mode 100644 index 0000000000..419f016fa2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-03.html @@ -0,0 +1,5 @@ +High Priest Gereth:
+Nothing seems to be specifically wrong with it. There's a blemish here, and there's nothing written on it.
+It was probably left behind while it was being shattered in the Material Realm.
This is going to require a close look.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-04.html new file mode 100644 index 0000000000..60d4f308ec --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-04.html @@ -0,0 +1,11 @@ +High Priest Gereth:
+
A day will come, when +Trapped under twisted skies, the god's voice no longer heard,
+A red river flows over hard frost upon the earth.
And One of half-noble blood, descending with the winds to deliver from torment, will come. +The journey was started alone, but +For the child of the Wind, standing at a dead end, +When joined by one of nobility,
+The path will open to the Grail.
.

+So it wasn't a coincidence that you left on your journey.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-05.html new file mode 100644 index 0000000000..7bc22c411e --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-05.html @@ -0,0 +1,9 @@ +High Priest Gereth:
+This part right here.
+
Your lonely, solitary journey has begun. +A small child in the middle of a blocked road appears.

+This phrase must be referring to you. +This entire situation with you coming through the dimensional rift into the Material Realm alone, getting your abilities sealed in the process...
+You're the Ertheia who will pursue the Grail with Kain Van Halter!
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-06.html new file mode 100644 index 0000000000..b054f5e8f7 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-06.html @@ -0,0 +1,6 @@ +High Priest Gereth:
+The way to the grail...
+I think I can guide you there. The moment I was born, and the moment I became a priest of Sayha, Sayha taught me a single line of prayer...that prayer will certainly lead you to your destination.
+Now. You should go. I will find Kain Van Halter and tell him where you went. I will send you to the Chamber of Prophecies.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-07.html new file mode 100644 index 0000000000..02298dd580 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-07.html @@ -0,0 +1,4 @@ +High Priest Gereth:
+I know you bear a great weight on your shoulders. But, don't give up. I'll send you to the Chamber of Prophecies again.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-08.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-08.html new file mode 100644 index 0000000000..0514023539 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/33932-08.html @@ -0,0 +1,4 @@ +High Priest Gereth:
+Did something happen? Kain Van Halter left, saying it was a wasted trip. Was the Grail not inside the Chamber of Prophecies?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-01.html new file mode 100644 index 0000000000..40c0e664be --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-01.html @@ -0,0 +1,5 @@ +Tarti:
+Do you remember what you've heard about the immortality curse in the Ruins of Despair? I've learned about a... let's say, an antidote that might have something to do with this curse.
+There is a place you can go to investigate it. It's not far from here.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-02.html new file mode 100644 index 0000000000..aab6a4064c --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-02.html @@ -0,0 +1,10 @@ +Tarti:
+The land that was once united is now covered in blood.
+......
+A half-blood destined to become a noble hero will descend upon frozen earth following the wind.
+......
+Once his noble blood awakens he will lead you to the Holy Chalice.
+That's all I could decypher. It's a prophecy so the meaning is not entirely clear.
+I was thinking about this once I returned from Faeron but my thoughts were interrupted when High Priest Raymond from the Einhasad Temple came up to me and told something even stranger.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-03.html new file mode 100644 index 0000000000..b4e1a7aa2d --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-03.html @@ -0,0 +1,4 @@ +Tarti:
+You need to reach level 85 as quickly as possible. If you have already reached level 76, talk to Tarti, she is waiting for you!.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-04.htm b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-04.htm new file mode 100644 index 0000000000..09cbafbea8 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-04.htm @@ -0,0 +1,5 @@ +Tarti:
+He said that all of this is just a challenge for you.
+And then he added that only a mighty warrior like you can deal with it. And now... here you are. Strange, isn't it?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-05.html new file mode 100644 index 0000000000..00f792367a --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-05.html @@ -0,0 +1,5 @@ +Tarti:
+I agree completely.
+Go to the Einhasad Temple and find Raymond.
+I'm sure this quest won't be easy... But you're strong enough. + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-06.html new file mode 100644 index 0000000000..0810846cc1 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-06.html @@ -0,0 +1,4 @@ +Tarti:
+The quest can be performed by Ertheias who have completed their second liberation, and other races who have completed their third profession. Character level must be 76! Requires completed quest Path of Destiny - Proving.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-07.html new file mode 100644 index 0000000000..f8f9d8cce9 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-07.html @@ -0,0 +1,4 @@ +Tarti:
+You look so strange... What's happened?
+Have you met with kain? + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-11.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-11.html new file mode 100644 index 0000000000..3c6988b69a --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/34505-11.html @@ -0,0 +1,4 @@ +Tarti:
+Someone else? But it's only been... How did you manage to do it all so quickly?
+Tell me what happened. + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/Q11027_PathOfDestinyOvercome.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/Q11027_PathOfDestinyOvercome.java new file mode 100644 index 0000000000..4e017f5355 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11027_PathOfDestinyOvercome/Q11027_PathOfDestinyOvercome.java @@ -0,0 +1,280 @@ +/* + * 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.Q11027_PathOfDestinyOvercome; + +import org.l2jmobius.Config; +import org.l2jmobius.gameserver.data.xml.impl.CategoryData; +import org.l2jmobius.gameserver.enums.CategoryType; +import org.l2jmobius.gameserver.enums.Race; +import org.l2jmobius.gameserver.model.Location; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.ListenerRegisterType; +import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; +import org.l2jmobius.gameserver.model.events.annotations.RegisterType; +import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; +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; +import org.l2jmobius.gameserver.network.serverpackets.classchange.ExRequestClassChangeUi; + +import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction; + +/** + * Path of Destiny - Overcome (11027) + * @URL https://l2wiki.com/Path_of_Destiny_-_Overcome + * @author Dmitri, Mobius + */ +public class Q11027_PathOfDestinyOvercome extends Quest +{ + // NPCs + private static final int TARTI = 34505; + private static final int RAYMOND = 30289; + private static final int GERETH = 33932; + // Items + private static final int PROPHECY_MACHINE = 39540; + private static final int ATELIA = 39542; + // Location + private static final Location TELEPORT_1 = new Location(-78670, 251026, -2960); + private static final Location TELEPORT_2 = new Location(-14180, 123840, -3120); + // Misc + private static final int MIN_LEVEL = 85; + + public Q11027_PathOfDestinyOvercome() + { + super(11027); + addStartNpc(TARTI); + addTalkId(TARTI, RAYMOND, GERETH); + registerQuestItems(PROPHECY_MACHINE, ATELIA); + addCondMinLevel(77, "34505-11.html"); // Not retail, just don't want to see it as unavailable when picking up next quest. + addCondCompletedQuest(Q11026_PathOfDestinyConviction.class.getSimpleName(), "34505-11.html"); + setQuestNameNpcStringId(NpcStringId.LV_76_PATH_OF_DESTINY_OVERCOME); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "30289-03.html": + case "33932-02.html": + case "33932-03.html": + case "33932-04.html": + case "33932-05.html": + case "33932-06.html": + { + htmltext = event; + break; + } + case "34505-02.html": + { + qs.startQuest(); + htmltext = event; + break; + } + case "34505-03.html": + { + htmltext = event; + if (player.getLevel() >= MIN_LEVEL) + { + htmltext = "34505-04.htm"; + } + break; + } + case "34505-05.html": + { + if (qs.isCond(1)) + { + qs.setCond(2, true); + } + htmltext = event; + break; + } + case "30289-02.html": + { + if (qs.isCond(2)) + { + qs.setCond(3, true); + giveItems(player, PROPHECY_MACHINE, 1); + htmltext = event; + } + break; + } + case "teleport": + { + if (qs.isCond(3)) + { + player.teleToLocation(TELEPORT_1); + } + break; + } + case "teleport_k": + { + if (qs.isCond(6)) + { + player.teleToLocation(TELEPORT_2); + } + break; + } + case "34505-07.html": + { + if (qs.isCond(6)) + { + addExpAndSp(player, 14281098, 12852); + qs.exitQuest(false, true); + if (CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, player.getClassId().getId()) || // + (CategoryData.getInstance().isInCategory(CategoryType.THIRD_CLASS_GROUP, player.getClassId().getId()) && (player.getRace() == Race.ERTHEIA))) + { + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } + giveStoryBuffReward(npc, player); + htmltext = event; + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + if (npc.getId() == TARTI) + { + htmltext = "34505-01.html"; + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case TARTI: + { + if (qs.isCond(1)) + { + if (player.getLevel() >= MIN_LEVEL) + { + qs.setCond(2, true); + htmltext = "34505-05.html"; + } + else + { + htmltext = "34505-11.html"; + } + break; + } + else if (qs.isCond(2)) + { + htmltext = "34505-05.html"; // TODO: Proper second talk dialog. + break; + } + else if (qs.isCond(6) && hasQuestItems(player, ATELIA)) + { + htmltext = "34505-06.html"; + } + break; + } + case RAYMOND: + { + if (qs.isCond(2)) + { + htmltext = "30289-01.html"; + } + break; + } + case GERETH: + { + if (qs.isCond(3)) + { + htmltext = "33932-01.html"; + } + else if (qs.isCond(5)) + { + qs.setCond(6, true); + htmltext = "33932-07.html"; + } + break; + } + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } + + @Override + public String onFirstTalk(Npc npc, PlayerInstance player) + { + return npc.getId() + "-01.html"; + } + + @RegisterEvent(EventType.ON_PLAYER_LOGIN) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void OnPlayerLogin(OnPlayerLogin event) + { + if (Config.DISABLE_TUTORIAL) + { + return; + } + + final PlayerInstance player = event.getPlayer(); + if (player == null) + { + return; + } + + if (player.getRace() == Race.ERTHEIA) + { + if (!CategoryData.getInstance().isInCategory(CategoryType.THIRD_CLASS_GROUP, player.getClassId().getId())) + { + return; + } + } + else if (!CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, player.getClassId().getId())) + { + return; + } + + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCompleted()) + { + player.sendPacket(ExRequestClassChangeUi.STATIC_PACKET); + } + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/30648-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/30648-01.html new file mode 100644 index 0000000000..263da6a4cd --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/30648-01.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/30648-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/30648-02.html new file mode 100644 index 0000000000..3e725a1428 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/30648-02.html @@ -0,0 +1,5 @@ +Guard Kallesin:
+So, that's you they've sent from Gludio? I use this material to deal with the curse. Thank you!
+It will be hard to pull this one off, so if you excuse me...
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-01.html new file mode 100644 index 0000000000..db004041a2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-01.html @@ -0,0 +1,5 @@ +Tarti:
+Do you remember what you've heard about the immortality curse in the Ruins of Despair? I've learned about a... let's say, an antidote that might have something to do with this curse.
+There is a place you can go to investigate it. It's not far from here.
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-02.html new file mode 100644 index 0000000000..c29931eab6 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-02.html @@ -0,0 +1,5 @@ +Tarti:
+The place is called Ruins of Agony. It's somewhat similar to the Ruins of Despair though there are quite a few differences.
+The immortality curse is pretty common in that region. That's why I think that you should start there if you want to learn about its origins.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-03.html new file mode 100644 index 0000000000..54443f2b91 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-03.html @@ -0,0 +1,5 @@ +Tarti:
+To be honest, I'm not quite sure mysself what you need to look for. What I am sure is that this adventure will benefit you greatly. Consider it training.
+On you go! Oh!.. You know about skill training, right?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-04.html new file mode 100644 index 0000000000..8cd48cdfbc --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-04.html @@ -0,0 +1,7 @@ +Tarti:
+In the Ruins of Agony you will find Carcass Bats and Vampires.
+I think Vampires might have something to do with the curse. I've heard that you can gain a Secret Material if you defeat Carcass Bats and Vampires.
+Find the Secret Material and give it to Guard Kallesin.
+I don't want you to get lost on your way to the ruins so I'll send you right there.
+
+ \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-06.html new file mode 100644 index 0000000000..83711526a2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/34505-06.html @@ -0,0 +1,3 @@ +Tarti:
+Artey cannot participate in this quest! The minimum level should be 20, and players who have not completed 2nd profession.
+ \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/Q11041_CheckOutTheSituation.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/Q11041_CheckOutTheSituation.java new file mode 100644 index 0000000000..182d0badb3 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11041_CheckOutTheSituation/Q11041_CheckOutTheSituation.java @@ -0,0 +1,207 @@ +/* + * 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.Q11041_CheckOutTheSituation; + +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.instancemanager.QuestManager; +import org.l2jmobius.gameserver.model.Location; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.holders.ItemHolder; +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; +import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction; +import quests.Q11042_SuspiciousMovements.Q11042_SuspiciousMovements; + +/** + * Check Out the Situation (11041) + * @URL https://l2wiki.com/Check_Out_the_Situation + * @author Dmitri + */ +public class Q11041_CheckOutTheSituation extends Quest +{ + // NPCs + private static final int TARTI = 34505; + private static final int RECLOUS = 30648; + private static final int HOUND_TUREK = 24403; + private static final int ORC_INFANTRYMAN_TUREK = 24404; + // Items + private static final ItemHolder SOE_RECLOUS = new ItemHolder(80682, 1); + // Location + private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-88074, 112194, -3144); + // Misc + private static final String KILL_COUNT_VAR = "KillCount"; + private static final int MIN_LEVEL = 76; + + public Q11041_CheckOutTheSituation() + { + super(11041); + addStartNpc(TARTI); + addTalkId(TARTI, RECLOUS); + addKillId(HOUND_TUREK, ORC_INFANTRYMAN_TUREK); + registerQuestItems(SOE_RECLOUS.getId()); + addCondMinLevel(MIN_LEVEL, "34505-06.html"); + addCondCompletedQuest(Q11026_PathOfDestinyConviction.class.getSimpleName(), "34505-06.html"); + setQuestNameNpcStringId(NpcStringId.LV_76_85_CHECK_OUT_THE_SITUATION); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "34505-02.html": + case "34505-04.html": + { + htmltext = event; + break; + } + case "34505-03.html": + { + qs.startQuest(); + htmltext = event; + break; + } + case "teleport": + { + if (qs.isCond(1)) + { + player.teleToLocation(TRAINING_GROUNDS_TELEPORT); + } + break; + } + case "30648-02.html": + { + if (qs.isCond(2)) + { + addExpAndSp(player, 392513005, 353261); + qs.exitQuest(false, true); + htmltext = event; + + // Initialize next quest. + final Quest nextQuest = QuestManager.getInstance().getQuest(Q11042_SuspiciousMovements.class.getSimpleName()); + if (nextQuest != null) + { + nextQuest.newQuestState(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + if (npc.getId() == TARTI) + { + htmltext = "34505-01.html"; + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case TARTI: + { + if (qs.isCond(1)) + { + htmltext = "34505-03.html"; + } + break; + } + case RECLOUS: + { + if (qs.isCond(2)) + { + htmltext = "30648-01.html"; + } + break; + } + } + 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.isCond(1)) + { + final int killCount = qs.getInt(KILL_COUNT_VAR) + 1; + if (killCount < 30) + { + qs.set(KILL_COUNT_VAR, killCount); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + sendNpcLogList(killer); + } + else + { + qs.setCond(2, true); + qs.unset(KILL_COUNT_VAR); + giveItems(killer, SOE_RECLOUS); + showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public Set getNpcLogList(PlayerInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_TUREK_WAR_HOUNDS_AND_FOOTMEN_2.getId(), true, qs.getInt(KILL_COUNT_VAR))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-01.html new file mode 100644 index 0000000000..edd384afce --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-01.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-02.html new file mode 100644 index 0000000000..b3f646c170 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-02.html @@ -0,0 +1,5 @@ +Guard Kallesin:
+So, that's you they've sent from Gludio? I use this material to deal with the curse. Thank you!
+It will be hard to pull this one off, so if you excuse me...
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-03.html new file mode 100644 index 0000000000..7caa91a900 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-03.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-04.html new file mode 100644 index 0000000000..5bb515f822 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-04.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-05.html new file mode 100644 index 0000000000..3dbb2210cc --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-05.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-06.html new file mode 100644 index 0000000000..ede964574c --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-06.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-07.html new file mode 100644 index 0000000000..83711526a2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/30648-07.html @@ -0,0 +1,3 @@ +Tarti:
+Artey cannot participate in this quest! The minimum level should be 20, and players who have not completed 2nd profession.
+ \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/Q11042_SuspiciousMovements.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/Q11042_SuspiciousMovements.java new file mode 100644 index 0000000000..4f83b1fbfb --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11042_SuspiciousMovements/Q11042_SuspiciousMovements.java @@ -0,0 +1,202 @@ +/* + * 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.Q11042_SuspiciousMovements; + +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.instancemanager.QuestManager; +import org.l2jmobius.gameserver.model.Location; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.holders.ItemHolder; +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; +import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import quests.Q11041_CheckOutTheSituation.Q11041_CheckOutTheSituation; +import quests.Q11043_SomeonesTrace.Q11043_SomeonesTrace; + +/** + * Suspicious Movements (11042) + * @URL https://l2wiki.com/Suspicious_Movements + * @author Dmitri + */ +public class Q11042_SuspiciousMovements extends Quest +{ + // NPCs + private static final int RECLOUS = 30648; + private static final int ARCHER_ORKOV_TUREK = 24405; + private static final int BANDIT_ORKOV_TUREK = 24406; + // Items + private static final ItemHolder SOE_RECLOUS = new ItemHolder(80682, 1); + // Location + private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-92290, 116512, -3472); + // Misc + private static final String KILL_COUNT_VAR = "KillCount"; + private static final int MIN_LEVEL = 77; + + public Q11042_SuspiciousMovements() + { + super(11042); + addStartNpc(RECLOUS); + addTalkId(RECLOUS); + addKillId(ARCHER_ORKOV_TUREK, BANDIT_ORKOV_TUREK); + registerQuestItems(SOE_RECLOUS.getId()); + addCondMinLevel(MIN_LEVEL, "30648-07.html"); + addCondCompletedQuest(Q11041_CheckOutTheSituation.class.getSimpleName(), "30648-07.html"); + setQuestNameNpcStringId(NpcStringId.LV_76_85_SUSPICIOUS_MOVEMENTS); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "30648-03.html": + case "30648-04.html": + { + htmltext = event; + break; + } + case "30648-02.html": + { + qs.startQuest(); + htmltext = event; + break; + } + case "teleport": + { + if (qs.isCond(1)) + { + player.teleToLocation(TRAINING_GROUNDS_TELEPORT); + } + break; + } + case "30648-06.html": + { + if (qs.isCond(2)) + { + addExpAndSp(player, 581704958, 523534); + qs.exitQuest(false, true); + htmltext = event; + + // Initialize next quest. + final Quest nextQuest = QuestManager.getInstance().getQuest(Q11043_SomeonesTrace.class.getSimpleName()); + if (nextQuest != null) + { + nextQuest.newQuestState(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + if (npc.getId() == RECLOUS) + { + htmltext = "30648-01.html"; + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case RECLOUS: + { + if (qs.isCond(1)) + { + htmltext = "30648-02.html"; + } + else if (qs.isCond(2)) + { + htmltext = "30648-05.html"; + } + break; + } + } + 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.isCond(1)) + { + final int killCount = qs.getInt(KILL_COUNT_VAR) + 1; + if (killCount < 30) + { + qs.set(KILL_COUNT_VAR, killCount); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + sendNpcLogList(killer); + } + else + { + qs.setCond(2, true); + qs.unset(KILL_COUNT_VAR); + giveItems(killer, SOE_RECLOUS); + showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public Set getNpcLogList(PlayerInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_TUREK_ARCHERS_AND_SKIRMISHERS_2.getId(), true, qs.getInt(KILL_COUNT_VAR))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-01.html new file mode 100644 index 0000000000..ede964574c --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-01.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-02.html new file mode 100644 index 0000000000..9b4b3bb307 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-02.html @@ -0,0 +1,5 @@ +Guard Kallesin:
+So, that's you they've sent from Gludio? I use this material to deal with the curse. Thank you!
+It will be hard to pull this one off, so if you excuse me...
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-03.html new file mode 100644 index 0000000000..bda9e315c2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-03.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-04.html new file mode 100644 index 0000000000..711d606f9c --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-04.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-05.html new file mode 100644 index 0000000000..6bc6ed9ef3 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-05.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-06.html new file mode 100644 index 0000000000..2a458e1e29 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-06.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-07.html new file mode 100644 index 0000000000..83711526a2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/30648-07.html @@ -0,0 +1,3 @@ +Tarti:
+Artey cannot participate in this quest! The minimum level should be 20, and players who have not completed 2nd profession.
+ \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/Q11043_SomeonesTrace.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/Q11043_SomeonesTrace.java new file mode 100644 index 0000000000..08b7d3a38a --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11043_SomeonesTrace/Q11043_SomeonesTrace.java @@ -0,0 +1,176 @@ +/* + * 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.Q11043_SomeonesTrace; + +import org.l2jmobius.gameserver.instancemanager.QuestManager; +import org.l2jmobius.gameserver.model.Location; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.holders.ItemHolder; +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; +import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import quests.Q11042_SuspiciousMovements.Q11042_SuspiciousMovements; +import quests.Q11044_KetraOrcs.Q11044_KetraOrcs; + +/** + * Someone's Trace (11043) + * @URL https://l2wiki.com/Someone%27s_Trace + * @author Dmitri, Mobius + */ +public class Q11043_SomeonesTrace extends Quest +{ + // NPCs + private static final int RECLOUS = 30648; + private static final int LORD_OF_THE_ORCS_TUREK = 24407; + private static final int SEER_ORC_TUREK = 24408; + // Items + private static final int ORC_EMPOWERING_POTION = 80675; + private static final ItemHolder SOE_RECLOUS = new ItemHolder(80682, 1); + // Location + private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-92680, 112394, -3696); + // Misc + private static final int MIN_LEVEL = 79; + + public Q11043_SomeonesTrace() + { + super(11043); + addStartNpc(RECLOUS); + addTalkId(RECLOUS); + addKillId(LORD_OF_THE_ORCS_TUREK, SEER_ORC_TUREK); + registerQuestItems(SOE_RECLOUS.getId(), ORC_EMPOWERING_POTION); + addCondMinLevel(MIN_LEVEL, "30648-07.html"); + addCondCompletedQuest(Q11042_SuspiciousMovements.class.getSimpleName(), "30648-07.html"); + setQuestNameNpcStringId(NpcStringId.LV_76_85_SOMEONE_S_TRACE); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "30648-03.html": + case "30648-04.html": + { + htmltext = event; + break; + } + case "30648-02.html": + { + qs.startQuest(); + htmltext = event; + break; + } + case "teleport": + { + if (qs.isCond(1)) + { + player.teleToLocation(TRAINING_GROUNDS_TELEPORT); + } + break; + } + case "30648-06.html": + { + if (qs.isCond(2)) + { + addExpAndSp(player, 750392145, 675352); + qs.exitQuest(false, true); + htmltext = event; + + // Initialize next quest. + final Quest nextQuest = QuestManager.getInstance().getQuest(Q11044_KetraOrcs.class.getSimpleName()); + if (nextQuest != null) + { + nextQuest.newQuestState(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + if (npc.getId() == RECLOUS) + { + htmltext = "30648-01.html"; + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case RECLOUS: + { + if (qs.isCond(1)) + { + htmltext = "30648-02.html"; + } + else if (qs.isCond(2)) + { + htmltext = "30648-05.html"; + } + break; + } + } + 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.isCond(1)) + { + if (giveItemRandomly(killer, ORC_EMPOWERING_POTION, 1, 15, 0.5, true)) + { + qs.setCond(2, true); + giveItems(killer, SOE_RECLOUS); + showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); + } + } + return super.onKill(npc, killer, isSummon); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-01.html new file mode 100644 index 0000000000..2a458e1e29 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-01.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-02.html new file mode 100644 index 0000000000..7636318bcd --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-02.html @@ -0,0 +1,5 @@ +Guard Kallesin:
+So, that's you they've sent from Gludio? I use this material to deal with the curse. Thank you!
+It will be hard to pull this one off, so if you excuse me...
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-03.html new file mode 100644 index 0000000000..90bdba6656 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-03.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-04.html new file mode 100644 index 0000000000..badfb9e7fb --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-04.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-05.html new file mode 100644 index 0000000000..e897cf2683 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-05.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-06.html new file mode 100644 index 0000000000..fc9012fd0c --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-06.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-07.html new file mode 100644 index 0000000000..83711526a2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/30648-07.html @@ -0,0 +1,3 @@ +Tarti:
+Artey cannot participate in this quest! The minimum level should be 20, and players who have not completed 2nd profession.
+ \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/Q11044_KetraOrcs.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/Q11044_KetraOrcs.java new file mode 100644 index 0000000000..59b03d8a49 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11044_KetraOrcs/Q11044_KetraOrcs.java @@ -0,0 +1,202 @@ +/* + * 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.Q11044_KetraOrcs; + +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.instancemanager.QuestManager; +import org.l2jmobius.gameserver.model.Location; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.holders.ItemHolder; +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; +import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import quests.Q11043_SomeonesTrace.Q11043_SomeonesTrace; +import quests.Q11045_TheyMustBeUpToSomething.Q11045_TheyMustBeUpToSomething; + +/** + * Ketra Orcs...? (11044) + * @URL https://l2wiki.com/Ketra_Orcs...%3F + * @author Dmitri + */ +public class Q11044_KetraOrcs extends Quest +{ + // NPCs + private static final int RECLOUS = 30648; + private static final int KETRA_ORC_BANDIT = 24409; + private static final int KETRA_ORC_WARRIOR = 24410; + // Items + private static final ItemHolder SOE_RECLOUS = new ItemHolder(80682, 1); + // Location + private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-94271, 109153, -3856); + // Misc + private static final String KILL_COUNT_VAR = "KillCount"; + private static final int MIN_LEVEL = 81; + + public Q11044_KetraOrcs() + { + super(11044); + addStartNpc(RECLOUS); + addTalkId(RECLOUS); + addKillId(KETRA_ORC_BANDIT, KETRA_ORC_WARRIOR); + registerQuestItems(SOE_RECLOUS.getId()); + addCondMinLevel(MIN_LEVEL, "30648-07.html"); + addCondCompletedQuest(Q11043_SomeonesTrace.class.getSimpleName(), "30648-07.html"); + setQuestNameNpcStringId(NpcStringId.LV_76_85_KETRA_ORCS); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "30648-03.html": + case "30648-04.html": + { + htmltext = event; + break; + } + case "30648-02.html": + { + qs.startQuest(); + htmltext = event; + break; + } + case "teleport": + { + if (qs.isCond(1)) + { + player.teleToLocation(TRAINING_GROUNDS_TELEPORT); + } + break; + } + case "30648-06.html": + { + if (qs.isCond(2)) + { + addExpAndSp(player, 452984693, 407684); + qs.exitQuest(false, true); + htmltext = event; + + // Initialize next quest. + final Quest nextQuest = QuestManager.getInstance().getQuest(Q11045_TheyMustBeUpToSomething.class.getSimpleName()); + if (nextQuest != null) + { + nextQuest.newQuestState(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + if (npc.getId() == RECLOUS) + { + htmltext = "30648-01.html"; + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case RECLOUS: + { + if (qs.isCond(1)) + { + htmltext = "30648-02.html"; + } + else if (qs.isCond(2)) + { + htmltext = "30648-05.html"; + } + break; + } + } + 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.isCond(1)) + { + final int killCount = qs.getInt(KILL_COUNT_VAR) + 1; + if (killCount < 30) + { + qs.set(KILL_COUNT_VAR, killCount); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + sendNpcLogList(killer); + } + else + { + qs.setCond(2, true); + qs.unset(KILL_COUNT_VAR); + giveItems(killer, SOE_RECLOUS); + showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public Set getNpcLogList(PlayerInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_KETRA_RAIDERS_AND_WARRIORS_2.getId(), true, qs.getInt(KILL_COUNT_VAR))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-01.html new file mode 100644 index 0000000000..fc9012fd0c --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-01.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-02.html new file mode 100644 index 0000000000..ddfe561d92 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-02.html @@ -0,0 +1,5 @@ +Guard Kallesin:
+So, that's you they've sent from Gludio? I use this material to deal with the curse. Thank you!
+It will be hard to pull this one off, so if you excuse me...
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-03.html new file mode 100644 index 0000000000..35fbe0287b --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-03.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-04.html new file mode 100644 index 0000000000..b008682d91 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-04.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-05.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-05.html new file mode 100644 index 0000000000..c74e07bba1 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-05.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-06.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-06.html new file mode 100644 index 0000000000..7c6c606dde --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-06.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-07.html new file mode 100644 index 0000000000..83711526a2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/30648-07.html @@ -0,0 +1,3 @@ +Tarti:
+Artey cannot participate in this quest! The minimum level should be 20, and players who have not completed 2nd profession.
+ \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/Q11045_TheyMustBeUpToSomething.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/Q11045_TheyMustBeUpToSomething.java new file mode 100644 index 0000000000..e71dd940e2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11045_TheyMustBeUpToSomething/Q11045_TheyMustBeUpToSomething.java @@ -0,0 +1,176 @@ +/* + * 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.Q11045_TheyMustBeUpToSomething; + +import org.l2jmobius.gameserver.instancemanager.QuestManager; +import org.l2jmobius.gameserver.model.Location; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.holders.ItemHolder; +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; +import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import quests.Q11044_KetraOrcs.Q11044_KetraOrcs; +import quests.Q11046_PrayingForSafety.Q11046_PrayingForSafety; + +/** + * They Must Be Up to Something (11045) + * @URL https://l2wiki.com/They_Must_Be_Up_to_Something + * @author Dmitri, Mobius + */ +public class Q11045_TheyMustBeUpToSomething extends Quest +{ + // NPCs + private static final int RECLOUS = 30648; + private static final int KETRA_ORC_SCOUT = 24411; + private static final int KETRA_ORC_SEER = 24412; + // Items + private static final int KETRA_ORDER = 80676; + private static final ItemHolder SOE_RECLOUS = new ItemHolder(80682, 1); + // Location + private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-94258, 102141, -3472); + // Misc + private static final int MIN_LEVEL = 82; + + public Q11045_TheyMustBeUpToSomething() + { + super(11045); + addStartNpc(RECLOUS); + addTalkId(RECLOUS); + addKillId(KETRA_ORC_SCOUT, KETRA_ORC_SEER); + registerQuestItems(SOE_RECLOUS.getId(), KETRA_ORDER); + addCondMinLevel(MIN_LEVEL, "30648-07.html"); + addCondCompletedQuest(Q11044_KetraOrcs.class.getSimpleName(), "30648-07.html"); + setQuestNameNpcStringId(NpcStringId.LV_76_85_THEY_MUST_BE_UP_TO_SOMETHING); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "30648-03.html": + case "30648-04.html": + { + htmltext = event; + break; + } + case "30648-02.html": + { + qs.startQuest(); + htmltext = event; + break; + } + case "teleport": + { + if (qs.isCond(1)) + { + player.teleToLocation(TRAINING_GROUNDS_TELEPORT); + } + break; + } + case "30648-06.html": + { + if (qs.isCond(2)) + { + addExpAndSp(player, 514892511, 463403); + qs.exitQuest(false, true); + htmltext = event; + + // Initialize next quest. + final Quest nextQuest = QuestManager.getInstance().getQuest(Q11046_PrayingForSafety.class.getSimpleName()); + if (nextQuest != null) + { + nextQuest.newQuestState(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + if (npc.getId() == RECLOUS) + { + htmltext = "30648-01.html"; + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case RECLOUS: + { + if (qs.isCond(1)) + { + htmltext = "30648-02.html"; + } + else if (qs.isCond(2)) + { + htmltext = "30648-05.html"; + } + break; + } + } + 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.isCond(1)) + { + if (giveItemRandomly(killer, KETRA_ORDER, 1, 15, 0.5, true)) + { + qs.setCond(2, true); + giveItems(killer, SOE_RECLOUS); + showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); + } + } + return super.onKill(npc, killer, isSummon); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-01.html new file mode 100644 index 0000000000..7c6c606dde --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-01.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-02.html new file mode 100644 index 0000000000..dcb6cb9350 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-02.html @@ -0,0 +1,5 @@ +Guard Kallesin:
+So, that's you they've sent from Gludio? I use this material to deal with the curse. Thank you!
+It will be hard to pull this one off, so if you excuse me...
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-03.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-03.html new file mode 100644 index 0000000000..2fc20f1e68 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-03.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-04.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-04.html new file mode 100644 index 0000000000..6b61e995e6 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-04.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-07.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-07.html new file mode 100644 index 0000000000..83711526a2 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/30648-07.html @@ -0,0 +1,3 @@ +Tarti:
+Artey cannot participate in this quest! The minimum level should be 20, and players who have not completed 2nd profession.
+ \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/34505-01.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/34505-01.html new file mode 100644 index 0000000000..dfcffec3ab --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/34505-01.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/34505-02.html b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/34505-02.html new file mode 100644 index 0000000000..b531f4260b --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/34505-02.html @@ -0,0 +1,4 @@ +Guard Kallesin:
+So, what brings you to me? Ah, is it about the Secret Material?
+ + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/Q11046_PrayingForSafety.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/Q11046_PrayingForSafety.java new file mode 100644 index 0000000000..4877aaa0b1 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q11046_PrayingForSafety/Q11046_PrayingForSafety.java @@ -0,0 +1,210 @@ +/* + * 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.Q11046_PrayingForSafety; + +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.enums.QuestSound; +import org.l2jmobius.gameserver.instancemanager.QuestManager; +import org.l2jmobius.gameserver.model.Location; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.holders.ItemHolder; +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; +import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import quests.Q11027_PathOfDestinyOvercome.Q11027_PathOfDestinyOvercome; +import quests.Q11045_TheyMustBeUpToSomething.Q11045_TheyMustBeUpToSomething; + +/** + * Praying for Safety (11046) + * @URL https://l2wiki.com/Praying_for_Safety + * @author Dmitri, Mobius + */ +public class Q11046_PrayingForSafety extends Quest +{ + // NPCs + private static final int RECLOUS = 30648; + private static final int TARTI = 34505; + private static final int KETRA_ORC_OFFICER = 24413; + private static final int KETRA_ORC_LEADER = 24414; + // Items + private static final ItemHolder SOE_TARTI = new ItemHolder(80677, 1); + // Location + private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-87089, 103524, -3360); + // Misc + private static final String KILL_COUNT_VAR = "KillCount"; + private static final int MIN_LEVEL = 83; + + public Q11046_PrayingForSafety() + { + super(11046); + addStartNpc(RECLOUS); + addTalkId(RECLOUS, TARTI); + addKillId(KETRA_ORC_OFFICER, KETRA_ORC_LEADER); + registerQuestItems(SOE_TARTI.getId()); + addCondMinLevel(MIN_LEVEL, "30648-07.html"); + addCondCompletedQuest(Q11045_TheyMustBeUpToSomething.class.getSimpleName(), "30648-07.html"); + setQuestNameNpcStringId(NpcStringId.LV_76_85_PRAYING_FOR_SAFETY); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + String htmltext = null; + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return htmltext; + } + + switch (event) + { + case "30648-03.html": + case "30648-04.html": + case "30648-05.html": + { + htmltext = event; + break; + } + case "30648-02.html": + { + qs.startQuest(); + htmltext = event; + break; + } + case "teleport": + { + if (qs.isCond(1)) + { + player.teleToLocation(TRAINING_GROUNDS_TELEPORT); + } + break; + } + case "34505-02.html": + { + if (qs.isCond(2)) + { + addExpAndSp(player, 1176372111L, 527586); + giveAdena(player, 420000, true); + qs.exitQuest(false, true); + showOnScreenMsg(player, NpcStringId.AWAKENING_IS_AVAILABLE_NGO_SEE_TARTI_IN_THE_TOWN_OF_GLUDIO_TO_START_THE_CLASS_TRANSFER, ExShowScreenMessage.TOP_CENTER, 10000); + htmltext = event; + + // Initialize next quest. + final Quest nextQuest = QuestManager.getInstance().getQuest(Q11027_PathOfDestinyOvercome.class.getSimpleName()); + if (nextQuest != null) + { + nextQuest.newQuestState(player); + } + } + break; + } + } + return htmltext; + } + + @Override + public String onTalk(Npc npc, PlayerInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + if (npc.getId() == RECLOUS) + { + htmltext = "30648-01.html"; + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case RECLOUS: + { + if (qs.isCond(1)) + { + htmltext = "30648-02.html"; + } + break; + } + case TARTI: + { + if (qs.isCond(2)) + { + htmltext = "34505-01.html"; + } + break; + } + } + 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.isCond(1)) + { + final int killCount = qs.getInt(KILL_COUNT_VAR) + 1; + if (killCount < 30) + { + qs.set(KILL_COUNT_VAR, killCount); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + sendNpcLogList(killer); + } + else + { + qs.setCond(2, true); + qs.unset(KILL_COUNT_VAR); + giveItems(killer, SOE_TARTI); + showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public Set getNpcLogList(PlayerInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_KETRA_OFFICERS_AND_CAPTAIN_2.getId(), true, qs.getInt(KILL_COUNT_VAR))); + return holder; + } + return super.getNpcLogList(player); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java index 3ee87d7c56..c9d1c90112 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -167,6 +167,7 @@ import quests.Q10851_ElvenBotany.Q10851_ElvenBotany; import quests.Q10856_SuperionAppears.Q10856_SuperionAppears; import quests.Q11025_PathOfDestinyProving.Q11025_PathOfDestinyProving; import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction; +import quests.Q11027_PathOfDestinyOvercome.Q11027_PathOfDestinyOvercome; import quests.Q11031_TrainingBeginsNow.Q11031_TrainingBeginsNow; import quests.Q11032_CurseOfUndying.Q11032_CurseOfUndying; import quests.Q11033_AntidoteIngredients.Q11033_AntidoteIngredients; @@ -177,6 +178,12 @@ import quests.Q11037_WhyAreTheRatelHere.Q11037_WhyAreTheRatelHere; import quests.Q11038_GrowlersTurnedViolent.Q11038_GrowlersTurnedViolent; import quests.Q11039_CommunicationBreakdown.Q11039_CommunicationBreakdown; import quests.Q11040_AttackOfTheEnragedForest.Q11040_AttackOfTheEnragedForest; +import quests.Q11041_CheckOutTheSituation.Q11041_CheckOutTheSituation; +import quests.Q11042_SuspiciousMovements.Q11042_SuspiciousMovements; +import quests.Q11043_SomeonesTrace.Q11043_SomeonesTrace; +import quests.Q11044_KetraOrcs.Q11044_KetraOrcs; +import quests.Q11045_TheyMustBeUpToSomething.Q11045_TheyMustBeUpToSomething; +import quests.Q11046_PrayingForSafety.Q11046_PrayingForSafety; import quests.custom.Q00529_RegularBarrierMaintenance.Q00529_RegularBarrierMaintenance; import quests.custom.Q00560_HowToOvercomeFear.Q00560_HowToOvercomeFear; import quests.custom.Q00589_ASecretChange.Q00589_ASecretChange; @@ -492,6 +499,7 @@ public class QuestMasterHandler Q10901_AModelAdventurer.class, // TODO: Not done. Q11025_PathOfDestinyProving.class, Q11026_PathOfDestinyConviction.class, + Q11027_PathOfDestinyOvercome.class, Q11031_TrainingBeginsNow.class, Q11032_CurseOfUndying.class, Q11033_AntidoteIngredients.class, @@ -502,11 +510,12 @@ public class QuestMasterHandler Q11038_GrowlersTurnedViolent.class, Q11039_CommunicationBreakdown.class, Q11040_AttackOfTheEnragedForest.class, - Q11042_SuspiciousMovements.class, // TODO: Not done. - Q11043_SomeonesTrace.class, // TODO: Not done. - Q11044_KetraOrcs.class, // TODO: Not done. - Q11045_TheyMustBeUpToSomething.class, // TODO: Not done. - Q11046_PrayingForSafety.class, // TODO: Not done. + Q11041_CheckOutTheSituation.class, + Q11042_SuspiciousMovements.class, + Q11043_SomeonesTrace.class, + Q11044_KetraOrcs.class, + Q11045_TheyMustBeUpToSomething.class, + Q11046_PrayingForSafety.class, }; public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11042_SuspiciousMovements.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11042_SuspiciousMovements.java deleted file mode 100644 index fd39d04f9e..0000000000 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11042_SuspiciousMovements.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 Q11042_SuspiciousMovements extends Quest -{ - private static final int START_NPC = 30648; - - public Q11042_SuspiciousMovements() - { - super(11042); - addStartNpc(START_NPC); - addTalkId(START_NPC); - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null)); - } -} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11043_SomeonesTrace.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11043_SomeonesTrace.java deleted file mode 100644 index c302d0e3c1..0000000000 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11043_SomeonesTrace.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 Q11043_SomeonesTrace extends Quest -{ - private static final int START_NPC = 30648; - - public Q11043_SomeonesTrace() - { - super(11043); - addStartNpc(START_NPC); - addTalkId(START_NPC); - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null)); - } -} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11044_KetraOrcs.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11044_KetraOrcs.java deleted file mode 100644 index 0bb861f925..0000000000 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11044_KetraOrcs.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 Q11044_KetraOrcs extends Quest -{ - private static final int START_NPC = 30648; - - public Q11044_KetraOrcs() - { - super(11044); - addStartNpc(START_NPC); - addTalkId(START_NPC); - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null)); - } -} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11045_TheyMustBeUpToSomething.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11045_TheyMustBeUpToSomething.java deleted file mode 100644 index a6361766ae..0000000000 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11045_TheyMustBeUpToSomething.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 Q11045_TheyMustBeUpToSomething extends Quest -{ - private static final int START_NPC = 30648; - - public Q11045_TheyMustBeUpToSomething() - { - super(11045); - addStartNpc(START_NPC); - addTalkId(START_NPC); - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null)); - } -} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11046_PrayingForSafety.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11046_PrayingForSafety.java deleted file mode 100644 index e35283fb67..0000000000 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/not_done/Q11046_PrayingForSafety.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 Q11046_PrayingForSafety extends Quest -{ - private static final int START_NPC = 30648; - - public Q11046_PrayingForSafety() - { - super(11046); - addStartNpc(START_NPC); - addTalkId(START_NPC); - addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null)); - } -} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/items/80600-80699.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/items/80600-80699.xml index 1369d6766b..893f894db0 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/items/80600-80699.xml +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/items/80600-80699.xml @@ -759,6 +759,7 @@ + @@ -770,6 +771,7 @@ + @@ -862,6 +864,10 @@ + + + + diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/npcs/custom/Q11025.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/npcs/custom/Q11025.xml new file mode 100644 index 0000000000..13e283c0fd --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/npcs/custom/Q11025.xml @@ -0,0 +1,26 @@ + + + + + HUMAN + FEMALE + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/39400-39499.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/39400-39499.xml index 4dc881cf60..4555f4dac6 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/39400-39499.xml +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/39400-39499.xml @@ -1025,6 +1025,24 @@ A1 4 200 + SELF + SINGLE + 80681 + 1 + + + CASTER + LAWFUL + + + + + + -85049 + 105814 + -3592 + +