Explorar o código

Retail-like quest Repent Your Sins (422).
Reviewed by: @Zoey76

ivantotov %!s(int64=10) %!d(string=hai) anos
pai
achega
03d9a106ad
Modificáronse 70 ficheiros con 628 adicións e 479 borrados
  1. 0 1
      L2J_DataPack/dist/game/data/scripts.cfg
  2. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30597-01.htm
  3. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30612-02.htm
  4. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30612-03.htm
  5. 0 13
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30668-01.htm
  6. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30668-02.htm
  7. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30668-03.htm
  8. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30668-04.htm
  9. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30718-01.htm
  10. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30718-03.htm
  11. 0 10
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30718-04.htm
  12. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-02.htm
  13. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-03.htm
  14. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-04.htm
  15. 0 8
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-05.htm
  16. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-06.htm
  17. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-07.htm
  18. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-08.htm
  19. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-09.htm
  20. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-10.htm
  21. 0 10
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-12.htm
  22. 0 9
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-14.htm
  23. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-15.htm
  24. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-17.htm
  25. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-18.htm
  26. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-19.htm
  27. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-20.htm
  28. 0 300
      L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py
  29. 3 2
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30300-01.html
  30. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30300-02.html
  31. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30300-03.html
  32. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30597-01.html
  33. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30597-02.html
  34. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30597-03.html
  35. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30597-04.html
  36. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30612-01.html
  37. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30612-02.html
  38. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30612-03.html
  39. 1 2
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30612-04.html
  40. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30668-01.html
  41. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30668-02.html
  42. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30668-03.html
  43. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30668-04.html
  44. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30718-01.html
  45. 2 2
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30718-02.html
  46. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30718-03.html
  47. 6 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30718-04.html
  48. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-01.htm
  49. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-02.htm
  50. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-03.htm
  51. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-04.htm
  52. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-05.htm
  53. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-06.htm
  54. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-07.html
  55. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-08.html
  56. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-09.html
  57. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-10.html
  58. 2 6
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-11.html
  59. 6 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-12.html
  60. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-13.html
  61. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-14.html
  62. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-15.html
  63. 2 3
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-15t.html
  64. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-16.html
  65. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-16t.html
  66. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-17.html
  67. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-18.html
  68. 509 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/Q00422_RepentYourSins.java
  69. 2 0
      L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java
  70. 1 0
      L2J_DataPack/dist/sql/game/updates/20150622update.sql

+ 0 - 1
L2J_DataPack/dist/game/data/scripts.cfg

@@ -196,7 +196,6 @@ quests/372_LegacyOfInsolence/__init__.py
 quests/384_WarehouseKeepersPastime/__init__.py
 quests/386_StolenDignity/__init__.py
 quests/419_GetAPet/__init__.py
-quests/422_RepentYourSins/__init__.py
 quests/503_PursuitClanAmbition/__init__.py
 quests/604_DaimontheWhiteEyedPart2/__init__.py
 quests/620_FourGoblets/__init__.py

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30597-01.htm

@@ -1,3 +0,0 @@
-<html><body>Piotur:<br>
-Are you here to hunt the <font color="LEVEL">Turek war hounds</font>? A while back a black-clad sage appeared and told me that someone like you was coming and I should ask for help with my needs.<br> When the war was over I returned to find my farm devastated by the filthy orcs! I hired mercenaries and managed to drive them off my land, but their cursed stray war hounds remain and are rampaging and killing my cattle. Recently they have even been threatening the farmers. <br>If you are here to help, please kill the <font color="LEVEL">Turek war hounds</font>. Please kill at least 10 of them! Of course they can be found near the <font color="LEVEL">Orc Barracks</font>!
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30612-02.htm

@@ -1,3 +0,0 @@
-<html><body>Sage Casian:<br>
-Why haven't you brought me the heart of a tyrant kingpin yet? I realize that this is not an easy task. My work shall continue for several years, so there is no hurry. Take your time...<br>Oh, did I happen to mention that you can find quite a few <font color="LEVEL">tyrant kingpins in the western section of the Wasteland</font>?
-</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30612-03.htm

@@ -1,7 +0,0 @@
-<html><body>Sage Casian:<br>
-Ah, the heart of a tyrant kingpin! Thank you! 
-This will advance my research greatly. Now I must confess... In the past I was a 
-terrible criminal. I undertook this project seeking redemption, but now I find that 
-I am required to commit crimes to further my research! The importance of what I am doing, 
-the big picture, is all that keeps me going...
-</body></html>

+ 0 - 13
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30668-01.htm

@@ -1,13 +0,0 @@
-<html><body>Katari:<br>
-At last! You have come for me! Oh, pardon me... I had a very vivid dream last night, 
-and I've been waiting for someone like you to come for me. Just in case you were the one in my dreams, 
-I wanted you to know. Well... then, I may as well ask you.<br>
-I and some religious ol mahums are being threatened by <font color="LEVEL">scavenger wererats</font>. 
-They seem to be unaware of the teachings of the god of light. Everyone knows, even after a conversion, 
-ol mahums are not to be trifled with. The same can be said of the Dark Elves. 
-Our god of light is no coward, and I'm ready to teach them a thing or two.<br>
-Please, would you go kill these creatures? Bring back 10 
-<font color="LEVEL">skulls of scavenger wererats</font>. 
-They can be found in the <font color="LEVEL">Neutral Zone</font>. 
-Put a good scare into them, something to let them know they shouldn't pick on missionaries.
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30668-02.htm

@@ -1,6 +0,0 @@
-<html><body>Katari:<br>
-If I had my way, I would kill every last one of them. But even the most wicked have the chance of redemption. 
-Perhaps one day they will come to the god of light... Anyway, now we must spill some blood. Go to the 
-<font color="LEVEL">Neutral Zone</font> and hunt <font color="LEVEL">scavenger wererats</font>. 
-Bring back 10 of their skulls.
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30668-03.htm

@@ -1,6 +0,0 @@
-<html><body>Katari:<br>
-That should teach them a lesson. I was dreading having to send the ol mahums to do the killing, 
-I hate to get them started. And then, from the mist, you appeared. My savior! And you gave them what for, 
-didn't you! Einhasad is truly watching over me.<br>Thank you, my friend... I wish you all the best.
-</body></html>
-

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30668-04.htm

@@ -1,5 +0,0 @@
-<html><body>Katari:<br>
-Why are you still here? Would you like to become a missionary? You taught those filthy scavenger 
-wererats some respect for the blade, didn't you? We don't need your help right now, but I do 
-hope you will drop in from time to time. I would like for you to meet some of our ol mahum believers.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30718-01.htm

@@ -1,3 +0,0 @@
-<html><body>Magister Joan:<br>
-Greetings! I look forward to working with you. I am Magister Joan. I am researching the neutralization of the toxic element found in Sea of Spores. I am sure you are familiar with that poisonous pond... Your task will be to collect three <font color="LEVEL">Trisalim's Venom Sacs</font>. You will find them in the <font color="LEVEL">Sea of Spores.</font> Please bring them to me as soon as possible.
-</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30718-03.htm

@@ -1,7 +0,0 @@
-<html>
-
-<body>
-Magister Joan:<br>
-You brought all three of them! Wonderfull! As agreed, your compensation will be paid at the Ivory Tower...Huh? Wait, what is this... What are trying to pull?! According to my records, an adventurer in service to the Ivory Tower has already left for Innadril...! Who are you?
-</body>
-</html>

+ 0 - 10
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30718-04.htm

@@ -1,10 +0,0 @@
-<html>
-
-<body>
-Magister Joan:<br>
-Ah, it's you again! I'm so dreadfully sorry about the confusion last time. Yes, about your pay... I apologize, I'm waiting for approval and a check from the home office...<br>
-...err, ummm...<br>
-To tell you the truth, I hired you without the approval of the Grand Magisters of Ivory Tower! You may be waiting a very, very, very long time for your compensation. Please forgive me! I am so ashamed of myself... I'm always getting into trouble. I'm also stubborn! And obsessive-conpulsive! Is that a bad thing?<br>
-...By the way, who in the world are you?
-</body>
-</html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-02.htm

@@ -1,6 +0,0 @@
-<html><body>Black Judge:<br>
-Sinning is easy. Atoning for those sins, however, is much more difficult. 
-Are you really prepared for this? We will test your resolve to its utmost on your journey of penitence...<br> 
-Are you ready to follow the path away from riches and fame?<br>
-<a action="bypass -h Quest 422_RepentYourSins Start">"I seek redemption."</a> 
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-03.htm

@@ -1,5 +0,0 @@
-<html><body>Black Judge:<br>
-Very well, the test can begin. You must go and see <font color="LEVEL">Katari</font>, a Dark Elf. 
-She teaches the word of Einhasad to godless heathens, such as the ol mahums... She needs your help.<br>
-Meet her at the <font color="LEVEL">edge of the Dark Elven Forest north of the Marshland</font> and 
-offer her your help. Come back to see us after you complete this task.</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-04.htm

@@ -1,7 +0,0 @@
-<html><body>Black Judge:<br>
-Very well, the testing can begin. You will go help a farmer who lost all his possessions during the 
-war between Grecia and Aden. He was left with less than a handful of seed! But this tenacious farmer 
-is bravely trying to cultivate his crops. His name is <font color="LEVEL">Piotur. You will find him
- near the Orc Barracks in the western part of Gludio</font>. Go there and help him. 
-Come back and see us after you complete the task.
-</body></html>

+ 0 - 8
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-05.htm

@@ -1,8 +0,0 @@
-<html><body>Black Judge:<br>
-This is the first time that <font color="LEVEL">Wiseman Casian</font> 
-has ever met with a black judge. He has volunteered to walk the path of endless hardship. 
-Right now he is working on a task in <font color="LEVEL">the southern Wasteland in Gludio</font>. 
-He is in trouble and needs some help... Go there and find him. Come back and see us when you 
-have completed the task.<br>
-(This quest is automatically stopped if any sub-class is added or changed while it is performed.)
-</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-06.htm

@@ -1,7 +0,0 @@
-<html><body>Black Judge:<br>
-<font color="LEVEL">Magister Joan of the Ivory Tower</font>, 
-the daughter of a forest fairy, does not realize the importance of the work she is doing. 
-You must go and help her. You must not ask or answer any questions while dealing with her. 
-Come back and see us after completing the task.<br>
-(This quest is automatically stopped if any sub-class is added or changed while it is performed.)
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-07.htm

@@ -1,6 +0,0 @@
-<html><body>Black Judge:<br>
-You have not even taken one step forward on the path of penance. 
-As I said before, this is not the way to fame or fortune. 
-Nobody, including us black judges, can force you to follow this path. 
-If you are having doubts, leave now and never come back.
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-08.htm

@@ -1,4 +0,0 @@
-<html><body>Black Judge:<br>Don't say a word. I can tell that you have completed your 
-task. Take this to <font color="LEVEL">Blacksmith Pushkin in Giran Castle 
-Town</font>. He will make an item for you. When he finishes it, bring it back to 
-us. </body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-09.htm

@@ -1,4 +0,0 @@
-<html><body>Black Judge:<br>There is no hurry. The path of penance will endlessly 
-unfold in front of you. Go to <font color="LEVEL">Blacksmith Pushkin of Giran 
-Castle Town</font>. He will make an item for you. Bring this item to us. 
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-10.htm

@@ -1,5 +0,0 @@
-<html><body>Black Judge:<br>
-Have you brought back the <font color="LEVEL">manacles of penitence</font>? 
-You must bring them to me. You shall wear them until you have finished your penitence.<br>
-<a action="bypass -h Quest 422_RepentYourSins 1">Give him the manacles.</a>
-</body></html>

+ 0 - 10
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-12.htm

@@ -1,10 +0,0 @@
-<html><body>Black Judge:<br>
-Your brother's hunger for your sins is not yet sated. Your penance must continue...  
-All the terrible feelings that you are experiencing... the feelings of embarrassment, 
-confusion, loneliness, and boredom etc... they are the manifestation of your sins that are now 
-getting dissolved and exposed...<br>
-<font color="LEVEL">(When the Sin Eater advances one level you will have completed this quest.)</font><br>
-<font color="LEVEL">All of the Exp that the character who summoned the Sin Eater has acquired 
-will be transferred to the Sin Eater.</font><br><font color="LEVEL">
-When the Sin Eater becomes hungry, you can feed him "Food For Wolves."</font>
-</body></html>

+ 0 - 9
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-14.htm

@@ -1,9 +0,0 @@
-<html><body>Black Judge:<br>
-Your sins have been absolved and you are free to go your separate ways. The 
-<font color="LEVEL">Sin Eater</font> will return from whence he came. There, his sin 
-is changed to virtue, and virtue to nothing.<br><font color="LEVEL">
-(Note: If you click the link below, the manacle of penitent disappears. At this 
-time, all the items contained in the inventory of the Sin Eater disappears as well, 
-so please check if you put any items in the inventory.)</font><br>
-<a action="bypass -h Quest 422_RepentYourSins 3">"What about my remaining sins?"</a>
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-15.htm

@@ -1,5 +0,0 @@
-<html><body>Black Judge:<br>
-Your sins have been washed away. At least the ones we know about... The 
-<font color="LEVEL">Sin Eater</font> can help you no further. You must make your own choices from 
-now on, and become your own Sin Eater.
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-17.htm

@@ -1,6 +0,0 @@
-<html><body>Black Judge:<br>
-Ah, yes, there are more sins, aren't there... Are you willing to continue to carry out 
-your task to atone for your sins?<br>
-<a action="bypass -h Quest 422_RepentYourSins 4">"I wish to atone for my remaining sins."</a><br>
-<a action="bypass -h Quest 422_RepentYourSins Quit">Quit</a>
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-18.htm

@@ -1,6 +0,0 @@
-<html><body>Black Judge:<br>
-All of your transgressions have not yet been redeemed. You must begin your penitence once again. 
-Would you be in need of a <font color="LEVEL">sin eater</font>?<br>
-<a action="bypass -h Quest 422_RepentYourSins 4">"I wish to atone for my sins."</a><br>
-<a action="bypass -h Quest 422_RepentYourSins Quit">Quit</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-19.htm

@@ -1,4 +0,0 @@
-<html><body>Black Judge:<br>
-Very well. Give me your hands.<br>
-<a action="bypass -h Quest 422_RepentYourSins 1">"Extend your wrists.</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-20.htm

@@ -1,4 +0,0 @@
-<html><body>Black Judge:<br>
-Have you grown weary of the path of penance? Do as you will. No one is forcing you to do this. 
-You are the one who made all the wrong choices... 
-If you have decided to live with them, we respect that. Walk your own path. </body></html>

+ 0 - 300
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py

@@ -1,300 +0,0 @@
-#Fixed by Cromir, expanded upon by Emperorc
-#Quest: Repent Your Sins
-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 = "422_RepentYourSins"
-
-#Items
-SCAVENGER_WERERAT_SKULL = 4326
-TUREK_WARHOUND_TAIL = 4327
-TYRANT_KINGPIN_HEART = 4328
-TRISALIM_TARANTULAS_VENOM_SAC = 4329
-MANUAL_OF_MANACLES = 4331
-PENITENTS_MANACLES = 4425
-PENITENTS_MANACLES1 = 4330
-PENITENTS_MANACLES2 = 4426
-SILVER_NUGGET = 1873
-ADAMANTINE_NUGGET = 1877
-BLACKSMITHS_FRAME = 1892
-COKES = 1879
-STEEL = 1880
-
-#Mobs
-SCAVENGER_WERERAT = 20039
-TUREK_WARHOUND = 20494
-TYRANT_KINGPIN = 20193
-TRISALIM_TARANTULA = 20561
-
-def findPetLvl (player, itemid) :
-    pet = player.getSummon()
-    if pet:
-        if pet.getId() == 12564 :
-            level = pet.getStat().getLevel()
-        else :
-            item = player.getInventory().getItemByItemId(itemid)
-            level = item.getEnchantLevel()
-    else :
-        item = player.getInventory().getItemByItemId(itemid)
-        level = item.getEnchantLevel()
-    return level
-
-class Quest (JQuest) :
-
- def __init__(self,id,name,descr):
-     JQuest.__init__(self,id,name,descr)
-     self.questItemIds = [SCAVENGER_WERERAT_SKULL, TUREK_WARHOUND_TAIL, TYRANT_KINGPIN_HEART, TRISALIM_TARANTULAS_VENOM_SAC, MANUAL_OF_MANACLES,
-                PENITENTS_MANACLES, PENITENTS_MANACLES1]
-
- def onAdvEvent (self,event,npc,player) :
-    htmltext = event
-    st = self.getQuestState(player, False)
-    if not st: return
-    if event == "Start" :
-        st.playSound("ItemSound.quest_accept")
-        st.setState(State.STARTED)
-        if player.getLevel() <= 20 :
-            htmltext = "30981-03.htm"
-            st.set("cond","1")
-            st.set("cond","2")
-        elif player.getLevel() <= 30 :
-            htmltext = "30981-04.htm"
-            st.set("cond","3")
-        elif player.getLevel() <= 40 :
-            htmltext = "30981-05.htm"
-            st.set("cond","4")
-        else :
-            htmltext = "30981-06.htm"
-            st.set("cond","5")
-    elif event == "1" :
-      if st.getQuestItemsCount(PENITENTS_MANACLES1) >= 1:
-          st.takeItems(PENITENTS_MANACLES1,-1)
-      if st.getQuestItemsCount(PENITENTS_MANACLES2) >= 1:
-          st.takeItems(PENITENTS_MANACLES2,-1)
-      if st.getQuestItemsCount(PENITENTS_MANACLES) >= 1:
-          st.takeItems(PENITENTS_MANACLES,-1)
-      htmltext = "30981-11.htm"
-      st.set("cond","16")
-      st.set("level",str(player.getLevel()))
-      st.giveItems(PENITENTS_MANACLES,1)
-    elif event == "2" :
-      htmltext = "30981-14.htm"
-    elif event == "3" :
-        plevel = findPetLvl(player,PENITENTS_MANACLES)
-        level = player.getLevel()
-        olevel = st.getInt("level")
-        pet = player.getSummon()
-        if pet:
-            if pet.getId() == 12564 :
-                htmltext = "30981-16.htm"
-        else :
-            if level > olevel :
-                Pk_remove = plevel - level
-            else :
-                Pk_remove = plevel - olevel
-            if Pk_remove < 0 :
-                Pk_remove = 0
-            Pk_remove = self.getRandom(10 + Pk_remove) + 1
-            if player.getPkKills() <= Pk_remove :
-                st.giveItems(PENITENTS_MANACLES2,1)
-                st.takeItems(PENITENTS_MANACLES,1)
-                htmltext = "30981-15.htm"
-                player.setPkKills(0)
-                st.playSound("ItemSound.quest_finish")
-                st.exitQuest(1)
-            else :
-                st.giveItems(PENITENTS_MANACLES2,1)
-                st.takeItems(PENITENTS_MANACLES,1)
-                htmltext = "30981-17.htm"
-                Pk_new = player.getPkKills() - Pk_remove
-                player.setPkKills(Pk_new)
-                st.set("level","0")
-    elif event == "4" :
-      htmltext = "30981-19.htm"
-    elif event == "Quit" :
-        htmltext = "30981-20.htm"
-        st.playSound("ItemSound.quest_finish")
-        st.takeItems(SCAVENGER_WERERAT_SKULL,-1)
-        st.takeItems(TUREK_WARHOUND_TAIL,-1)
-        st.takeItems(TYRANT_KINGPIN_HEART,-1)
-        st.takeItems(TRISALIM_TARANTULAS_VENOM_SAC,-1)
-        st.takeItems(PENITENTS_MANACLES1,-1)
-        st.takeItems(MANUAL_OF_MANACLES,-1)
-        st.takeItems(PENITENTS_MANACLES,-1)
-        st.exitQuest(1)
-    return htmltext
-
- def onTalk (self,npc,player):
-   htmltext = Quest.getNoQuestMsg(player)
-   st = self.getQuestState(player, True)
-   if not st : return htmltext
-   condition = st.getInt("cond")
-   npcId = npc.getId()
-   id = st.getState()
-   if npcId == 30981 : #Black Judge
-       if id == State.CREATED :
-           if player.getPkKills() >= 1:
-               htmltext = "30981-02.htm"
-           else:
-               htmltext = "30981-01.htm"
-               st.exitQuest(1)
-       elif condition <= 9 :
-           htmltext = "30981-07.htm"
-       elif condition == 13 and st.getQuestItemsCount(PENITENTS_MANACLES2) :
-           htmltext = "30981-10.htm"
-       elif condition <= 13 and condition > 9 and st.getQuestItemsCount(MANUAL_OF_MANACLES) == 0 :
-           htmltext = "30981-08.htm"
-           st.set("cond","14")
-           st.giveItems(MANUAL_OF_MANACLES,1)
-       elif condition == 14 and st.getQuestItemsCount(MANUAL_OF_MANACLES) > 0 :
-           htmltext = "30981-09.htm"
-       elif condition == 15 and st.getQuestItemsCount(PENITENTS_MANACLES1) > 0 :
-           htmltext = "30981-10.htm"
-       elif condition >= 16 :
-           if st.getQuestItemsCount(PENITENTS_MANACLES) > 0 :
-               plevel = findPetLvl(player,PENITENTS_MANACLES)
-               level = player.getLevel()
-               if st.getInt("level") > level :
-                   level = st.getInt("level")
-               if plevel :
-                   if plevel > level:
-                       htmltext = "30981-13.htm"
-                   else :
-                       htmltext = "30981-12.htm"
-               else :
-                   htmltext = "30981-12.htm"
-           else :
-               htmltext = "30981-18.htm"
-   elif npcId == 30668 : # Katari
-       if condition == 2 :
-           st.set("cond","6")
-           htmltext = "30668-01.htm"
-       elif condition == 6 :
-           if st.getQuestItemsCount(SCAVENGER_WERERAT_SKULL) < 10 :
-               htmltext = "30668-02.htm"
-           else :
-               st.set("cond","10")
-               htmltext = "30668-03.htm"
-               st.takeItems(SCAVENGER_WERERAT_SKULL,-1)
-       elif condition == 10 :
-           htmltext = "30668-04.htm"
-   elif npcId == 30597 : # Piotur
-       if condition == 3 :
-           st.set("cond","7")
-           htmltext = "30597-01.htm"
-       elif condition == 7 :
-           if st.getQuestItemsCount(TUREK_WARHOUND_TAIL) < 10 :
-               htmltext = "30597-02.htm"
-           else :
-               st.set("cond","11")
-               htmltext = "30597-03.htm"
-               st.takeItems(TUREK_WARHOUND_TAIL,-1)
-       elif condition == 11 :
-           htmltext = "30597-04.htm"
-   elif npcId == 30612 : # Casian
-       if condition == 4 :
-           st.set("cond","8")
-           htmltext = "30612-01.htm"
-       elif condition == 8 :
-           if st.getQuestItemsCount(TYRANT_KINGPIN_HEART) < 1 :
-               htmltext = "30612-02.htm"
-           else :
-               st.set("cond","12")
-               htmltext = "30612-03.htm"
-               st.takeItems(TYRANT_KINGPIN_HEART,-1)
-       elif condition == 12 :
-           htmltext = "30612-04.htm"
-   elif npcId == 30718 : # Joan
-       if condition == 5 :
-           st.set("cond","9")
-           htmltext = "30718-01.htm"
-       elif condition == 9 :
-           if st.getQuestItemsCount(TRISALIM_TARANTULAS_VENOM_SAC) < 3 :
-               htmltext = "30718-02.htm"
-           elif st.getQuestItemsCount(TRISALIM_TARANTULAS_VENOM_SAC) >= 3 :
-               st.set("cond","13")
-               htmltext = "30718-03.htm"
-               st.takeItems(TRISALIM_TARANTULAS_VENOM_SAC,-1)
-       elif condition == 13 :
-           htmltext = "30718-04.htm"
-   elif npcId == 30300: #Pushkin
-       if condition >= 14 :
-           if st.getQuestItemsCount(MANUAL_OF_MANACLES) == 1 :
-               if st.getQuestItemsCount(SILVER_NUGGET) < 10 or st.getQuestItemsCount(STEEL) < 5 or st.getQuestItemsCount(ADAMANTINE_NUGGET) < 2 \
-                  or st.getQuestItemsCount(COKES) < 10 or st.getQuestItemsCount(BLACKSMITHS_FRAME) < 1 :
-                   htmltext = "30300-02.htm"
-               elif st.getQuestItemsCount(SILVER_NUGGET) >= 10 and st.getQuestItemsCount(STEEL) >= 5 and st.getQuestItemsCount(ADAMANTINE_NUGGET) >= 2 \
-                    and st.getQuestItemsCount(COKES) >= 10 and st.getQuestItemsCount(BLACKSMITHS_FRAME) >= 1 :
-                   htmltext = "30300-02.htm"
-                   st.set("cond","15")
-                   st.takeItems(MANUAL_OF_MANACLES,1)
-                   st.takeItems(SILVER_NUGGET,10)
-                   st.takeItems(ADAMANTINE_NUGGET,2)
-                   st.takeItems(COKES,10)
-                   st.takeItems(STEEL,5)
-                   st.takeItems(BLACKSMITHS_FRAME,1)
-                   st.giveItems(PENITENTS_MANACLES1,1)
-                   st.playSound("ItemSound.quest_middle")
-           elif st.getQuestItemsCount(PENITENTS_MANACLES1) or st.getQuestItemsCount(PENITENTS_MANACLES) or st.getQuestItemsCount(PENITENTS_MANACLES2) :
-               htmltext = "30300-03.htm"
-   return htmltext
-
-
- def onKill(self,npc,player,isPet) :
-   st = self.getQuestState(player, False)
-   if not st : return
-   if st.getState() != State.STARTED : return
-   condition = st.getInt("cond")
-   npcId = npc.getId()
-   skulls = st.getQuestItemsCount(SCAVENGER_WERERAT_SKULL)
-   tails = st.getQuestItemsCount(TUREK_WARHOUND_TAIL)
-   heart = st.getQuestItemsCount(TYRANT_KINGPIN_HEART)
-   sacs = st.getQuestItemsCount(TRISALIM_TARANTULAS_VENOM_SAC)
-   if npcId == SCAVENGER_WERERAT :
-       if condition == 6 :
-           if skulls < 10 :
-               st.giveItems(SCAVENGER_WERERAT_SKULL,1)
-               if st.getQuestItemsCount(SCAVENGER_WERERAT_SKULL) == 10 :
-                   st.playSound("ItemSound.quest_middle")
-               else :
-                   st.playSound("ItemSound.quest_itemget")
-   elif npcId == TUREK_WARHOUND :
-       if condition == 7 :
-           if tails < 10 :
-               st.giveItems(TUREK_WARHOUND_TAIL,1)
-               if st.getQuestItemsCount(TUREK_WARHOUND_TAIL) == 10 :
-                   st.playSound("ItemSound.quest_middle")
-               else :
-                   st.playSound("ItemSound.quest_itemget")
-   elif npcId == TYRANT_KINGPIN :
-       if condition == 8 :
-           if heart < 1 :
-               st.giveItems(TYRANT_KINGPIN_HEART,1)
-               st.playSound("ItemSound.quest_middle")
-   elif npcId == TRISALIM_TARANTULA :
-       if condition == 9 :
-           if sacs < 3 :
-               st.giveItems(TRISALIM_TARANTULAS_VENOM_SAC,1)
-               if st.getQuestItemsCount(TRISALIM_TARANTULAS_VENOM_SAC) == 3 :
-                   st.playSound("ItemSound.quest_middle")
-               else :
-                   st.playSound("ItemSound.quest_itemget")
-   return
-
-QUEST       = Quest(422,qn,"Repent your Sins")
-
-QUEST.addStartNpc(30981)
-
-QUEST.addTalkId(30981)
-QUEST.addTalkId(30668)
-QUEST.addTalkId(30597)
-QUEST.addTalkId(30612)
-QUEST.addTalkId(30718)
-QUEST.addTalkId(30300)
-
-QUEST.addKillId(SCAVENGER_WERERAT)
-QUEST.addKillId(TUREK_WARHOUND)
-QUEST.addKillId(TYRANT_KINGPIN)
-QUEST.addKillId(TRISALIM_TARANTULA)

+ 3 - 2
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30300-01.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30300-01.html

@@ -1,5 +1,6 @@
 <html><body>Blacksmith Pushkin:<br>
-Manacles of a Penitent...? Ah yes. A strange item, but I can make them. Funny thing, too... I've been getting a lot of orders for these lately. They must be getting popular... <br>
+Manacles of a Penitent...? Ah yes. A strange item, but I can make them. Funny thing, too... I've been getting a lot of orders for these lately. They must be getting popular...<BR>
 I've memorized the ingredients: I'll need some Steel, an Adamantite Nugget... some silver...<br>
-Here, take this list. Verify that this is what you want to order. These are serious manacles and cannot be handled carelessly!
+Be certain this is what you want. 
+These are serious manacles and cannot be handled carelessly!
 </body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30300-02.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30300-02.html

@@ -1,4 +1,4 @@
 <html><body>Blacksmith Pushkin:<br>
 Manacles of a Penitent...? Ah yes. A strange item, but I can make them. Funny thing, too... I've been getting a lot of orders for these lately. They must be getting popular... In fact, so popular that I've run out of the ingredients I need to make them!<br>
-Would you mind going and getting the ingredients listed on this recipe? I will make the manacles for you if you do this.
+Go collect the items on this list, and I'll make the manacles for you.
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30300-03.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30300-03.html


+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30597-01.html

@@ -0,0 +1,5 @@
+<html><body>Piotur:<br>
+Are you here to hunt the <font color="LEVEL">Turek war hounds</font>? A while back a black-clad sage appeared and told me that someone like you was coming and I should ask for help with my needs.<br>
+When the war was over I returned to find my farm devastated by the filthy orcs! I hired mercenaries and managed to drive them off my land, but their cursed stray war hounds remain and are rampaging and killing my cattle. Recently they have even been threatening the farmers.<br>
+If you are here to help, please kill the <font color="LEVEL">Turek war hounds</font>. Please kill at least 10 of them! Of course they can be found near the <font color="LEVEL">Orc Barracks</font>!
+</body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30597-02.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30597-02.html


+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30597-03.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30597-03.html


+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30597-04.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30597-04.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30612-01.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30612-01.html

@@ -1,4 +1,4 @@
 <html><body>Sage Casian:<br>
-Why would you want to help me? Someone up there must like me. Things keep happening that give me the impression that my penance is being watched over. <br>
+Why would you want to help me?Someone up there must like me. Things keep happening that give me the impression that my penance is being watched over.<br>
 So, will you do me a favor? I am researching different ways that this polluted Wasteland can be restored to its previous, verdant state. The most promising method is a potion I've been working on. To make this potion I must secure the heart of a <font color="LEVEL">tyrant kingpin</font>. This could very well be above your abilities, but if you bring me the <font color="LEVEL">heart of a tyrant kingpin</font> my research can continue. You will find the beasts in the <font color="LEVEL">western part of the Wasteland</font>.
 </body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30612-02.html

@@ -0,0 +1,4 @@
+<html><body>Sage Casian:<br>
+Why haven't you brought me the heart of a tyrant kingpin yet? I realize that this is not an easy task. My work shall continue for several years, so there is no hurry. Take your time...<br>
+Oh, did I happen to mention that you can find quite a few <font color="LEVEL">tyrant kingpins in the western section of the Wasteland</font>?
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30612-03.html

@@ -0,0 +1,3 @@
+<html><body>Sage Casian:<br>
+Ah, the heart of a tyrant kingpin! Thank you! This will advance my research greatly. Now I must confess... In the past I was a terrible criminal. I undertook this project seeking redemption, but now I find that I am required to commit crimes to further my research! The importance of what I am doing, the big picture, is all that keeps me going...
+</body></html>

+ 1 - 2
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30612-04.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30612-04.html

@@ -1,4 +1,3 @@
 <html><body>Sage Casian:<br>
-Thanks to you my research can continue... By the way, what inspired you to help 
-a wretch such as I? I suppose we all have our own reasons...
+Thanks to you my research can continue... By the way, what inspired you to help a wretch such as I? I suppose we all have our own reasons...
 </body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30668-01.html

@@ -0,0 +1,5 @@
+<html><body>Katari:<br>
+At last! You have come for me! Oh, pardon me... I had a very vivid dream last night, and I've been waiting for someone like you to come for me. Just in case you were the one in my dreams, I wanted you to know. Well... then, I may as well ask you.<br>
+I and some religious Ol Mahums are being threatened by <font color="LEVEL">scavenger wererats</font>. They seem to be unaware of the teachings of the god of light. Everyone knows, even after a conversion, Ol Mahums are not to be trifled with. The same can be said of the Dark Elves. Our god of light is no coward, and I'm ready to teach them a thing or two.<br>
+Please, would you go kill these creatures? Bring back 10 <font color="LEVEL">skulls of scavenger wererats</font>. They can be found in the <font color="LEVEL">Neutral Zone</font>. Put a good scare into them, something to let them know they shouldn't pick on missionaries.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30668-02.html

@@ -0,0 +1,3 @@
+<html><body>Katari:<br>
+If I had my way, I would kill every last one of them. But even the most wicked have the chance of redemption. Perhaps one day they will come to the god of light... Anyway, now we must spill some blood. Go to the <font color="LEVEL">Neutral Zone</font> and hunt <font color="LEVEL">scavenger wererats</font>. Bring back 10 of their skulls.
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30668-03.html

@@ -0,0 +1,4 @@
+<html><body>Katari:<br>
+That should teach them a lesson. I was dreading having to send the Ol Mahums to do the killing, I hate to get them started. And then, from the mist, you appeared. My savior! And you gave them what for, didn't you! Einhasad is truly watching over me.<br>
+Thank you, my friend... I wish you all the best.
+</body></html>

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

@@ -0,0 +1,3 @@
+<html><body>Katari:<br>
+Why are you still here? Would you like to become a missionary? You taught those filthy scavenger wererats some respect for the blade, didn't you? We don't need your help right now, but I do hope you will drop in from time to time. I would like for you to meet some of our Ol Mahum believers. 
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30718-01.html

@@ -0,0 +1,3 @@
+<html><body>Magister Joan:<br>
+Greetings! I look forward to working with you. I am Magister Joan. I am researching the neutralization of the toxic element found in the Sea of Spores. I am sure you are familiar with that poisonous pond... Your task will be to collect three <font color="LEVEL">Trisalim's Venom Sacs</font>. You will find them in the <font color="LEVEL">Sea of Spores.</font> Please bring them to me as soon as possible.
+</body></html>

+ 2 - 2
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30718-02.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30718-02.html

@@ -1,4 +1,4 @@
 <html><body>Magister Joan:<br>
-Have you found three <font color="LEVEL">Trisalim Venom Sacs</font> yet? You have gone to the <font color="LEVEL">Sea of Spores.</font>, haven't you?<br>
-This research may seem unimportant to you, but it is of utmost importance to me and the entire Elven race! Although I am the only one who seems to care about it...
+Have you found three <font color="LEVEL">Trisalim Venom Sacs</font> yet? You have gone to the <font color="LEVEL">Sea of Spores</font>, haven't you?<br>
+This research may seem unimportant to you, but it is of utmost importance to me and the entire Elven race! Although I am the only one who seems to care about it... 
 </body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30718-03.html

@@ -0,0 +1,3 @@
+<html><body>Magister Joan:<br>
+You brought all three of them! Wonderful! As agreed, your compensation will be paid at the Ivory Tower... Huh? Wait, what is this... What are trying to pull?! According to my records, an adventurer in service to the Ivory Tower has already left for Innadril...! Who are you? 
+</body></html>

+ 6 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30718-04.html

@@ -0,0 +1,6 @@
+<html><body>Magister Joan:<br>
+Ah, it's you again! I'm so dreadfully sorry about the confusion last time. Yes, about your pay... I apologize, I'm waiting for approval and a check from the home office...<br>
+... err, ummm...<br>
+To tell you the truth, I hired you without the approval of the Grand Magisters of the Ivory Tower! You may be waiting a very, very, very long time for your compensation. Please forgive me! I am so ashamed of myself... I'm always getting into trouble. I'm also stubborn! And obsessive-compulsive! Is that a bad thing?<br>
+... By the way, who in the world are you?
+</body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-01.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-01.htm

@@ -1,4 +1,4 @@
 <html><body>Black Judge:<br>
-Throughout their lives people commit varying degrees of sin. You, however, have never committed a sin so grievious that you required our assistance... You are on the right path! Your integrity is impressive!<br>
+Throughout their lives people commit varying degrees of sin. You, however, have never committed a sin so grievous that you required our assistance... You are on the right path! Your integrity is impressive!<br>
 (This quest can only be undertaken by a character with a PK count of 1 or more.)
 </body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-02.htm

@@ -0,0 +1,5 @@
+<html><body>Black Judge:<br>
+Sinning is easy. Atoning for those sins, however, is much more difficult. Are you really prepared for this? We will test your resolve to its utmost on your journey of penitence...<br>
+Are you ready to follow the path away from riches and fame?<br>
+<a action="bypass -h Quest Q00422_RepentYourSins ACCEPT">"I seek redemption."</a> 
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-03.htm

@@ -0,0 +1,4 @@
+<html><body>Black Judge:<br>
+Very well, the test can begin. You must go and see <font color="LEVEL">Katari</font>, a Dark Elf. She teaches the word of Einhasad to godless heathens, such as the Ol Mahums... She needs your help.<br>
+Meet her at the <font color="LEVEL">edge of the Dark Elven Forest north of the Marshland</font> and offer her your help. Come back to see us after you complete this task.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-04.htm

@@ -0,0 +1,3 @@
+<html><body>Black Judge:<br>
+Very well, the testing can begin. You will go help a farmer who lost all his possessions during the war between Gracia and Aden. He was left with less than a handful of seed! But this tenacious farmer is bravely trying to cultivate his crops. His name is <font color="LEVEL">Piotur. You will find him near the Orc Barracks in the western part of Gludio</font>. Go there and help him. Come back and see us after you complete the task.
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-05.htm

@@ -0,0 +1,4 @@
+<html><body>Black Judge:<br>
+This is the first time that <font color="LEVEL">Elder Casian</font> has ever met with a black judge. He has volunteered to walk the path of endless hardship. Right now he is working on a task in <font color="LEVEL">the southern Wasteland in Gludio</font>. He is in trouble and needs some help... Go there and find him. Come back and see us when you have completed the task.<br>
+(This quest is automatically stopped if any sub-class is added or changed while it is performed.)
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-06.htm

@@ -0,0 +1,4 @@
+<html><body>Black Judge:<br>
+<font color="LEVEL">Magister Joan of the Ivory Tower</font>, the daughter of a forest fairy, does not realize the importance of the work she is doing. You must go and help her. You must not ask or answer any questions while dealing with her. Come back and see us after completing the task.<br>
+(This quest is automatically stopped if any sub-class is added or changed while it is performed.)
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-07.html

@@ -0,0 +1,3 @@
+<html><body>Black Judge:<br>
+You have not even taken one step forward on the path of penance. As I said before, this is not the way to fame or fortune. Nobody, including us black judges, can force you to follow this path. If you are having doubts, leave now and never come back.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-08.html

@@ -0,0 +1,3 @@
+<html><body>Black Judge:<br>
+Don't say a word. I can tell that you have completed your task. Take this to <font color="LEVEL">Blacksmith Pushkin in Giran Castle Town</font>. He will make an item for you. When he finishes it, bring it back to us.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-09.html

@@ -0,0 +1,3 @@
+<html><body>Black Judge:<br>
+There is no hurry. The path of penance will endlessly unfold in front of you. Go to <font color="LEVEL">Blacksmith Pushkin of the Town of Giran</font>. He will make an item for you. Bring this item to us. 
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-10.html

@@ -0,0 +1,4 @@
+<html><body>Black Judge:<br>
+Have you brought back the <font color="LEVEL">Manacles of Penitence</font>? You must bring them to me. You shall wear them until you have finished your penitence.<br>
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-11.html">Give her the manacles.</a>
+</body></html>

+ 2 - 6
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-11.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-11.html

@@ -1,10 +1,6 @@
 <html><body>Black Judge:<br>
-At the other end of this chain is the <font color="LEVEL">Sin Eater</font>. 
-He is your brother, and will come if you call his name. Now you must leave. 
-When you have completed your penance once, come back and see us. That will be the time 
-when you two will part your ways. At that time, you will be released from the manacles.<br>
+At the other end of this chain is the <font color="LEVEL">Sin Eater</font>. He is your brother, and will come if you call his name. Now you must leave. When you have completed your penance once, come back and see us. That will be the time when you two will part your ways. At that time, you will be released from the manacles.<br>
 <font color="LEVEL">(When the Sin Eater advances one level you will have completed this quest.)</font><br>
-<font color="LEVEL">All of the Exp that the character who summoned the Sin Eater has acquired will 
-be transferred to the Sin Eater.</font><br>
+<font color="LEVEL">All of the Exp that the character who summoned the Sin Eater has acquired will be transferred to the Sin Eater.</font><br>
 <font color="LEVEL">When the Sin Eater becomes hungry, you can feed him "Food For Wolves."</font>
 </body></html>

+ 6 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-12.html

@@ -0,0 +1,6 @@
+<html><body>Black Judge:<br>
+Your brother's hunger for your sins is not yet sated. Your penance must continue...  All the terrible feelings that you are experiencing... the feelings of embarrassment, confusion, loneliness, and boredom etc... they are the manifestation of your sins that are now getting dissolved and exposed...<br>
+<font color="LEVEL">(When the Sin Eater advances one level you will have completed this quest.)</font><br>
+<font color="LEVEL">All of the Exp that the character who summoned the Sin Eater has acquired will be transferred to the Sin Eater.</font><br>
+<font color="LEVEL">When the Sin Eater becomes hungry, you can feed him "Food For Wolves."</font>
+</body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-13.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-13.html

@@ -1,4 +1,4 @@
 <html><body>Black Judge:<br>
 Ha! Yes, your brother has grown fat on your sins, hasn't he? Let me see your hands.<br>
-<a action="bypass -h Quest 422_RepentYourSins 2">"Extend your manacled hands.</a> 
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-14.html">Extend your manacled hands.</a>
 </body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-14.html

@@ -0,0 +1,4 @@
+<html><body>Black Judge:<br>
+We now release you. <font color="LEVEL">Sin Eater</font> will return to the bottomless Abyss that spawned him. In there your sin will be absolved into the great void.<br>
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-15t.html">Ask what you have left for your sin</a>
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-15.html

@@ -0,0 +1,3 @@
+<html><body>Black Judge:<br>
+Your sins have been washed away. At least the ones we know about... The <font color="LEVEL">Sin Eater</font> can help you no further. You must make your own choices from now on, and become your own Sin Eater. 
+</body></html>

+ 2 - 3
L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/30981-16.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-15t.html

@@ -1,6 +1,5 @@
 <html><body>Black Judge:<br>
-These chains cannot be broken as long as your brother remains in this world. 
-You must now release him to return from whence he came.<br>
+These chains cannot be broken as long as your brother remains in this world. You must now release him to return from whence he came.<br>
 Release the <font color="LEVEL">sin eater</font>!<br>
-<a action="bypass -h Quest 422_RepentYourSins 3">Continue</a>
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-15t.html">Continue</a>
 </body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-16.html

@@ -0,0 +1,5 @@
+<html><body>Black Judge:<br>
+Ah, yes, there are more sins, aren't there... Are you willing to continue to carry out your task to atone for your sins?<br>
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-17.html">"I wish to atone for my remaining sins."</a><br>
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-18.html">Quit</a>
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-16t.html

@@ -0,0 +1,5 @@
+<html><body>Black Judge:<br>
+All of your transgressions have not yet been redeemed. You must begin your penitence once again. Would you be in need of a <font color="LEVEL">sin eater</font>?<br>
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-17.html">"I wish to atone for my sins."</a><br>
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-18.html">Quit</a>
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-17.html

@@ -0,0 +1,4 @@
+<html><body>Black Judge:<br>
+Very well. Give me your hands.<br>
+<a action="bypass -h Quest Q00422_RepentYourSins 30981-11.html">Extend your wrists.</a>
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/30981-18.html

@@ -0,0 +1,3 @@
+<html><body>Black Judge:<br>
+Have you grown weary of the path of penance? Do as you will. No one is forcing you to do this. You are the one who made all the wrong choices... If you have decided to live with them, we respect that. Walk your own path. 
+</body></html>

+ 509 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00422_RepentYourSins/Q00422_RepentYourSins.java

@@ -0,0 +1,509 @@
+/*
+ * 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.Q00422_RepentYourSins;
+
+import com.l2jserver.gameserver.enums.QuestSound;
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.L2Summon;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.util.Util;
+
+/**
+ * Repent Your Sins (422)
+ * @author ivantotov
+ */
+public final class Q00422_RepentYourSins extends Quest
+{
+	// NPCs
+	private static final int BLACKSMITH_PUSHKIN = 30300;
+	private static final int PIOTUR = 30597;
+	private static final int ELDER_CASIAN = 30612;
+	private static final int KATARI = 30668;
+	private static final int MAGISTER_JOAN = 30718;
+	private static final int BLACK_JUDGE = 30981;
+	// Items
+	private static final int RATMAN_SCAVENGERS_SKULL = 4326;
+	private static final int TUREK_WAR_HOUNDS_TAIL = 4327;
+	private static final int TYRANT_KINGPINS_HEART = 4328;
+	private static final int TRISALIM_TARANTULAS_VENOM_SAC = 4329;
+	private static final int PENITENTS_MANACLES1 = 4330;
+	private static final int MANUAL_OF_MANACLES = 4331;
+	private static final int PENITENTS_MANACLES = 4425;
+	// Reward
+	private static final int MANACLES_OF_PENITENT = 4426;
+	// Materials
+	private static final int SILVER_NUGGET = 1873;
+	private static final int ADAMANTITE_NUGGET = 1877;
+	private static final int COKES = 1879;
+	private static final int STEEL = 1880;
+	private static final int BLACKSMITHS_FRAME = 1892;
+	// Monster
+	private static final int SCAVENGER_WERERAT = 20039;
+	private static final int TYRANT_KINGPIN = 20193;
+	private static final int TUREK_WAR_HOUND = 20494;
+	private static final int TRISALIM_TARANTULA = 20561;
+	
+	public Q00422_RepentYourSins()
+	{
+		super(422, Q00422_RepentYourSins.class.getSimpleName(), "Repent Your Sins");
+		addStartNpc(BLACK_JUDGE);
+		addTalkId(BLACK_JUDGE, BLACKSMITH_PUSHKIN, PIOTUR, ELDER_CASIAN, KATARI, MAGISTER_JOAN);
+		addKillId(SCAVENGER_WERERAT, TYRANT_KINGPIN, TUREK_WAR_HOUND, TRISALIM_TARANTULA);
+		registerQuestItems(RATMAN_SCAVENGERS_SKULL, TUREK_WAR_HOUNDS_TAIL, TYRANT_KINGPINS_HEART, TRISALIM_TARANTULAS_VENOM_SAC, PENITENTS_MANACLES1, MANUAL_OF_MANACLES, PENITENTS_MANACLES);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		final QuestState qs = getQuestState(player, false);
+		if (qs == null)
+		{
+			return null;
+		}
+		
+		String htmltext = null;
+		switch (event)
+		{
+			case "ACCEPT":
+			{
+				qs.startQuest();
+				if ((player.getLevel() > 20) && (player.getLevel() < 31))
+				{
+					playSound(player, QuestSound.ITEMSOUND_QUEST_ACCEPT);
+					qs.setMemoState(2);
+					qs.setCond(3);
+					htmltext = "30981-04.htm";
+				}
+				else if (player.getLevel() < 21)
+				{
+					qs.setMemoState(1);
+					qs.setMemoStateEx(1, 0);
+					qs.setCond(2);
+					htmltext = "30981-03.htm";
+				}
+				else if ((player.getLevel() > 30) && (player.getLevel() < 41))
+				{
+					qs.setMemoState(3);
+					qs.setCond(4);
+					htmltext = "30981-05.htm";
+				}
+				else
+				{
+					qs.setMemoState(4);
+					qs.setCond(5);
+					htmltext = "30981-06.htm";
+				}
+				break;
+			}
+			case "30981-11.html":
+			{
+				if ((qs.getMemoState() >= 9) && (qs.getMemoState() <= 12))
+				{
+					if (hasAtLeastOneQuestItem(player, MANACLES_OF_PENITENT, PENITENTS_MANACLES1))
+					{
+						if (hasQuestItems(player, PENITENTS_MANACLES1))
+						{
+							takeItems(player, PENITENTS_MANACLES1, 1);
+						}
+						
+						if (hasQuestItems(player, MANACLES_OF_PENITENT))
+						{
+							takeItems(player, MANACLES_OF_PENITENT, 1);
+						}
+						qs.setMemoStateEx(1, player.getLevel());
+						giveItems(player, PENITENTS_MANACLES, 1);
+						qs.setCond(16);
+						htmltext = event;
+					}
+				}
+				break;
+			}
+			case "30981-14.html":
+			case "30981-17.html":
+			{
+				if ((qs.getMemoState() >= 9) && (qs.getMemoState() <= 12))
+				{
+					htmltext = event;
+				}
+				break;
+			}
+			case "30981-15t.html":
+			{
+				final L2ItemInstance petItem = player.getInventory().getItemByItemId(PENITENTS_MANACLES);
+				final int petLevel = (petItem == null) ? 0 : petItem.getEnchantLevel();
+				if ((qs.getMemoState() >= 9) && (qs.getMemoState() <= 12) && (petLevel > qs.getMemoStateEx(1)))
+				{
+					final L2Summon summon = player.getSummon();
+					if (summon != null)
+					{
+						htmltext = event;
+					}
+					else
+					{
+						int i1 = 0;
+						if (player.getLevel() > qs.getMemoStateEx(1))
+						{
+							i1 = petLevel - qs.getMemoStateEx(1) - (player.getLevel() - qs.getMemoStateEx(1));
+						}
+						else
+						{
+							i1 = petLevel - qs.getMemoStateEx(1);
+						}
+						
+						if (i1 < 0)
+						{
+							i1 = 0;
+						}
+						
+						int i0 = getRandom(i1) + 1;
+						if (player.getPkKills() <= i0)
+						{
+							giveItems(player, MANACLES_OF_PENITENT, 1);
+							if (petItem != null)
+							{
+								takeItems(player, PENITENTS_MANACLES, -1);
+							}
+							htmltext = "30981-15.html";
+							
+							player.setPkKills(0);
+							qs.exitQuest(true, true);
+						}
+						else
+						{
+							giveItems(player, MANACLES_OF_PENITENT, 1);
+							if (petItem != null)
+							{
+								takeItems(player, PENITENTS_MANACLES, -1);
+							}
+							htmltext = "30981-16.html";
+							
+							player.setPkKills(player.getPkKills() - i0);
+							qs.setMemoStateEx(1, 0);
+						}
+					}
+				}
+				break;
+			}
+			case "30981-18.html":
+			{
+				if ((qs.getMemoState() >= 9) && (qs.getMemoState() <= 12))
+				{
+					qs.exitQuest(true, true);
+					htmltext = event;
+				}
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@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 SCAVENGER_WERERAT:
+				{
+					if (qs.isMemoState(5) && (getQuestItemsCount(killer, RATMAN_SCAVENGERS_SKULL) < 10))
+					{
+						if (getQuestItemsCount(killer, RATMAN_SCAVENGERS_SKULL) == 9)
+						{
+							giveItems(killer, RATMAN_SCAVENGERS_SKULL, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+						}
+						else
+						{
+							giveItems(killer, RATMAN_SCAVENGERS_SKULL, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+				case TYRANT_KINGPIN:
+				{
+					if (qs.isMemoState(7) && !hasQuestItems(killer, TYRANT_KINGPINS_HEART))
+					{
+						giveItems(killer, TYRANT_KINGPINS_HEART, 1);
+						playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+					}
+					break;
+				}
+				case TUREK_WAR_HOUND:
+				{
+					if (qs.isMemoState(6) && (getQuestItemsCount(killer, TUREK_WAR_HOUNDS_TAIL) < 10))
+					{
+						if (getQuestItemsCount(killer, TUREK_WAR_HOUNDS_TAIL) == 9)
+						{
+							giveItems(killer, TUREK_WAR_HOUNDS_TAIL, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+						}
+						else
+						{
+							giveItems(killer, TUREK_WAR_HOUNDS_TAIL, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+				case TRISALIM_TARANTULA:
+				{
+					if (qs.isMemoState(8) && (getQuestItemsCount(killer, TRISALIM_TARANTULAS_VENOM_SAC) < 3))
+					{
+						if (getQuestItemsCount(killer, TRISALIM_TARANTULAS_VENOM_SAC) == 2)
+						{
+							giveItems(killer, TRISALIM_TARANTULAS_VENOM_SAC, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+						}
+						else
+						{
+							giveItems(killer, TRISALIM_TARANTULAS_VENOM_SAC, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					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() == BLACK_JUDGE)
+			{
+				if (player.getPkKills() == 0)
+				{
+					htmltext = "30981-01.htm";
+				}
+				else
+				{
+					htmltext = "30981-02.htm";
+				}
+			}
+		}
+		else if (qs.isStarted())
+		{
+			switch (npc.getId())
+			{
+				case BLACK_JUDGE:
+				{
+					if (memoState == 1000)
+					{
+						takeItems(player, PENITENTS_MANACLES, 1);
+					}
+					else if (memoState < 9)
+					{
+						htmltext = "30981-07.html";
+					}
+					else if ((memoState >= 9) && (memoState <= 12))
+					{
+						if (!hasAtLeastOneQuestItem(player, MANUAL_OF_MANACLES, MANACLES_OF_PENITENT, PENITENTS_MANACLES1, PENITENTS_MANACLES))
+						{
+							giveItems(player, MANUAL_OF_MANACLES, 1);
+							qs.setCond(14, true);
+							htmltext = "30981-08.html";
+						}
+						else if (hasQuestItems(player, MANUAL_OF_MANACLES) && !hasAtLeastOneQuestItem(player, MANACLES_OF_PENITENT, PENITENTS_MANACLES1, PENITENTS_MANACLES))
+						{
+							htmltext = "30981-09.html";
+						}
+						else if (hasQuestItems(player, PENITENTS_MANACLES1) && !hasAtLeastOneQuestItem(player, MANUAL_OF_MANACLES, MANACLES_OF_PENITENT, PENITENTS_MANACLES))
+						{
+							htmltext = "30981-10.html";
+						}
+						else if (hasQuestItems(player, PENITENTS_MANACLES))
+						{
+							final L2ItemInstance petItem = player.getInventory().getItemByItemId(PENITENTS_MANACLES);
+							final int petLevel = (petItem == null) ? 0 : petItem.getEnchantLevel();
+							if (petLevel < (qs.getMemoStateEx(1) + 1))
+							{
+								htmltext = "30981-12.html";
+							}
+							else
+							{
+								htmltext = "30981-13.html";
+							}
+						}
+						else if (hasQuestItems(player, MANACLES_OF_PENITENT) && !hasQuestItems(player, PENITENTS_MANACLES))
+						{
+							htmltext = "30981-16t.html";
+						}
+					}
+					break;
+				}
+				case BLACKSMITH_PUSHKIN:
+				{
+					if ((memoState >= 9) && (memoState <= 12))
+					{
+						if (!hasAtLeastOneQuestItem(player, PENITENTS_MANACLES1, PENITENTS_MANACLES, MANACLES_OF_PENITENT) && hasQuestItems(player, MANUAL_OF_MANACLES))
+						{
+							if ((getQuestItemsCount(player, BLACKSMITHS_FRAME) > 0) && (getQuestItemsCount(player, STEEL) >= 5) && (getQuestItemsCount(player, ADAMANTITE_NUGGET) >= 2) && (getQuestItemsCount(player, SILVER_NUGGET) >= 10) && (getQuestItemsCount(player, COKES) >= 10))
+							{
+								takeItems(player, SILVER_NUGGET, 10);
+								takeItems(player, ADAMANTITE_NUGGET, 2);
+								takeItems(player, COKES, 10);
+								takeItems(player, STEEL, 5);
+								takeItems(player, BLACKSMITHS_FRAME, 1);
+								giveItems(player, PENITENTS_MANACLES1, 1);
+								takeItems(player, MANUAL_OF_MANACLES, 1);
+								qs.setCond(15, true);
+								htmltext = "30300-01.html";
+							}
+							else
+							{
+								htmltext = "30300-02.html";
+							}
+						}
+						else if (hasAtLeastOneQuestItem(player, PENITENTS_MANACLES1, PENITENTS_MANACLES, MANACLES_OF_PENITENT))
+						{
+							htmltext = "30300-03.html";
+						}
+					}
+					break;
+					
+				}
+				case PIOTUR:
+				{
+					if (memoState == 2)
+					{
+						qs.setMemoState(6);
+						qs.setCond(7, true);
+						htmltext = "30597-01.html";
+					}
+					else if (memoState == 6)
+					{
+						if (getQuestItemsCount(player, TUREK_WAR_HOUNDS_TAIL) < 10)
+						{
+							htmltext = "30597-02.html";
+						}
+						else
+						{
+							takeItems(player, TUREK_WAR_HOUNDS_TAIL, -1);
+							qs.setMemoState(10);
+							qs.setCond(11, true);
+							htmltext = "30597-03.html";
+						}
+					}
+					else if (memoState == 10)
+					{
+						htmltext = "30597-04.html";
+					}
+					break;
+				}
+				case ELDER_CASIAN:
+				{
+					if (memoState == 3)
+					{
+						qs.setMemoState(7);
+						qs.setCond(8, true);
+						htmltext = "30612-01.html";
+					}
+					else if (memoState == 7)
+					{
+						if (!hasQuestItems(player, TYRANT_KINGPINS_HEART))
+						{
+							htmltext = "30612-02.html";
+						}
+						else
+						{
+							takeItems(player, TYRANT_KINGPINS_HEART, -1);
+							qs.setMemoState(11);
+							qs.setCond(12, true);
+							htmltext = "30612-03.html";
+						}
+					}
+					else if (memoState == 11)
+					{
+						htmltext = "30612-04.html";
+					}
+					break;
+				}
+				case KATARI:
+				{
+					if (memoState == 1)
+					{
+						qs.setMemoState(5);
+						qs.setCond(6, true);
+						htmltext = "30668-01.html";
+					}
+					else if (memoState == 5)
+					{
+						if (getQuestItemsCount(player, RATMAN_SCAVENGERS_SKULL) < 10)
+						{
+							htmltext = "30668-02.html";
+						}
+						else
+						{
+							takeItems(player, RATMAN_SCAVENGERS_SKULL, -1);
+							qs.setMemoState(9);
+							qs.setCond(10, true);
+							htmltext = "30668-03.html";
+						}
+					}
+					else if (memoState == 9)
+					{
+						htmltext = "30668-04.html";
+					}
+					break;
+				}
+				case MAGISTER_JOAN:
+				{
+					if (memoState == 4)
+					{
+						qs.setMemoState(8);
+						qs.setCond(9, true);
+						htmltext = "30718-01.html";
+					}
+					else if (memoState == 8)
+					{
+						if (getQuestItemsCount(player, TRISALIM_TARANTULAS_VENOM_SAC) < 3)
+						{
+							htmltext = "30718-02.html";
+						}
+						else
+						{
+							takeItems(player, TRISALIM_TARANTULAS_VENOM_SAC, -1);
+							qs.setMemoState(12);
+							qs.setCond(13, true);
+							htmltext = "30718-03.html";
+						}
+					}
+					else if (memoState == 12)
+					{
+						htmltext = "30718-04.html";
+					}
+					break;
+				}
+			}
+		}
+		return htmltext;
+	}
+}

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

@@ -360,6 +360,7 @@ import quests.Q00417_PathOfTheScavenger.Q00417_PathOfTheScavenger;
 import quests.Q00418_PathOfTheArtisan.Q00418_PathOfTheArtisan;
 import quests.Q00420_LittleWing.Q00420_LittleWing;
 import quests.Q00421_LittleWingsBigAdventure.Q00421_LittleWingsBigAdventure;
+import quests.Q00422_RepentYourSins.Q00422_RepentYourSins;
 import quests.Q00423_TakeYourBestShot.Q00423_TakeYourBestShot;
 import quests.Q00426_QuestForFishingShot.Q00426_QuestForFishingShot;
 import quests.Q00431_WeddingMarch.Q00431_WeddingMarch;
@@ -837,6 +838,7 @@ public class QuestMasterHandler
 		Q00418_PathOfTheArtisan.class,
 		Q00420_LittleWing.class,
 		Q00421_LittleWingsBigAdventure.class,
+		Q00422_RepentYourSins.class,
 		Q00423_TakeYourBestShot.class,
 		Q00426_QuestForFishingShot.class,
 		Q00431_WeddingMarch.class,

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

@@ -0,0 +1 @@
+UPDATE character_quests SET name='Q00422_RepentYourSins' WHERE name='422_RepentYourSins';