All pastes #367015 Raw Edit

Someone

public text v1 · immutable
#367015 ·published 2007-02-22 01:43 UTC
rendered paste body
import 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)