All pastes #739615 Raw Edit

Unnamed

public python v1 · immutable
·published 2007-10-17 10:21 UTC
rendered paste body
REWARDS={"low":[low,10],         "middle":[middle,30],         "high":[high,50]}low = [[1864,60],#stem       [1865,30],#varnish       [1866,20],#suede       [1867,40],#animal skin       [1868,60],#thread       [1869,30],#io       [1870,30],#coal       [1871,30],#charcoal       [1872,40],#animal bone       [1873,12]#silver       ]middle = [[1874,5],#oo          [1875,5],#sop          [1876,15],#mo          [1877,3]#ada nugget          ]high = [[4039,5],#mold glue        [4040,3],#mold lubricant        [4041,1],#mold hardener        [4042,2],#enria        [4043,5],#asofe        [4044,5]#thons        ]class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onEvent (self,event,st) :    htmltext = event    if htmltext == "accept.htm" :       st.set("cond","1")       st.setState(STARTED)       st.playSound("ItemSound.quest_accept")    elif event in REWARDS.keys() :       st.takeItems(EI,100)       where,ChanceToFailure = REWARDS[event]       id,count = where[st.getRandom(len(where))]       if st.getRandom(100) < ChanceToFailure:           htmltext = "smula.html"       else:           htmltext = "reward.html"           st.giveItems(id,count)    return htmltext def onTalk (self,npc,player):   st = player.getQuestState(qn)   htmltext = "<html><body>You are either not carrying out your quest or don't meet the criteria.</body></html>"   if st :     npcId = npc.getNpcId()     id = st.getState()     cond = st.getInt("cond")     if cond == 0 and id == CREATED:       if npcId == NPC :         htmltext = "start.htm"     elif id == STARTED :       if npcId == NPC :         htmltext = "event.htm"       elif npcId == RewardNPC :         if st.getQuestItemsCount(drop)>100 :           htmltext = "buylist.htm"         else :           htmltext = "not_enough.htm"   return htmltext def onKill(self,npc,player,isPet):     partyMember = self.getRandomPartyMember(player, "1")     if not partyMember: return     st = partyMember.getQuestState(qn)     if st :       if st.getState() == STARTED :         playerLvL = st.getPlayer().getLevel()           npcLvL = npc.getLevel()+9         npcId = npc.getNpcId()         npcType = getStat().calcStat(Stats.MAX_HP , 1, this, null)         st.giveItems(6393,int(getStat().calcStat(Stats.MAX_HP , 1, this, null)*2)) #for testing         if npc in Raids.keys() :             numItems, chance = divmod(npcLvL*npcLvL*10,100)         elif npc in MOBS.keys() and playerLvL<=mobLvL:             numItems, chance = divmod(npcLvL*npcType,100)         if st.getRandom(100) < chance :             numItems += 1         if numItems>1:             st.giveItems(EI,int(numItems))             st.playSound("ItemSound.quest_itemget")     return