This commit is contained in:
mobius
2015-01-01 20:02:50 +00:00
parent eeae660458
commit a6a3718849
17894 changed files with 2818932 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
<html><body>Magister Harne:<br>
So, you were send for the sacred ark? I really don't care for it. I think I have gotten myself deep enough in trouble already! You can find a sacred ark hidden in the western Misty Mountains. Here, I'll mark it on your map.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Harne:<br>
What happened? Having trouble finding the sacred ark? You can find a sacred ark hidden in the western Misty Mountains. Here, I'll mark it on your map.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Harne:<br>
You already found the sacred ark that you were looking for, so please do not bother me any further about this matter.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Martien:<br>
Although the sacred chest has been located, it is being guarded by a wearwolf wearing armor, so I cannot open it. Please find the ark and destroy the ark guardian Shadowfang. I will mark the location of the ark in your map. It is located near Tanor Canyon southwest of Giran Castle Town.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Martien:<br>
Please find the ark and destroy the ark guardian Shadowfang. I will mark the location of the ark in your map. It is located near Tanor Canyon southwest of Giran Castle Town.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Martien:<br>
You already found the sacred ark that you were looking for, so please do not bother me any further about this matter.
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Sir Gustaf Athebaldt:<br>
Were you sent by Magister Hannelin? I've been expecting you! Please, hurry and give me the items before someone sees you! She was going to send me three pieces of "the blood of the angel"...<br>
Is this it?! Ha! What a novel idea. I didn't know what to expect when she spoke of blood in terms of pieces... I've already paid her for this. Goodbye.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Sir Gustaf Athebaldt:<br>
Did Magister Hanellin send you? Good! I've been waiting for you! Quickly, before anybody sees us! Please give me the three units of angel's blood that I ordered!<br>
Isn't it original? Ah, blood soaked fabric, eh? Very ingenious! But this fabric couldn't possibly contain the three units of blood that I ordered... <br>
There must have been an error... How about going back to her and checking the quantity again?
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Sir Gustaf Athebaldt:<br>
What else can I do for you? You have already given me the three red pieces of fabric, right? We won't talk about how they got to be red, all right? We shouldn't be seen together, there are spies all around us...
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Hardin:<br>
I've been waiting for you! Let's see the item... Ah, yes, the "Blooded Fabric"... I formally accept it. Goodbye.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Hardin:<br>
I've been waiting for you! Give me the Blooded Fabric!<br>
What? You don't have it? I insist that you go back to her, get the Blooded Fabric and bring it to me immediately!
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Hardin:<br>
Back so soon? What do you want? Oh, I see! You wish to know what I intend to do with the item you brought me...Ha! Well, I'm afraid you won't be very impressed, I just thought it would come in handy in my practice of the dark arts.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Magister Hanellin:<br>
You are still too young to work for me. Come back when you have more experience.<br>
(This quest can be taken only from characters level 60 and above)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
Have you heard the story of the ancient emperor who achieved immortality? He was imprisoned by the gods in a high tower where he suffered for hundreds of years before going mad and becoming a monster.<br>
The secrets of immortality, the vast treasures of the ancient empire, the secrets of the "seal"... All this important information locked within the mind of a mad monster.<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864-02a.htm">"Is this the story of Baium?"</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Magister Hanellin:<br>
Yes. The poor wretch is under the guard of the Platinum Tribe. Even demons gather at the Tower of Insolence expecting to obtain something... This will not be an easy task, but I intend to uncover his secrets for the good of all mankind.<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864-02b.htm">"Why?"</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
Would you believe for the good of the world? Well, it wouldn't exactly be a lie.<br>
Look, I thought you would be intrigued by this story. Whether it is the treasure, the knowledge, whatever... You can find what you want... Do you seek my help?<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864-02c.htm">"Please help me."</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Magister Hanellin:<br>
Very well. But you must first prove your worth. I'm a poor judge of character, so I don't want to see my efforts come to nothing just because you have a kind faith.<br>
Hmm... We don't have to go far to settle this. Do you know the <font color="LEVEL">Forsaken Plains</font>? Go there and hunt either <font color="LEVEL">Yintzu or Paliote</font>. As proof of your victory, bring me the Monster's Shell.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Hanellin:<br>
You haven't left for the Forsaken Plains yet? Do you remember what I said? Go to the <font color="LEVEL">Forsaken Plains</font> and hunt <font color="LEVEL">Yintzu or Paliote</font>, and bring back the Monster's Shell as proof. Don't keep me waiting!
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Magister Hanellin:<br>
Ah, is this the Monster's Shell?<br>
Good! Now I know you've got the right stuff... But now comes the hard part. If I were you, I'd bring along a couple friends you can trust.<br>
Agree to bring some friends. (not implemented yet)<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_04a">Tell him you'll do it alone.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Hanellin:<br>
You are quite brave to ask to work alone even when given the choice...well, I'll give you some time to prepare yourself. Just come back to me when you are ready for the next task.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
A long time ago, three sacred relics were locked away and hidden away. In time, people have managed to find some mysterious treasure boxes that are thought to contain the relics. However, they are all guarded by strong monsters...so naturally, you will have to kill these guardians in order to get the relics!<br>
Meet with<font color="LEVEL"> Claudia Athebaldt</font> in Aden Castle Town,<font color="LEVEL"> Martien</font> in Giran Castle Town and<font color="LEVEL"> Magister Harne</font> in Dark Elven Village. At each meeting you will be given the location of an ark containing a sacred relic. They will mark on the map the location of each ark with a red flag. Once you find and retrieve a sacred relic, the red mark will disappear. Now, go and collect the three sacred relics. (If a flag disappears before you find a sacred relic, return to the person who marked its location on the map and make your inquiry again. The flag will reappear).<br>
I have given you a letter to give to each of them. I explain everything to them there. Talk to them, find the three relics, and come back to me when you are done!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Hanellin:<br>
The Book of Saint, the Bough of Saint and the Blood of Saint! Finally, the three holy items have gathered in one place. You did well, truly. I will use these to find a way for you to stand up to the mad king. In the meantime, I must ask another favor from you. It isn't anything difficult... I am asking because I am a bit tired. Can you go to the store next door and get me <font color="LEVEL">one Healing Potion</font> and <font color="LEVEL">five Antidotes</font>? I will finish this by the time you come back. I'm sorry to ask, but please do this for me.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Hanellin:<br>
I am still not done with my work...and by the way, you haven't brought me what I asked for! Please go to the grocery store and get me<font color="LEVEL"> a bottle of healing potion</font> and<font color="LEVEL"> five antidotes</font>. While you are doing this I will finish getting things organized.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
Have you brought what I asked for? Please give them to me! I shall mix them together...(Gulp Gulp) Ahh~! That feels good.<br>
My research is complete. It is as I expected. The incantation that I learned from the book of the saint and the branch of the saint I wove into the fabric that will activate the Angelic Vortex. This must be soaked in the blood of the saint, but unfortunatelly we don't have enough to color it completely.<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_07">"What do I need to do?"</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Magister Hanellin:<br>
You are back again...but you are not done with the last task I asked of you. Listen carefully:
You need to dip the cloth in the blood of a<font color="LEVEL"> Platinum Tribe Overlord</font> or a<font color="LEVEL"> Platinum Tribe Shaman</font>. Once you have made the cloth completely red from their blood, come back to me and I promise to tell you a secret.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
How much do you know about th Platinum tribe? They were ordered by the gods to guard Baium... They will not let anyone in or out of his room... They will even attempt to kill anyone who dares approach the top floor where the throne is located!<br>
Although their devotion to their job is admirable, they stand between us and the king.<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_07b">"What can we do?"</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Magister Hanellin:<br>
Oh, well, I disgress...<br>
High-ranking members of the Platinum tribe and bloodless angels have been using the Angelic Vortex to visit the Emperor.<br>
Perhaps <font color="LEVEL">if you disguised yourself to look like them, you could pass through the vortex</font>! Follow my instructions carefully and you may survive. Are you up to this?<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_07c">"I'm ready."</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Magister Hanellin:<br>
Good job! You killed all the guardians and recovered the relics!<br>
Actually, before i tell you how to disguise yourself so that you can visit the Emperor, I;ve got a question for you. You seem like an ambitious sort... Rather than going to meet with the old Emperor, would you rather make some money?<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_07meet">"No, I want to meet the Emperor."</a><br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_07money">"I want to make some money."</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Magister Hanellin:<br>
Oh, really? I thought this would be a good opportunity for you... I suppose I'll have to find someone else. <br>
If you want to meet the Emperor so badly, I have an idea... You could disguise yourself as a member of the Platinum tribe! If you can trick the Angelic Vortex, you'll be able to enter the room of the Emperor! Soak the White Fabric I gave you in the blood of <font color="LEVEL">Platinum tribe shamans or overlords</font> and wrap it around yourself. This is sure to deceive the Angelic Vortex!<br>
Here's your money. This should cover your travel expenses. I've put in a little extra for your trouble... I'm sorry it can't be more. After you see the Emperor, there will be no need for you to return here.<br>
You'll find the Tower of Insolence is a much more dangerous place than you've anticipated. I'm not certain that you'll survive...<br>
Stop sniveling! If you're not up to the task, then get out of here! Either way, I wish you luck!
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Magister Hanellin:<br>
Ah, yes, I've always admired that about you. <br>
In order for me to explain our work to you properly, I must first tell you how to access the emperor's room. First, you must disguise yourself as a member of the Platinum tribe. You still have the White Fabric I gave you, right? Soak it in the blood of <font color="LEVEL">Platinum tribe shamans or overlords</font> and wrap it around yourself. The Angelic Vortex will let you pass.<br>
Now, listen carefully... After soaking the cloth in blood, leave the demented Emperor where he is and come back here. There are many lives in the balance...<br>
You shall learn more later.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>
Magister Hanellin:<br>
Ah, I am truly happy to see that you survived... Now I can continue my story... Do you recognize this? Would you like more of it?<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_08">"What do you want from me?"</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>
Magister Hanellin:<br>
Do you remember when I mentioned the bloodless angels? There is something I must tell you... That wasn't exactly true. When angels return to heaven, their physical bodies disappear. During this process a large amount of pure water is produced... This is known as the "blood of an angel." It cannot be contained in any vessel, it must be soaked into a piece of fabric...<br>
And although I cannot speak their names, even to you, there are many people who would do anything to obtain the "blood of an angel". <br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_08b">"Tell me more about the blood of an angel."</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Magister Hanellin:<br>
Now we have no use for the blood of the platinum tribe. They no longer wish to meet with Baium. We must obtain the "blood of an angel". Go and kill <font color="LEVEL">guardian angels and seal angels</font>, soak these cloths with their blood and bring them back to me.
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Magister Hanellin:<br>
Ah, yes, 10 pieces. It is good that your conscience doesn't bother you about murdering angels. Others in your position have gone mad! In fact, one died yesterday by jumping into the Blazing Swamp, shouting something about being "punished by the gods"! It is good that you can keep things in perspective.<br>
I wish I could pay you now, but "those people" I mentioned are wanting the items delivered to them first... <br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_09">"Who are those people?"</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
You must bring back 10 pieces of blood-soaked fabric. You've got your work cut out for you, eh? Go and kill <font color="LEVEL">guardian angels and seal angels</font>, soak these pieces of fabric with their blood and bring them back to me.
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Magister Hanellin:<br>
Where are the other pieces? I distinctly remember asking you to bring me 10 pieces of White Fabric soaked in blood... You haven't thrown them away or given them to someone else, have you? Oh, well, nothing can be done about it now. Since you've done the work, I'll pay you, but I must say that I'm very disappointed... I thought you were trustworthy! Oh, well, live and learn. Goodbye.
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Magister Hanellin:<br>
Well, I suppose I will have to tell you now, since you'll have to deliver the items to them anyway...<br>
First is <font color="LEVEL">Sir Gustaf Athebaldt of Oren Castle Town</font>. He is a black-hearted scoundrel, a distant relative of Claudia Athebaldt. He has been secretly supporting young warlords and expanding his power base.<br>
The second person is <font color="LEVEL">Hardin.</font> I need not say more, right? I hesitate to even call him human...<br>
And, finally, there is <font color="LEVEL">Iason Heine of Heine</font>... He dreams of one day taking over Innadril with the influence of his wealth. He is the biggest financier of this project. Take the blood-soaked cloths to these people. Your compensation will await your return.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
Good job! Thank you for your hard work. We haven't heard the last of those three, I guarantee... Ha! They may be a lot of trouble, but the money is good, no? Here is the compensation I promised. What do you want to do now? I still have quite a bit of work to do. Would you like to continue working with me or do you want to quit?<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_10continue">"Continue"</a><br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_10quit">"Quit"</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Magister Hanellin:<br>
You still have the items with you, eh? <font color="LEVEL">Sir Gustaf Athebaldt of Oren, Hardin and Iason Heine of Innadril</font>... They are not the kind of people you want to get on the wrong side of... They have been promised the items! Please hurry...
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
You haven't answered my question... What do you want to do? Do you want to continue to do this work or do you want to quit?<br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_10continue">"Continue"</a><br>
<a action="bypass -h Quest 348_ArrogantSearch 30864_10quit">"Quit"</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Magister Hanellin:<br>
You are quite a disappointment to me! I thought we were starting a long relationship... Or...have you found another? Ha! Do what you want.<br>
I appreciate your hard work and hope to work with you again some day.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Magister Hanellin:<br>
So...you have managed to obtain the blood of the Platinum Tribe as I asked of you. You probably came back to hear the secret I promised to tell you, didn't you? If you remember, when you first started working for me, I had asked you if you were curious about that mysterious, swirling vortex over the tower of an ancient king.<br>
The secret of this vortex lies within the blood you have collected in this fabric! If you offer this blood to the vortex, you will be teleported behind the sealed door and you will be able to wake up the demented king Baium!<br>
Be careful, however, for he has gone completely mad and he is much too powerful to handle on your own! Be sure to go with a large group of allies should you ever wish to confront him! Of course, all your friends must also gain their entrance to his room...Good luck!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Iason Heine:<br>
Welcome, my friend! Have you brought the six pieces of red fabric from Aden? Please give them to me immediately! I have already paid Magister Hanellin at the Aden branch of the Trade Guild.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Iason Heine:<br>
Ah, come in, come in... Have you brought the six pieces of Blooded Fabric from Aden?<br>
What? Why not?<br>
I already paid for them! Are you trying to rip me off? Go get the Blooded Fabrics from Magister Hanellin immediately!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Iason Heine:<br>
Ah yes, welcome my friend. I really want to express my gratitude for your professionalism in our last transaction, and I hope that we can do business together again soon.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holy Ark of Secrecy 1:<br>
This ark seems to be locked. Breaking it may damage its contents. You will need to find a key to open it.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holy Ark of Secrecy 1:<br>
You use the key that you retrieved from the guardian's corpse and find the Blood of Saint.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holy Ark of Secrecy 1:<br>
The ark has already been openned and is empty.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holy Ark of Secrecy 2:<br>
You use the key that you retrieved from the guardian's corpse and find the Book of Saint.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holy Ark of Secrecy 3:<br>
The ark has already been openned and is empty.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holy Ark of Secrecy 3:<br>
You use the key that you retrieved from the guardian's corpse and find the Branch of Saint.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holy Ark of Secrecy 3:<br>
The ark has already been openned and is empty.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Ark Guardian's Corpse:<br>
Apparently this is the body of the guardian of the sacred ark that the Magister Harne told me about. I feel that we are not alone.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Ark Guardian's Corpse:<br>
You search the corpse like the Angel Killer suggested. Among the dead angel's garments, you find a key. Could that be what you needed?
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Ark Guardian's Corpse:<br>
It seems that there is nothing else of value left on this corpse.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Claudia Athebaldt:<br>
Although I possess the sacred chest I cannot open it, as it is being guarded by an angel. Please find the ark and kill the ark guardian Elberoth. I will mark the location of the ark in your map.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Claudia Athebaldt:<br>
Please find the ark and kill the ark guardian Elberoth. I will mark the location of the ark in your map.
</body></html>

View File

@@ -0,0 +1,2 @@
<html><body>Claudia Athebaldt:<br>You already found the sacred ark that you were looking for, so please do not bother me any further about this matter.
</body></html>

View File

@@ -0,0 +1,421 @@
# Arrogant Search version 0.1
# by Fulminus
# in this version, the quest only works as total solo (no option to work with friends) and
# only for the purpose of gaining access to Baium's floor (not for making money via rewards).
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
#Quest info
QUEST_NUMBER,QUEST_NAME,QUEST_DESCRIPTION = 348,"ArrogantSearch","An Arrogant Search"
qn = "348_ArrogantSearch"
#Messages
default = "<html><body>I have nothing to say to you.</body></html>"
#MOBS TO KILL
YINTZU = 20647
PALIOTE = 20648
ARK_GUARDIAN_ELBEROTH = 27182
ARK_GUARDIAN_SHADOWFANG = 27183
ANGEL_KILLER = 27184
PLATINUM_TRIBE_SHAMAN = 20828
PLATINUM_TRIBE_OVERLORD = 20829
GUARDIAN_ANGEL_1 = 20830
GUARDIAN_ANGEL_2 = 20859
SEAL_ANGEL_1 = 20831
SEAL_ANGEL_2 = 20860
#NPCS TO TALK TO
HANELLIN = 30864
HOLY_ARK_OF_SECRECY_1 = 30977
HOLY_ARK_OF_SECRECY_2 = 30978
HOLY_ARK_OF_SECRECY_3 = 30979
ARK_GUARDIANS_CORPSE = 30980
HARNE = 30144
CLAUDIA_ATHEBALT = 31001
MARTIEN = 30645
GUSTAV_ATHEBALDT = 30760
HARDIN = 30832
HEINE = 30969
#items
SHELL_OF_MONSTERS = 14857
HANELLINS_FIRST_LETTER = 4288
HANELLINS_SECOND_LETTER = 4289
HANELLINS_THIRD_LETTER = 4290
FIRST_KEY_OF_ARK = 4291
SECOND_KEY_OF_ARK = 4292
THIRD_KEY_OF_ARK = 4293
WHITE_FABRIC_1 = 4294 #to use on Platinum Tribe Shamans/Overlords
BLOODED_FABRIC = 4295
HANELLINS_WHITE_FLOWER = 4394
HANELLINS_RED_FLOWER = 4395
HANELLINS_YELLOW_FLOWER = 4396
BOOK_OF_SAINT = 4397 # Ark2 (after fight with Elberoth)
BLOOD_OF_SAINT = 4398 # Ark1 (after fight with Angel Killer)
BRANCH_OF_SAINT = 4399 # Ark3 (after fight with Shadowfang)
WHITE_FABRIC_0 = 4400 #talk to Hanellin to see what to do (for companions)
WHITE_FABRIC_2 = 5232 #to use on Guardian Angels and Seal Angels
ANTIDOTE = 1831 #potion
HEALING_POTION = 1061 #potion
ANIMAL_BONE = 1872 #reward for bringing the first fabric
SYNTHETIC_COKES = 1888 #reward for bringing the first fabric
ADENA = 57 # cheater reward
#ARK: [key, summon, no-key text, openning-with-key text, already-openned text, content item]
ARKS={
HOLY_ARK_OF_SECRECY_1: [FIRST_KEY_OF_ARK,0,"30977-01.htm","30977-02.htm","30977-03.htm",BLOOD_OF_SAINT],
HOLY_ARK_OF_SECRECY_2: [SECOND_KEY_OF_ARK,ARK_GUARDIAN_ELBEROTH,"That doesn't belong to you. Don't touch it!","30978-02.htm","30978-03.htm",BOOK_OF_SAINT],
HOLY_ARK_OF_SECRECY_3: [THIRD_KEY_OF_ARK,ARK_GUARDIAN_SHADOWFANG, "Get off my sight, you infidels!","30979-02.htm","30979-03.htm",BRANCH_OF_SAINT],
}
# npc: letter to take, item to check for, 1st time htm, return htm, State.COMPLETED part htm, [x,y,z of chest]
ARK_OWNERS={
HARNE: [HANELLINS_FIRST_LETTER, BLOOD_OF_SAINT, '30144-01.htm', '30144-02.htm', '30144-03.htm', [-418,44174,-3568]],
CLAUDIA_ATHEBALT: [HANELLINS_SECOND_LETTER, BOOK_OF_SAINT, '31001-01.htm', '31001-02.htm', '31001-03.htm', [181472,7158,-2725]],
MARTIEN: [HANELLINS_THIRD_LETTER, BRANCH_OF_SAINT, '30645-01.htm', '30645-02.htm', '30645-03.htm', [50693,158674,376]]
}
# npc: fabrics to give, variable to set, ok htm, not ok htm, done htm
BLOODY_OWNERS={
GUSTAV_ATHEBALDT: [3, 'athebaldt_delivery', '30760-01.htm', '30760-01a.htm', '30760-01b.htm'],
HARDIN: [1, 'hardin_delivery', '30832-01.htm', '30832-01a.htm', '30832-01b.htm'],
HEINE: [6, 'heine_delivery', '30969-01.htm', '30969-01a.htm', '30969-01b.htm']
}
#mob: cond, giveItem, amount, chance%, takeItem (assumed to take only 1 of it)
DROPS ={
YINTZU: [2,SHELL_OF_MONSTERS,1,10,0],
PALIOTE: [2,SHELL_OF_MONSTERS,1,10,0],
ANGEL_KILLER: [5, FIRST_KEY_OF_ARK,1,100,0],
ARK_GUARDIAN_ELBEROTH: [5, SECOND_KEY_OF_ARK,1,100,0],
ARK_GUARDIAN_SHADOWFANG: [5, THIRD_KEY_OF_ARK,1,100,0],
PLATINUM_TRIBE_SHAMAN: [25,BLOODED_FABRIC,1,10,WHITE_FABRIC_1],
PLATINUM_TRIBE_OVERLORD: [25,BLOODED_FABRIC,1,10,WHITE_FABRIC_1],
GUARDIAN_ANGEL_1: [26,BLOODED_FABRIC,10,25,WHITE_FABRIC_1],
GUARDIAN_ANGEL_2: [26,BLOODED_FABRIC,10,25,WHITE_FABRIC_1],
SEAL_ANGEL_1: [26,BLOODED_FABRIC,10,25,WHITE_FABRIC_1],
SEAL_ANGEL_2: [26,BLOODED_FABRIC,10,25,WHITE_FABRIC_1],
}
#pathologic situation, mobs in stage 29 drop same items as in stage 26 :/
#mob: cond, giveItem, amount, chance%, takeItem (assumed to take only 1 of it)
DROPS_29 ={
GUARDIAN_ANGEL_1: [29,BLOODED_FABRIC,10,25,WHITE_FABRIC_1],
GUARDIAN_ANGEL_2: [29,BLOODED_FABRIC,10,25,WHITE_FABRIC_1],
SEAL_ANGEL_1: [29,BLOODED_FABRIC,10,25,WHITE_FABRIC_1],
SEAL_ANGEL_2: [29,BLOODED_FABRIC,10,25,WHITE_FABRIC_1],
}
#mob: cond, giveItem, amount, chance%, takeItem (assumed to take only 1 of it)
ATTACK_DROPS_24 = {
PLATINUM_TRIBE_SHAMAN: [24,BLOODED_FABRIC,1,2,WHITE_FABRIC_1],
PLATINUM_TRIBE_OVERLORD: [24,BLOODED_FABRIC,1,2,WHITE_FABRIC_1],
}
ATTACK_DROPS_25 = {
PLATINUM_TRIBE_SHAMAN: [25,BLOODED_FABRIC,1,2,WHITE_FABRIC_1],
PLATINUM_TRIBE_OVERLORD: [25,BLOODED_FABRIC,1,2,WHITE_FABRIC_1],
}
"""
notes:
In order to make it easier to participate in a Baium Raid, the number of Platinum Race monsters that must be
killed to get "Blooded Fabric" in the Arrogant Search quest has been reduced a bit. However, if a player clicks
"Say that you will come back" to Magister Hanellin while carrying out the quest alone and repeats the quest,
he must hunt the same number of Platinum Race monsters as before.
In the process of delivering the Blooded Fabric to Sir Athebaldt/Iason Heine/Hardin when carrying out the
Arrogant Search quest alone, if it is not the number of "Blooded Fabrics" that the related NPCs want, the
game has been modified to have the player go back to Hanellin. Hanellin gives a reward in proportion to the
number of errands run when the number of "Blooded Fabrics" that have to be delivered is not right and then
the quest is ended.
"""
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == "30864-02c.htm" :
st.setState(State.STARTED)
st.set("cond","2")
st.set("reward1","0") # for first reward in cond == 25
for i in BLOODY_OWNERS.keys() : # goods are not delivered
st.set(BLOODY_OWNERS[i][1],"0")
elif event == "30864_04a" : #work alone
st.set("cond","4")
htmltext = "30864-04c.htm"
st.set("companions","0")
elif event == "30864_04b" : #work with friends
st.set("cond","3")
st.set("companions","1")
st.takeItems(SHELL_OF_MONSTERS,-1)
htmltext = "not yet implemented"
#todo: give flowers & handle the multiperson quest...
elif event == "30864_07" : #platinum tribe info
htmltext = "30864-07b.htm"
elif event == "30864_07b" : #platinum tribe info 2
htmltext = "30864-07c.htm"
elif event == "30864_07c" : #money vs meet emperor
htmltext = "30864-07d.htm"
elif event == "30864_07meet" : #meet emperor
htmltext = "30864-07meet.htm"
st.set("cond","24")
elif event == "30864_07money" : #want more fabrics
htmltext = "30864-07money.htm"
st.set("cond","25")
elif event == "30864_08" : #
htmltext = "30864-08b.htm"
elif event == "30864_08b" : # more about angels blood
htmltext = "30864-08c.htm" # more about angels blood
st.giveItems(WHITE_FABRIC_1,9)
st.set("cond", "26")
elif event == "30864_09" : # Who are those people?
st.set("cond", "27")
htmltext = "30864-09c.htm"
elif event == "30864_10continue" : # next round of fabrics
htmltext = "30864-08c.htm" # more about angels blood
st.giveItems(WHITE_FABRIC_1,10) # next 10 fabrics
for i in BLOODY_OWNERS.keys() : # must delivery again
st.set(BLOODY_OWNERS[i][1],"0")
st.set("cond", "29") # start hunting angels again
elif event == "30864_10quit" : # done with fabrics
htmltext = "30864-10c.htm" # disappointment
st.takeItems(WHITE_FABRIC_1,-1) # just to be sure
st.takeItems(BLOODED_FABRIC,-1) # just to be sure
st.playSound("ItemSound.quest_finish")
st.exitQuest(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 npcId != HANELLIN and id != State.STARTED : return htmltext
cond = st.getInt("cond")
reward1 = st.getInt("reward1")
if npcId == HANELLIN :
if id == State.CREATED :
# if the quest was State.COMPLETED and the player still has a blooded fabric
# tell them the "secret" that they can use it in order to visit Baium.
if st.getQuestItemsCount(BLOODED_FABRIC)==1:
htmltext = "30864-Baium.htm"
st.exitQuest(1)
else : #else, start the quest normally
if player.getLevel() < 60 :
st.exitQuest(1)
htmltext = "30864-01.htm" #not qualified
elif cond==0 :
htmltext = "30864-02.htm"
# Player abandoned in the middle of last dialog...repeat the dialog.
elif cond==1 :
htmltext = "30864-02.htm" # begin the dialog which will set cond=2
# Has returned before getting the powerstone
elif cond==2 :
if st.getQuestItemsCount(SHELL_OF_MONSTERS)==0 :
htmltext = "30864-03.htm" # go get the shell of monsters
else :
st.takeItems(SHELL_OF_MONSTERS,-1)
htmltext = "30864-04.htm" # Ask "work alone or in group?"...only alone is implemented in v0.1
elif cond==4 :
st.set("cond","5")
st.giveItems(HANELLINS_FIRST_LETTER,1)
st.giveItems(HANELLINS_SECOND_LETTER,1)
st.giveItems(HANELLINS_THIRD_LETTER,1)
htmltext = "30864-05.htm" # Go get the 3 sacred relics
elif cond == 5 and st.getQuestItemsCount(BOOK_OF_SAINT)+st.getQuestItemsCount(BLOOD_OF_SAINT)+st.getQuestItemsCount(BRANCH_OF_SAINT)<3 :
htmltext = "30864-05.htm" # Repeat: Go get the 3 sacred relics
elif cond == 5 :
htmltext = "30864-06.htm" # All relics collected!...Get me antidotes & healing
st.takeItems(BOOK_OF_SAINT,-1)
st.takeItems(BLOOD_OF_SAINT,-1)
st.takeItems(BRANCH_OF_SAINT,-1)
st.set("cond","22")
elif cond == 22 and st.getQuestItemsCount(ANTIDOTE)<5 and st.getQuestItemsCount(HEALING_POTION)<1:
htmltext = "30864-06a.htm" # where are my antidotes & greater healing
elif cond == 22 and st.getQuestItemsCount(WHITE_FABRIC_1)>0 :
htmltext = "30864-07c.htm"
elif cond == 22 :
st.takeItems(ANTIDOTE,5)
st.takeItems(HEALING_POTION,1)
if st.getInt("companions") == 0 :
htmltext = "30864-07.htm" # go get platinum tribe blood...
st.giveItems(WHITE_FABRIC_1,1)
else:
st.set("cond","23")
htmltext = "not implemented yet"
st.giveItems(WHITE_FABRIC_0,3)
elif cond == 24 and st.getQuestItemsCount(BLOODED_FABRIC)<1 :
htmltext = "30864-07a.htm"
elif cond == 25 and st.getQuestItemsCount(BLOODED_FABRIC)<1 :
htmltext = "30864-07a.htm"
elif cond == 25 and reward1 > 0:
htmltext = "30864-08b.htm" # more about angels
elif cond == 25 :
htmltext = "30864-08.htm" #you want more of this?
st.giveItems(ANIMAL_BONE,2)
st.giveItems(SYNTHETIC_COKES,2)
lowbgrade = self.getRandom(10)+4103 #Low B grade weapon key materials
st.giveItems(lowbgrade,1)
st.set("reward1","1")
elif cond == 26 and st.getQuestItemsCount(WHITE_FABRIC_1)>0 :
htmltext = "30864-09a.htm" #
elif cond == 26 and st.getQuestItemsCount(BLOODED_FABRIC)<10 :
htmltext = "30864-09b.htm" # Where are other pieces?
st.giveItems(ADENA,5000)
st.takeItems(BLOODED_FABRIC,-1)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
elif cond == 26 :
htmltext = "30864-09.htm" # Ah, 10 fabrics.
elif cond == 27 and st.getInt(BLOODY_OWNERS[GUSTAV_ATHEBALDT][1]) + st.getInt(BLOODY_OWNERS[HARDIN][1]) + st.getInt(BLOODY_OWNERS[HEINE][1])<3 :
htmltext = "30864-10a.htm" # still not delivered?
elif cond == 27 :
htmltext = "30864-10.htm" # good money
st.giveItems(ANIMAL_BONE,5)
highbgrade = self.getRandom(8)+4113
st.giveItems(highbgrade,1)
st.set("cond","28")
elif cond == 28:
htmltext = "30864-10b.htm" # still not decided to continue or quit
elif cond == 29 and st.getQuestItemsCount(WHITE_FABRIC_1)>0 :
htmltext = "30864-09a.htm" #
elif cond == 29 and st.getQuestItemsCount(BLOODED_FABRIC)<10 :
htmltext = "30864-09b.htm" # Where are other pieces?
st.giveItems(ADENA,5000)
st.takeItems(BLOODED_FABRIC,-1)
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
elif cond == 29 :
htmltext = "30864-09.htm" # Ah, 10 fabrics.
# Other NPCs follow:
elif cond == 5:
if npcId in ARK_OWNERS.keys() :
# first meeting...have the letter
if st.getQuestItemsCount(ARK_OWNERS[npcId][0])==1:
st.takeItems(ARK_OWNERS[npcId][0],1)
htmltext = ARK_OWNERS[npcId][2]
st.addRadar(ARK_OWNERS[npcId][5][0],ARK_OWNERS[npcId][5][1],ARK_OWNERS[npcId][5][2])
# do not have letter and do not have the item
elif st.getQuestItemsCount(ARK_OWNERS[npcId][1]) < 1:
htmltext = ARK_OWNERS[npcId][3]
st.addRadar(ARK_OWNERS[npcId][5][0],ARK_OWNERS[npcId][5][1],ARK_OWNERS[npcId][5][2])
else: #have the item (done)
htmltext = ARK_OWNERS[npcId][4]
elif npcId in ARKS.keys():
# if you do not have the key (first meeting)
if st.getQuestItemsCount(ARKS[npcId][0])==0:
if ARKS[npcId][1] != 0 : # spawn the NPC, if appropriate
st.addSpawn(ARKS[npcId][1],120000)
return ARKS[npcId][2]
# if the player already has openned the chest and has its content, show "chest empty"
elif st.getQuestItemsCount(ARKS[npcId][5])==1:
htmltext = ARKS[npcId][4]
else: # the player has the key and doesn't have the contents, give the contents
htmltext = ARKS[npcId][3]
st.takeItems(ARKS[npcId][0],1)
st.giveItems(ARKS[npcId][5],1)
elif npcId == ARK_GUARDIANS_CORPSE :
# if you do not have the key (first meeting)
if st.getQuestItemsCount(FIRST_KEY_OF_ARK)==0 and st.getInt("angelKillerIsDefeated")==0 :
st.addSpawn(ANGEL_KILLER,120000)
htmltext = "30980-01.htm"
elif st.getQuestItemsCount(FIRST_KEY_OF_ARK)==0 and st.getInt("angelKillerIsDefeated")==1 :
st.giveItems(FIRST_KEY_OF_ARK,1)
htmltext = "30980-02.htm"
else :
htmltext = "30980-03.htm"
elif cond == 27 :
if npcId in BLOODY_OWNERS.keys() :
if st.getInt(BLOODY_OWNERS[npcId][1])<1 :
if st.getQuestItemsCount(BLOODED_FABRIC)>=BLOODY_OWNERS[npcId][0] : # deliver blood
st.takeItems(BLOODED_FABRIC,BLOODY_OWNERS[npcId][0])
st.set(BLOODY_OWNERS[npcId][1],"1")
htmltext = BLOODY_OWNERS[npcId][2]
else : # not enough blood
htmltext = BLOODY_OWNERS[npcId][3]
else : # already delivered
htmltext = BLOODY_OWNERS[npcId][4]
return htmltext
def onAttack (self, npc, player, damage, isPet, skill):
st = self.getQuestState(player, False)
if not st : return
if st.getState() != State.STARTED : return
npcId = npc.getId()
if npcId in ATTACK_DROPS_24.keys() :
cond = ATTACK_DROPS_24[npcId][0]
chance = ATTACK_DROPS_24[npcId][3]
if st.getInt("cond") == cond and self.getRandom(1000) < ATTACK_DROPS_24[npcId][3] and st.getQuestItemsCount(ATTACK_DROPS_24[npcId][4]) > 0 : # Attack drops are low chance
st.giveItems(ATTACK_DROPS_24[npcId][1],ATTACK_DROPS_24[npcId][2])
st.playSound("ItemSound.quest_itemget")
st.takeItems(ATTACK_DROPS_24[npcId][4],1)
if cond == 24:
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
elif npcId in ATTACK_DROPS_25.keys() :
cond = ATTACK_DROPS_25[npcId][0]
chance = ATTACK_DROPS_25[npcId][3]
if st.getInt("cond") == cond and self.getRandom(1000) < ATTACK_DROPS_25[npcId][3] and st.getQuestItemsCount(ATTACK_DROPS_25[npcId][4]) > 0 : # Attack drops are low chance
st.giveItems(ATTACK_DROPS_25[npcId][1],ATTACK_DROPS_25[npcId][2])
st.playSound("ItemSound.quest_itemget")
st.takeItems(ATTACK_DROPS_25[npcId][4],1)
if cond == 24:
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
return
def onKill(self,npc,player,isPet):
st = self.getQuestState(player, False)
if not st : return
if st.getState() != State.STARTED : return
npcId = npc.getId()
if npcId in DROPS.keys() :
cond = DROPS[npcId][0]
if st.getInt("cond") == cond and st.getQuestItemsCount(DROPS[npcId][1]) < DROPS[npcId][2] and self.getRandom(100) < DROPS[npcId][3] and (DROPS[npcId][4] == 0 or st.getQuestItemsCount(DROPS[npcId][4])>0) :
st.giveItems(DROPS[npcId][1],1)
st.playSound("ItemSound.quest_itemget")
if DROPS[npcId][4] != 0:
st.takeItems(DROPS[npcId][4],1)
# in accordance to http://www.l2jdp.com/forum//viewtopic.php?t=2974
# quest ends when you get the blooded fabric
if cond == 24:
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
if npcId in DROPS_29.keys() :
cond = DROPS_29[npcId][0]
if st.getInt("cond") == cond and st.getQuestItemsCount(DROPS_29[npcId][1]) < DROPS[npcId][2] and self.getRandom(100) < DROPS[npcId][3] and (DROPS[npcId][4] == 0 or st.getQuestItemsCount(DROPS[npcId][4])>0) :
st.giveItems(DROPS_29[npcId][1],1)
st.playSound("ItemSound.quest_itemget")
if DROPS_29[npcId][4] != 0:
st.takeItems(DROPS_29[npcId][4],1)
if npcId == ANGEL_KILLER :
return "Ha, that was fun! If you wish to find the key, search the corpse"
return
# Quest class and state definition
QUEST = Quest(QUEST_NUMBER, str(QUEST_NUMBER)+"_"+QUEST_NAME, QUEST_DESCRIPTION)
QUEST.addStartNpc(HANELLIN)
QUEST.addTalkId(HANELLIN)
QUEST.addTalkId(ARK_GUARDIANS_CORPSE)
for i in ARK_OWNERS.keys() + ARKS.keys() + BLOODY_OWNERS.keys() :
QUEST.addTalkId(i)
for i in DROPS.keys():
QUEST.addKillId(i)
QUEST.addAttackId(PLATINUM_TRIBE_SHAMAN)
QUEST.addAttackId(PLATINUM_TRIBE_OVERLORD)