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!"