Forráskód Böngészése

Quest: Test Of The Champion (223)

ivantotov 10 éve
szülő
commit
4862c23429
79 módosított fájl, 807 hozzáadás és 388 törlés
  1. 0 1
      L2J_DataPack/dist/game/data/scripts.cfg
  2. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30093-02.htm
  3. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-01.htm
  4. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-02.htm
  5. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-03.htm
  6. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-04.htm
  7. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-05.htm
  8. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-06.htm
  9. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-07.htm
  10. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-08.htm
  11. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-09.htm
  12. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-01.htm
  13. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-02.htm
  14. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-03.htm
  15. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-04.htm
  16. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-05.htm
  17. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-06.htm
  18. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-07.htm
  19. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-08.htm
  20. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-09.htm
  21. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-10.htm
  22. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-11.htm
  23. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-12.htm
  24. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-13.htm
  25. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-14.htm
  26. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-15.htm
  27. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-16.htm
  28. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-17.htm
  29. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-01.htm
  30. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-02.htm
  31. 0 5
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-03.htm
  32. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-04.htm
  33. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-05.htm
  34. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-06.htm
  35. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-07.htm
  36. 0 248
      L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/__init__.py
  37. 2 2
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-01.html
  38. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-02.html
  39. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-03.html
  40. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-04.html
  41. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-05.html
  42. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-06.html
  43. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-01.html
  44. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-02.html
  45. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-03.html
  46. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-04.html
  47. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-05.html
  48. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-06.html
  49. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-07.html
  50. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-08.html
  51. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-09.html
  52. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-01.html
  53. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-02.html
  54. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-03.htm
  55. 6 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-04.html
  56. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-05.htm
  57. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-06.htm
  58. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-06a.htm
  59. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-07.html
  60. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-08.html
  61. 7 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-09.html
  62. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-10.html
  63. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-11.html
  64. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-12.html
  65. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-13.html
  66. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-14.html
  67. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-15.html
  68. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-16.html
  69. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-17.html
  70. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-01.html
  71. 7 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-02.html
  72. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-03.html
  73. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-04.html
  74. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-05.html
  75. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-06.html
  76. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-07.html
  77. 658 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/Q00223_TestOfTheChampion.java
  78. 2 0
      L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java
  79. 2 1
      L2J_DataPack/dist/sql/game/updates/20141120update.sql

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

@@ -221,7 +221,6 @@ quests/184_Nikolas_Cooperation_Contract/__init__.py
 quests/185_Nikolas_Cooperation_Consideration/__init__.py
 quests/216_TrialOfGuildsman/__init__.py
 quests/222_TestOfDuelist/__init__.py
-quests/223_TestOfChampion/__init__.py
 quests/224_TestOfSagittarius/__init__.py
 quests/225_TestOfSearcher/__init__.py
 quests/226_TestOfHealer/__init__.py

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30093-02.htm

@@ -1,5 +0,0 @@
-<html><body>Trader Groot:<br>
-Ah! Thank you so very much. This is such a blessing, as I was badly needing help. Could you do me one more favor? I must gather<font color="LEVEL"> antidote ingredients</font>.<br>
-I am concerned about the increase in the number of soldiers poisoned by Medusa's venom, but near destruction? That's a serious exaggeration.<br>
-In order to create the antidote, I will need 3 ingredients. They are<font color="LEVEL"> the Harpy's Egg, Medusa Venom, and Windsus' Bile</font>. There is no need to search afar for these ingredients, they are all quite common right here in Giran. I know that there is an abundance of harpies and windsus near the Corridor of Death. Please gather<font color="LEVEL"> 30 each</font> of the ingredients. Thank you.
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-01.htm

@@ -1,4 +0,0 @@
-<html><body>Captain Mouen:<br>
- This letter...? Whew... Are you sent by Ascalon...?<br>
-<a action="bypass -h Quest 223_TestOfChampion 30196_1">"Why are you sighing so deeply?"</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-02.htm

@@ -1,4 +0,0 @@
-<html><body>Captain Mouen:<br>
-Ascalon was my teacher when I was young. He used to be a good soldier, but he is too old these days, and often lets his mind astray. In other words, age has begun to tell on him... But to me he is like a father, and I can't oppose what he says. Nowadays he is caught in self delusion and keeps saying that he himself is the only one who can save the kingdom from its enemies. That's why I worry sick about him...<br>
-<a action="bypass -h Quest 223_TestOfChampion 30196_2">"But did you say the big troop of scavengers is threatening the peace of our kingdom?..."</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-03.htm

@@ -1,4 +0,0 @@
-<html><body>Captain Mouen:<br>
-<font color="LEVEL">The road scavengers</font> are surely a nuisance if not 'a troop of outsiders threatening our kingdom' as my teacher said. They are plundering near the trade routes which connects Oren and Giran and the damage is serious enough.<br>
-Go to the<font color="LEVEL">  Corridor of Death</font> and wipe them out, for the purpose of carrying out the teacher's command as well as getting rid of those 'pains in the ass'. During the fight be aware of the possible attacks from the<font color="LEVEL"> road collectors</font>. If you bring me<font color="LEVEL"> 10 heads </font> I will write a letter describing you as the hero who saved the kingdom. I am pretty sure that your teacher will be pleased to read such a letter...
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-04.htm

@@ -1,3 +0,0 @@
-<html><body>Captain Mouen:<br>
-Go to the<font color="LEVEL"> Corridor of Death</font> and wipe out the<font color="LEVEL"> road scavengers</font>. During the fight be aware of the possible attacks from the<font color="LEVEL"> road collectors</font>. If you bring me<font color="LEVEL"> 10 heads </font> I will write a letter describing you as the hero who saved the kingdom. I am pretty sure that your teacher will be pleased to read such a letter...
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-05.htm

@@ -1,4 +0,0 @@
-<html><body>Captain Mouen:<br>
-We're in trouble!<font color="LEVEL"> It turned out to be that the road scavengers that you got rid of were merely an instrument of the leto lizardmen!</font> There is news that the leto lizards are planning a large scale attack on Giran Castle. I guess that Ascalon was right. We must attack them first before they attack us! Many troops have already been sent. Please join them in the fight!<br>
-<a action="bypass -h Quest 223_TestOfChampion 30196_3">"I will join the fight!"</a>
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-06.htm

@@ -1,3 +0,0 @@
-<html><body>Captain Mouen:<br>
-Very well! Kill all the<font color="LEVEL"> leto lizardmen </font>and bring back their<font color="LEVEL"> canine teeth</font> as a proof.<font color="LEVEL"> 10 teeth</font> will be enough for everyone to accept you as the hero who defeated the enemies. Ascalon will be very happy to hear that you made a remarkable contribution!
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-07.htm

@@ -1,3 +0,0 @@
-<html><body>Captain Mouen:<br>
-Fight against the army of<font color="LEVEL"> leto lizardman</font>! And bring<font color="LEVEL"> 10 canine teeth from the dead bodies of the lizardmen</font>. That will be sufficient to claim that you have defeated the lizardmen!
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-08.htm

@@ -1,3 +0,0 @@
-<html><body>Captain Mouen:<br>
-Congratulations on your safe return, Warrior. You have been of remarkable help in the defeating of the reto lizardmen who were threatening the town of Giran. People are already talking about your achievement. Now! Now take this letter with you and go back to<font color="LEVEL"> Ascalon</font>. I wrote in the letter about the battle here and your contributions in the victory. I bet that your teacher will be pleased to read it.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30196-09.htm

@@ -1,3 +0,0 @@
-<html><body>Captain Mouen:<br>
-Your teacher will be able to retire in peace since he knows of a young man like you who he can rely on.
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-01.htm

@@ -1,5 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Would you like to hear about my splendid past? When I was young I used to be hired as a soldier. Back in those days I wandered around freely and fought against the alien army and made love with foreign women. There were times when things seemed to be too harsh, but even then, my blazing spirits as a Warrior never burned low. The flaming friendship among comrades, struggles, fierce battles, love and romance, I experienced them all. We were true Warriors.<br>
-But I am too old now. If I find a talented young fellow who will succeed me, I would like to retire in peace. Is there a righteous and talented young lad among your friends? If there is such person, please recommend him to me.<br>
-(Quest for Warriors and Orc Marauders, level 39 and above.)
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-02.htm

@@ -1,5 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Would you like to hear about my splendid past? When I was young I used to be hired as a soldier. Back in those days I wandered around freely and fought against the alien army and made love with foreign women. There were times when things seemed to be too harsh, but even then, my blazing spirits as a Warrior never burned low. The flaming friendship among comrades, struggles, fierce battles, love and romance, I experienced them all. We were true Warriors.<br>
-But I am too old now. If I find a talented young fellow who will succeed me, I would like to retire in peace. If only you can enhance your skills a bit more, you could be the one to succeed me. What do you think? Will you come back to me after you have improved your skills?<br>
-(Quest for Warriors and Orc Marauders, level 39 and above.)
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-03.htm

@@ -1,5 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Would you like to hear about my splendid past? When I was young I used to be hired as a soldier. Back in those days I wandered around freely and fought against the alien army and made love with foreign women. There were times when things seemed to be too harsh, but even then, my blazing spirits as a Warrior never burned low. The flaming friendship among comrades, struggles, fierce battles, love and romance, I experienced them all. We were true Warriors.<br>
-But I am too old now. If I find a talented young fellow who will succeed me, I would like to retire in peace. I can see that you are quite a strong Warrior, what do you think? Will you try to the<font color="LEVEL"> Test of the Champion</font>?<br>
-<a action="bypass -h Quest 223_TestOfChampion 30624_1">Challenge the Test of the Champion</a>
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-04.htm

@@ -1,5 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Oops! Aren't you an Orc? You look strong, sure thing. Are you a Warrior by any chance? Or perhaps a hired soldier? You remind me of my younger days when I used to work as a hired soldier... When I was young I used to be hired as a soldier. Back in those days I wandered around freely and fought against the alien army and made love with foreign women. There were times when things seemed to be too harsh, but even then, my blazing spirits as a Warrior never burned low. The flaming friendship among comrades, struggles, fierce battles, love and romance, I experienced them all. We were true Warriors.<br>
-But I am too old now. If I find a talented young fellow who will succeed me, I would like to retire in peace. I can see that you are quite a well-trained Warrior, what do you say? Will you try to the<font color="LEVEL"> Test of the Champion</font>?<br>
-<a action="bypass -h Quest 223_TestOfChampion 30624_1">Challenge the Test of the Champion</a>
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-05.htm

@@ -1,6 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Things have not changed so much since the time I was active as a soldier. Well, actually it has turned more chaotic and violent. The Blue Shark, the Black Lion, the Storm Blade, and the Iron Rose which I belonged to... Many troops are fighting in various regions with alien armies at the moment. There has never been a time in history when the aliens were so warlike.<br>
-All the leaders from each tribe, and the Masters, Sorcerers and Priests from many other guilds... They are all complaining that the situation now is very unnatural. Including the Hunters' Union, all the secret agents from each and every domain are looking behind the scenes, but for the moment we have no choice but to face the aliens and fight them in order to protect ourselves.<br>
- I wish to do something fruitful before I retire. Although I am too weak to participate in the war myself, I shall teach you. While you are taking the test, be sure to do exactly as I tell you to do. Am I clear!<br>
-<a action="bypass -h Quest 223_TestOfChampion 1">"I shall obey your orders!"</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-06.htm

@@ -1,4 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Good! Then first, go and visit my old friend<font color="LEVEL"> Mason</font>. He was a comrade of mine. We used to fight together in the battlefields in part of the Iron Rose. Although he has retired now, I am sure he is informed more than anyone else about the invaders who are threatening the townsmen of Dion. Perhaps he might even pick up a spear and head off to the battlefields, stimulated by your young spirits...<br>
-I heard that Mason, the master of spears, is living happily with his family<font color="LEVEL"> somewhere in Southern Dion</font>. If you bring this letter which has my stamp on it, he will greet you.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-07.htm

@@ -1,3 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Go and meet my old fellow soldier,<font color="LEVEL"> Mason</font>. He was the master of spears and my good old faithful friend. I heard that he settled down<font color="LEVEL"> somewhere in Southern Dion</font>, I really wonder how he is.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-08.htm

@@ -1,3 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-So, you met Mason? You are going to seek revenge for him? But... What do you mean revenge..., Revenge to whom...?
-</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-09.htm

@@ -1,7 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-You have returned! How was Mason? Please tell me in detail.<br>
-...You say with your mouth that he is living happily, but the expression on your face says something else. Tell me the truth!<br>
-...What! Never did I imagine that he would be living a lonely, wretched life after losing all his family during the assault of Grecia... Perhaps his agony would be much lessened by now, since you have completed his revenge.<br>
-A Warrior must share the pains with his fellow, but still we cannot stop fighting. It is time for you to fight once more.<br>
-<a action="bypass -h Quest 223_TestOfChampion 30624_2">Ask about the next battle</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-10.htm

@@ -1,4 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Did you hear that not long ago, the guards and the soldiers fought against the medusas in order to protect Giran? They all fought with all their might and beat off the medusas, but during the fight many soldiers were infected by the deadly poison of the medusas. If we leave them like that they will all die very soon. And just imagine what will happen if the medusas make their second attack! .. It is urgent that we find the cure...<br>
-Rather, an antidote to neutralize the medusa's poison. But even the Priests do not know how to make it. However, my old companion<font color="LEVEL"> Groot</font> will find a way. He used to work as a medic for the Iron Rose, and we were together in the battlefields for more than 10 years. I heard that he now owns a store in<font color="LEVEL"> Giran Castle Town</font>. Go and help him make an antidote.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-11.htm

@@ -1,3 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Hurry and meet<font color="LEVEL"> Magic Trader Groot</font>. He used to be a medic of the Iron Rose back then, but now he is making a living out of a magic shop in<font color="LEVEL"> Giran Castle Town</font>. Go and help him make the antidote to neutralize medusa's poison. Even at this very moment, many guards and soldiers are dying out because of the poison.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-12.htm

@@ -1,3 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Groot, my good friend who I shared my fate with. Go and help him make the antidote to neutralize the medusa's poison. Even at this very moment, many guards and soldiers are dying out because of the poison.
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-13.htm

@@ -1,4 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Well done! The soldiers of Giran will soon recover. Thank God for that. However we have a new problem. A big problem which can only be solved by us...<br>
-<a action="bypass -h Quest 223_TestOfChampion 30624_3">Ask about the next battle</a>
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-14.htm

@@ -1,3 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-There has been a message from the Town of Oren that it is about to be reduced by the<font color="LEVEL"> great army of road scavengers</font>. We need as many volunteers as possible to help protect the Town of Oren. Go and meet<font color="LEVEL"> Captain Mouen of the Town of Oren</font>, and follow his instructions. Always be reminded that the destiny of the whole kingdom lies in this battle!
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-15.htm

@@ -1,3 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Hurry, go and meet<font color="LEVEL"> Captain Mouen of the Town of Oren</font>. He will tell you about the<font color="LEVEL"> road scavengers</font>,a great force which is threatening the entire kingdom.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-16.htm

@@ -1,3 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-Mouen, that guy used to be a pupil of mine as a kid to whom I taught swordmanship, and he has already grown up into a fine Captain of the town. Go and help him protect the peace of this kingdom!
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30624-17.htm

@@ -1,3 +0,0 @@
-<html><body>Veteran Ascalon:<br>
-I have been hearing about your great activities! You are indeed the true Warrior! My successor! I shall give you the<font color="LEVEL"> Mark of the Champion</font> in recognition to your military arts and bravery! The mark is only given to the few people who are proven the best among the continent's Warriors' Guild. I, Ascalon assure you, that this mark will be the guarantee to your bright future!
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-01.htm

@@ -1,4 +0,0 @@
-<html><body>Mason:<br>
-I have lost my wife and children due to Grecia's attack. The people of Grecia's army are my lifelong enemies because they have deprived me of my most precious thing, my family. They are the Ol Mahums who are also called as the 'Bloody Axe'. I swear to God that I will revenge them some day.<br>
-<a action="bypass -h Quest 223_TestOfChampion 30625_1">Show him the letter from Ascalon.</a>
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-02.htm

@@ -1,6 +0,0 @@
-<html><body>Mason:<br>
-Ascalon... It is a name that I have long forgotten... After I quit my job in the army, I got married to a beautiful woman called Lillian and we settled down in my hometown of Dion where we spent some happy and peaceful days.<br>
-And then one day, Grecia's army attacked and they killed my wife and children. Since then alcohol has been my only company. I often find myself crying by the riverside in grief of having to let my loved ones go...<br>
-Grecia's army is my lifelong enemy because they deprived me of my most precious thing, my family.<font color="LEVEL"> I swear that I'll revenge on them.</font> Will you help me?<br>
-<a action="bypass -h Quest 223_TestOfChampion 30625_2">Say you will help</a>
-</body></html>

+ 0 - 5
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-03.htm

@@ -1,5 +0,0 @@
-<html><body>Mason:<br>
-Up until this day, I wished I could tear the remaining soldiers in Grecia's army in this territory to death. But I am afraid that I grew too weak to revenge them myself.<br>
-I will give you this ring that I wore in my army days. Please wear it and seek my revenge. Kill them all, kill the<font color="LEVEL"> Bloody Axe</font> who took away the lives of my dear family. Those Ol Mahums are staying in the<font color="LEVEL"> northern part of Oren</font>. You will be able to find their army post when you move farther north from the Corridor of Death of Kiran.<br>
- It won't be enough until you have at least cut down<font color="LEVEL">10 heads</font> of Bloody Axe!
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-04.htm

@@ -1,4 +0,0 @@
-<html><body>Mason:<br>
-I am no longer strong enough to even lift up a simple spear. But my hatred and will to seek revenge for those who killed my family is burning like mad. I beg you. Please seek revenge for me. When you bring me back<font color="LEVEL"> 10 heads of the bloody X bodyguards</font> then I'll be able to die in peace.<br>
-Those Ol Mahums are staying in the<font color="LEVEL"> northern part of Oren</font>. You will be able to find their army post when you move farther north from the Corridor of Death of Kiran.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-05.htm

@@ -1,3 +0,0 @@
-<html><body>Mason:<br>
-Thank you. By that my wife and children must be able to rest in peace... Oooo... The fire of revenge that has driven me mad is finally extinguished... Ah, will you give this letter to<font color="LEVEL"> Ascalon</font>? Please tell him that I am living peacefully with my dear family.
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-06.htm

@@ -1,3 +0,0 @@
-<html><body>Mason:<br>
-The only thing that kept me going was the revenge... But now that everything is over and I look back upon my life, all that remains is hatred and regret. Everything seems so vain... I thought that all that was left to be done was to die... But when I heard the story of Ascalon who is still fighting against the unjust according to his beliefs, I changed my mind and decided that I shall not just sit here and wait for everything to happen...
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30625-07.htm

@@ -1,3 +0,0 @@
-<html><body>Mason:<br>
-You may not be able to appreciate my weak body, but the experience and know-how which I have accumulated in the battlefields can't be ignored... These days, I am teaching young soldiers how to confront the flying corps or the strategy of arranging troops in times of siege warfare. I hope you keep up the good work. And protect the peace of this kingdom.
-</body></html>

+ 0 - 248
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/__init__.py

@@ -1,248 +0,0 @@
-# Made by Mr. Have fun! Version 0.2
-# rewritten by Rolarga Version 0.3
-# version 0.4 - fixed on 2005.11.08
-# version 0.5 - updated by Kerberos on 2007.11.10
-# 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 = "223_TestOfChampion"
-
-MARK_OF_CHAMPION     = 3276
-ASCALONS_LETTER1     = 3277
-MASONS_LETTER        = 3278
-IRON_ROSE_RING       = 3279
-ASCALONS_LETTER2     = 3280
-WHITE_ROSE_INSIGNIA  = 3281
-GROOTS_LETTER        = 3282
-ASCALONS_LETTER3     = 3283
-MOUENS_ORDER1        = 3284
-MOUENS_ORDER2        = 3285
-MOUENS_LETTER        = 3286
-HARPYS_EGG1          = 3287
-MEDUSA_VENOM1        = 3288
-WINDSUS_BILE1        = 3289
-BLOODY_AXE_HEAD      = 3290
-ROAD_RATMAN_HEAD     = 3291
-LETO_LIZARDMAN_FANG1 = 3292
-SHADOW_WEAPON_COUPON_CGRADE = 8870
-
-DROPLIST ={
-20780:(2,10,100,BLOODY_AXE_HEAD),
-20145:(6,30,50,HARPYS_EGG1),
-27088:(6,30,50,HARPYS_EGG1),
-20158:(6,30,50,MEDUSA_VENOM1),
-20553:(6,30,50,WINDSUS_BILE1),
-20551:(10,10,100,ROAD_RATMAN_HEAD),
-27089:(10,10,100,ROAD_RATMAN_HEAD),
-20577:(12,10,50,LETO_LIZARDMAN_FANG1),  
-20578:(12,10,60,LETO_LIZARDMAN_FANG1),   
-20579:(12,10,70,LETO_LIZARDMAN_FANG1),   
-20580:(12,10,80,LETO_LIZARDMAN_FANG1),   
-20581:(12,10,90,LETO_LIZARDMAN_FANG1),   
-20582:(12,10,95,LETO_LIZARDMAN_FANG1)
-}
-
-
-class Quest (JQuest) :
-
- def __init__(self,id,name,descr):
-     JQuest.__init__(self,id,name,descr)
-     self.questItemIds = range(3277,3293)
-
- def onAdvEvent (self,event,npc, player) :
-    htmltext = event
-    st = player.getQuestState(qn)
-    if not st : return
-    if event == "1" :
-      htmltext = "30624-06.htm"
-      st.set("cond","1")
-      st.setState(State.STARTED)
-      st.playSound("ItemSound.quest_accept")
-      st.giveItems(ASCALONS_LETTER1,1)
-    elif event == "30624_1" :
-          htmltext = "30624-05.htm"
-    elif event == "30624_2" :
-          htmltext = "30624-10.htm"
-          st.giveItems(ASCALONS_LETTER2,1)
-          st.takeItems(MASONS_LETTER,1)
-          st.playSound("ItemSound.quest_middle")
-          st.set("cond","5")
-    elif event == "30624_3" :
-          htmltext = "30624-14.htm"
-          st.giveItems(ASCALONS_LETTER3,1)
-          st.takeItems(GROOTS_LETTER,1)
-          st.playSound("ItemSound.quest_middle")
-          st.set("cond","9")
-    elif event == "30625_1" :
-          htmltext = "30625-02.htm"
-    elif event == "30625_2" :
-          htmltext = "30625-03.htm"
-          st.giveItems(IRON_ROSE_RING,1)
-          st.takeItems(ASCALONS_LETTER1,1)
-          st.playSound("ItemSound.quest_middle")
-          st.set("cond","2")
-    elif event == "30093_1" :
-          htmltext = "30093-02.htm"
-          st.giveItems(WHITE_ROSE_INSIGNIA,1)
-          st.takeItems(ASCALONS_LETTER2,1)
-          st.playSound("ItemSound.quest_middle")
-          st.set("cond","6")
-    elif event == "30196_1" :
-          htmltext = "30196-02.htm"
-    elif event == "30196_2" :
-          htmltext = "30196-03.htm"
-          st.giveItems(MOUENS_ORDER1,1)
-          st.takeItems(ASCALONS_LETTER3,1)
-          st.playSound("ItemSound.quest_middle")
-          st.set("cond","10")
-    elif event == "30196_3" :
-          htmltext = "30196-06.htm"
-          st.giveItems(MOUENS_ORDER2,1)
-          st.takeItems(MOUENS_ORDER1,1)
-          st.takeItems(ROAD_RATMAN_HEAD,-1)
-          st.playSound("ItemSound.quest_middle")
-          st.set("cond","12")
-    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 != 30624 and id != State.STARTED : return htmltext
-   if id == State.COMPLETED :
-      htmltext = Quest.getAlreadyCompletedMsg(player)
-
-   elif id == State.CREATED :
-     st.set("cond","0")
-   if npcId == 30624 and st.getInt("cond") == 0 :
-        if player.getClassId().getId() in [0x01, 0x2d] and player.getLevel() > 38 :
-          if player.getClassId().getId() == 0x01 :
-            htmltext = "30624-03.htm"
-          else:
-            htmltext = "30624-04.htm"
-        elif player.getClassId().getId() in [0x01, 0x2d] :
-          htmltext = "30624-02.htm"
-        else:
-          htmltext = "30624-01.htm"
-          st.exitQuest(1)
-   elif npcId == 30624 and st.getInt("cond") == 1 :
-      htmltext = "30624-07.htm"
-   elif npcId == 30624 and st.getInt("cond") == 4  and st.getQuestItemsCount(MASONS_LETTER) :
-      htmltext = "30624-09.htm"
-   elif npcId == 30624 and st.getInt("cond") == 5  and st.getQuestItemsCount(ASCALONS_LETTER2) :
-      htmltext = "30624-11.htm"
-   elif npcId == 30624 and st.getInt("cond") == 2 :
-      htmltext = "30624-08.htm"
-   elif npcId == 30624 and st.getInt("cond") == 6 and st.getQuestItemsCount(WHITE_ROSE_INSIGNIA) :
-      htmltext = "30624-12.htm"
-   elif npcId == 30624 and st.getInt("cond") == 8 and st.getQuestItemsCount(GROOTS_LETTER) :
-      htmltext = "30624-13.htm"
-   elif npcId == 30624 and st.getInt("cond") == 9 and st.getQuestItemsCount(ASCALONS_LETTER3) :
-      htmltext = "30624-15.htm"
-   elif npcId == 30624 and st.getInt("cond") == 14 and st.getQuestItemsCount(MOUENS_LETTER) :
-      st.takeItems(MOUENS_LETTER,1)
-      st.addExpAndSp(1270742,87200)
-      st.giveItems(57,229764)
-      st.giveItems(MARK_OF_CHAMPION,1)
-      st.giveItems(SHADOW_WEAPON_COUPON_CGRADE,15)
-      htmltext = "30624-17.htm"
-      st.set("cond","0")
-      st.exitQuest(False)
-      st.playSound("ItemSound.quest_finish")
-   elif npcId == 30624 and st.getInt("step") in [10,11,12,13] :
-      htmltext = "30624-16.htm"
-   elif npcId == 30625 and st.getInt("cond") == 1 and st.getQuestItemsCount(ASCALONS_LETTER1) :
-      htmltext = "30625-01.htm"
-   elif npcId == 30625 and st.getInt("cond") == 2 :
-      htmltext = "30625-04.htm"
-   elif npcId == 30625 and st.getInt("cond") == 3 :
-      htmltext = "30625-05.htm"
-      st.giveItems(MASONS_LETTER,1)
-      st.takeItems(IRON_ROSE_RING,1)
-      st.takeItems(BLOODY_AXE_HEAD,-1)
-      st.playSound("ItemSound.quest_middle")
-      st.set("cond","4")
-   elif npcId == 30625 and st.getInt("cond") == 4 :
-      htmltext = "30625-06.htm"
-   elif npcId == 30625 and st.getInt("cond") >= 5 and (st.getQuestItemsCount(ASCALONS_LETTER2) or st.getQuestItemsCount(WHITE_ROSE_INSIGNIA) or st.getQuestItemsCount(GROOTS_LETTER) or st.getQuestItemsCount(ASCALONS_LETTER3) or st.getQuestItemsCount(MOUENS_ORDER1) or st.getQuestItemsCount(MOUENS_ORDER2) or st.getQuestItemsCount(MOUENS_LETTER)) :
-      htmltext = "30625-07.htm"
-   elif npcId == 30093 and st.getInt("cond") == 5 and st.getQuestItemsCount(ASCALONS_LETTER2) :
-      htmltext = "30093-01.htm"
-   elif npcId == 30093 and st.getInt("cond") == 6 :
-      htmltext = "30093-03.htm"
-   elif npcId == 30093 and st.getInt("cond") == 7 :
-      htmltext = "30093-04.htm"
-      st.playSound("ItemSound.quest_middle")
-      st.set("cond","8")
-      st.giveItems(GROOTS_LETTER,1)
-      st.takeItems(WHITE_ROSE_INSIGNIA,1)
-      st.takeItems(HARPYS_EGG1,st.getQuestItemsCount(HARPYS_EGG1))
-      st.takeItems(MEDUSA_VENOM1,st.getQuestItemsCount(MEDUSA_VENOM1))
-      st.takeItems(WINDSUS_BILE1,st.getQuestItemsCount(WINDSUS_BILE1))
-   elif npcId == 30093 and st.getInt("cond") == 8 :
-      htmltext = "30093-05.htm"
-   elif npcId == 30093 and st.getInt("step") >= 9 and (st.getQuestItemsCount(ASCALONS_LETTER3) or st.getQuestItemsCount(MOUENS_ORDER1) or st.getQuestItemsCount(MOUENS_ORDER2) or st.getQuestItemsCount(MOUENS_LETTER)) :
-      htmltext = "30093-06.htm"
-   elif npcId == 30196 and st.getInt("cond") == 9 :
-      htmltext = "30196-01.htm"
-   elif npcId == 30196 and st.getInt("cond") == 10 :
-      htmltext = "30196-04.htm"
-   elif npcId == 30196 and st.getInt("cond") == 11 :
-      htmltext = "30196-05.htm"
-   elif npcId == 30196 and st.getInt("cond") == 12 :
-      htmltext = "30196-07.htm"
-   elif npcId == 30196 and st.getInt("cond") == 13 :
-      htmltext = "30196-08.htm"
-      st.giveItems(MOUENS_LETTER,1)
-      st.takeItems(MOUENS_ORDER2,1)
-      st.takeItems(LETO_LIZARDMAN_FANG1,st.getQuestItemsCount(LETO_LIZARDMAN_FANG1))
-      st.playSound("ItemSound.quest_middle")
-      st.set("cond","14")
-   elif npcId == 30196 and st.getInt("cond") == 14 :
-      htmltext = "30196-09.htm"
-   return htmltext
-
-
- def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
-   if not st : return 
-   if st.getState() != State.STARTED : return 
-   cond = st.getInt("cond")
-   npcId = npc.getId()
-   step, maxcount, chance, itemid = DROPLIST[npcId]
-   if cond == step and st.getQuestItemsCount(itemid) < maxcount and self.getRandom(100) < chance:
-     if st.getQuestItemsCount(itemid) == (maxcount-1):
-       st.giveItems(itemid,1)
-       st.playSound("ItemSound.quest_middle")
-       if cond == 6:
-          h_egg = st.getQuestItemsCount(HARPYS_EGG1)
-          m_ven = st.getQuestItemsCount(MEDUSA_VENOM1)
-          w_bil = st.getQuestItemsCount(WINDSUS_BILE1)
-          if h_egg ==30 and m_ven == 30 and w_bil == 30:
-             st.set("cond",str(cond+1))
-       else:
-          st.set("cond",str(cond+1))
-     else:
-       st.giveItems(itemid,1)
-       st.playSound("ItemSound.quest_itemget")
-   return
-
-QUEST     = Quest(223,qn,"Test Of Champion")
-
-QUEST.addStartNpc(30624)
-
-QUEST.addTalkId(30624)
-
-for npcId in [30093,30196,30625]:
-    QUEST.addTalkId(npcId)
-
-for mobId in [20145,20158,27088,27089,20551,20553,20577,20578,20579,20580,20581,20582,20780]:
-    QUEST.addKillId(mobId)

+ 2 - 2
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30093-01.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-01.html

@@ -1,5 +1,5 @@
 <html><body>Trader Groot:<br>
 I see that you are a follower of Ascalon. Seeing a strong warrior like you brings back memories. Like Ascalon, I was once a member of the Steel Rose Mercenaries. When I was young, I studied herbology and first aid in the temple and used these skills to become a medic for the troop. Of course, occasionally I also wielded a spear and joined the battle.<br>
-These days I am retired and run a small shop. Ascalon still comes around and asks me to make medicine and antidotes for the village guards from time to time.<br>
-<a action="bypass -h Quest 223_TestOfChampion 30093_1">"I have come to assist you in making antidotes"</a>
+These days I am retired and run a small shop. Ascalon still comes around and asks me to make medicine and Antidotes for the village guards from time to time.<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30093-02.html">"I have come to assist you in making Antidotes"</a>
 </body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-02.html

@@ -0,0 +1,5 @@
+<html><body>Trader Groot:<br>
+Ah! Thank you so very much. This is such a blessing, as I was badly needing help. Could you do me one more favor?  I must gather <font color="LEVEL">Antidote ingredients</font>.<br>
+I am concerned about the increase in the number of soldiers poisoned by Medusa's Venom, but near destruction? That's a serious exaggeration.<br>
+In order to create the Antidote, I will need 3 ingredients. They are <font color="LEVEL">the Harpy's Egg, Medusa Venom, and Windsus' Bile</font>. There is no need to search afar for these ingredients, they are all quite common right here in Giran. I know that there are an abundance of Windsus near the Death Pass and many harpies and medusa can be found in the Gorgon Flower Garden. Please gather <font color="LEVEL">30 each</font> of the ingredients. Thank you.
+</body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30093-03.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-03.html

@@ -1,3 +1,3 @@
 <html><body>Trader Groot:<br>
-As I said, you will need 3 ingredients to treat Medusa's Venom poisoning. You will need<font color="LEVEL"> 30 each</font> of the<font color="LEVEL"> Harpy's Eggs, Medusa Venom, and Windsus' bile</font>. I know it is a lot to ask, but I desperately need your help. Please gather all the ingredients for me.
+As I said, you will need 3 ingredients to treat Medusa's Venom poisoning. You will need <font color="LEVEL">30 each</font> of the <font color="LEVEL">Harpy's Eggs, Medusa Venom, and Windsus' bile</font>. I know it is a lot to ask, but I desperately need your help. Please gather all the ingredients for me.
 </body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30093-04.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-04.html

@@ -1,3 +1,3 @@
 <html><body>Trader Groot:<br>
-Thank you so much for gathering these ingredients for me.. Now I will create the antidote and deliver it to the temple and the guards. I felt as if I was growing too old to be of any use, but thanks to you I am able to contribute to the defense of my beloved Giran! I am indebted to you... Here is a letter explaining my gratitude. Please take it to<font color="LEVEL"> Ascalon</font>.
+Thank you so much for gathering these ingredients for me.. Now I will create the Antidote and deliver it to the temple and the guards. I felt as if I was growing too old to be of any use, but thanks to you I am able to contribute to the defense of my beloved Giran!  I am indebted to you... Here is a letter explaining my gratitude.  Please take it to <font color="LEVEL">Ascalon</font>.
 </body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30093-05.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-05.html

@@ -1,3 +1,3 @@
 <html><body>Trader Groot:<br>
-Although I am too old for battle I am satisfied in knowing that my talents may be of help in protecting Giran. This is all thanks to you. Please give<font color="LEVEL"> Ascalon</font> my regards when you see him.
+Although I am too old for battle I am satisfied in knowing that my talents may be of help in protecting Giran. This is all thanks to you. Please give <font color="LEVEL">Ascalon</font> my regards when you see him.
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/223_TestOfChampion/30093-06.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30093-06.html


+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-01.html

@@ -0,0 +1,4 @@
+<html><body>Captain Mouen:<br>
+This letter...? Wow, from Ascalon!?<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30196-02.html">"Why are you so surprised?"</a>
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-02.html

@@ -0,0 +1,4 @@
+<html><body>Captain Mouen:<br>
+Ascalon was my teacher when I was young. At one time he was a good soldier, but now he is very old  and his mind wanders. Age has begun to tell on him... But he is like a father to me, and I won't go against what he says. Nowadays he seems to be suffering from the delusion that only he can save the kingdom from destruction. I am very worried about him...<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30196-03.html">"What about the scavengers threatening the Kingdom?..."</a>
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-03.html

@@ -0,0 +1,4 @@
+<html><body>Captain Mouen:<br>
+The <font color="LEVEL">Road Scavengers</font> may not be the great threat to the kingdom that my superior makes them out to be, but they certainly are troublesome. They prey on merchants traveling between Oren and Giran.<br>
+Your orders are to wipe out those troublesome thieves. Go to <font color="LEVEL">Death Pass</font> and slay all you find. But watch out for surprise attacks! If you bring me <font color="LEVEL">10 Road Scavenger heads</font>, I will write a letter commending you for your service to the kingdom. That will surely help advance your career...
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-04.html

@@ -0,0 +1,3 @@
+<html><body>Captain Mouen:<br>
+Go to <font color="LEVEL">Death Pass</font> and slay all the <font color="LEVEL">Road Scavengers</font> you find. But be wary of surprise attacks! If you bring me <font color="LEVEL">10 Road Scavenger heads</font>, I will write a letter saying that you saved the kingdom. Our superior will be pleased to see such a letter...
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-05.html

@@ -0,0 +1,4 @@
+<html><body>Captain Mouen:<br>
+We are in trouble! <font color="LEVEL">It turns out to be that the road scavengers that you killed were an instrument of the Leto Lizardmen!</font> Now the lizardmen are planning an attack on Giran Castle! Ascalon must have been right. We must strike the first blow! Many troops are already on their way. Please join them in the fight!<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30196-06.html">"I will join the fight!"</a>
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-06.html

@@ -0,0 +1,3 @@
+<html><body>Captain Mouen:<br>
+Ahem! Slay the <font color="LEVEL">Leto Lizardmen</font> and bring me their <font color="LEVEL">fangs</font> as evidence. Bring <font color="LEVEL">10 Leto Lizardman Fangs</font> and no one will be able to dispute your victory. Do this and Ascalon will be very pleased!
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-07.html

@@ -0,0 +1,3 @@
+<html><body>Captain Mouen:<br>
+Destroy the <font color="LEVEL">Leto Lizardmen</font> troops! Then collect and bring me <font color="LEVEL">10 fangs from the fallen Lizardmen</font>. No one will be able to dispute your victory if you bring me 10 fangs!
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-08.html

@@ -0,0 +1,3 @@
+<html><body>Captain Mouen:<br>
+Congratulations on your success, Warrior. You have been a remarkable help in the defeat of the Leto Lizardmen threatening the town of Giran. Word has already spread throughout the kingdom of your achievement. Now take this letter with you and go back to <font color="LEVEL">Ascalon</font>. I'll wager that your teacher will be pleased to read it.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30196-09.html

@@ -0,0 +1,3 @@
+<html><body>Captain Mouen:<br>
+Ascalon can now retire in peace knowing that the future of the kingdom is in the hands of noble Warriors like you.
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-01.html

@@ -0,0 +1,5 @@
+<html><body>Veteran Ascalon:<br>
+Would you like to hear stories of my splendid past? In my youth I was a soldier of fortune, wandering freely, fighting aliens and making love to women with foreign names. There were some hard times, but my blazing warrior spirit kept me going. The deep brotherhood among comrades, struggles, fierce battles, love, romance, I experienced it all. I was truly a warrior.<br>
+But now I am old. If I could find a talented young person to succeed me, I would retire in peace. Is there a righteous and talented youngster among your friends? If you know of such a person, please recommend him or her to me.<br>
+(Quest for Warriors and Orc Raiders, level 39 and above.)
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-02.html

@@ -0,0 +1,5 @@
+<html><body>Veteran Ascalon:<br>
+Would you like to hear stories of my splendid past? In my youth I was a soldier of fortune, wandering freely, fighting aliens and making love to women with foreign names. There were some hard times, but my blazing warrior spirit kept me going. The deep brotherhood among comrades, struggles, fierce battles, love, romance, I experienced it all. I was truly a warrior.<br>
+But now I am old. If I could find a talented young person to succeed me, I would retire in peace. If only you could enhance your skills a bit, you could be the one to succeed me. What do you think? Please come back to me after you have improved your skills.<br>
+(Quest for Warriors and Orc Raiders, level 39 and above.)
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-03.htm

@@ -0,0 +1,5 @@
+<html><body>Veteran Ascalon:<br>
+Would you like to hear stories of my splendid past? In my youth I was a soldier of fortune, wandering freely, fighting aliens and making love to women with foreign names. There were some hard times, but my blazing Warrior spirit kept me going. The deep brotherhood among comrades, struggles, fierce battles, love, romance, I experienced it all. I was truly a Warrior.<br>
+But now I am old. If I could find a talented young fellow to succeed me, I would retire in peace. I see that you are a strong young Warrior, what do you think? Will you attempt the <font color="LEVEL">Test of the Champion</font>?<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30624-05.htm">"I will take the Test of the Champion."</a>
+</body></html>

+ 6 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-04.html

@@ -0,0 +1,6 @@
+<html><body>Veteran Ascalon:<br>
+Oops! Aren't you an Orc? You look strong, for sure. Are you a Warrior by any chance? Or perhaps a hired soldier? You remind me of my younger days when I used to work as a hired soldier...<br>
+Would you like to hear stories of my splendid past? In my youth I was a soldier of fortune, wandering freely, fighting aliens and making love to women with foreign names. There were some hard times, but my blazing Warrior spirit kept me going. The deep brotherhood among comrades, struggles, fierce battles, love, romance, I experienced it all. I was truly a Warrior.<br>
+But now I am old. If I could find a talented young fellow to succeed me, I would retire in peace. I can see that you are quite a well-trained Warrior, what do you say? Will you attempt the <font color="LEVEL">Test of the Champion</font>?<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30624-05.htm">"I will take the Test of the Champion."</a>
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-05.htm

@@ -0,0 +1,5 @@
+<html><body>Veteran Ascalon:<br>
+Things are not so different from the time when I was an active soldier. Perhaps a bit more chaotic and violent. The Blue Shark, the Black Lion, the Storm Blade and the Iron Rose which I belonged to... Many soldiers are battling alien armies in many different locations at the moment. There has never been a time in history when the aliens were so bellicose.<br>The leaders of each tribe, and the Masters, Magisters and Priests from many other guilds are all complaining that the situation now is very unnatural. All the secret agents from every domain are looking behind the scenes, but for now we have no choice but to face the aliens and destroy them in order to protect ourselves.<br>
+I wish to do something useful before I retire. Although I am too weak to participate in the war myself, I shall teach you. While you are taking the test, you must do exactly as you are instructed. Is that clear?<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion ACCEPT">I shall obey your orders!</a>
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-06.htm

@@ -0,0 +1,4 @@
+<html><body>Veteran Ascalon:<br>
+Good! First you must go and visit my friend <font color="LEVEL">Mason</font>. He is an old comrade of mine. We fought together on the battlefields as part of the Iron Rose. Although he has retired, I am sure he knows more than anyone else about the invaders who are threatening the villagers of Dion. Who knows, he might even get up and head off to the battlefield, inspired by your young spirit...<br>
+I heard that Mason, the master of spears, has settled happily with his family <font color="LEVEL">somewhere in southern Dion</font>. If you bring this letter with my seal on it, he will welcome you.
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-06a.htm

@@ -0,0 +1,5 @@
+<html><body>Veteran Ascalon:<br>
+Before doing anything else, go meet my friend <font color="LEVEL">Mason</font>. He is from Iron Rose, just like me, and has fought beside me in many battles. That was long ago, of course, and the most action he probably sees now is chopping wood for his cooking fire. But even if his spear-arm is weaker and his belly broader, he still knows more about the races that threaten the Dion villagers than anyone. And who knows? Perhaps your youthful enthusiasm will even motivate him to take his spear from its place above his hearth and again venture onto the field of battle. He was a master of the spear in his day, you know . . .<br>
+I heard long ago that he settled <font color="LEVEL">somewhere in southern Dion</font> with his wife and family. If you show him this letter with my signet, I'm sure he will welcome you.<br>
+Finally, please accept this <font color="LEVEL">Dimension Diamond</font> as my gift. You can trade it for something special from the village gatekeeper. I hope it will help you on your journey.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-07.html

@@ -0,0 +1,3 @@
+<html><body>Veteran Ascalon:<br>
+Go and meet my old comrade,  <font color="LEVEL">Mason</font>. He is the master of spears and a good and faithful friend. I heard that he settled down <font color="LEVEL">somewhere in southern Dion</font>, I wonder how he is doing?
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-08.html

@@ -0,0 +1,3 @@
+<html><body>Veteran Ascalon:<br>
+So you have met Mason and have agreed to seek revenge for him? But... What do you mean revenge..., Revenge on whom?
+</body></html>

+ 7 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-09.html

@@ -0,0 +1,7 @@
+<html><body>Veteran Ascalon:<br>
+You have returned! How is Mason? Please tell me everything...<br>
+...You say with your mouth that he is living happily, but the expression on your face says something else.  You must tell me the truth!<br>
+...What! Never could I have imagined that he would be living a lonely, wretched life after losing all his family during the assault of Gracia... Perhaps his grief would be less severe now, since you have completed his revenge.<br>
+A Warrior must share the pain of his comrade, but still cannot stop fighting. It is time for you to fight once more.<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30624-10.html">"What is the next battle?"</a>
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-10.html

@@ -0,0 +1,4 @@
+<html><body>Veteran Ascalon:<br>
+Have you heard that recently the guards and soldiers fought against the medusas in order to protect Giran? They fought with all their might and drove them away, but during the battle many soldiers were infected by the deadly poison of the medusas. If this goes untreated they will all die very soon. And what will happen if the medusas mount another attack?  .. We must find the cure...<br>
+rather, an Antidote to neutralize the medusa's poison. Even the Priests do not know how to make it. However, my old companion <font color="LEVEL">Groot</font> will know how. He was once a medic for the Iron Rose, and we served together on the battlefield for more than 10 years. I heard that he now owns a store in <font color="LEVEL">the Town of Giran</font>. Go and help him make an Antidote.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-11.html

@@ -0,0 +1,3 @@
+<html><body>Veteran Ascalon:<br>
+You must hurry and meet <font color="LEVEL">Magic Trader Groot</font>. He was once a medic of the Iron Rose, but now he is making a living from a magic shop in <font color="LEVEL">the Town of Giran</font>. Go and help him make the Antidote to neutralize the medusa's poison.  At this very moment, many guards and soldiers are dying from this poison.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-12.html

@@ -0,0 +1,3 @@
+<html><body>Veteran Ascalon:<br>
+Groot, my comrade, brother of fate... You must go and help him make the Antidote to neutralize the medusa's poison. At this very moment many guards and soldiers are dying because of the poison.
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-13.html

@@ -0,0 +1,4 @@
+<html><body>Veteran Ascalon:<br>
+Well done! The soldiers of Giran will soon recover. Thank God for that. However, now we have a new problem. A big problem which only we can solve...<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30624-14.html">"What is the next battle?"</a>
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-14.html

@@ -0,0 +1,3 @@
+<html><body>Veteran Ascalon:<br>
+Word comes from the Town of Oren that it is about to be pillaged by the <font color="LEVEL">great army of road scavengers</font>. We must gather as many volunteers as possible to help protect the town! Go and meet <font color="LEVEL">Captain Mouen of the Town of Oren</font> and follow his instructions. You must not forget that the future of the kingdom is depending on this battle!
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-15.html

@@ -0,0 +1,3 @@
+<html><body>Veteran Ascalon:<br>
+You must hurry and meet <font color="LEVEL">Captain Mouen of the Town of Oren</font>. He will tell you of the <font color="LEVEL">road scavengers</font>, a powerful force which is threatening the entire kingdom.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-16.html

@@ -0,0 +1,3 @@
+<html><body>Veteran Ascalon:<br>
+I taught Mouen swordmanship when he was but a child, and now he has grown into a fine Captain of the town. Go and help him protect the peace of this kingdom!
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30624-17.html

@@ -0,0 +1,3 @@
+<html><body>Veteran Ascalon:<br>
+I have been hearing of your exploits!  You are indeed a true Warrior! My successor! I shall give you the <font color="LEVEL">Mark of the Champion</font> in recognition of your military skill and bravery! The mark is reserved for the few people who have proven to be the best among the continent's Warriors. I, Ascalon assure you, that this mark will guarantee your bright future!
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-01.html

@@ -0,0 +1,4 @@
+<html><body>Mason:<br>
+I lost my wife and children during Gracia's attack. Gracia's army deprived me of my family, my most precious possession, and are my lifelong enemies. These scoundrels are the Ol Mahums, also known as the 'Bloody Axe'. I swear to God that I will one day have my revenge!<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30625-02.html">Show him the letter from Ascalon.</a>
+</body></html>

+ 7 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-02.html

@@ -0,0 +1,7 @@
+<html><body>Mason:<br>
+Ascalon... It has been many years since I heard that name...<br>
+When I left the army I married a beautiful woman named Lillian.  We settled down in my hometown of Dion where we lived a happy and peaceful life and raised our family.<br>
+And then, one dark day, Gracia's army attacked and killed my wife and children. Since then alcohol has been my only friend. I often find myself sitting by the river crying... The grief I feel from my loss is sometimes unbearable...<br>
+<font color="LEVEL">I swear that I shall have my revenge on them.</font> Will you help me?<br>
+<a action="bypass -h Quest Q00223_TestOfTheChampion 30625-03.html">Say you will help</a>
+</body></html>

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-03.html

@@ -0,0 +1,5 @@
+<html><body>Mason:<br>
+I want to rip apart the soldiers of Gracia's Foreign Legion still in our kingdom! Ah, but I am too old now to pick up the sword of revenge alone.<br>
+Here, take the ring I once wore as a mercenary. Put it on and obtain vengeance on my behalf. Slay all the <font color="LEVEL">Bloody Axe Elites</font> that killed my beloved family. Go north through Death Pass into Giran and you will find their barracks. The Ol Mahums are in the <font color="LEVEL">Plains of the Lizardmen</font>.<br>
+Bring me at least <font color="LEVEL">10</font> Bloody Axe Heads and I'll begin to sleep easier.
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-04.html

@@ -0,0 +1,4 @@
+<html><body>Mason:<br>
+I am now too old and weak too even lift a spear. But my hatred towards those who killed my family still boils up like lava. I beg you, please obtain vengeance on my behalf. I will be able to die without regret if you bring me <font color="LEVEL">10 Bloody Axe Heads</font> from the Bloody Axe Elite soldiers.<br>
+You will find the Ol Mahums in the <font color="LEVEL">Plains of the Lizardmen, in the southern region of Oren </font>. Head north through Death Pass into Giran and you will find their barracks.
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-05.html

@@ -0,0 +1,3 @@
+<html><body>Mason:<br>
+Thank you. Now the souls of my family can rest in peace...  The fire of revenge that has driven me mad is finally extinguished... Please give this letter to <font color="LEVEL">Ascalon</font>. Tell him that my family and I are finally at peace.
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-06.html

@@ -0,0 +1,4 @@
+<html><body>Mason:<br>
+Revenge became my life force... Now as I examine my life all I see are hatred and regret... All for nothing... I thought that revenge would let me finally join my dear family in peace...<br>
+But now word comes of Ascalon's continuing fight for his beliefs against the doers of injustice. I have changed my mind!  I cannot just sit here and wait to die!
+</body></html>

+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/30625-07.html

@@ -0,0 +1,3 @@
+<html><body>Mason:<br>
+I may look old and withered, but my experience and know-how accumulated in the battlefields cannot be ignored... Recently I have been teaching young recruits how to deal with the flying corps, and the strategy of siege warfare. Keep up the good work for the peace of the Kingdom!
+</body></html>

+ 658 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00223_TestOfTheChampion/Q00223_TestOfTheChampion.java

@@ -0,0 +1,658 @@
+/*
+ * Copyright (C) 2004-2014 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.Q00223_TestOfTheChampion;
+
+import com.l2jserver.gameserver.ai.CtrlIntention;
+import com.l2jserver.gameserver.enums.QuestSound;
+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.network.serverpackets.SocialAction;
+import com.l2jserver.gameserver.util.Util;
+
+/**
+ * Test Of The Champion (223)
+ * @author ivantotov
+ */
+public final class Q00223_TestOfTheChampion extends Quest
+{
+	// NPCs
+	private static final int TRADER_GROOT = 30093;
+	private static final int CAPTAIN_MOUEN = 30196;
+	private static final int VETERAN_ASCALON = 30624;
+	private static final int MASON = 30625;
+	// Items
+	private static final int ASCALONS_1ST_LETTER = 3277;
+	private static final int MASONS_LETTER = 3278;
+	private static final int IRON_ROSE_RING = 3279;
+	private static final int ASCALONS_2ND_LETTER = 3280;
+	private static final int WHITE_ROSE_INSIGNIA = 3281;
+	private static final int GROOTS_LETTER = 3282;
+	private static final int ASCALONS_3RD_LETTER = 3283;
+	private static final int MOUENS_1ST_ORDER = 3284;
+	private static final int MOUENS_2ND_ORDER = 3285;
+	private static final int MOUENS_LETTER = 3286;
+	private static final int HARPYS_EGG = 3287;
+	private static final int MEDUSA_VENOM = 3288;
+	private static final int WINDSUS_BILE = 3289;
+	private static final int BLOODY_AXE_HEAD = 3290;
+	private static final int ROAD_RATMAN_HEAD = 3291;
+	private static final int LETO_LIZARDMAN_FANG = 3292;
+	// Reward
+	private static final int MARK_OF_CHAMPION = 3276;
+	private static final int DIMENSIONAL_DIAMOND = 7562;
+	// Monster
+	private static final int HARPY = 20145;
+	private static final int MEDUSA = 20158;
+	private static final int ROAD_SCAVENGER = 20551;
+	private static final int WINDSUS = 20553;
+	private static final int LETO_LIZARDMAN = 20577;
+	private static final int LETO_LIZARDMAN_ARCHER = 20578;
+	private static final int LETO_LIZARDMAN_SOLDIER = 20579;
+	private static final int LETO_LIZARDMAN_WARRIOR = 20580;
+	private static final int LETO_LIZARDMAN_SHAMAN = 20581;
+	private static final int LETO_LIZARDMAN_OCERLORD = 20582;
+	private static final int BLOODY_AXE_ELITE = 20780;
+	// Quest Monster
+	private static final int HARPY_MATRIARCH = 27088;
+	private static final int ROAD_COLLECTOR = 27089;
+	// Misc
+	private static final int MIN_LEVEL = 39;
+	
+	public Q00223_TestOfTheChampion()
+	{
+		super(223, Q00223_TestOfTheChampion.class.getSimpleName(), "Test Of The Champion");
+		addStartNpc(VETERAN_ASCALON);
+		addTalkId(VETERAN_ASCALON, TRADER_GROOT, CAPTAIN_MOUEN, MASON);
+		addKillId(HARPY, MEDUSA, WINDSUS, ROAD_SCAVENGER, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OCERLORD, BLOODY_AXE_ELITE, HARPY_MATRIARCH, ROAD_COLLECTOR);
+		addAttackId(HARPY, ROAD_SCAVENGER, BLOODY_AXE_ELITE);
+		registerQuestItems(ASCALONS_1ST_LETTER, MASONS_LETTER, IRON_ROSE_RING, ASCALONS_2ND_LETTER, WHITE_ROSE_INSIGNIA, GROOTS_LETTER, ASCALONS_3RD_LETTER, MOUENS_1ST_ORDER, MOUENS_2ND_ORDER, MOUENS_LETTER, HARPYS_EGG, MEDUSA_VENOM, WINDSUS_BILE, BLOODY_AXE_HEAD, ROAD_RATMAN_HEAD, LETO_LIZARDMAN_FANG);
+	}
+	
+	@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":
+			{
+				if (qs.isCreated())
+				{
+					qs.startQuest();
+					playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+					giveItems(player, ASCALONS_1ST_LETTER, 1);
+					if (player.getVariables().getInt("2ND_CLASS_DIAMOND_REWARD", 0) == 0)
+					{
+						if (player.getClassId() == ClassId.warrior)
+						{
+							giveItems(player, DIMENSIONAL_DIAMOND, 72);
+						}
+						else
+						{
+							giveItems(player, DIMENSIONAL_DIAMOND, 64);
+						}
+						player.getVariables().set("2ND_CLASS_DIAMOND_REWARD", 1);
+						htmltext = "30624-06a.htm";
+					}
+					else
+					{
+						htmltext = "30624-06.htm";
+					}
+				}
+				break;
+			}
+			case "30624-05.htm":
+			case "30196-02.html":
+			case "30625-02.html":
+			{
+				htmltext = event;
+				break;
+			}
+			case "30624-10.html":
+			{
+				if (hasQuestItems(player, MASONS_LETTER))
+				{
+					takeItems(player, MASONS_LETTER, 1);
+					giveItems(player, ASCALONS_2ND_LETTER, 1);
+					qs.setCond(5, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30624-14.html":
+			{
+				if (hasQuestItems(player, GROOTS_LETTER))
+				{
+					takeItems(player, GROOTS_LETTER, 1);
+					giveItems(player, ASCALONS_3RD_LETTER, 1);
+					qs.setCond(9, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30093-02.html":
+			{
+				if (hasQuestItems(player, ASCALONS_2ND_LETTER))
+				{
+					takeItems(player, ASCALONS_2ND_LETTER, 1);
+					giveItems(player, WHITE_ROSE_INSIGNIA, 1);
+					qs.setCond(6, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30196-03.html":
+			{
+				if (hasQuestItems(player, ASCALONS_3RD_LETTER))
+				{
+					takeItems(player, ASCALONS_3RD_LETTER, 1);
+					giveItems(player, MOUENS_1ST_ORDER, 1);
+					qs.setCond(10, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30196-06.html":
+			{
+				if (getQuestItemsCount(player, ROAD_RATMAN_HEAD) >= 10)
+				{
+					takeItems(player, MOUENS_1ST_ORDER, 1);
+					giveItems(player, MOUENS_2ND_ORDER, 1);
+					takeItems(player, ROAD_RATMAN_HEAD, -1);
+					qs.setCond(12, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30625-03.html":
+			{
+				if (hasQuestItems(player, ASCALONS_1ST_LETTER))
+				{
+					takeItems(player, ASCALONS_1ST_LETTER, 1);
+					giveItems(player, IRON_ROSE_RING, 1);
+					qs.setCond(2, true);
+					htmltext = event;
+				}
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
+	{
+		final QuestState qs = getQuestState(attacker, false);
+		if ((qs != null) && qs.isStarted())
+		{
+			switch (npc.getId())
+			{
+				case HARPY:
+				{
+					switch (npc.getScriptValue())
+					{
+						case 0:
+						{
+							npc.getVariables().set("lastAttacker", attacker.getObjectId());
+							if (hasQuestItems(attacker, WHITE_ROSE_INSIGNIA) && (getQuestItemsCount(attacker, HARPYS_EGG) < 30))
+							{
+								if (getRandomBoolean())
+								{
+									if (getRandom(10) < 7)
+									{
+										final L2Attackable monster1 = (L2Attackable) addSpawn(HARPY_MATRIARCH, npc, true, 0, false);
+										attackPlayer(monster1, attacker);
+									}
+									else
+									{
+										final L2Attackable monster1 = (L2Attackable) addSpawn(HARPY_MATRIARCH, npc, true, 0, false);
+										final L2Attackable monster2 = (L2Attackable) addSpawn(HARPY_MATRIARCH, npc, true, 0, false);
+										attackPlayer(monster1, attacker);
+										attackPlayer(monster2, attacker);
+									}
+								}
+							}
+							npc.setScriptValue(1);
+							break;
+						}
+						case 1:
+						{
+							npc.setScriptValue(2);
+							break;
+						}
+					}
+					break;
+				}
+				case ROAD_SCAVENGER:
+				{
+					switch (npc.getScriptValue())
+					{
+						case 0:
+						{
+							npc.getVariables().set("lastAttacker", attacker.getObjectId());
+							if (hasQuestItems(attacker, MOUENS_1ST_ORDER) && (getQuestItemsCount(attacker, ROAD_RATMAN_HEAD) < 10))
+							{
+								if (getRandomBoolean())
+								{
+									if (getRandom(10) < 7)
+									{
+										final L2Attackable monster1 = (L2Attackable) addSpawn(ROAD_COLLECTOR, npc, true, 0, false);
+										attackPlayer(monster1, attacker);
+									}
+									else
+									{
+										final L2Attackable monster1 = (L2Attackable) addSpawn(ROAD_COLLECTOR, npc, true, 0, false);
+										final L2Attackable monster2 = (L2Attackable) addSpawn(ROAD_COLLECTOR, npc, true, 0, false);
+										attackPlayer(monster1, attacker);
+										attackPlayer(monster2, attacker);
+									}
+								}
+							}
+							npc.setScriptValue(1);
+							break;
+						}
+						case 1:
+						{
+							npc.setScriptValue(2);
+							break;
+						}
+					}
+					break;
+				}
+				case BLOODY_AXE_ELITE:
+				{
+					switch (npc.getScriptValue())
+					{
+						case 0:
+						{
+							npc.getVariables().set("lastAttacker", attacker.getObjectId());
+							if (hasQuestItems(attacker, IRON_ROSE_RING) && (getQuestItemsCount(attacker, BLOODY_AXE_HEAD) < 10))
+							{
+								if (getRandomBoolean())
+								{
+									final L2Attackable monster1 = (L2Attackable) addSpawn(BLOODY_AXE_ELITE, npc, true, 0, false);
+									attackPlayer(monster1, attacker);
+								}
+							}
+							npc.setScriptValue(1);
+							break;
+						}
+						case 1:
+						{
+							npc.setScriptValue(2);
+							break;
+						}
+					}
+					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 HARPY:
+				case HARPY_MATRIARCH:
+				{
+					if (hasQuestItems(killer, WHITE_ROSE_INSIGNIA) && (getQuestItemsCount(killer, HARPYS_EGG) < 30))
+					{
+						if (getQuestItemsCount(killer, HARPYS_EGG) >= 28)
+						{
+							giveItems(killer, HARPYS_EGG, 2);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+							if ((getQuestItemsCount(killer, MEDUSA_VENOM) >= 30) && (getQuestItemsCount(killer, WINDSUS_BILE) >= 30))
+							{
+								qs.setCond(7);
+							}
+						}
+						else
+						{
+							giveItems(killer, HARPYS_EGG, 2);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+				case MEDUSA:
+				{
+					if (hasQuestItems(killer, WHITE_ROSE_INSIGNIA) && (getQuestItemsCount(killer, MEDUSA_VENOM) < 30))
+					{
+						if (getQuestItemsCount(killer, MEDUSA_VENOM) >= 27)
+						{
+							giveItems(killer, MEDUSA_VENOM, 3);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+							if ((getQuestItemsCount(killer, HARPYS_EGG) >= 30) && (getQuestItemsCount(killer, WINDSUS_BILE) >= 30))
+							{
+								qs.setCond(7);
+							}
+						}
+						else
+						{
+							giveItems(killer, MEDUSA_VENOM, 3);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+				case WINDSUS:
+				{
+					if (hasQuestItems(killer, WHITE_ROSE_INSIGNIA) && (getQuestItemsCount(killer, WINDSUS_BILE) < 30))
+					{
+						if (getQuestItemsCount(killer, WINDSUS_BILE) >= 27)
+						{
+							giveItems(killer, WINDSUS_BILE, 3);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
+							if ((getQuestItemsCount(killer, HARPYS_EGG) >= 30) && (getQuestItemsCount(killer, MEDUSA_VENOM) >= 30))
+							{
+								qs.setCond(7);
+							}
+						}
+						else
+						{
+							giveItems(killer, WINDSUS_BILE, 3);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+				case ROAD_SCAVENGER:
+				case ROAD_COLLECTOR:
+				{
+					if (hasQuestItems(killer, MOUENS_1ST_ORDER) && (getQuestItemsCount(killer, ROAD_RATMAN_HEAD) < 10))
+					{
+						if (getQuestItemsCount(killer, ROAD_RATMAN_HEAD) >= 9)
+						{
+							giveItems(killer, ROAD_RATMAN_HEAD, 1);
+							qs.setCond(11, true);
+						}
+						else
+						{
+							giveItems(killer, ROAD_RATMAN_HEAD, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+				case LETO_LIZARDMAN:
+				case LETO_LIZARDMAN_ARCHER:
+				case LETO_LIZARDMAN_SOLDIER:
+				case LETO_LIZARDMAN_WARRIOR:
+				case LETO_LIZARDMAN_SHAMAN:
+				case LETO_LIZARDMAN_OCERLORD:
+				{
+					if (hasQuestItems(killer, MOUENS_2ND_ORDER) && (getQuestItemsCount(killer, LETO_LIZARDMAN_FANG) < 10))
+					{
+						if (getQuestItemsCount(killer, LETO_LIZARDMAN_FANG) >= 9)
+						{
+							giveItems(killer, LETO_LIZARDMAN_FANG, 1);
+							qs.setCond(13, true);
+						}
+						else
+						{
+							giveItems(killer, LETO_LIZARDMAN_FANG, 1);
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+				case BLOODY_AXE_ELITE:
+				{
+					if (hasQuestItems(killer, IRON_ROSE_RING) && (getQuestItemsCount(killer, BLOODY_AXE_HEAD) < 10))
+					{
+						if (getQuestItemsCount(killer, BLOODY_AXE_HEAD) >= 9)
+						{
+							giveItems(killer, BLOODY_AXE_HEAD, 1);
+							qs.setCond(3, true);
+						}
+						else
+						{
+							giveItems(killer, BLOODY_AXE_HEAD, 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);
+		String htmltext = getNoQuestMsg(player);
+		if (qs.isCreated())
+		{
+			if (npc.getId() == VETERAN_ASCALON)
+			{
+				if ((player.getClassId() == ClassId.warrior) || (player.getClassId() == ClassId.orcRaider))
+				{
+					if (player.getLevel() >= MIN_LEVEL)
+					{
+						if (player.getClassId() == ClassId.warrior)
+						{
+							htmltext = "30624-03.htm";
+						}
+						else
+						{
+							htmltext = "30624-04.html";
+						}
+					}
+					else
+					{
+						htmltext = "30624-01.html";
+					}
+				}
+				else
+				{
+					htmltext = "30624-02.html";
+				}
+			}
+		}
+		else if (qs.isStarted())
+		{
+			switch (npc.getId())
+			{
+				case VETERAN_ASCALON:
+				{
+					if (hasQuestItems(player, ASCALONS_1ST_LETTER))
+					{
+						htmltext = "30624-07.html";
+					}
+					else if (hasQuestItems(player, IRON_ROSE_RING))
+					{
+						htmltext = "30624-08.html";
+					}
+					else if (hasQuestItems(player, MASONS_LETTER))
+					{
+						htmltext = "30624-09.html";
+					}
+					else if (hasQuestItems(player, ASCALONS_2ND_LETTER))
+					{
+						htmltext = "30624-11.html";
+					}
+					else if (hasQuestItems(player, WHITE_ROSE_INSIGNIA))
+					{
+						htmltext = "30624-12.html";
+					}
+					else if (hasQuestItems(player, GROOTS_LETTER))
+					{
+						htmltext = "30624-13.html";
+					}
+					else if (hasQuestItems(player, ASCALONS_3RD_LETTER))
+					{
+						htmltext = "30624-15.html";
+					}
+					else if (hasAtLeastOneQuestItem(player, MOUENS_1ST_ORDER, MOUENS_2ND_ORDER))
+					{
+						htmltext = "30624-16.html";
+					}
+					else if (hasQuestItems(player, MOUENS_LETTER))
+					{
+						giveAdena(player, 229764, true);
+						giveItems(player, MARK_OF_CHAMPION, 1);
+						addExpAndSp(player, 1270742, 87200);
+						qs.exitQuest(false, true);
+						player.sendPacket(new SocialAction(player.getObjectId(), 3));
+						htmltext = "30624-17.html";
+					}
+					break;
+				}
+				case TRADER_GROOT:
+				{
+					if (hasQuestItems(player, ASCALONS_2ND_LETTER))
+					{
+						htmltext = "30093-01.html";
+					}
+					else if (hasQuestItems(player, WHITE_ROSE_INSIGNIA))
+					{
+						if ((getQuestItemsCount(player, HARPYS_EGG) >= 30) && (getQuestItemsCount(player, MEDUSA_VENOM) >= 30) && (getQuestItemsCount(player, WINDSUS_BILE) >= 30))
+						{
+							takeItems(player, WHITE_ROSE_INSIGNIA, 1);
+							giveItems(player, GROOTS_LETTER, 1);
+							takeItems(player, HARPYS_EGG, -1);
+							takeItems(player, MEDUSA_VENOM, -1);
+							takeItems(player, WINDSUS_BILE, -1);
+							qs.setCond(8, true);
+							htmltext = "30093-04.html";
+						}
+						else
+						{
+							htmltext = "30093-03.html";
+						}
+					}
+					else if (hasQuestItems(player, GROOTS_LETTER))
+					{
+						htmltext = "30093-05.html";
+					}
+					else if (hasAtLeastOneQuestItem(player, ASCALONS_3RD_LETTER, MOUENS_1ST_ORDER, MOUENS_2ND_ORDER, MOUENS_LETTER))
+					{
+						htmltext = "30093-06.html";
+					}
+					break;
+				}
+				case CAPTAIN_MOUEN:
+				{
+					if (hasQuestItems(player, ASCALONS_3RD_LETTER))
+					{
+						htmltext = "30196-01.html";
+					}
+					else if (hasQuestItems(player, MOUENS_1ST_ORDER))
+					{
+						if (getQuestItemsCount(player, ROAD_RATMAN_HEAD) < 10)
+						{
+							htmltext = "30196-04.html";
+						}
+						else
+						{
+							htmltext = "30196-05.html";
+						}
+					}
+					else if (hasQuestItems(player, MOUENS_2ND_ORDER))
+					{
+						if (getQuestItemsCount(player, LETO_LIZARDMAN_FANG) < 10)
+						{
+							htmltext = "30196-07.html";
+						}
+						else
+						{
+							takeItems(player, MOUENS_2ND_ORDER, 1);
+							giveItems(player, MOUENS_LETTER, 1);
+							takeItems(player, LETO_LIZARDMAN_FANG, -1);
+							qs.setCond(14, true);
+							htmltext = "30196-08.html";
+						}
+					}
+					else if (hasQuestItems(player, MOUENS_LETTER))
+					{
+						htmltext = "30196-09.html";
+					}
+					break;
+				}
+				case MASON:
+				{
+					if (hasQuestItems(player, ASCALONS_1ST_LETTER))
+					{
+						htmltext = "30625-01.html";
+					}
+					else if (hasQuestItems(player, IRON_ROSE_RING))
+					{
+						if (getQuestItemsCount(player, BLOODY_AXE_HEAD) < 10)
+						{
+							htmltext = "30625-04.html";
+						}
+						else
+						{
+							giveItems(player, MASONS_LETTER, 1);
+							takeItems(player, IRON_ROSE_RING, 1);
+							takeItems(player, BLOODY_AXE_HEAD, -1);
+							qs.setCond(4, true);
+							htmltext = "30625-05.html";
+						}
+					}
+					else if (hasQuestItems(player, MASONS_LETTER))
+					{
+						htmltext = "30625-06.html";
+					}
+					else if (hasAtLeastOneQuestItem(player, ASCALONS_2ND_LETTER, WHITE_ROSE_INSIGNIA, GROOTS_LETTER, ASCALONS_3RD_LETTER, MOUENS_1ST_ORDER, MOUENS_2ND_ORDER, MOUENS_LETTER))
+					{
+						htmltext = "30625-07.html";
+					}
+					break;
+				}
+			}
+		}
+		else if (qs.isCompleted())
+		{
+			if (npc.getId() == VETERAN_ASCALON)
+			{
+				htmltext = getAlreadyCompletedMsg(player);
+			}
+		}
+		return htmltext;
+	}
+	
+	private static void attackPlayer(L2Attackable npc, L2PcInstance player)
+	{
+		if ((npc != null) && (player != null))
+		{
+			npc.setIsRunning(true);
+			npc.addDamageHate(player, 0, 999);
+			npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
+		}
+	}
+}

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

@@ -199,6 +199,7 @@ import quests.Q00218_TestimonyOfLife.Q00218_TestimonyOfLife;
 import quests.Q00219_TestimonyOfFate.Q00219_TestimonyOfFate;
 import quests.Q00220_TestimonyOfGlory.Q00220_TestimonyOfGlory;
 import quests.Q00221_TestimonyOfProsperity.Q00221_TestimonyOfProsperity;
+import quests.Q00223_TestOfTheChampion.Q00223_TestOfTheChampion;
 import quests.Q00235_MimirsElixir.Q00235_MimirsElixir;
 import quests.Q00237_WindsOfChange.Q00237_WindsOfChange;
 import quests.Q00238_SuccessFailureOfBusiness.Q00238_SuccessFailureOfBusiness;
@@ -640,6 +641,7 @@ public class QuestMasterHandler
 		Q00219_TestimonyOfFate.class,
 		Q00220_TestimonyOfGlory.class,
 		Q00221_TestimonyOfProsperity.class,
+		Q00223_TestOfTheChampion.class,
 		Q00235_MimirsElixir.class,
 		Q00237_WindsOfChange.class,
 		Q00238_SuccessFailureOfBusiness.class,

+ 2 - 1
L2J_DataPack/dist/sql/game/updates/20141120update.sql

@@ -1 +1,2 @@
-UPDATE character_quests SET name='Q00220_TestimonyOfGlory' WHERE name='220_TestimonyOfGlory'; 
+UPDATE character_quests SET name='Q00220_TestimonyOfGlory' WHERE name='220_TestimonyOfGlory';
+UPDATE character_quests SET name='Q00223_TestOfTheChampion' WHERE name='223_TestOfChampion';