actual freya branch
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
<html><body>Fortune-Teller Mine:<br>
|
||||
I see an image approaching before you... It is difficult to put what I saw into words.<br>
|
||||
How can I say this? Okay, listen closely:<br><br>
|
||||
<center>What you've endured will return as a benefit.</center><br><br>
|
||||
Take these words to heart. You should seriously consider the meaning...
|
||||
</body></html>
|
||||
@@ -0,0 +1,78 @@
|
||||
# Created by Kerberos
|
||||
import sys
|
||||
|
||||
from com.l2jserver.gameserver.model.quest import State
|
||||
from com.l2jserver.gameserver.model.quest import QuestState
|
||||
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
|
||||
|
||||
qn = "1001_FortuneTelling"
|
||||
|
||||
BODY = "<html><body>Fortune-Teller Mine:<br>I see an image approaching before you... It is difficult to put what I saw into words.<br>How can I say this? Okay, listen closely:<br><br><center>"
|
||||
END = "</center><br><br>Take these words to heart. You should seriously consider the meaning...</body></html>"
|
||||
FORTUNE = [ \
|
||||
"What you\'ve endured will return as a benefit.", \
|
||||
"The dragon now acquires an eagle\'s wings.", \
|
||||
"Be warned as you may be overwhelmed by surroundings if you lack a clear opinion.", \
|
||||
"A new trial or start may be successful as luck shadows changes.", \
|
||||
"You may feel nervous and anxious because of unfavorable situations.", \
|
||||
"You may meet the person you\'ve longed to see.", \
|
||||
"You may meet many new people but it will be difficult to find a perfect person who wins your heart.", \
|
||||
"Good fortune and opportunity may lie ahead as if one's born in a golden spoon.", \
|
||||
"Be confident and act tenaciously at all times. You may be able to accomplish to perfection during somewhat unstable situations.", \
|
||||
"There may be an occasion where you are consoled by people.", \
|
||||
"Be independent at all times.", \
|
||||
"Do not loosen up with your precautions.", \
|
||||
"Closely observe people who pass by since you may meet a precious person who can help you.", \
|
||||
"Listen to the advice that's given to you with a humble attitude.", \
|
||||
"Focus on networking with like-minded people. They may join you for a big mission in the future.", \
|
||||
"Staying busy rather than being stationary will help.", \
|
||||
"You may lose your drive and feel lost.", \
|
||||
"People around you will encourage your every task in the future.", \
|
||||
"Be kind to and care for those close to you, they may help in the future.", \
|
||||
"Your ambition and dream will come true.", \
|
||||
"Your value will shine as your potential is finally realized.", \
|
||||
"If you keep smiling without despair, people will come to trust you and offer help.", \
|
||||
"There may be a little loss, but think of it as an investment for yourself.", \
|
||||
"The difficult situations will turn to hope with unforeseen help.", \
|
||||
"Impatience may lie ahead as the situation is unfavorable.", \
|
||||
"Be responsible with your tasks but do not hesitate to ask for colleagues\' help.", \
|
||||
"You may fall in danger each time when acting upon improvisation.", \
|
||||
"A determined act after prepared research will attract people.", \
|
||||
"A rest will promise a bigger development.", \
|
||||
"You will be rewarded for your efforts and accomplishments.", \
|
||||
"There are many things to consider after encountering hindrances.", \
|
||||
"Consider other\'s situations and treat them sincerely at all times.", \
|
||||
"A comparison to others may be helpful.", \
|
||||
"Be cautious to control emotions as temptations are nearby.", \
|
||||
"Momentarily delay an important decision.", \
|
||||
"Be confident and act tenaciously at all times. You may be able to accomplish to perfection during somewhat unstable situations.", \
|
||||
"Visiting a place you\'ve never been before may bring luck.", \
|
||||
"What used to be well managed may stumble one after another.", \
|
||||
"Your steady pursuit of new information and staying ahead of others will raise your value.", \
|
||||
"Being neutral is a good way to go, but clarity may be helpful contrary to your hesitance.", \
|
||||
"Skillful evasion is needed when dealing with people who pick fights as a disaster may arise from it.", \
|
||||
"Small things make up big things so even value trivial matters.", \
|
||||
"Bigger mistakes will be on the road if you fail to correct a small mistake.", \
|
||||
"Momentarily delay an important decision.", \
|
||||
"A remedy is on its way for a serious illness."]
|
||||
|
||||
class Quest (JQuest) :
|
||||
|
||||
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
|
||||
|
||||
def onTalk (Self,npc,player):
|
||||
st = player.getQuestState(qn)
|
||||
if not st: return
|
||||
if st.getQuestItemsCount(57) < 1000 :
|
||||
htmltext="lowadena.htm"
|
||||
else :
|
||||
st.takeItems(57,1000)
|
||||
st.getRandom(45)
|
||||
htmltext=BODY+FORTUNE[st.getRandom(45)]+END
|
||||
st.exitQuest(1)
|
||||
return htmltext
|
||||
|
||||
QUEST = Quest(-1,qn,"Custom")
|
||||
|
||||
QUEST.addStartNpc(32616)
|
||||
QUEST.addTalkId(32616)
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Fortune-Teller Mine:<br>
|
||||
Very well. I perceive you either cannot afford my offer or are not ready to learn your future.<br>
|
||||
No matter! Your future is still there waiting for you. Good luck!<br>
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
Once you have acquired transportaion, the next thing is to fight against those who are attacking us.<br>
|
||||
Our chief enemies are the monsters of the skies and the Seeds. Since you cannot possible handle either of these by yourself, you should start by gathering a party of your fellows.<br>
|
||||
<a action="bypass -h Quest 1002_Nottingale 32627-2.htm">Ask about Aerial Raid Monsters.</a><br>
|
||||
<a action="bypass -h Quest 1002_Nottingale 32627-7.htm">Ask about major hunting grounds.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
The following enemies have attacked us from the skies nearby:<br>
|
||||
<a action="bypass -h Quest 1002_Nottingale 32627-3.htm">Valdstone the Master Rider</a><br>
|
||||
<a action="bypass -h Quest 1002_Nottingale 32627-4.htm">Rok the King of Birds</a><br>
|
||||
<a action="bypass -h Quest 1002_Nottingale 32627-5.htm">Enira the Banshee Queen</a><br>
|
||||
<a action="bypass -h Quest 1002_Nottingale 32627-6.htm">Dius the Messenger of Destruction</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
Valdstone the Master Rider used to be a lord of this land. He gained the power to control wild Aurabirds in exchange for yielding his territory to the Seed of Infinity.<br>
|
||||
His Elite Riders always watch our fortress. Look at the map to see where he and his minions most frequently appear.
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
Rok, the King of Birds, used to be the largest and most intelligent bird in Gracia. But since the Seed of Destruction and Storm Dragon Lindvior appeared, he has been in hiding.<br>
|
||||
As the power of the Seed of Destruction has waned, however, he appears to be regaining his former control over birds. When the power of the Seed of Destruction is weak, you may see Rok if you attack birds nearby. I will mark the areas on the map where he most often appears.
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
It is said that Enira the Banshee Queen is a subordinate of Ekimus, the ruler of the Seed of Infinity. But I believe differently. It seems as though she is keeping an eye on the Seed of Infinity.<br>
|
||||
Of course, I'm not saying Enira is on our side. She is still very much a threat. If we hope to travel the skies of Gracia unmolested, she must be defeated. I have marked the areas where she frequently appears on your map.
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
Dius the Messenger of Destruction is a huge Drake of the Sky. He scours the skies for Tiat, the lord of the Seed of Destruction.<br>
|
||||
Fortunately, he is normally scarce. If you apply a special <font color="LEVEL">bait for Drakes</font> to <font color="LEVEL">Baby Drake Wings</font>, however, you can lure him out. I will mark the area where he appears on your map.
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Mage Notigale:<br>
|
||||
The following Seeds are the main sites of enemy power nearby:<br>
|
||||
<a action="bypass -h Quest 1002_Nottingale 32627-8.htm">Seed of Infinity</a><br>
|
||||
<a action="bypass -h Quest 1002_Nottingale 32627-9.htm">Seed of Destruction</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
I will mark the location of the Seed of Infinity on your map.<br>
|
||||
It is controlled by Ekimus, the lord of Eternity. His ability to control both living and dead has transformed the whole Seed of Infinity into a living organism...<br>
|
||||
General Dilios can give you more details.
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
I will mark the location of the Seed of Destruction on your map.<br>
|
||||
It is controlled by Tiat, the lord of the Mounted Troop. The Seed is like a one huge fortress, thwarting any attempts to enter. <br>
|
||||
General Dilios can give you more details.
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Mage Notingale:<br>
|
||||
First of all, you must acquire either an Aurabird or an Airship in order to fight against the enemies who populate our skies. Since the number of Airships is limited, I recommend you acquire an Aurabird.<br>
|
||||
To do so, go meet Engineer Lekon and do what he tells you. Even if you decide to acquire an Airship, Lekon is worth talking to.<br>
|
||||
Check your map and I will tell you his location.
|
||||
</body></html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<html><body>Gracia Survivor:<br>
|
||||
There is a place at the western end of Aden, on the shores of the Sea of Gludio, where airships depart for Gracia. It's a wharf created through ancient Giant technology and the best Aden engineers.<br>
|
||||
Since it floats in mid-air, however, there's no way to go there directly. The only way is to teleport there directly. A gatekeeper from Talking Island or Gludio Castle Village can send you there.<br>
|
||||
We are desperate for help. If you are willing, I can send you up to Gludio Airship Wharf myself. But because some items are consumed, I must charge you something. I feel almost ashamed to ask.<br>
|
||||
I only hope you will see it as a donation to Gracia. If you can't afford it, the Gatekeeper in Gludio Castle Village or Talking Island can also send you there. What would you like to do?<br>
|
||||
<a action="bypass -h Quest 1003_Survivor 32632-2.htm">Move to Gludio Airship Wharf (150,000 Adena).</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Gracia Survivor:<br>
|
||||
I understand. But as I told you earlier, if you're short of money, you can still get to Gracia through another route.<br>
|
||||
Visit the gatekeeper in Gludio Castle Village or Talking Island, and they can send you to the Airship Wharf. I hope you will do so. We can use everyone we can!
|
||||
</body></html>
|
||||
@@ -0,0 +1,53 @@
|
||||
#made by Kerberos
|
||||
import sys
|
||||
from com.l2jserver.gameserver.model.quest import State
|
||||
from com.l2jserver.gameserver.model.quest import QuestState
|
||||
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
|
||||
from com.l2jserver.gameserver.network.serverpackets import RadarControl
|
||||
|
||||
qn = "1002_Nottingale"
|
||||
|
||||
class Quest (JQuest) :
|
||||
|
||||
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
|
||||
|
||||
def onAdvEvent (self,event,npc,player):
|
||||
htmltext = event
|
||||
st = player.getQuestState(qn)
|
||||
qs = player.getQuestState("10273_GoodDayToFly")
|
||||
if not qs or qs and qs.getState() != State.COMPLETED:
|
||||
player.sendPacket(RadarControl(2,2,0,0,0))
|
||||
player.sendPacket(RadarControl(0,2,-184545,243120,1581))
|
||||
htmltext = "32627.htm"
|
||||
elif event == "32627-3.htm" :
|
||||
player.sendPacket(RadarControl(2,2,0,0,0))
|
||||
player.sendPacket(RadarControl(0,2,-192361,254528,3598))
|
||||
elif event == "32627-4.htm" :
|
||||
player.sendPacket(RadarControl(2,2,0,0,0))
|
||||
player.sendPacket(RadarControl(0,2,-174600,219711,4424))
|
||||
elif event == "32627-5.htm" :
|
||||
player.sendPacket(RadarControl(2,2,0,0,0))
|
||||
player.sendPacket(RadarControl(0,2,-181989,208968,4424))
|
||||
elif event == "32627-6.htm" :
|
||||
player.sendPacket(RadarControl(2,2,0,0,0))
|
||||
player.sendPacket(RadarControl(0,2,-252898,235845,5343))
|
||||
elif event == "32627-8.htm" :
|
||||
player.sendPacket(RadarControl(2,2,0,0,0))
|
||||
player.sendPacket(RadarControl(0,2,-212819,209813,4288))
|
||||
elif event == "32627-9.htm" :
|
||||
player.sendPacket(RadarControl(2,2,0,0,0))
|
||||
player.sendPacket(RadarControl(0,2,-246899,251918,4352))
|
||||
return htmltext
|
||||
|
||||
def onFirstTalk (self,npc,player):
|
||||
st = player.getQuestState(qn)
|
||||
if not st :
|
||||
st = self.newQuestState(player)
|
||||
player.setLastQuestNpcObject(npc.getObjectId())
|
||||
npc.showChatWindow(player)
|
||||
return None
|
||||
|
||||
QUEST = Quest(-1,qn,"custom")
|
||||
QUEST.addStartNpc(32627)
|
||||
QUEST.addFirstTalkId(32627)
|
||||
QUEST.addTalkId(32627)
|
||||
@@ -0,0 +1,11 @@
|
||||
<html><body><table width=200>
|
||||
<tr><td align="center">Echo Crystals </td></tr>
|
||||
</table><br>
|
||||
<a action="bypass -h Quest 3995_echo 4410">[Create an Echo Crystal - Theme of Journey]</a><br>
|
||||
<a action="bypass -h Quest 3995_echo 4409">[Create an Echo Crystal - Theme of Battle]</a><br>
|
||||
<a action="bypass -h Quest 3995_echo 4408">[Create an Echo Crystal - Theme of Love]</a><br>
|
||||
<a action="bypass -h Quest 3995_echo 4420">[Create an Echo Crystal - Theme of Solitude]</a><br>
|
||||
<a action="bypass -h Quest 3995_echo 4421">[Create an Echo Crystal - Theme of Feast]</a><br>
|
||||
<a action="bypass -h Quest 3995_echo 4419">[Create an Echo Crystal - Theme of Comedy]</a><br>
|
||||
<a action="bypass -h Quest 3995_echo 4418">[Create an Echo Crystal - Theme of Celebration]</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
What soothing music! Ideal for a traveler such as yourself...<br>
|
||||
Here is your crystal! Enjoy!</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
Hi there! If you want an Echo Crystal, it'll cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
How do you expect me to make a crystal if you don't bring me a score?</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
Oh, how noble! It brings to mind thousands of orcs marching bravely off to war...<br>
|
||||
Your crystal is complete! Enjoy it!</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
If you want me to create an Echo Crystal, it'll cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
As you are well aware, I cannot make an Echo Crystal for you if you don't bring me a score!<br>
|
||||
A fellow once told me that he was able to obtain an old score by talking to a fake alchemist in Oren...</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
Oh, how romantic! And melancholy at the same time... Like love, wouldn't you agree? Yes, this definitely has an Elven quality to it... Perhaps I should add a female Elven voice to the crystal?~<br>
|
||||
It is complete. Enjoy!</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
Well, if you want an Echo Crystal it will cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
I already told you that I cannot make an Echo Crystal for you if you don't bring me a score!<br>
|
||||
A fellow once told me that he was able to obtain an old score by talking to a fake alchemist in Oren...</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
How sad! It reminds me of the feeling I get when I'm drinking alone on a rainy night... My, oh my, am I blue!<br>
|
||||
Here is your crystal. Enjoy it!</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
If you want an Echo Crystal it'll cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
How do you expect me to make a crystal if you don't bring me a score?</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
This music makes me want to get up and dance! I haven't felt this good in years! All it needs is an accordion!<br>
|
||||
Your crystal is complete. Enjoy it!</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
If you want me to create an Echo Crystal it'll cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Kantabilon:<br>
|
||||
How do you expect me to make an Echo Crystal if you don't bring me a score?</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Melody Maestro Kantabilon:<br>
|
||||
This is such a happy tune! I especially like the last part! It reminds me of watching a clown at the circus... <br>
|
||||
It's done! Enjoy!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Melody Maestro Kantabilon:<br>
|
||||
Hmm...! Is there a happy occasion in the offing? My, what heartwarming music! <br>
|
||||
It's done! Enjoy!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
Music and travel are my two favorite things! Music makes travel twice as exciting!<br>
|
||||
Your crystal is finished! Tra la la~!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
I'm trying to make a living here! If you won't pay for the ingredients, who do you think will?<br>
|
||||
An Echo Crystal will cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
How do you expect me to make an Echo Crystal without a score? Unless you want a silent Echo Crystal~!!<br>
|
||||
Bard Swan has a lovely travel score you might like... Tra la la~ la la~!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
Oh, my! What a bellicose theme! I feel like marching off to war! Da dum da dum dum~!<br>
|
||||
La la~! Your crystal is finished~! Tra la la~ la la~!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
I'm trying to make a living here! If you won't pay for the ingredients, who do you think will?<br>
|
||||
An Echo Crystal will cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><body>Octavia:<br>
|
||||
How can I make an Echo Crystal without a score~? Unless you want me to make a silent Echo Crystal~!!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
What is the taste of love? Is it sweet like honey or bitter like black beer? I'll bet it tastes like a Dion potato! Yum!<br>
|
||||
Your crystal is finished! I hope you enjoy it!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
I'm trying to make a living here! If you won't pay for the ingredients, do you expect me to?<br>
|
||||
An Echo Crystal will cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
How do you expect me to make an Echo Crystal without a score? Unless you want a silent Echo Crystal~!!<br>
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
Oh, the lonely moon! My aching heart! This isn't my style at all!~<br>
|
||||
Your crystal is finished!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
I'm trying to make a living here! If you won't pay for the ingredients, do you expect me to?<br>
|
||||
An Echo Crystal will cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
How do you expect me to make an Echo Crystal without a score? Unless you a silent Echo Crystal!!<br>
|
||||
A fellow once told me that an excellent theme of solitude can be obtained from Musician Nanarin. He has quite a fondness for beards. Tra la la la la!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
Shake that booty! Yeah, baby! Go! Dance, you slug! You self-centered buffoon! Shake your body! Feel the beat!<br>
|
||||
Your crystal is finished!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
I'm trying to make a living here! If you won't pay for the ingredients, who do you think will?<br>
|
||||
An Echo Crystal will cost you 200 adena.</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
How do you expect me to make an Echo Crystal without a score? Unless you want a silent Echo Crystal!!<br>
|
||||
Barbado has a lovely score with a theme of feast!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
Come out and play with me! Forget your troubles! Come on! Get happy!<br>
|
||||
It's finished! This is really my kind of music!</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Octavia:<br>
|
||||
Ah, what a touching melody! Such heart-felt sentiments. And just think, it was made especially for you!<br>
|
||||
Enjoy!</body></html>
|
||||
@@ -0,0 +1,64 @@
|
||||
# Formerly based on Elektra's script
|
||||
# updated by DrLecter for the Official L2J Datapack Project.
|
||||
# Visit http://www.l2jdp.com/forum// for more details.
|
||||
|
||||
qn = "3995_echo"
|
||||
|
||||
NPCS = [31042,31043]
|
||||
ADENA = 57
|
||||
COST = 200
|
||||
|
||||
QuestId = 3995
|
||||
QuestName = "echo"
|
||||
QuestDesc = "custom"
|
||||
|
||||
#score:[crystal,msg_ok,msg_noadena,msg_noscore]
|
||||
LIST={
|
||||
4410:[4411,"01","02","03"],
|
||||
4409:[4412,"04","05","06"],
|
||||
4408:[4413,"07","08","09"],
|
||||
4420:[4414,"10","11","12"],
|
||||
4421:[4415,"13","14","15"],
|
||||
4419:[4417,"16","05","06"],
|
||||
4418:[4416,"17","05","06"]
|
||||
}
|
||||
|
||||
|
||||
import sys
|
||||
from com.l2jserver.gameserver.model.quest import State
|
||||
from com.l2jserver.gameserver.model.quest import QuestState
|
||||
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
|
||||
|
||||
class Quest (JQuest) :
|
||||
|
||||
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
|
||||
|
||||
def onAdvEvent (self,event,npc,player) :
|
||||
st = player.getQuestState(qn)
|
||||
if not (st and event.isdigit()): return
|
||||
score=int(event)
|
||||
if score in LIST.keys() :
|
||||
crystal,ok,noadena,noscore=LIST[score]
|
||||
npcId = str(npc.getNpcId())
|
||||
if not st.getQuestItemsCount(score) :
|
||||
htmltext=npcId+"-"+noscore+".htm"
|
||||
elif st.getQuestItemsCount(ADENA) < COST :
|
||||
htmltext=npcId+"-"+noadena+".htm"
|
||||
else :
|
||||
st.takeItems(ADENA,COST)
|
||||
st.giveItems(crystal,1)
|
||||
htmltext=npcId+"-"+ok+".htm"
|
||||
else :
|
||||
htmltext=""
|
||||
st.exitQuest(1)
|
||||
return htmltext
|
||||
|
||||
def onTalk (Self,npc,player):
|
||||
return "1.htm"
|
||||
|
||||
|
||||
QUEST = Quest(-1,qn,QuestDesc)
|
||||
|
||||
for npc in NPCS:
|
||||
QUEST.addStartNpc(npc)
|
||||
QUEST.addTalkId(npc)
|
||||
@@ -0,0 +1,50 @@
|
||||
# Created 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.jython import QuestJython as JQuest
|
||||
|
||||
qn = "4000_ShadowWeapons"
|
||||
#NPCs that would need to figure out what to show when asked about coupons exchange
|
||||
NPC =[ 30037,30066,30070,30109,30115,30120,30174,30175,30176,30187,30191,30195, \
|
||||
30288,30289,30290,30297,30373,30462,30474,30498,30499,30500,30503,30504, \
|
||||
30505,30511,30512,30513,30595,30676,30677,30681,30685,30687,30689,30694, \
|
||||
30699,30704,30845,30847,30849,30854,30857,30862,30865,30894,30897,30900, \
|
||||
30905,30910,30913,31269,31272,31288,31314,31317,31321,31324,31326,31328, \
|
||||
31331,31334,31336,31965,31974,31276,31285,31958,31961,31996,31968,31977, \
|
||||
32092,32093,32094,32095,32096,32097,32098,32193,32196,32199,32202,32205, \
|
||||
32206,32213,32214,32221,32222,32229,32230,32233,32234 ]
|
||||
#itemId for shadow weapon coupons, it's not used more than once but increases readability
|
||||
D_COUPON,C_COUPON=[ 8869,8870 ]
|
||||
|
||||
class Quest (JQuest) :
|
||||
|
||||
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
|
||||
|
||||
def onTalk (Self,npc,player):
|
||||
st = player.getQuestState(qn)
|
||||
if not st: return
|
||||
has_d=st.getQuestItemsCount(D_COUPON)
|
||||
has_c=st.getQuestItemsCount(C_COUPON)
|
||||
if has_d or has_c :
|
||||
#let's assume character had both c & d-grade coupons, we'll confirm later
|
||||
multisell=306893003
|
||||
if not has_d :
|
||||
#if s/he had c-grade only...
|
||||
multisell=306893002
|
||||
elif not has_c :
|
||||
#or d-grade only.
|
||||
multisell=306893001
|
||||
#finally, return htm with proper multisell value in it.
|
||||
htmltext=st.showHtmlFile("exchange.htm").replace("%msid%",str(multisell))
|
||||
else :
|
||||
htmltext="exchange-no.htm"
|
||||
st.exitQuest(1)
|
||||
return htmltext
|
||||
|
||||
QUEST = Quest(-1,qn,"Custom")
|
||||
|
||||
for item in NPC:
|
||||
QUEST.addStartNpc(item)
|
||||
QUEST.addTalkId(item)
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>
|
||||
You don't have a Shadow weapon exchange coupon.<br>
|
||||
A shadow Weapon exchange coupon is a<font color="LEVEL"> gift received from a Grand Master, Magister or High Priest when you complete a class transfer.</font><br>
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>
|
||||
A Shadow weapon is a special weapon that is made in cooperation between the Ivory Tower and the Black Anvil Guild. It is created by magically projecting the power of a weapon onto another catalytic object. While that means that it can only be used while the magic charge remains, it has made it possible to mass produce projectile weapons.<br>
|
||||
Its performance is no different than if you used the original weapon, except that it cannot possess the special ability to absorb souls or refine through a Stone of Life. Also, although it acts as a weapon, it is actualy in the magic category -- once opened, it cannot be passed on to someone else. Consider it an aid on your new path until you lay your hands on some real weapons.<br>
|
||||
If you have a Shadow Weapon exchange coupon, you can receive a Shadow Weapon right for you.<br>
|
||||
<a action="bypass -h npc_%objectId%_multisell %msid%">Give the shadow Weapon exchange coupon.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Adventurers' Guide Miss Queen:<br>
|
||||
You've already received a weapon exchange coupon for training adventurers! Do you actually think you can fool Miss Queen?<br>(Players are only allowed one trainee weapon exchange coupon per account.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Adventurers' Guide Miss Queen:<br>
|
||||
Here's the coupon you requested. You're now eligible to rent a weapon from the Adventurer's Guild warehouse. This coupon is non-transferable, and you are responsible for any damages or loss of weaponry.<br>You may only rent one weapon at a time, and if at any time before you reach level 25 you become unhappy with your choice, you may turn in the weapon for another coupon. Good luck!
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Adventurers' Guide Miss Queen: <br>
|
||||
You're not qualified to receive a weapon exchange coupon for trainees! It's reserved for adventurers visiting the world of Lineage II for the first time. Unless your level is 6 or above and you are an adventurer new to the world of Lineage II, I won't give you a coupon! (<font color="LEVEL">Only new characters of level 6 or above are eligible for the coupon.)</font>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventurers' Guide Miss Queen:<br>
|
||||
You've already received a weapon exchange coupon for travelers! Do you really think you can fool Miss Queen?<br>
|
||||
(Players may receive only one weapon exchange coupon per account.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Adventurers' Guide Miss Queen:<br>
|
||||
Have you enjoyed your adventure so far? Here is the weapon exchange coupon for travelers.<br>
|
||||
This coupon allows you to receive a grade D weapon from the warehouse of the Adventurer's Guild. The coupon is non-transferable, and you are responsible for any loss or damage of it or the weapon.<br>
|
||||
You may only rent one weapon at a time, and if at any time before you reach level 25 you become unhappy with your choice, you may turn in the weapon for another coupon. Good luck!
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Adventurers' Guide Miss Queen:<br>
|
||||
You're not qualified to receive more than one weapon exchange coupon for travelers! It's reserved for adventurers visiting the world of Lineage II for the first time who have completed their first occupation change! <br>(<font color="LEVEL">Only new characters who have completed their first occupation change are eligible to receive a coupon.)</font>
|
||||
</body></html>
|
||||
@@ -0,0 +1,11 @@
|
||||
<html><body>Adventurers' Guide Miss Queen:<br>
|
||||
Welcome! I've been dispatched from the Adventurer's Guild to guide characters new to the world of Lineage II.<br>
|
||||
In celebration of the arrival of a new era, the guild has temporarily opened its weapons warehouse to adventurers in training and travelers that have reached level 6 and completed their first occupation change. If you meet these requirements, I'll give you a <font color="LEVEL">weapon exchange coupon</font> and permit you to <font color="LEVEL">rent the weapon of your choice from the Adventurer's Guild weapons warehouse</font>. Bear in mind, this coupon is only valid until you reach level 25. Are you ready to choose your weapon?<br>
|
||||
(Any character with a PK count of 1 or above is not eligible to receive the coupon.)<br>
|
||||
<a action="bypass -h Quest 5000_MissQueen newbie_give_coupon">"Please give me a weapon exchange coupon for trainees."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_exc_multisell 317606002">"I want to return a weapon for trainees."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_multisell 317606001">"I want to visit the weapons warehouse for trainees."</a><br>
|
||||
<a action="bypass -h Quest 5000_MissQueen traveller_give_coupon">"Please give me a weapon exchange coupon for travelers."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_exc_multisell 317606004">"I want to return a weapon for travelers."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_multisell 317606003">"I want to visit the weapons warehouse for travelers."</a><br>
|
||||
</body></html>
|
||||
@@ -0,0 +1,75 @@
|
||||
#Jython-based miss queen implementation v0.1
|
||||
#written by DrLecter, based in Eduu, biti and Newbie contributions.
|
||||
import sys
|
||||
from com.l2jserver.gameserver.model.quest import State
|
||||
from com.l2jserver.gameserver.model.quest import QuestState
|
||||
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
|
||||
|
||||
qn = "5000_MissQueen"
|
||||
|
||||
COUPON_ONE = 7832
|
||||
COUPON_TWO = 7833
|
||||
|
||||
NPCs = range(31760,31767)
|
||||
|
||||
#enable/disable coupon give
|
||||
QUEEN_ENABLED=0
|
||||
#Newbie/one time rewards section
|
||||
#Any quest should rely on a unique bit, but
|
||||
#it could be shared among quest that were mutually
|
||||
#exclusive or race restricted.
|
||||
#Bit #1 isn't used for backwards compatibility.
|
||||
#This script uses 2 bits, one for newbie coupons and another for travelers
|
||||
NEWBIE_REWARD = 16
|
||||
TRAVELER_REWARD = 32
|
||||
|
||||
class Quest (JQuest) :
|
||||
|
||||
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
|
||||
|
||||
def onAdvEvent (self,event,npc,player) :
|
||||
if not QUEEN_ENABLED : return
|
||||
st = player.getQuestState(qn)
|
||||
newbie = player.getNewbie()
|
||||
level = player.getLevel()
|
||||
occupation_level = player.getClassId().level()
|
||||
pkkills = player.getPkKills()
|
||||
if event == "newbie_give_coupon" :
|
||||
#@TODO: check if this is the very first character for this account
|
||||
#would need a bit of SQL, or a core method to determine it.
|
||||
#This condition should be stored by the core in the account_data table
|
||||
#upon character creation.
|
||||
if 6 <= level <= 25 and not pkkills and occupation_level == 0 :
|
||||
# check the player state against this quest newbie rewarding mark.
|
||||
if newbie | NEWBIE_REWARD != newbie :
|
||||
player.setNewbie(newbie|NEWBIE_REWARD)
|
||||
st.giveItems(COUPON_ONE,1)
|
||||
return "31760-2.htm" #here's the coupon you requested
|
||||
else :
|
||||
return "31760-1.htm" #you got a coupon already!
|
||||
else :
|
||||
return "31760-3.htm" #you're not eligible to get a coupon (level caps, pkkills or already changed class)
|
||||
elif event == "traveller_give_coupon" :
|
||||
if 6 <= level <= 25 and not pkkills and occupation_level == 1 :
|
||||
# check the player state against this quest newbie rewarding mark.
|
||||
if newbie | TRAVELER_REWARD != newbie :
|
||||
player.setNewbie(newbie|TRAVELER_REWARD)
|
||||
st.giveItems(COUPON_TWO,1)
|
||||
return "31760-5.htm" #here's the coupon you requested
|
||||
else :
|
||||
return "31760-4.htm" #you got a coupon already!
|
||||
else :
|
||||
return "31760-6.htm" #you're not eligible to get a coupon (level caps, pkkills or already changed class)
|
||||
|
||||
def onFirstTalk (self,npc,player):
|
||||
st = player.getQuestState(qn)
|
||||
if not st :
|
||||
st = self.newQuestState(player)
|
||||
return "31760.htm"
|
||||
|
||||
QUEST = Quest(-1,qn,"custom")
|
||||
|
||||
for i in NPCs :
|
||||
QUEST.addStartNpc(i)
|
||||
QUEST.addFirstTalkId(i)
|
||||
QUEST.addTalkId(i)
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
You have already received the Apprentice Adventurer's Weapon Exchange Coupon!
|
||||
Trying to trick me, eh? Don't underestimate my memory for faces!
|
||||
(Each character may only receive 1 Apprentice Adventurer's Weapon Exchange Coupon.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,8 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
Here is the Apprentice Adventurer's Weapon Exchange Coupon.<br>
|
||||
You can exchange this ticket for the No-Grade Shadow Weapon from the Adventure Guild warehouse.
|
||||
Keep in mind that this Exchange Coupon is reserved only for you.
|
||||
Should you lose either the ticket or the weapon you borrowed, you cannot get a new one.
|
||||
Guard it carefully! You can use the weapon warehouse if you visit the Newbie Guide in each town.
|
||||
I wish you a pleasant and prosperous journey!
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
You are not eligible to have the Apprentice Adventurer's Weapon Exchange Coupon!
|
||||
It is reserved especially for new adventurers who are visiting the world of Lineage 2 for the first time.
|
||||
You may not receive the Exchange Coupon if your level is under 6 or you have completed an occupation change.
|
||||
(Only beginners who are between <font color="LEVEL">level 6 and level 19</font> may use it.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
You have already received the Apprentice Adventurer's Armor Exchange Coupon!
|
||||
Trying to trick me, eh? Don't underestimate my memory for faces!
|
||||
(Each character may only receive 1 Apprentice Adventurer's Armor Exchange Coupon.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,8 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
Here is the Apprentice Adventurer's Armor Exchange Coupon.<br>
|
||||
You can exchange this ticket for the No-Grade Shadow Armor from the Adventure Guild warehouse.
|
||||
Keep in mind that this Exchange Coupon is reserved only for you.
|
||||
Should you lose either the ticket or the weapon you borrowed, you cannot get a new one.
|
||||
Guard it carefully! You can use the weapon warehouse if you visit the Newbie Guide in each town.
|
||||
I wish you a pleasant and prosperous journey!
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
You are not eligible to receive the Apprentice Adventurer's Armor Exchange Coupon!
|
||||
It is reserved for new adventurers visiting the world of Lineage 2 for the first time.
|
||||
Even then, you can not receive the ticket unless you have completed the first occupation change!
|
||||
(Only beginners who have <font color="LEVEL">completed the first occupation change</font> may use it.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
You are not eligible to use the warehouse.
|
||||
You may not receive the Exchange Coupon if your level is under 6 or you have completed an occupation change.
|
||||
(Only beginners who are between <font color="LEVEL">level 6 and level 19</font> may use the warehouse.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
You are not eligible to use the warehouse.
|
||||
You must complete your first class change!
|
||||
(Only <font color="LEVEL">beginners who have completed the first class change</font> may use the warehouse.)
|
||||
</body></html>
|
||||
@@ -0,0 +1,16 @@
|
||||
<html><body>Newbie Guide:<br>
|
||||
As token of congratulations, the Adventure Guild is pleased to open its warehouse to both apprentice adventurers
|
||||
who have reached level 6 as well as travelers who have completed their first occupation change.
|
||||
At level 6, you can borrow a <font color="LEVEL">No-Grade Shadow Weapon</font> with the
|
||||
<font color="LEVEL">Apprentice Adventurer's Weapon Exchange Coupon</font>.
|
||||
At level 20, you can borrow <font color="LEVEL">Shadow Armor</font> with the
|
||||
<font color="LEVEL">Adventurer's Magic Armor Exchange Coupon</font>.
|
||||
No-Grade Shadow Weapons can be exchanged up to level 19 and Shadow Armor can be exchanged up to level 39.
|
||||
Now then: how can I help you?<br>(Note: chaotic characters may not use weapons or armor borrowed from the Adventure Guild.)<br>
|
||||
<a action="bypass -h Quest 5001_NewbieCoupons newbie_give_weapon_coupon">Get the Apprentice Adventurer's Weapon Exchange Coupon.</a><br>
|
||||
<a action="bypass -h Quest 5001_NewbieCoupons newbie_show_weapon">Use the weapon warehouse for apprentice adventurers.</a><br>
|
||||
<a action="bypass -h Quest 5001_NewbieCoupons newbie_give_armor_coupon">Get the Adventurer's Magic Armor Exchange Coupon.</a><br>
|
||||
<a action="bypass -h Quest 5001_NewbieCoupons newbie_show_armor">Use the Magic Armor warehouse for travelers.</a><br>
|
||||
<a action="bypass -h npc_%objectId%_multisell 305986001">"list 1"</a><br>
|
||||
<a action="bypass -h npc_%objectId%_multisell 305986002">"list 2"</a><br>
|
||||
</body></html>
|
||||
@@ -0,0 +1,90 @@
|
||||
#Newbie Weapon/Accesories Coupons for the Hellbound opening event.
|
||||
#written by Vice, based in the Miss Queen script.
|
||||
import sys
|
||||
from com.l2jserver.gameserver.datatables import MultiSell
|
||||
from com.l2jserver.gameserver.model.quest import State
|
||||
from com.l2jserver.gameserver.model.quest import QuestState
|
||||
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
|
||||
|
||||
qn = "5001_NewbieCoupons"
|
||||
|
||||
COUPON_ONE = 7832
|
||||
COUPON_TWO = 7833
|
||||
|
||||
NPCs = range(30598,30603)+[31076,31077,32135]
|
||||
|
||||
# Multisell
|
||||
WEAPON_MULTISELL = 305986001
|
||||
ACCESORIES_MULTISELL = 305986002
|
||||
|
||||
#enable/disable coupon give
|
||||
NEWBIE_COUPONS_ENABLED=1
|
||||
#Newbie/one time rewards section
|
||||
#Any quest should rely on a unique bit, but
|
||||
#it could be shared among quests that were mutually
|
||||
#exclusive or race restricted.
|
||||
#Bit #1 isn't used for backwards compatibility.
|
||||
#This script uses 2 bits, one for newbie coupons and another for travelers
|
||||
#These 2 bits happen to be the same used by the Miss Queen script
|
||||
NEWBIE_WEAPON = 16
|
||||
NEWBIE_ACCESORY = 32
|
||||
|
||||
class Quest (JQuest) :
|
||||
|
||||
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
|
||||
|
||||
def onAdvEvent (self,event,npc,player) :
|
||||
if not NEWBIE_COUPONS_ENABLED : return
|
||||
st = player.getQuestState(qn)
|
||||
newbie = player.getNewbie()
|
||||
level = player.getLevel()
|
||||
occupation_level = player.getClassId().level()
|
||||
pkkills = player.getPkKills()
|
||||
if event == "newbie_give_weapon_coupon" :
|
||||
#@TODO: check if this is the very first character for this account
|
||||
#would need a bit of SQL, or a core method to determine it.
|
||||
#This condition should be stored by the core in the account_data table
|
||||
#upon character creation.
|
||||
if 6 <= level <= 39 and not pkkills and occupation_level == 0 :
|
||||
# check the player state against this quest newbie rewarding mark.
|
||||
if newbie | NEWBIE_WEAPON != newbie :
|
||||
player.setNewbie(newbie|NEWBIE_WEAPON)
|
||||
st.giveItems(COUPON_ONE,5)
|
||||
return "30598-2.htm" #here's the coupon you requested
|
||||
else :
|
||||
return "30598-1.htm" #you got a coupon already!
|
||||
else :
|
||||
return "30598-3.htm" #you're not eligible to get a coupon (level caps, pkkills or already changed class)
|
||||
elif event == "newbie_give_armor_coupon" :
|
||||
if 6 <= level <= 39 and not pkkills and occupation_level == 1 :
|
||||
# check the player state against this quest newbie rewarding mark.
|
||||
if newbie | NEWBIE_ACCESORY != newbie :
|
||||
player.setNewbie(newbie|NEWBIE_ACCESORY)
|
||||
st.giveItems(COUPON_TWO,1)
|
||||
return "30598-5.htm" #here's the coupon you requested
|
||||
else :
|
||||
return "30598-4.htm" #you got a coupon already!
|
||||
else :
|
||||
return "30598-6.htm" #you're not eligible to get a coupon (level caps, pkkills or didnt change class yet)
|
||||
elif event == "newbie_show_weapon" :
|
||||
if 6 <= level <= 39 and not pkkills and occupation_level == 0 :
|
||||
MultiSell.getInstance().separateAndSend(WEAPON_MULTISELL, player, npc, False);
|
||||
else :
|
||||
return "30598-7.htm" #you're not eligible to use warehouse
|
||||
elif event == "newbie_show_armor" :
|
||||
if 6 <= level <= 39 and not pkkills and occupation_level > 0 :
|
||||
MultiSell.getInstance().separateAndSend(ACCESORIES_MULTISELL, player, npc, False);
|
||||
else :
|
||||
return "30598-8.htm" #you're not eligible to use warehouse
|
||||
|
||||
def onTalk (self,npc,player):
|
||||
st = player.getQuestState(qn)
|
||||
if not st :
|
||||
st = self.newQuestState(player)
|
||||
return "30598.htm"
|
||||
|
||||
QUEST = Quest(-1,qn,"custom")
|
||||
|
||||
for i in NPCs :
|
||||
QUEST.addStartNpc(i)
|
||||
QUEST.addTalkId(i)
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
<html><body>Hierarch Kadun Zu Ketra:<br>
|
||||
We Ketras have come here to reclaim the land of our ancestors! We've discovered that the Varka Silenos, our loathsome enemy, defile this holy land! We will never forgive them this insult!<br>
|
||||
Help us return to our homeland! May the flame of Paagrio burn within your heart eternally!<br>
|
||||
But, be careful! You must remember our brothers are always watching you. <font color="LEVEL">As soon as you lay a hand on our Ketra tribe, all the promises between you and us will disappear! </font><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Hierarch Kadun Zu Ketra:<br>
|
||||
Hold it, stranger! This is the sacred land of the Ketra! You defile it with your presence!<br>
|
||||
We're different from the vile Orcs to the north... We'll surely reclaim this land of our ancestors! If you seriously want to help us return to our homeland, visit Messenger Wahkan!
|
||||
</body></html>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
<html><body>Ketra's Messenger Wahkan:<br>
|
||||
Welcome, brave comrade!<br>
|
||||
You've brought many heads of Varka Silenos! We're very impressed! A few more friends like you and we can put those Varkas down for good!<br>
|
||||
Tejakar Ketra!<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Ketra's Messenger Wahkan:<br>
|
||||
We Ketra are the bravest of all Orc tribes! We're here to reclaim the land of our ancestors! Prepare to die, all who stand in our way!<br>
|
||||
Don't take us for fools! We're well aware of the fact that in order to defeat the enemy, we must ally with outside forces! Like you! Will you be our comrade in arms? Are you ready to prove your worth alongside us on the battlefield?<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Soul Guide Asefa:<br>
|
||||
Welcome, comrade of Ketra! Until the day comes when you win an honorable name on the battlefield, may the souls of our ancestors bless you and protect you!<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Soul Guide Asefa:<br>
|
||||
In order to receive the blessing of the ancestors, you must dedicate a<font color="LEVEL"> Buffalo horn</font> to them! Go to the battleground and return victorious, you'll receive a Buffalo horn as a reward!<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Soul Guide Asefa:<br>
|
||||
You, nameless foreigner! Get away from here! Don't defile the land of our ancestors!<br>
|
||||
I'll bring down the curse of flames upon the enemies of Ketra!<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,13 @@
|
||||
<html><body>Soul Guide Asefa:<br>
|
||||
Welcome, sworn friend of Ketra! I pray that the Flame of Paagrio will shed its light on your soul!<br>
|
||||
The blood of the Varka Silenos you drew has been dedicated to the souls of our great ancestors in the midst of sacred flames in heaven! You'll receive the blessings of our ancestors!<br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport 1">Blessing of Wolf (Focus): Requires 2 Buffalo Horns</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport 2">Blessing of Hawk (Death Whisper): Requires 2 Buffalo Horns</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport 3">Blessing of Bear (Might): Requires 3 Buffalo Horns</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport 4">Blessing of Spider (Acumen): Requires 3 Buffalo Horns</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport 5">Blessing of Lion (Berserker): Requires 3 Buffalo Horns</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport 6">Blessing of Coyote (Vampiric Rage): Requires 3 Buffalo Horns</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport 7">Blessing of Owl (Empower): Requires 6 Buffalo Horns</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport 8">Blessing of Wild Horse (Haste): Requires 6 Buffalo Horns</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Grocer Atan:<br>
|
||||
Come on in, comrade of Ketra! I'm responsible for providing supplies to the honorable warriors of our tribe. Under special orders from the chief of our tribe, I can now offer supplies to outsiders like you!<br>
|
||||
<a action="bypass -h npc_%objectId%_Buy 383">Buy</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Grocer Atan:<br>
|
||||
Dear comrade of Ketra! How come what you told me and what you now show me are two different things?<br>
|
||||
<a action="bypass -h npc_%objectId%_Buy 383">Buy</a><br>
|
||||
<a action="bypass -h npc_%objectId%_TerritoryStatus">"Who is the lord of the manor and what is the tax rate?"</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Grocer Atan:<br>
|
||||
I can't sell supplies to someone who is not a comrade of Ketra! Go away!
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Grocer Atan:<br>
|
||||
Oh ... you're a wanted criminal. My man may report you to the village guards if he sees you. Escape to another place at once. I cannot sell to you now, but I trust you will be a future customer. When you are free once more, please pay our shop a visit. Don't forget us.
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Warehouse Keeper Jaff:<br>
|
||||
Ha! You never deposited anything here! Your memory is not as good as your reputation!
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Warehouse Keeper Jaff:<br>
|
||||
Yo, comrade of Ketra! Welcome! This warehouse is where our war supplies are stored!<br>
|
||||
I know you've worked hard, but I can't yet open the warehouse to a foreigner such as yourself! Keep up the good work! One day our chief will allow you to use the warehouse!<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Warehouse Keeper Jaff:<br>
|
||||
Have you found all you need? If there's anything else, just ask me!<br>
|
||||
<a action="bypass -h npc_%objectId%_DepositP">Deposit an item.</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport Withdraw">Pick up an item.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Warehouse Keeper Jaff:<br>
|
||||
I don't care about your reputation among outsiders! You treat us Ketra fairly, we'll do the same!<br>
|
||||
<a action="bypass -h npc_%objectId%_DepositP">Deposit an item.</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport Withdraw">Pick up an item.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<html><body>Warehouse Keeper Jaff:<br>
|
||||
Come here, friend of Ketra!<br>
|
||||
You've been given permission to use our warehouse by our chief! A valued warrior like you shouldn't have to carry around a heavy load! Leave anything here you don't need for combat!<br>
|
||||
<a action="bypass -h npc_%objectId%_DepositP">Deposit an item.</a><br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport Withdraw">Pick up an item.</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html><body>Warehouse Keeper Jaff:<br>
|
||||
Go away! This warehouse is reserved for the glorious warriors of Ketra! It's not for outsiders!
|
||||
</body></html>
|
||||
@@ -0,0 +1,8 @@
|
||||
<html><body>Trader Jumara:<br>
|
||||
Tejakar Ketra! Welcome, comrade! I'm a supplier of specialty items! The elder tells me that you're interested in buying something!<br>
|
||||
How about this low-level booty pouch? Someday, when you're qualified to open it, you'll have the strongest armor available!<br>
|
||||
Bring me a<font color="LEVEL"> Buffalo Horn</font> and I'll give you whatever you want!<br>
|
||||
What would you like?<br>
|
||||
<a action="bypass -h npc_%objectId%_multisell 313750001">"I'd like one of the Ketra's specialty products."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<html><body>Trader Jumara:<br>
|
||||
Tejakar Ketra! Welcome, dear friend!<br>
|
||||
I've been ordered to supply a higher-level pouch to you, but you won't get the strongest armor yet! Try again when you've had more experiences.<br>
|
||||
Bring me a<font color="LEVEL"> Buffalo Horn</font> and I'll give you whatever you want. Care to take a look?<br>
|
||||
<a action="bypass -h npc_%objectId%_multisell 313750002">"I'd like one of the Ketra's specialty products."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<html><body>Trader Jumara:<br>
|
||||
Tejakar Ketra! Welcome, dear friend!<br>
|
||||
You're finally qualified to get the most valuable looted goods from our tribe!<br>
|
||||
Now, open the box that holds the strongest armor!<br>Bring me a<font color="LEVEL"> Buffalo Horn</font> and I'll give you anything you want!<br>
|
||||
<a action="bypass -h npc_%objectId%_multisell 313750003">"I'd like one of the Ketra's specialty products."</a><br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,4 @@
|
||||
<html><body>Trader Jumara:<br>
|
||||
Tejakar Ketra! Welcome, dear friend!<br>
|
||||
You are not strong enough yet! Try again when you've had more experiences.
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Gatekeeper Kurfa:<br>
|
||||
You're a true friend of my people. My ancestors guard your every step!<br>
|
||||
Stories of your valor grow everyday! Unfortunately, I can't allow you to use the gate of time and space yet. Keep up the good work!<br>
|
||||
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Gatekeeper Kurfa:<br>
|
||||
You, comrade of the Ketra. May the divine protection of the ancestors be with you always!<br>
|
||||
Our chief has approved of your valor and will allow you to travel to a bigger battleground. So, tell me where you wish to go! I, Kurfa, will open the gate of time and space for you!<br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport Teleport">Teleport</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>Gatekeeper Kurfa:<br>
|
||||
Dear sworn friend of Ketra. May the divine blessing and protection of our ancestors be with you always!<br>
|
||||
Your bravery is renowned! Everybody says that when you battle, you are as hot as an exploding volcano! Our chief has given his approval for you to travel to another village! You, tell me where you wish to go! I, Kurfa will open the gate of time and space for you!<br>
|
||||
<a action="bypass -h Quest 6050_KetraOrcSupport Teleport">Teleport</a>
|
||||
</body></html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<html><body>
|
||||
&$556;<br><br>
|
||||
<a action="bypass -h npc_%objectId%_goto 10028" msg="811;Goddard Castle Town">Goddard Castle Town - 4900 Adena</a><br1>
|
||||
<a action="bypass -h npc_%objectId%_goto 10029" msg="811;Rune Castle Town">Rune Castle Town - 22000 Adena</a><br1>
|
||||
</body></html>
|
||||
@@ -0,0 +1,8 @@
|
||||
<html><body>
|
||||
&$556;<br><br>
|
||||
<a action="bypass -h npc_%objectId%_goto 10028" msg="811;Goddard Castle Town">Goddard Castle Town - 4900 Adena</a><br1>
|
||||
<a action="bypass -h npc_%objectId%_goto 10029" msg="811;Rune Castle Town">Rune Castle Town - 22000 Adena</a><br1>
|
||||
<a action="bypass -h npc_%objectId%_goto 10030" msg="811;Aden Castle Town">Aden Castle Town - 21000 Adena</a><br1>
|
||||
<a action="bypass -h npc_%objectId%_goto 10031" msg="811;Wall of Argos">Wall of Argos - 7000 Adena</a><br1>
|
||||
<a action="bypass -h npc_%objectId%_goto 10032" msg="811;Hot Springs">Hot Springs - 6700 Adena</a><br1>
|
||||
</body></html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user