浏览代码

Quest Test of the Reformer (227) in Java.

ivantotov 10 年之前
父节点
当前提交
6ae26a3d2c
共有 68 个文件被更改,包括 850 次插入398 次删除
  1. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-01.htm
  2. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-02.htm
  3. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-03.htm
  4. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-04.htm
  5. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-05.htm
  6. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-06.htm
  7. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-01.htm
  8. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-02.htm
  9. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-03.htm
  10. 0 11
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-04.htm
  11. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-05.htm
  12. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-06.htm
  13. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-07.htm
  14. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30667-01.htm
  15. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30667-02.htm
  16. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30667-03.htm
  17. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30668-01.htm
  18. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30668-02.htm
  19. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30668-03.htm
  20. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-01.htm
  21. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-02.htm
  22. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-03.htm
  23. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-04.htm
  24. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-05.htm
  25. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30670-01.htm
  26. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30670-02.htm
  27. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30670-03.htm
  28. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30670-04.htm
  29. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30732-01.htm
  30. 0 263
      L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py
  31. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-01.html
  32. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-02.html
  33. 6 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-03.htm
  34. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-04.htm
  35. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-04a.html
  36. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-04b.htm
  37. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-05.html
  38. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-06.html
  39. 2 2
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-07.html
  40. 6 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-01.html
  41. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-02.html
  42. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-03.html
  43. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-04.html
  44. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-05.html
  45. 8 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-06.html
  46. 8 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-06a.html
  47. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-06b.html
  48. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-07.html
  49. 6 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30667-01.html
  50. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30667-02.html
  51. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30667-03.html
  52. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30668-01.html
  53. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30668-02.html
  54. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30668-03.html
  55. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30668-04.html
  56. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-01.html
  57. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-02.html
  58. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-03.html
  59. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-04.html
  60. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-05.html
  61. 7 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30670-01.html
  62. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30670-02.html
  63. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30670-03.html
  64. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30670-04.html
  65. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30732-01.html
  66. 696 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/Q00227_TestOfTheReformer.java
  67. 2 0
      L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java
  68. 1 0
      L2J_DataPack/dist/sql/game/updates/20150207update.sql

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-01.htm

@@ -1,5 +0,0 @@
-<html><body>Priestess Rupino:<br>
-What brought you here? You are a man of faith, like me... Do you have any problems? Are you worrying about the higher level in faith, by any chance?<br>
-...Sorry to say, but I think it's a bit early for you to have such worries... While you sincerely follow the path of faith, there will come a point when you shall face a barrier. That is when you should seek me.<br>
-(Quest available only for Clerics or Shilien Oracles of level 39 and higher.)
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-02.htm

@@ -1,4 +0,0 @@
-<html><body>Priestess Rupino:<br>
-I am a Priest who serves the God of light. But my main work is to give advice to brothers and sisters who are having a hard time with their faith. Would you like to convert to Einhasad? Then go and see the other Priests over there.<br>
-(Quest available only for Clerics or Shilien Oracles of level 39 and higher.)
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-03.htm

@@ -1,6 +0,0 @@
-<html><body>Priestess Rupino:<br>
-In the church, we teach nonresistance, peace and sacrifice. But sometimes I can't help questioning myself, if following their lessons are only short term good deeds. The world out there is full of evil and yet we are sitting here in the shrine doing nothing but praying, training, giving remedies and almsgiving...<br>
- Sometimes I think that.... I wish I could make a better world, where good people can live in peace... With the help of the power of light which Einhasad granted us...<br>
-Oh my... I talked too much. Forget what I said until now. The High Priest once scolded me for having too radical thoughts. You must be careful since others may take you as a heretic.<br>
-<a action="bypass -h Quest 227_TestOfReformer 1">" I used to have the same worries as you."</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-04.htm

@@ -1,4 +0,0 @@
-<html><body>Priestess Rupino:<br>
-It is an honor to meet a person who has the same thoughts as me... I suppose those who are enlightened will worry such worries. You are prohibited to speak out such stories, though... Those are taboo and are not allowed in here...<br>
-I will give you this book. Read it when you have the time. But first, go to the execution place of Dion. Perhaps it might help you to find the answers to some of your questions... Knock off the<font color="LEVEL"> anonymous spirits</font> wandering around the execution place. The only thing that you should keep in mind is that you must hit the last strike, with the magic of disrupt undead.
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-05.htm

@@ -1,6 +0,0 @@
-<html><body>Priestess Rupino:<br>
-The nail that was hammered into Aruraune's head was to brainwash the untamable Mandragora. I can see no difference between the person who hammered a nail into that poor creature's head and the Priests who are brainwashing ignorant people with their tenets... Or perhaps we too, are already brainwashed...?<br>
-Now... I want you to meet someone. She was a former Priestess of this shrine but was dismissed after being accused of paganism. I was afraid, and couldn't dare to give up my present status and social relations so I denied thinking deeply about her message. If you have the courage to carry through your beliefs, you should go and talk to her.<br>
-<br>
-<a action="bypass -h Quest 227_TestOfReformer 30118_1">"I shall carry through my true beliefs."</a>
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-06.htm

@@ -1,3 +0,0 @@
-<html><body>Priestess Rupino:<br>
-Is that so? If you made up your mind, take this introduction letter with you. She is still propagating her beliefs in the Wastelands after being dismissed from the shrine. The so-called 'wild plain shouter', Preacher Sla... It is she.
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-01.htm

@@ -1,6 +0,0 @@
-<html><body>Preacher Sla:<br>
-An introduction letter from Rupino? ...Ha, ha...yes, of course, that's her... upright as always. As long as she is worrying like that, she'll never do something like nailing iron into anyone's head, including herself.<br>
-And There is one more thing I'd like to ask about you... Do you believe in that the Gods' will exists in this world through our behaviors?<br>
-<a action="bypass -h Quest 227_TestOfReformer 30666_1">"Of course I do."</a><br>
-<a action="bypass -h Quest 227_TestOfReformer 30666_2">"I do not believe so."</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-02.htm

@@ -1,4 +0,0 @@
-<html><body>Preacher Sla:<br>
-Then what is our role as a devotee? Will you be able to reply to my question? Go back Go back and be a good Priest who obeys to what other Priests say. Well at least you won't be like any other rotten Priests, now that you have had those worries before...<br>
-<font color="LEVEL">If you change your mind, come back and talk to me again.</font>
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-03.htm

@@ -1,5 +0,0 @@
-<html><body>Preacher Sla:<br>
-...Do you think that the sons of Grand Kain should also be our object of love and mercy, in addition to the sons of Einhasad?<br>
-<a action="bypass -h Quest 227_TestOfReformer 30666_3">Say yes</a><br>
-<a action="bypass -h Quest 227_TestOfReformer 30666_4">"Say no!"</a>
-</body></html>

+ 0 - 11
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-04.htm

@@ -1,11 +0,0 @@
-<html><body>Preacher Sla:<br>
-
-
-
-Easier said than done, eh?... Do you realize how 'heretical' your words were? If the high people from the shrine heard you, I bet you'd be tied to the stake by now...<br>
-I believe that it is Einhasad's will that you are here. As a matter of fact, there is something that you can help me with.<br>
-Actually, my disciples are performing missionary work for the warriors of Grecia. They are having a hard time with those bad tempered Ol Mahums. I want you to go and help them. The person in charge of the missionary is called 'Katari'. You'll be able to meet her near the waterfalls of the Neutral Zone.
-
-
-
-</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-05.htm

@@ -1,7 +0,0 @@
-<html><body>Preacher Sla:<br>
-
-
-Please go and lend your aid to my apprentice, Katari. Katari is a Dark Elf who believes in the justice of Shilen, but in terms of religious faith, she is no different from us. She is waiting for you near the waterfalls of the Neutral Zone.
-
-
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-06.htm

@@ -1,6 +0,0 @@
-<html><body>Preacher Sla:<br>
-I made a wise decision in sending you. It might have been too difficult for Katari to manage all alone...<br>
-By the way, what is that? Is that Ol Mahum money? It's useless.<br>
-You'd better throw that away... As you know, I have one more thing that requires your help. There are some Ol Mahums who recently converted to my teachings, after being touched by my lecture on the tenet of light a few days ago. But the opposition from the church was so strong that I had to ask my pupils to shelter them in a safe place. We split them into 3 groups, and sent them to Talking Island, Orc Town of the northern region, and the Dwarven Village... But I haven't heard any news from them. I am very worried....with the recent Ol Mahum campsite incident and all... Would you go and check how they are doing for me?<br>
-I'll write you 3 letters to give to my disciples.. First, go and meet Kakan. She said that she would settle down in a place southeast of Orc Town...
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30666-07.htm

@@ -1,3 +0,0 @@
-<html><body>Preacher Sla:<br>
-Well done! Thanks to your efforts we are now getting to have a stable life... I could read from my pupils' letters that they too, accepted you as our companion. Not to mention me, who thought of you as my friend from the beginning... Here, take this Mark of the Reformer.
-</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30667-01.htm

@@ -1,7 +0,0 @@
-<html><body>Ramus:<br>
-Oh my God! You have come this far for this...? Thank you.<br>
-How is my master? Things here are going so well..., too well that it makes me worried sometimes. The people here are much more open minded compared to other places.<br>
-We are planning a big assembly in the Elven relics of Talking Island, and we decided to hold a memorial service beforehand to calm down the magic creatures.<br>
-Ah, I see! Would it be possible for you to gather the bone pieces? Gather a piece of bone from every undead in the relic. Please take a look at this diagram...<br>
-This task is... gathering the bones for the memorial service so it has to be done by the Priests firsthand. Could you do that, please?
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30667-02.htm

@@ -1,3 +0,0 @@
-<html><body>Ramus:<br>
-There is an ancient Elven relic to the north of Talking Island and it is the only place suitable for such a big assembly. Collect the bone pieces and remains of the undead from there. Be careful not to lose your diagram...
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30667-03.htm

@@ -1,3 +0,0 @@
-<html><body>Ramus:<br>
-Thank you. Thanks to you, I think we will be able to hold a successful meeting today. I would be grateful if you could deliver this letter to my master for me.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30668-01.htm

@@ -1,3 +0,0 @@
-<html><body>Katari:<br>
-The master sent you...? You couldn't have come at a better time, my friend. Look here... This place was originally where the converted Ol Mahums secretly converged to hold their meetings, but ill fortune has caused for them to be discovered by mercenary scouts this evening. It would be nice if an unknown stranger did something... Chase them off!
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30668-02.htm

@@ -1,5 +0,0 @@
-<html><body>Katari:<br>
-Scouts! Thank you, finally we can have some peace and quiet... What! Is that not so? I learned this while you were fighting, and much to my experience, there was a betrayer among the Ol Mahums...<br>
-...who is it!! Drat, is it him? Halt!<br>
-I am worried about the other Ol Mahums. I must go to see if my brothers are safe. Please capture that traitor! You must capture him! Understand?
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30668-03.htm

@@ -1,4 +0,0 @@
-<html><body>Katari:<br>
-...Darn it! I would have never guessed, a betrayer...! Wait, there is no guarantee that the betrayer has come only to this place! I am worried about the other meeting places... I don't know what kind of person he is, but I can guess the way he is thinking...<br>
-Anyway, please take this letter to my master. He will give some sort of orders. Goodbye...
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-01.htm

@@ -1,4 +0,0 @@
-<html><body>Kakan:<br>
-After my master sent us here, we had barely managed to escape the prying eyes of the Orcs and to build a home for ourselves. But a few days later, werewolves came here and attacked us, trying to drive us out. I don't think this is related in any way to the church of Einhasad, but... Anyway, after a few skirmishes, we reached an agreement to send representatives and settle this through combat. However...<br>
-<a action="bypass -h Quest 227_TestOfReformer 30669_1">Ask what the problem is</a>
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-02.htm

@@ -1,5 +0,0 @@
-<html><body>Kakan:<br>
-Our representative is not feeling very well. Ah! How about this? You look like you are a magic user... What if you support us from the back with your magic...? Werewolves do not know any magic at all. Ah, it will soon begin.<br>
-<a action="bypass -h Quest 227_TestOfReformer 30669_2">Say you will help</a><br>
-<a action="bypass -h Quest 227_TestOfReformer 30669_3">Say you will not help</a>
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-03.htm

@@ -1,3 +0,0 @@
-<html><body>Kakan:<br>
-Do you understand? You cannot step forward and launch a direct physical attack. Though they may not be so bright, they will soon notice, and then their entire tribe will attack us. No one will be able to survive...
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-04.htm

@@ -1,5 +0,0 @@
-<html><body>Kakan:<br>
-Are you troubled that we are being deceitful? But we have already lost many friends because we have fallen for their lies. They do not know the meaning of a promise... And do you not think this is the best way to minimize sacrifices?<br>
-Here is a letter addressed to my master. Please deliver the letter any chance you get.<br>
-You say you must meet with all of Sla's disciples? Then try going to the village of the Dwarves, which is nearby. One of my fellow disciples, Nyakuri, has settled down in a place outside the Dwarven village, to the west.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30669-05.htm

@@ -1,3 +0,0 @@
-<html><body>Kakan:<br>
-Please reconsider. Even if they win, we will all die here in this place. Plus, our representative has been weakened because of those very werewolves. There was no evidence, but... They are savage, but clever.
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30670-01.htm

@@ -1,5 +0,0 @@
-<html><body>Nyakuri:<br>
-Oh... Did you say that Mother Sla sent you? Nothing's wrong except that I have been to busy these days working... Her worries were unnecessary. Never mind! Welcome! Hey! I bet on a fight with the lizardmen over there. Will you fight instead? I warn you that the competitor is really strong, though. The original challenger says he has a stomachache and he cannot fight... What do you say to it?<br>
-<a action="bypass -h Quest 227_TestOfReformer 30670_1">Promise that you will win.</a><br>
-<a action="bypass -h Quest 227_TestOfReformer 30670_2">Say that you have to go to the toilet because your stomach hurts.</a>
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30670-02.htm

@@ -1,3 +0,0 @@
-<html><body>Nyakuri:<br>
-Why does everyone have to have a stomachache just before fighting a strong person? At least I hope they could come up with a better excuse...
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30670-03.htm

@@ -1,3 +0,0 @@
-<html><body>Nyakuri:<br>
-Wow! Wonderful! Please win! Please! You must win! Or else I won't leave you in peace!
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30670-04.htm

@@ -1,4 +0,0 @@
-<html><body>Nyakuri:<br>
-Wonderful! You really won...! The person that you just defeated, is said to be one of the strongest man in their tribe. I guess now they won't bother us for a long time. Here, this is the letter that I sent to Sella's mother. Say hello to her for me--<br>
-By the way, You must go to Talking Island next! There was a man called Ramus among the pupils of Mother Sla, and I once saw him send a letter mentioning the waterfall on Talking Island...
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30732-01.htm

@@ -1,3 +0,0 @@
-<html><body>Piligrim of Ol Mahum:<br>
-Thank you for your help. I will never forget your kindness. Take this... It is a small token of my regard.
-</body></html>

+ 0 - 263
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py

@@ -1,263 +0,0 @@
-# Made by Mr. Have fun! Version 0.2
-# Shadow Weapon Coupons contributed by BiTi for the Official L2J Datapack Project
-# Visit http://www.l2jdp.com/forum/ for more details
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest import Quest as JQuest
-
-qn = "227_TestOfReformer"
-
-MARK_OF_REFORMER = 2821
-BOOK_OF_REFORM = 2822
-LETTER_OF_INTRODUCTION = 2823
-SLAS_LETTER = 2824
-GREETINGS = 2825
-OLMAHUMS_MONEY = 2826
-KATARIS_LETTER = 2827
-NYAKURIS_LETTER = 2828
-UNDEAD_LIST = 2829
-RAMUSS_LETTER = 2830
-RIPPED_DIARY = 2831
-HUGE_NAIL = 2832
-LETTER_OF_BETRAYER = 2833
-BONE_FRAGMENT4 = 2834
-BONE_FRAGMENT5 = 2835
-BONE_FRAGMENT6 = 2836
-BONE_FRAGMENT7 = 2837
-BONE_FRAGMENT8 = 2838
-BONE_FRAGMENT9 = 2839
-KAKANS_LETTER = 3037
-ADENA = 57
-SHADOW_WEAPON_COUPON_CGRADE = 8870
-
-class Quest (JQuest) :
-
- def __init__(self,id,name,descr):
-     JQuest.__init__(self,id,name,descr)
-     self.questItemIds = range(2822,2840)+[3037]
-
- def onAdvEvent (self,event,npc, player) :
-    htmltext = event
-    st = self.getQuestState(player, False)
-    if not st : return
-    if event == "1" :
-        htmltext = "30118-04.htm"
-        st.set("cond","1")
-        st.setState(State.STARTED)
-        st.playSound("ItemSound.quest_accept")
-        st.giveItems(BOOK_OF_REFORM,1)
-    elif event == "30118_1" :
-          htmltext = "30118-06.htm"
-          st.giveItems(LETTER_OF_INTRODUCTION,1)
-          st.takeItems(BOOK_OF_REFORM,1)
-          st.set("cond","4")
-          st.takeItems(HUGE_NAIL,1)
-    elif event == "30666_1" :
-          htmltext = "30666-03.htm"
-    elif event == "30666_2" :
-          htmltext = "30666-02.htm"
-    elif event == "30666_3" :
-          htmltext = "30666-04.htm"
-          st.giveItems(SLAS_LETTER,1)
-          st.takeItems(LETTER_OF_INTRODUCTION,1)
-          st.set("cond","5")
-    elif event == "30666_4" :
-          htmltext = "30666-02.htm"
-    elif event == "30669_1" :
-          htmltext = "30669-02.htm"
-    elif event == "30669_2" :
-          htmltext = "30669-03.htm"
-          st.addSpawn(27131,-9382,-89852,-2333)
-          st.set("cond","12")
-    elif event == "30669_3" :
-          htmltext = "30669-05.htm"
-    elif event == "30670_1" :
-          htmltext = "30670-03.htm"
-          st.addSpawn(27132,126019,-179983,-1781)
-          st.set("cond","15")
-    elif event == "30670_2" :
-          htmltext = "30670-02.htm"
-    return htmltext
-
-
- def onTalk (self,npc,player):
-   htmltext = Quest.getNoQuestMsg(player)
-   st = self.getQuestState(player, True)
-   if not st : return htmltext
-
-   npcId = npc.getId()
-   id = st.getState()
-   if npcId != 30118 and id != State.STARTED : return htmltext
-
-   if npcId == 30118 and st.getInt("cond")==0 and st.getInt("onlyone")==0 :
-      if player.getClassId().getId() in [ 0x0f,0x2a ] :
-         if player.getLevel() >= 39 :
-            htmltext = "30118-03.htm"
-         else:
-            htmltext = "30118-01.htm"
-            st.exitQuest(1)
-      else:
-         htmltext = "30118-02.htm"
-         st.exitQuest(1)
-   elif npcId == 30118 and st.getInt("cond")==0 and st.getInt("onlyone")==1 :
-      htmltext = Quest.getAlreadyCompletedMsg(player)
-
-   elif npcId == 30118 and st.getInt("cond")==3 and st.getQuestItemsCount(HUGE_NAIL)>=1:
-        htmltext = "30118-05.htm"
-   elif npcId == 30118 and st.getInt("cond")>=4 :
-        htmltext = "30118-07.htm"
-   elif npcId == 30666 and st.getInt("cond")==4 and st.getQuestItemsCount(LETTER_OF_INTRODUCTION)>0 :
-        htmltext = "30666-01.htm"
-   elif npcId == 30666 and st.getInt("cond")==5 and st.getQuestItemsCount(SLAS_LETTER)>0 :
-        htmltext = "30666-05.htm"
-   elif npcId == 30666 and st.getInt("cond")==10 :
-        htmltext = "30666-06.htm"
-        st.set("cond","11")
-        st.takeItems(OLMAHUMS_MONEY,1)
-        st.giveItems(GREETINGS,3)
-   elif npcId == 30666 and st.getInt("cond")==20 and st.getQuestItemsCount(KATARIS_LETTER)>0 and st.getQuestItemsCount(KAKANS_LETTER)>0 and st.getQuestItemsCount(NYAKURIS_LETTER)>0 and st.getQuestItemsCount(RAMUSS_LETTER)>0 :
-          st.takeItems(KATARIS_LETTER,1)
-          st.takeItems(KAKANS_LETTER,1)
-          st.takeItems(NYAKURIS_LETTER,1)
-          st.takeItems(RAMUSS_LETTER,1)
-          st.addExpAndSp(1252844,85972)
-          st.giveItems(ADENA,226528)
-          st.giveItems(7562,60)
-          st.giveItems(MARK_OF_REFORMER,1)
-          st.giveItems(SHADOW_WEAPON_COUPON_CGRADE,15)
-          htmltext = "30666-07.htm"
-          st.set("cond","0")
-          st.set("onlyone","1")
-          st.exitQuest(False)
-          st.playSound("ItemSound.quest_finish")
-   elif npcId == 30668 and (st.getInt("cond")==5 or st.getInt("cond")==6) :
-        htmltext = "30668-01.htm"
-        st.set("cond","6")
-        st.takeItems(SLAS_LETTER,1)
-        st.addSpawn(30732,-4015,40141,-3664)
-        st.addSpawn(27129,-4034,40201,-3665)
-   elif npcId == 30668 and st.getInt("cond")==8:
-        htmltext = "30668-02.htm"
-        st.addSpawn(27130,-4106,40174,-3660)
-   elif npcId == 30668 and st.getInt("cond")==9 :
-        htmltext = "30668-03.htm"
-        st.set("cond","10")
-        st.giveItems(KATARIS_LETTER,1)
-        st.takeItems(LETTER_OF_BETRAYER,1)
-   elif npcId == 30732 and st.getInt("cond")==7 :
-        htmltext = "30732-01.htm"
-        st.set("cond","8")
-        st.giveItems(OLMAHUMS_MONEY,1)
-   elif npcId == 30669 and st.getInt("cond")==11 and st.getQuestItemsCount(GREETINGS)>0 :
-        htmltext = "30669-01.htm"
-   elif npcId == 30669 and st.getInt("cond")==13 :
-        htmltext = "30669-04.htm"
-        st.set("cond","14")
-        st.giveItems(KAKANS_LETTER,1)
-        st.takeItems(GREETINGS,1)
-   elif npcId == 30670 and st.getInt("cond")==14 and st.getQuestItemsCount(GREETINGS)>0 :
-        htmltext = "30670-01.htm"
-   elif npcId == 30670 and st.getInt("cond")==16 and st.getQuestItemsCount(GREETINGS)>0 :
-        htmltext = "30670-04.htm"
-        st.set("cond","17")
-        st.giveItems(NYAKURIS_LETTER,1)
-        st.takeItems(GREETINGS,1)
-   elif npcId == 30667 and st.getInt("cond")==17 and st.getQuestItemsCount(GREETINGS)>0 :
-        htmltext = "30667-01.htm"
-        st.set("cond","18")
-        st.giveItems(UNDEAD_LIST,1)
-        st.takeItems(GREETINGS,1)
-   elif npcId == 30667 and st.getInt("cond")==18 :
-        htmltext = "30667-02.htm"
-   elif npcId == 30667 and st.getInt("cond")==19 :
-        htmltext = "30667-03.htm"
-        st.set("cond","20")
-        st.takeItems(BONE_FRAGMENT4,1)
-        st.takeItems(BONE_FRAGMENT5,1)
-        st.takeItems(BONE_FRAGMENT6,1)
-        st.takeItems(BONE_FRAGMENT7,1)
-        st.takeItems(BONE_FRAGMENT8,1)
-        st.giveItems(RAMUSS_LETTER,1)
-        st.takeItems(UNDEAD_LIST,1)
-   return htmltext
-
- def onKill(self,npc,player,isPet):
-   st = self.getQuestState(player, False)
-   if not st : return 
-   if st.getState() != State.STARTED : return 
-   npcId = npc.getId()
-   if npcId == 27099 :
-    if st.getInt("cond") == 1 and st.getQuestItemsCount(RIPPED_DIARY) < 7 and st.getQuestItemsCount(BOOK_OF_REFORM) >= 1 :
-      if st.getQuestItemsCount(RIPPED_DIARY) == 6 :
-        st.set("cond","2")
-        st.addSpawn(27128,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),True,300000)
-        st.takeItems(RIPPED_DIARY,st.getQuestItemsCount(RIPPED_DIARY))
-      else:
-        st.giveItems(RIPPED_DIARY,1)
-      st.playSound("ItemSound.quest_itemget")
-   elif npcId == 27128 :
-    if st.getInt("cond") == 2 and st.getQuestItemsCount(HUGE_NAIL) == 0 :
-      st.giveItems(HUGE_NAIL,1)
-      st.playSound("ItemSound.quest_middle")
-      st.set("cond","3")
-   elif npcId == 27129:
-      st.set("cond","7")
-   elif npcId == 27130 :
-    if st.getInt("cond") == 8 :
-      st.set("cond","9")
-      st.giveItems(LETTER_OF_BETRAYER,1)
-   elif npcId == 27131 :
-    if st.getInt("cond") == 12 :
-      st.set("cond","13")
-   elif npcId == 27132 :
-    if st.getInt("cond") == 15 :
-      st.set("cond","16")
-   elif npcId == 20404 :
-    if st.getInt("cond") == 18 and st.getQuestItemsCount(BONE_FRAGMENT4) == 0 :
-      st.giveItems(BONE_FRAGMENT4,1)
-      st.playSound("ItemSound.quest_itemget")
-      if st.getQuestItemsCount(BONE_FRAGMENT4)>0 and st.getQuestItemsCount(BONE_FRAGMENT5)>0 and st.getQuestItemsCount(BONE_FRAGMENT6)>0 and st.getQuestItemsCount(BONE_FRAGMENT7)>0 and st.getQuestItemsCount(BONE_FRAGMENT8)>0 :
-        st.playSound("ItemSound.quest_middle")
-        st.set("cond","19")
-   elif npcId == 20104 :
-    if st.getInt("cond") == 18 and st.getQuestItemsCount(BONE_FRAGMENT5) == 0 :
-      st.giveItems(BONE_FRAGMENT5,1)
-      st.playSound("ItemSound.quest_itemget")
-      if st.getQuestItemsCount(BONE_FRAGMENT4)>0 and st.getQuestItemsCount(BONE_FRAGMENT5)>0 and st.getQuestItemsCount(BONE_FRAGMENT6)>0 and st.getQuestItemsCount(BONE_FRAGMENT7)>0 and st.getQuestItemsCount(BONE_FRAGMENT8)>0 :
-        st.playSound("ItemSound.quest_middle")
-        st.set("cond","19")
-   elif npcId == 20102 :
-    if st.getInt("cond") == 18 and st.getQuestItemsCount(BONE_FRAGMENT6) == 0 :
-      st.giveItems(BONE_FRAGMENT6,1)
-      st.playSound("ItemSound.quest_itemget")
-      if st.getQuestItemsCount(BONE_FRAGMENT4)>0 and st.getQuestItemsCount(BONE_FRAGMENT5)>0 and st.getQuestItemsCount(BONE_FRAGMENT6)>0 and st.getQuestItemsCount(BONE_FRAGMENT7)>0 and st.getQuestItemsCount(BONE_FRAGMENT8)>0 :
-        st.playSound("ItemSound.quest_middle")
-        st.set("cond","19")
-   elif npcId == 20022 :
-    if st.getInt("cond") == 18 and st.getQuestItemsCount(BONE_FRAGMENT7) == 0 :
-      st.giveItems(BONE_FRAGMENT7,1)
-      st.playSound("ItemSound.quest_itemget")
-      if st.getQuestItemsCount(BONE_FRAGMENT4)>0 and st.getQuestItemsCount(BONE_FRAGMENT5)>0 and st.getQuestItemsCount(BONE_FRAGMENT6)>0 and st.getQuestItemsCount(BONE_FRAGMENT7)>0 and st.getQuestItemsCount(BONE_FRAGMENT8)>0 :
-        st.playSound("ItemSound.quest_middle")
-        st.set("cond","19")
-   elif npcId == 20100 :
-    if st.getInt("cond") == 18 and st.getQuestItemsCount(BONE_FRAGMENT8) == 0 :
-      st.giveItems(BONE_FRAGMENT8,1)
-      st.playSound("ItemSound.quest_itemget")
-      if st.getQuestItemsCount(BONE_FRAGMENT4)>0 and st.getQuestItemsCount(BONE_FRAGMENT5)>0 and st.getQuestItemsCount(BONE_FRAGMENT6)>0 and st.getQuestItemsCount(BONE_FRAGMENT7)>0 and st.getQuestItemsCount(BONE_FRAGMENT8)>0 :
-        st.playSound("ItemSound.quest_middle")
-        st.set("cond","19")
-
-   return
-
-QUEST       = Quest(227,qn,"Test Of Reformer")
-
-QUEST.addStartNpc(30118)
-
-QUEST.addTalkId(30118)
-
-for npcId in [30666,30667,30669,30670,30732,30668]:
- QUEST.addTalkId(npcId)
-for mobId in [20100,20102,20104,20404,20022,27099,27128,27130,27129,27132,27131]:
- QUEST.addKillId(mobId)

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-01.html

@@ -0,0 +1,5 @@
+<html><body>Priestess Pupina:<br>
+Why have you come here? I see that you follow the path of service to the Lord as do I... Are you all right? Could it be that you are concerned about a higher level of faith, by any chance?<br>
+You seem too young to have such worries... You must continue to seek the truth elsewhere.  When you find your way obstructed, come back to see me.<br>
+(Quest available only for Clerics or Shillien Oracles of level 39 and higher.)
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-02.html

@@ -0,0 +1,4 @@
+<html><body>Priestess Pupina:<br>
+I am a Priestess of the God of light. My calling is to give counsel to brothers and sisters who are struggling with their faith. Do you wish to convert to the path of Einhasad? If so, go and visit with those other priests over there.<br>
+(Quest available only for Clerics or Shillien Oracles of level 39 and higher.)
+</body></html>

+ 6 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-03.htm

@@ -0,0 +1,6 @@
+<html><body>Priestess Pupina:<br>
+Our faith teaches nonviolence, peace and sacrifice. I must confess that I question this when I see the current state of affairs. The world is overrun by evildoers and yet here we sit doing nothing but praying, training, giving remedies and alms...<br>
+Sometimes I wish that I could make it a better world, where good people live in peace...<br>
+Oh my... I've said too much. Please pay no mind to my mutterings... It is far too easy to be mistaken for a heretic around here...<br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer ACCEPT">"At one time I had the same concerns."</a>
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-04.htm

@@ -0,0 +1,4 @@
+<html><body>Priestess Pupina:<br>
+It is an honor to meet a fellow traveler... I suppose that such is the curse of the enlightened... You must keep these opinions close to your vest; they are quite taboo and can get you into trouble with the High Priests.<br>
+Take this book, you should read it when you have the time. There is also a task that will help answer some of your questions. In the Execution Grounds of Dion there are<font color="LEVEL"> Nameless Revenants </font>wandering about. They must be laid to rest.  Remember to strike the last blow with the magic of Disrupt Undead.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-04a.html

@@ -0,0 +1,3 @@
+<html><body>Priestess Pupina:<br>
+Have you changed your mind? If you are in search of the true faith, you must confront it rather than avoid it. Use your Disrupt Undead skill to destroy the Nameless Revenants that haunt the Execution Grounds. You will find that the temple has turned its back on them.
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-04b.htm

@@ -0,0 +1,5 @@
+<html><body>Priest Pupina:<br>
+I have finally met someone who sees the world as I do! Oh, but speak softly and take great care not to be overheard. The order, after all, bans even talking about matters of this kind.<br>
+Here, take this book. Read it in secret and perhaps it will help enlighten you. But first, travel to the Dion Execution Ground. There, perhaps, your questions will be answered if you can defeat the <font color="LEVEL">Nameless Ghosts</font> that wander that cursed place. You cannot permanently defeat them with physical means, so be sure to finish them off with Disrupt Undead magic.<br>
+Finally, take this <font color="LEVEL">Dimension Diamond</font>. You can trade it to the village gatekeeper for something special that may help you on your journey.
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-05.html

@@ -0,0 +1,5 @@
+<html><body>Priestess Pupina:<br>
+A nail was driven into the head of the untamable Mandragora Aruraune to brainwash it. This is, basically, no different from what the Priests do every day, brainwashing ignorant people with their platitudes about light...Or perhaps we are the ones brainwashed...<br>
+Now... I want you to meet someone. She is a former Priestess of this shrine who was defrocked after being accused of paganism. When she got into trouble I denied knowing anything about her beliefs. I could not afford to risk my position. If you have the courage of your convictions, you should go and talk to her.<br><br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30118-06.html">"I shall remain true to my beliefs."</a>
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-06.html

@@ -0,0 +1,3 @@
+<html><body>Priestess Pupina:<br>
+Excellent! It is good to see someone with integrity around here. You will find her teaching her beliefs to whoever will listen. In the Wastelands she is known as the 'wild plain shouter', her name is Preacher Sla. Take this letter to her in the Wastelands.
+</body></html>

+ 2 - 2
L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/30118-07.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30118-07.html

@@ -1,4 +1,4 @@
-<html><body>Priestess Rupino:<br>
+<html><body>Priestess Pupina:<br>
 If only I had the courage that you have right now...<br>
-No, nothing, never mind! Now you better go and meet Preacher Sla. She is in the Wastelands. Give her my best regards...
+No, nothing, never mind! Now you better go and meet Preacher Sla. She is in the Wasteland. Give her my best regards...
 </body></html>

+ 6 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-01.html

@@ -0,0 +1,6 @@
+<html><body>Preacher Sla:<br>
+Ah, an introduction letter from Pupina... Oh that is just so Pupina... as proper as always. The way she frets over details is going to be the death of her...<br>
+By the way, do you believe that the gods' will is responsible for our behavior?<br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30666-03.html">"Of course I do."</a><br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30666-02.html">"I do not believe that."</a>
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-02.html

@@ -0,0 +1,4 @@
+<html><body>Preacher Sla:<br>
+Then what is our involvement as devotees? Can you answer this? I think you should go back and be a good little Priest who obeys what the other little Priests say. Perhaps at least you have learned something here that will keep you from turning rotten like they are...<br>
+<font color="LEVEL">If you change your mind, come back and talk to me again.</font>
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-03.html

@@ -0,0 +1,5 @@
+<html><body>Preacher Sla:<br>
+Do you believe that we should venerate the sons of Gran Kain as we do the sons of Einhasad?<br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30666-04.html">"Yes"</a><br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30666-02.html">"No"</a>
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-04.html

@@ -0,0 +1,5 @@
+<html><body>Preacher Sla:<br>
+That is easier said than done, isn't it?  Do you hear the heresy coming from your mouth? If the High Priests from the shrine heard your words you would already be smelling your burning flesh...<br>
+I believe that Einhasad's will has brought you here. There is something that I need your help with.<br>
+Currently my disciples are performing missionary work for the warriors of Gracia. They are being harassed by the Ol Mahums. Please go and help them. The person you must speak with is named Katari. You can find her near the waterfalls of the Neutral Zone.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-05.html

@@ -0,0 +1,3 @@
+<html><body>Preacher Sla:<br>
+Please go and help my disciple Katari. She is a Dark Elf who follows the justice of Shilen, but in matters of faith she is no different from you and I. She is waiting for you near the waterfalls of the Neutral Zone.
+</body></html>

+ 8 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-06.html

@@ -0,0 +1,8 @@
+<html><body>Preacher Sla:<br>
+I am so very glad that I sent you.  I was concerned about Katari having to deal with the Ol Mahums all alone...<br>
+By the way, is that Ol Mahum money? It's useless.  Just throw it away... .<br>
+As you know, I have one more thing that requires your help... Recently, after giving a lecture on the tenet of light, I was approached by a group of Ol Mahums.  They had been touched by my sermon and wanted to become my disciples.<br>
+I agreed, but I seriously underestimated the firestorm that would erupt from the hierarchy of the church. For their safety we split them into 3 groups, and sent one group to Talking Island, one to the Orc Town of the northern region, and the other to the Dwarven Village.<br>
+I haven't heard anything from them in days and I am very concerned... Especially with the recent Ol Mahum campsite incident and all... Could you go and check on them for me?<br>
+Take these 3 letters to my Ol Mahum disciples.. First you must go and meet Kakan. She has settled down southeast of Orc Town...
+</body></html>

+ 8 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-06a.html

@@ -0,0 +1,8 @@
+<html><body>Preacher Sla:<br>
+I am so very glad that I sent you.  I was concerned about Katari having to deal with the Ol Mahums all alone...<br>
+By the way, is that Ol Mahum money? It's useless.  Just throw it away... .<br>
+As you know, I have one more thing that requires your help... Recently, after giving a lecture on the tenet of light, I was approached by a group of Ol Mahums.  They had been touched by my sermon and wanted to become my disciples.<br>
+I agreed, but I seriously underestimated the firestorm that would erupt from the hierarchy of the church. For their safety we split them into 3 groups, and sent one group to Talking Island, one to the Orc Town of the northern region, and the other to the Dwarven Village.<br>
+I haven't heard anything from them in days and I am very concerned... Especially with the recent Ol Mahum campsite incident and all... Could you go and check on them for me?<br>
+Take these 3 letters to my Ol Mahum disciples.. First you must go and meet Kakan. She has settled down southeast of Orc Town...
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-06b.html

@@ -0,0 +1,3 @@
+<html><body>Preacher Sla:<br>
+You must meet my disciples before you can meet with me.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30666-07.html

@@ -0,0 +1,3 @@
+<html><body>Preacher Sla:<br>
+Well done! Thanks to your efforts our lives of quiet contemplation have been restored...We are so very grateful!  I can tell from my disciples' letters that they took quite a liking to you as well... Please take this Mark of the Reformer as a symbol of our affection and esteem.
+</body></html>

+ 6 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30667-01.html

@@ -0,0 +1,6 @@
+<html><body>Ramus:<br>
+Glory to Einhasad! You have traveled so far... for this? Thank you so much.<br>
+How is my master? Things here are going very smoothly..., too smoothly, in fact. Sometimes I worry. The people here are much more open-minded than elsewhere.  We are planning a big assembly in the Elven relics of Talking Island.<br>
+First, in preparation, we must hold a memorial service to calm the magical creatures.Could you help us prepare for the service? A piece of bone must be gathered from every undead in the relics. Look at this diagram...<br>
+Could you help us, please?
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30667-02.html

@@ -0,0 +1,3 @@
+<html><body>Ramus:<br>
+To the north of Talking Island there are ancient Elven ruins. This is the only place suitable for such a big assembly. You will find the bone pieces and remains of the undead there. Be careful not to lose your Map...
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30667-03.html

@@ -0,0 +1,3 @@
+<html><body>Ramus:<br>
+Thank you so much.  Now we can hold the ceremony today. Could you please take this letter to my master?
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30668-01.html

@@ -0,0 +1,3 @@
+<html><body>Katari:<br>
+The master sent you? Your timing could not have been better, my friend. Look here... This was the secret meeting place of the converted Ol Mahums until they were discovered by mercenary scouts this evening. We need an unknown stranger such as yourself to chase them off!
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30668-02.html

@@ -0,0 +1,5 @@
+<html><body>Katari:<br>
+Thank you!  Now we can finally get some peace and quiet...<br>
+I understand that there was a traitor among the Ol Mahums...who is it?<br>
+I am concerned about the other Ol Mahums. I must see to their safety. Please capture that betrayer! Please!
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30668-03.html

@@ -0,0 +1,5 @@
+<html><body>Katari:<br>
+A traitor among us! How could I have been so blind? How do I know that our other meeting places weren't compromised?<br>
+While I don't yet know the identity of the betrayer, I can guess what he is thinking...<br>
+Please take this letter to my master. He will have a task for you. Goodbye...
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30668-04.html

@@ -0,0 +1,3 @@
+<html><body>Katari:<br>
+Take this letter to the master and await his orders. Goodbye for now...
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-01.html

@@ -0,0 +1,5 @@
+<html><body>Kakan:<br>
+After being sent here by my master, we had barely managed to escape the prying eyes of the Orcs and to build a home for ourselves before we were viciously attacked by werewolves trying to drive us out. Bear in mind, I don't blame the church of Einhasad in any way for this...<br>
+But... after a few skirmishes, we reached an agreement to send representatives and settle this through combat. However...<br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30669-02.html">Ask what the problem is.</a>
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-02.html

@@ -0,0 +1,5 @@
+<html><body>Kakan:<br>
+Our representative is not himself lately. Hey, you look like a magic user... Would you help us? Perhaps you could just rough him up ‍a bit, you know, scare him a little... You must decide quickly though, he draws nigh...<br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30669-03.html">"I will help."</a><br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30669-05.html">"You're on your own."</a>
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-03.html

@@ -0,0 +1,3 @@
+<html><body>Kakan:<br>
+Don't you get it? Either use your magic to help us secretly or deal with him directly and knock him out with one blow. ‍We must show him our strength! Otherwise, the entire pack will be upon us! It would be a bloodbath!
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-04.html

@@ -0,0 +1,5 @@
+<html><body>Kakan:<br>
+Do you think we are lying? We who have lost so many friends to deceit and broken promises? You must agree that this is the best way to cut our losses...<br>
+Please take this letter to my master as soon as possible.<br>
+You want to meet with all of Sla's disciples? Try going to the nearby village of the Dwarves. One of my fellow disciples, Nyakuri, has a place outside the village, to the west.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30669-05.html

@@ -0,0 +1,3 @@
+<html><body>Kakan:<br>
+Please reconsider. Even if we are defeated, we shall all die together. Our representative has been weakened by those very werewolves. There was no evidence, but... They are savage, but clever.
+</body></html>

+ 7 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30670-01.html

@@ -0,0 +1,7 @@
+<html><body>Nyakuri:<br>
+Oh... Did you say that Mother Sla sent you? She must be worried.  I'm fine, just working too much...  Oh, well, here we are!<br>
+You look like you could take care of yourself in a fight.. Hmmm... I put money on a fight and now one of the fighters claims to have a stomachache... Would you be interested in standing in for him? Your opponent would be that Lizardman over there... I've got to tell you, it won't be an easy fight...<br>
+What do you say?<br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30670-03.html">"I will fight and win!"</a><br>
+<a action="bypass -h Quest Q00227_TestOfTheReformer 30670-02.html">"I have a stomachache and need to go to the restroom.  Goodbye."</a>
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30670-02.html

@@ -0,0 +1,3 @@
+<html><body>Nyakuri:<br>
+Everyone seems to come down with a stomachache when they see that Lizardman.  Either something is going around or I am surrounded by cowards!
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30670-03.html

@@ -0,0 +1,3 @@
+<html><body>Nyakuri:<br>
+Excellent!  Please win!  I can't afford to lose this bet!
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30670-04.html

@@ -0,0 +1,4 @@
+<html><body>Nyakuri:<br>
+Wow! You actually beat the Lizardman!  He is said to be one of the strongest lizards in his tribe! I guess they will leave us alone for a while now. Here is the letter for Sla's mother. Say hello to her for me--<br>
+You should go to Talking Island next! A man called Ramus was among the pupils of Mother Sla, and I once saw him writing a letter mentioning the waterfall on Talking Island...
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/30732-01.html

@@ -0,0 +1,3 @@
+<html><body>Ol Mahum Pilgrim:<br>
+Thank you for your help. I will always remember your kindness. Please take this small token of my appreciation.
+</body></html>

+ 696 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00227_TestOfTheReformer/Q00227_TestOfTheReformer.java

@@ -0,0 +1,696 @@
+/*
+ * Copyright (C) 2004-2015 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.Q00227_TestOfTheReformer;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.l2jserver.gameserver.ai.CtrlIntention;
+import com.l2jserver.gameserver.enums.QuestSound;
+import com.l2jserver.gameserver.model.Location;
+import com.l2jserver.gameserver.model.actor.L2Attackable;
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.base.ClassId;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.skills.Skill;
+import com.l2jserver.gameserver.network.NpcStringId;
+import com.l2jserver.gameserver.network.clientpackets.Say2;
+import com.l2jserver.gameserver.network.serverpackets.NpcSay;
+import com.l2jserver.gameserver.network.serverpackets.SocialAction;
+import com.l2jserver.gameserver.util.Util;
+
+/**
+ * Test Of The Reformer (227)
+ * @author ivantotov
+ */
+public final class Q00227_TestOfTheReformer extends Quest
+{
+	// NPCs
+	private static final int PRIESTESS_PUPINA = 30118;
+	private static final int PREACHER_SLA = 30666;
+	private static final int RAMUS = 30667;
+	private static final int KATARI = 30668;
+	private static final int KAKAN = 30669;
+	private static final int NYAKURI = 30670;
+	private static final int OL_MAHUM_PILGRIM = 30732;
+	// Items
+	private static final int BOOK_OF_REFORM = 2822;
+	private static final int LETTER_OF_INTRODUCTION = 2823;
+	private static final int SLAS_LETTER = 2824;
+	private static final int GREETINGS = 2825;
+	private static final int Ol_MAHUM_MONEY = 2826;
+	private static final int KATARIS_LETTER = 2827;
+	private static final int NYAKURIS_LETTER = 2828;
+	private static final int UNDEAD_LIST = 2829;
+	private static final int RAMUSS_LETTER = 2830;
+	private static final int RIPPED_DIARY = 2831;
+	private static final int HUGE_NAIL = 2832;
+	private static final int LETTER_OF_BETRAYER = 2833;
+	private static final int BONE_FRAGMENT4 = 2834;
+	private static final int BONE_FRAGMENT5 = 2835;
+	private static final int BONE_FRAGMENT6 = 2836;
+	private static final int BONE_FRAGMENT7 = 2837;
+	private static final int BONE_FRAGMENT8 = 2838;
+	private static final int KAKANS_LETTER = 3037;
+	private static final int LETTER_GREETINGS1 = 5567;
+	private static final int LETTER_GREETINGS2 = 5568;
+	// Rewards
+	private static final int MARK_OF_REFORMER = 2821;
+	private static final int DIMENSIONAL_DIAMOND = 7562;
+	// Monsters
+	private static final int MISERY_SKELETON = 20022;
+	private static final int SKELETON_ARCHER = 20100;
+	private static final int SKELETON_MARKSMAN = 20102;
+	private static final int SKELETON_LORD = 20104;
+	private static final int SILENT_HORROR = 20404;
+	// Quest Monsters
+	private static final int NAMELESS_REVENANT = 27099;
+	private static final int ARURAUNE = 27128;
+	private static final int OL_MAHUM_INSPECTOR = 27129;
+	private static final int OL_MAHUM_BETRAYER = 27130;
+	private static final int CRIMSON_WEREWOLF = 27131;
+	private static final int KRUDEL_LIZARDMAN = 27132;
+	// Skills
+	private static final int DISRUPT_UNDEAD = 1031;
+	private static final int SLEEP = 1069;
+	private static final int VAMPIRIC_TOUCH = 1147;
+	private static final int CURSE_WEAKNESS = 1164;
+	private static final int CURSE_POISON = 1168;
+	private static final int WIND_STRIKE = 1177;
+	private static final int ICE_BOLD = 1184;
+	private static final int DRYAD_ROOT = 1201;
+	private static final int WIND_SHACKLE = 1206;
+	private static final List<Integer> SKILLS = Arrays.asList(DISRUPT_UNDEAD, SLEEP, VAMPIRIC_TOUCH, CURSE_WEAKNESS, CURSE_POISON, WIND_STRIKE, ICE_BOLD, DRYAD_ROOT, WIND_SHACKLE);
+	// Location
+	private static final Location MOVE_TO = new Location(36787, -3709, 10000);
+	// Misc
+	private static final int MIN_LEVEL = 39;
+	
+	public Q00227_TestOfTheReformer()
+	{
+		super(227, Q00227_TestOfTheReformer.class.getSimpleName(), "Test Of The Reformer");
+		addStartNpc(PRIESTESS_PUPINA);
+		addTalkId(PRIESTESS_PUPINA, PREACHER_SLA, RAMUS, KATARI, KAKAN, NYAKURI, OL_MAHUM_PILGRIM);
+		addAttackId(NAMELESS_REVENANT, CRIMSON_WEREWOLF);
+		addKillId(MISERY_SKELETON, SKELETON_ARCHER, SKELETON_MARKSMAN, SKELETON_LORD, SILENT_HORROR, NAMELESS_REVENANT, ARURAUNE, OL_MAHUM_INSPECTOR, OL_MAHUM_BETRAYER, OL_MAHUM_BETRAYER, CRIMSON_WEREWOLF, KRUDEL_LIZARDMAN);
+		addSpawnId(OL_MAHUM_PILGRIM, OL_MAHUM_INSPECTOR, OL_MAHUM_BETRAYER, CRIMSON_WEREWOLF, KRUDEL_LIZARDMAN);
+		registerQuestItems(BOOK_OF_REFORM, LETTER_OF_INTRODUCTION, SLAS_LETTER, GREETINGS, Ol_MAHUM_MONEY, KATARIS_LETTER, NYAKURIS_LETTER, UNDEAD_LIST, RAMUSS_LETTER, RAMUSS_LETTER, RIPPED_DIARY, HUGE_NAIL, LETTER_OF_BETRAYER, BONE_FRAGMENT4, BONE_FRAGMENT5, BONE_FRAGMENT6, BONE_FRAGMENT7, BONE_FRAGMENT8, KAKANS_LETTER, LETTER_GREETINGS1, LETTER_GREETINGS2);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		if ("DESPAWN".equals(event))
+		{
+			final int SPAWNED = npc.getVariables().getInt("SPAWNED", 0);
+			if (SPAWNED < 60)
+			{
+				npc.getVariables().set("SPAWNED", SPAWNED + 1);
+			}
+			else
+			{
+				npc.deleteMe();
+			}
+			return super.onAdvEvent(event, npc, player);
+		}
+		
+		final QuestState qs = getQuestState(player, false);
+		if (qs == null)
+		{
+			return null;
+		}
+		
+		String htmltext = null;
+		switch (event)
+		{
+			case "ACCEPT":
+			{
+				if (qs.isCreated())
+				{
+					qs.startQuest();
+					qs.setMemoState(1);
+					playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+					giveItems(player, BOOK_OF_REFORM, 1);
+					if (player.getVariables().getInt("2ND_CLASS_DIAMOND_REWARD", 0) == 0)
+					{
+						giveItems(player, DIMENSIONAL_DIAMOND, 60);
+						player.getVariables().set("2ND_CLASS_DIAMOND_REWARD", 1);
+						htmltext = "30118-04b.htm";
+					}
+					else
+					{
+						htmltext = "30118-04.htm";
+					}
+				}
+				break;
+			}
+			case "30118-06.html":
+			{
+				if (hasQuestItems(player, BOOK_OF_REFORM))
+				{
+					takeItems(player, BOOK_OF_REFORM, 1);
+					giveItems(player, LETTER_OF_INTRODUCTION, 1);
+					takeItems(player, HUGE_NAIL, 1);
+					qs.setMemoState(4);
+					qs.setCond(4, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30666-02.html":
+			case "30666-03.html":
+			case "30669-02.html":
+			case "30669-05.html":
+			case "30670-02.html":
+			{
+				htmltext = event;
+				break;
+			}
+			case "30666-04.html":
+			{
+				takeItems(player, LETTER_OF_INTRODUCTION, 1);
+				giveItems(player, SLAS_LETTER, 1);
+				qs.setMemoState(5);
+				qs.setCond(5, true);
+				htmltext = event;
+				break;
+			}
+			case "30669-03.html":
+			{
+				qs.setCond(12, true);
+				if (npc.getSummonedNpcCount() < 1)
+				{
+					L2Npc pilgrim = addSpawn(OL_MAHUM_PILGRIM, -9282, -89975, -2331, 0, false, 0);
+					L2Npc wolf = addSpawn(CRIMSON_WEREWOLF, -9382, -89852, -2333, 0, false, 0);
+					((L2Attackable) wolf).addDamageHate(pilgrim, 99999, 99999);
+					wolf.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, pilgrim);
+				}
+				htmltext = event;
+				break;
+			}
+			case "30670-03.html":
+			{
+				qs.setCond(15, true);
+				if (npc.getSummonedNpcCount() < 1)
+				{
+					L2Npc pilgrim = addSpawn(OL_MAHUM_PILGRIM, 125947, -180049, -1778, 0, false, 0);
+					L2Npc lizard = addSpawn(KRUDEL_LIZARDMAN, 126019, -179983, -1781, 0, false, 0);
+					((L2Attackable) lizard).addDamageHate(pilgrim, 99999, 99999);
+					lizard.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, pilgrim);
+				}
+				htmltext = event;
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon, Skill skill)
+	{
+		final QuestState qs = getQuestState(attacker, false);
+		if ((qs != null) && qs.isStarted())
+		{
+			switch (npc.getId())
+			{
+				case NAMELESS_REVENANT:
+				{
+					if (skill != null)
+					{
+						if (skill.getId() == DISRUPT_UNDEAD)
+						{
+							npc.setScriptValue(1);
+						}
+						else
+						{
+							npc.setScriptValue(2);
+						}
+					}
+					break;
+				}
+				case CRIMSON_WEREWOLF:
+				{
+					if ((skill == null) || !SKILLS.contains(skill.getId()))
+					{
+						npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.COWARDLY_GUY));
+						npc.deleteMe();
+					}
+					if (attacker.isPlayer())
+					{
+						npc.setScriptValue(attacker.getObjectId());
+					}
+					break;
+				}
+			}
+		}
+		return super.onAttack(npc, attacker, damage, isSummon);
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+	{
+		final QuestState qs = getQuestState(killer, false);
+		if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+		{
+			switch (npc.getId())
+			{
+				case MISERY_SKELETON:
+				{
+					if (qs.isMemoState(16) && !hasQuestItems(killer, BONE_FRAGMENT7))
+					{
+						giveItems(killer, BONE_FRAGMENT7, 1);
+						playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						if (hasQuestItems(killer, BONE_FRAGMENT4, BONE_FRAGMENT5, BONE_FRAGMENT6, BONE_FRAGMENT8))
+						{
+							qs.setMemoState(17);
+							qs.setCond(19);
+						}
+					}
+					break;
+				}
+				case SKELETON_ARCHER:
+				{
+					if (qs.isMemoState(16) && !hasQuestItems(killer, BONE_FRAGMENT8))
+					{
+						giveItems(killer, BONE_FRAGMENT8, 1);
+						playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						if (hasQuestItems(killer, BONE_FRAGMENT4, BONE_FRAGMENT5, BONE_FRAGMENT6, BONE_FRAGMENT7))
+						{
+							qs.setMemoState(17);
+							qs.setCond(19);
+						}
+					}
+					break;
+				}
+				case SKELETON_MARKSMAN:
+				{
+					if (qs.isMemoState(16) && !hasQuestItems(killer, BONE_FRAGMENT6))
+					{
+						giveItems(killer, BONE_FRAGMENT6, 1);
+						playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						if (hasQuestItems(killer, BONE_FRAGMENT4, BONE_FRAGMENT5, BONE_FRAGMENT7, BONE_FRAGMENT8))
+						{
+							qs.setMemoState(17);
+							qs.setCond(19);
+						}
+					}
+					break;
+				}
+				case SKELETON_LORD:
+				{
+					if (qs.isMemoState(16) && !hasQuestItems(killer, BONE_FRAGMENT5))
+					{
+						giveItems(killer, BONE_FRAGMENT5, 1);
+						playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						if (hasQuestItems(killer, BONE_FRAGMENT4, BONE_FRAGMENT6, BONE_FRAGMENT7, BONE_FRAGMENT8))
+						{
+							qs.setMemoState(17);
+							qs.setCond(19);
+						}
+					}
+					break;
+				}
+				case SILENT_HORROR:
+				{
+					if (qs.isMemoState(16) && !hasQuestItems(killer, BONE_FRAGMENT4))
+					{
+						giveItems(killer, BONE_FRAGMENT4, 1);
+						playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						if (hasQuestItems(killer, BONE_FRAGMENT5, BONE_FRAGMENT6, BONE_FRAGMENT7, BONE_FRAGMENT8))
+						{
+							qs.setMemoState(17);
+							qs.setCond(19);
+						}
+					}
+					break;
+				}
+				case NAMELESS_REVENANT:
+				{
+					if (qs.isMemoState(1) && npc.isScriptValue(1) && !hasQuestItems(killer, HUGE_NAIL) && hasQuestItems(killer, BOOK_OF_REFORM) && (getQuestItemsCount(killer, RIPPED_DIARY) < 7))
+					{
+						if (getQuestItemsCount(killer, RIPPED_DIARY) == 6)
+						{
+							addSpawn(ARURAUNE, npc, true, 0, false);
+							takeItems(killer, RIPPED_DIARY, -1);
+							qs.setCond(2);
+						}
+						else
+						{
+							giveItems(killer, RIPPED_DIARY, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+				case ARURAUNE:
+				{
+					if (!hasQuestItems(killer, HUGE_NAIL))
+					{
+						npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.THE_CONCEALED_TRUTH_WILL_ALWAYS_BE_REVEALED));
+						giveItems(killer, HUGE_NAIL, 1);
+						playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						qs.setMemoState(3);
+						qs.setCond(3);
+					}
+					break;
+				}
+				case OL_MAHUM_INSPECTOR:
+				{
+					if (qs.isMemoState(6))
+					{
+						qs.setMemoState(7);
+						qs.setCond(7, true);
+					}
+					break;
+				}
+				case OL_MAHUM_BETRAYER:
+				{
+					if (qs.isMemoState(8))
+					{
+						qs.setMemoState(9);
+						qs.setCond(9);
+						giveItems(killer, LETTER_OF_BETRAYER, 1);
+						playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+					}
+					break;
+				}
+				case CRIMSON_WEREWOLF:
+				{
+					if (npc.isScriptValue(killer.getObjectId()) && qs.isMemoState(11))
+					{
+						qs.setMemoState(12);
+						qs.setCond(13, true);
+					}
+					break;
+				}
+				case KRUDEL_LIZARDMAN:
+				{
+					if (qs.isMemoState(13))
+					{
+						qs.setMemoState(14);
+						qs.setCond(16, true);
+					}
+					break;
+				}
+			}
+		}
+		return super.onKill(npc, killer, isSummon);
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState qs = getQuestState(player, true);
+		final int memoState = qs.getMemoState();
+		String htmltext = getNoQuestMsg(player);
+		if (qs.isCreated())
+		{
+			if (npc.getId() == PRIESTESS_PUPINA)
+			{
+				if ((player.getClassId() == ClassId.cleric) || (player.getClassId() == ClassId.shillienOracle))
+				{
+					if (player.getLevel() >= MIN_LEVEL)
+					{
+						htmltext = "30118-03.htm";
+					}
+					else
+					{
+						htmltext = "30118-01.html";
+					}
+				}
+				else
+				{
+					htmltext = "30118-02.html";
+				}
+			}
+		}
+		else if (qs.isStarted())
+		{
+			switch (npc.getId())
+			{
+				case PRIESTESS_PUPINA:
+				{
+					if (memoState == 3)
+					{
+						if (hasQuestItems(player, HUGE_NAIL))
+						{
+							htmltext = "30118-05.html";
+						}
+					}
+					else if ((memoState >= 1) && (memoState < 3))
+					{
+						htmltext = "30118-04a.html";
+					}
+					else if (memoState >= 4)
+					{
+						htmltext = "30118-07.html";
+					}
+					break;
+				}
+				case PREACHER_SLA:
+				{
+					if (memoState == 4)
+					{
+						if (hasQuestItems(player, LETTER_OF_INTRODUCTION))
+						{
+							htmltext = "30666-01.html";
+						}
+					}
+					else if ((memoState >= 11) && (memoState < 18))
+					{
+						htmltext = "30666-06b.html";
+					}
+					else if (memoState == 5)
+					{
+						if (hasQuestItems(player, SLAS_LETTER))
+						{
+							htmltext = "30666-05.html";
+						}
+					}
+					else if (memoState == 10)
+					{
+						if (hasQuestItems(player, Ol_MAHUM_MONEY))
+						{
+							takeItems(player, Ol_MAHUM_MONEY, 1);
+							giveItems(player, GREETINGS, 1);
+							giveItems(player, LETTER_GREETINGS1, 1);
+							giveItems(player, LETTER_GREETINGS2, 1);
+							qs.setMemoState(11);
+							qs.setCond(11, true);
+							htmltext = "30666-06.html";
+						}
+						else
+						{
+							giveItems(player, GREETINGS, 1);
+							giveItems(player, LETTER_GREETINGS1, 1);
+							giveItems(player, LETTER_GREETINGS2, 1);
+							qs.setMemoState(11);
+							qs.setCond(11, true);
+							htmltext = "30666-06a.html";
+						}
+					}
+					else if (memoState == 18)
+					{
+						if (hasQuestItems(player, KATARIS_LETTER, KAKANS_LETTER, NYAKURIS_LETTER, RAMUSS_LETTER))
+						{
+							giveAdena(player, 226528, true);
+							giveItems(player, MARK_OF_REFORMER, 1);
+							addExpAndSp(player, 1252844, 85972);
+							qs.exitQuest(false, true);
+							player.sendPacket(new SocialAction(player.getObjectId(), 3));
+							htmltext = "30666-07.html";
+						}
+					}
+					break;
+				}
+				case RAMUS:
+				{
+					if (memoState == 15)
+					{
+						if (hasQuestItems(player, LETTER_GREETINGS2) && !hasQuestItems(player, UNDEAD_LIST))
+						{
+							giveItems(player, UNDEAD_LIST, 1);
+							takeItems(player, LETTER_GREETINGS2, 1);
+							qs.setMemoState(16);
+							qs.setCond(18, true);
+							htmltext = "30667-01.html";
+						}
+					}
+					else if (memoState == 16)
+					{
+						htmltext = "30667-02.html";
+					}
+					else if (memoState == 17)
+					{
+						if (hasQuestItems(player, UNDEAD_LIST))
+						{
+							takeItems(player, UNDEAD_LIST, 1);
+							giveItems(player, RAMUSS_LETTER, 1);
+							takeItems(player, BONE_FRAGMENT4, 1);
+							takeItems(player, BONE_FRAGMENT5, 1);
+							takeItems(player, BONE_FRAGMENT6, 1);
+							takeItems(player, BONE_FRAGMENT7, 1);
+							takeItems(player, BONE_FRAGMENT8, 1);
+							qs.setMemoState(18);
+							qs.setCond(20, true);
+							htmltext = "30667-03.html";
+						}
+					}
+					break;
+				}
+				case KATARI:
+				{
+					if ((memoState == 5) || (memoState == 6))
+					{
+						takeItems(player, SLAS_LETTER, 1);
+						qs.setMemoState(6);
+						qs.setCond(6, true);
+						if (npc.getSummonedNpcCount() < 1)
+						{
+							L2Npc pilgrim = addSpawn(OL_MAHUM_PILGRIM, -4015, 40141, -3664, 0, false, 0);
+							L2Npc inspector = addSpawn(OL_MAHUM_INSPECTOR, -4034, 40201, -3665, 0, false, 0);
+							((L2Attackable) inspector).addDamageHate(pilgrim, 99999, 99999);
+							inspector.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, pilgrim);
+						}
+						htmltext = "30668-01.html";
+					}
+					else if ((memoState == 7) || (memoState == 8))
+					{
+						if (memoState == 7)
+						{
+							qs.setMemoState(8);
+						}
+						qs.setCond(8, true);
+						if (npc.getSummonedNpcCount() < 3)
+						{
+							addSpawn(OL_MAHUM_BETRAYER, -4106, 40174, -3660, 0, false, 0);
+						}
+						htmltext = "30668-02.html";
+					}
+					else if (memoState == 9)
+					{
+						if (hasQuestItems(player, LETTER_OF_BETRAYER))
+						{
+							giveItems(player, KATARIS_LETTER, 1);
+							takeItems(player, LETTER_OF_BETRAYER, 1);
+							qs.setMemoState(10);
+							qs.setCond(10, true);
+							htmltext = "30668-03.html";
+						}
+					}
+					else if (memoState >= 10)
+					{
+						htmltext = "30668-04.html";
+					}
+					break;
+				}
+				case KAKAN:
+				{
+					if (memoState == 11)
+					{
+						if (hasQuestItems(player, GREETINGS))
+						{
+							htmltext = "30669-01.html";
+						}
+					}
+					else if (memoState == 12)
+					{
+						if (hasQuestItems(player, GREETINGS) && !hasQuestItems(player, KAKANS_LETTER))
+						{
+							takeItems(player, GREETINGS, 1);
+							giveItems(player, KAKANS_LETTER, 1);
+							qs.setMemoState(13);
+							qs.setCond(14, true);
+							htmltext = "30669-04.html";
+						}
+					}
+					break;
+				}
+				case NYAKURI:
+				{
+					if (memoState == 13)
+					{
+						if (hasQuestItems(player, LETTER_GREETINGS1))
+						{
+							htmltext = "30670-01.html";
+						}
+					}
+					else if (memoState == 14)
+					{
+						if (hasQuestItems(player, LETTER_GREETINGS1) && !hasQuestItems(player, NYAKURIS_LETTER))
+						{
+							giveItems(player, NYAKURIS_LETTER, 1);
+							takeItems(player, LETTER_GREETINGS1, 1);
+							qs.setMemoState(15);
+							qs.setCond(17, true);
+							htmltext = "30670-04.html";
+						}
+					}
+					break;
+				}
+				case OL_MAHUM_PILGRIM:
+				{
+					if (memoState == 7)
+					{
+						giveItems(player, Ol_MAHUM_MONEY, 1);
+						qs.setMemoState(8);
+						htmltext = "30732-01.html";
+					}
+					break;
+				}
+			}
+		}
+		else if (qs.isCompleted())
+		{
+			if (npc.getId() == PRIESTESS_PUPINA)
+			{
+				htmltext = getAlreadyCompletedMsg(player);
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onSpawn(L2Npc npc)
+	{
+		switch (npc.getId())
+		{
+			case OL_MAHUM_INSPECTOR:
+			case CRIMSON_WEREWOLF:
+			case KRUDEL_LIZARDMAN:
+			case OL_MAHUM_PILGRIM:
+			{
+				startQuestTimer("DESPAWN", 5000, npc, null, true);
+				npc.getVariables().set("SPAWNED", 0);
+				break;
+			}
+			case OL_MAHUM_BETRAYER:
+			{
+				startQuestTimer("DESPAWN", 5000, npc, null, true);
+				npc.setIsRunning(true);
+				npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MOVE_TO);
+				npc.getVariables().set("SPAWNED", 0);
+				break;
+			}
+		}
+		return super.onSpawn(npc);
+	}
+}

+ 2 - 0
L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java

@@ -214,6 +214,7 @@ import quests.Q00223_TestOfTheChampion.Q00223_TestOfTheChampion;
 import quests.Q00224_TestOfSagittarius.Q00224_TestOfSagittarius;
 import quests.Q00225_TestOfTheSearcher.Q00225_TestOfTheSearcher;
 import quests.Q00226_TestOfTheHealer.Q00226_TestOfTheHealer;
+import quests.Q00227_TestOfTheReformer.Q00227_TestOfTheReformer;
 import quests.Q00228_TestOfMagus.Q00228_TestOfMagus;
 import quests.Q00229_TestOfWitchcraft.Q00229_TestOfWitchcraft;
 import quests.Q00230_TestOfTheSummoner.Q00230_TestOfTheSummoner;
@@ -681,6 +682,7 @@ public class QuestMasterHandler
 		Q00224_TestOfSagittarius.class,
 		Q00225_TestOfTheSearcher.class,
 		Q00226_TestOfTheHealer.class,
+		Q00227_TestOfTheReformer.class,
 		Q00228_TestOfMagus.class,
 		Q00229_TestOfWitchcraft.class,
 		Q00230_TestOfTheSummoner.class,

+ 1 - 0
L2J_DataPack/dist/sql/game/updates/20150207update.sql

@@ -0,0 +1 @@
+UPDATE character_quests SET name='Q00227_TestOfTheReformer' WHERE name='227_TestOfReformer';