rendered paste bodyimport sys
from java.util import Iterator
from net.sf.l2j.gameserver import SkillTable
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
print "importing custom: Leyla the NPC Buffer"
BUFFERNPCID = 8334
BUFFPRICE = 250000
AAID = 57
def getAACount(st) :
return st.getQuestItemsCount(AAID)
def applyTax(st) :
if st.getPlayer().getLevel() <= 40 :
return
else :
clan = st.getPlayer().getClan()
if clan :
if clan.getHasCastle() > 0 :
return
elif st.getQuestItemsCount(AAID) >= BUFFPRICE :
st.takeItems(AAID,BUFFPRICE)
return
else :
if st.getQuestItemsCount(AAID) >= BUFFPRICE :
st.takeItems(AAID,BUFFPRICE)
return
else :
st.exitQuest(1)
return "2.htm"
class Quest (JQuest):
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st):
if event == "back" :
return "1.htm"
elif event == "fighter" :
return "fighter.htm"
elif event == "mage" :
return "mage.htm"
elif event == "prophecy" :
return "prophecy.htm"
elif event == "etc" :
return "etc.htm"
elif event == "songs" :
return "songs.htm"
elif event == "dances" :
return "dances.htm"
elif event == "chants" :
return "chants.htm"
elif event == "acumen" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4355,3),False,False)
return "mage.htm"
elif event == "empower" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4356,3),False,False)
return "mage.htm"
elif event == "concentration" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4351,6),False,False)
return "mage.htm"
elif event == "focus" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4359,3),False,False)
return "fighter.htm"
elif event == "deathwhisper" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4360,3),False,False)
return "fighter.htm"
elif event == "haste" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4357,2),False,False)
return "fighter.htm"
elif event == "guidance" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4358,3),False,False)
return "fighter.htm"
elif event == "vampiricrage" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4354,4),False,False)
return "fighter.htm"
elif event == "might" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4345,3),False,False)
return "fighter.htm"
elif event == "powater" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4392,1),False,False)
return "prophecy.htm"
elif event == "pofire" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4393,1),False,False)
return "prophecy.htm"
elif event == "powind" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4394,1),False,False)
return "prophecy.htm"
elif event == "mentalshield" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4346,4),False,False)
return "resistance.htm"
elif event == "berserk" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4352,2),False,False)
return "etc.htm"
elif event == "bodybless" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4347,6),False,False)
return "etc.htm"
elif event == "soulbless" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4348,6),False,False)
return "etc.htm"
elif event == "shield" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4344,3),False,False)
return "etc.htm"
elif event == "magicbarrier" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4349,2),False,False)
return "etc.htm"
elif event == "agility" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4391,1),False,False)
return "etc.htm"
elif event == "blessshield" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4353,6),False,False)
return "etc.htm"
elif event == "decreaseweight" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4343,3),False,False)
return "etc.htm"
elif event == "windwalk" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(4342,2),False,False)
return "etc.htm"
elif event == "songofearth" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6001,1),False,False)
return "songs.htm"
elif event == "songoflife" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6002,1),False,False)
return "songs.htm"
elif event == "songofwater" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6003,1),False,False)
return "songs.htm"
elif event == "songofwarding" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6004,1),False,False)
return "songs.htm"
elif event == "songofwind" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6005,1),False,False)
return "songs.htm"
elif event == "songofhunter" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6006,1),False,False)
return "songs.htm"
elif event == "songofinvocation" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6007,1),False,False)
return "songs.htm"
elif event == "danceofwarrior" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6008,1),False,False)
return "dances.htm"
elif event == "danceofinspiration" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6009,1),False,False)
return "dances.htm"
elif event == "danceofmystic" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6010,1),False,False)
return "dances.htm"
elif event == "danceoffire" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6011,1),False,False)
return "dances.htm"
elif event == "danceoffury" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6012,1),False,False)
return "dances.htm"
elif event == "danceofconcentration" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6013,1),False,False)
return "dances.htm"
elif event == "danceoflight" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6014,1),False,False)
return "dances.htm"
elif event == "songofvitality" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6015,1),False,False)
return "songs.htm"
elif event == "songofvengeance" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6016,1),False,False)
return "songs.htm"
elif event == "danceofvampire" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6017,1),False,False)
return "dances.htm"
elif event == "songofchampion" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6018,1),False,False)
return "songs.htm"
elif event == "danceofsiren" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6019,1),False,False)
return "dances.htm"
elif event == "chantofflame" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6020,3),False,False)
return "chants.htm"
elif event == "powerofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6021,3),False,False)
return "chants.htm"
elif event == "wisdomofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6022,3),False,False)
return "chants.htm"
elif event == "blessingofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6023,3),False,False)
return "chants.htm"
elif event == "chantoffire" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6024,3),False,False)
return "chants.htm"
elif event == "chantofbattle" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6025,3),False,False)
return "chants.htm"
elif event == "gloryofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6026,3),False,False)
return "chants.htm"
elif event == "chantofshielding" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6027,3),False,False)
return "chants.htm"
elif event == "sightofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6028,3),False,False)
return "chants.htm"
elif event == "shieldofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6029,3),False,False)
return "chants.htm"
elif event == "chantoffury" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6030,2),False,False)
return "chants.htm"
elif event == "chantofevasion" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6031,3),False,False)
return "chants.htm"
elif event == "chantofrage" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6032,3),False,False)
return "chants.htm"
elif event == "tactofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6033,3),False,False)
return "chants.htm"
elif event == "rageofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6034,2),False,False)
return "chants.htm"
elif event == "speedofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6035,2),False,False)
return "chants.htm"
elif event == "chantofrevenge" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6036,3),False,False)
return "chants.htm"
elif event == "chantofpredator" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6038,3),False,False)
return "chants.htm"
elif event == "chantofeagle" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6039,3),False,False)
return "chants.htm"
elif event == "chantofvampire" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6040,4),False,False)
return "chants.htm"
elif event == "chantofvictory" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6041,1),False,False)
return "chants.htm"
elif event == "chantofspirit" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6042,1),False,False)
return "chants.htm"
elif event == "eyeofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6043,1),False,False)
return "chants.htm"
elif event == "soulofpaagrio" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6044,1),False,False)
return "chants.htm"
elif event == "songofflameguard" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6045,1),False,False)
return "songs.htm"
elif event == "danceofaquaguard" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6046,1),False,False)
return "dances.htm"
elif event == "songofstormguard" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6047,1),False,False)
return "songs.htm"
elif event == "danceofearthguard" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6048,1),False,False)
return "dances.htm"
elif event == "songofmeditation" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6049,1),False,False)
return "songs.htm"
elif event == "songofrenewal" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6050,1),False,False)
return "songs.htm"
elif event == "danceofprotection" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6051,1),False,False)
return "dances.htm"
elif event == "arcaneprotection" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6052,1),False,False)
return "etc.htm"
elif event == "divineprotection" :
applyTax(st)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(6053,1),False,False)
return "etc.htm"
def onTalk (self,npc,st):
if st.getPlayer().getLevel() <= 40 :
return "1.htm"
else :
clan = st.getPlayer().getClan()
if clan :
if clan.getHasCastle() > 0 :
return "1.htm"
elif st.getQuestItemsCount(AAID) >= BUFFPRICE :
return "1.htm"
else :
if st.getQuestItemsCount(AAID) >= BUFFPRICE :
return "1.htm"
else :
st.exitQuest(1)
return "2.htm"
QUEST = Quest(1200, "npcbuff", "NPC BUFFS")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(BUFFERNPCID)
CREATED.addTalkId(BUFFERNPCID)