Chronicle 4 branch.

This commit is contained in:
MobiusDev
2017-07-19 21:24:06 +00:00
parent 9a69bec286
commit 3a0bf3539a
13496 changed files with 641683 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
<html><body>
<table width=200>
<tr><td align="center">Echo Crystals </td></tr>
</table><br>
<a action="bypass -h Quest 3995_echo 4411">[Create an Echo Crystal - Theme of Journey]</a><br>
<a action="bypass -h Quest 3995_echo 4412">[Create an Echo Crystal - Theme of Battle]</a><br>
<a action="bypass -h Quest 3995_echo 4413">[Create an Echo Crystal - Theme of Love]</a><br>
<a action="bypass -h Quest 3995_echo 4414">[Create an Echo Crystal - Theme of Solitude]</a><br>
<a action="bypass -h Quest 3995_echo 4415">[Create an Echo Crystal - Theme of Feast]</a><br>
<a action="bypass -h Quest 3995_echo 4416">[Create an Echo Crystal - Theme of Celebration]</a><br>
<a action="bypass -h Quest 3995_echo 4417">[Create an Echo Crystal - Theme of Comedy]</a>
</body></html>

View File

@@ -0,0 +1,76 @@
### ---------------------------------------------------------------------------
### <history>
### Elektra@ElektraL2.com
### </history>
### ---------------------------------------------------------------------------
### Settings
NPC = [8042,8043]
QuestId = 3995
QuestName = "echo"
QuestDesc = "custom"
InitialHtml = "1.htm"
### Items - Format [name, giveItemId, giveItemQty, takeItem1Id, takeItem1Qty, takeItem2Id, takeItem2Qty]
Items = [
["Theme of Travel", 4411, 1, 57, 200, 4410, 1],
["Theme of Festival", 4415, 1, 57, 200, 4421, 1],
["Theme of Lonely", 4414, 1, 57, 200, 4420, 1],
["Theme of Love", 4413, 1, 57, 200, 4408, 1],
["Theme of Battle", 4412, 1, 57, 200, 4409, 1],
["Theme of Comedy", 4417, 1, 57, 200, 4419, 1],
["Theme of Celebration", 4416, 1, 57, 200, 4418, 1]
]
### ---------------------------------------------------------------------------
### DO NOT MODIFY BELOW THIS LINE
### ---------------------------------------------------------------------------
import sys
from com.l2jmobius.gameserver.model.quest import State
from com.l2jmobius.gameserver.model.quest import QuestState
from com.l2jmobius.gameserver.model.quest.jython import QuestJython as JQuest
### doRequestedEvent
def do_RequestedEvent(event, st, giveItemId, giveItemQty, takeItem1Id, takeItem1Qty, takeItem2Id, takeItem2Qty) :
if st.getQuestItemsCount(takeItem1Id) >= takeItem1Qty and st.getQuestItemsCount(takeItem2Id) >= takeItem2Qty :
st.takeItems(takeItem1Id, takeItem1Qty)
st.giveItems(giveItemId, giveItemQty)
return "Echo Crystal Created"
else :
return "You do not have enough items."
### main code
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == "0" :
return InitialHtml
for item in Items :
if event == str(item[1]):
htmltext = do_RequestedEvent(event, st, item[1], item[2], item[3], item[4], item[5], item[6])
if htmltext != event :
st.setState(COMPLETED)
st.exitQuest(1)
return htmltext
def onTalk (Self,npc,st):
htmltext = "<html><body>I have nothing to say with you</body></html>"
return InitialHtml
### Quest class and state definition
QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
CREATED = State('Start', QUEST)
COMPLETED = State('Completed', QUEST)
### Quest initialization
QUEST.setInitialState(CREATED)
for item in NPC:
### Quest NPC starter initialization
QUEST.addStartNpc(item)
### Quest NPC initialization
QUEST.addTalkId(item)

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -0,0 +1,6 @@
<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 1814">Buy</a><br>
<a action="bypass -h npc_%objectId%_Sell">Sell</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<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 1814">Buy</a><br>
<a action="bypass -h npc_%objectId%_Sell">Sell</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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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 83750001">"I'd like one of the Ketra's specialty products."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -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 83750002">"I'd like one of the Ketra's specialty products."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,8 @@
<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 83750003">"I'd like one of the Ketra's specialty products."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -0,0 +1,5 @@
<html><body>&$556;<br>
<br>
<a action="bypass -h npc_%objectId%_goto 10029" msg="811;Goddard Castle Town">Goddard Castle Town - 4900 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10030" msg="811;Rune Castle Town">Rune Castle Town - 22000 Adena</a><br1>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>&$556;<br>
<br>
<a action="bypass -h npc_%objectId%_goto 10029" msg="811;Goddard Castle Town">Goddard Castle Town - 4900 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10030" msg="811;Rune Castle Town">Rune Castle Town - 22000 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10031" msg="811;Aden Castle Town">Aden Castle Town - 21000 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10032" msg="811;Wall of Argos">Wall of Argos - 7000 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10033" msg="811;Hot Springs">Hot Springs - 6700 Adena</a><br1>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gatekeeper Kurfa:<br>
I guide travelers through the gate of time and space! I don't deal with outsiders!
</body></html>

View File

@@ -0,0 +1,140 @@
# Created by Emperorc
# Finished by Kerberos_20 10/23/07
import sys
from com.l2jmobius.gameserver.model.quest import State
from com.l2jmobius.gameserver.model.quest import QuestState
from com.l2jmobius.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jmobius.gameserver.datatables import SkillTable
from com.l2jmobius.gameserver.network.serverpackets import WareHouseWithdrawalList
from com.l2jmobius.gameserver.network.serverpackets import ActionFailed
qn = "6050_KetraOrcSupport"
Kadun = 8370 #Hierarch
Wahkan= 8371 #Messenger
Asefa = 8372 #Soul Guide
Atan = 8373 #Grocer
Jaff = 8374 #Warehouse Keeper
Jumara= 8375 #Trader
Kurfa = 8376 #Gate Keeper
NPCS = range(8370,8377)
Horn = 7186
#"event number":[Buff Id,Buff Level,Cost]
BUFF={
"1":[4359,1,2],#Focus: Requires 2 Buffalo Horns
"2":[4360,1,2],#Death Whisper: Requires 2 Buffalo Horns
"3":[4345,1,3],#Might: Requires 3 Buffalo Horns
"4":[4355,1,3],#Acumen: Requires 3 Buffalo Horns
"5":[4352,1,3],#Berserker: Requires 3 Buffalo Horns
"6":[4354,1,3],#Vampiric Rage: Requires 3 Buffalo Horns
"7":[4356,1,6],#Empower: Requires 6 Buffalo Horns
"8":[4357,1,6],#Haste: Requires 6 Buffalo Horns
}
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onAdvEvent (self,event,npc,player) :
htmltext = "8372-2.htm"
st = player.getQuestState(qn)
if not st: return
Alevel = player.getAllianceWithVarkaKetra()
if str(event) in BUFF.keys() :
skillId,level,horns=BUFF[event]
if st.getQuestItemsCount(Horn) >= horns :
st.takeItems(Horn,horns)
npc.setTarget(player)
npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
npc.setCurrentHpMp(npc.getMaxHp(), npc.getMaxMp())
htmltext = "8372-4.htm"
elif event == "Withdraw" :
if player.getWarehouse().getSize() == 0 :
htmltext = "8374-0.htm"
else :
player.sendPacket(ActionFailed())
player.setActiveWarehouse(player.getWarehouse())
player.sendPacket(WareHouseWithdrawalList(player, 1))
elif event == "Teleport" :
if Alevel == 4 :
htmltext = "8376-4.htm"
elif Alevel == 5 :
htmltext = "8376-5.htm"
return htmltext
def onFirstTalk (self,npc,player):
htmltext = "<html><body>You are either not carrying out your quest or don't meet the criteria.</body></html>"
st = player.getQuestState(qn)
if not st :
st = self.newQuestState(player)
npcId = npc.getNpcId()
Alevel = player.getAllianceWithVarkaKetra()
Horns = st.getQuestItemsCount(Horn)
if npcId == Kadun :
if Alevel > 0 :
htmltext = "8370-friend.htm"
else :
htmltext = "8370-no.htm"
elif npcId == Wahkan :
if Alevel > 0 :
htmltext = "8371-friend.htm"
else :
htmltext = "8371-no.htm"
elif npcId == Asefa :
st.setState(STARTED)
if Alevel < 1 :
htmltext = "8372-3.htm"
elif Alevel < 3 and Alevel > 0:
htmltext = "8372-1.htm"
elif Alevel > 2 :
htmltext = "8372-4.htm"
elif npcId == Atan :
if player.getKarma() >= 1:
htmltext = "8373-pk.htm"
elif Alevel <= 0 :
htmltext = "8373-no.htm"
elif Alevel == 1 or Alevel == 2:
htmltext = "8373-1.htm"
else:
htmltext = "8373-2.htm"
elif npcId == Jaff :
if Alevel <= 0 :
htmltext = "8374-no.htm"
elif Alevel == 1 :
htmltext = "8374-1.htm"
elif player.getWarehouse().getSize() == 0 :
htmltext = "8374-3.htm"
elif Alevel == 2 or Alevel == 3:
htmltext = "8374-2.htm"
else :
htmltext = "8374-4.htm"
elif npcId == Jumara :
if Alevel == 2 :
htmltext = "8375-1.htm"
elif Alevel == 3 or Alevel == 4 :
htmltext = "8375-2.htm"
elif Alevel == 5 :
htmltext = "8375-3.htm"
else :
htmltext = "8375-no.htm"
elif npcId == Kurfa :
if Alevel <= 0 :
htmltext = "8376-no.htm"
elif Alevel > 0 and Alevel < 4 :
htmltext = "8376-1.htm"
elif Alevel == 4 :
htmltext = "8376-2.htm"
else :
htmltext = "8376-3.htm"
return htmltext
QUEST = Quest(6050, qn, "custom")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
QUEST.setInitialState(CREATED)
for i in NPCS:
QUEST.addFirstTalkId(i)
QUEST.addTalkId(Asefa)
QUEST.addTalkId(Kurfa)
QUEST.addTalkId(Jaff)

View File

@@ -0,0 +1,6 @@
<html><body>Elder Ashas Varka Durai:<br>
Welcome, my friend! I'm Ashas Varka Durai, an elder of the Varka tribe.<br>
To defend the land that was promised to us, we're at war with the arrogant Ketra Orcs. You've helped us to significantly damage them. They've proven to be much more formidable than we thought. We've reached an intractable stalemate! To bring our struggle to an end, you must make a long, hard journey. I wish you well!<br>
But, be careful. Whatever you do, you must remember our brothers are watching you. <font color="LEVEL">As soon as you lay a hand on our Varka tribe, all the promises between you and us will disappear! </font><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Elder Ashas Varka Durai:<br>
Hold it right there, stranger! Unfriendly visitors aren't welcome in this land!<br>
Traveler of the west wind! If you expect to win our trust, you must first visit <font color="LEVEL">Varka's messenger Naran Ashanuk</font>. He'll tell you what you must do.
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Ketra's Messenger Naran Ashanuk:<br>
The Silenos were a wandering tribe that followed the wind. I suppose if you've made it this far you already know that. We Varka are warriors! We're the toughest, most tenacious fighters ever! You're extremely brave!<br>
You helped us to drive those arrogant Ketra Orcs from our territory!<br>
Dear friend of the Varka, please stay and help us fight our enemy!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Varka's Messenger Naran Ashanuk:<br>
Behold the promised land of the Varka! It was given to us as a reward for spilling our blood in defense of the kingdom of Elmore! Who do those pathetic Ketra Orcs think they are? Saying that this land has belonged to them for thousands of years! Rubbish!<br>
You, traveler of the west wind! Will you help us defeat those arrogant Ketras? You'll be well-rewarded!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Soul Guide Udan Mardui:<br>
I'm Soul Guide Udan Mardui.<br>
You're a friend of Varka, aren't you? Your reputation precedes you, my friend! Unfortunately, I can't offer you any just help yet.<br>
All favors must be reciprocated with an appropriate price! When you've accumulated enough trust, come back and see me again! On behalf of our tribe, I'll give you a reward!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Soul Guide Udan Mardui:<br>
If you want to be blessed, give me the<font color="LEVEL"> seed of Nepenthes</font>! Prove yourself!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Soul Guide Udan Mardui:<br>
I'm Udan Mardui, guide of dead souls. Dear traveler of the west wind, there's nothing I can offer you.<br>
You came here looking for peace, leave the same way!<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,13 @@
<html><body>Soul Guide Udan Mardui:<br>
I am Udan Mardui, guide of dead souls.<br>
Dear friend of water, I thank you for the service you provided. May the good will and blessing of nature's goodness be with you always! I hope the reward I give you will help in your combat.<br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport 1">Blessing of Wolf (Focus): Requires 2 Nepenthes Seeds</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport 2">Blessing of Hawk (Death Whisper): Requires 2 Nepenthes Seeds</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport 3">Blessing of Bear (Might): Requires 3 Nepenthes Seeds</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport 4">Blessing of Spider (Acumen): Requires 3 Nepenthes Seeds</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport 5">Blessing of Lion (Berserker): Requires 3 Nepenthes Seeds</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport 6">Blessing of Coyote (Vampiric Rage): Requires 3 Nepenthes Seeds</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport 7">Blessing of Owl (Empower): Requires 6 Nepenthes Seeds</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport 8">Blessing of Wild Horse (Haste): Requires 6 Nepenthes Seeds</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Grocer Diyabu:<br>
Oh! Are you the soldier I've been hearing so much about?!<br>
My name is Diyabu. As you can see, I'm a businessman. If you ever need anything, just let me know. I'll try my best to accommodate you. A hero like you deserves the best!<br>
<a action="bypass -h npc_%objectId%_Buy 1813">Buy</a><br>
<a action="bypass -h npc_%objectId%_Sell">Sell</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Grocer Diyabu:<br>
Dear Friend of Varka! You make me very sad! Friends shouldn't lie to each other! You should be more honest!<br>
<a action="bypass -h npc_%objectId%_Buy 1813">Buy</a><br>
<a action="bypass -h npc_%objectId%_Sell">Sell</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Grocer Diyabu:<br>
Dear traveler of the west wind. I must tell you! I deal with friends of Varka only!
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Grocer Diyabu:<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>

View File

@@ -0,0 +1,3 @@
<html><body>Warehouse Keeper Hagos:<br>
Ha! You never deposited anything here! Your memory is not as good as your reputation!
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Warehouse Keeper Hagos:<br>
Welcome, friend of Varka!<br>
I'm in charge of keeping the tribe's supplies. I can't help you now because I don't yet have the approval of the elder.<br>
Try a little harder! Surely he'll allow you to use the warehouse.<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Warehouse Keeper Hagos:<br>
Do they call you a criminal? I don't like labels like that... What's a criminal anyway? Someone who broke a Contract? Varkas always keep their word! So should you!<br>
<a action="bypass -h npc_%objectId%_DepositP">Deposit an item.</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport Withdraw">Pick up an item.</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Warehouse Keeper Hagos:<br>
Hello, friend of Varka! You haven't deposited any items here.<br>
<a action="bypass -h npc_%objectId%_DepositP">Deposit an item.</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport Withdraw">Pick up an item.</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Warehouse Keeper Hagos:<br>
Welcome, valiant soldier of Varka!<br>
What can I do for you?<br>
<a action="bypass -h npc_%objectId%_DepositP">Deposit an item.</a><br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport Withdraw">Pick up an item.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Warehouse Keeper Hagos:<br>
Oh, traveler of the west wind! Haven't you heard? We Varka only do favors for our friends. We don't deal with strangers!
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Trader Shikon:<br>
Greetings, friend of the Varka!<br>
Are you surprised to learn that traders such as myself exist within my warrior race? Don't you realize that rivers carry the treasures of many lands as they find their way to the sea?<br>
What I can supply to you now is this low-level booty pouch! Someday, when you can open one of our looted boxes, you'll lay your hands on the strongest armor available!<br>
Bring me a<font color="LEVEL"> Nepenthes Seed</font> and I'll give you whatever you want!<br>
<a action="bypass -h npc_%objectId%_multisell 83820001">"I want to buy one of the Varka's specialty products."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Trader Shikon:<br>
Your reputation as a valiant warrior grows everyday, along with the joy in my heart! I now hope that before long, we'll be able to settle in the promised land!<br>
I've been ordered to supply a higher-level pouch to you, but unfortunately, I can't give you the strongest armor yet! Come back when you've had more experience, and are qualified to open the box.<br>
Bring me a<font color="LEVEL"> Nepenthes Seed</font> and I'll give you whatever you want! Care to take a look?<br>
<a action="bypass -h npc_%objectId%_multisell 83820002">"I want to buy one of the Varka's specialty products."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Trader Shikon:<br>
Excellent! I've never seen a fighter as strong as you!<br>
You're finally qualified to obtain the most valuable looted goods from our tribe! Now, open the box to reveal your path to the strongest armor!<br>
Bring me a<font color="LEVEL"> Nepenthes Seed</font> and I'll give you whatever you want! Care to give it a try?<br>
<a action="bypass -h npc_%objectId%_multisell 83820003">"I want to buy one of the Varka's specialty products."</a><br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Trader Shikon:<br>
Greetings, friend of the Varka!<br>
You are not strong enough yet! Try again when you've had more experiences.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Gatekeeper Teranu Mardui:<br>
Hello there, old friend!<br>
I'm dreadfully sorry, but you still are forbidden to use the gate of time and space. In the mean time, would you be willing to serve the Varka?<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Gatekeeper Teranu Mardui:<br>
We Varka have no regard for the standards of the outside world. If a person is trustworthy, he is our friend. Where do you wish to travel, friend of the Varka?<br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport Teleport">Teleport</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Gatekeeper Teranu Mardui:<br>
Welcome, friend of Varka!<br>
My elder says that I can escort you to another village. Since you're our friend, I'll gladly open the gate of time and space for you.<br>
<a action="bypass -h Quest 6051_VarkaSilenosSupport Teleport">Teleport</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>&$556;<br>
<br>
<a action="bypass -h npc_%objectId%_goto 10034" msg="811;Goddard Castle Town">Goddard Castle Town - 8000 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10035" msg="811;Rune Castle Town">Rune Castle Town - 12000 Adena</a><br1>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>&$556;<br>
<br>
<a action="bypass -h npc_%objectId%_goto 10034" msg="811;Goddard Castle Town">Goddard Castle Town - 8000 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10035" msg="811;Rune Castle Town">Rune Castle Town - 12000 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10036" msg="811;Aden Castle Town">Aden Castle Town - 17000 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10037" msg="811;Wall of Argos">Wall of Argos - 11000 Adena</a><br1>
<a action="bypass -h npc_%objectId%_goto 10038" msg="811;Hot Springs">Hot Springs - 14000 Adena</a><br1>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Gatekeeper Teranu Mardui:<br>
I guide travelers through the gate of time and space! I don't deal with outsiders!
</body></html>

View File

@@ -0,0 +1,141 @@
# Created by Emperorc
# Finished by Kerberos_20 10/23/07
import sys
from com.l2jmobius.gameserver.model.quest import State
from com.l2jmobius.gameserver.model.quest import QuestState
from com.l2jmobius.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jmobius.gameserver.datatables import SkillTable
from com.l2jmobius.gameserver.network.serverpackets import WareHouseWithdrawalList
from com.l2jmobius.gameserver.network.serverpackets import ActionFailed
qn = "6051_VarkaSilenosSupport"
Ashas = 8377 #Hierarch
Naran = 8378 #Messenger
Udan = 8379 #Buffer
Diyabu= 8380 #Grocer
Hagos = 8381 #Warehouse Keeper
Shikon= 8382 #Trader
Teranu= 8383 #Teleporter
NPCS = range(8377,8384)
Seed = 7187
#"event number":[Buff Id,Buff Level,Cost]
BUFF={
"1":[4359,1,2],#Focus: Requires 2 Nepenthese Seeds
"2":[4360,1,2],#Death Whisper: Requires 2 Nepenthese Seeds
"3":[4345,1,3],#Might: Requires 3 Nepenthese Seeds
"4":[4355,1,3],#Acumen: Requires 3 Nepenthese Seeds
"5":[4352,1,3],#Berserker: Requires 3 Nepenthese Seeds
"6":[4354,1,3],#Vampiric Rage: Requires 3 Nepenthese Seeds
"7":[4356,1,6],#Empower: Requires 6 Nepenthese Seeds
"8":[4357,1,6],#Haste: Requires 6 Nepenthese Seeds
}
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onAdvEvent (self,event,npc,player) :
htmltext = "8379-2.htm"
st = player.getQuestState(qn)
if not st: return
Alevel = player.getAllianceWithVarkaKetra()
if str(event) in BUFF.keys() :
skillId,level,seeds=BUFF[event]
if st.getQuestItemsCount(Seed) >= seeds :
st.takeItems(Seed,seeds)
npc.setTarget(player)
npc.doCast(SkillTable.getInstance().getInfo(skillId,level))
npc.setCurrentHpMp(npc.getMaxHp(), npc.getMaxMp())
htmltext = "8379-4.htm"
elif event == "Withdraw" :
if player.getWarehouse().getSize() == 0 :
htmltext = "8381-0.htm"
else :
player.sendPacket(ActionFailed())
player.setActiveWarehouse(player.getWarehouse())
player.sendPacket(WareHouseWithdrawalList(player, 1))
elif event == "Teleport" :
if Alevel == -4 :
htmltext = "8383-4.htm"
elif Alevel == -5 :
htmltext = "8383-5.htm"
return htmltext
def onFirstTalk (self,npc,player):
htmltext = "<html><body>You are either not carrying out your quest or don't meet the criteria.</body></html>"
st = player.getQuestState(qn)
if not st :
st = self.newQuestState(player)
npcId = npc.getNpcId()
Alevel = player.getAllianceWithVarkaKetra()
Seeds = st.getQuestItemsCount(Seed)
if npcId == Ashas :
if Alevel < 0 :
htmltext = "8377-friend.htm"
else:
htmltext = "8377-no.htm"
elif npcId == Naran :
if Alevel < 0 :
htmltext = "8378-friend.htm"
else :
htmltext = "8378-no.htm"
elif npcId == Udan :
st.setState(STARTED)
if Alevel > -1 :
htmltext = "8379-3.htm"
elif Alevel > -3 and Alevel < 0:
htmltext = "8379-1.htm"
elif Alevel < -2 :
htmltext = "8379-4.htm"
elif npcId == Diyabu :
if player.getKarma() >= 1:
htmltext = "8380-pk.htm"
elif Alevel >= 0 :
htmltext = "8380-no.htm"
elif Alevel == -1 or Alevel == -2:
htmltext = "8380-1.htm"
else:
htmltext = "8380-2.htm"
elif npcId == Hagos :
if Alevel >= 0 :
htmltext = "8381-no.htm"
elif Alevel == -1 :
htmltext = "8381-1.htm"
elif player.getWarehouse().getSize() == 0 :
htmltext = "8381-3.htm"
elif Alevel == -2 or Alevel == -3:
htmltext = "8381-2.htm"
else :
htmltext = "8381-4.htm"
elif npcId == Shikon :
if Alevel == -2 :
htmltext = "8382-1.htm"
elif Alevel == -3 or Alevel == -4 :
htmltext = "8382-2.htm"
elif Alevel == -5 :
htmltext = "8382-3.htm"
else :
htmltext = "8382-no.htm"
elif npcId == Teranu :
if Alevel >= 0 :
htmltext = "8383-no.htm"
elif Alevel < 0 and Alevel > -4 :
htmltext = "8383-1.htm"
elif Alevel == -4 :
htmltext = "8383-2.htm"
else :
htmltext = "8383-3.htm"
return htmltext
QUEST = Quest(6051, qn, "custom")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
QUEST.setInitialState(CREATED)
for i in NPCS:
QUEST.addFirstTalkId(i)
QUEST.addTalkId(Udan)
QUEST.addTalkId(Hagos)
QUEST.addTalkId(Teranu)

View File

@@ -0,0 +1,87 @@
# Made by DrLecter
import sys
from com.l2jmobius.gameserver.model.quest import State
from com.l2jmobius.gameserver.model.quest import QuestState
from com.l2jmobius.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jmobius.gameserver.datatables import ItemTable
MONUMENTS=[8690]+range(8769,8773)
HERO_ITEMS={
6611:["weapon_the_sword_of_hero_i00","Infinity Blade","During a critical attack, decreases one's P. Def and increases de-buff casting ability, damage shield effect, Max HP, Max MP, Max CP, and shield defense power. Also enhances damage to target during PvP.","297/137","Sword"],
6612:["weapon_the_two_handed_sword_of_hero_i00","Infinity Cleaver","Increases Max HP, Max CP, critical power and critical chance. Inflicts extra damage when a critical attack occurs and has possibility of reflecting the skill back on the player. Also enhances damage to target during PvP.","361/137","Double Handed Sword"],
6613:["weapon_the_axe_of_hero_i00","Infinity Axe","During a critical attack, it bestows one the ability to cause internal conflict to one's opponent. Damage shield function, Max HP, Max MP, Max CP as well as one's shield defense rate are increased. It also enhances damage to one's opponent during PvP.","297/137","Blunt"],
6614:["weapon_the_mace_of_hero_i00","Infinity Rod","When good magic is casted upon a target, increases MaxMP, MaxCP, Casting Spd, and MP regeneration rate. Also recovers HP 100% and enhances damage to target during PvP.","238/182","Blunt"],
6615:["weapon_the_hammer_of_hero_i00","Infinity Crusher","Increases MaxHP, MaxCP, and Atk. Spd. Stuns a target when a critical attack occurs and has possibility of reflecting the skill back on the player. Also enhances damage to target during PvP.","361/137","Blunt"],
6616:["weapon_the_staff_of_hero_i00","Infinity Scepter","When casting good magic, it can recover HP by 100% at a certain rate, increases MAX MP, MaxCP, M. Atk., lower MP Consumption, increases the Magic Critical rate, and reduce the Magic Cancel. Enhances damage to target during PvP.","290/182","Blunt"],
6617:["weapon_the_dagger_of_hero_i00","Infinity Stinger","Increases MaxMP, MaxCP, Atk. Spd., MP regen rate, and the success rate of Mortal and Deadly Blow from the back of the target. Silences the target when a critical attack occurs and has Vampiric Rage effect. Also enhances damage to target during PvP.","260/137","Dagger"],
6618:["weapon_the_fist_of_hero_i00","Infinity Fang","Increases MaxHP, MaxMP, MaxCP and evasion. Stuns a target when a critical attack occurs and has possibility of reflecting the skill back on the player at a certain probability rate. Also enhances damage to target during PvP.","361/137","Dual Fist"],
6619:["weapon_the_bow_of_hero_i00","Infinity Bow","Increases MaxMP/MaxCP and decreases re-use delay of a bow. Slows target when a critical attack occurs and has Cheap Shot effect. Also enhances damage to target during PvP.","614/137","Bow"],
6620:["weapon_the_dualsword_of_hero_i00","Infinity Wing","When a critical attack occurs, increases MaxHP, MaxMP, MaxCP and critical chance. Silences the target and has possibility of reflecting the skill back on the target. Also enhances damage to target during PvP.","361/137","Dual Sword"],
6621:["weapon_the_pole_of_hero_i00","Infinity Spear","During a critical attack, increases MaxHP, Max CP, Atk. Spd. and Accuracy. Casts dispel on a target and has possibility of reflecting the skill back on the target. Also enhances damage to target during PvP.","297/137","Pole"],
6842:["accessory_hero_cap_i00","Wings of Destiny Circlet","Hair accessory exclusively used by heroes.","0","Hair Accessory"]
}
def render_list(mode,item) :
html = "<html><body><font color=\"LEVEL\">List of Hero Items:</font><table border=0 width=300>"
if mode == "list" :
for i in HERO_ITEMS.keys() :
html += "<tr><td width=35 height=45><img src=icon."+HERO_ITEMS[i][0]+" width=32 height=32 align=left></td><td valign=top><a action=\"bypass -h Quest 7000_HeroItems "+str(i)+"\"><font color=\"FFFFFF\">"+HERO_ITEMS[i][1]+"</font></a></td></tr>"
else :
html += "<tr><td align=left><font color=\"LEVEL\">Item Information</font></td><td align=right>\
<button value=Back action=\"bypass -h Quest 7000_HeroItems buy\" width=40 height=15 back=sek.cbui94 fore=sek.cbui92>\
</td><td width=5><br></td></tr></table><table border=0 bgcolor=\"000000\" width=500 height=160><tr><td valign=top>\
<table border=0><tr><td valign=top width=35><img src=icon."+HERO_ITEMS[item][0]+" width=32 height=32 align=left></td>\
<td valign=top width=400><table border=0 width=100%><tr><td><font color=\"FFFFFF\">"+HERO_ITEMS[item][1]+"</font></td>\
</tr></table></td></tr></table><br><font color=\"LEVEL\">Item info:</font>\
<table border=0 bgcolor=\"000000\" width=290 height=220><tr><td valign=top><font color=\"B09878\">"+HERO_ITEMS[item][2]+"</font>\
</td></tr><tr><td><br>Type:"+HERO_ITEMS[item][4]+"<br><br>Patk/Matk: "+HERO_ITEMS[item][3]+"<br><br>\
<table border=0 width=300><tr><td align=center><button value=Obtain action=\"bypass -h Quest 7000_HeroItems _"+str(item)+"\" width=60 height=15 back=sek.cbui94 fore=sek.cbui92></td></tr></table></td></tr></table></td></tr>"
html += "</table></body></html>"
return html
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
if st.getPlayer().isHero():
if event == "buy" :
htmltext=render_list("list",0)
elif event.isdigit() and int(event) in HERO_ITEMS.keys():
htmltext=render_list("item",int(event))
elif event.startswith("_") :
item = int(event.split("_")[1])
if item == 6842:
if st.getQuestItemsCount(6842):
htmltext = "You can't have more than a circlet and a weapon."
else :
st.giveItems(item,1)
htmltext = "Enjoy your Wings of Destiny Circlet."
else :
for i in range(6611,6622):
if st.getQuestItemsCount(i):
st.exitQuest(1)
return "You already have an "+HERO_ITEMS[i][1]
st.giveItems(item,1)
htmltext = "Enjoy your "+HERO_ITEMS[item][1]
st.playSound("ItemSound.quest_fanfare_2")
st.exitQuest(1)
return htmltext
def onTalk (Self,npc,st):
htmltext = "<html><body>I have nothing to say to you.</body></html>"
if st.getPlayer().isHero():
htmltext=render_list("list",0)
else :
st.exitQuest(1)
return htmltext
QUEST = Quest(7000,"7000_HeroItems","Hero Items")
CREATED = State('Start', QUEST)
QUEST.setInitialState(CREATED)
for i in MONUMENTS:
QUEST.addStartNpc(i)