diff --git a/trunk/dist/game/data/html/help/39537.htm b/trunk/dist/game/data/html/help/39537.htm new file mode 100644 index 0000000000..2de4f69c9d --- /dev/null +++ b/trunk/dist/game/data/html/help/39537.htm @@ -0,0 +1,15 @@ + + + + + + +
+

+
[Ancient Ertheia Prophecy]
+ +

....
+A red river flows...Hard frost upon the earth.
+One of half-noble blood, descending with the winds to deliver from...
+When joined by one... The path will open to the Grail.
+ \ No newline at end of file diff --git a/trunk/dist/game/data/instances/FortressOfTheDead.xml b/trunk/dist/game/data/instances/FortressOfTheDead.xml new file mode 100644 index 0000000000..ab9513017a --- /dev/null +++ b/trunk/dist/game/data/instances/FortressOfTheDead.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-01.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-01.html new file mode 100644 index 0000000000..e02661b7e0 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-01.html @@ -0,0 +1,4 @@ +Kain Van Halter:
+You're Ertheia. Child of the wind. Why would you try to kill Giselle all the way out here?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-02.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-02.html new file mode 100644 index 0000000000..84c2f1869b --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-02.html @@ -0,0 +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/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-03.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-03.html new file mode 100644 index 0000000000..b82282447d --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-03.html @@ -0,0 +1,6 @@ +Kain Van Halter:
+The Queen of Ertheia sent you?
+All right, then. Since Giselle became very aggressive after becoming a vampire, I will take your word on your dispute.
+But what brings you all the way here? Why were you looking for Giselle? I can't imagine Ertheia having business with her.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-04.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-04.html new file mode 100644 index 0000000000..7246ace6d3 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-04.html @@ -0,0 +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/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-05.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-05.html new file mode 100644 index 0000000000..52d664eb98 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-05.html @@ -0,0 +1,4 @@ +Kain Van Halter:
+Prophecy Machine?
What about the Prophecy Machine?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-06.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-06.html new file mode 100644 index 0000000000..46ef303986 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-06.html @@ -0,0 +1,7 @@ +Kain Van Halter:
+
A red river flows...hard frost upon the earth... +One of half-noble blood,descending with the winds to deliver from... +When joined by one...The path will open to the Grail.
+So why are you showing me this?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-07.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-07.html new file mode 100644 index 0000000000..c1bb52d821 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-07.html @@ -0,0 +1,4 @@ +Kain Van Halter:
+I see. Did Karla tell you? So she still remembers me mentioning the Grail that day.
+Check this out first.
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-08.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-08.html new file mode 100644 index 0000000000..47854c9766 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-08.html @@ -0,0 +1,6 @@ +Kain Van Halter:
+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.
+ + diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-09.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-09.html new file mode 100644 index 0000000000..31f3125ff7 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-09.html @@ -0,0 +1,6 @@ +Kain Van Halter:
+A red river flows...Hm. I think I can see where this is going.
+It's talking about this continent. 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?
+ + diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-10.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-10.html new file mode 100644 index 0000000000..33b93e294d --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-10.html @@ -0,0 +1,7 @@ +Kain Van Halter:
+One of half-noble blood...
+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.
Hmm? Wait...
+ + diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-11.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-11.html new file mode 100644 index 0000000000..1023757f18 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979-11.html @@ -0,0 +1,3 @@ +Kain Van Halter:
+Who is that person standing there? + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979.htm b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979.htm new file mode 100644 index 0000000000..a63ccc1b24 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33979.htm @@ -0,0 +1,5 @@ +Kain Van Halter:
+You trespass on the land of death. Who are you? +No matter. You threatened Giselle with harm, and you will answer to me!
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33980-01.html b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33980-01.html new file mode 100644 index 0000000000..fbcfb65350 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33980-01.html @@ -0,0 +1,4 @@ +Mysterious Wizard:
+I was just worried about you.
I guess I was worried that a small Ertheia was led by the souls of the dead to somewhere.
+But it seems I picked the wrong time.
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33980.htm b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33980.htm new file mode 100644 index 0000000000..c7b1544f87 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/33980.htm @@ -0,0 +1,5 @@ +Mysterious Wizard:
+It seems nothing happened.
+Did you find the person you were looking for?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/FortressOfTheDeadInstance.java b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/FortressOfTheDeadInstance.java new file mode 100644 index 0000000000..d8d3577283 --- /dev/null +++ b/trunk/dist/game/data/scripts/instances/FortressOfTheDeadInstance/FortressOfTheDeadInstance.java @@ -0,0 +1,232 @@ +/* + * 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.FortressOfTheDeadInstance; + +import com.l2jmobius.gameserver.instancemanager.InstanceManager; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.instancezone.InstanceWorld; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.network.NpcStringId; +import com.l2jmobius.gameserver.network.serverpackets.ExQuestNpcLogList; +import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; + +import instances.AbstractInstance; +import quests.Q10752_WindsOfFateAPromise.Q10752_WindsOfFateAPromise; + +/** + * Fortress of The Dead Instance Zone. + * @author Gigi + */ +public final class FortressOfTheDeadInstance extends AbstractInstance +{ + // NPCs + private static final int KAIN_VAN_HALTER = 33979; + private static final int MYSTERIOUS_WIZARD_2 = 33980; + // Monsters + private static final int VON_HELLMANN = 19566; + private static final int VAMPIRIC_SOLDIER = 19567; + // Locations + private static final Location START_LOC = new Location(57972, -28955, 568); + private static final Location EXIT_LOC = new Location(52084, -51317, -3096); + // Misc + private static final int TEMPLATE_ID = 254; + private static final int KAINS_PROPHECY_MACHINE_FRAGMENT = 39538; + private static final int VAMPIRIC_SOLDIER_KILL = 4; + private static final int VON_HELLMANN_KILL = 1; + + class FTODWorld extends InstanceWorld + { + } + + public FortressOfTheDeadInstance() + { + super(FortressOfTheDeadInstance.class.getSimpleName()); + addTalkId(KAIN_VAN_HALTER, MYSTERIOUS_WIZARD_2); + addFirstTalkId(KAIN_VAN_HALTER, MYSTERIOUS_WIZARD_2); + addKillId(VAMPIRIC_SOLDIER, VON_HELLMANN); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = player.getQuestState(Q10752_WindsOfFateAPromise.class.getSimpleName()); + final InstanceWorld tmpworld = InstanceManager.getInstance().getPlayerWorld(player); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "33979-02.html": + case "33979-03.html": + case "33979-04.html": + case "33979-05.html": + case "33979-06.html": + case "33979-07.html": + case "33979-08.html": + case "33979-09.html": + case "33979-10.html": + { + htmltext = event; + break; + } + case "33979-11.html": + { + if (tmpworld instanceof FTODWorld) + { + final FTODWorld world = (FTODWorld) tmpworld; + showOnScreenMsg(player, NpcStringId.TALK_TO_THE_MYSTERIOUS_WIZARD, ExShowScreenMessage.TOP_CENTER, 10000); + L2Npc wizard = addSpawn(MYSTERIOUS_WIZARD_2, npc.getX() + getRandom(-50, 50), npc.getY() + getRandom(-50, 50), npc.getZ(), npc.getHeading(), true, 60000, false, world.getInstanceId()); + wizard.setTitle(player.getName()); + wizard.setIsRunning(false); + wizard.broadcastInfo(); + npc.deleteMe(); + } + htmltext = event; + break; + } + case "exit_instance": + { + npc.deleteMe(); + player.showQuestMovie(111); + giveItems(player, KAINS_PROPHECY_MACHINE_FRAGMENT, 1); + qs.setCond(9, true); + startQuestTimer("TELEPORT", 27000, npc, player); + break; + } + case "enter_instance": + { + enterInstance(player, new FTODWorld(), "FortressOfTheDead.xml", TEMPLATE_ID); + qs.set(Integer.toString(VAMPIRIC_SOLDIER), 0); + break; + } + case "SPAWN_HELLMANN": + { + if (tmpworld instanceof FTODWorld) + { + final FTODWorld world = (FTODWorld) tmpworld; + L2Npc hellmann = addSpawn(VON_HELLMANN, 57963, -28676, 568, 49980, false, 300000, false, world.getInstanceId()); + addAttackDesire(hellmann, player); + } + break; + } + case "SPAWN_KAIN_VAN_HALTER": + { + if (tmpworld instanceof FTODWorld) + { + final FTODWorld world = (FTODWorld) tmpworld; + addSpawn(KAIN_VAN_HALTER, 57963, -28676, 568, 49980, false, 300000, false, world.getInstanceId()); + } + break; + } + case "TELEPORT": + { + tmpworld.removeAllowed(player.getObjectId()); + teleportPlayer(player, EXIT_LOC, 0); + break; + } + } + return htmltext; + } + + @Override + public final String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + switch (npc.getId()) + { + case KAIN_VAN_HALTER: + { + htmltext = "33979-01.html"; + break; + } + case MYSTERIOUS_WIZARD_2: + { + htmltext = "33980-01.html"; + break; + } + } + return htmltext; + } + + @Override + public String onFirstTalk(L2Npc npc, L2PcInstance player) + { + return npc.getId() + ".htm"; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) + { + final QuestState qs = player.getQuestState(Q10752_WindsOfFateAPromise.class.getSimpleName()); + if ((qs != null) && (qs.isCond(8))) + { + switch (npc.getId()) + { + case VAMPIRIC_SOLDIER: + { + int kills = qs.getInt(Integer.toString(VAMPIRIC_SOLDIER)); + if (kills < VAMPIRIC_SOLDIER_KILL) + { + kills++; + qs.set(Integer.toString(VAMPIRIC_SOLDIER), kills); + } + break; + } + case VON_HELLMANN: + { + int kills = qs.getInt(Integer.toString(VON_HELLMANN)); + if (kills < VON_HELLMANN_KILL) + { + kills++; + qs.set(Integer.toString(VON_HELLMANN), kills); + } + break; + } + } + final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); + log.addNpc(VAMPIRIC_SOLDIER, qs.getInt(Integer.toString(VAMPIRIC_SOLDIER))); + log.addNpc(VON_HELLMANN, qs.getInt(Integer.toString(VON_HELLMANN))); + if (qs.getInt(Integer.toString(VAMPIRIC_SOLDIER)) >= VAMPIRIC_SOLDIER_KILL) + { + qs.unset(Integer.toString(VAMPIRIC_SOLDIER)); + startQuestTimer("SPAWN_HELLMANN", 8000, npc, player); + } + if (qs.getInt(Integer.toString(VON_HELLMANN)) >= VON_HELLMANN_KILL) + { + npc.deleteMe(); + qs.unset(Integer.toString(VON_HELLMANN)); + player.showQuestMovie(110); + startQuestTimer("SPAWN_KAIN_VAN_HALTER", 5000, npc, player); + } + } + return super.onKill(npc, player, isSummon); + } + + @Override + public void onEnterInstance(L2PcInstance player, InstanceWorld world, boolean firstEntrance) + { + if (firstEntrance) + { + world.addAllowed(player.getObjectId()); + } + teleportPlayer(player, START_LOC, world.getInstanceId()); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/InstanceLoader.java b/trunk/dist/game/data/scripts/instances/InstanceLoader.java index 3bc5319f86..9a494de16b 100644 --- a/trunk/dist/game/data/scripts/instances/InstanceLoader.java +++ b/trunk/dist/game/data/scripts/instances/InstanceLoader.java @@ -33,6 +33,7 @@ import instances.ElcadiasTent.ElcadiasTent; import instances.FaeronTrainingGrounds1.FaeronTrainingGrounds1; import instances.FaeronTrainingGrounds2.FaeronTrainingGrounds2; import instances.FinalEmperialTomb.FinalEmperialTomb; +import instances.FortressOfTheDeadInstance.FortressOfTheDeadInstance; import instances.HarnakUndergroundRuins.HarnakUndergroundRuins; import instances.HideoutOfTheDawn.HideoutOfTheDawn; import instances.IceQueensCastle.IceQueensCastle; @@ -76,6 +77,7 @@ final class InstanceLoader FaeronTrainingGrounds1.class, FaeronTrainingGrounds2.class, FinalEmperialTomb.class, + FortressOfTheDeadInstance.class, HarnakUndergroundRuins.class, HideoutOfTheDawn.class, ChamberOfDelusionEast.class, diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-01.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-01.html new file mode 100644 index 0000000000..fd3742fed1 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-01.html @@ -0,0 +1,5 @@ +Head Blacksmith Lombert:
+You are an Ertheia? From the Wind Spirit Realm? I heard that there's a small forest near Faeron. Dwarf Dolkin is my friend, and he's been working on making armor out of leaves from that place. He's always telling me about how beautiful that place is. Still, unless there's some type of amazing steel over there, I'm happy here.
+So, what brings you here? Do you need weapons?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-02.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-02.html new file mode 100644 index 0000000000..8c7ca7518a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-02.html @@ -0,0 +1,4 @@ +Head Blacksmith Lombert:
+You mean Master Kain? He's adorable. He was skilled in swordmanship since a young age. He did have a tendency to boast about it. I was the one who made his swords when he was young. He was never satisfied with just one sword, but I do remember him taking great care of his younger sister.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-03.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-03.html new file mode 100644 index 0000000000..a473656b36 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-03.html @@ -0,0 +1,4 @@ +Head Blacksmith Lombert:
+Master Kain's half-sister is Giselle Van Halter. Since Master Kain didn't wholly inherit the royal blood, Giselle would be his half-sister. Well, she's Giselle Von Hellmann now that she got married. Such a pity. I still can't believe that beautiful Giselle became a vampire. When Master Kain came back after being gone for a while...you can imagine his grief. He really cared about his little sister.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-04.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-04.html new file mode 100644 index 0000000000..f94f1046bf --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-04.html @@ -0,0 +1,5 @@ +Head Blacksmith Lombert:
+Who would have thought that the reputable Von Hellmann family would raise a rebellion? That place became a land of death when the king's royal guards battled against them. No one knows how it happened, but the Hellmanns became vampires. There are rumors about a black wizard having something to do with it, but no one knows what exactly happened.
+Anyway, ever since then, Master Kain has been going around looking for a way to turn Giselle back to normal. It looks like he still goes there from time to time to see how Giselle is doing.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-05.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-05.html new file mode 100644 index 0000000000..ba34d1485a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-05.html @@ -0,0 +1,4 @@ +Head Blacksmith Lombert:
+That, I don't know either. Why would anyone go to a land of the dead? But if you must, try going to the Forest of the Dead, which used to be the Hellmann's territory. There, you will find a wizard who has been there ever since the Forest of the Dead was created. He might know more about the Von Hellmann family that roams around the Forest of the Dead.
+Since no one knows what he does there, or why he's even there, we call him the Mysterious Wizard. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-06.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-06.html new file mode 100644 index 0000000000..7ff7fb0bed --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31317-06.html @@ -0,0 +1,3 @@ +Head Blacksmith Lombert:
+Go to the Forest of the Dead to find the Mysterious Wizard. He might know about the Hellmann family. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-01.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-01.html new file mode 100644 index 0000000000..00e521c983 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-01.html @@ -0,0 +1,6 @@ +Grand Master Siegmund:
+Hey you, with the big ears! Are you...Ertheia?
+Hahaha! I did hear that Ertheia have suddenly appeared. And here I thought I'd have nothing ever to do again since I'm not leaving this place any time soon.
+Hey, don't look so peeved. I'm just happy to see you. But, why have you come all the way here?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-02.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-02.html new file mode 100644 index 0000000000..e5908eaa2a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-02.html @@ -0,0 +1,6 @@ +Grand Master Siegmund
+Kain? You mean Gran Kain, right? Hahaha...haha...ha.
+Ahem! The Kain you speak of must be Kain Van Halter. He is the greatest of gladiators, and the prince of Elmore.
+But you're new here. How do you know him?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-03.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-03.html new file mode 100644 index 0000000000..3a6b58e5a2 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-03.html @@ -0,0 +1,3 @@ +Grand Master Siegmund:
+I'm sorry, but if you've come hoping to find a savior, you've wasted a trip. He is not here. He's difficult to find, period. We can't even know where he might be.
I heard he's wandering far and wide searching for something, but I didn't think he'd go that far. If you want to find him, how about talking to the chief of the blacksmiths, Head Blacksmith Lombert? He likes to brag about how he's always served Kain Van Halter since Kain's childhood. I don't know if that's true, but he claims to have made a sword for Kain. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-04.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-04.html new file mode 100644 index 0000000000..fdede9efc2 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31321-04.html @@ -0,0 +1,3 @@ +Grand Master Siegmund:
+Go talk to the chief of the blacksmiths, Head Blacksmith Lombert, if you want to find Kain Van Halter. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-01.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-01.html new file mode 100644 index 0000000000..cb9d80f9f5 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-01.html @@ -0,0 +1,6 @@ +Mysterious Wizard:
+If you happen to lose your life while travelling, I want to take your corpse. Don't look at me so. I just don't want any thug to lay hands on the beautiful body of an Ertheia.
+More importantly, are you interested in Dark Magic? I think an Ertheia using Dark Magic would be awesome.
+ + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-02.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-02.html new file mode 100644 index 0000000000..5fa418be80 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-02.html @@ -0,0 +1,5 @@ +Mysterious Wizard:
+I see. I guess not, then...
+If you hate Dark Magic so much, then what do you want from me?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-03.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-03.html new file mode 100644 index 0000000000..9637c7d1a8 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-03.html @@ -0,0 +1,5 @@ +Mysterious Wizard:
+That's nice to hear. You have the potential -- it is simply blocked for now. You're on a journey to recover your abilities, right?
+Don't be so surprised. I can tell after all these years of meeting travelers like yourself.
+When the time comes, I will help you. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-04.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-04.html new file mode 100644 index 0000000000..797d3f0aee --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-04.html @@ -0,0 +1,5 @@ +Mysterious Wizard:
+Giselle von Hellman... I don't know about Giselle, but someone knows about the Von Hellman family. He's been here for a long time.
+You see the Tombstone next to me? Go there and ask about Von Hellmann. There are ghosts near the Tombstone. I'm sure someone can answer your question.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-05.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-05.html new file mode 100644 index 0000000000..0369c507c6 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-05.html @@ -0,0 +1,5 @@ +Mysterious Wizard:
+I don't know? Perhaps you saw someone that looked like me?
+Or maybe... you just don't know where fate is taking you.
+More importantly, shouldn't you hurry to the Tombstone? + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-06.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-06.html new file mode 100644 index 0000000000..2365000187 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31522-06.html @@ -0,0 +1,4 @@ +Mysterious Wizard:
+You see the Tombstone next to me? Go there and ask about Von Hellmann. There are ghosts near the Tombstone. I'm sure someone can answer your question.
+Are you scared of ghosts? + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-01.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-01.html new file mode 100644 index 0000000000..72a971a4ab --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-01.html @@ -0,0 +1,4 @@ +Tombstone:
+After pushing away the moss, words appear engraved upon the stone. Could these words be used to conjure a ghost?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-02.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-02.html new file mode 100644 index 0000000000..e0e9e68961 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-02.html @@ -0,0 +1,7 @@ +Tombstone:
+To the Great King of Elmore +One jeweled scepter +To his protector Hellmann family, +Two Silver Spears
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-03.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-03.html new file mode 100644 index 0000000000..9986022c27 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31523-03.html @@ -0,0 +1,3 @@ +Tombstone:
+(A misty ghost-like creature is coming closer.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-01.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-01.html new file mode 100644 index 0000000000..32e429a52e --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-01.html @@ -0,0 +1,5 @@ +Ghost of von Hellmann:
+I'm Duke Adolph von Hellmann, receiver of the two spears from King Astair, and father of Alfred von Hellmann.
+Woe is me! This was once our home, but now we have no power, no blessing!
Does this land not still belong to the Elmore Kingdom?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-02.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-02.html new file mode 100644 index 0000000000..29b01777c5 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-02.html @@ -0,0 +1,5 @@ +Ghost of von Hellmann:
+Then why is there no more of the King's grace upon this land? Is there a different ruler now? Why?
+Do you know anyone by the name Von Hellmann?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-03.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-03.html new file mode 100644 index 0000000000..a964e9675a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31524-03.html @@ -0,0 +1,3 @@ +Ghost of von Hellmann:
+Giselle von Hellmann... I do not recognize that name. However, I can feel it. A place of woe and hatred! It responds to that name. It is in a pile of books in my ruined mansion.
+Do not forget our name, adventurer. We are of the Von Hellmann. \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-01.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-01.html new file mode 100644 index 0000000000..27acf51ac2 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-01.html @@ -0,0 +1,4 @@ +Broken Bookshelf:
+It's the place the ghost spoke of. The lock on this deposit box is locked fast.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-02.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-02.html new file mode 100644 index 0000000000..18c547accf --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-02.html @@ -0,0 +1,5 @@ +Broken Bookshelf:
+There's an envelope peeking out between these old books.
+Can't really see the writing because it's so old, but there is the name of "Giselle".
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-03.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-03.html new file mode 100644 index 0000000000..daf42bd1b6 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-03.html @@ -0,0 +1,4 @@ +Broken Bookshelf:
+It looks like a letter from Kain to Giselle.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-04.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-04.html new file mode 100644 index 0000000000..ca13ce2600 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-04.html @@ -0,0 +1,4 @@ +Broken Bookshelf:
+There is a letter from Kain to Giselle.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-05.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-05.html new file mode 100644 index 0000000000..5ff17f0381 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/31526-05.html @@ -0,0 +1,4 @@ +Broken Bookshelf:
+The lock on that deposit box is locked fast as ever. And there is no letter either.
+Go back to Faeron Village and report back to Master Katalin. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-01.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-01.html new file mode 100644 index 0000000000..fc4eb542fa --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-01.html @@ -0,0 +1,6 @@ +Karla:
+Are you Erthei? +I am quite familiar with your work. Poor Telesha. If it weren't for you, we would have continued to believe that she was just missing. I'm relieved that we at least know what happened. Thank you.
+But, you look like you want to ask me something.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-02.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-02.html new file mode 100644 index 0000000000..6764df74f0 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-02.html @@ -0,0 +1,5 @@ +Karla:
+Are you going to go look for him? I want to go myself, but I can't leave this town. There's no guarantee that this peace will last if I do.
+He is the savior who saved us when the monsters attacked. I let my guard down, thinking Makkum was dead, and that's when he attacked me. If Kain hadn't helped us, Faeron would have burned to the ground.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-03.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-03.html new file mode 100644 index 0000000000..18aa4d5d31 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-03.html @@ -0,0 +1,6 @@ +Karla:
+He was a Human Warrior from Elmore. He used two swords. He was interested in the Grail as much as we are. After saving us, he just went on his way without asking for anything.
+I don't know why he's after the Grail. But, that man who helped us unconditionally is also our only hope of finding the Grail in the Material Realm.
+We need to find him.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-04.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-04.html new file mode 100644 index 0000000000..88e080f730 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-04.html @@ -0,0 +1,4 @@ +Karla:
+Go to the Town of Rune, the capital of Elmore. Grandmaster Siegmund of the Warrior Guild will know Kain.
+When you see Kain, show him this. It's Queen Navari's Mark. Queen Navari gave the same Mark to Kain, in case he ever needed help from an Ertheia. Show him the Mark and ask about the Prophecy Machine. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-05.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-05.html new file mode 100644 index 0000000000..5d814a6b04 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-05.html @@ -0,0 +1,3 @@ +Karla:
+Go to the Town of Rune, the capital of Elmore. Grandmaster Siegmund of the Warrior Guild will know about a fellow warrior from Elmore, like Kain. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-06.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-06.html new file mode 100644 index 0000000000..bd9e6fec51 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-06.html @@ -0,0 +1,5 @@ +Karla:
+You look extremely tired.
+Did you find out what you wanted to know about Kain?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-07.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-07.html new file mode 100644 index 0000000000..418c40f2e0 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-07.html @@ -0,0 +1,7 @@ +Karla:
+Kain Van Holter? Van Halter? +The name of the Elmore king is Astair Van Halter!
+He's a scion of the royal family? He didn't look the part. He looked quite ordinary.
+And you've met Kain?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-08.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-08.html new file mode 100644 index 0000000000..1ff6b32d55 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-08.html @@ -0,0 +1,4 @@ +Karla:
+Just learning about his whereabouts would've been good enough. But, you actually got to meet him. Good work. Anything unusual happen?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-09.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-09.html new file mode 100644 index 0000000000..2c615a115c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-09.html @@ -0,0 +1,5 @@ +Karla:
+This is the same fragment you found before. How did Kain get a hold of it?
+Oh, wait, the delegation sent a report saying that an object from the Wind Spirit Realm was found in Goddard Territory, but a warrior who was not Ertheia took it. It must have been Kain.
+I should report this to the Queen. Now go to Master Katalin. She'll have made preparations for your Liberation. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-09a.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-09a.html new file mode 100644 index 0000000000..dd15f97411 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-09a.html @@ -0,0 +1,5 @@ +Karla:
+This is the same fragment you found before. How did Kain get a hold of it?
+Oh, wait, the delegation sent a report saying that an object from the Wind Spirit Realm was found in Goddard Territory, but a warrior who was not Ertheia took it. It must have been Kain.
+I should report this to the Queen. Now go to Aianthe. She'll have made preparations for your Liberation. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-10.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-10.html new file mode 100644 index 0000000000..e01c1212c7 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-10.html @@ -0,0 +1,3 @@ +Karla:
+Now go to Master Katalin. She'll have made preparations for your Liberation. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-10a.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-10a.html new file mode 100644 index 0000000000..568cb01e40 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33933-10a.html @@ -0,0 +1,3 @@ +Karla:
+Now go to Master Ayanthe. She'll have made preparations for your Liberation. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-01.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-01.htm new file mode 100644 index 0000000000..3f54747f75 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-01.htm @@ -0,0 +1,5 @@ +Magister Ayanthe:
+I can't believe it's time for you 2nd Liberation. While you were away exploring, we finished analyzing the object from the wind spirit Realm.
+It was more impressive than I thought. Queen Navari had initially tasked High Priest Gereth with the analysis, but we ended up bringing Venir of the delegation here as well.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-02.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-02.htm new file mode 100644 index 0000000000..c6ecabe78b --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-02.htm @@ -0,0 +1,5 @@ +Magister Ayanthe:
+It's a Prophecy Machine, used by the Ancient Ertheia. It used magic to preserve its prophecies. We've never seen one until now .. even Gereth has never seen one before, and he's the oldest person in Faeron! While restoring it, Venir was incessantly muttering about his library back in the Wind Spirit Realm
+Well we did it! We were only able to restore a portion of the prophecies, but they can be read.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-03.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-03.htm new file mode 100644 index 0000000000..de4b81dc86 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-03.htm @@ -0,0 +1,5 @@ +Magister Ayanthe:
+We found some words referring to a grail. All the Ertheia in the village say it's most certainly talking about the Grail we have all heard of.
+Unfortunately, we weren't able to discern any other clues. That's why Gereth and Venir have been doing research around the clock, only to proclaim that we need a helper.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-04.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-04.htm new file mode 100644 index 0000000000..94aaabe023 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-04.htm @@ -0,0 +1,9 @@ +Magister Ayanthe:
+
A red river flows ... hard frost upon the earth...., +One on half-noble blood, descending with the winds to deliver from... +When joined by one... +The path will open to the Grail!

+This is all the verified prophecy..
+The only other thing that is clear is that the fate os all Ertheia hangs in balance. I think this is necessary for your Liberation. Give me your response first, and I'il tell you about the helper. Will you take on this challenge?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-05.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-05.htm new file mode 100644 index 0000000000..c6789bd2ca --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-05.htm @@ -0,0 +1,4 @@ +Magister Ayanthe:
+I like your unfaltering answer!
+Karla will tell you about the helper. No other Ertheia knows as much as she does on the subject. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-06.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-06.html new file mode 100644 index 0000000000..d8c72b6d90 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-06.html @@ -0,0 +1,3 @@ +Master Katalin:
+Karla can tell you the details about the Helper. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-07.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-07.html new file mode 100644 index 0000000000..e7e4ba7ee9 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-07.html @@ -0,0 +1,7 @@ +Magister Ayanthe:
+I heard you and Karla talking about Kain. Perhaps it's because I really wanted to know what happened ever since you got here. And I could hear everything you and Karla talked about. Could it be a hidden ability of mine? I'm just kidding. Don't make that face.
+So, ready for your 2nd Liberation?

+[Soul Crystal Enchantment] +Blacksmith of Mammon: Town of Giran, Town of Aden, Town of Rune +Maestro Ishuma: Wharf of Gludio Airships + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-08.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-08.html new file mode 100644 index 0000000000..d5e15db89a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-08.html @@ -0,0 +1,15 @@ +Magister Ayanthe:
+Trough Liberation, you will become a Stratomancer, and command the power of the wind.
+Liberate your ability to become a Ripper?
+ + +
+
+ +
Armor: Robe +Main Weapon: Magic Two-handed Weapons +Class: Attack Type Wizard +
+
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-09.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-09.html new file mode 100644 index 0000000000..ccf9306e13 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-09.html @@ -0,0 +1,31 @@ + + + +
+ + + + + + + +
[Stratomaster]
+ +
+
+
+Characteristics +Trait: Protect yourself with the power of the wind while forcibly moving your opponents. + +
+ +
+ +
+ +
+
+
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-10.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-10.html new file mode 100644 index 0000000000..c0156a85a8 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33942-10.html @@ -0,0 +1,4 @@ +Magister Ayanthe:
+Watching your gives me hope for the ertheia living in the Material Realm.
+Go forth and experience everything you can with your rediscovered powers. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-01.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-01.htm new file mode 100644 index 0000000000..1b57c1db5c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-01.htm @@ -0,0 +1,5 @@ +Master Katalin:
+It's time for your 2nd Liberation. While you were exploring the Material Realm, a lot has happened here. We have identified the Wind Spirit Realm relic you left with us last time.
+In fact, it was an amazing item. Queen Navari ordered High Priest Gereth to investigate, but later she even summoned Venir from the Town of Rune in a hurry.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-02.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-02.htm new file mode 100644 index 0000000000..1c115bb147 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-02.htm @@ -0,0 +1,5 @@ +Master Katalin:
+It's a Prophecy Machine used by the Ancient Ertheia. I can't believe I got to see this. Even the venerated Venir said that he had never seen it before.
+It's an old item, and it's in pieces now. But we could still see some of the content.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-03.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-03.htm new file mode 100644 index 0000000000..1c203028d4 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-03.htm @@ -0,0 +1,5 @@ +Master Katalin:
+It said something about the Grail.
+Then we found another text. We found out that we need to find the Helper.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-04.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-04.htm new file mode 100644 index 0000000000..8dbe9abe4b --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-04.htm @@ -0,0 +1,10 @@ +Master Katalin:
+
A red river flows...hard frost upon the earth... +One of half-noble blood, +descending with the winds to deliver from... +When joined by one... +The path will open to the Grail.

+That's as far as we could read.
+We believe the details are connected with all of Ertheia and your Liberation. I will tell you about the Helper if you take on this job.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-05.htm b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-05.htm new file mode 100644 index 0000000000..55b8d43433 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-05.htm @@ -0,0 +1,3 @@ +Master Katalin:
+Good. Karla will tell you the details about the Helper. No one else knows about the Helper better than her. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-06.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-06.html new file mode 100644 index 0000000000..d8c72b6d90 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-06.html @@ -0,0 +1,3 @@ +Master Katalin:
+Karla can tell you the details about the Helper. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-07.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-07.html new file mode 100644 index 0000000000..8da6ddd79c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-07.html @@ -0,0 +1,7 @@ +Master Katalin:
+I heard you and Karla talking about Kain. Perhaps it's because I really wanted to know what happened ever since you got here. And I could hear everything you and Karla talked about. Could it be a hidden ability of mine? I'm just kidding. Don't make that face.
+So, ready for your 2nd Liberation?

+[Soul Crystal Enchantment] +Blacksmith of Mammon: Town of Giran, Town of Aden, Town of Rune +Maestro Ishuma: Wharf of Gludio Airships + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-08.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-08.html new file mode 100644 index 0000000000..e44bca9f50 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-08.html @@ -0,0 +1,15 @@ +Master Katalin:
+You will become a Ripper through this awakening. You will be able to form the atmosphere.
+Liberate your ability to become a Ripper?
+ + +
+
+ +
Armor: Light Armor +Main Weapon: Fist Weapon +Class: Melee Mobile Warrior +
+
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-09.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-09.html new file mode 100644 index 0000000000..2e711b3ed9 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-09.html @@ -0,0 +1,31 @@ + + + +
+ + + + + + + +
[Ripper]
+ +
+
+
+Characteristics +Trait: Transforms the Earth's energy to weaken a target. + +
+ +
+ +
+ +
+
+
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-10.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-10.html new file mode 100644 index 0000000000..26abf54d6e --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/33943-10.html @@ -0,0 +1,4 @@ +Master Katalin:
+Seeing your Liberation, I have hope for other Ertheia in the Material Realm.
+Enjoy your former power! + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/AnnounceF.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/AnnounceF.html new file mode 100644 index 0000000000..7b22631c2f --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/AnnounceF.html @@ -0,0 +1,7 @@ +Master Katalin:
+I hear about you often.I think I can help you grow stronger. Come to Faeron Village.
+ +
+
2nd Liberation Requirements +Level 76 or above, 1st Liberation complete
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/AnnounceM.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/AnnounceM.html new file mode 100644 index 0000000000..e8fe714e77 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/AnnounceM.html @@ -0,0 +1,7 @@ +Master Ayanthe:
+I hear about you often.I think I can help you grow stronger. Come to Faeron Village.
+ +
+
2nd Liberation Requirements +Level 76 or above, 1st Liberation complete
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/Q10752_WindsOfFateAPromise.java b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/Q10752_WindsOfFateAPromise.java new file mode 100644 index 0000000000..a82c90ac36 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/Q10752_WindsOfFateAPromise.java @@ -0,0 +1,511 @@ +/* + * 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.Q10752_WindsOfFateAPromise; + +import com.l2jmobius.gameserver.ai.CtrlIntention; +import com.l2jmobius.gameserver.cache.HtmCache; +import com.l2jmobius.gameserver.enums.Race; +import com.l2jmobius.gameserver.handler.BypassHandler; +import com.l2jmobius.gameserver.handler.IBypassHandler; +import com.l2jmobius.gameserver.model.Location; +import com.l2jmobius.gameserver.model.actor.L2Character; +import com.l2jmobius.gameserver.model.actor.L2Npc; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.base.ClassId; +import com.l2jmobius.gameserver.model.events.EventType; +import com.l2jmobius.gameserver.model.events.ListenerRegisterType; +import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent; +import com.l2jmobius.gameserver.model.events.annotations.RegisterType; +import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLevelChanged; +import com.l2jmobius.gameserver.model.quest.Quest; +import com.l2jmobius.gameserver.model.quest.QuestState; +import com.l2jmobius.gameserver.model.quest.State; +import com.l2jmobius.gameserver.network.NpcStringId; +import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; + +import quests.Q10751_WindsOfFateEncounters.Q10751_WindsOfFateEncounters; + +/** + * Winds of Fate: A Promise (10752) + * @URL https://l2wiki.com/Winds_of_Fate:_A_Promise + * @author Gigi + */ +public class Q10752_WindsOfFateAPromise extends Quest implements IBypassHandler +{ + // NPC's + private static final int MAGISTER_AYANTHE = 33942; + private static final int MASTER_KATALIN = 33943; + private static final int KARLA = 33933; + private static final int GRAND_MASTER_SIEGMUND = 31321; + private static final int HEAD_BLACKSMITH_LOMBERT = 31317; + private static final int MYSTERIOUS_WIZARD = 31522; + private static final int TOMBSTONE = 31523; + private static final int GHOST_OF_VON_HELLMANN = 31524; + private static final int BROKEN_BOOKSHELF = 31526; + // Item's + private static final int NAVARIS_MARK = 39536; // + private static final int PROPHECY_MACHINE_FRAGMENT = 39537; + private static final int KAINS_PROPHECY_MACHINE_FRAGMENT = 39538; + private static final int MYSTERIOUS_SOULSHOT_LARGE_PACK_S_GRADE = 22576; + private static final int MYSTERIOUS_BLESSED_SPIRITSHOT_LARGE_PACK_S_GRADE = 22577; + private static final int STEEL_DOOR_GUILD_COIN = 37045; + private static final int ADENA = 57; + // Requirements + private static final int MIN_LEVEL = 76; + // Rewards + private static final long REWARD_EXP = 2050000; + private static final int REWARD_SP = 0; + // Other + private static final int GHOST_DESPAWN_DELAY = 35000; // 35 sec. + private static final String GHOST_OBJECT_ID_VAR = "ghost_object_id"; + // Teleport + private static final Location TP_LOC = new Location(-81297, 249787, -3360); + private static final String[] TP_COMMANDS = + { + "Q10752_Teleport" + }; + + public Q10752_WindsOfFateAPromise() + { + super(10752, Q10752_WindsOfFateAPromise.class.getSimpleName(), "Winds of Fate: A Promise"); + addStartNpc(MAGISTER_AYANTHE, MASTER_KATALIN); + addTalkId(MAGISTER_AYANTHE, MASTER_KATALIN, KARLA, GRAND_MASTER_SIEGMUND, HEAD_BLACKSMITH_LOMBERT, MYSTERIOUS_WIZARD, TOMBSTONE, GHOST_OF_VON_HELLMANN, BROKEN_BOOKSHELF); + registerQuestItems(NAVARIS_MARK, PROPHECY_MACHINE_FRAGMENT, KAINS_PROPHECY_MACHINE_FRAGMENT); + addCondRace(Race.ERTHEIA, "noErtheia.html"); + addCondMinLevel(MIN_LEVEL, "no_level.html"); + BypassHandler.getInstance().registerHandler(this); + addCondCompletedQuest(Q10751_WindsOfFateEncounters.class.getSimpleName(), "restriction.html"); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if (qs == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "33942-02.htm": + case "33942-03.htm": + case "33942-04.htm": + case "33942-08.html": + case "33942-09.html": + case "33943-02.htm": + case "33943-03.htm": + case "33943-04.htm": + case "33943-08.html": + case "33943-09.html": + case "33933-02.html": + case "33933-03.html": + case "33933-07.html": + case "33933-08.html": + case "31321-02.html": + case "31317-02.html": + case "31317-03.html": + case "31317-04.html": + case "31522-02.html": + case "31522-03.html": + case "31522-04.html": + case "31523-02.html": + case "31524-02.html": + case "31526-02.html": + case "33979-02.html": + case "33979-03.html": + case "33979-04.html": + case "33979-05.html": + case "33979-06.html": + case "33979-07.html": + case "33979-08.html": + case "33979-09.html": + case "33979-10.html": + { + htmltext = event; + break; + } + case "close": + { + return null; + } + case "33942-05.htm": + case "33943-05.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "33933-04.html": + { + giveItems(player, NAVARIS_MARK, 1); + giveItems(player, PROPHECY_MACHINE_FRAGMENT, 1); + qs.setCond(2, true); + htmltext = event; + break; + } + case "31321-03.html": + { + qs.setCond(1); // StateFlags + qs.setCond(3, true); + htmltext = event; + break; + } + case "31317-05.html": + { + qs.setCond(4, true); + htmltext = event; + break; + } + case "31522-05.html": + { + qs.setCond(5, true); + htmltext = event; + break; + } + case "31523-03.html": + { + qs.setCond(6, true); + L2Npc ghost = addSpawn(GHOST_OF_VON_HELLMANN, 51358, -54612, -3128, npc.getHeading(), true, GHOST_DESPAWN_DELAY, false); + ghost.setTitle(player.getName()); + ghost.setIsRunning(false); + ghost.broadcastInfo(); + qs.set(GHOST_OBJECT_ID_VAR, ghost.getObjectId()); + showOnScreenMsg(player, NpcStringId.TALK_TO_THE_GHOST_OF_VON_HELLMANN, ExShowScreenMessage.TOP_CENTER, 10000); + htmltext = event; + break; + } + case "31524-03.html": + { + qs.setCond(7, true); + showOnScreenMsg(player, NpcStringId.TIME_TO_MOVE_ONTO_THE_NEXT_PLACE, ExShowScreenMessage.TOP_CENTER, 15000); + htmltext = event; + break; + } + case "31526-03.html": + { + qs.setCond(8, true); + htmltext = event; + break; + } + case "33933-09.html": + { + if (qs.getPlayer().isMageClass()) + { + qs.setCond(10, true); + htmltext = "33933-09a.html"; + } + else + { + qs.setCond(11, true); + htmltext = event; + } + break; + } + } + if (event.startsWith("change_tof_")) + { + if (qs.isCond(11)) + { + final int classId = Integer.parseInt(event.replace("change_tof_", "")); + player.setBaseClassId(classId); + player.setClassId(classId); + // player.broadcastSocialAction(SocialAction.REAWAKENING); //TODO need core support + takeItems(player, NAVARIS_MARK, -1); + takeItems(player, PROPHECY_MACHINE_FRAGMENT, -1); + takeItems(player, KAINS_PROPHECY_MACHINE_FRAGMENT, -1); + if (classId == 186) + { + htmltext = "33943-10.html"; + giveItems(player, ADENA, 5000000); + giveItems(player, MYSTERIOUS_SOULSHOT_LARGE_PACK_S_GRADE, 1); + giveItems(player, MYSTERIOUS_BLESSED_SPIRITSHOT_LARGE_PACK_S_GRADE, 1); + giveItems(player, STEEL_DOOR_GUILD_COIN, 87); + addExpAndSp(player, REWARD_EXP, REWARD_SP); + } + player.broadcastUserInfo(); + qs.exitQuest(false, true); + } + } + if (event.startsWith("change_tom_")) + { + if (qs.isCond(10)) + { + final int classId = Integer.parseInt(event.replace("change_tom_", "")); + player.setBaseClassId(classId); + player.setClassId(classId); + // player.broadcastSocialAction(SocialAction.REAWAKENING); //TODO need core support + takeItems(player, NAVARIS_MARK, -1); + takeItems(player, PROPHECY_MACHINE_FRAGMENT, -1); + takeItems(player, KAINS_PROPHECY_MACHINE_FRAGMENT, -1); + if (classId == 187) + { + htmltext = "33942-10.html"; + giveItems(player, ADENA, 5000000); + giveItems(player, MYSTERIOUS_SOULSHOT_LARGE_PACK_S_GRADE, 1); + giveItems(player, MYSTERIOUS_BLESSED_SPIRITSHOT_LARGE_PACK_S_GRADE, 1); + giveItems(player, STEEL_DOOR_GUILD_COIN, 87); + addExpAndSp(player, REWARD_EXP, REWARD_SP); + } + player.broadcastUserInfo(); + qs.exitQuest(false, true); + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + switch (qs.getState()) + { + case State.CREATED: + { + switch (npc.getId()) + { + case MAGISTER_AYANTHE: + { + if (player.getClassId() == ClassId.CLOUD_BREAKER) + { + htmltext = "33942-01.htm"; + } + else + { + htmltext = "restriction.html"; + } + break; + } + case MASTER_KATALIN: + { + if (player.getClassId() == ClassId.MARAUDER) + { + htmltext = "33943-01.htm"; + } + else + { + htmltext = "restriction.html"; + } + break; + } + } + break; + } + case State.STARTED: + { + switch (npc.getId()) + { + case MAGISTER_AYANTHE: + { + if ((qs.isCond(1)) && (qs.getCond() < 10)) + { + htmltext = "33942-06.html"; + } + else if (qs.isCond(10)) + { + htmltext = "33942-07.html"; + } + } + break; + case MASTER_KATALIN: + { + if ((qs.getCond() > 0) && (qs.getCond() < 11)) + { + htmltext = "33943-06.html"; + } + else if (qs.isCond(11)) + { + htmltext = "33943-07.html"; + } + } + break; + case KARLA: + { + if (qs.isCond(1)) + { + htmltext = "33933-01.html"; + } + else if (qs.isCond(2)) + { + htmltext = "33933-05.html"; + } + else if (qs.isCond(9)) + { + htmltext = "33933-06.html"; + } + else if (qs.isCond(10)) + { + htmltext = "33933-10a.html"; + } + else if (qs.isCond(11)) + { + htmltext = "33933-10.html"; + } + } + break; + case GRAND_MASTER_SIEGMUND: + { + if (qs.isCond(2)) + { + htmltext = "31321-01.html"; + } + else if (qs.isCond(3)) + { + htmltext = "31321-04.html"; + } + } + break; + case HEAD_BLACKSMITH_LOMBERT: + { + if (qs.isCond(3)) + { + htmltext = "31317-01.html"; + } + else if (qs.isCond(4)) + { + htmltext = "31317-06.html"; + } + } + break; + case MYSTERIOUS_WIZARD: + { + if (qs.isCond(4)) + { + htmltext = "31522-01.html"; + } + else if (qs.isCond(5)) + { + htmltext = "31522-06.html"; + } + } + break; + case TOMBSTONE: + { + if (qs.isCond(5)) + { + htmltext = "31523-01.html"; + } + else if (qs.isCond(6)) + { + htmltext = null; + showOnScreenMsg(player, NpcStringId.TALK_TO_THE_GHOST_OF_VON_HELLMANN, ExShowScreenMessage.TOP_CENTER, 5000); + } + } + break; + case GHOST_OF_VON_HELLMANN: + { + if (qs.isCond(6)) + { + if (npc.getObjectId() == qs.getInt(GHOST_OBJECT_ID_VAR)) + { + htmltext = "31524-01.html"; + } + } + } + break; + case BROKEN_BOOKSHELF: + { + if (qs.isCond(7)) + { + htmltext = "31526-01.html"; + } + if (qs.isCond(8)) + { + htmltext = "31526-04.html"; + } + if (qs.isCond(9)) + { + htmltext = "31526-05.html"; + } + } + break; + } + } + } + return htmltext; + } + + @RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED) + @RegisterType(ListenerRegisterType.GLOBAL) + public void OnPlayerLevelChanged(OnPlayerLevelChanged event) + { + final L2PcInstance player = event.getActiveChar(); + final QuestState qs = getQuestState(player, false); + if ((qs == null) && (player.getLevel() >= MIN_LEVEL) && (player.getRace() == Race.ERTHEIA)) + { + if (player.getClassId() == ClassId.CLOUD_BREAKER) + { + showOnScreenMsg(player, NpcStringId.MAGISTER_AYANTHE_HAS_SENT_A_LETTER_NCLICK_THE_QUESTION_MARK_ICON_TO_READ, ExShowScreenMessage.TOP_CENTER, 10000); + final NpcHtmlMessage html = new NpcHtmlMessage(0, 0); + html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10752_WindsOfFateAPromise/AnnounceM.html")); + player.sendPacket(html); + } + if (player.getClassId() == ClassId.MARAUDER) + { + showOnScreenMsg(player, NpcStringId.MASTER_KATALIN_HAS_SENT_A_LETTER_NCLICK_THE_QUESTION_MARK_ICON_TO_READ, ExShowScreenMessage.TOP_CENTER, 10000); + final NpcHtmlMessage html = new NpcHtmlMessage(0, 0); + html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10752_WindsOfFateAPromise/AnnounceF.html")); + player.sendPacket(html); + } + } + } + + @Override + public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getRace() != Race.ERTHEIA)) + { + return false; + } + if (player.isInParty()) + { + player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000)); + } + else if (player.isInCombat()) + { + player.sendPacket(new ExShowScreenMessage("You cannot teleport when you in combat status.", 5000)); + } + else if (player.isInDuel()) + { + player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000)); + } + else if (player.isInOlympiadMode()) + { + player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000)); + } + else if (player.isInVehicle()) + { + player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000)); + } + else + { + player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); + player.teleToLocation(TP_LOC); + } + return true; + } + + @Override + public String[] getBypassList() + { + return TP_COMMANDS; + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/noErtheia.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/noErtheia.html new file mode 100644 index 0000000000..9cf9d66a8d --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/noErtheia.html @@ -0,0 +1,3 @@ +Tracker Dokara:
+You are not Ertheia, this quest is not for you. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/no_level.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/no_level.html new file mode 100644 index 0000000000..d05342af7a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/no_level.html @@ -0,0 +1,4 @@ +Tracker Dokara:
+You don't meet level requirements
+(Quest available from level 76 or above) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/restriction.html b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/restriction.html new file mode 100644 index 0000000000..eaa3126da5 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10752_WindsOfFateAPromise/restriction.html @@ -0,0 +1,3 @@ +Master:
+(Quest only available to Ertheia characters Lv. 76 or above who have completed the quest "Winds of Fate: Encounters.") + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java index 3228193844..807f9d5660 100644 --- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -273,6 +273,7 @@ import quests.Q10744_StrongerThanSteel.Q10744_StrongerThanSteel; import quests.Q10745_TheSecretIngredients.Q10745_TheSecretIngredients; import quests.Q10746_SeeTheWorld.Q10746_SeeTheWorld; import quests.Q10751_WindsOfFateEncounters.Q10751_WindsOfFateEncounters; +import quests.Q10752_WindsOfFateAPromise.Q10752_WindsOfFateAPromise; import quests.Q10755_LettersFromTheQueen_WindyHill.Q10755_LettersFromTheQueen_WindyHill; import quests.Q10756_AnInterdimensionalDraft.Q10756_AnInterdimensionalDraft; import quests.Q10757_QuietingTheStorm.Q10757_QuietingTheStorm; @@ -559,6 +560,7 @@ final class QuestMasterHandler Q10745_TheSecretIngredients.class, Q10746_SeeTheWorld.class, Q10751_WindsOfFateEncounters.class, + Q10752_WindsOfFateAPromise.class, Q10755_LettersFromTheQueen_WindyHill.class, Q10756_AnInterdimensionalDraft.class, Q10757_QuietingTheStorm.class, diff --git a/trunk/dist/game/data/scripts/quests/QuestsToDo.xlsx b/trunk/dist/game/data/scripts/quests/QuestsToDo.xlsx index fa8722095d..da61d41c0c 100644 Binary files a/trunk/dist/game/data/scripts/quests/QuestsToDo.xlsx and b/trunk/dist/game/data/scripts/quests/QuestsToDo.xlsx differ diff --git a/trunk/dist/game/data/stats/items/39500-39599.xml b/trunk/dist/game/data/stats/items/39500-39599.xml index 2db85cb066..1f51b63ab3 100644 --- a/trunk/dist/game/data/stats/items/39500-39599.xml +++ b/trunk/dist/game/data/stats/items/39500-39599.xml @@ -510,11 +510,13 @@ + + - + @@ -952,14 +954,21 @@ + + - - + + + + + + + @@ -1008,14 +1017,21 @@ + + - - + + + + + + + @@ -1060,14 +1076,21 @@ + + - - + + + + + + + @@ -1086,27 +1109,39 @@ + - - + + + + + + + + - - + + + + + + + @@ -1224,14 +1259,21 @@ - + + + - - + + + - + + + + + diff --git a/trunk/dist/game/data/stats/npcs/31500-31599.xml b/trunk/dist/game/data/stats/npcs/31500-31599.xml index 31a179a910..482f7ee053 100644 --- a/trunk/dist/game/data/stats/npcs/31500-31599.xml +++ b/trunk/dist/game/data/stats/npcs/31500-31599.xml @@ -907,7 +907,7 @@ - + @@ -987,7 +987,6 @@ ETC - ETC @@ -1002,18 +1001,10 @@ - - - - - - - true - diff --git a/trunk/dist/game/data/stats/npcs/33900-33999.xml b/trunk/dist/game/data/stats/npcs/33900-33999.xml index 34cbf4eae2..4e7e1965d3 100644 --- a/trunk/dist/game/data/stats/npcs/33900-33999.xml +++ b/trunk/dist/game/data/stats/npcs/33900-33999.xml @@ -1342,26 +1342,49 @@ - - HUMAN - FEMALE + + + + + UNDEAD + MALE - + + + + + + + + + + + + + + + + + true + - + - - + + + + + HUMAN - FEMALE + MALE @@ -1593,21 +1616,42 @@ - - + + + + + HUMAN - FEMALE + MALE + - + + + + + + + + + + + + + + + + + true + - - + +