global turnNum
turnNum = 0

def trapCog(cogNum=0):
    global turnNum
    try:
        for x in base.cr.doFindAll('battle'):
            x.sendUpdate('requestAttack', [1, 5, x.suits[cogNum].doId])
        turnNum += 1
    except:
        pass

def lureCog():
    global turnNum
    try:
        for x in base.cr.doFindAll('battle'):
            x.sendUpdate('requestAttack', [2, 5, x.suits[0].doId])
        turnNum += 1
    except:
        pass

def toonUp():
    global turnNum
    try:
        for x in base.cr.doFindAll('battle'):
            x.sendUpdate('requestAttack', [0, 4, base.localAvatar.doId])
        turnNum += 1
    except:
        pass

def checkIfDieing():
    global turnNum
    for x in base.cr.doFindAll('battle'):
        if base.localAvatar.getHp() < 97:
            if x.luredSuits == []:
                if turnNum == 4:
                    trapTrack.pause()
                    safetyTrack.pause()
                    base.localAvatar.displayWhisper(0, 'Lure Missed.', 4)
                    x.sendUpdate('requestAttack', [0, 4, base.localAvatar.doId])
                    
safetyTrack = Sequence(Func(checkIfDieing), Wait(.2))
safetyTrack.loop()

trapTrack = Sequence()
trapTrack.append(Func(trapCog, 3))
trapTrack.append(Wait(1))
trapTrack.append(Func(trapCog, 2))
trapTrack.append(Wait(1))
trapTrack.append(Func(base.talkAssistant.sendOpenTalk, '/r'))
trapTrack.append(Wait(1))
trapTrack.append(Func(trapCog, 1))
trapTrack.append(Wait(1))
trapTrack.append(Func(lureCog))
trapTrack.append(Wait(1))
trapTrack.append(Func(toonUp))
trapTrack.append(Wait(1))
trapTrack.append(Func(lureCog))
trapTrack.append(Wait(1))
trapTrack.append(Func(lureCog))
trapTrack.append(Wait(1))
trapTrack.append(Func(base.talkAssistant.sendOpenTalk, '/r'))
trapTrack.append(Wait(1))
trapTrack.append(Func(trapCog, 0))
trapTrack.append(Wait(1))
trapTrack.append(Func(toonUp))
trapTrack.append(Wait(1))
trapTrack.append(Func(lureCog))
trapTrack.append(Wait(1))
trapTrack.append(Func(base.talkAssistant.sendOpenTalk, '/r'))
trapTrack.start()
