ZURSULUS L2

Testimony of Glory

ID
220
Название
Testimony of Glory
start_npcs_json
[30514]
npc_ids_json
[20192,20234,20550,20563,20583,20584,20585,20586,20587,20588,20601,20602,20778,20779,27080,27081,27082,27083,27086,30501,30514,30515,30565,30571,30615,30616,30617,30618,30619,30642]
constants_json
{"KASMAN":30501,"VOKIAN":30514,"MANAKIA":30515,"KAKAI":30565,"TANAPI":30571,"VOLTAR":30615,"KEPRA":30616,"BURAI":30617,"HARAK":30618,"DRIKO":30619,"CHIANTA":30642,"TYRANT":20192,"MARSH_STAKATO_DRONE":20234,"GUARDIAN_BASILISK":20550,"MANASHEN_GARGOYLE":20563,"TIMAK_ORC":20583,"TIMAK_ORC_ARCHER":20584,"TIMAK_ORC_SOLDIER":20585,"TIMAK_ORC_WARRIOR":20586,"TIMAK_ORC_SHAMAN":20587,"TIMAK_ORC_OVERLORD":20588,"TAMLIN_ORC":20601,"TAMLIN_ORC_ARCHER":20602,"RAGNA_ORC_OVERLORD":20778,"RAGNA_ORC_SEER":20779,"PASHIKA_SON_OF_VOLTAR":27080,"VULTUS_SON_OF_VOLTAR":27081,"ENKU_ORC_OVERLORD":27082,"MAKUM_BUGBEAR_THUG":27083,"REVENANT_OF_TANTOS_CHIEF":27086,"VOKIAN_ORDER_1":3204,"MANASHEN_SHARD":3205,"TYRANT_TALON":3206,"GUARDIAN_BASILISK_FANG":3207,"VOKIAN_ORDER_2":3208,"NECKLACE_OF_AUTHORITY":3209,"CHIANTA_ORDER_1":3210,"SCEPTER_OF_BREKA":3211,"SCEPTER_OF_ENKU":3212,"SCEPTER_OF_VUKU":3213,"SCEPTER_OF_TUREK":3214,"SCEPTER_OF_TUNATH":3215,"CHIANTA_ORDER_2":3216,"CHIANTA_ORDER_3":3217,"TAMLIN_ORC_SKULL":3218,"TIMAK_ORC_HEAD":3219,"SCEPTER_BOX":3220,"PASHIKA_HEAD":3221,"VULTUS_HEAD":3222,"GLOVE_OF_VOLTAR":3223,"ENKU_OVERLORD_HEAD":3224,"GLOVE_OF_KEPRA":3225,"MAKUM_BUGBEAR_HEAD":3226,"GLOVE_OF_BURAI":3227,"MANAKIA_LETTER_1":3228,"MANAKIA_LETTER_2":3229,"KASMAN_LETTER_1":3230,"KASMAN_LETTER_2":3231,"KASMAN_LETTER_3":3232,"DRIKO_CONTRACT":3233,"STAKATO_DRONE_HUSK":3234,"TANAPI_ORDER":3235,"SCEPTER_OF_TANTOS":3236,"RITUAL_BOX":3237,"MARK_OF_GLORY":3203,"DIMENSIONAL_DIAMOND":7562}
Статус разбора
metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
Источник
game/data/scripts/quests/Q00220_TestimonyOfGlory/Q00220_TestimonyOfGlory.java

NPC квеста

IDНазваниеСтарт квестаУровень
20192TyrantНет35
20234Marsh Stakato DroneНет35
20550Guardian BasiliskНет36
20563Manashen GargoyleНет40
20583Timak OrcНет40
20584Timak Orc ArcherНет41
20585Timak Orc SoldierНет42
20586Timak Orc WarriorНет43
20587Timak Orc ShamanНет44
20588Timak Orc OverlordНет45
20601Tamlin OrcНет41
20602Tamlin Orc ArcherНет42
20778Ragna Orc OverlordНет39
20779Ragna Orc SeerНет39
27080Pashika Son Of VoltarНет37
27081Vultus Son Of VoltarНет37
27082Enku Orc OverlordНет33
27083Makum Bugbear ThugНет37
27086Revenant of Tantos ChiefНет39
30501KasmanНет70
30514VokianДа70
30515ManakiaНет70
30565KakaiНет70
30571TanapiНет70
30615VoltarНет70
30616KepraНет70
30617BuraiНет70
30618HarakНет70
30619DrikoНет70
30642ChiantaНет70

Условия уровней: выражения из Java

if (player.getLevel() >= 37)
else if (player.getLevel() < 37)
if (player.getLevel() >= 37)

Выдача предметов, адены и опыта: выражения из Java

giveItems(player, VOKIAN_ORDER_1, 1);
giveItems(player, DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
giveItems(player, CHIANTA_ORDER_1, 1);
giveItems(player, CHIANTA_ORDER_3, 1);
giveItems(player, CHIANTA_ORDER_2, 1);
giveItems(player, KASMAN_LETTER_1, 1);
giveItems(player, KASMAN_LETTER_2, 1);
giveItems(player, KASMAN_LETTER_3, 1);
giveItems(player, MANAKIA_LETTER_1, 1);
giveItems(player, MANAKIA_LETTER_2, 1);
giveItems(player, GLOVE_OF_VOLTAR, 1);
giveItems(player, GLOVE_OF_KEPRA, 1);
giveItems(player, GLOVE_OF_BURAI, 1);
giveItems(player, SCEPTER_OF_TUNATH, 1);
giveItems(player, DRIKO_CONTRACT, 1);
giveItems(player, TANAPI_ORDER, 1);
giveItems(player, NECKLACE_OF_AUTHORITY, 1);
giveItems(player, VOKIAN_ORDER_2, 1);
giveItems(player, CHIANTA_ORDER_3, 1);
giveItems(player, SCEPTER_BOX, 1);
giveItems(player, SCEPTER_OF_BREKA, 1);
giveItems(player, SCEPTER_OF_ENKU, 1);
giveItems(player, SCEPTER_OF_TUREK, 1);
giveItems(player, SCEPTER_OF_VUKU, 1);
giveItems(player, RITUAL_BOX, 1);
giveItems(player, MARK_OF_GLORY, 1);
addExpAndSp(player, 91457, 2500);
giveItems(player, TYRANT_TALON, 1);
giveItems(player, GUARDIAN_BASILISK_FANG, 1);
giveItems(player, MANASHEN_SHARD, 1);
giveItems(player, STAKATO_DRONE_HUSK, 1);
giveItems(player, PASHIKA_HEAD, 1);
giveItems(player, VULTUS_HEAD, 1);
giveItems(player, ENKU_OVERLORD_HEAD, 1);
giveItems(player, MAKUM_BUGBEAR_HEAD, 1);
giveItems(player, TIMAK_ORC_HEAD, 1);
giveItems(player, TAMLIN_ORC_SKULL, 1);
giveItems(player, TAMLIN_ORC_SKULL, 1);
giveItems(player, SCEPTER_OF_TANTOS, 1);

Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.

Тексты квеста

[30501-01.htm] Prefect Kasman: My friend, this reconstruction of the Orc Kingdom that you have undertaken is truly the Lord's work! I can tell you whatever you need to know about the apostate Orcs around here. Ask about the Vuku Orcs Ask about the Turek Orcs Ask about the Lennunt Orcs [30501-02.htm] Prefect Kasman: Tejakar Oroka! You have reclaimed the Scepter of Vuku! The reunification of the 108 tribes grows nearer! [30501-03.htm] Prefect Kasman: Take the letter I gave you to the Chief of the Vuku tribe. You will find him cowering in a forest near the Town of Gludio. Go and reclaim the Scepter of Flame from those lowlifes! [30501-04.htm] Prefect Kasman: Take the letter I gave you to the Chief of the Vuku tribe. You will find him cowering in a forest near the Town of Gludio. Go and reclaim the Scepter of Flame from those lowlifes! [30501-05.htm] Prefect Kasman: Tejakar Oroka! Have you retrieved the Scepter of Turek? The reunification of the 108 tribes will soon come! [30501-06.htm] Prefect Kasman: You must take the letter I gave you to the Chief of the Vuku! On the road north from this village you will find the army post of Turek Orcs. You must never forget that you are the representative of the greatest Flame Lord, Kakai! Always behave with the pride and dignity that your master commands! [30501-07.htm] Prefect Kasman: You must take the letter I gave you to the Chief of the Turek! On the road north from this village you will find the Turek Orc Military Post. You must never forget that you are the representative of the greatest Flame Lord, Kakai! Always behave with the pride and dignity that your master commands! [30501-08.htm] Prefect Kasman: Tejakar Oroka! Have you reclaimed the Scepter of Lennunt? The time of the reunification of the 108 tribes draws nearer!! [30501-09.htm] Prefect Kasman: A man claiming to be the Chief of the Lennunt tribe is currently on the southern seashore of Gludio. Take this letter to him. Don't forget that you are the representative of the greatest Flame Lord, Kakai and you must always display the pride and dignity befitting your position! [30501-10.htm] Prefect Kasman: A man claiming to be the Chief of the Lennunt tribe is currently on the southern seashore of Gludio. Take this letter to him. Don't forget that you are the representative of the greatest Flame Lord, Kakai and you must always display the pride and dignity befitting your position! [30501-11.htm] Prefect Kasman: The time has come for all of the 108 tribes to reunite under our Flame Lord! The world trembles before the glorious kingdom of Orc! All praise the great Flame Lord Kakai! Tejakar Oroka! [30514-01.htm] Prefect Vokian: Have you heard? All of the Orc seers agree that an eternal winter is approaching! It won't be long... We Orcs must prepare for dark days; days of chaos and destruction, dreadful days of endless war and disaster! People like you are indolent and weak. We are stronger than anyone else! We shall fight the darkness that the Age of Chaos brings. Victory will be ours alone! (Quest for Orc characters of level 37 and above.) [30514-01a.htm] Prefect Vokian: Have you heard? All of the Orc seers agree that an eternal winter is approaching! It won't be long... We Orcs must prepare for dark days; days of chaos and destruction, dreadful days of endless war and disaster! You must prepare yourself as well! First you must complete an occupation change! This is no place for beginners. (Quest only for Orc characters who have completed occupation change and are above level 37.) [30514-02.htm] Prefect Vokian: Have you heard? All of the Orc seers agree that an eternal winter is approaching! It won't be long... We Orcs must prepare for dark days; days of chaos and destruction, dreadful days of endless war and disaster! You must prepare yourself as well! This is the only was we can defeat the darkness that the Age of Chaos brings. (Quest for Orc characters of level 37 and above.) [30514-03.htm] Prefect Vokian: Have you heard? All of the Orc seers agree that an eternal winter is approaching! It won't be long... We Orcs must prepare for dark days; days of chaos and destruction, dreadful days of endless war and disaster! People like you are indolent and weak. We are stronger than anyone else! We shall conquer the apostate tribes and reconstruct the great kingdom of Orcs to fight the darkness of the chaotic days. Victory will be ours alone! "I shall participate in the reconstruction of the kingdom!" [30514-04.htm] Prefect Vokian: To rebuild the kingdom of Orcs we must first crush the dissent within the kingdom! We must make the renegade Orcs return to the kingdom. Hundreds of years ago these apostates denied the Lord of Flame's authority and abandoned the kingdom. If you will lead the force to subjugate them once again to the great kingdom of Orc, you shall be rewarded with a Mark of Glory by the Monarch. This will ensure your promotion to a higher level! But first you must be tested to see if you are worthy to be the representative of the Monarch! Are you ready for the test? "I am ready!" [30514-05.htm] Prefect Vokian: Excellent! Now listen carefully to what I must ask of you... First you must find and kill the 'flying stone statue', known as Manashen. He lurks near the Ivory Tower of Oren. Break him into pieces and bring 10 shards of his body back to me as proof! Next, in the Wastelands of Gludio you will find the so-called 'tyrants of the wild', the Tyrants. Kill them and bring their claws back to me! You must bring at least 10! And finally, you must hunt and kill the 'guardian of barren earth', the Guardian Basilisk. He can be found in the Corridors of Death! You must knock him down and bring back 10 of his teeth! For you who so perfectly embody the power and dignity of the Orc, this test should be almost effortless. Return promptly after completing your mission. I shall be waiting. [30514-05a.htm] Prefect Vokian: Very well! Then I, Prefect Vokian, will give you an order! Defeat these evil creatures and return with proof of your deed. There is Manashen, described as "a stone statue that crosses the sky" near the Ivory Tower of Oren. Smash that thing to pieces and bring back 10 shards. There are the Tyrants who terrorize the Gludio wasteland. Defeat them and bring back at least 10 claws! Finally, defeat Guardian Basilisk, the so-called "guardian of sterility" in Death Pass and bring back at least 10 of its fangs. If you are a true heir to the power and pride of the Orcs, you should pass this test easily! Go complete your task and return; I will wait for you here. Before you depart, take this Dimension Diamond. You can trade it to the village gatekeeper for something special that may help you on your journey. [30514-06.htm] Prefect Vokian: You must kill the monsters and bring back the proof! You must prove your strength and tenacity! Ask about the monsters. [30514-07a.htm] Prefect Vokian: Did you forget your mission already? I truly dislike repeating myself so pay attention... First you must find and kill the 'flying stone statue', known as Manashen. He lurks near the Ivory Tower of Oren. Break him into pieces and bring 10 shards of his body back to me as proof! Next, in the Wastelands of Gludio you will find the so-called 'tyrants of the wild', the Tyrants. Kill them and bring their claws back to me! You must bring at least 10! And finally, you must hunt and kill the 'guardian of barren earth', the Guardian Basilisk. He can be found in the Corridors of Death! You must knock him down and bring back 10 of his teeth! Return promptly after completing your mission. I shall be waiting. [30514-08.htm] Prefect Vokian: The stone shards of Manashen, the claws of the Tyrant, and the teeth of the Basilisk! Good job! You have fulfilled the mission! As a token of my appreciation please take this Necklace of Authority. Now go forth and do the work of the Lord Kakai! You must hurry and meet Chianta, the Chief of the Town of Dion! He will have another task for you. [30514-09.htm] Prefect Vokian: The Necklace of Authority officially acknowledges you as an agent of the Monarch! From this time forward you must do everything you can to quell the dissent in the kingdom of Orcs. You must force the apostate Orc tribes to rejoin their brothers in service to the Lord of Flame! Now, hurry and meet Chianta, Chief of the Town of Dion! He has a task for you. [30514-10.htm] Prefect Vokian: You will restore the glory of the unified Kingdom of Orcs! [30515-01.htm] Seer Manakia: Agent of the Lord! The upcoming Chaotic Chronicle could signal a new beginning for us. From the flames of war and disaster, we the great kingdom of the Orcs will rise from the ashes. Ask about the Breka Orc Ask about the Enku Orc [30515-02.htm] Seer Manakia: Tejakar Oroka! You have recovered the Scepter of Breka! Our great kingdom of Orcs shall rise again! [30515-03.htm] Seer Manakia: Take this letter to the Chief of the Breka Orcs! He can be found on the southern cliff of Dragon Valley. Always remember that you represent the great Flame Lord, Kakai! You must display the honor and dignity befitting our Lord! [30515-04.htm] Seer Manakia: Take this letter to the Chief of the Breka Orc! He is on the southern cliff of dragon valley. Always remember that you represent the great Flame Lord, Kakai! [30515-05.htm] Seer Manakia: Tejakar Oroka! You have found the Scepter of Enku! The great kingdom of Orcs shall soon rise again! [30515-06.htm] Seer Manakia: Take this letter to the Chief of the Enku Orcs! He is on the northern seashore of Dion territory. Remember that you represent the Lord of Flame! [30515-07.htm] Seer Manakia: Take the letter that I gave you to the Chief of the Enku Orcs! He is on the southern seashore of Dion territory. Remember that you represent the Lord of Flame! [30515-08.htm] Seer Manakia: The time has come! The rebirth of the glorious Orc kingdom is at hand! Reunification of the 108 tribes! Tejakar Oroka! Dekara Lamchar Kakai! [30565-01.htm] Flame Lord Kakai: The seal of the glorious warrior tribe has been stolen from the heart of our kingdom! I have no need for the seals of lesser tribes from the outskirts. Now go away! [30565-02.htm] Flame Lord Kakai: You have found the Scepter of the Tantos tribe! I hope this appeases the angry souls of the Tantos ancestors, even if it does not entirely wash away all our sins. I have heard that the Ragna tribe was behind this whole thing. Is this true? First they betrayed us; now they challenge my authority. Soon the rivers will run red with their traitorous blood! You took this from one of the lower tribes, did you not? Did you first extract an oath of loyalty from them -- or punish them for their refusal? Ah, well done, Warrior! I remember how naive you were when we met after the completion of your training at the Temple of Pa'agrio. Now you have grown into a mighty champion! Your reward is my personal gratitude and this Mark of Glory, which you can use to transfer to a higher class. Now return to the Human lands and seek out your destiny! I am confident that you will bring great glory to our tribe, and that our paths will cross again. [30571-01.htm] Seer Tanapi: Oh, my! No other person has ever brought so many scepters at one time. However, the mark from the Lord is still not assured... The Lord has been very angry lately because of a few bad incidents that took place! "What bad incidents?" [30571-02.htm] Seer Tanapi: Many years ago our ancestors' tomb was desecrated and robbed by goblin grave robbers. They made off with the Scepter of Tantos. As you know, the whole Tantos tribe was executed for high treason 100 years ago by order of the Lord Pa'agrio. Later it turned out that the charges were erroneous, caused by some wicked Dwarves' mischief. The Lord of Flame bitterly mourned his mistake. Each year we hold a memorial service to seek forgiveness from our wrongly executed brothers of Tantos and comfort their souls. If you recover the Scepter of Tantos, I am sure the Monarch will be very pleased. And the Mark of Glory will be yours for sure! "I shall bring back the Scepter of Tantos!" [30571-03.htm] Seer Tanapi: The goblin grave robbers were working at the behest of the Ragna tribe. The spirits of the wind whispered this into my ear. I don't have any information other than that the Chief or the Seer of the Ragna tribe has the scepter. They are trying to conjure the spirit of the leader of the Tantos tribe. In fact, at this very moment, they are performing the ceremony somewhere on the Immortal Plateau. You must find them, stop the ceremony, and get back the scepter! Hurry! [30571-04.htm] Seer Tanapi: We must hurry and find the Scepter of Tantos! It is being held by the Chief or Seer of the Ragna Tribe! They are trying to conjure the spirit of the Tantos tribe leader, somewhere on the Immortal Plateau! Time is of the essence! You must find them quickly, stop the ceremony and recover the scepter! [30571-05.htm] Seer Tanapi: Ah! At last we have recovered the Scepter of Tantos which was stolen from the ancestors' tombs by those filthy grave robbers! The betrayers of Ragna were trying to summon the spirit of Tantos and harm the Lord! Thanks to you, their wicked plan was foiled! I shall put the Scepter of Tantos with the other scepters of flame that you have recovered! Now take this ceremonial box which holds the scepters and go to meet Lord Kakai! He will praise your achievement and contribution and grant you the Mark of Glory! [30571-06.htm] Seer Tanapi: I have sent word that you are coming to see the Flame Lord! You must not keep him waiting! Hurry! [30615-01.htm] Breka Chief Voltar: You impertinent novice! What makes you think you can just barge in here to see me, Voltar, Chief of the Breka? To be in my presence you need at least a signed letter from your tribe's Shaman! Get out of my sight! [30615-02.htm] Breka Chief Voltar: You! North Orc! Saucy brat! Why are you here? I have come to collect the Oath of Loyalty and the Scepter of Flame! [30615-03.htm] Breka Chief Voltar: Ha! We declared our independence 500 years ago! Now you come here and tell me that I should pledge loyalty to the King? The days when we lived as an oppressed race are long over! Go and give your King this message: I would rather be the head of the snake than the tail of the dragon! "I will take the Royal Seal by force if you will not pledge loyalty to the King!" [30615-04.htm] Breka Chief Voltar: Tejakar Oroka! Insolent fool! Vultus! Pashika! Teach this foolish kid a lesson worth remembering! [30615-05.htm] Breka Chief Voltar: Voltus! Pasica! Teach this novice a lesson! [30615-06.htm] Breka Chief Voltar: Tucro lecha Vultus! Pashika! My sons...! What do you want? The Royal Seal? All right, take it! Just leave us be! I will give you the Royal Seal! I don't want to have to watch my family die again! [30615-07.htm] Breka Chief Voltar: You are the enemy of my family and the oppressor of my people! I have already given you the Royal Seal! Now get out! [30615-08.htm] Breka Chief Voltar: Get out of my sight! [30616-01.htm] Enku Chief Kepra: Orc of the ancient kingdom! What brings you here! Have you come to pay tribute to me, the great King of the Enku tribe? In order to receive an audience with me you must at the least bring a letter handwritten by the Seer of your tribe! Now leave at once! [30616-02.htm] Enku Chief Kepra: Orc of the ancient kingdom! What brings you here? Have you come to pay tribute to me, the great King of the Enku tribe? "I have come to receive a Pledge of Loyalty and the Scepter of Flame!" [30616-03.htm] Enku Chief Kepra: Why should I do this for the ruler of a ruined kingdom! He has been defeated by the Humans and hides like a coward on the plateau! Your days are over! "If you do not give me the Scepter, I shall take it by force!" [30616-04.htm] Enku Chief Kepra: Wha...what!? How dare you! I would never give the seal to a child like you! Guard! Beat some sense into this Orc! "Do you dare challenge the authority of Flame Lord!" [30616-05.htm] Enku Chief Kepra: I shall never surrender! My guards will cut you to ribbons! Let's see what you're made of! [30616-06.htm] Enku Chief Kepra: Stop! Halt! Are you trying to extinguish our race? Go ahead and take it! This Scepter is nothing more than an ornament! Take it and leave! [30616-07.htm] Enku Chief Kepra: Violent oppressor! Enemy of our race! I have already suffered the indignity of losing the Tribal Scepter! Do not make me suffer any longer! [30616-08.htm] Enku Chief Kepra: Do not humiliate me further. Leave me alone! [30617-01.htm] Turek Chief Burai: Flame Lord? The great kingdom of Orc? Nonsense! They are just playing a game, hiding in the forest...Those who call themsleves the aristocrats of Orc! I hate the very sight of them! Leave me now! [30617-02.htm] Turek Chief Burai: The Lord of Flames? The great kingdom of Orc? Nonsense! They are just playing a game hiding in the forests...Those who call themsleves the aristocrates of Orc! I hate the very sight of you! Away from my presence! I have come to get the Oath of Loyalty and the Seal of Flames from you! [30617-03.htm] Turek Chief Burai: I expected that there would be an agent coming from the noble Orcs. I have reinforced my troops for just such an occasion. Anyone who stands in the way of my creation of the great Turek Orc kingdom must die! How dare you defy the power of the Flame Lord! [30617-04.htm] Turek Chief Burai: Soldiers! Attack! Beat this arrogant dog until he lies dead beneath my feet! [30617-05.htm] Turek Chief Burai: How can this be! Those soldiers cost me a fortune! Please, spare my life! I shall give you the Scepter! [30617-06.htm] Turek Chief Burai: All right, you have the Scepter! I have no more business with you! Please leave now! [30617-07.htm] Turek Chief Burai: Agent of the noble Orc! Please leave in peace! [30618-01.htm] Tunath Chief Harak: I have been waiting for the messenger of the Flame Lord. Kasman, the Chief of Gludin, told me that I shall soon be visited by the messenger of the Monarch! Could it be you? I don't believe it. Unless you show me a handwritten letter from the Lord... [30618-02.htm] Tunath Chief Harak: Thank you for coming such a long way, messenger of the Lord of Flame. We, the Tunath tribe were sent here 500 years ago to conquer Talking Island when war broke out with the Humans. When the army retreated to the north we were trapped here. We have always maintained our loyalty to the Lord of Flame. The Elven School of Wizardry on this island was ruined and its legacy turned into ashes. Even to this day, we warriors of the Tunath tribe guard against another possible invasion by the Humans. "I am here to collect your Oath of Loyalty and the Scepter of Flame." [30618-03.htm] Tunath Chief Harak: We have been waiting for hundreds of years for the return of our King. We knew that one day the Humans would be vanquished. I have waited all of my life to return the scepter of flame which I inherited from my father. When I heard that the messenger of the Monarch had come to Gludio, I risked my life crossing the sea to meet you. Through all the fierce attacks of the lizard tribe, we have been waiting for you -- the messenger of the Monarch. Take this scepter to the king. [30618-04.htm] Tunath Chief Harak: Please give the 500 year old Scepter of Tunath to Flame Lord Kakai! [30618-05.htm] Tunath Chief Harak: Please go and deliver the Scepter of Tunath to Lord Pa'agrio! We, the Tunaths, are dedicated to the reconstruction of the great kingdom of oak and will do our part to see it done. [30619-01.htm] Vuku Chief Driko: Oh oppressor of flames, why has such a noble person come to this obscure place? Have you come to meet me, Driko, leader of the Vuku tribe? Right now, I am facing a problem which could be a matter of life and death for my tribe! I have no interest in the glory of the old kingdom. Unless you bring a signed letter from your Prefect expressing the urgency of your situation, I, Driko, the leader of the Vuku Tribe have nothing to discuss with you anymore. [30619-02.htm] Vuku Chief Driko: For us, survival is the greatest virtue. I knew that there would come a day when this seal would be traded for the safety of our tribe. We have many difficulties in this area, often coming into conflicts with Humans. We plan to return to our base camp. We are moving to the eastern swamp area. But the reason we came here in the first place was because of the grotesque insect tribe which drove us out. If you will remove them from our area, I will give you the Scepter of Flame. Do you accept my offer? "I accept your proposal!" [30619-03.htm] Vuku Chief Driko: It appears that the swamp stakatos are unable to breed without the drones. Therefore you must go and exterminate the drones first. Kill them all and gather 30 husks. Bring them back to me and I shall give you the Scepter of Flame. [30619-04.htm] Vuku Chief Driko: I am facing a big problem which could be a matter of life and death for my tribe! I have no interest in the glory of the old kingdom. Per the agreement between us, I shall give you our tribal scepter when you kill the drones among the swamp stakatos and bring me 30 of their husks. [30619-05.htm] Vuku Chief Driko: Well done! I will return the scepter as promised. I have no interest in the reunification of our ancient kingdom nor in the symbol of its authority. You noble Orcs will burn out and perish after foolishly fighting for the supremacy over the continent, and we shall survive for eternity! [30619-06.htm] Vuku Chief Driko: The agreement is settled, and we have already given you the Scepter of Flame! There is no more Contract between us! As I told you before, I have no interest in the reunification of the ancient kingdom! [30619-07.htm] Vuku Chief Driko: I am not at all interested in the reunification of our ancient kingdom nor in the symbol of its authority. You noble Orcs will die in the end after fighting for supremacy over the continent, be we shall survive for eternity! [30642-01.htm] Gandi Chief Chianta: The wind cries and the earth trembles! I see the fires of war reflected in your eyes. The time of chaos draws nigh, and brings with it endless war, confusion, massacre and battle! I, Gandi Chief Chianta, decree this day that you must become strong in order to survive! Only the strongest shall inherit the new age! Young Orc! I see by your necklace that you have passed Vokian's test and are an envoy of the Lord! Now heed my words carefully! Listen [30642-02.htm] Gandi Chief Chianta: All Orc tribal chiefs possess a 'Scepter of Flame'. The scepter was bequethed to them by the ancient Priests of Pa'agrio and symbolizes their authority. As Envoy of the Lord, you must seek out the renegade Orc tribes and demand that they return to servicing the Lord. They must pledge their allegiance and relinquish their Scepter of Flame! These renegade Orcs are scarcely more than animals and should jump at the chance to rejoin the mighty Orc Kingdom! If they should refuse, you must take their scepter by force and deliver just punishment upon them! A punishment befitting fools that would refuse to accept their true leader! Ask for more information regarding the renegade Orc tribes [30642-03.htm] Gandi Chief Chianta: The renegade Orc tribes you must find are the Breka, Enku, Vuku, Turek, and Tunath! Five tribes all together! Ask Seer Manakia of the Town of Giran about the Breka and Enku tribes! The other three tribes, the Vuku, Turek, and Tunath, will be found in the west. Ask Prefect Kasman of Gludin for further information about them. Come back to me when you have recovered all of the seals from these lower Orc tribes! Now be on your way! For the honor of the greater Orc kingdom! [30642-04.htm] Gandi Chief Chianta: I do not expect to see you again until you have recovered the Scepters of the Breka, Enku, Vuku, Turek, and Tunath tribes! This is an important first step towards reuniting the greater Orc kingdom! You must not take your duty lightly! For the whereabouts of these renegade Orcs, ask Manakia of the Town of Giran and Prefect Kasman of Gludin. [30642-05.htm] Gandi Chief Chianta: Good work, Envoy of the Lord! I see you have recovered the Scepters of the Breka, Enku, Vuku, Turek, and Tunath tribes! It shall not be long before all 108 Orc tribes are reunited under the Lord of Flame! Now is the time to face the Timak and Tamlin tribes of the north! The last envoys I sent to them lost their heads! These tribes are savage beasts that have forgotten the most common courtesy! Fools that have forsaken the pride and identity of Orcs! A war has been declared to bring these tribes into the fold. You must join us in battle to prove your spirit and loyalty! "I shall participate in the battle!" [30642-06.htm] Gandi Chief Chianta: But you still lack experience! The Timak and Tamlin Orcs may be savage and uncivilized, but their strength cannot be taken lightly. Underestimate them and you will be a cold corpse on the battlefield, so train harder! I won't send you onto the battlefield until I feel you are ready. [30642-07.htm] Gandi Chief Chianta: Tejakar Oroka! As a Warrior of the great Orc race and an honorable Envoy of the Lord of Flame, go now to the battlefield and punish the renegade tribes! Bring back 20 Timak Orc Heads and 20 Tamlin Orc Heads as trophies of war! That is the least punishment those traitors deserve! Come back to me when you have collected these trophies! [30642-08.htm] Gandi Chief Chianta: You still lack experience! The Timak and Tamlin Orcs may be savage and uncivilized, but their strength cannot be taken lightly. Underestimate them and you will be a cold corpse on the battlefield! Train harder! I will not send you onto the battlefield until I feel you are ready. [30642-09.htm] Gandi Chief Chianta: Tejakar Oroka! As a Warrior of the great Orc race and as an envoy of the honorable Lord of Flame, go now onto the battlefield and punish the renegade tribes! Bring back 20 Timak Orc Heads and 20 Tamlin Orc Heads as trophies of war! That is the least punishment these traitors deserve! Come back to me when you have collected all of the trophies! [30642-10.htm] Gandi Chief Chianta: Tejakar Oroka! As a Warrior of the great Orc race and as an envoy of the honorable Lord of Flame, go now onto the battlefield and punish the renegade tribes! Bring back 20 Timak Orc Heads and 20 Tamlin Orc Heads! That is the least punishment those traitors deserve! [30642-11.htm] Gandi Chief Chianta: Glorious Orc Warrior, you have fought well! You have displayed boundless courage in battle with the enemy! Now you must deliver the Seals of Flame you wrenched from the lesser Orcs to our Lord! He also wants the seals from the Tamlin and Timak tribes, but we must be satisfied with what we have at the moment! First, return to the Immortal Plateau and see Seer Tanapi. He will teach you the protocols you must use to present the seals to our Flame Lord! [30642-12.htm] Gandi Chief Chianta: Go now to the eternal homeland of the Orcs, the Immortal Plateau, and present the Lord of Flame with the seals you have recovered! But before you meet with the Lord, go to Seer Tanapi first. He shall teach you the protocols you must know before holding an audience with the Flame Lord! [30642-13.htm] Gandi Chief Chianta: If you can recover the Scepter of the Tantos tribe the Flame Lord shall be greatly pleased! I wish you luck!
Исходник условий и наград (Java)
/*
 * Copyright (c) 2013 L2jMobius
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
 * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
package quests.Q00220_TestimonyOfGlory;

import java.util.ArrayList;
import java.util.List;

import org.l2jmobius.gameserver.entity.actor.Npc;
import org.l2jmobius.gameserver.entity.actor.Player;
import org.l2jmobius.gameserver.entity.actor.enums.creature.Race;
import org.l2jmobius.gameserver.mechanics.script.Quest;
import org.l2jmobius.gameserver.mechanics.script.QuestSound;
import org.l2jmobius.gameserver.mechanics.script.QuestState;
import org.l2jmobius.gameserver.mechanics.script.State;
import org.l2jmobius.gameserver.network.enums.ChatType;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;

public class Q00220_TestimonyOfGlory extends Quest
{
	// NPCs
	private static final int KASMAN = 30501;
	private static final int VOKIAN = 30514;
	private static final int MANAKIA = 30515;
	private static final int KAKAI = 30565;
	private static final int TANAPI = 30571;
	private static final int VOLTAR = 30615;
	private static final int KEPRA = 30616;
	private static final int BURAI = 30617;
	private static final int HARAK = 30618;
	private static final int DRIKO = 30619;
	private static final int CHIANTA = 30642;
	
	// Monsters
	private static final int TYRANT = 20192;
	private static final int MARSH_STAKATO_DRONE = 20234;
	private static final int GUARDIAN_BASILISK = 20550;
	private static final int MANASHEN_GARGOYLE = 20563;
	private static final int TIMAK_ORC = 20583;
	private static final int TIMAK_ORC_ARCHER = 20584;
	private static final int TIMAK_ORC_SOLDIER = 20585;
	private static final int TIMAK_ORC_WARRIOR = 20586;
	private static final int TIMAK_ORC_SHAMAN = 20587;
	private static final int TIMAK_ORC_OVERLORD = 20588;
	private static final int TAMLIN_ORC = 20601;
	private static final int TAMLIN_ORC_ARCHER = 20602;
	private static final int RAGNA_ORC_OVERLORD = 20778;
	private static final int RAGNA_ORC_SEER = 20779;
	private static final int PASHIKA_SON_OF_VOLTAR = 27080;
	private static final int VULTUS_SON_OF_VOLTAR = 27081;
	private static final int ENKU_ORC_OVERLORD = 27082;
	private static final int MAKUM_BUGBEAR_THUG = 27083;
	private static final int REVENANT_OF_TANTOS_CHIEF = 27086;
	
	// Items
	private static final int VOKIAN_ORDER_1 = 3204;
	private static final int MANASHEN_SHARD = 3205;
	private static final int TYRANT_TALON = 3206;
	private static final int GUARDIAN_BASILISK_FANG = 3207;
	private static final int VOKIAN_ORDER_2 = 3208;
	private static final int NECKLACE_OF_AUTHORITY = 3209;
	private static final int CHIANTA_ORDER_1 = 3210;
	private static final int SCEPTER_OF_BREKA = 3211;
	private static final int SCEPTER_OF_ENKU = 3212;
	private static final int SCEPTER_OF_VUKU = 3213;
	private static final int SCEPTER_OF_TUREK = 3214;
	private static final int SCEPTER_OF_TUNATH = 3215;
	private static final int CHIANTA_ORDER_2 = 3216;
	private static final int CHIANTA_ORDER_3 = 3217;
	private static final int TAMLIN_ORC_SKULL = 3218;
	private static final int TIMAK_ORC_HEAD = 3219;
	private static final int SCEPTER_BOX = 3220;
	private static final int PASHIKA_HEAD = 3221;
	private static final int VULTUS_HEAD = 3222;
	private static final int GLOVE_OF_VOLTAR = 3223;
	private static final int ENKU_OVERLORD_HEAD = 3224;
	private static final int GLOVE_OF_KEPRA = 3225;
	private static final int MAKUM_BUGBEAR_HEAD = 3226;
	private static final int GLOVE_OF_BURAI = 3227;
	private static final int MANAKIA_LETTER_1 = 3228;
	private static final int MANAKIA_LETTER_2 = 3229;
	private static final int KASMAN_LETTER_1 = 3230;
	private static final int KASMAN_LETTER_2 = 3231;
	private static final int KASMAN_LETTER_3 = 3232;
	private static final int DRIKO_CONTRACT = 3233;
	private static final int STAKATO_DRONE_HUSK = 3234;
	private static final int TANAPI_ORDER = 3235;
	private static final int SCEPTER_OF_TANTOS = 3236;
	private static final int RITUAL_BOX = 3237;
	
	// Rewards
	private static final int MARK_OF_GLORY = 3203;
	private static final int DIMENSIONAL_DIAMOND = 7562;
	
	// Checks & Instances
	private static final List<Npc> _sonsOfVoltar = new ArrayList<>(2);
	private static final List<Npc> _enkuOrcOverlords = new ArrayList<>(4);
	private static final List<Npc> _makumBugbearThugs = new ArrayList<>(2);
	
	public Q00220_TestimonyOfGlory()
	{
		super(220, "Testimony of Glory");
		registerQuestItems(VOKIAN_ORDER_1, MANASHEN_SHARD, TYRANT_TALON, GUARDIAN_BASILISK_FANG, VOKIAN_ORDER_2, NECKLACE_OF_AUTHORITY, CHIANTA_ORDER_1, SCEPTER_OF_BREKA, SCEPTER_OF_ENKU, SCEPTER_OF_VUKU, SCEPTER_OF_TUREK, SCEPTER_OF_TUNATH, CHIANTA_ORDER_2, CHIANTA_ORDER_3, TAMLIN_ORC_SKULL, TIMAK_ORC_HEAD, SCEPTER_BOX, PASHIKA_HEAD, VULTUS_HEAD, GLOVE_OF_VOLTAR, ENKU_OVERLORD_HEAD, GLOVE_OF_KEPRA, MAKUM_BUGBEAR_HEAD, GLOVE_OF_BURAI, MANAKIA_LETTER_1, MANAKIA_LETTER_2, KASMAN_LETTER_1, KASMAN_LETTER_2, KASMAN_LETTER_3, DRIKO_CONTRACT, STAKATO_DRONE_HUSK, TANAPI_ORDER, SCEPTER_OF_TANTOS, RITUAL_BOX);
		addStartNpc(VOKIAN);
		addTalkId(KASMAN, VOKIAN, MANAKIA, KAKAI, TANAPI, VOLTAR, KEPRA, BURAI, HARAK, DRIKO, CHIANTA);
		addAttackId(RAGNA_ORC_OVERLORD, RAGNA_ORC_SEER, REVENANT_OF_TANTOS_CHIEF);
		addKillId(TYRANT, MARSH_STAKATO_DRONE, GUARDIAN_BASILISK, MANASHEN_GARGOYLE, TIMAK_ORC, TIMAK_ORC_ARCHER, TIMAK_ORC_SOLDIER, TIMAK_ORC_WARRIOR, TIMAK_ORC_SHAMAN, TIMAK_ORC_OVERLORD, TAMLIN_ORC, TAMLIN_ORC_ARCHER, RAGNA_ORC_OVERLORD, RAGNA_ORC_SEER, PASHIKA_SON_OF_VOLTAR, VULTUS_SON_OF_VOLTAR, ENKU_ORC_OVERLORD, MAKUM_BUGBEAR_THUG, REVENANT_OF_TANTOS_CHIEF);
	}
	
	@Override
	public String onEvent(String event, Npc npc, Player player)
	{
		String htmltext = event;
		final QuestState st = getQuestState(player, false);
		if (st == null)
		{
			return htmltext;
		}
		
		switch (event)
		{
			case "30514-05.htm":
			{
				st.startQuest();
				giveItems(player, VOKIAN_ORDER_1, 1);
				if (!player.getVariables().getBoolean("secondClassChange37", false))
				{
					htmltext = "30514-05a.htm";
					giveItems(player, DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
					player.getVariables().set("secondClassChange37", true);
				}
				break;
			}
			case "30642-03.htm":
			{
				st.setCond(4, true);
				takeItems(player, VOKIAN_ORDER_2, 1);
				giveItems(player, CHIANTA_ORDER_1, 1);
				break;
			}
			case "30642-07.htm":
			{
				takeItems(player, CHIANTA_ORDER_1, 1);
				takeItems(player, KASMAN_LETTER_1, 1);
				takeItems(player, MANAKIA_LETTER_1, 1);
				takeItems(player, MANAKIA_LETTER_2, 1);
				takeItems(player, SCEPTER_OF_BREKA, 1);
				takeItems(player, SCEPTER_OF_ENKU, 1);
				takeItems(player, SCEPTER_OF_TUNATH, 1);
				takeItems(player, SCEPTER_OF_TUREK, 1);
				takeItems(player, SCEPTER_OF_VUKU, 1);
				if (player.getLevel() >= 37)
				{
					st.setCond(6, true);
					giveItems(player, CHIANTA_ORDER_3, 1);
				}
				else
				{
					htmltext = "30642-06.htm";
					playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					giveItems(player, CHIANTA_ORDER_2, 1);
				}
				break;
			}
			case "30501-02.htm":
			{
				if (!hasQuestItems(player, SCEPTER_OF_VUKU))
				{
					if (hasQuestItems(player, KASMAN_LETTER_1))
					{
						htmltext = "30501-04.htm";
					}
					else
					{
						htmltext = "30501-03.htm";
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
						giveItems(player, KASMAN_LETTER_1, 1);
					}
					
					addRadar(player, -2150, 124443, -3724);
				}
				break;
			}
			case "30501-05.htm":
			{
				if (!hasQuestItems(player, SCEPTER_OF_TUREK))
				{
					if (hasQuestItems(player, KASMAN_LETTER_2))
					{
						htmltext = "30501-07.htm";
					}
					else
					{
						htmltext = "30501-06.htm";
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
						giveItems(player, KASMAN_LETTER_2, 1);
					}
					
					addRadar(player, -94294, 110818, -3563);
				}
				break;
			}
			case "30501-08.htm":
			{
				if (!hasQuestItems(player, SCEPTER_OF_TUNATH))
				{
					if (hasQuestItems(player, KASMAN_LETTER_3))
					{
						htmltext = "30501-10.htm";
					}
					else
					{
						htmltext = "30501-09.htm";
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
						giveItems(player, KASMAN_LETTER_3, 1);
					}
					
					addRadar(player, -55217, 200628, -3724);
				}
				break;
			}
			case "30515-02.htm":
			{
				if (!hasQuestItems(player, SCEPTER_OF_BREKA))
				{
					if (hasQuestItems(player, MANAKIA_LETTER_1))
					{
						htmltext = "30515-04.htm";
					}
					else
					{
						htmltext = "30515-03.htm";
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
						giveItems(player, MANAKIA_LETTER_1, 1);
					}
					
					addRadar(player, 80100, 119991, -2264);
				}
				break;
			}
			case "30515-05.htm":
			{
				if (!hasQuestItems(player, SCEPTER_OF_ENKU))
				{
					if (hasQuestItems(player, MANAKIA_LETTER_2))
					{
						htmltext = "30515-07.htm";
					}
					else
					{
						htmltext = "30515-06.htm";
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
						giveItems(player, MANAKIA_LETTER_2, 1);
					}
					
					addRadar(player, 19815, 189703, -3032);
				}
				break;
			}
			case "30615-04.htm":
			{
				playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
				takeItems(player, MANAKIA_LETTER_1, 1);
				giveItems(player, GLOVE_OF_VOLTAR, 1);
				if (!isGroupAlive(_sonsOfVoltar))
				{
					_sonsOfVoltar.clear();
					_sonsOfVoltar.add(addSpawn(PASHIKA_SON_OF_VOLTAR, 80117, 120039, -2259, 0, false, 200000));
					_sonsOfVoltar.add(addSpawn(VULTUS_SON_OF_VOLTAR, 80058, 120038, -2259, 0, false, 200000));
				}
				break;
			}
			case "30616-05.htm":
			{
				playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
				takeItems(player, MANAKIA_LETTER_2, 1);
				giveItems(player, GLOVE_OF_KEPRA, 1);
				if (!isGroupAlive(_enkuOrcOverlords))
				{
					_enkuOrcOverlords.clear();
					_enkuOrcOverlords.add(addSpawn(ENKU_ORC_OVERLORD, 19894, 189743, -3074, 0, false, 200000));
					_enkuOrcOverlords.add(addSpawn(ENKU_ORC_OVERLORD, 19869, 189800, -3059, 0, false, 200000));
					_enkuOrcOverlords.add(addSpawn(ENKU_ORC_OVERLORD, 19818, 189818, -3047, 0, false, 200000));
					_enkuOrcOverlords.add(addSpawn(ENKU_ORC_OVERLORD, 19753, 189837, -3027, 0, false, 200000));
				}
				break;
			}
			case "30617-04.htm":
			{
				playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
				takeItems(player, KASMAN_LETTER_2, 1);
				giveItems(player, GLOVE_OF_BURAI, 1);
				if (!isGroupAlive(_makumBugbearThugs))
				{
					_makumBugbearThugs.clear();
					_makumBugbearThugs.add(addSpawn(MAKUM_BUGBEAR_THUG, -94292, 110781, -3701, 0, false, 200000));
					_makumBugbearThugs.add(addSpawn(MAKUM_BUGBEAR_THUG, -94293, 110861, -3701, 0, false, 200000));
				}
				break;
			}
			case "30618-03.htm":
			{
				takeItems(player, KASMAN_LETTER_3, 1);
				giveItems(player, SCEPTER_OF_TUNATH, 1);
				if (hasQuestItems(player, SCEPTER_OF_BREKA, SCEPTER_OF_ENKU, SCEPTER_OF_VUKU, SCEPTER_OF_TUREK))
				{
					st.setCond(5, true);
				}
				else
				{
					playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
				}
				break;
			}
			case "30619-03.htm":
			{
				playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
				takeItems(player, KASMAN_LETTER_1, 1);
				giveItems(player, DRIKO_CONTRACT, 1);
				break;
			}
			case "30571-03.htm":
			{
				st.setCond(9, true);
				takeItems(player, SCEPTER_BOX, 1);
				giveItems(player, TANAPI_ORDER, 1);
				break;
			}
		}
		
		return htmltext;
	}
	
	@Override
	public String onTalk(Npc npc, Player player)
	{
		String htmltext = getNoQuestMsg(player);
		final QuestState st = getQuestState(player, true);
		
		switch (st.getState())
		{
			case State.CREATED:
			{
				if (player.getRace() != Race.ORC)
				{
					htmltext = "30514-01.htm";
				}
				else if (player.getLevel() < 37)
				{
					htmltext = "30514-02.htm";
				}
				else if (player.getPlayerClass().level() != 1)
				{
					htmltext = "30514-01a.htm";
				}
				else
				{
					htmltext = "30514-03.htm";
				}
				break;
			}
			case State.STARTED:
			{
				final int cond = st.getCond();
				switch (npc.getId())
				{
					case VOKIAN:
					{
						if (cond == 1)
						{
							htmltext = "30514-06.htm";
						}
						else if (cond == 2)
						{
							htmltext = "30514-08.htm";
							st.setCond(3, true);
							takeItems(player, GUARDIAN_BASILISK_FANG, 10);
							takeItems(player, MANASHEN_SHARD, 10);
							takeItems(player, TYRANT_TALON, 10);
							takeItems(player, VOKIAN_ORDER_1, 1);
							giveItems(player, NECKLACE_OF_AUTHORITY, 1);
							giveItems(player, VOKIAN_ORDER_2, 1);
						}
						else if (cond == 3)
						{
							htmltext = "30514-09.htm";
						}
						else if (cond == 8)
						{
							htmltext = "30514-10.htm";
						}
						break;
					}
					case CHIANTA:
					{
						if (cond == 3)
						{
							htmltext = "30642-01.htm";
						}
						else if (cond == 4)
						{
							htmltext = "30642-04.htm";
						}
						else if (cond == 5)
						{
							if (hasQuestItems(player, CHIANTA_ORDER_2))
							{
								if (player.getLevel() >= 37)
								{
									htmltext = "30642-09.htm";
									st.setCond(6, true);
									takeItems(player, CHIANTA_ORDER_2, 1);
									giveItems(player, CHIANTA_ORDER_3, 1);
								}
								else
								{
									htmltext = "30642-08.htm";
								}
							}
							else
							{
								htmltext = "30642-05.htm";
							}
						}
						else if (cond == 6)
						{
							htmltext = "30642-10.htm";
						}
						else if (cond == 7)
						{
							htmltext = "30642-11.htm";
							st.setCond(8, true);
							takeItems(player, CHIANTA_ORDER_3, 1);
							takeItems(player, NECKLACE_OF_AUTHORITY, 1);
							takeItems(player, TAMLIN_ORC_SKULL, 20);
							takeItems(player, TIMAK_ORC_HEAD, 20);
							giveItems(player, SCEPTER_BOX, 1);
						}
						else if (cond == 8)
						{
							htmltext = "30642-12.htm";
						}
						else if (cond > 8)
						{
							htmltext = "30642-13.htm";
						}
						break;
					}
					case KASMAN:
					{
						if (hasQuestItems(player, CHIANTA_ORDER_1))
						{
							htmltext = "30501-01.htm";
						}
						else if (cond > 4)
						{
							htmltext = "30501-11.htm";
						}
						break;
					}
					case MANAKIA:
					{
						if (hasQuestItems(player, CHIANTA_ORDER_1))
						{
							htmltext = "30515-01.htm";
						}
						else if (cond > 4)
						{
							htmltext = "30515-08.htm";
						}
						break;
					}
					case VOLTAR:
					{
						if (cond > 3)
						{
							if (hasQuestItems(player, MANAKIA_LETTER_1))
							{
								htmltext = "30615-02.htm";
								removeRadar(player, 80100, 119991, -2264);
							}
							else if (hasQuestItems(player, GLOVE_OF_VOLTAR))
							{
								htmltext = "30615-05.htm";
								if (!isGroupAlive(_sonsOfVoltar))
								{
									_sonsOfVoltar.clear();
									_sonsOfVoltar.add(addSpawn(PASHIKA_SON_OF_VOLTAR, 80117, 120039, -2259, 0, false, 200000));
									_sonsOfVoltar.add(addSpawn(VULTUS_SON_OF_VOLTAR, 80058, 120038, -2259, 0, false, 200000));
								}
							}
							else if (hasQuestItems(player, PASHIKA_HEAD, VULTUS_HEAD))
							{
								htmltext = "30615-06.htm";
								takeItems(player, PASHIKA_HEAD, 1);
								takeItems(player, VULTUS_HEAD, 1);
								giveItems(player, SCEPTER_OF_BREKA, 1);
								
								if (hasQuestItems(player, SCEPTER_OF_ENKU, SCEPTER_OF_VUKU, SCEPTER_OF_TUREK, SCEPTER_OF_TUNATH))
								{
									st.setCond(5, true);
								}
								else
								{
									playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
								}
							}
							else if (hasQuestItems(player, SCEPTER_OF_BREKA))
							{
								htmltext = "30615-07.htm";
							}
							else if (hasQuestItems(player, CHIANTA_ORDER_1))
							{
								htmltext = "30615-01.htm";
							}
							else if (cond < 9)
							{
								htmltext = "30615-08.htm";
							}
						}
						break;
					}
					case KEPRA:
					{
						if (cond > 3)
						{
							if (hasQuestItems(player, MANAKIA_LETTER_2))
							{
								htmltext = "30616-02.htm";
								removeRadar(player, 19815, 189703, -3032);
							}
							else if (hasQuestItems(player, GLOVE_OF_KEPRA))
							{
								htmltext = "30616-05.htm";
								
								if (!isGroupAlive(_enkuOrcOverlords))
								{
									_enkuOrcOverlords.clear();
									_enkuOrcOverlords.add(addSpawn(ENKU_ORC_OVERLORD, 19894, 189743, -3074, 0, false, 200000));
									_enkuOrcOverlords.add(addSpawn(ENKU_ORC_OVERLORD, 19869, 189800, -3059, 0, false, 200000));
									_enkuOrcOverlords.add(addSpawn(ENKU_ORC_OVERLORD, 19818, 189818, -3047, 0, false, 200000));
									_enkuOrcOverlords.add(addSpawn(ENKU_ORC_OVERLORD, 19753, 189837, -3027, 0, false, 200000));
								}
							}
							else if (getQuestItemsCount(player, ENKU_OVERLORD_HEAD) >= 4)
							{
								htmltext = "30616-06.htm";
								takeItems(player, ENKU_OVERLORD_HEAD, -1);
								giveItems(player, SCEPTER_OF_ENKU, 1);
								
								if (hasQuestItems(player, SCEPTER_OF_BREKA, SCEPTER_OF_VUKU, SCEPTER_OF_TUREK, SCEPTER_OF_TUNATH))
								{
									st.setCond(5, true);
								}
								else
								{
									playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
								}
							}
							else if (hasQuestItems(player, SCEPTER_OF_ENKU))
							{
								htmltext = "30616-07.htm";
							}
							else if (hasQuestItems(player, CHIANTA_ORDER_1))
							{
								htmltext = "30616-01.htm";
							}
							else if (cond < 9)
							{
								htmltext = "30616-08.htm";
							}
						}
						break;
					}
					case BURAI:
					{
						if (cond > 3)
						{
							if (hasQuestItems(player, KASMAN_LETTER_2))
							{
								htmltext = "30617-02.htm";
								removeRadar(player, -94294, 110818, -3563);
							}
							else if (hasQuestItems(player, GLOVE_OF_BURAI))
							{
								htmltext = "30617-04.htm";
								
								if (!isGroupAlive(_makumBugbearThugs))
								{
									_makumBugbearThugs.clear();
									_makumBugbearThugs.add(addSpawn(MAKUM_BUGBEAR_THUG, -94292, 110781, -3701, 0, false, 200000));
									_makumBugbearThugs.add(addSpawn(MAKUM_BUGBEAR_THUG, -94293, 110861, -3701, 0, false, 200000));
								}
							}
							else if (getQuestItemsCount(player, MAKUM_BUGBEAR_HEAD) == 2)
							{
								htmltext = "30617-05.htm";
								takeItems(player, MAKUM_BUGBEAR_HEAD, 2);
								giveItems(player, SCEPTER_OF_TUREK, 1);
								
								if (hasQuestItems(player, SCEPTER_OF_BREKA, SCEPTER_OF_VUKU, SCEPTER_OF_ENKU, SCEPTER_OF_TUNATH))
								{
									st.setCond(5, true);
								}
								else
								{
									playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
								}
							}
							else if (hasQuestItems(player, SCEPTER_OF_TUREK))
							{
								htmltext = "30617-06.htm";
							}
							else if (hasQuestItems(player, CHIANTA_ORDER_1))
							{
								htmltext = "30617-01.htm";
							}
							else if (cond < 8)
							{
								htmltext = "30617-07.htm";
							}
						}
						break;
					}
					case HARAK:
					{
						if (cond > 3)
						{
							if (hasQuestItems(player, KASMAN_LETTER_3))
							{
								htmltext = "30618-02.htm";
								removeRadar(player, -55217, 200628, -3724);
							}
							else if (hasQuestItems(player, SCEPTER_OF_TUNATH))
							{
								htmltext = "30618-04.htm";
							}
							else if (hasQuestItems(player, CHIANTA_ORDER_1))
							{
								htmltext = "30618-01.htm";
							}
							else if (cond < 9)
							{
								htmltext = "30618-05.htm";
							}
						}
						break;
					}
					case DRIKO:
					{
						if (cond > 3)
						{
							if (hasQuestItems(player, KASMAN_LETTER_1))
							{
								htmltext = "30619-02.htm";
								removeRadar(player, -2150, 124443, -3724);
							}
							else if (hasQuestItems(player, DRIKO_CONTRACT))
							{
								if (getQuestItemsCount(player, STAKATO_DRONE_HUSK) == 30)
								{
									htmltext = "30619-05.htm";
									takeItems(player, DRIKO_CONTRACT, 1);
									takeItems(player, STAKATO_DRONE_HUSK, 30);
									giveItems(player, SCEPTER_OF_VUKU, 1);
									
									if (hasQuestItems(player, SCEPTER_OF_BREKA, SCEPTER_OF_TUREK, SCEPTER_OF_ENKU, SCEPTER_OF_TUNATH))
									{
										st.setCond(5, true);
									}
									else
									{
										playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
									}
								}
								else
								{
									htmltext = "30619-04.htm";
								}
							}
							else if (hasQuestItems(player, SCEPTER_OF_VUKU))
							{
								htmltext = "30619-06.htm";
							}
							else if (hasQuestItems(player, CHIANTA_ORDER_1))
							{
								htmltext = "30619-01.htm";
							}
							else if (cond < 8)
							{
								htmltext = "30619-07.htm";
							}
						}
						break;
					}
					case TANAPI:
					{
						if (cond == 8)
						{
							htmltext = "30571-01.htm";
						}
						else if (cond == 9)
						{
							htmltext = "30571-04.htm";
						}
						else if (cond == 10)
						{
							htmltext = "30571-05.htm";
							st.setCond(11, true);
							takeItems(player, SCEPTER_OF_TANTOS, 1);
							takeItems(player, TANAPI_ORDER, 1);
							giveItems(player, RITUAL_BOX, 1);
						}
						else if (cond == 11)
						{
							htmltext = "30571-06.htm";
						}
						break;
					}
					case KAKAI:
					{
						if ((cond > 7) && (cond < 11))
						{
							htmltext = "30565-01.htm";
						}
						else if (cond == 11)
						{
							htmltext = "30565-02.htm";
							takeItems(player, RITUAL_BOX, 1);
							giveItems(player, MARK_OF_GLORY, 1);
							addExpAndSp(player, 91457, 2500);
							player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
							st.exitQuest(false, true);
						}
						break;
					}
				}
				break;
			}
			case State.COMPLETED:
			{
				htmltext = getAlreadyCompletedMsg(player);
				break;
			}
		}
		
		return htmltext;
	}
	
	@Override
	public void onAttack(Npc npc, Player attacker, int damage, boolean isPet)
	{
		final QuestState st = getQuestState(attacker, false);
		if (st == null)
		{
			return;
		}
		
		switch (npc.getId())
		{
			case RAGNA_ORC_OVERLORD:
			case RAGNA_ORC_SEER:
			{
				if (st.isCond(9) && npc.isScriptValue(0))
				{
					npc.broadcastSay(ChatType.GENERAL, "Is it a lackey of Kakai?!");
					npc.setScriptValue(1);
				}
				break;
			}
			case REVENANT_OF_TANTOS_CHIEF:
			{
				if (st.isCond(9))
				{
					if (npc.isScriptValue(0))
					{
						npc.broadcastSay(ChatType.GENERAL, "How regretful! Unjust dishonor!");
						npc.setScriptValue(1);
					}
					else if (npc.isScriptValue(1) && ((npc.getCurrentHp() / npc.getMaxHp()) < 0.33))
					{
						npc.broadcastSay(ChatType.GENERAL, "Indignant and unfair death!");
						npc.setScriptValue(2);
					}
				}
				break;
			}
		}
	}
	
	/**
	 * @param group the monsters spawned for a quest step
	 * @return {@code true} while any of them is still alive, a new group is spawned only after the previous one is gone
	 */
	private static boolean isGroupAlive(List<Npc> group)
	{
		for (Npc npc : group)
		{
			if (!npc.isDead() && npc.isSpawned())
			{
				return true;
			}
		}
		
		return false;
	}
	
	@Override
	public void onKill(Npc npc, Player player, boolean isPet)
	{
		final QuestState st = getQuestState(player, false);
		if ((st == null) || !st.isStarted())
		{
			return;
		}
		
		switch (npc.getId())
		{
			case TYRANT:
			{
				if (st.isCond(1) && (getQuestItemsCount(player, TYRANT_TALON) < 10) && (getRandom(10) < 5))
				{
					giveItems(player, TYRANT_TALON, 1);
					if ((getQuestItemsCount(player, TYRANT_TALON) >= 10) && ((getQuestItemsCount(player, GUARDIAN_BASILISK_FANG) + getQuestItemsCount(player, MANASHEN_SHARD)) == 20))
					{
						st.setCond(2, true);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case GUARDIAN_BASILISK:
			{
				if (st.isCond(1) && (getQuestItemsCount(player, GUARDIAN_BASILISK_FANG) < 10) && (getRandom(10) < 5))
				{
					giveItems(player, GUARDIAN_BASILISK_FANG, 1);
					if ((getQuestItemsCount(player, GUARDIAN_BASILISK_FANG) >= 10) && ((getQuestItemsCount(player, TYRANT_TALON) + getQuestItemsCount(player, MANASHEN_SHARD)) == 20))
					{
						st.setCond(2, true);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case MANASHEN_GARGOYLE:
			{
				if (st.isCond(1) && (getQuestItemsCount(player, MANASHEN_SHARD) < 10) && (getRandom(100) < 75))
				{
					giveItems(player, MANASHEN_SHARD, 1);
					if ((getQuestItemsCount(player, MANASHEN_SHARD) >= 10) && ((getQuestItemsCount(player, TYRANT_TALON) + getQuestItemsCount(player, GUARDIAN_BASILISK_FANG)) == 20))
					{
						st.setCond(2, true);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case MARSH_STAKATO_DRONE:
			{
				if (hasQuestItems(player, DRIKO_CONTRACT) && (getQuestItemsCount(player, STAKATO_DRONE_HUSK) < 30) && (getRandom(100) < 75))
				{
					giveItems(player, STAKATO_DRONE_HUSK, 1);
					playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
				}
				break;
			}
			case PASHIKA_SON_OF_VOLTAR:
			{
				if (hasQuestItems(player, GLOVE_OF_VOLTAR) && !hasQuestItems(player, PASHIKA_HEAD))
				{
					giveItems(player, PASHIKA_HEAD, 1);
					if (hasQuestItems(player, VULTUS_HEAD))
					{
						takeItems(player, GLOVE_OF_VOLTAR, 1);
						playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case VULTUS_SON_OF_VOLTAR:
			{
				if (hasQuestItems(player, GLOVE_OF_VOLTAR) && !hasQuestItems(player, VULTUS_HEAD))
				{
					giveItems(player, VULTUS_HEAD, 1);
					if (hasQuestItems(player, PASHIKA_HEAD))
					{
						takeItems(player, GLOVE_OF_VOLTAR, 1);
						playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case ENKU_ORC_OVERLORD:
			{
				if (hasQuestItems(player, GLOVE_OF_KEPRA))
				{
					giveItems(player, ENKU_OVERLORD_HEAD, 1);
					if ((getQuestItemsCount(player, ENKU_OVERLORD_HEAD) >= 4))
					{
						takeItems(player, GLOVE_OF_KEPRA, 1);
						playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case MAKUM_BUGBEAR_THUG:
			{
				if (hasQuestItems(player, GLOVE_OF_BURAI))
				{
					giveItems(player, MAKUM_BUGBEAR_HEAD, 1);
					if ((getQuestItemsCount(player, MAKUM_BUGBEAR_HEAD) >= 2))
					{
						takeItems(player, GLOVE_OF_BURAI, 1);
						playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case TIMAK_ORC:
			case TIMAK_ORC_ARCHER:
			case TIMAK_ORC_SOLDIER:
			case TIMAK_ORC_WARRIOR:
			case TIMAK_ORC_SHAMAN:
			case TIMAK_ORC_OVERLORD:
			{
				if (st.isCond(6) && (getQuestItemsCount(player, TIMAK_ORC_HEAD) < 20) && (getRandom(1000000) < (500000 + ((npc.getId() - 20583) * 100000))))
				{
					giveItems(player, TIMAK_ORC_HEAD, 1);
					if ((getQuestItemsCount(player, TIMAK_ORC_HEAD) >= 20) && (getQuestItemsCount(player, TAMLIN_ORC_SKULL) >= 20))
					{
						st.setCond(7, true);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case TAMLIN_ORC:
			{
				if (st.isCond(6) && (getQuestItemsCount(player, TAMLIN_ORC_SKULL) < 20) && (getRandom(1000000) < 500000))
				{
					giveItems(player, TAMLIN_ORC_SKULL, 1);
					if ((getQuestItemsCount(player, TAMLIN_ORC_SKULL) >= 20) && (getQuestItemsCount(player, TIMAK_ORC_HEAD) >= 20))
					{
						st.setCond(7, true);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case TAMLIN_ORC_ARCHER:
			{
				if (st.isCond(6) && (getQuestItemsCount(player, TAMLIN_ORC_SKULL) < 20) && (getRandom(1000000) < 600000))
				{
					giveItems(player, TAMLIN_ORC_SKULL, 1);
					if ((getQuestItemsCount(player, TAMLIN_ORC_SKULL) >= 20) && (getQuestItemsCount(player, TIMAK_ORC_HEAD) >= 20))
					{
						st.setCond(7, true);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
				break;
			}
			case RAGNA_ORC_OVERLORD:
			case RAGNA_ORC_SEER:
			{
				if (st.isCond(9))
				{
					npc.broadcastSay(ChatType.GENERAL, "Too late!");
					addSpawn(REVENANT_OF_TANTOS_CHIEF, npc, true, 200000);
				}
				break;
			}
			case REVENANT_OF_TANTOS_CHIEF:
			{
				if (st.isCond(9))
				{
					st.setCond(10, true);
					giveItems(player, SCEPTER_OF_TANTOS, 1);
					npc.broadcastSay(ChatType.GENERAL, "I'll get revenge someday!!");
				}
				break;
			}
		}
	}
}