diff --git a/dist/game/data/scripts.cfg b/dist/game/data/scripts.cfg index 84dc6def1c2a758f23b6a609f0d3734cff9eae4e..bb10624cc81f2e3a420ea066f2de33bee1d1d086 100644 --- a/dist/game/data/scripts.cfg +++ b/dist/game/data/scripts.cfg @@ -188,7 +188,6 @@ hellbound/HellboundLoader.java quests/QuestMasterHandler.java quests/TerritoryWarScripts/TerritoryWarSuperClass.java quests/255_Tutorial/__init__.py -quests/334_TheWishingPotion/__init__.py quests/335_TheSongOfTheHunter/__init__.py quests/348_ArrogantSearch/__init__.py quests/384_WarehouseKeepersPastime/__init__.py diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30557-01.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30557-01.htm deleted file mode 100644 index 1f19a4ef206016b838876fecc00b1ca585861dab..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30557-01.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Torai:<br> -Oh my! This... is a priceless book. Sell it to me...! I'll give you a high price for it... Heh heh heh...</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-01.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-01.htm deleted file mode 100644 index c69a218ec45572f9909b146cb62be032b3e73458..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-01.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Alchemist Matild:<br> -Since I learned herbal medicine when I was young and started to make magic potions 20 years ago, people say that I'm the very best in my field. But I think I've still got a long way to go. There are many mysterious potions passed down only through the ancient lore that I haven't made yet. But hey, just a short time ago I came to know by accident where the secret method for making one of the mysterious potions is stored. There is a clue written inside the book that I have. So it would be good if you would help me...<br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-02.htm">Ask what you can do to help.</a></body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-02.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-02.htm deleted file mode 100644 index ae20eb372b8a7d308b395976b75df0a50412ca04..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-02.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Alchemist Matild:<br> -This alchemy textbook tells about the place where the book of problems is hidden. I'd like you to refer to this and find the secret book.<br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-03.htm">Say that you will find the secret book.</a></body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-03.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-03.htm deleted file mode 100644 index 626f6292fe9bacdd9aa8264c156b8833acaaaa01..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-03.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -Thank you. Ah, and take this book. Follow the clues written in this book and bring me the secret book of alchemy that is hidden. OK? Then I will definitely give you a surprising reward.</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-04.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-04.htm deleted file mode 100644 index 30bbbfc44c690d45656212d2315656e007564169..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-04.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -Is the work of finding the secret book progressing well? Haven't finished yet? Then hurry, please.</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-05.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-05.htm deleted file mode 100644 index 0a423ed0246325105dac60c70d3d3f838a3877b3..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Alchemist Matild:<br> -You brought the secret book! But...<br> -Oh, I'm sorry. Actually, while you were away, somebody came with some precious ingredients and I spent my last adena purching them.<br> -Hmm... What if I do this instead? The method for making wish potion is what's written in the secret book that you brought! I got most of the ingredients with this last purchase but there are still a few things I'm short of. If you'll just bring me those, I'll make wish potion for you that will grant you all of your wishes. How about that? Is that a good deal?<br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-06.htm">Say that you will bring the ingredients.</a></body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-06.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-06.htm deleted file mode 100644 index 4d8df461e5f77d7a703fa808244545eb95303011..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-06.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -Yahoo! Done deal! Thank you for putting up with my unreasonableness. OK, here is the ingredient list. Go get what's written here. Please!</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-07.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-07.htm deleted file mode 100644 index 76e76f2dcbe7ecd954e823bac866f9b9343fc618..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-07.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -I'm sorry to say this but... We're still short on ingredients. What should we do? I just really can't start the work until you've gotten all the ingredients.</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-08.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-08.htm deleted file mode 100644 index 57dd2efa0f21153a4290d96cfbc5b8b043b9ca17..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-08.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Alchemist Matild:<br> -Umm... You've collected all the ingredients. You've done a great job. OK, shall we start?<br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-09.htm">Ask to make wish potion.</a></body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-09.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-09.htm deleted file mode 100644 index db929bc0fc94e4f48c3bb8da65a3781441a31170..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-09.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Alchemist Matild:<br> -Then take this herbal sap and apply it gently here! Yeah, if you mix it in well... the color changes, no? OK, next add it to this bottle and mix it... Could you give me that red bottle over there now?<br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-10.htm">Hand over red bottle.</a></body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-10.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-10.htm deleted file mode 100644 index b1bbe8d1cf5a95d17f5668e07ee097923161bc4d..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-10.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Alchemist Matild:<br> -Then carefully add wish scent... OK! It's done. Oh, but talk to me before using the wish potion. That's because there are some things to prepare before getting your wish.<br> -And take this. It's my proof, but if you bring it I'll make you wish potion again. Of course, you'll have to gather together the ingredients then too. Alright, so this is gratitude enough, don't you think?</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-11.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-11.htm deleted file mode 100644 index 37d32303c4d4bb54c88427b09fdabc7c4574ba18..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-11.htm +++ /dev/null @@ -1,4 +0,0 @@ -<html><body>Alchemist Matild:<br> -Ah, you there! Do you remember? You made a promise to me... What's the reason this time...? Are you wanting to take the wish potion? Or are you getting together the ingredients to make more wish potion?<br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-14.htm">Say that you will take the wish potion.</a><br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-06.htm">Say that you'll get the ingredients.</a></body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-12.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-12.htm deleted file mode 100644 index bdf5bfee6e2b1850b5d05c55853ab1952f8c1bbb..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-12.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -OK, just like you did last time, please gather the ingredients written here. I don't need to give you a long explanation about it, do I?</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-15.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-15.htm deleted file mode 100644 index 930819a5acba4e1b93d8fe11aa40b562e517cb4d..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-15.htm +++ /dev/null @@ -1,14 +0,0 @@ -<html><body>Alchemist Matild:<br> -You are allowed one wish after taking the potion. You will choose from one of the four wishes on this card. -<table> -<tr> -<td><img src="icon.Quest_TarotCard_Knowledge_t00" width=64 height=112></td> -<td><img src="icon.Quest_TarotCard_Love_t00" width=64 height=112></td> -<td><img src="icon.Quest_TarotCard_Power_t00" width=64 height=112></td> -<td><img src="icon.Quest_TarotCard_Wealth_t00" width=64 height=112></td> -</tr> -</table><br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-16.htm">"I wish to be a loving person."</a><br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-17.htm">"I wish for 100 million adena."</a><br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-18.htm">"I wish to be a king!"</a><br> -<a action="bypass -h Quest 334_TheWishingPotion 30738-19.htm">"I wish to be the wisest person in the world."</a></body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-16.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-16.htm deleted file mode 100644 index 86771fafcac9d14b345d592b0a31fd490f4bf1c6..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-16.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -To begin the ceremony you must first apply the blood of crow to your forehead and then shake the wing of fairy three times...</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-17.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-17.htm deleted file mode 100644 index ff2786d9a3140808ddd2d565a693cba6de439042..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-17.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -To start the ceremony you must first apply the blood of crow to your forehead and then shake the leaf of timitran three times...</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-18.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-18.htm deleted file mode 100644 index 85ad28d5196d2ea1c3d29302a1d365f92f7e9078..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-18.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -To start the ceremony you must first apply the blood of crow to your forehead and then put the crown of glory on your head...</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-19.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-19.htm deleted file mode 100644 index f40ecc476fe8e80bcd64f7d7efd12a99c2813d9e..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-19.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -To start the ceremony you must first apply the blood of crow to your forehead and then hit your head three times with a Sage's Staff...</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-20.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-20.htm deleted file mode 100644 index ce648336ae73c9cf512dceedcbd1521aea4ee3ef..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-20.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Alchemist Matild:<br> -You must wait, someone else is currently making a wish...</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-21.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30738-21.htm deleted file mode 100644 index 513ab8611fa2b30311757f7f2f0120a6db24aadf..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-21.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Alchemist Matild:<br> -Many people have their eyes on the secrets of alchemy. You don't look like you'd be strong enough to protect those secrets from bad folks. I'm sorry but I can't talk to you about alchemy.<br> -(This is a quest that can only be performed by characters at level 30 and above.)</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30742-01.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30742-01.htm deleted file mode 100644 index 3461e842abf9244cd3b611e3c686d79dde5468e9..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30742-01.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Fairy of Love Rupina:<br> -Ah, it's you! Do you seek your true love? I'm sorry, but I am very busy and cannot help you now. Instead, take this pendant. It will help you to find your soul mate.</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-01.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30743-01.htm deleted file mode 100644 index 899c7511658d86a6006b7e903229f9040a152928..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-01.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Chest of Wisdom:<br> -(A voice comes out of the chest.) They are magic scrolls that contain the wisdom of sages!</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-02.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30743-02.htm deleted file mode 100644 index 1f7ea1dc5b95eb6a3c25fa6fd52b41374a7d3405..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-02.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Chest of Wisdom:<br> -(A voice comes out of the chest.) I will give you a valuable piece of wisdom that will make you rich. If you find and take the forbidden love scroll and go see Torai, you can make yourself a huge amount of money.</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-03.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30743-03.htm deleted file mode 100644 index 4f2381199d8eefcacb17301e8cc1ff4cd6246b96..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-03.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Chest of Wisdom:<br> -(A voice comes out of the chest.) I will teach you a wise method to increase your wealth. Warehouse Keeper Sorint, Sorceress Page, Researcher Lorain, Warehouse Keeper Hagger, Guard Stan, Blacksmith Dunning, Magic Trader Ralph, Head Blacksmith Ferris, Warehouse Keeper Collob, and Grocer Pano... All these people are crazy about collecting weird coins!</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-04.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30743-04.htm deleted file mode 100644 index 99bb3a93019dd0ac43ab8bc79a7a15d492b75778..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-04.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Chest of Wisdom:<br> -(A voice comes out of the chest.) I will tell you about the method of using the Wish Potion wisely. If you make a wish to become a ruler, I heard that you will be able to meet the Devil himself...</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-05.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30743-05.htm deleted file mode 100644 index de41972a93178ad7883e3ac228c15a5d3c402a91..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-05.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Chest of Wisdom:<br> -(A voice comes out of the chest.) I will tell you about the method of using the Wish Potion wisely. If you make a wish to obtain love, a succubus that will take pleasure in seducing and then giving pain to a man will appear. But why, when it is a woman, will a succubus still show up?</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-06.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/30743-06.htm deleted file mode 100644 index 002141acbb97360ed9bf1dbfd1cf97a3866324f6..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30743-06.htm +++ /dev/null @@ -1,2 +0,0 @@ -<html><body>Chest of Wisdom:<br> -(A voice comes out of the chest.) You are the chosen one. I present to you the treasure of knowledge as a gift.</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py b/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py deleted file mode 100644 index 4fb604baceddb210b04cd092b73a35ad931d2452..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py +++ /dev/null @@ -1,360 +0,0 @@ -# -# Created by DraX on 2005.09.08 -# C4 Update by DrLecter -# - -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 -from com.l2jserver.gameserver.network.serverpackets import NpcSay - -qn = "334_TheWishingPotion" - -# General Rewards -ADENA = 57 -NECKLACE_OF_GRACE = 931 -HEART_OF_PAAGRIO = 3943 -R1=[3081,3076,3075,3074,4917,3077,3080,3079,3078,4928,4931,4932,5013,3067,3064,3061,3062,3058,4206,3065,3060,3063,4208,3057,3059,3066,4911,4918,3092,3039,4922,3091,3093,3431] -R2=[3430,3429,3073,3941,3071,3069,3072,4200,3068,3070,4912,3100,3101,3098,3094,3102,4913,3095,3096,3097,3099,3085,3086,3082,4907,3088,4207,3087,3084,3083,4929,4933,4919,3045] -R3=[4923,4201,4914,3942,3090,4909,3089,4930,4934,4920,3041,4924,3114,3105,3110,3104,3113,3103,4204,3108,4926,3112,3107,4205,3109,3111,3106,4925,3117,3115,3118,3116,4927] -R4=[1979,1980,2952,2953] -#Quest ingredients and rewards -WISH_POTION,ANCIENT_CROWN,CERTIFICATE_OF_ROYALTY = range(3467,3470) -ALCHEMY_TEXT,SECRET_BOOK,POTION_RECIPE_1,POTION_RECIPE_2,MATILDS_ORB,FORBIDDEN_LOVE_SCROLL = range(3678,3684) -AMBER_SCALE,WIND_SOULSTONE,GLASS_EYE,HORROR_ECTOPLASM,SILENOS_HORN,ANT_SOLDIER_APHID,TYRANTS_CHITIN,BUGBEAR_BLOOD = range(3684,3692) -#NPCs -GRIMA = 27135 -SUCCUBUS_OF_SEDUCTION = 27136 -GREAT_DEMON_KING = 27138 -SECRET_KEEPER_TREE = 27139 -SANCHES = 27153 -BONAPARTERIUS = 27154 -RAMSEBALIUS = 27155 -TORAI = 30557 -ALCHEMIST_MATILD = 30738 -RUPINA = 30742 -WISDOM_CHEST = 30743 -#MOBs -WHISPERING_WIND = 20078 -ANT_RECRUIT = 20087 -ANT_WARRIOR_CAPTAIN = 20088 -SILENOS = 20168 -TYRANT = 20192 -TYRANT_KINGPIN = 20193 -AMBER_BASILISK = 20199 -HORROR_MIST_RIPPER = 20227 -TURAK_BUGBEAR = 20248 -TURAK_BUGBEAR_WARRIOR = 20249 -GLASS_JAGUAR = 20250 -#DROPLIST -DROPLIST={AMBER_BASILISK:[AMBER_SCALE,15],WHISPERING_WIND:[WIND_SOULSTONE,20],GLASS_JAGUAR:[GLASS_EYE,35],HORROR_MIST_RIPPER:[HORROR_ECTOPLASM,15], - SILENOS:[SILENOS_HORN,30],ANT_RECRUIT:[ANT_SOLDIER_APHID,40],ANT_WARRIOR_CAPTAIN:[ANT_SOLDIER_APHID,40],TYRANT:[TYRANTS_CHITIN,50], - TYRANT_KINGPIN:[TYRANTS_CHITIN,50],TURAK_BUGBEAR:[BUGBEAR_BLOOD,25],TURAK_BUGBEAR_WARRIOR:[BUGBEAR_BLOOD,25]} - -# set of random messages -MESSAGES={SUCCUBUS_OF_SEDUCTION:["Do you wanna be loved?","Do you need love?","Let me love you...","Want to know what love is?","Are you in need of love?","Me love you long time"], - GRIMA:["hey hum hum!","boom! boom!","...","Ki ab kya karein hum"], - } - -def check_ingredients(st,required) : - if st.getQuestItemsCount(AMBER_SCALE) != required : return 0 - if st.getQuestItemsCount(WIND_SOULSTONE) != required : return 0 - if st.getQuestItemsCount(GLASS_EYE) != required : return 0 - if st.getQuestItemsCount(HORROR_ECTOPLASM) != required : return 0 - if st.getQuestItemsCount(SILENOS_HORN) != required : return 0 - if st.getQuestItemsCount(ANT_SOLDIER_APHID) != required : return 0 - if st.getQuestItemsCount(TYRANTS_CHITIN) != required : return 0 - if st.getQuestItemsCount(BUGBEAR_BLOOD) != required : return 0 - return 1 - -def autochat(npc,text) : - if npc: npc.broadcastPacket(NpcSay(npc.getObjectId(),0,npc.getId(),text)) - return - -class Quest (JQuest) : - - def __init__(self,id,name,descr): - JQuest.__init__(self,id,name,descr) - self.questItemIds = range(3678,3683)+range(3684,3692) - - def onAdvEvent (self,event,npc,player): - st = self.getQuestState(player, False) - if not st: return - htmltext = event - player=st.getPlayer() - if event == "30738-03.htm": - st.set("cond","1") - st.setState(State.STARTED) - st.playSound("ItemSound.quest_accept") - if st.getQuestItemsCount(ALCHEMY_TEXT) >= 2: st.takeItems(ALCHEMY_TEXT,-1) - if st.getQuestItemsCount(ALCHEMY_TEXT) == 0: st.giveItems(ALCHEMY_TEXT,1) - htmltext = "30738-03.htm" - if event == "30738-06.htm": - if st.getQuestItemsCount(WISH_POTION) : - htmltext = "30738-13.htm" - else : - st.playSound("ItemSound.quest_accept") - st.set("cond","3") - if st.getQuestItemsCount(ALCHEMY_TEXT) >= 1: st.takeItems(ALCHEMY_TEXT,-1) - if st.getQuestItemsCount(SECRET_BOOK) >= 1: st.takeItems(SECRET_BOOK,-1) - if st.getQuestItemsCount(POTION_RECIPE_1) >= 2: st.takeItems(POTION_RECIPE_1,-1) - if st.getQuestItemsCount(POTION_RECIPE_1) == 0: st.giveItems(POTION_RECIPE_1,1) - if st.getQuestItemsCount(POTION_RECIPE_2) >= 2: st.takeItems(POTION_RECIPE_2,-1) - if st.getQuestItemsCount(POTION_RECIPE_2) == 0: st.giveItems(POTION_RECIPE_2,1) - if st.getQuestItemsCount(MATILDS_ORB) : htmltext = "30738-12.htm" - if event == "30738-10.htm": - if check_ingredients(st,1) : - st.playSound("ItemSound.quest_finish") - st.takeItems(ALCHEMY_TEXT,-1) - st.takeItems(SECRET_BOOK,-1) - st.takeItems(POTION_RECIPE_1,-1) - st.takeItems(POTION_RECIPE_2,-1) - st.takeItems(AMBER_SCALE,-1) - st.takeItems(WIND_SOULSTONE,-1) - st.takeItems(GLASS_EYE,-1) - st.takeItems(HORROR_ECTOPLASM,-1) - st.takeItems(SILENOS_HORN,-1) - st.takeItems(ANT_SOLDIER_APHID,-1) - st.takeItems(TYRANTS_CHITIN,-1) - st.takeItems(BUGBEAR_BLOOD,-1) - if not st.getQuestItemsCount(MATILDS_ORB) : st.giveItems(MATILDS_ORB,1) - st.giveItems(WISH_POTION,1) - st.set("cond","5") - else : - htmltext="You don't have required items" - elif event == "30738-14.htm": - # if you dropped or destroyed your wish potion, you are not able to see the wish list - if st.getQuestItemsCount(WISH_POTION) : - htmltext = "30738-15.htm" -#### WISH I : Please make me into a loving person. - elif event == "30738-16.htm": - if st.getQuestItemsCount(WISH_POTION) : - st.set("wish","1") - st.startQuestTimer("matild_timer1",3000,npc) - st.takeItems(WISH_POTION,1) - npc.setBusy(True) - else: - htmltext = "30738-14.htm" -#### WISH II : I want to become an extremely rich person. How about 100 million adena?! - elif event == "30738-17.htm": - if st.getQuestItemsCount(WISH_POTION) : - st.set("wish","2") - st.startQuestTimer("matild_timer1",3000,npc) - st.takeItems(WISH_POTION,1) - npc.setBusy(True) - else: - htmltext = "30738-14.htm" -#### WISH III : I want to be a king in this world. - elif event == "30738-18.htm": - if st.getQuestItemsCount(WISH_POTION) : - st.set("wish","3") - st.startQuestTimer("matild_timer1",3000,npc) - st.takeItems(WISH_POTION,1) - npc.setBusy(True) - else: - htmltext = "30738-14.htm" -#### WISH IV : I'd like to become the wisest person in the world. - elif event == "30738-19.htm": - if st.getQuestItemsCount(WISH_POTION) >= 1: - st.set("wish","4") - st.startQuestTimer("matild_timer1",3000,npc) - st.takeItems(WISH_POTION,1) - npc.setBusy(True) - else: - htmltext = "30738-14.htm" - elif event == "matild_timer1": - autochat(npc,"OK, everybody pray fervently!") - st.startQuestTimer("matild_timer2",4000,npc) - return - elif event == "matild_timer2": - autochat(npc,"Both hands to heaven, everybody yell together!") - st.startQuestTimer("matild_timer3",4000,npc) - return - elif event == "matild_timer3": - autochat(npc,"One! Two! May your dreams come true!") - wish = st.getInt("wish") - WISH_CHANCE = self.getRandom(100) - if wish == 1 : - if WISH_CHANCE <= 50: - autochat(st.addSpawn(SUCCUBUS_OF_SEDUCTION,200000),MESSAGES[SUCCUBUS_OF_SEDUCTION][self.getRandom(len(MESSAGES))]) - autochat(st.addSpawn(SUCCUBUS_OF_SEDUCTION,200000),MESSAGES[SUCCUBUS_OF_SEDUCTION][self.getRandom(len(MESSAGES))]) - autochat(st.addSpawn(SUCCUBUS_OF_SEDUCTION,200000),MESSAGES[SUCCUBUS_OF_SEDUCTION][self.getRandom(len(MESSAGES))]) - else: - autochat(st.addSpawn(RUPINA,120000),"Your love... love!") - elif wish == 2 : - if WISH_CHANCE <= 33 : - autochat(st.addSpawn(GRIMA,200000),MESSAGES[GRIMA][self.getRandom(len(MESSAGES))]) - autochat(st.addSpawn(GRIMA,200000),MESSAGES[GRIMA][self.getRandom(len(MESSAGES))]) - autochat(st.addSpawn(GRIMA,200000),MESSAGES[GRIMA][self.getRandom(len(MESSAGES))]) - else : - st.giveItems(ADENA,10000) - elif wish == 3 : - if WISH_CHANCE <= 33 : - st.giveItems(CERTIFICATE_OF_ROYALTY,1) - elif WISH_CHANCE >= 66 : - st.giveItems(ANCIENT_CROWN,1) - else: - spawnedNpc=st.addSpawn(SANCHES,player,True,0) - autochat(spawnedNpc,"Who dares to call the dark Monarch?!") - st.startQuestTimer("sanches_timer1",200000,spawnedNpc) - elif wish == 4 : - if WISH_CHANCE <= 33: - st.giveItems(R1[self.getRandom(len(R1))],1) - st.giveItems(R2[self.getRandom(len(R2))],1) - st.giveItems(R3[self.getRandom(len(R3))],1) - if not self.getRandom(3): - st.giveItems(HEART_OF_PAAGRIO,1) - else: - autochat(st.addSpawn(WISDOM_CHEST,120000),"I contain the wisdom, I am the wisdom box!") - npc.setBusy(False) - return - elif event == "sanches_timer1" : - autochat(npc,"Hehehe, i'm just wasting my time here!") - npc.deleteMe() - return - elif event == "bonaparterius_timer1" : - autochat(npc,"A worth opponent would be a good thing") - npc.deleteMe() - elif event == "ramsebalius_timer1" : - autochat(npc,"Your time is up!") - npc.deleteMe() - return - elif event == "greatdemon_timer1" : - autochat(npc,"Do not interrupt my eternal rest again!") - npc.deleteMe() - return - return htmltext - - def onTalk (self,npc,player): - htmltext = Quest.getNoQuestMsg(player) - st = self.getQuestState(player, True) - if not st : return htmltext - npcId = npc.getId() - cond = st.getInt("cond") - id = st.getState() - if npcId != ALCHEMIST_MATILD and id == State.CREATED : return htmltext - if npcId == TORAI and st.getQuestItemsCount(FORBIDDEN_LOVE_SCROLL) : - st.takeItems(FORBIDDEN_LOVE_SCROLL,1) - st.giveItems(ADENA,500000) - htmltext = "30557-01.htm" - elif npcId == WISDOM_CHEST : - st.giveItems(R1[self.getRandom(len(R1))],1) - st.giveItems(R2[self.getRandom(len(R2))],1) - st.giveItems(R3[self.getRandom(len(R3))],1) - if not self.getRandom(3): - st.giveItems(HEART_OF_PAAGRIO,1) - st.giveItems(4409,1) - st.giveItems(4408,1) - htmltext = "30743-0"+str(self.getRandom(6)+1)+".htm" - npc.deleteMe() - elif npcId == RUPINA: - if self.getRandom(100) <= 4: - st.giveItems(NECKLACE_OF_GRACE,1) - htmltext = "30742-01.htm" - else: - st.giveItems(R4[self.getRandom(len(R4))],1) - htmltext = "30742-02.htm" - npc.decayMe() - elif npcId == ALCHEMIST_MATILD: - if npc.isBusy() : - htmltext = "30738-20.htm" - elif player.getLevel() <= 29 : - htmltext = "30738-21.htm" - st.exitQuest(1) - elif cond == 5 and st.getQuestItemsCount(MATILDS_ORB) : - htmltext = "30738-11.htm" - elif cond == 4 and check_ingredients(st,1): - htmltext = "30738-08.htm" - elif cond == 3 and not check_ingredients(st,1): - htmltext = "30738-07.htm" - elif cond == 2 or (st.getQuestItemsCount(ALCHEMY_TEXT) and st.getQuestItemsCount(SECRET_BOOK)) : - htmltext = "30738-05.htm" - elif cond == 1 or (st.getQuestItemsCount(ALCHEMY_TEXT) and not st.getQuestItemsCount(SECRET_BOOK)) : - htmltext = "30738-04.htm" - else: - htmltext = "30738-01.htm" - return htmltext - - def onKill(self,npc,player,isPet): - st = self.getQuestState(player, False) - if not st : return - id = st.getState() - if id == State.CREATED: return - if id != State.STARTED: st.setState(State.STARTED) - npcId = npc.getId() - cond = st.getInt("cond") - if npcId == SECRET_KEEPER_TREE and cond == 1 and not st.getQuestItemsCount(SECRET_BOOK): - st.set("cond","2") - st.giveItems(SECRET_BOOK,1) - st.playSound("ItemSound.quest_itemget") - elif npcId in DROPLIST.keys() and cond == 3 : - item,chance=DROPLIST[npcId] - if self.getRandom(100) <= chance and not st.getQuestItemsCount(item) : - st.giveItems(item,1) - if check_ingredients(st,1): - st.playSound("ItemSound.quest_middle") - st.set("cond","4") - else: st.playSound("ItemSound.quest_itemget") - else: - if npcId == SUCCUBUS_OF_SEDUCTION: - if self.getRandom(100) <= 3 : - st.playSound("ItemSound.quest_itemget") - st.giveItems(FORBIDDEN_LOVE_SCROLL,1) - elif npcId == GRIMA: - if self.getRandom(100) < 4 : - st.playSound("ItemSound.quest_itemget") - if self.getRandom(1000) == 0 : - st.giveItems(ADENA,100000000) - else: - st.giveItems(ADENA,900000) - elif npcId == SANCHES : - try : - if st.getQuestTimer("sanches_timer1") : - st.getQuestTimer("sanches_timer1").cancel() - if self.getRandom(100) <= 50 : - autochat(npc,"It's time to come out my Remless... Bonaparterius!") - spawnedNpc=st.addSpawn(BONAPARTERIUS,npc,True,0) - autochat(spawnedNpc,"I am the Great Emperor's son!") - st.startQuestTimer("bonaparterius_timer1",600000,spawnedNpc) - else : - st.giveItems(R4[self.getRandom(len(R4))],1) - except : pass - elif npcId == BONAPARTERIUS: - try : - if st.getQuestTimer("bonaparterius_timer1") : - st.getQuestTimer("bonaparterius_timer1").cancel() - autochat(npc,"Only Ramsebalius would be able to avenge me!") - if self.getRandom(100) <= 50 : - spawnedNpc=st.addSpawn(RAMSEBALIUS,npc,True,0) - autochat(spawnedNpc,"Meet the absolute ruler!") - st.startQuestTimer("ramsebalius_timer1",600000,spawnedNpc) - else : - st.giveItems(R4[self.getRandom(len(R4))],1) - except : pass - elif npcId == RAMSEBALIUS: - try : - if st.getQuestTimer("ramsebalius_timer1") : - st.getQuestTimer("ramsebalius_timer1").cancel() - autochat(npc,"You evil piece of...") - if self.getRandom(100) <= 50 : - spawnedNpc=st.addSpawn(GREAT_DEMON_KING,npc,True,0) - autochat(spawnedNpc,"Who dares to kill my fiendly minion?!") - st.startQuestTimer("greatdemon_timer1",600000,spawnedNpc) - else : - st.giveItems(R4[self.getRandom(len(R4))],1) - except: pass - elif npcId == GREAT_DEMON_KING: - try : - if st.getQuestTimer("greatdemon_timer1") : - st.getQuestTimer("greatdemon_timer1").cancel() - st.giveItems(ADENA,1412965) - st.playSound("ItemSound.quest_itemget") - except: pass - return - -QUEST = Quest(334, qn, "The Wishing Potion") -QUEST.addStartNpc(ALCHEMIST_MATILD) -QUEST.addTalkId([ALCHEMIST_MATILD, TORAI, RUPINA, WISDOM_CHEST]) -QUEST.addKillId(DROPLIST.keys()) -QUEST.addKillId([SECRET_KEEPER_TREE, SUCCUBUS_OF_SEDUCTION, GRIMA, SANCHES, RAMSEBALIUS, BONAPARTERIUS, GREAT_DEMON_KING]) \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/no_quest.htm b/dist/game/data/scripts/quests/334_TheWishingPotion/no_quest.htm deleted file mode 100644 index 7aaea0f8b1836dc4b0a4c553ad429e18c88e257a..0000000000000000000000000000000000000000 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/no_quest.htm +++ /dev/null @@ -1 +0,0 @@ -<html><body>Conditions are not right to make this quest available.</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30557-01.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30557-01.html new file mode 100644 index 0000000000000000000000000000000000000000..31894e04d7d054d58c0c7c835be883cfeddf9ec3 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30557-01.html @@ -0,0 +1,3 @@ +<html><body>Torai:<br> +Oh yes, I would love to purchase that book from you! How much do you want for it? +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-01.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-01.html new file mode 100644 index 0000000000000000000000000000000000000000..256c0e4c599515687b7cced6bf86c36069941005 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-01.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +Many seek the secrets of Alchemy. You do not appear to be their equal. I won't discuss Alchemy with you further. (This quest may only be performed by characters of level 30 and above.) +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-02.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-02.html new file mode 100644 index 0000000000000000000000000000000000000000..578dd7f8d946442a37d447f6bb855aab09262978 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-02.html @@ -0,0 +1,4 @@ +<html><body>Alchemist Matild:<br> +Having studied and practiced herbal medicine for over 20 years I am acknowledged as an expert on the subject. But there is still much to learn, with many mysterious potions whose formulas were passed down by the ancients still unknown to me. Recently I discovered the location of one such formula. I discovered it while reading a book that I have...<br> +<a action="bypass -h Quest Q00334_TheWishingPotion 1">"Can I help you?"</a> +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-03.htm b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-03.htm new file mode 100644 index 0000000000000000000000000000000000000000..25a62378800d09cc6b7d2dba044d8c7f31d63ce7 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-03.htm @@ -0,0 +1,4 @@ +<html><body>Alchemist Matild:<br> +This text refers to the location of the secret Book of Problems. Please read it for yourself and then go and find the precious secret book for me.<br> +<a action="bypass -h Quest Q00334_TheWishingPotion QUEST_ACCEPTED">"I will find the secret book."</a> +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-04.htm b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-04.htm new file mode 100644 index 0000000000000000000000000000000000000000..ff762f578b2eb84449326ce6c709585b87d80842 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-04.htm @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +Thank you so much. Please take this book and use the clues you find within it to find the Book of Problems. Bring it back to me and I will give you a big surprise! +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-05.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-05.html new file mode 100644 index 0000000000000000000000000000000000000000..5f01597aa7928bc1e50f9af897d79eecaccf3e51 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-05.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +Have you found the book? No? Please, go and find it! +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-06.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-06.html new file mode 100644 index 0000000000000000000000000000000000000000..8e825d7c7d2d35b075aafaf5f33df795b71c068a --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-06.html @@ -0,0 +1,6 @@ +<html><body>Alchemist Matild:<br> +You have brought me the secret book! Uhhh...<br> +Oh, I'm very sorry. While you were away, you see, someone brought some precious ingredients and I spent my last Adena purchasing them.<br> +Hmm... How about this? The recipe for making Wish Potion is written in the secret book that you have brought! I obtained most of the ingredients with this last purchase but there are still a few things I will need. If you could bring me those, I'll make Wish Potion for you that will grant all of your wishes! How about it? What a deal, huh? <br> +<a action="bypass -h Quest Q00334_TheWishingPotion 2">"I will find the ingredients."</a> +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-07.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-07.html new file mode 100644 index 0000000000000000000000000000000000000000..3c3ee40652587e6832c9d59bc3659c0f0b1544bc --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-07.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +All right! Its a deal! Now, here is the Ingredient List. Please go and find these things... And hurry! +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-08.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-08.html new file mode 100644 index 0000000000000000000000000000000000000000..aab492881326dd72437cf60d7e32623e348a1008 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-08.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +Oh my, this is not working... I won't be able to make the Wish Potion until you bring all of the ingredients! +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-09.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-09.html new file mode 100644 index 0000000000000000000000000000000000000000..ce51fb5b13f7772032e2fb0156b2d9bb621422bf --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-09.html @@ -0,0 +1,4 @@ +<html><body>Alchemist Matild:<br> +Ah, I see that you have brought all of the ingredients! Shall we get started?<br> +<a action="bypass -h Quest Q00334_TheWishingPotion 3">"Let's get started!"</a> +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-10.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-10.html new file mode 100644 index 0000000000000000000000000000000000000000..ba83d46734994a2a54c09719e6afbabf224f3541 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-10.html @@ -0,0 +1,4 @@ +<html><body>Alchemist Matild:<br> +You must take this sap and apply it here... Now mix it well... Did you see the color change? OK, now add it to this bottle and mix it... Could you pass me that red bottle?<br> +<a action="bypass -h Quest Q00334_TheWishingPotion 4">Pass the red bottle.</a> +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-11.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-11.html new file mode 100644 index 0000000000000000000000000000000000000000..0f491039a367a35376c7b6ad801c976013a8952a --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-11.html @@ -0,0 +1,4 @@ +<html><body>Alchemist Matild:<br> +Now you must carefully add wish scent... There! It's done. You must check with me before using this potion.<br> +Take this with you as proof and I will make the potion again if needed. Of course I will need you to collect all the ingredients again. A good deal, no? +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-12.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-12.html new file mode 100644 index 0000000000000000000000000000000000000000..11231629937b1288156f0fdff7d2ad3e4f9ccaae --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-12.html @@ -0,0 +1,5 @@ +<html><body>Alchemist Matild:<br> +Hey, do you remember the promise you made to me? What's your excuse this time? Do you want to take the Wish Potion or are you gathering the ingredients to make more of the potion?<br> +<a action="bypass -h Quest Q00334_TheWishingPotion 5">"I want to take the Wish Potion."</a><br> +<a action="bypass -h Quest Q00334_TheWishingPotion 6">"I am gathering the ingredients."</a> +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-13.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-13.html new file mode 100644 index 0000000000000000000000000000000000000000..cb83e0d85d6621a1323c4f9d9a9ca635379cfaff --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-13.html @@ -0,0 +1,15 @@ +<html><body>Alchemist Matild:<br> +You are allowed one wish after taking the potion. You will choose from one of the four wishes on this card. +<table> +<tr> + <td><img src="icon.Quest_TarotCard_Knowledge_t00" width=64 height=112></td> + <td><img src="icon.Quest_TarotCard_Love_t00" width=64 height=112></td> + <td><img src="icon.Quest_TarotCard_Power_t00" width=64 height=112></td> + <td><img src="icon.Quest_TarotCard_Wealth_t00" width=64 height=112></td> +</tr> +</table><br> +<a action="bypass -h Quest Q00334_TheWishingPotion 7">"I wish to be a loving person."</a><br> +<a action="bypass -h Quest Q00334_TheWishingPotion 8">"I wish for 100 million Adena."</a><br> +<a action="bypass -h Quest Q00334_TheWishingPotion 9">"I wish to be a king!"</a><br> +<a action="bypass -h Quest Q00334_TheWishingPotion 10">"I wish to be the wisest person in the world."</a> +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-14.htm b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-14.html similarity index 65% rename from dist/game/data/scripts/quests/334_TheWishingPotion/30738-14.htm rename to dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-14.html index 1e98554e18277991b80e2def5df74a8c8076bea7..f54a894f79156ec0780642080eca900ee3f4d0d1 100644 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-14.htm +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-14.html @@ -1,2 +1,3 @@ <html><body>Alchemist Matild:<br> -Hey! You don't have any Wish Potion but yet you still want to make a wish...? How very disgraceful!</body></html> \ No newline at end of file +Hey! You don't have any Wish Potion but yet you still want to make a wish...? How very disgraceful! +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-15.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-15.html new file mode 100644 index 0000000000000000000000000000000000000000..0fdc5e89c9028ca18e65d7feaf499f3b13a6ecea --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-15.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +All right, just as before you must gather the ingredients on this list... I don't need to explain it to you again, do I? +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-13.htm b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-15a.html similarity index 68% rename from dist/game/data/scripts/quests/334_TheWishingPotion/30738-13.htm rename to dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-15a.html index 596a7b6c7b1603654eb83b7784e0d1970aaa23dc..ffbe2bfb29a633f9ef02fa42974d7527a714ec29 100644 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30738-13.htm +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-15a.html @@ -1,2 +1,3 @@ <html><body>Alchemist Matild:<br> -Why do you want more Wish Potion when you haven't used what you already have? What a pig...!</body></html> \ No newline at end of file +Why do you want more Wish Potion when you haven't used what you already have? What a pig...! +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-16.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-16.html new file mode 100644 index 0000000000000000000000000000000000000000..44b576fe9ac346932f309804a77d2215de086bf7 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-16.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +To begin the ceremony you must first apply the Crow's Blood to your forehead and then shake the wing of fairy three times... +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-17.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-17.html new file mode 100644 index 0000000000000000000000000000000000000000..df2e057caf3cda614254d5ca29f03bb56f4fac71 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-17.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +To start the ceremony you must first apply the Crow's Blood to your forehead and then shake the Timitran Leaf three times... +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-18.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-18.html new file mode 100644 index 0000000000000000000000000000000000000000..715cae02665819b949cb4515d10295d77f34800d --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-18.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +To start the ceremony you must first apply the Crow's Blood to your forehead and then put the crown of glory on your head... +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-19.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-19.html new file mode 100644 index 0000000000000000000000000000000000000000..47eabfaf3f881bcc51b935838db2807a8b7a4af1 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-19.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +To start the ceremony you must first apply the Crow's Blood to your forehead and then hit your head three times with a Sage's Staff... +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-20.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-20.html new file mode 100644 index 0000000000000000000000000000000000000000..0615be419492a04f0e5d97bc2af79803dfe41991 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30738-20.html @@ -0,0 +1,3 @@ +<html><body>Alchemist Matild:<br> +You must wait, someone else is currently making a wish... +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30742-01.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30742-01.html new file mode 100644 index 0000000000000000000000000000000000000000..646d58ae6bd1beb532c21af98efd84460a3410f4 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30742-01.html @@ -0,0 +1,3 @@ +<html><body>Fairy of Love Rupina:<br> +Ah, it's you! Do you seek your true love? I'm sorry, but I am very busy and cannot help you now. Instead, take this pendant. It will help you to find your soul mate. +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/334_TheWishingPotion/30742-02.htm b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30742-02.html similarity index 73% rename from dist/game/data/scripts/quests/334_TheWishingPotion/30742-02.htm rename to dist/game/data/scripts/quests/Q00334_TheWishingPotion/30742-02.html index 6bb77c43fd169a6f91dc54df5b7ae7505c0a1fb1..8ed5d29d3a5a0b4c5047e809fc2bc52c871d65a5 100644 --- a/dist/game/data/scripts/quests/334_TheWishingPotion/30742-02.htm +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30742-02.html @@ -1,4 +1,5 @@ <html><body>Fairy of Love Rupina:<br> Love is such a lovely thing.<br> Lovers love loving.<br> -Love each other!</body></html> \ No newline at end of file +Love each other! +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-02.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-02.html new file mode 100644 index 0000000000000000000000000000000000000000..ea8eb36ad61c03a3139bbdfd8d0b1f6b947f6a52 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-02.html @@ -0,0 +1,4 @@ +<html><body>Chest of Wisdom:<br> +[A voice emanates from the chest]<br> +I will tell you a secret that will bring you great riches. Find the Forbidden Love Scroll and take it to Torai. You will be amply rewarded. +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-03.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-03.html new file mode 100644 index 0000000000000000000000000000000000000000..666436f0a7f3211eb764db3977712aefee761abc --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-03.html @@ -0,0 +1,4 @@ +<html><body>Chest of Wisdom:<br> +[A voice emanates from the chest]<br> +I will tell you a secret that will increase your wealth. Warehouse Keeper Sorint, Magister Paige, Researcher Lorain, Warehouse Keeper Hagger, Guard Stan, Blacksmith Dunning, Trader Ralford, Head Blacksmith Ferris, Warehouse Keeper Collob and Grocer Pano... All these people are fanatical coin collectors! +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-04.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-04.html new file mode 100644 index 0000000000000000000000000000000000000000..78295caf8c638d40cd2ceb70de19944d09061d49 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-04.html @@ -0,0 +1,4 @@ +<html><body>Chest of Wisdom:<br> +[A voice emanates from the chest]<br> +I will teach you how to use the Wish Potion correctly. If you wish to become a ruler, you will meet the Devil himself... +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-05.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-05.html new file mode 100644 index 0000000000000000000000000000000000000000..a5f3b25079d22df9daa3bf85a64b1ec165397df9 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-05.html @@ -0,0 +1,4 @@ +<html><body>Chest of Wisdom:<br> +[A voice emanates from the chest]<br> +I will teach you how to use the Wish Potion correctly. If you wish to find love, a succubus will seduce you and then inflict great pain upon your manhood. +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-06.html b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-06.html new file mode 100644 index 0000000000000000000000000000000000000000..f2234f7fa94a140008452f8e1cd219de30ad270d --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/30743-06.html @@ -0,0 +1,4 @@ +<html><body>Chest of Wisdom:<br> +[A voice emanates from the chest]<br> +You are the chosen one. I give you the gift of knowledge. +</body></html> \ No newline at end of file diff --git a/dist/game/data/scripts/quests/Q00334_TheWishingPotion/Q00334_TheWishingPotion.java b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/Q00334_TheWishingPotion.java new file mode 100644 index 0000000000000000000000000000000000000000..76abc43140e2f89b14addc1035ac1bb3b62f22c4 --- /dev/null +++ b/dist/game/data/scripts/quests/Q00334_TheWishingPotion/Q00334_TheWishingPotion.java @@ -0,0 +1,1085 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package quests.Q00334_TheWishingPotion; + +import java.util.ArrayList; +import java.util.List; + +import com.l2jserver.gameserver.enums.QuestSound; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.quest.Quest; +import com.l2jserver.gameserver.model.quest.QuestState; +import com.l2jserver.gameserver.network.NpcStringId; +import com.l2jserver.gameserver.util.Util; + +/** + * The Wishing Potion (334) + * @author Zealar + */ +public final class Q00334_TheWishingPotion extends Quest +{ + // NPCs + private static final int TORAI = 30557; + private static final int ALCHEMIST_MATILD = 30738; + private static final int FAIRY_RUPINA = 30742; + private static final int WISDOM_CHEST = 30743; + + // Monsters + private static final int WHISPERING_WIND = 20078; + private static final int ANT_SOLDIER = 20087; + private static final int ANT_WARRIOR_CAPTAIN = 20088; + private static final int SILENOS = 20168; + private static final int TYRANT = 20192; + private static final int TYRANT_KINGPIN = 20193; + private static final int AMBER_BASILISK = 20199; + private static final int MIST_HORROR_RIPPER = 20227; + private static final int TURAK_BUGBEAR = 20248; + private static final int TURAK_BUGBEAR_WARRIOR = 20249; + private static final int GRIMA = 27135; + private static final int GLASS_JAGUAR = 20250; + private static final int SUCCUBUS_OF_SEDUCTION = 27136; + private static final int GREAT_DEMON_KING = 27138; + private static final int SECRET_KEEPER_TREE = 27139; + private static final int DLORD_ALEXANDROSANCHES = 27153; + private static final int ABYSSKING_BONAPARTERIUS = 27154; + private static final int EVILOVERLORD_RAMSEBALIUS = 27155; + + // Items + private static final int Q_WISH_POTION = 3467; + private static final int Q_ANCIENT_CROWN = 3468; + private static final int Q_CERTIFICATE_OF_ROYALTY = 3469; + private static final int Q_ALCHEMY_TEXT = 3678; + private static final int Q_SECRET_BOOK_OF_POTION = 3679; + private static final int Q_POTION_RECIPE_1 = 3680; + private static final int Q_POTION_RECIPE_2 = 3681; + private static final int Q_MATILDS_ORB = 3682; + private static final int Q_FOBBIDEN_LOVE_SCROLL = 3683; + + // Items required for create wish potion + private static final int Q_AMBER_SCALE = 3684; + private static final int Q_WIND_SOULSTONE = 3685; + private static final int Q_GLASS_EYE = 3686; + private static final int Q_HORROR_ECTOPLASM = 3687; + private static final int Q_SILENOS_HORN = 3688; + private static final int Q_ANT_SOLDIER_APHID = 3689; + private static final int Q_TYRANTS_CHITIN = 3690; + private static final int Q_BUGBEAR_BLOOD = 3691; + + // Rewards + private static final int NECKLACE_OF_GRACE = 931; + private static final int DEMONS_TUNIC_FABRIC = 1979; + private static final int DEMONS_HOSE_PATTERN = 1980; + private static final int DEMONS_BOOTS_FABRIC = 2952; + private static final int DEMONS_GLOVES_FABRIC = 2953; + private static final int Q_MUSICNOTE_LOVE = 4408; + private static final int Q_MUSICNOTE_BATTLE = 4409; + private static final int Q_GOLD_CIRCLET = 12766; + private static final int Q_SILVER_CIRCLET = 12767; + + private static final int DEMONS_TUNIC = 441; + private static final int DEMONS_HOSE = 472; + private static final int DEMONS_BOOTS = 2435; + private static final int DEMONS_GLOVES = 2459; + + // Misc + private static final String FLAG = "flag"; + private static final String I_QUEST0 = "i_quest0"; + private static final String EXCHANGE = "Exchange"; + + // Reward + public Q00334_TheWishingPotion() + { + super(334, Q00334_TheWishingPotion.class.getSimpleName(), "The Wishing Potion"); + addStartNpc(ALCHEMIST_MATILD); + addTalkId(ALCHEMIST_MATILD, TORAI, FAIRY_RUPINA, WISDOM_CHEST); + addKillId(WHISPERING_WIND, ANT_SOLDIER, ANT_WARRIOR_CAPTAIN, SILENOS, TYRANT, TYRANT_KINGPIN, AMBER_BASILISK, MIST_HORROR_RIPPER); + addKillId(TURAK_BUGBEAR, TURAK_BUGBEAR_WARRIOR, GRIMA, GLASS_JAGUAR, SUCCUBUS_OF_SEDUCTION, GREAT_DEMON_KING, SECRET_KEEPER_TREE); + addKillId(DLORD_ALEXANDROSANCHES, ABYSSKING_BONAPARTERIUS, EVILOVERLORD_RAMSEBALIUS); + addSpawnId(GRIMA, SUCCUBUS_OF_SEDUCTION, GREAT_DEMON_KING, DLORD_ALEXANDROSANCHES, ABYSSKING_BONAPARTERIUS, EVILOVERLORD_RAMSEBALIUS, FAIRY_RUPINA); + registerQuestItems(Q_SECRET_BOOK_OF_POTION, Q_AMBER_SCALE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD); + registerQuestItems(Q_WISH_POTION, Q_POTION_RECIPE_1, Q_POTION_RECIPE_2, Q_MATILDS_ORB, Q_ALCHEMY_TEXT); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + if (qs != null) + { + switch (npc.getId()) + { + case TORAI: + { + if (qs.hasQuestItems(Q_FOBBIDEN_LOVE_SCROLL)) + { + qs.giveAdena(500000, true); + qs.takeItems(Q_FOBBIDEN_LOVE_SCROLL, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); + return "30557-01.html"; + } + break; + } + case ALCHEMIST_MATILD: + { + if (qs.isCreated()) + { + if (player.getLevel() < 30) + { + return "30738-01.htm"; + } + return "30738-02.html"; + } + if (!qs.hasQuestItems(Q_SECRET_BOOK_OF_POTION) && qs.hasQuestItems(Q_ALCHEMY_TEXT)) + { + return "30738-05.html"; + } + if (qs.hasQuestItems(Q_SECRET_BOOK_OF_POTION) && qs.hasQuestItems(Q_ALCHEMY_TEXT)) + { + return "30738-06.html"; + } + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && (!qs.hasQuestItems(Q_AMBER_SCALE) || (qs.hasQuestItems(Q_WIND_SOULSTONE) && !qs.hasQuestItems(Q_GLASS_EYE)) + || (!qs.hasQuestItems(Q_HORROR_ECTOPLASM) || !qs.hasQuestItems(Q_SILENOS_HORN) || !qs.hasQuestItems(Q_ANT_SOLDIER_APHID) || !qs.hasQuestItems(Q_TYRANTS_CHITIN) || !qs.hasQuestItems(Q_BUGBEAR_BLOOD)))) + { + return "30738-08.html"; + } + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2, Q_AMBER_SCALE, Q_WIND_SOULSTONE, Q_WIND_SOULSTONE, Q_GLASS_EYE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + return "30738-09.html"; + } + if (qs.hasQuestItems(Q_MATILDS_ORB) && !qs.hasQuestItems(Q_POTION_RECIPE_1) && !qs.hasQuestItems(Q_POTION_RECIPE_2) && (!qs.hasQuestItems(Q_AMBER_SCALE) || (qs.hasQuestItems(Q_WIND_SOULSTONE) && !qs.hasQuestItems(Q_GLASS_EYE)) || !qs.hasQuestItems(Q_HORROR_ECTOPLASM) + || !qs.hasQuestItems(Q_SILENOS_HORN) || !qs.hasQuestItems(Q_ANT_SOLDIER_APHID) || !qs.hasQuestItems(Q_TYRANTS_CHITIN) || !qs.hasQuestItems(Q_BUGBEAR_BLOOD))) + { + return "30738-12.html"; + } + break; + } + case FAIRY_RUPINA: + { + if (qs.getInt(FLAG) == 1) + { + String html = null; + if ((getRandom(4) < 4)) + { + qs.giveItems(NECKLACE_OF_GRACE, 1); + qs.set(FLAG, 0); + html = "30742-01.html"; + } + else + { + switch (getRandom(4)) + { + case 0: + { + qs.giveItems(DEMONS_TUNIC_FABRIC, 1); + break; + } + case 1: + { + qs.giveItems(DEMONS_HOSE_PATTERN, 1); + break; + } + case 2: + { + qs.giveItems(DEMONS_BOOTS_FABRIC, 1); + break; + } + case 3: + { + qs.giveItems(DEMONS_GLOVES_FABRIC, 1); + } + } + html = "30742-02.html"; + } + qs.set(FLAG, 0); + npc.deleteMe(); + return html; + } + break; + } + case WISDOM_CHEST: + { + if (qs.getInt(FLAG) == 4) + { + int random = getRandom(100); + String html = null; + if (random < 10) + { + qs.giveItems(Q_FOBBIDEN_LOVE_SCROLL, 1); + html = "30743-02.html"; + } + else if ((random >= 10) && (random < 50)) + { + switch (getRandom(4)) + { + case 0: + { + qs.giveItems(DEMONS_TUNIC_FABRIC, 1); + break; + } + case 1: + { + qs.giveItems(DEMONS_HOSE_PATTERN, 1); + break; + } + case 2: + { + qs.giveItems(DEMONS_BOOTS_FABRIC, 1); + break; + } + case 3: + { + qs.giveItems(DEMONS_GLOVES_FABRIC, 1); + break; + } + } + html = "30743-03.html"; + } + else if ((random >= 50) && (random < 100)) + { + switch (getRandom(2)) + { + case 0: + { + qs.giveItems(Q_MUSICNOTE_LOVE, 1); + break; + } + case 1: + { + qs.giveItems(Q_MUSICNOTE_BATTLE, 1); + break; + } + } + html = "30743-04.html"; + } + else if ((random >= 85) && (random < 95)) + { + switch (getRandom(4)) + { + case 0: + { + qs.giveItems(DEMONS_TUNIC, 1); + break; + } + case 1: + { + qs.giveItems(DEMONS_HOSE, 1); + break; + } + case 2: + { + qs.giveItems(DEMONS_BOOTS, 1); + break; + } + case 3: + { + qs.giveItems(DEMONS_GLOVES, 1); + break; + } + } + html = "30743-05.html"; + } + else if (random >= 95) + { + switch (getRandom(2)) + { + case 0: + { + qs.giveItems(Q_GOLD_CIRCLET, 1); + break; + } + case 1: + { + qs.giveItems(Q_SILVER_CIRCLET, 1); + } + } + html = "30743-06.htm"; + } + qs.set(FLAG, 0); + npc.deleteMe(); + return html; + } + break; + } + } + } + return htmltext; + } + + @Override + public String onSpawn(L2Npc npc) + { + switch (npc.getId()) + { + case GRIMA: + { + startQuestTimer("2336002", 1000 * 200, npc, null); + npc.Say(NpcStringId.OH_OH_OH); + break; + } + case SUCCUBUS_OF_SEDUCTION: + { + startQuestTimer("2336003", 1000 * 200, npc, null); + npc.Say(NpcStringId.DO_YOU_WANT_US_TO_LOVE_YOU_OH); + break; + } + case GREAT_DEMON_KING: + { + startQuestTimer("2336007", 1000 * 600, npc, null); + npc.Say(NpcStringId.WHO_KILLED_MY_UNDERLING_DEVIL); + break; + } + case DLORD_ALEXANDROSANCHES: + { + startQuestTimer("2336004", 1000 * 200, npc, null); + npc.Say(NpcStringId.WHO_IS_CALLING_THE_LORD_OF_DARKNESS); + break; + } + case ABYSSKING_BONAPARTERIUS: + { + startQuestTimer("2336005", 1000 * 200, npc, null); + npc.Say(NpcStringId.I_AM_A_GREAT_EMPIRE_BONAPARTERIUS); + break; + } + case EVILOVERLORD_RAMSEBALIUS: + { + startQuestTimer("2336006", 1000 * 200, npc, null); + npc.Say(NpcStringId.LET_YOUR_HEAD_DOWN_BEFORE_THE_LORD); + break; + } + case FAIRY_RUPINA: + { + startQuestTimer("2336001", 120 * 1000, npc, null); + npc.Say(NpcStringId.I_WILL_MAKE_YOUR_LOVE_COME_TRUE_LOVE_LOVE_LOVE); + break; + } + case WISDOM_CHEST: + { + startQuestTimer("2336007", 120 * 1000, npc, null); + npc.Say(NpcStringId.I_HAVE_WISDOM_IN_ME_I_AM_THE_BOX_OF_WISDOM); + break; + } + } + return super.onSpawn(npc); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + switch (npc.getId()) + { + case FAIRY_RUPINA: + case GRIMA: + case SUCCUBUS_OF_SEDUCTION: + case GREAT_DEMON_KING: + { + npc.deleteMe(); + break; + } + case DLORD_ALEXANDROSANCHES: + { + npc.Say(NpcStringId.OH_ITS_NOT_AN_OPPONENT_OF_MINE_HA_HA_HA); + npc.deleteMe(); + break; + } + case ABYSSKING_BONAPARTERIUS: + { + npc.Say(NpcStringId.OH_ITS_NOT_AN_OPPONENT_OF_MINE_HA_HA_HA); + npc.deleteMe(); + break; + } + case EVILOVERLORD_RAMSEBALIUS: + { + npc.Say(NpcStringId.OH_ITS_NOT_AN_OPPONENT_OF_MINE_HA_HA_HA); + npc.deleteMe(); + break; + } + case WISDOM_CHEST: + { + npc.Say(NpcStringId.DONT_INTERRUPT_MY_REST_AGAIN); + npc.Say(NpcStringId.YOURE_A_GREAT_DEVIL_NOW); + npc.deleteMe(); + break; + } + case ALCHEMIST_MATILD: + { + final QuestState qs = getQuestState(player, false); + + if (event.equals("QUEST_ACCEPTED")) + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); + qs.startQuest(); + qs.setMemoState(1); + qs.setCond(1); + qs.showQuestionMark(334); + if (!qs.hasQuestItems(Q_ALCHEMY_TEXT)) + { + qs.giveItems(Q_ALCHEMY_TEXT, 1); + } + qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); + return "30738-04.htm"; + } + + switch (Integer.parseInt(event)) + { + case 1: + { + return "30738-03.htm"; + } + case 2: + { + qs.takeItems(Q_SECRET_BOOK_OF_POTION, -1); + qs.takeItems(Q_ALCHEMY_TEXT, -1); + qs.giveItems(Q_POTION_RECIPE_1, 1); + qs.giveItems(Q_POTION_RECIPE_2, 1); + qs.setMemoState(2); + qs.setCond(3, true); + qs.showQuestionMark(334); + return "30738-07.html"; + } + case 3: + { + return "30738-10.html"; + } + case 4: + { + if (qs.hasQuestItems(Q_AMBER_SCALE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD, Q_WIND_SOULSTONE, Q_POTION_RECIPE_1, Q_POTION_RECIPE_2)) + { + qs.giveItems(Q_WISH_POTION, 1); + if (!qs.hasQuestItems(Q_MATILDS_ORB)) + { + qs.giveItems(Q_MATILDS_ORB, 1); + } + qs.takeItems(Q_AMBER_SCALE, 1); + qs.takeItems(Q_GLASS_EYE, 1); + qs.takeItems(Q_HORROR_ECTOPLASM, 1); + qs.takeItems(Q_SILENOS_HORN, 1); + qs.takeItems(Q_ANT_SOLDIER_APHID, 1); + qs.takeItems(Q_TYRANTS_CHITIN, 1); + qs.takeItems(Q_BUGBEAR_BLOOD, 1); + qs.takeItems(Q_WIND_SOULSTONE, 1); + qs.takeItems(Q_POTION_RECIPE_1, -1); + qs.takeItems(Q_POTION_RECIPE_2, -1); + qs.setMemoState(2); + qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); + qs.setCond(5); + qs.showQuestionMark(334); + return "30738-11.html"; + } + break; + } + case 5: + { + if (qs.hasQuestItems(Q_WISH_POTION)) + { + if (qs.getInt(I_QUEST0) != 1) + { + qs.set(I_QUEST0, 0); + } + return "30738-13.html"; + } + return "30738-14.html"; + } + case 6: + { + if (qs.hasQuestItems(Q_WISH_POTION)) + { + return "30738-15a.html"; + } + qs.giveItems(Q_POTION_RECIPE_1, 1); + qs.giveItems(Q_POTION_RECIPE_2, 1); + return "30738-15.html"; + } + case 7: + { + if (qs.hasQuestItems(Q_WISH_POTION)) + { + if (qs.getInt(EXCHANGE) == 0) + { + + qs.takeItems(Q_WISH_POTION, 1); + qs.set(I_QUEST0, 1); + qs.set(FLAG, 1); + startQuestTimer("2336008", 3 * 1000, npc, player); + return "30738-16.html"; + } + return "30738-20.html"; + } + return "30738-14.html"; + } + case 8: + { + if (qs.hasQuestItems(Q_WISH_POTION)) + { + if (qs.getInt(EXCHANGE) == 0) + { + + qs.takeItems(Q_WISH_POTION, 1); + qs.set(I_QUEST0, 2); + qs.set(FLAG, 2); + startQuestTimer("2336008", 3 * 1000, npc, player); + return "30738-17.html"; + } + return "30738-20.html"; + } + return "30738-14.html"; + } + case 9: + { + if (qs.hasQuestItems(Q_WISH_POTION)) + { + if (qs.getInt(EXCHANGE) == 0) + { + + qs.takeItems(Q_WISH_POTION, 1); + qs.set(I_QUEST0, 3); + qs.set(FLAG, 3); + startQuestTimer("2336008", 3 * 1000, npc, player); + return "30738-18.html"; + } + return "30738-20.html"; + } + return "30738-14.html"; + } + case 10: + { + if (qs.hasQuestItems(Q_WISH_POTION)) + { + if (qs.getInt(EXCHANGE) == 0) + { + + qs.takeItems(Q_WISH_POTION, 1); + qs.set(I_QUEST0, 4); + qs.set(FLAG, 4); + startQuestTimer("2336008", 3 * 1000, npc, player); + return "30738-19.html"; + } + return "30738-20.html"; + } + return "30738-14.html"; + } + case 2336008: + { + npc.Say(NpcStringId.OK_EVERYBODY_PRAY_FERVENTLY); + startQuestTimer("2336009", 4 * 1000, npc, player); + break; + } + case 2336009: + { + npc.Say(NpcStringId.BOTH_HANDS_TO_HEAVEN_EVERYBODY_YELL_TOGETHER); + startQuestTimer("2336010", 4 * 1000, npc, player); + break; + } + case 2336010: + { + npc.Say(NpcStringId.ONE_TWO_MAY_YOUR_DREAMS_COME_TRUE); + int i0 = 0; + switch (qs.getInt(I_QUEST0)) + { + case 1: + i0 = getRandom(2); + break; + case 2: + case 3: + case 4: + i0 = getRandom(3); + break; + } + switch (i0) + { + case 0: + { + switch (qs.getInt(I_QUEST0)) + { + case 1: + { + addSpawn(FAIRY_RUPINA, npc, true, 0, false); + qs.set("Exchange", 0); + break; + } + case 2: + { + addSpawn(GRIMA, npc, true, 0, false); + addSpawn(GRIMA, npc, true, 0, false); + addSpawn(GRIMA, npc, true, 0, false); + qs.set("Exchange", 0); + break; + } + case 3: + { + qs.giveItems(Q_CERTIFICATE_OF_ROYALTY, 1); + qs.set("Exchange", 0); + break; + } + case 4: + { + addSpawn(WISDOM_CHEST, npc, true, 0, false); + qs.set("Exchange", 0); + break; + } + } + break; + } + case 1: + { + switch (qs.getInt(I_QUEST0)) + { + case 1: + { + addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false); + addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false); + addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false); + addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false); + qs.set("Exchange", 0); + break; + } + case 2: + { + qs.giveAdena(10000, true); + qs.set("Exchange", 0); + break; + } + case 3: + { + addSpawn(DLORD_ALEXANDROSANCHES, npc, true, 0, false); + qs.set("Exchange", 0); + break; + } + case 4: + { + addSpawn(WISDOM_CHEST, npc, true, 0, false); + qs.set("Exchange", 0); + break; + } + } + break; + } + case 2: + { + switch (qs.getInt(I_QUEST0)) + { + case 2: + { + qs.giveAdena(10000, true); + qs.set("Exchange", 0); + break; + } + case 3: + { + qs.giveItems(Q_ANCIENT_CROWN, 1); + qs.set("Exchange", 0); + break; + } + case 4: + { + addSpawn(WISDOM_CHEST, npc, true, 0, false); + qs.set("Exchange", 0); + break; + } + } + break; + } + } + break; + } + } + break; + } + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getRandomPlayerFromParty(killer, npc); + if (qs != null) + { + switch (npc.getId()) + { + case WHISPERING_WIND: + { + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && !qs.hasQuestItems(Q_WIND_SOULSTONE)) + { + if (getRandom(10) == 0) + { + qs.giveItems(Q_WIND_SOULSTONE, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + if (qs.hasQuestItems(Q_AMBER_SCALE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + qs.setCond(4, true); + qs.showQuestionMark(334); + } + else + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + break; + } + case ANT_SOLDIER: + case ANT_WARRIOR_CAPTAIN: + { + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && !qs.hasQuestItems(Q_ANT_SOLDIER_APHID)) + { + if (getRandom(10) == 0) + { + qs.giveItems(Q_ANT_SOLDIER_APHID, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + if (qs.hasQuestItems(Q_AMBER_SCALE, Q_WIND_SOULSTONE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + qs.setCond(4, true); + qs.showQuestionMark(334); + } + else + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + break; + } + case SILENOS: + { + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && !qs.hasQuestItems(Q_SILENOS_HORN)) + { + if (getRandom(10) == 0) + { + qs.giveItems(Q_SILENOS_HORN, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + if (qs.hasQuestItems(Q_AMBER_SCALE, Q_WIND_SOULSTONE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + qs.setCond(4, true); + qs.showQuestionMark(334); + } + else + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + break; + } + case TYRANT: + case TYRANT_KINGPIN: + { + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && !qs.hasQuestItems(Q_TYRANTS_CHITIN)) + { + if (getRandom(10) == 0) + { + qs.giveItems(Q_TYRANTS_CHITIN, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + if (qs.hasQuestItems(Q_AMBER_SCALE, Q_WIND_SOULSTONE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + qs.setCond(4, true); + qs.showQuestionMark(334); + } + else + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + break; + } + case AMBER_BASILISK: + { + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && !qs.hasQuestItems(Q_AMBER_SCALE)) + { + if (getRandom(10) == 0) + { + qs.giveItems(Q_AMBER_SCALE, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + if (qs.hasQuestItems(Q_WIND_SOULSTONE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + qs.setCond(4, true); + qs.showQuestionMark(334); + } + else + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + break; + } + case MIST_HORROR_RIPPER: + { + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && !qs.hasQuestItems(Q_HORROR_ECTOPLASM)) + { + if (getRandom(10) == 0) + { + qs.giveItems(Q_HORROR_ECTOPLASM, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + if (qs.hasQuestItems(Q_AMBER_SCALE, Q_WIND_SOULSTONE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + qs.setCond(4, true); + qs.showQuestionMark(334); + } + else + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + break; + } + case TURAK_BUGBEAR: + case TURAK_BUGBEAR_WARRIOR: + { + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && !qs.hasQuestItems(Q_BUGBEAR_BLOOD)) + { + if (getRandom(10) == 0) + { + qs.giveItems(Q_BUGBEAR_BLOOD, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + if (qs.hasQuestItems(Q_AMBER_SCALE, Q_WIND_SOULSTONE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + qs.setCond(4, true); + qs.showQuestionMark(334); + } + else + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + break; + } + case GLASS_JAGUAR: + { + if (qs.hasQuestItems(Q_POTION_RECIPE_1, Q_POTION_RECIPE_2) && !qs.hasQuestItems(Q_GLASS_EYE)) + { + if (getRandom(10) == 0) + { + qs.giveItems(Q_GLASS_EYE, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + if (qs.hasQuestItems(Q_AMBER_SCALE, Q_WIND_SOULSTONE, Q_GLASS_EYE, Q_HORROR_ECTOPLASM, Q_SILENOS_HORN, Q_ANT_SOLDIER_APHID, Q_TYRANTS_CHITIN, Q_BUGBEAR_BLOOD)) + { + qs.setCond(4, true); + qs.showQuestionMark(334); + } + else + { + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + break; + } + case GRIMA: + { + if (qs.isMemoState(2) && (qs.getInt(FLAG) == 2)) + { + if (getRandom(1000) < 33) + { + if (getRandom(1000) == 0) + { + qs.giveAdena(100_000_000, true); + } + else + { + qs.giveAdena(900_000, true); + } + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + qs.set(FLAG, 0); + } + } + break; + } + case SUCCUBUS_OF_SEDUCTION: + { + if (qs.isMemoState(2) && !qs.hasQuestItems(Q_FOBBIDEN_LOVE_SCROLL) && (qs.getInt(FLAG) == 1) && (getRandom(1000) < 28)) + { + qs.giveItems(Q_FOBBIDEN_LOVE_SCROLL, 1); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + qs.set(FLAG, 0); + } + break; + } + case GREAT_DEMON_KING: + { + if (qs.isMemoState(2) && (qs.getInt(FLAG) == 3)) + { + qs.giveAdena(1_406_956, true); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + qs.set(FLAG, 0); + } + break; + } + case SECRET_KEEPER_TREE: + { + if (qs.isMemoState(1) && !qs.hasQuestItems(Q_SECRET_BOOK_OF_POTION)) + { + qs.giveItems(Q_SECRET_BOOK_OF_POTION, 1); + qs.setCond(2, true); + qs.showQuestionMark(334); + qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + break; + } + case DLORD_ALEXANDROSANCHES: + { + if (qs.isMemoState(2) && (qs.getInt(FLAG) == 3)) + { + npc.Say(NpcStringId.BONAPARTERIUS_ABYSS_KING_WILL_PUNISH_YOU); + if (getRandom(2) == 0) + { + addSpawn(ABYSSKING_BONAPARTERIUS, npc, true, 0, false); + } + else + { + switch (getRandom(4)) + { + case 0: + { + qs.giveItems(DEMONS_TUNIC_FABRIC, 1); + break; + } + case 1: + { + qs.giveItems(DEMONS_HOSE_PATTERN, 1); + break; + } + case 2: + { + qs.giveItems(DEMONS_BOOTS_FABRIC, 1); + break; + } + case 3: + { + qs.giveItems(DEMONS_GLOVES_FABRIC, 1); + } + } + } + break; + } + } + case ABYSSKING_BONAPARTERIUS: + { + if (qs.isMemoState(2) && (qs.getInt(FLAG) == 3)) + { + npc.Say(NpcStringId.REVENGE_IS_OVERLORD_RAMSEBALIUS_OF_THE_EVIL_WORLD); + if (getRandom(2) == 0) + { + addSpawn(EVILOVERLORD_RAMSEBALIUS, npc, true, 0, false); + } + else + { + switch (getRandom(4)) + { + case 0: + { + qs.giveItems(DEMONS_TUNIC_FABRIC, 1); + break; + } + case 1: + { + qs.giveItems(DEMONS_HOSE_PATTERN, 1); + break; + } + case 2: + { + qs.giveItems(DEMONS_BOOTS_FABRIC, 1); + break; + } + case 3: + { + qs.giveItems(DEMONS_GLOVES_FABRIC, 1); + break; + } + } + } + break; + } + break; + } + case EVILOVERLORD_RAMSEBALIUS: + { + if (qs.isMemoState(2) && (qs.getInt(FLAG) == 3)) + { + npc.Say(NpcStringId.OH_GREAT_DEMON_KING); + if (getRandom(2) == 0) + { + addSpawn(GREAT_DEMON_KING, npc, true, 0, false); + } + else + { + switch (getRandom(4)) + { + case 0: + { + qs.giveItems(DEMONS_TUNIC_FABRIC, 1); + break; + } + case 1: + { + qs.giveItems(DEMONS_HOSE_PATTERN, 1); + break; + } + case 2: + { + qs.giveItems(DEMONS_BOOTS_FABRIC, 1); + break; + } + case 3: + { + qs.giveItems(DEMONS_GLOVES_FABRIC, 1); + break; + } + } + } + break; + } + break; + } + } + + } + return super.onKill(npc, killer, isSummon); + } + + private QuestState getRandomPlayerFromParty(L2PcInstance player, L2Npc npc) + { + QuestState qs = player.getQuestState(getName()); + final List<QuestState> candidates = new ArrayList<>(); + + if ((qs != null) && qs.isStarted()) + { + candidates.add(qs); + candidates.add(qs); + } + + if (player.isInParty()) + { + player.getParty().getMembers().stream().forEach(pm -> + { + + QuestState qss = pm.getQuestState(getName()); + if ((qss != null) && qss.isStarted() && Util.checkIfInRange(1500, npc, pm, true)) + { + candidates.add(qss); + } + }); + } + return candidates.isEmpty() ? null : candidates.get(getRandom(candidates.size())); + } +} diff --git a/dist/game/data/scripts/quests/QuestMasterHandler.java b/dist/game/data/scripts/quests/QuestMasterHandler.java index 7591378a3b42b8de11632a4afd6ad19585af91e4..f391b385523c8c714c2357a5115c4f29926b870f 100644 --- a/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -305,6 +305,7 @@ import quests.Q00329_CuriosityOfADwarf.Q00329_CuriosityOfADwarf; import quests.Q00330_AdeptOfTaste.Q00330_AdeptOfTaste; import quests.Q00331_ArrowOfVengeance.Q00331_ArrowOfVengeance; import quests.Q00333_HuntOfTheBlackLion.Q00333_HuntOfTheBlackLion; +import quests.Q00334_TheWishingPotion.Q00334_TheWishingPotion; import quests.Q00336_CoinsOfMagic.Q00336_CoinsOfMagic; import quests.Q00337_AudienceWithTheLandDragon.Q00337_AudienceWithTheLandDragon; import quests.Q00338_AlligatorHunter.Q00338_AlligatorHunter; @@ -792,6 +793,7 @@ public class QuestMasterHandler Q00330_AdeptOfTaste.class, Q00331_ArrowOfVengeance.class, Q00333_HuntOfTheBlackLion.class, + Q00334_TheWishingPotion.class, Q00336_CoinsOfMagic.class, Q00337_AudienceWithTheLandDragon.class, Q00338_AlligatorHunter.class, diff --git a/dist/sql/game/updates/20151128update.sql b/dist/sql/game/updates/20151128update.sql index 25249a4169b5a42f76adc3130d262290e4d6bae0..d02cd5be337faa6869c3bea2b2ff8ebe2cc453ea 100644 --- a/dist/sql/game/updates/20151128update.sql +++ b/dist/sql/game/updates/20151128update.sql @@ -1,2 +1,3 @@ -UPDATE character_quests SET name='Q00234_FatesWhisper' WHERE name='234_FatesWhisper'; -UPDATE character_quests SET name='Q00386_StolenDignity' WHERE name='386_StolenDignity'; \ No newline at end of file +UPDATE character_quests SET name='Q00234_FatesWhisper' WHERE name='234_FatesWhisper'; +UPDATE character_quests SET name='Q00334_TheWishingPotion' WHERE name='334_StolenDignity'; +UPDATE character_quests SET name='Q00386_StolenDignity' WHERE name='386_StolenDignity'; \ No newline at end of file