import sys
from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
from java.util import Iterator
from net.sf.l2j.gameserver.datatables import SkillTable
from net.sf.l2j import L2DatabaseFactory
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
qn = "9999_NPCBuffer"
NPC=[70022]
ADENA_ID=57
QuestId = 9999
QuestName = "NPCBuffer"
QuestDesc = "custom"
InitialHtml = "1.htm"
print "importing custom: 9999_NPCbuffer OK"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 150000 or st.getPlayer().getLevel() < 40 :
htmltext = "<html><head><body>У вас недостаточно аден<br>Ваш уровень(лвл) слишком мал, не ниже 40 лвл</body></html>"
else:
st.takeItems(ADENA_ID,0)
st.getPlayer().setTarget(st.getPlayer())
if event == "2":
st.takeItems(ADENA_ID,160000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4360,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4359,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4358,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4357,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4354,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4353,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4350,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4347,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "4.htm"
st.setState(COMPLETED)
if event == "3":
st.takeItems(ADENA_ID,80000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4352,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4351,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4355,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4356,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "4.htm"
st.setState(COMPLETED)
if event == "4":
st.takeItems(ADENA_ID,140000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4346,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4342,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4343,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4344,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4345,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4349,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4348,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "4.htm"
st.setState(COMPLETED)
if event == "5":
st.takeItems(ADENA_ID,400000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4360,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4359,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4358,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4357,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4354,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4353,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4350,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4348,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4352,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4351,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4355,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4356,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4346,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4342,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4343,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4344,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4345,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4349,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4347,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "4.htm"
st.setState(COMPLETED)
if event == "6":
st.takeItems(ADENA_ID,0)
st.getPlayer().setCurrentHp(st.getPlayer().getMaxHp())
return "1.htm"
st.setState(COMPLETED)
#Wind Walk
if event == "7":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4342,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Decrease Weight
if event == "8":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4343,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Shield
if event == "9":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4344,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Might
if event == "10":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4345,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Mental Shield
if event == "11":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4346,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Bless the Body
if event == "12":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4347,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Bless the Soul
if event == "13":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4348,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Magic Barrier
if event == "14":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4349,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Resist Shock
if event == "15":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4350,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Concentration
if event == "16":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4351,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Berserker Spirit
if event == "17":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4352,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Bless Shield
if event == "18":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4353,6),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Vampiric Rage
if event == "19":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4354,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Acumen
if event == "20":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4355,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Empower
if event == "21":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4356,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Haste
if event == "22":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4357,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Guidance
if event == "23":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4358,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Focus
if event == "24":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4359,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Death Whisper
if event == "25":
st.takeItems(ADENA_ID,25000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4360,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#All Song
if event == "26":
st.takeItems(prise_ID,all_song_prise)
SkillTable.getInstance().getInfo(267,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(270,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(268,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(269,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(265,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(264,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(266,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(306,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(304,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(308,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(305,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(363,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(349,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(364,1).getEffects(st.getPlayer(),st.getPlayer()
)
st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp())
return "1.htm"
st.setState(State.COMPLETED)
#All dance
if event == "27":
st.takeItems(prise_ID,all_dance_prise)
SkillTable.getInstance().getInfo(274,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(277,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(272,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(273,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(276,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(271,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(275,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(309,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(311,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(307,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(310,1).getEffects(st.getPlayer(),st.getPlayer()
)
SkillTable.getInstance().getInfo(365,1).getEffects(st.getPlayer(),st.getPlayer()
)
st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp())
return "1.htm"
st.setState(State.COMPLETED)
#Chant of Battle
if event == "28":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1007,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Shielding
if event == "29":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Fire
if event == "30":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1006,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Flame
if event == "31":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1002,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of life
if event == "32":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1229,18),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Fury
if event == "33":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1251,2),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Evasion
if event == "34":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1252,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Rage
if event == "35":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1253,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Revenge
if event == "36":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1284,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Vampire
if event == "37":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1310,4),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Eagle
if event == "38":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1309,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Predator
if event == "39":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1308,3),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Spirit
if event == "40":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1362,1),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Chant of Victory
if event == "41":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1363,1),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#chant of magnus
if event == "42":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1413,1),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "7.htm"
st.setState(COMPLETED)
#Restore
if event == "43":
st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp())
st.getPlayer().setCurrentCp(st.getPlayer().getMaxCp())
return "1.htm"
st.setState(State.COMPLETED)
#prof-water
if event == "44":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1355,1),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#prof-wind
if event == "45":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1357,1),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Wild Magic
if event == "46":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,1),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#prof-fire
if event == "47":
st.takeItems(ADENA_ID,20000)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1356,1),False,False)
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "5.htm"
st.setState(COMPLETED)
#Cancel
if event == "666":
st.getPlayer().stopAllEffects()
return "1.htm"
st.setState(State.COMPLETED)
if htmltext != event:
st.setState(COMPLETED)
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
st = player.getQuestState(qn)
htmltext = "<html><head><body>Мне больше нечего тебе сказать;)</body></html>"
st.setState(State.STARTED)
return "1.htm"
QUEST = Quest(9999,qn,"Custom")
for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)