rendered paste bodyREWARDS={"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