From 711a87e527fb18371b53b5039062b46fc2454e8a Mon Sep 17 00:00:00 2001 From: ivantotov <gmtotov@gmail.com> Date: Fri, 5 Dec 2014 21:33:38 +0200 Subject: [PATCH] Quest: Test Of The Duelist (222) Reviewed by: @Zoey76 --- L2J_DataPack/dist/game/data/scripts.cfg | 1 - .../quests/222_TestOfDuelist/30623-03.htm | 5 - .../quests/222_TestOfDuelist/30623-04.htm | 5 - .../quests/222_TestOfDuelist/30623-05.htm | 8 - .../quests/222_TestOfDuelist/30623-08.htm | 5 - .../quests/222_TestOfDuelist/30623-09.htm | 5 - .../quests/222_TestOfDuelist/30623-10.htm | 5 - .../quests/222_TestOfDuelist/30623-11.htm | 5 - .../quests/222_TestOfDuelist/30623-12.htm | 6 - .../quests/222_TestOfDuelist/30623-13.htm | 5 - .../quests/222_TestOfDuelist/30623-15.htm | 5 - .../quests/222_TestOfDuelist/30623-16.htm | 7 - .../quests/222_TestOfDuelist/30623-18.htm | 4 - .../quests/222_TestOfDuelist/__init__.py | 168 ------ .../30623-01.html} | 4 +- .../30623-02.html} | 4 +- .../Q00222_TestOfTheDuelist/30623-03.htm | 5 + .../Q00222_TestOfTheDuelist/30623-04.htm | 5 + .../Q00222_TestOfTheDuelist/30623-05.htm | 7 + .../30623-06.htm | 6 +- .../30623-07.htm | 4 +- .../Q00222_TestOfTheDuelist/30623-07.html | 6 + .../Q00222_TestOfTheDuelist/30623-07a.htm | 7 + .../Q00222_TestOfTheDuelist/30623-08.html | 5 + .../Q00222_TestOfTheDuelist/30623-09.html | 5 + .../Q00222_TestOfTheDuelist/30623-10.html | 5 + .../Q00222_TestOfTheDuelist/30623-11.html | 5 + .../Q00222_TestOfTheDuelist/30623-12.html | 6 + .../Q00222_TestOfTheDuelist/30623-13.html | 5 + .../30623-14.html} | 3 +- .../Q00222_TestOfTheDuelist/30623-15.html | 5 + .../Q00222_TestOfTheDuelist/30623-16.html | 7 + .../30623-17.html} | 3 +- .../Q00222_TestOfTheDuelist/30623-18.html | 4 + .../Q00222_TestOfTheDuelist.java | 520 ++++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 2 + .../dist/sql/game/updates/20141205update.sql | 1 + 37 files changed, 611 insertions(+), 247 deletions(-) delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-03.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-04.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-05.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-08.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-09.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-10.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-11.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-12.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-13.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-15.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-16.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-18.htm delete mode 100644 L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py rename L2J_DataPack/dist/game/data/scripts/quests/{222_TestOfDuelist/30623-01.htm => Q00222_TestOfTheDuelist/30623-01.html} (74%) rename L2J_DataPack/dist/game/data/scripts/quests/{222_TestOfDuelist/30623-02.htm => Q00222_TestOfTheDuelist/30623-02.html} (75%) create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-03.htm create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-04.htm create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-05.htm rename L2J_DataPack/dist/game/data/scripts/quests/{222_TestOfDuelist => Q00222_TestOfTheDuelist}/30623-06.htm (72%) rename L2J_DataPack/dist/game/data/scripts/quests/{222_TestOfDuelist => Q00222_TestOfTheDuelist}/30623-07.htm (68%) create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07.html create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07a.htm create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-08.html create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-09.html create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-10.html create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-11.html create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-12.html create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-13.html rename L2J_DataPack/dist/game/data/scripts/quests/{222_TestOfDuelist/30623-14.htm => Q00222_TestOfTheDuelist/30623-14.html} (67%) create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-15.html create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-16.html rename L2J_DataPack/dist/game/data/scripts/quests/{222_TestOfDuelist/30623-17.htm => Q00222_TestOfTheDuelist/30623-17.html} (54%) create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-18.html create mode 100644 L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/Q00222_TestOfTheDuelist.java create mode 100644 L2J_DataPack/dist/sql/game/updates/20141205update.sql diff --git a/L2J_DataPack/dist/game/data/scripts.cfg b/L2J_DataPack/dist/game/data/scripts.cfg index 40a11b7823..35d053fb5c 100644 --- a/L2J_DataPack/dist/game/data/scripts.cfg +++ b/L2J_DataPack/dist/game/data/scripts.cfg @@ -217,7 +217,6 @@ quests/171_ActsOfEvil/__init__.py quests/178_IconicTrinity/__init__.py quests/184_Nikolas_Cooperation_Contract/__init__.py quests/185_Nikolas_Cooperation_Consideration/__init__.py -quests/222_TestOfDuelist/__init__.py quests/227_TestOfReformer/__init__.py quests/230_TestOfSummoner/__init__.py quests/233_TestOfWarspirit/__init__.py diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-03.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-03.htm deleted file mode 100644 index 47c2dcbb5e..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Duelist Kaien:<br> -Greetings, young warrior. My name is Kaien and I am a 'duelist' belonging from the arena at Shutguart. My quest is to travel the continent to discover talented swordsmen and train them as duelists.<br> -Though the kingdoms of Elmore and Aden are hostile to one another, that does not influence the affairs of a guild... My wish is to train as many duelists as possible and pass on the splendid tradition of swordsmanship of the Warrior Guild on this continent...<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-04.htm">Ask about the Mark of the Duelist</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-04.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-04.htm deleted file mode 100644 index 393fc84b7e..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Duelist Kaien:<br> -Originally the term Duelist meant 'challenger.' It was a term used to refer to those who displayed their dazzling talents in the arena at Shutguart, who bathed themselves in the blood of their rivals and regarded this as their honor. Now it is a title given to those whose skills with their weapon have reached their zenith. It is an title desired by all that wield a weapon, but only a select few may attain it, and only after many years of training...<br> -If you desire to obtain the<font color="LEVEL"> Mark of the Duelist</font>, you must pass the trial that I, Duelist Kaien, give you.<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-06.htm">Ask about the Trial of the Duelist</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-05.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-05.htm deleted file mode 100644 index e78629f580..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-05.htm +++ /dev/null @@ -1,8 +0,0 @@ -<html><body>Duelist Kaien:<br> -Greetings, young traveler. I am Duelist Kaien.<br> -The original meaning of the word 'duelist' was 'Challenger.' It was used to describe those who exhibited their dazzling talents in the arena at Shutguart. They bathed in the blood of their rivals and regarded that as an honor.<br> -Now this title is given to those whose weapons skills have reached their zenith. It is an honor desired by all that wield a weapon, but only a select few may attain this title, and only after many years of training...<br> -If you wish to obtain the<font color="LEVEL"> Mark of the Duelist</font> you must pass the trial that I, Duelist Kaien, give you.<br> -Only recently have we started to alllow Orc Warriors like yourself to attempt this trial. I must confess that in the past, we did not acknowledge any weapon other than the sword, and did not hold the battle skills of the Orcs in very high regard. My mind was changed when I saw an Orc shatter a granite golem into pieces in a matter of seconds!<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-06.htm">Ask about the Duelist Trial</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-08.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-08.htm deleted file mode 100644 index e0c947f07c..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-08.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Duelist Kaien:<br> -In<font color="LEVEL"> Gludio</font> you must face the<font color="LEVEL"> Puncher and Noble Ant Leader.</font> Punchers can be found in the Wastelands of southern Gludio. To find Noble Ants, you must go inside the Ant Nest of the Wastelands. I'm sure that with your skills you can adequately protect yourself...<br> -Bring back 10 Puncher Shards and 10 Noble Ant Feelers!<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-09.htm">Tell me more.</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-09.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-09.htm deleted file mode 100644 index ad9dffcc2d..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-09.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Duelist Kaien:<br> -The masters of the Warrior guild and I have determined that your first opponent shall be the<font color="LEVEL"> Marsh Stakato Drone</font> and the<font color="LEVEL"> Dead Seeker</font> in the territory of<font color="LEVEL"> Dion</font>.<br> -Marsh Stakato Drones are the nobles of the Stakato race that live in the<font color="LEVEL"> Cruma Marshlands</font>. You will find the Dead Seekers at the<font color="LEVEL"> Execution Ground</font>. As a mark of your victory you must bring back 10 each of the Stakato Drone's Chitin and Dead Seeker's Fangs.<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-10.htm">Listen further to the explanation</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-10.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-10.htm deleted file mode 100644 index 8ae63ede42..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-10.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Duelist Kaien:<br> -In<font color="LEVEL"> Giran</font> you must seek the<font color="LEVEL"> Breka Orc Overlords</font> and<font color="LEVEL"> Fettered Souls</font>. The Breka Orc tribe wields considerable power in<font color="LEVEL"> northern Giran</font>, and they are led by the Breka Orc Overlords. Fettered Souls are undead that appear in the<font color="LEVEL"> Death Pass</font>, the path connecting Giran and Oren.<br> -You must bring back 10 Breka Orc Overlord Necklaces and 10 Fettered Soul's Chain as proof.<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-11.htm">Listen further to the explanation</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-11.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-11.htm deleted file mode 100644 index c9892dfcc3..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-11.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Duelist Kaien:<br> -I personally selected your opponents for the trial in<font color="LEVEL"> Oren</font>. First you shall fight the<font color="LEVEL"> Leto Lizardman Overlord</font> that lives in the southern regions of Oren, and your second opponent will be the<font color="LEVEL"> Enchanted Monstereye</font> that wanders the area surrounding the Ivory Tower of Oren. Stay alert, as both are formidable enemies!<br> -Bring back 10 Leto Lizardman Chief's Amulets, and 10 pieces of Enchanted Eye Meat.<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-12.htm">Listen further to the explanation</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-12.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-12.htm deleted file mode 100644 index cefc65effc..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-12.htm +++ /dev/null @@ -1,6 +0,0 @@ -<html><body>Duelist Kaien:<br> -Last of all you must visit the territory of<font color="LEVEL"> Aden</font>... This territory is under martial law and many areas are off limits...<br> -In the southern region of Aden, you will find the<font color="LEVEL"> Tamlin Orcs</font>. Defeat them and the<font color="LEVEL"> Tamlin Orc Archers</font>. Bring back 10 Tamlin Orc rings and 10 Tamlin Orc arrows.<br> -Do you remember your mission in each territory? Always remember this motto: "I shall not surrender, I shall be victorious..." One day the Mark will be yours.<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-07.htm">Return</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-13.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-13.htm deleted file mode 100644 index dbaf92628a..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-13.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Duelist Kaien:<br> - I am too tired to count. I will trust that you completed the assignment so far. You did well, but I would have been able to complete this task in a single day. The Duelist's Trial is not yet over, so do not get ahead of yourself.<br> -The hard part begins now. Are you ready to attempt the<font color="LEVEL"> final trial</font>?<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-15.htm">Attempt the final trial</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-15.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-15.htm deleted file mode 100644 index aa7e6d3eda..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-15.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Duelist Kaien:<br> -So you do not know the meaning of defeat... Good... then you are halfway there! Already you have conquered each territory. Now you must become the champion of each kingdom, that is to say,<font color="LEVEL"> 'Conquer the Kingdom'</font>... The previous trial may have been difficult, but this time it will be twice as challenging.<br> -The opponent in this trial has been chosen by all the Grandmasters in the kingdom. You must achieve<font color="LEVEL"> 3 victories</font> from 1 opponent... That in itself is not an easy task.<font color="LEVEL"> If you find it difficult to accomplish alone you may ask your fellow members to assist you</font>. You will still get the credit for a victory should you succeed. Of course, your opponent will be much more difficult...<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-16.htm">Ask about your opponent</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-16.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-16.htm deleted file mode 100644 index 2c4e52c729..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-16.htm +++ /dev/null @@ -1,7 +0,0 @@ -<html><body>Duelist Kaien:<br> -First you must slay the<font color="LEVEL"> Excuro</font> and the<font color="LEVEL"> Krator</font> from the<font color="LEVEL"> Cruma Tower</font>. As a proof of your victory, bring back 3 Excuro Skins and 3 Krator Fragments. I trust that I don't need to explain about the dangers of the Cruma Tower?<br> -After this you must go to the<font color="LEVEL"> Death Pass</font> in Giran and fight the<font color="LEVEL"> Grandis</font>. Perhaps you have already heard of the savagery of the Grandis?<br> -Next find the<font color="LEVEL"> Timak Orc Overlord</font> from the<font color="LEVEL"> southern region of Oren</font> and challenge him. The Timak Orcs are a strong race, strong enough to hold their own against the guards of the Oren Lord. Furthermore, your opponent is the Overlord, so it will be best to view his skills as equal to that of the strongest warrior.<br> -Finally, you must slay the<font color="LEVEL"> Lakin</font> that wanders through all of<font color="LEVEL"> Aden</font>. It is a giant, violent animal, so make sure you are prepared. It would be good to have a trusted friend watching your back.<br> -These orders contain a list of the opponents you must defeat, so consult them if needed. -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-18.htm b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-18.htm deleted file mode 100644 index a697547f70..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-18.htm +++ /dev/null @@ -1,4 +0,0 @@ -<html><body>Duelist Kaien:<br> -You have defeated all of the opponents of the final trial...! Excellent! Now not only have you conquered all of the territories of Aden, but also Aden itself! Magnificent! I, duelist Kaien, hereby acknowledge your skills and talents and bestow upon you the<font color="LEVEL"> Mark of the Duelist</font>. Congratulations!<br> -If you practice swordsmanship regularly, one day you may have the chance to draw against me... I shall wait for that day! -</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py deleted file mode 100644 index 5c03ff9a3a..0000000000 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py +++ /dev/null @@ -1,168 +0,0 @@ -# Made by Mr. Have fun! Version 0.2 -# rewritten by Rolarga Version 0.3 -# 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 = "222_TestOfDuelist" - -MARK_OF_DUELIST, ORDER_GLUDIO, ORDER_DION, ORDER_GIRAN, ORDER_OREN, \ -ORDER_ADEN, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEADSEEKER_FANG, \ -OVERLORD_NECKLACE,CRIMSONBINDS_CHAIN,CHIEFS_AMULET, TEMPERED_EYE_MEAT,TAMRIN_ORCS_RING,\ -TAMRIN_ORCS_ARROW,FINAL_ORDER, EXCUROS_SKIN, KRATORS_SHARD, GRANDIS_SKIN, \ -TIMAK_ORCS_BELT, RAKINS_MACE = range(2762,2784) - -#Shadow Weapon Exchange Coupon -SHADOW_WEAPON_COUPON_CGRADE = 8870 - -DROPLIST={ -20085:(1,10,PUNCHERS_SHARD), -20090:(1,10,NOBLE_ANTS_FEELER), -20234:(1,10,DRONES_CHITIN), -20202:(1,10,DEADSEEKER_FANG), -20270:(1,10,OVERLORD_NECKLACE), -20552:(1,10,CRIMSONBINDS_CHAIN), -20582:(1,10,CHIEFS_AMULET), -20564:(1,10,TEMPERED_EYE_MEAT), -20601:(1,10,TAMRIN_ORCS_RING), -20602:(1,10,TAMRIN_ORCS_ARROW), -20604:(2,3,RAKINS_MACE), -20214:(2,3,EXCUROS_SKIN), -20217:(2,3,KRATORS_SHARD), -20588:(2,3,TIMAK_ORCS_BELT), -20554:(2,3,GRANDIS_SKIN) -} - - -class Quest (JQuest) : - - def __init__(self,id,name,descr): - JQuest.__init__(self,id,name,descr) - self.questItemIds = range(2763,2784) - - def onAdvEvent (self,event,npc, player) : - htmltext = event - st = self.getQuestState(player, False) - if not st : return - if event == "30623-07.htm" : - if st.getInt("step")==0 : - st.set("cond","1") - st.set("step","1") - st.setState(State.STARTED) - st.playSound("ItemSound.quest_accept") - st.giveItems(ORDER_GLUDIO,1) - st.giveItems(ORDER_DION,1) - st.giveItems(ORDER_GIRAN,1) - st.giveItems(ORDER_OREN,1) - st.giveItems(ORDER_ADEN,1) - elif event == "30623-04.htm" : - if st.getPlayer().getRace().ordinal() == 3 : - htmltext = "30623-05.htm" - elif event == "30623-16.htm" : - if st.getQuestItemsCount(FINAL_ORDER)==0: - for i in [ - PUNCHERS_SHARD, - NOBLE_ANTS_FEELER, - DEADSEEKER_FANG, - DRONES_CHITIN, - OVERLORD_NECKLACE, - CRIMSONBINDS_CHAIN, - CHIEFS_AMULET, - TEMPERED_EYE_MEAT, - TAMRIN_ORCS_RING, - TAMRIN_ORCS_ARROW, - ORDER_GLUDIO, - ORDER_DION, - ORDER_GIRAN, - ORDER_OREN, - ORDER_ADEN - ]: - st.takeItems(i,-1) - st.set("step","2") - st.giveItems(FINAL_ORDER,1) - 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 id == State.CREATED : - st.set("step","0") - st.set("cond","0") - if id == State.COMPLETED : - htmltext = Quest.getAlreadyCompletedMsg(player) - - elif st.getInt("step")==0 : - if player.getClassId().getId() in [0x01,0x2f,0x13,0x20] : - if player.getLevel() >= 39 : - htmltext = "30623-03.htm" - else: - htmltext = "30623-01.htm" - st.exitQuest(1) - else: - htmltext = "30623-02.htm" - st.exitQuest(1) - elif st.getInt("step")==1 : - if st.getQuestItemsCount(ORDER_GLUDIO) and st.getQuestItemsCount(ORDER_DION) and st.getQuestItemsCount(ORDER_GIRAN) and st.getQuestItemsCount(ORDER_OREN) and st.getQuestItemsCount(ORDER_ADEN) : - if st.getQuestItemsCount(PUNCHERS_SHARD)==st.getQuestItemsCount(NOBLE_ANTS_FEELER)==st.getQuestItemsCount(DRONES_CHITIN)==st.getQuestItemsCount(DEADSEEKER_FANG)==st.getQuestItemsCount(OVERLORD_NECKLACE)==st.getQuestItemsCount(CRIMSONBINDS_CHAIN)==st.getQuestItemsCount(CHIEFS_AMULET)==st.getQuestItemsCount(TEMPERED_EYE_MEAT)==st.getQuestItemsCount(TAMRIN_ORCS_RING)==st.getQuestItemsCount(TAMRIN_ORCS_ARROW) == 10 : - htmltext = "30623-13.htm" - else: - htmltext = "30623-14.htm" - else: - htmltext = "30623-14.htm" - for i in [ORDER_GLUDIO,ORDER_DION,ORDER_GIRAN,ORDER_OREN,ORDER_ADEN]: - if st.getQuestItemsCount(i)==0: - st.giveItems(i,1) - elif st.getInt("step")==2 and st.getQuestItemsCount(FINAL_ORDER) : - if st.getQuestItemsCount(EXCUROS_SKIN)==st.getQuestItemsCount(KRATORS_SHARD)==st.getQuestItemsCount(RAKINS_MACE)==st.getQuestItemsCount(GRANDIS_SKIN)==st.getQuestItemsCount(TIMAK_ORCS_BELT)>2 : - st.takeItems(EXCUROS_SKIN,-1) - st.takeItems(KRATORS_SHARD,-1) - st.takeItems(GRANDIS_SKIN,-1) - st.takeItems(TIMAK_ORCS_BELT,-1) - st.takeItems(RAKINS_MACE,-1) - st.takeItems(FINAL_ORDER,1) - st.addExpAndSp(594888,61408) - st.giveItems(57,161806) - st.giveItems(MARK_OF_DUELIST,1) - st.giveItems(SHADOW_WEAPON_COUPON_CGRADE,15) - htmltext = "30623-18.htm" - st.unset("step") - st.set("cond","0") - st.exitQuest(False) - st.playSound("ItemSound.quest_finish") - else : - htmltext = "30623-17.htm" - return htmltext - - def onKill(self,npc,player,isPet): - st = self.getQuestState(player, False) - if not st : return - if st.getState() != State.STARTED : return - - npcId = npc.getId() - step,maxcount,item=DROPLIST[npcId] - count=st.getQuestItemsCount(item) - if st.getInt("step")==step and count<maxcount: - st.giveItems(item,1) - if count == maxcount-1: - st.playSound("ItemSound.quest_middle") - else: - st.playSound("ItemSound.quest_itemget") - return - -QUEST = Quest(222,qn,"Test Of Duelist") - - -QUEST.addStartNpc(30623) - -QUEST.addTalkId(30623) - -for i in DROPLIST.keys(): - QUEST.addKillId(i) \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-01.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-01.html similarity index 74% rename from L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-01.htm rename to L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-01.html index dbac0e8f2d..9e04188747 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-01.htm +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-01.html @@ -1,7 +1,7 @@ <html><body>Duelist Kaien:<br> Greetings, young traveler. I am Duelist Kaien.<br> -The original meaning of the word 'duelist' was 'Challenger.' It was used to describe those who exhibited their dazzling talents in the arena at Shutguart. They bathed in the blood of their rivals and regarded that as an honor.<br> +The original meaning of the word 'Duelist' was 'Challenger.' It was used to describe those who exhibited their dazzling talents in the arena at Schuttgart. They bathed in the blood of their rivals and regarded that as an honor.<br> Now this title is given to those whose skills with the weapon have reached their zenith. It is an honor desired by all that wield a weapon, but only a select few may attain this title, and only after many years of training...<br> -You may also become a duelist, but that is something to be discussed in the future... To attempt the trials at your skill level would mean certain death... For now, you must suppress your ambition and concentrate on your training.<br> +You may also become a Duelist, but that is something to be discussed in the future... To attempt the trials at your skill level would mean certain death... For now, you must suppress your ambition and concentrate on your training.<br> (This quest may only be performed by Warriors, Elven Knights, Palus Knights, and Orc Monks with level 39 and higher.) </body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-02.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-02.html similarity index 75% rename from L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-02.htm rename to L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-02.html index e3d916d751..b006478e0f 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-02.htm +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-02.html @@ -1,7 +1,7 @@ <html><body>Duelist Kaien:<br> Greetings, young traveler. I am Duelist Kaien.<br> -The original meaning of the word 'duelist' was 'Challenger.' It was used to describe those who exhibited their dazzling talents in the arena at Shutguart. They bathed in the blood of their rivals and regarded that as an honor.<br> +The original meaning of the word 'Duelist' was 'Challenger.' It was used to describe those who exhibited their dazzling talents in the arena at Schuttgart. They bathed in the blood of their rivals and regarded that as an honor.<br> Now this title is given to those whose skills with the weapon have reached their zenith. It is an honor desired by all that wield a weapon, but only a select few may attain this title, and only after many years of training...<br> -I see that you do not walk the path of the sword. I am sure you don't understand the thrill of combat in which 2 swords meet. You will never be a duelist.<br> +I see that you do not walk the path of the sword. I am sure you don't understand the thrill of combat in which 2 swords meet. You will never be a Duelist.<br> (This quest may only be performed by Warriors, Elven Knights, Palus Knights, and Orc Monks with level 39 and higher.) </body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-03.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-03.htm new file mode 100644 index 0000000000..f999363da4 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-03.htm @@ -0,0 +1,5 @@ +<html><body>Duelist Kaien:<br> +Greetings, young warrior. My name is Kaien and I am a 'Duelist' belonging from the arena at Schuttgart. My quest is to travel the continent to discover talented swordsmen and train them as duelists.<br> +Though the kingdoms of Elmore and Aden are hostile to one another, that does not influence the affairs of a guild... My wish is to train as many duelists as possible and pass on the splendid tradition of swordsmanship of the Warrior Guild on this continent...<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-04.htm">Ask about the Mark of the Duelist.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-04.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-04.htm new file mode 100644 index 0000000000..87d1417937 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-04.htm @@ -0,0 +1,5 @@ +<html><body>Duelist Kaien:<br> +Originally the term Duelist meant 'challenger.' It was a term used to refer to those who displayed their dazzling talents in the arena at Schuttgart, who bathed themselves in the blood of their rivals and regarded this as their honor. Now it is a title given to those whose skills with their weapon have reached their zenith. It is an title desired by all that wield a weapon, but only a select few may attain it, and only after many years of training...<br> +If you desire to obtain the <font color="LEVEL">Mark of the Duelist</font>, you must pass the trial that I, Duelist Kaien, give you.<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-06.htm">Ask about the Trial of the Duelist.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-05.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-05.htm new file mode 100644 index 0000000000..31ae994b56 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-05.htm @@ -0,0 +1,7 @@ +<html><body>Duelist Kaien:<br> +Greetings, young traveler. I am Duelist Kaien.<br> +The original meaning of the word 'Duelist' was 'Challenger.' It was used to describe those who exhibited their dazzling talents in the arena at Schuttgart. They bathed in the blood of their rivals and regarded that as an honor.<br> +Now this title is given to those whose weapons skills have reached their zenith. It is an honor desired by all that wield a weapon, but only a select few may attain this title, and only after many years of training...<br> +If you wish to obtain the <font color="LEVEL">Mark of the Duelist</font> you must pass the trial that I, Duelist Kaien, give you.<br><br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-06.htm">Ask about the Duelist Trial.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-06.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-06.htm similarity index 72% rename from L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-06.htm rename to L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-06.htm index 561b02bebc..ac8c1df709 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-06.htm +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-06.htm @@ -1,6 +1,6 @@ <html><body>Duelist Kaien:<br> -I have already explained to you the meaning of the word 'duelist.' The Duelist's Trial consists primarily of defeating in battle the strongest opponents from across the continent. You must burn with desire rather than tremble and crouch in fear when meeting a strong opponent... Strength and bravery are essential.<br> -According to age-old duelist traditions, you must<font color="LEVEL"> 'conquer all the territories of the kingdom'</font>. That is, you must seek out the strongest opponents of each territory of the Aden Kingdom and engage in combat with them. Whoever is victorious in battle against them will be awarded the Mark of the Duelist.<br> +I have already explained to you the meaning of the word 'Duelist.' The Duelist's Trial consists primarily of defeating in battle the strongest opponents from across the continent. You must burn with desire rather than tremble and crouch in fear when meeting a strong opponent... Strength and bravery are essential.<br> +According to age-old Duelist traditions, you must <font color="LEVEL">'conquer all the territories of the kingdom'</font>. That is, you must seek out the strongest opponents of each territory of the Aden Kingdom and engage in combat with them. Whoever is victorious in battle against them will be awarded the Mark of the Duelist.<br> Are you ready to meet this challenge? I cannot stress enough that this is a very arduous task that will often test the limits of your patience.<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-07.htm">Accept the challenge</a> +<a action="bypass -h Quest Q00222_TestOfTheDuelist ACCEPT">Accept the challenge</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-07.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07.htm similarity index 68% rename from L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-07.htm rename to L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07.htm index 1a6480ce3a..0acd8784c8 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-07.htm +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07.htm @@ -1,6 +1,6 @@ <html><body>Duelist Kaien:<br> -...I see. Now listen carefully. You must<font color="LEVEL"> travel to the various territories of the Aden kingdom and repeatedly challenge the strongest opponents</font>. Your must defeat each enemy at least<font color="LEVEL"> 10 or more times</font>.<br> +...I see. Now listen carefully. You must <font color="LEVEL">travel to the various territories of the Aden kingdom and repeatedly challenge the strongest opponents</font>. Your must defeat each enemy at least <font color="LEVEL">10 or more times</font>.<br> In the past, swordsmen of various territories engaged in bloody combat with each other in order to prove their worth. But these days, since the Warrior Guild banned duels, your opponents will be magical monsters or foreign races that are a threat to the population.<br> Here is a list of your opponents. Let's see, first, from Gludio...<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-08.htm">Listen further to the explanation</a> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-08.html">Listen further to the explanation</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07.html new file mode 100644 index 0000000000..0acd8784c8 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07.html @@ -0,0 +1,6 @@ +<html><body>Duelist Kaien:<br> +...I see. Now listen carefully. You must <font color="LEVEL">travel to the various territories of the Aden kingdom and repeatedly challenge the strongest opponents</font>. Your must defeat each enemy at least <font color="LEVEL">10 or more times</font>.<br> +In the past, swordsmen of various territories engaged in bloody combat with each other in order to prove their worth. But these days, since the Warrior Guild banned duels, your opponents will be magical monsters or foreign races that are a threat to the population.<br> +Here is a list of your opponents. Let's see, first, from Gludio...<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-08.html">Listen further to the explanation</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07a.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07a.htm new file mode 100644 index 0000000000..a48b2d59f7 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-07a.htm @@ -0,0 +1,7 @@ +<html><body>Duelist Kaien:<br> +I see. First, take this <font color="LEVEL">Dimension Diamond</font>. You can trade it to the village gatekeeper for something special that may help you on your journey.<br> +Now listen to me carefully. You must <font color="LEVEL">visit each territory of Aden and prove your skill against the best opponents you find</font>. Your task is to <font color="LEVEL">defeat each adversary more than 10 times</font>.<br> +In the past, the swordsman from each territory engaged in bloody mortal combat to prove their skills, but the Warrior Guild has since banned unauthorized duels. That means the adversaries you will face are now limited to evil creatures or different races that threaten the common peace.<br> +Your strongest enemies are specific in a particular sequence. First of all, in Gludio territory . . . wait, would you like me to go on?<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-08.html">Continue to listen to the explanation.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-08.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-08.html new file mode 100644 index 0000000000..caf2665246 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-08.html @@ -0,0 +1,5 @@ +<html><body>Duelist Kaien:<br> +In <font color="LEVEL">Gludio</font> you must face the <font color="LEVEL">puncher and noble ant leader.</font> Punchers can be found in the Wastelands of southern Gludio. To find noble ants, you must go inside the Ant Nest of the Wastelands. I'm sure that with your skills you can adequately protect yourself...<br> +Bring back 10 puncher shards and 10 noble ant feelers!<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-09.html">Tell me more.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-09.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-09.html new file mode 100644 index 0000000000..b24d19ffd5 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-09.html @@ -0,0 +1,5 @@ +<html><body>Duelist Kaien:<br> +The masters of the Warrior guild and I have determined that your first opponent shall be the <font color="LEVEL">marsh stakato drone</font> and the <font color="LEVEL">dead seeker</font> in the territory of <font color="LEVEL">Dion</font>.<br> +Marsh stakato drones are the nobles of the stakato race that live in the Cruma marshlands. You will find the dead seekers at the execution grounds. As a mark of your victory you must bring back 10 each of the stakato Drone's Chitin and dead seeker's fangs.<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-10.html">Listen further to the explanation</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-10.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-10.html new file mode 100644 index 0000000000..06a3d539e5 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-10.html @@ -0,0 +1,5 @@ +<html><body>Duelist Kaien:<br> +In <font color="LEVEL">Giran</font> you must seek the <font color="LEVEL">Breka Orc overlords</font> and <font color="LEVEL">fettered souls</font>. The Breka Orc tribe wields considerable power in northern Giran, and they are led by the Breka Orc overlords. Fettered souls are undead that appear in the 'Death Pass,' the path connecting Giran and Oren.<br> +You must bring back 10 Breka Orc Overlord Necklaces and 10 Fettered Soul's Chains as proof.<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-11.html">Listen further to the explanation</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-11.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-11.html new file mode 100644 index 0000000000..53f4b735c9 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-11.html @@ -0,0 +1,5 @@ +<html><body>Duelist Kaien:<br> +I personally selected your opponents for the trial in <font color="LEVEL">Oren</font>. First you shall fight the <font color="LEVEL">Leto Lizardman overlord</font> that lives in the southern regions of Oren, and your second opponent will be the <font color="LEVEL">enchanted monster eye</font> that wanders the area surrounding the Ivory Tower of Oren. Stay alert, as both are formidable enemies!<br> +Bring back 10 Leto Lizardman Amulets, and 10 pieces of Enchanted Eye Meat.<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-12.html">Listen further to the explanation</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-12.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-12.html new file mode 100644 index 0000000000..df8b3e079b --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-12.html @@ -0,0 +1,6 @@ +<html><body>Duelist Kaien:<br> +Last of all you must visit the territory of <font color="LEVEL">Aden</font>... This territory is under martial law and many areas are off limits...<br> +In the southern region of Aden, you will find the <font color="LEVEL">Tamlin Orcs</font>. Defeat them and the <font color="LEVEL">Tamlin Orc Archers</font>. Bring back 10 Tamlin Orc rings and 10 Tamlin Orc arrows.<br> +Do you remember your mission in each territory? Always remember this motto: "I shall not surrender, I shall be victorious..." One day the Mark will be yours.<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-07.html">Return</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-13.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-13.html new file mode 100644 index 0000000000..3d95e40956 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-13.html @@ -0,0 +1,5 @@ +<html><body>Duelist Kaien:<br> +I am too tired to count. I will trust that you completed the assignment so far. You did well, but I would have been able to complete this task in a single day. The Duelist's Trial is not yet over, so do not get ahead of yourself.<br> +The hard part begins now. Are you ready to attempt the <font color="LEVEL">final trial</font>?<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-15.html">Attempt the final trial</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-14.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-14.html similarity index 67% rename from L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-14.htm rename to L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-14.html index 26d7b8f7be..3bc85bfdff 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-14.htm +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-14.html @@ -1,5 +1,4 @@ <html><body>Duelist Kaien:<br> You are quicker than I thought you were! Good, now let's see...<br> -Hmmm...You're still short. Tired already? If you're worn out, you can quit the trial at any time. Even if you do not become a duelist, you may still be able to carve your own path... Defeats are forgotten with the passage of time... What, you don't care for the sound of that? Then don't just stand there, go and finish the trial!<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-04.htm">Ask again about your opponent</a> +Hmmm...You're still short. Tired already? If you're worn out, you can quit the trial at any time. Even if you do not become a Duelist, you may still be able to carve your own path... Defeats are forgotten with the passage of time... What, you don't care for the sound of that? Then don't just stand there, go and finish the trial! </body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-15.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-15.html new file mode 100644 index 0000000000..3410e8383d --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-15.html @@ -0,0 +1,5 @@ +<html><body>Duelist Kaien:<br> +So you do not know the meaning of defeat... Good... then you are halfway there! Already you have conquered each territory. Now you must become the champion of each kingdom, that is to say, <font color="LEVEL">'Conquer the Kingdom'</font>... The previous trial may have been difficult, but this time it will be twice as challenging.<br> +The opponent in this trial has been chosen by all the grand masters in the kingdom. You must achieve <font color="LEVEL">3 victories</font> from 1 opponent... That in itself is not an easy task. <font color="LEVEL">If you find it difficult to accomplish alone you may ask your fellow members to assist you</font>. You will still get the credit for a victory should you succeed. Of course, your opponent will be much more difficult...<br> +<a action="bypass -h Quest Q00222_TestOfTheDuelist 30623-16.html">Ask about your opponent</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-16.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-16.html new file mode 100644 index 0000000000..5a96941f5d --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-16.html @@ -0,0 +1,7 @@ +<html><body>Duelist Kaien:<br> +First you must slay the <font color="LEVEL">Excuro</font> and the <font color="LEVEL">Krator</font> from the <font color="LEVEL">Cruma Tower</font>. As a proof of your victory, bring back 3 Excuro Skins and 3 Krator Fragments. I trust that I don't need to explain about the dangers of the Cruma Tower?<br> +After this you must go to the <font color="LEVEL">Death Pass</font> in Giran and fight the <font color="LEVEL">Grandis</font>. Perhaps you have already heard of the savagery of the Grandis?<br> +Next find the <font color="LEVEL">Timak Orc Overlord</font> from the <font color="LEVEL">western region of Oren</font> and challenge him. The Timak Orcs are a strong race, strong enough to hold their own against the guards of the Oren Lord. Furthermore, your opponent is the Warlord, so it will be best to view his skills as equal to that of the strongest warrior.<br> +Finally, you must slay the <font color="LEVEL">Lakin</font> that wanders through all of <font color="LEVEL">Aden</font>. It is a giant, violent animal, so make sure you are prepared. It would be good to have a trusted friend watching your back.<br> +These orders contain a list of the opponents you must defeat, so consult them if needed. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-17.htm b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-17.html similarity index 54% rename from L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-17.htm rename to L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-17.html index d210a6042d..5b12609477 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/30623-17.htm +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-17.html @@ -1,4 +1,3 @@ <html><body>Duelist Kaien:<br> -Certainly you are not finished with the trial yet! Why do you seek me? Do not come to me again until you have defeated all of the opponents on the list at least 3 times.<br> -<a action="bypass -h Quest 222_TestOfDuelist 30623-16.htm">Ask again about your opponent</a> +Certainly you are not finished with the trial yet! Why do you seek me? Do not come to me again until you have defeated all of the opponents on the list at least 3 times. </body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-18.html b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-18.html new file mode 100644 index 0000000000..d7d7949680 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/30623-18.html @@ -0,0 +1,4 @@ +<html><body>Duelist Kaien:<br> +You have defeated all of the opponents of the final trial...! Excellent! Now not only have you conquered all of the territories of Aden, but also Aden itself! Magnificent! I, Duelist Kaien, hereby acknowledge your skills and talents and bestow upon you the <font color="LEVEL">Mark of the Duelist</font>. Congratulations!<br> +If you practice swordsmanship regularly, one day you may have the chance to draw against me... I shall wait for that day! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/Q00222_TestOfTheDuelist.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/Q00222_TestOfTheDuelist.java new file mode 100644 index 0000000000..9d6fa00fe9 --- /dev/null +++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00222_TestOfTheDuelist/Q00222_TestOfTheDuelist.java @@ -0,0 +1,520 @@ +/* + * 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.Q00222_TestOfTheDuelist; + +import com.l2jserver.gameserver.enums.QuestSound; +import com.l2jserver.gameserver.enums.Race; +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 Duelist (222) + * @author ivantotov + */ +public final class Q00222_TestOfTheDuelist extends Quest +{ + // NPC + private static final int DUELIST_KAIEN = 30623; + // Items + private static final int ORDER_GLUDIO = 2763; + private static final int ORDER_DION = 2764; + private static final int ORDER_GIRAN = 2765; + private static final int ORDER_OREN = 2766; + private static final int ORDER_ADEN = 2767; + private static final int PUNCHERS_SHARD = 2768; + private static final int NOBLE_ANTS_FEELER = 2769; + private static final int DRONES_CHITIN = 2770; + private static final int DEAD_SEEKER_FANG = 2771; + private static final int OVERLORD_NECKLACE = 2772; + private static final int FETTERED_SOULS_CHAIN = 2773; + private static final int CHIEDS_AMULET = 2774; + private static final int ENCHANTED_EYE_MEAT = 2775; + private static final int TAMRIN_ORCS_RING = 2776; + private static final int TAMRIN_ORCS_ARROW = 2777; + private static final int FINAL_ORDER = 2778; + private static final int EXCUROS_SKIN = 2779; + private static final int KRATORS_SHARD = 2780; + private static final int GRANDIS_SKIN = 2781; + private static final int TIMAK_ORCS_BELT = 2782; + private static final int LAKINS_MACE = 2783; + // Reward + private static final int MARK_OF_DUELIST = 2762; + private static final int DIMENSIONAL_DIAMOND = 7562; + // Monster + private static final int PUNCHER = 20085; + private static final int NOBLE_ANT_LEADER = 20090; + private static final int DEAD_SEEKER = 20202; + private static final int EXCURO = 20214; + private static final int KRATOR = 20217; + private static final int MARSH_STAKATO_DRONE = 20234; + private static final int BREKA_ORC_OVERLORD = 20270; + private static final int FETTERED_SOUL = 20552; + private static final int GRANDIS = 20554; + private static final int ENCHANTED_MONSTEREYE = 20564; + private static final int LETO_LIZARDMAN_OVERLORD = 20582; + 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 LAKIN = 20604; + // Misc + private static final int MIN_LEVEL = 39; + + public Q00222_TestOfTheDuelist() + { + super(222, Q00222_TestOfTheDuelist.class.getSimpleName(), "Test Of The Duelist"); + addStartNpc(DUELIST_KAIEN); + addTalkId(DUELIST_KAIEN); + addKillId(PUNCHER, NOBLE_ANT_LEADER, DEAD_SEEKER, EXCURO, KRATOR, MARSH_STAKATO_DRONE, BREKA_ORC_OVERLORD, FETTERED_SOUL, GRANDIS, ENCHANTED_MONSTEREYE, LETO_LIZARDMAN_OVERLORD, TIMAK_ORC_OVERLORD, TAMLIN_ORC, TAMLIN_ORC_ARCHER, LAKIN); + registerQuestItems(ORDER_GLUDIO, ORDER_DION, ORDER_GIRAN, ORDER_OREN, ORDER_ADEN, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW, FINAL_ORDER, EXCUROS_SKIN, KRATORS_SHARD, GRANDIS_SKIN, TIMAK_ORCS_BELT, LAKINS_MACE); + } + + @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(); + qs.setMemoState(1); + giveItems(player, ORDER_GLUDIO, 1); + giveItems(player, ORDER_DION, 1); + giveItems(player, ORDER_GIRAN, 1); + giveItems(player, ORDER_OREN, 1); + giveItems(player, ORDER_ADEN, 1); + playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE); + if (player.getVariables().getInt("2ND_CLASS_DIAMOND_REWARD", 0) == 0) + { + if (player.getClassId() == ClassId.palusKnight) + { + giveItems(player, DIMENSIONAL_DIAMOND, 104); + } + else + { + giveItems(player, DIMENSIONAL_DIAMOND, 72); + } + player.getVariables().set("2ND_CLASS_DIAMOND_REWARD", 1); + htmltext = "30623-07a.htm"; + } + else + { + htmltext = "30623-07.htm"; + } + } + break; + } + case "30623-04.htm": + { + if (player.getRace() != Race.ORC) + { + htmltext = event; + } + else + { + htmltext = "30623-05.htm"; + } + break; + } + case "30623-06.htm": + case "30623-07.html": + case "30623-09.html": + case "30623-10.html": + case "30623-11.html": + case "30623-12.html": + case "30623-15.html": + { + htmltext = event; + break; + } + case "30623-08.html": + { + qs.setCond(2, true); + htmltext = event; + break; + } + case "30623-16.html": + { + takeItems(player, PUNCHERS_SHARD, -1); + takeItems(player, NOBLE_ANTS_FEELER, -1); + takeItems(player, DEAD_SEEKER_FANG, -1); + takeItems(player, DRONES_CHITIN, -1); + takeItems(player, OVERLORD_NECKLACE, -1); + takeItems(player, FETTERED_SOULS_CHAIN, -1); + takeItems(player, CHIEDS_AMULET, -1); + takeItems(player, ENCHANTED_EYE_MEAT, -1); + takeItems(player, TAMRIN_ORCS_RING, -1); + takeItems(player, TAMRIN_ORCS_ARROW, -1); + takeItems(player, ORDER_GLUDIO, 1); + takeItems(player, ORDER_DION, 1); + takeItems(player, ORDER_GIRAN, 1); + takeItems(player, ORDER_OREN, 1); + takeItems(player, ORDER_ADEN, 1); + giveItems(player, FINAL_ORDER, 1); + qs.setMemoState(2); + qs.setCond(4, true); + htmltext = event; + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getQuestState(killer, false); + if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true)) + { + switch (npc.getId()) + { + case PUNCHER: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_GLUDIO)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, PUNCHERS_SHARD, 1, 10, 1.0, true) && (getQuestItemsCount(killer, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case NOBLE_ANT_LEADER: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_GLUDIO)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, NOBLE_ANTS_FEELER, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case DEAD_SEEKER: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_DION)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, DEAD_SEEKER_FANG, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case EXCURO: + { + + if (qs.isMemoState(2) && hasQuestItems(killer, FINAL_ORDER)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, EXCUROS_SKIN, 1, 3, 1.0, true) && (getQuestItemsCount(killer, KRATORS_SHARD, LAKINS_MACE, GRANDIS_SKIN, TIMAK_ORCS_BELT) == 12)) + { + if (i0 >= 5) + { + qs.setCond(5); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case KRATOR: + { + if (qs.isMemoState(2) && hasQuestItems(killer, FINAL_ORDER)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, KRATORS_SHARD, 1, 3, 1.0, true) && (getQuestItemsCount(killer, EXCUROS_SKIN, LAKINS_MACE, GRANDIS_SKIN, TIMAK_ORCS_BELT) == 12)) + { + if (i0 >= 5) + { + qs.setCond(5); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case MARSH_STAKATO_DRONE: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_DION)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, DRONES_CHITIN, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case BREKA_ORC_OVERLORD: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_GIRAN)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, OVERLORD_NECKLACE, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case FETTERED_SOUL: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_GIRAN)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, FETTERED_SOULS_CHAIN, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case GRANDIS: + { + if (qs.isMemoState(2) && hasQuestItems(killer, FINAL_ORDER)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, GRANDIS_SKIN, 1, 3, 1.0, true) && (getQuestItemsCount(killer, EXCUROS_SKIN, KRATORS_SHARD, LAKINS_MACE, TIMAK_ORCS_BELT) == 12)) + { + if (i0 >= 5) + { + qs.setCond(5); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case ENCHANTED_MONSTEREYE: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_OREN)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, ENCHANTED_EYE_MEAT, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case LETO_LIZARDMAN_OVERLORD: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_OREN)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, CHIEDS_AMULET, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case TIMAK_ORC_OVERLORD: + { + if (qs.isMemoState(2) && hasQuestItems(killer, FINAL_ORDER)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, TIMAK_ORCS_BELT, 1, 3, 1.0, true) && (getQuestItemsCount(killer, EXCUROS_SKIN, KRATORS_SHARD, LAKINS_MACE, GRANDIS_SKIN) == 12)) + { + if (i0 >= 5) + { + qs.setCond(5); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case TAMLIN_ORC: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_ADEN)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, TAMRIN_ORCS_RING, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_ARROW) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case TAMLIN_ORC_ARCHER: + { + if (qs.isMemoState(1) && hasQuestItems(killer, ORDER_ADEN)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, TAMRIN_ORCS_ARROW, 1, 10, 1.0, true) && (getQuestItemsCount(killer, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING) == 90)) + { + if (i0 >= 9) + { + qs.setCond(3); + } + qs.setMemoStateEx(1, 0); + } + } + break; + } + case LAKIN: + { + if (qs.isMemoState(2) && hasQuestItems(killer, FINAL_ORDER)) + { + final int i0 = qs.getMemoStateEx(1); + qs.setMemoStateEx(1, i0 + 1); + if (giveItemRandomly(killer, npc, LAKINS_MACE, 1, 3, 1.0, true) && (getQuestItemsCount(killer, EXCUROS_SKIN, KRATORS_SHARD, GRANDIS_SKIN, TIMAK_ORCS_BELT) == 12)) + { + if (i0 >= 5) + { + qs.setCond(5); + } + qs.setMemoStateEx(1, 0); + } + } + 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 ((player.getClassId() == ClassId.warrior) || (player.getClassId() == ClassId.elvenKnight) || (player.getClassId() == ClassId.palusKnight) || (player.getClassId() == ClassId.orcMonk)) + { + if (player.getLevel() >= MIN_LEVEL) + { + htmltext = "30623-03.htm"; + } + else + { + htmltext = "30623-01.html"; + } + } + else + { + htmltext = "30623-02.html"; + } + } + else if (qs.isStarted()) + { + if (hasQuestItems(player, ORDER_GLUDIO, ORDER_DION, ORDER_GIRAN, ORDER_OREN, ORDER_ADEN)) + { + if (getQuestItemsCount(player, PUNCHERS_SHARD, NOBLE_ANTS_FEELER, DRONES_CHITIN, DEAD_SEEKER_FANG, OVERLORD_NECKLACE, FETTERED_SOULS_CHAIN, CHIEDS_AMULET, ENCHANTED_EYE_MEAT, TAMRIN_ORCS_RING, TAMRIN_ORCS_ARROW) == 100) + { + htmltext = "30623-13.html"; + } + else + { + htmltext = "30623-14.html"; + } + } + else if (hasQuestItems(player, FINAL_ORDER)) + { + if (getQuestItemsCount(player, EXCUROS_SKIN, KRATORS_SHARD, LAKINS_MACE, GRANDIS_SKIN, TIMAK_ORCS_BELT) == 15) + { + giveAdena(player, 161806, true); + giveItems(player, MARK_OF_DUELIST, 1); + addExpAndSp(player, 894888, 61408); + qs.exitQuest(false, true); + player.sendPacket(new SocialAction(player.getObjectId(), 3)); + htmltext = "30623-18.html"; + } + else + { + htmltext = "30623-17.html"; + } + } + } + else if (qs.isCompleted()) + { + htmltext = getAlreadyCompletedMsg(player); + } + return htmltext; + } +} \ No newline at end of file diff --git a/L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java index 0cd624e923..2c99f5b777 100644 --- a/L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -202,6 +202,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.Q00222_TestOfTheDuelist.Q00222_TestOfTheDuelist; import quests.Q00223_TestOfTheChampion.Q00223_TestOfTheChampion; import quests.Q00224_TestOfSagittarius.Q00224_TestOfSagittarius; import quests.Q00225_TestOfTheSearcher.Q00225_TestOfTheSearcher; @@ -656,6 +657,7 @@ public class QuestMasterHandler Q00219_TestimonyOfFate.class, Q00220_TestimonyOfGlory.class, Q00221_TestimonyOfProsperity.class, + Q00222_TestOfTheDuelist.class, Q00223_TestOfTheChampion.class, Q00224_TestOfSagittarius.class, Q00225_TestOfTheSearcher.class, diff --git a/L2J_DataPack/dist/sql/game/updates/20141205update.sql b/L2J_DataPack/dist/sql/game/updates/20141205update.sql new file mode 100644 index 0000000000..0eecce64cc --- /dev/null +++ b/L2J_DataPack/dist/sql/game/updates/20141205update.sql @@ -0,0 +1 @@ +UPDATE character_quests SET name='Q00222_TestOfTheDuelist' WHERE name='222_TestOfDuelist'; \ No newline at end of file -- GitLab