Przeglądaj źródła

BETA: Updating some quests to High Five
* Guardians of the Holy Grail (639)
* Patch by: corbin12

* Signs of Revolt (646)
* Unhardcoded Into the Dimensional Rift (635)
* Removed The Zero Hour (640)

malyelfik 12 lat temu
rodzic
commit
a578cfaf13
46 zmienionych plików z 167 dodań i 409 usunięć
  1. 3 4
      L2J_DataPack_BETA/dist/game/data/scripts.cfg
  2. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-00.htm
  3. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-01.htm
  4. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-02.htm
  5. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-03.htm
  6. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-04.htm
  7. 0 6
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-05.htm
  8. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-06.htm
  9. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-07.htm
  10. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-08.htm
  11. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-01.htm
  12. 0 6
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-02.htm
  13. 0 6
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-03.htm
  14. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-04.htm
  15. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-05.htm
  16. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-05b.htm
  17. 0 6
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-06.htm
  18. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-07.htm
  19. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08.htm
  20. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08a.htm
  21. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08b.htm
  22. 0 6
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08c.htm
  23. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08d.htm
  24. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32028-01.htm
  25. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32028-02.htm
  26. 0 126
      L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/__init__.py
  27. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-00.htm
  28. 0 4
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-01.htm
  29. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-02.htm
  30. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-03.htm
  31. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-04.htm
  32. 0 12
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-05.htm
  33. 0 5
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-06.htm
  34. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-07.htm
  35. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-08.htm
  36. 0 6
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-09.htm
  37. 0 3
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-10.htm
  38. 0 96
      L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/__init__.py
  39. 0 26
      L2J_DataPack_BETA/dist/game/data/scripts/quests/646_SignsOfRevolt/__init__.py
  40. 39 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00635_IntoTheDimensionalRift/Q00635_IntoTheDimensionalRift.java
  41. 3 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/31350-01.html
  42. 54 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/Q00639_GuardiansOfTheHolyGrail.java
  43. 0 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-01.html
  44. 5 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-02.html
  45. 60 0
      L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/Q00646_SignsOfRevolt.java
  46. 3 0
      L2J_DataPack_BETA/dist/sql/game/updates/20130317update.sql

+ 3 - 4
L2J_DataPack_BETA/dist/game/data/scripts.cfg

@@ -671,18 +671,17 @@ quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java
 quests/632_NecromancersRequest/__init__.py
 quests/633_InTheForgottenVillage/__init__.py
 quests/634_InSearchofDimensionalFragments/__init__.py
-#quests/635_InTheDimensionalRift/__init__.py - quest is handled in core
+quests/Q00635_IntoTheDimensionalRift/Q00635_IntoTheDimensionalRift.java
 quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java
 quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java
 quests/638_SeekersOfTheHolyGrail/__init__.py
-quests/639_GuardiansOfTheHolyGrail/__init__.py
-#quests/640_TheZeroHour/__init__.py
+quests/Q00639_GuardiansOfTheHolyGrail/Q00639_GuardiansOfTheHolyGrail.java
 quests/Q00641_AttackSailren/Q00641_AttackSailren.java
 quests/Q00642_APowerfulPrimevalCreature/Q00642_APowerfulPrimevalCreature.java
 quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java
 quests/644_GraveRobberAnnihilation/__init__.py
 quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java
-quests/646_SignsOfRevolt/__init__.py
+quests/Q00646_SignsOfRevolt/Q00646_SignsOfRevolt.java
 quests/647_InfluxOfMachines/__init__.py
 quests/648_AnIceMerchantsDream/__init__.py
 quests/649_ALooterAndARailroadMan/__init__.py

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-00.htm

@@ -1,5 +0,0 @@
-<html><body>Priest Dominic:<br>
-Have you heard tell of a place called the Monastery of Silence? Well, they are suspicious of strangers and quick to attack intruders. Why? Well, there's a reason...<br>
-But hold, I think it would be better to tell you this later on, when you have grown stronger and more skillful.<br>
-(Only characters level 73 and above are permitted to take on the quest.)
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-01.htm

@@ -1,4 +0,0 @@
-<html><body>Priest Dominic:<br>
-Do you know of a place called the <font color="LEVEL">Monastery of Silence</font>? It may call a monastery, but it is more like a social club; few are admitted, and they are inclined to attack anyone they suspect of intruding upon <font color="LEVEL">that which they protect</font>, that which Saint Solina left behind.<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 31350-02.htm">"What did Saint Solina leave behind?"</a>
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-02.htm

@@ -1,4 +0,0 @@
-<html><body>Priest Dominic:<br>
-Well, that's not really important for you to know, is it? I'm sorry, but that's a secret I'm sworn to keep. Suffice it to say that it is something my order needs enough to hire you to get it. Sadly, the monastery is just as intent on keeping it, and their resistance was stronger that we expected. We failed to get it, and so I am here asking you to succeed where we have failed. You will have to defeat them totally; nothing less will allow my order to retrieve what we need from them.<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 31350-03.htm">Tell him you will do it.</a>
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-03.htm

@@ -1,4 +0,0 @@
-<html><body>Priest Dominic:<br>
-Very good! Then go to the <font color="LEVEL">Monastery of Silence</font> and defeat its monks. I will give you a reward if you bring me the <font color="LEVEL">Scripture of Monk</font> as proof that you eliminated them.<br>
-Oh, yes... one more thing. We have a man on the inside, an agent named <font color="LEVEL">Gremory</font> who infiltrated the Monastery of Silence. He has done brave work, and if you can help him to escape, that would be best. He can be of great assistance to you.
-</body></html>

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-04.htm

@@ -1,5 +0,0 @@
-<html><body>Priest Dominic:<br>
-Fine work. Haha! Thank you for eliminating those pesky monks. So, would you like to collect your just rewards?<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 31350-06.htm">Don't collect the rewards now.</a><br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 31350-08.htm">Get the rewards in exchange for the Scripture of Monk you brought.</a>
-</body></html>

+ 0 - 6
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-05.htm

@@ -1,6 +0,0 @@
-<html><body>Priest Dominic:<br>
-Here's the quest: Go to the <font color="LEVEL">Monastery of Silence</font> and vanquish the monks. I will give you a reward if you bring me the <font color="LEVEL">Scripture of Monk</font> as proof that you have defeated them. I hope, of course, that they surrender to you, but if they do not, you may kill them in good conscience; we will pray for their souls.<br>
-Oh, here's something that may help you: we have a man on the inside. Our brave <font color="LEVEL">Gremory</font> has managed to infiltrate the monastery, a task many had thought impossible. Please help him to escape if possible; the poor man has done more that enough, and he may be of help to you.<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 31350-06.htm">Continue the job.</a><br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 31350-07.htm">Quit the job.</a>
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-06.htm

@@ -1,3 +0,0 @@
-<html><body>Priest Dominic:<br>
-Fine, then. Keep up the good work... until we retake from those pestilent monks what is ours by right!
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-07.htm

@@ -1,4 +0,0 @@
-<html><body>Priest Dominic:<br>
-Oh, very well, I can't make you do it. But do be careful, now; I wouldn't want to see you side with those pestilential monks. Who knows what might happen to you if you did? You might just... die, of remorse and shame. Heh.<br>
-If you change your mind, you know where to find me.
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/31350-08.htm

@@ -1,3 +0,0 @@
-<html><body>Priest Dominic:<br>
-Here, then, is your payment. You have done excellent work.
-</body></html>

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-01.htm

@@ -1,5 +0,0 @@
-<html><body>Priest Gremory:<br>
-Curses! I've been unmasked! How did you find me, damn you?! My disguise was perfect. Well, question me all you like; my lips area sealed.<br>
-What? Dominic sent you? Oh, thank the gods. For a moment I feared the worst!<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32008-02.htm">"Why are you here?"</a>
-</body></html>

+ 0 - 6
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-02.htm

@@ -1,6 +0,0 @@
-<html><body>Priest Gremory:<br>
-I infiltrated this order to find the <font color="LEVEL">Grail of Splendor</font> they keep hidden here in the Monastery of Silence. Now that's a mission for a man! I wouldn't blame you for envying me.<br>
-Wait - if you were sent by Dominic, then you report to me now! Hahaha! Yes, I've been expecting this. I have served here so long, so very long... the pressures, you wouldn't understand them. You couldn't. And now he finally recognizes my service and my abilities!<br>
-Very well, servant. Your first task will be to massage my shoulders. I'm weary from hiding in this narrow space for so long...<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32008-03.htm">"I'm not your underling. I'm here to help you fulfill your mission."</a>
-</body></html>

+ 0 - 6
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-03.htm

@@ -1,6 +0,0 @@
-<html><body>Priest Gremory:<br>
-What? Damn it all! I have needed an underling for so long...<br>
-Well, never mind that now. Let's talk business. In my searches within the monastery, I have found a <font color="LEVEL">broken bridge</font>. Across the bridge, there is a chamber called the <font color="LEVEL">Room of Splendor</font>.<br>
-I don't know what the name means, but... they say the <font color="LEVEL">Holy Grail</font> lies within. That's the place to go.<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32008-04.htm">"A broken bridge? How do I cross it?"</a>
-</body></html>

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-04.htm

@@ -1,5 +0,0 @@
-<html><body>Priest Gremory:<br>
-The broken bridge? It is simply an optical illusion. Just step out onto it and you'll find the bridge is intact and whole. I heave a fear of heights, so I cannot manage the crossing myself. It has been my one and only failure as an agent.<br>
-Get me that Grail, and I will <font color="LEVEL">trade you some unique items</font> which for a part of the <font color="LEVEL">Scripture of Monk</font> that you are collecting. Do we have a deal?<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32008-05.htm">"OK, what do I have to do?"</a>
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-05.htm

@@ -1,4 +0,0 @@
-<html><body>Priest Gremory:<br>
-Then we understand each other. Go to the <font color="LEVEL">Room of Splendor</font> and <font color="LEVEL">pour water into the Holy Grail. Then pour that water back into a jar and bring it to me</font>. Thus can we verify the genuineness of the Holy Grail. Be careful, though; the Grail may be guarded.<br>
-One more thing: the Room of Splendor is locked. You will need a <font color="LEVEL">key to enter there</font>. Some monks have such keys to perform their duties, so I suggest that you overcome one of them and take his key.
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-05b.htm

@@ -1,4 +0,0 @@
-<html><body>Priest Gremory:<br>
-What are you waiting for?<br>
-Go to the Room of Splendor and pour water into the Holy Grail. Then pour that water back into a jar and bring it to me.
-</body></html>

+ 0 - 6
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-06.htm

@@ -1,6 +0,0 @@
-<html><body>Priest Gremory:<br>
-Nice! You got away clean, did you? Well, let's test the water.<br>
-Alas! The water fails the test. <font color="LEVEL">They must keep the real Grail somewhere else!</font><br>
-Well, thank you, I suppose. It was worth knowing about the false lead. Now leave me; I must return to my task of finding the real Grail. Go quickly, before they discover us!<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32008-07.htm">"That wasn't the deal. You promised me a part of the Scripture of Monk in exchange for what we found."</a>
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-07.htm

@@ -1,4 +0,0 @@
-<html><body>Priest Gremory:<br>
-Ah, that's true, that's true. Such a forgetfulness is rare in a spy of my caliber, I assure you! Well, I am a man of my word, so here you go. I assume that takes care of our deal, yes?<br>
-What's more, I'll make another deal with you: If you bring me <font color="LEVEL">4000 or 400 Monk's Scriptures, I will exchange then for a S-grade Enchant Weapon Scroll or a S-grade Enchant Armor Scroll, respectively</font>. Come back after you slay those bothersome monks.
-</body></html>

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08.htm

@@ -1,5 +0,0 @@
-<html><body>Priest Gremory:<br>
-If you bring me <font color="LEVEL">4000 or 400 Monk's Scriptures, I will exchange then for a S-grade Enchant Weapon Scroll or a S-grade Enchant Armor Scroll, respectively</font>.<br>
-Choose your reward:<br1>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32008-08b.htm">"S-grade Enchant Armor Scroll"</a>
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08a.htm

@@ -1,3 +0,0 @@
-<html><body>Priest Gremory:<br>
-Here is your reward. Come back after you slay more of those bothersome monks.
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08b.htm

@@ -1,3 +0,0 @@
-<html><body>Priest Gremory:<br>
-Here is your reward. Come back after you slay more of those bothersome monks.
-</body></html>

+ 0 - 6
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08c.htm

@@ -1,6 +0,0 @@
-<html><body>Priest Gremory:<br>
-If you bring me <font color="LEVEL">4000 or 400 Monk's Scriptures, I will exchange then for a S-grade Enchant Weapon Scroll or a S-grade Enchant Armor Scroll, respectively</font>.<br>
-Choose your reward:<br1>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32008-08a.htm">"S-grade Enchant Weapon Scroll"</a><br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32008-08b.htm">"S-grade Enchant Armor Scroll"</a>
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32008-08d.htm

@@ -1,3 +0,0 @@
-<html><body>Priest Gremory:<br>
-If you bring me <font color="LEVEL">4000 or 400 Monk's Scriptures, I will exchange then for a S-grade Enchant Weapon Scroll or a S-grade Enchant Armor Scroll, respectively</font>. Come back after you slay those bothersome monks.
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32028-01.htm

@@ -1,4 +0,0 @@
-<html><body>The Grail of Splendor:<br>
-Gremory's instructions were to pour some water into the Grail, then pour that water into a bottle and bring it to him.<br>
-<a action="bypass -h Quest 639_GuardiansOfTheHolyGrail 32028-02.htm">"Pour the water."</a>
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/32028-02.htm

@@ -1,3 +0,0 @@
-<html><body>The Grail of Splendor:<br>
-I pour the water into the Grail. I see no change... Now, I'll pour the water into this bottle and return to Gremory
-</body></html>

+ 0 - 126
L2J_DataPack_BETA/dist/game/data/scripts/quests/639_GuardiansOfTheHolyGrail/__init__.py

@@ -1,126 +0,0 @@
-#Guardians of the Holy Grail made by Bloodshed
-import sys
-from com.l2jserver import Config
-from com.l2jserver.gameserver.model.quest        import State
-from com.l2jserver.gameserver.model.quest        import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-
-qn = "639_GuardiansOfTheHolyGrail"
-
-# NPCS
-DOMINIC = 31350
-GREMORY = 32008
-GRAIL = 32028
-
-# Monsters
-MONSTERS = range(22122,22136)
-
-# Items
-WATER_BOTTLE = 8070
-HOLY_WATER_BOTTLE = 8071
-SCRIPTURES = 8069
-
-# Drop Chance
-DROP_CHANCE = 30
-
-class Quest (JQuest) :
-
-  def __init__(self,id,name,descr):
-    JQuest.__init__(self,id,name,descr)
-    self.questItemIds = [WATER_BOTTLE,HOLY_WATER_BOTTLE,SCRIPTURES]
-
-  def onAdvEvent (self,event,npc, player) :
-    htmltext = event
-    st = player.getQuestState(qn)
-    if not st : return
-    if event == "31350-03.htm" :
-      st.set("cond","1")
-      st.setState(State.STARTED)
-      st.playSound("ItemSound.quest_accept")
-    elif event == "31350-07.htm" :
-      st.playSound("ItemSound.quest_finish")
-      st.exitQuest(1)
-    elif event == "31350-08.htm" :
-      QI = st.getQuestItemsCount(SCRIPTURES)
-      st.takeItems(SCRIPTURES,-1)
-      st.rewardItems(57,1625*QI)
-    elif event == "32008-05.htm" :
-      st.set("cond","2")
-      st.playSound("ItemSound.quest_middle")
-      st.giveItems(WATER_BOTTLE,1)
-    elif event == "32028-02.htm" :
-      st.set("cond","3")
-      st.playSound("ItemSound.quest_middle")
-      st.takeItems(WATER_BOTTLE,-1)
-      st.giveItems(HOLY_WATER_BOTTLE,1)
-    elif event == "32008-07.htm" :
-      st.set("cond","4")
-      st.playSound("ItemSound.quest_middle")
-      st.takeItems(HOLY_WATER_BOTTLE,-1)
-    elif event == "32008-08a.htm" :
-      st.takeItems(SCRIPTURES,4000)
-      st.rewardItems(959,1)
-    elif event == "32008-08b.htm" :
-      st.takeItems(SCRIPTURES,400)
-      st.rewardItems(960,1)
-    return htmltext
-
-  def onTalk (self, npc, player) :
-    htmltext = Quest.getNoQuestMsg(player)
-    st = player.getQuestState(qn)
-    if not st : return htmltext
-
-    npcId = npc.getNpcId()
-    cond = st.getInt("cond")
-    id = st.getState()
-    if npcId == DOMINIC :
-      if player.getLevel() >= 73 :
-        if id == State.CREATED :
-          htmltext = "31350-01.htm"
-        elif id == State.STARTED and st.getQuestItemsCount(SCRIPTURES) >= 1 :
-          htmltext = "31350-04.htm"
-        else :
-          htmltext = "31350-05.htm"
-      else :
-        htmltext = "31350-00.htm"
-        st.exitQuest(1)
-    elif npcId == GREMORY :
-      if cond == 1 :
-        htmltext = "32008-01.htm"
-      elif cond == 2 :
-        htmltext = "32008-05b.htm"
-      elif cond == 3 :
-        htmltext = "32008-06.htm"
-      elif cond == 4 and st.getQuestItemsCount(SCRIPTURES) < 400 :
-        htmltext = "32008-08d.htm"
-      elif cond == 4 and st.getQuestItemsCount(SCRIPTURES) >= 4000 :
-        htmltext = "32008-08c.htm"
-      elif cond == 4 and st.getQuestItemsCount(SCRIPTURES) >= 400 and st.getQuestItemsCount(SCRIPTURES) < 4000 :
-        htmltext = "32008-08.htm"
-    elif npcId == GRAIL :
-      if cond == 2 :
-        htmltext = "32028-01.htm"
-    return htmltext
-
-  def onKill(self, npc, player, isPet) :
-    partyMember = self.getRandomPartyMemberState(player, State.STARTED)
-    if not partyMember: return
-    st = partyMember.getQuestState(qn)
-    if not st : return
-    numItems, chance = divmod(DROP_CHANCE * Config.RATE_QUEST_DROP,100)
-    if self.getRandom(100) < chance :
-        numItems += 1
-    if numItems :
-        st.giveItems(SCRIPTURES,int(numItems))
-        st.playSound("ItemSound.quest_itemget")
-    return
-
-QUEST       = Quest(639,qn,"Guardians of the Holy Grail")
-
-QUEST.addStartNpc(DOMINIC)
-QUEST.addTalkId(DOMINIC)
-QUEST.addTalkId(GREMORY)
-QUEST.addTalkId(GRAIL)
-
-for i in MONSTERS :
-    QUEST.addKillId(i)

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-00.htm

@@ -1,3 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-Hate to say it, but you don't have the skills to work with me. Run along before you get hurt! (Only characters of level 66 and above may undertake this quest.)
-</body></html>

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-01.htm

@@ -1,4 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-Welcome back! We'd never have found that Stakato's Nest without your help! Finally, we can quash the unrest! Will you join our assault on the Stakatos?<br>
-<a action="bypass -h Quest 640_TheZeroHour 31554-02.htm">"Let's do it."</a>
-</body></html>

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-02.htm

@@ -1,5 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-Perfect! I trust your skills, so I know you'll have our backs.<br>
-Go to the <font color="LEVEL">Stakato's Nest</font> and kill them!<br>
-It won't be an easy battle, so bring plenty of supplies with you. Don't forget to collect <font color="LEVEL">Stakato Fangs</font>. Now get going!
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-03.htm

@@ -1,3 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-What are you doing? There are no cowards in the Golden Ram Mercenaries! Suck it up, soldier, and show us what you're made of! Slaughter the <font color="LEVEL">Spiked Stakato, Spiked Stakato Worker, Spiked Stakato Guard, Male Spiked Stakato, Female Spiked Stakato, Spiked Stakato Sorcerer, Cannibalistic Stakato Leader, Spiked Stakato Soldier, Spiked Stakato Drone, Spiked Stakato Captain, Spiked Stakato Nurse and the Spiked Stakato Shaman.</font>
-</body></html>

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-04.htm

@@ -1,5 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-You showed real bravery in the face of those filthy Stakatos. Victory is ours!<br>
-Give me your Stakato Fangs and then choose your reeward!<br>
-<a action="bypass -h Quest 640_TheZeroHour 31554-05.htm">"Here they are!"</a>
-</body></html>

+ 0 - 12
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-05.htm

@@ -1,12 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-Which reward would you like?<br>
-<a action="bypass -h Quest 640_TheZeroHour 1">1 Enria (12 Stakato Fangs)</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 2">1 Asofe (6 Stakato Fangs)</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 3">1 Thons (6 Stakato Fangs)</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 4">10 Varnishes of Purity (81 Stakato Fangs)</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 5">5 Syntetic Cokes (33 Stakato Fangs)</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 6">10 Compoud Braids (30 Stakato Fangs)</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 7">10 Durable Metal Plates (150 Stakato Fangs)</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 8">10 Mithril Alloy (131 Stakato Fangs)</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 9">5 Oriharukon (123 Stakato Fangs)</a>
-</body></html>

+ 0 - 5
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-06.htm

@@ -1,5 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-Where are the Fangs you said you had? You won't get money for nothing in this business, soldier! Don't even think about insulting the honor of the Golden Ram Mercenaries!<br>
-<a action="bypass -h Quest 640_TheZeroHour 31554-07.htm">"I won't! I'll go and fight again."</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 31554-08.htm">"I'm done with this."</a>
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-07.htm

@@ -1,3 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-Had enough? No? Then get back out here and fight!
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-08.htm

@@ -1,3 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-Suit yourself. Goodbye.
-</body></html>

+ 0 - 6
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-09.htm

@@ -1,6 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-I gave you your reward. What else do you want?<br>
-<a action="bypass -h Quest 640_TheZeroHour 31554-07.htm">"I'll bring more Fangs."</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 31554-05.htm">"I'll looks somewhere else."</a><br>
-<a action="bypass -h Quest 640_TheZeroHour 31554-08.htm">"I'm done with this."</a>
-</body></html>

+ 0 - 3
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/31554-10.htm

@@ -1,3 +0,0 @@
-<html><body>Mercenary Kahman:<br>
-We haven't finished our investigation, so there's nothing for you right now. Come back later!. (Only characters who have completed "In Search of the Nest" can undertake this quest.)
-</body></html>

+ 0 - 96
L2J_DataPack_BETA/dist/game/data/scripts/quests/640_TheZeroHour/__init__.py

@@ -1,96 +0,0 @@
-# Made by Kerberos v1.0 on 2009/05/08
-# this script is part of the Official L2J Datapack Project.
-# Visit http://www.l2jdp.com/forum for more details.
-import sys
-from com.l2jserver import Config
-from com.l2jserver.gameserver.model.quest        import State
-from com.l2jserver.gameserver.model.quest        import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-
-qn = "640_TheZeroHour"
-
-#NPC
-Kahman = 31554
-
-#MONSTERS
-MONSTERS = range(22105,22112)+range(22113,22120)+[22121]
-
-#ITEMS
-Fang = 8085
-
-REWARDS={
-    "1":[12 ,4042, 1],
-    "2":[6  ,4043, 1],
-    "3":[6  ,4044, 1],
-    "4":[81 ,1887,10],
-    "5":[33 ,1888, 5],
-    "6":[30 ,1889,10],
-    "7":[150,5550,10],
-    "8":[131,1890,10],
-    "9":[123,1893, 5],
-    }
-
-class Quest (JQuest) :
-
-    def __init__(self,id,name,descr):
-        JQuest.__init__(self,id,name,descr)
-        self.questItemIds = [Fang]
-
-    def onAdvEvent (self,event,npc, player) :
-        htmltext = event
-        st = player.getQuestState(qn)
-        if not st : return
-        if event == "31554-02.htm" :
-            st.set("cond","1")
-            st.setState(State.STARTED)
-            st.playSound("ItemSound.quest_accept")
-        elif event == "31554-08.htm" :
-            st.playSound("ItemSound.quest_finish")
-            st.exitQuest(True)
-        elif event in REWARDS.keys() :
-            cost,item,amount = REWARDS[event]
-            if st.getQuestItemsCount(Fang)>=cost :
-                st.takeItems(Fang,cost)
-                st.rewardItems(item, amount)
-                htmltext = "31554-09.htm"
-            else :
-                htmltext = "31554-06.htm"
-        return htmltext
-
-    def onTalk (self, npc, player) :
-        htmltext = Quest.getNoQuestMsg(player)
-        st = player.getQuestState(qn)
-        if not st : return htmltext
-
-        id = st.getState()
-        if id == State.CREATED :
-            if player.getLevel() >= 66 :
-                st2 = st.getPlayer().getQuestState("109_InSearchOfTheNest")
-                if st2 and st2.getState() == State.COMPLETED :
-                    htmltext = "31554-01.htm"
-                else :
-                    htmltext = "31554-10.htm"
-            else :
-                htmltext = "31554-00.htm" 
-        elif st.getQuestItemsCount(Fang) >= 1 :
-            htmltext = "31554-04.htm"
-        else :
-            htmltext = "31554-03.htm"
-        return htmltext
-
-    def onKill(self, npc, player, isPet) :
-        partyMember = self.getRandomPartyMemberState(player, State.STARTED)
-        if not partyMember: return
-        st = partyMember.getQuestState(qn)
-        if not st : return
-        st.giveItems(Fang,int(Config.RATE_QUEST_DROP))
-        st.playSound("ItemSound.quest_itemget")
-        return
-
-QUEST       = Quest(640,qn,"The Zero Hour")
-
-QUEST.addStartNpc(Kahman)
-QUEST.addTalkId(Kahman)
-
-for i in MONSTERS :
-    QUEST.addKillId(i)

+ 0 - 26
L2J_DataPack_BETA/dist/game/data/scripts/quests/646_SignsOfRevolt/__init__.py

@@ -1,26 +0,0 @@
-# Made by Edge
-import sys
-from com.l2jserver import Config
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-
-qn = "646_SignsOfRevolt"
-
-class Quest (JQuest) :
- def __init__(self,id,name,descr):
-    JQuest.__init__(self,id,name,descr)
-    self.questItemIds = [8087]
-
- def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
-   if st :
-      # Quest is no longer available
-      st.unset("cond")
-      st.exitQuest(1);
-   return "32016-00.htm"
-
-QUEST       = Quest(646, qn, "Signs of Revolt")
-
-QUEST.addStartNpc(32016)
-QUEST.addTalkId(32016)

+ 39 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00635_IntoTheDimensionalRift/Q00635_IntoTheDimensionalRift.java

@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2004-2013 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack 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.
+ * 
+ * L2J DataPack 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 <http://www.gnu.org/licenses/>.
+ */
+package quests.Q00635_IntoTheDimensionalRift;
+
+import com.l2jserver.gameserver.model.quest.Quest;
+
+/**
+ * Into the Dimensional Rift (635)<br>
+ * NOTE: Dummy Quest shown in players' questlist when inside the rift
+ * @author malyelfik
+ */
+public class Q00635_IntoTheDimensionalRift extends Quest
+{
+	private Q00635_IntoTheDimensionalRift(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q00635_IntoTheDimensionalRift(635, Q00635_IntoTheDimensionalRift.class.getSimpleName(), "Into the Dimensional Rift");
+	}
+}

+ 3 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/31350-01.html

@@ -0,0 +1,3 @@
+<html><body>Priest Dominic:<br>
+Ahhh... that mission has been.. satisfied. It's time for a new mission.
+</body></html>

+ 54 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/Q00639_GuardiansOfTheHolyGrail.java

@@ -0,0 +1,54 @@
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+package quests.Q00639_GuardiansOfTheHolyGrail;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+
+/**
+ * Guardians of the Holy Grail (639)<br>
+ * NOTE: This quest is no longer available since Freya(CT2.5)
+ * @author corbin12
+ */
+public final class Q00639_GuardiansOfTheHolyGrail extends Quest
+{
+	// NPC
+	private static final int DOMINIC = 31350;
+	
+	private Q00639_GuardiansOfTheHolyGrail(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(DOMINIC);
+		addTalkId(DOMINIC);
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if (st != null)
+		{
+			st.exitQuest(true);
+		}
+		return "31350-01.html";
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q00639_GuardiansOfTheHolyGrail(639, Q00639_GuardiansOfTheHolyGrail.class.getSimpleName(), "Guardians of the Holy Grail");
+	}
+}

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/646_SignsOfRevolt/32016-00.htm → L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-01.html


+ 5 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-02.html

@@ -0,0 +1,5 @@
+<html><body>Beacon Tower Manager Torrant:<br>
+Are you the reinforcements we asked for? Well, you came too late.<br>
+The Ragna Orcs around here have grown tremendously in strength thanks to the power of Kasha, the spirit that Baranka summoned. There is nothing you can do now...<br>
+(It is no longer possible to pursue this quest because the hunting field levels have been changed.)
+</body></html>

+ 60 - 0
L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/Q00646_SignsOfRevolt.java

@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2004-2013 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack 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.
+ * 
+ * L2J DataPack 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 <http://www.gnu.org/licenses/>.
+ */
+package quests.Q00646_SignsOfRevolt;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+
+/**
+ * Signs of Revolt (646)<br>
+ * NOTE: This quest is no longer available since Gracia Epilogue
+ * @author malyelfik
+ */
+public class Q00646_SignsOfRevolt extends Quest
+{
+	// NPC
+	private static final int TORRANT = 32016;
+	// Misc
+	private static final int MIN_LEVEL = 80;
+	
+	private Q00646_SignsOfRevolt(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(TORRANT);
+		addTalkId(TORRANT);
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if (st != null)
+		{
+			st.exitQuest(true);
+		}
+		return (player.getLevel() >= MIN_LEVEL) ? "32016-01.html" : "32016-02.html";
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q00646_SignsOfRevolt(646, Q00646_SignsOfRevolt.class.getSimpleName(), "Signs of Revolt");
+	}
+}

+ 3 - 0
L2J_DataPack_BETA/dist/sql/game/updates/20130317update.sql

@@ -0,0 +1,3 @@
+UPDATE character_quests SET name='Q00635_IntoTheDimensionalRift' WHERE name='RiftQuest';
+UPDATE character_quests SET name='Q00639_GuardiansOfTheHolyGrail' WHERE name='639_GuardiansOfTheHolyGrail';
+UPDATE character_quests SET name='Q00646_SignsOfRevolt' WHERE name='646_SignsOfRevolt';