import sys import time from net.sf.l2j.gameserver.lib import Rnd from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest from net.sf.l2j.gameserver.serverpackets import CreatureSay from net.sf.l2j.gameserver.serverpackets import PlaySound from net.sf.l2j.gameserver.datatables import SkillTable # Boss: Klarus class klarus(JQuest) : # init function. Add in here variables that you'd like to be inherited by subclasses (if any) def __init__(self,id,name,descr): self.Klarus = 70050 self.LastSkillUseTime = 0 self.FirstAttacked = False # finally, don't forget to call the parent constructor to prepare the event triggering # mechanisms etc. JQuest.__init__(self,id,name,descr) def onAttack (self,npc,player): objId = npc.getObjectId() if self.FirstAttacked: if self.LastSkillUseTime+10 < int(time()): random = Rnd.get(100) if random <= 1: npc.useMagic(SkillTable.getInstance().getInfo(1, 37)) elif random <= 3 AND random >= 2: npc.useMagic(SkillTable.getInstance().getInfo(122, 15)) elif random <= 5 AND random >= 4: npc.useMagic(SkillTable.getInstance().getInfo(78, 2)) elif random <= 7 AND random >= 6: npc.useMagic(SkillTable.getInstance().getInfo(1231, 28)) elif random <= 9 AND random >= 8: npc.useMagic(SkillTable.getInstance().getInfo(115, 17)) elif random <= 11 AND random >= 10: npc.useMagic(SkillTable.getInstance().getInfo(92, 52)) elif random <= 13 AND random >= 12: npc.useMagic(SkillTable.getInstance().getInfo(1167, 6)) if random <= 13: npc.broadcastPacket(CreatureSay(objId, 0, "Klarus" , "Use skill")) self.LastSkillUseTime = int(time()) else: self.FirstAttacked = True npc.broadcastPacket(CreatureSay(objId, 0, "Klarus", "You stupid mortals...")) npc.broadcastPacket(CreatureSay(objId, 0, "Klarus", "Do you really think you can defeat me?")) npc.broadcastPacket(CreatureSay(objId, 0, "Klarus", "Feel my power...")) npc.useMagic(SkillTable.getInstance().getInfo(1, 37)) self.LastSkillUseTime = int(time()) return def onKill (self,npc,player): npcId = npc.getNpcId() if npcId == self.Klarus: objId = npc.getObjectId() npc.broadcastPacket(PlaySound(1, "BS02_D", 1, objId, npc.getX(), npc.getY(), npc.getZ())) npc.broadcastPacket(CreatureSay(objId, 0, "Klarus" , "Urgh... Uhhhrrrggg... I'll be back soon.... much stronger!")) self.FirstAttacked = False return # now call the constructor (starts up the ai) QUEST = klarus(-1, "klarus", "ai") QUEST.addKillId(QUEST.Klarus) QUEST.addAttackId(QUEST.Klarus) print "AI: individuals: Klarus..loaded!"