def AddDictIfExists(self, tag_name: ResponseTypes): if tag_name.name in self.json_data: moves = {} for key in self.json_data[tag_name.name]: moves[int(key)] = ParseMoveList( self.json_data[tag_name.name][key]) self.move_index[tag_name.name] = moves
def SetFrameTrapCommandFromNotationString(self, notation: str): try: self.response = ParseMoveList(">, " + notation + ", >>") #print(self.response) except: print("Could not parse move: " + str(notation))
def Update(self, gameState: TekkenGameState): super().Update(gameState) if self.LastMoveName != self.BotMove: self.LastMoveName = self.BotMove #print(self.BotMove) if self.botCommands.IsAvailable(): BotBehaviors.BlockAllAttacks(gameState, self.botCommands) #Check to see if the bot is standing if gameState.stateLog[-1].bot.simple_state != ( SimpleMoveStates.STANDING): self.FrameLastAction = self.frameCounter else: if self.distance > 1500: self.botCommands.AddCommand( self.botCommands.ForwarddashSmall()) elif self.DetermineIfAction(): if self.Command is not None: if (isinstance(self.Command, list)): Command = self.Command.pop(0) else: Command = self.Command print(Command) self.overlay.WriteToOverlay(Command) self.botCommands.AddCommand(ParseMoveList(Command))
def Update(self, gameState: TekkenGameState): super().Update(gameState) if self.botCommands.IsAvailable() and gameState.IsForegroundPID(): # BotMove = gameState.GetCurrentBotMoveName() # if BotMove != self.LastBotMoveName: # self.LastBotMoveName = BotMove # print("Bot Move:" + BotMove) #if gameState.DidBotStartGettingPunishedXFramesAgo(30): #print(gameState.stateLog[-1].bot.hit_outcome) #if gameState.GetFramesSinceBotTookDamage() < 15: if gameState.stateLog[-1].bot.hit_outcome in self.HitList(): if self.lastMove: print("Punished") # self.NumCorrectPunished = self.NumCorrectPunished + 1 # self.Movelist.removeMoveFromGameplan(self.lastMove) self.lastMove = None # if not self.Movelist.gameplan: # self.exit = True # print("Percentage of punishes: " + str((float(self.NumCorrectPunished) / float(self.CountOfAttempts)) * 100) + "%") # print("Total Punished: " + str(self.NumCorrectPunished)) # print("Total Attempts: " + str(self.CountOfAttempts)) BotBehaviors.BlockAllAttacks(gameState, self.botCommands) #Check to see if the bot is standing if gameState.stateLog[-1].bot.simple_state != (SimpleMoveStates.STANDING): self.FrameLastAction = self.frameCounter #print(gameState.stateLog[-1].bot.simple_state) else: if self.distance > 1500: self.botCommands.AddCommand(self.botCommands.ForwarddashSmall()) elif self.DetermineIfAction(): #print(self.distance) #self.botCommands.AddCommand(random.choice(self.punishableMoves)) #print(random.choice(self.punishableMoves)) if len(self.queue) == 0: self.lastMove = self.Movelist.getNextGameplanMove() if(self.overlay != None): self.overlay.WriteToOverlay(self.Movelist.getMoveName(self.lastMove) + "\t" + self.Movelist.getMoveOnBlock(self.lastMove)) self.FrameLastAction = self.frameCounter self.queue.append(self.lastMove) self.queue.append(self.lastMove) self.queue.append(self.lastMove) else: self.lastMove = self.queue.pop(0) #move = self.Movelist[-1] #command = move.getMoveCommand command = self.Movelist.getMoveCommand(self.lastMove) print("Move: " + self.Movelist.getMoveName(self.lastMove) + "\nID: " + self.Movelist.getMoveId(self.lastMove) + "\n") #print(ParseMoveList(command)) if command is not None: self.botCommands.AddCommand(ParseMoveList(command)) self.CountOfAttempts = self.CountOfAttempts + 1
def Update(self, gameState: TekkenGameState): successfulUpdate = super().Update(gameState) if(self.recording): self.recorder.update_state() if(self.playback and self.botCommands.IsAvailable() and gameState.IsForegroundPID()): # if self.distance > 1500: # self.botCommands.AddCommand(self.botCommands.ForwarddashSmall()) # else: self.botCommands.AddCommand(ParseMoveList(self.testCommand)) self.testCommand = "" self.playback = False
def Update(self, gameState: TekkenGameState): super().Update(gameState) #self.cyclopedia_p1.Update(gameState) #self.cyclopedia_p2.Update(gameState) currentPlayerMoveName = gameState.GetCurrentOppMoveName() if(currentPlayerMoveName != self.LastPlayerMoveName): self.LastPlayerMoveName = currentPlayerMoveName #print(self.LastPlayerMoveName) ###Testing #test = self.OppMovelist.getMoveById(5) #print(self.OppMovelist.DidMoveJustHappen(self.BotMoveHistory, test)) ###End Testing if self.botCommands.IsAvailable() and gameState.IsForegroundPID(): if gameState.stateLog[-1].bot.hit_outcome in self.HitList(): if self.lastMove: print("Punished") #get player character's correct punishes #if player used correct punish count as punished self.lastMove = None BotBehaviors.BlockAllAttacks(gameState, self.botCommands) #Check to see if the bot is standing if gameState.stateLog[-1].bot.simple_state != (SimpleMoveStates.STANDING): self.FrameLastAction = self.frameCounter else: if self.distance > 1500: self.botCommands.AddCommand(self.botCommands.ForwarddashSmall()) elif self.DetermineIfAction(): if len(self.queue) == 0: self.lastMove = self.Movelist.getNextGameplanMove() if(self.overlay != None): self.overlay.WriteToOverlay(self.Movelist.getMoveName(self.lastMove) + "\t" + self.Movelist.getMoveOnBlock(self.lastMove)) self.FrameLastAction = self.frameCounter self.queue.append(self.lastMove) self.queue.append(self.lastMove) self.queue.append(self.lastMove) else: self.lastMove = self.queue.pop(0) command = self.Movelist.getMoveCommand(self.lastMove) print("Move: " + self.Movelist.getMoveName(self.lastMove) + "\nID: " + self.Movelist.getMoveId(self.lastMove) + "\n") if command is not None: self.botCommands.AddCommand(ParseMoveList(command)) self.CountOfAttempts = self.CountOfAttempts + 1
def Update(self, gameState: TekkenGameState): super().Update(gameState) self.Movelist.shuffleGameplan() if self.botCommands.IsAvailable(): if gameState.stateLog[-1].bot.hit_outcome in self.HitList(): if self.lastMove: print("Punished") self.NumCorrectPunished = self.NumCorrectPunished + 1 self.Movelist.removeMoveFromGameplan(self.lastMove) self.lastMove = None if not self.Movelist.gameplan: self.exit = True print("Percentage of punishes: " + str((float(self.NumCorrectPunished) / float(self.CountOfAttempts)) * 100) + "%") print("Total Punished: " + str(self.NumCorrectPunished)) print("Total Attempts: " + str(self.CountOfAttempts)) BotBehaviors.BlockAllAttacks(gameState, self.botCommands) #Check to see if the bot is standing if gameState.stateLog[-1].bot.simple_state != ( SimpleMoveStates.STANDING): self.FrameLastAction = self.frameCounter else: if self.distance > 1500: self.botCommands.AddCommand( self.botCommands.ForwarddashSmall()) elif self.DetermineIfAction(): if len(self.queue) == 0: self.lastMove = self.Movelist.getNextGameplanMove() else: self.lastMove = self.queue.pop(0) command = self.Movelist.getMoveCommand(self.lastMove, 0) print("Move: " + self.Movelist.getMoveName(self.lastMove) + "\nID: " + self.Movelist.getMoveId(self.lastMove) + "\n") if command is not None: self.botCommands.AddCommand(ParseMoveList(command)) self.CountOfAttempts = self.CountOfAttempts + 1
def getParsedCommand(self, move): return ParseMoveList(self.getMoveCommand(move))
def Update(self, gameState: TekkenGameState): successfulUpdate = gameState.Update() if gameState.IsGameHappening(): self.frameCounter += 1 self.distance = gameState.GetDist() if not self.recorder == None: self.recorder.Update(gameState) BotBehaviors.Basic(gameState, self.botCommands) if gameState.WasFightReset(): self.botCommands.ClearCommands() self.gameplan = None if self.gameplan == None: char_id = gameState.GetBotCharId() if char_id != None: self.gameplan = GetGameplan(char_id) #self.punishableMoves = self.gameplan.GetPunishableMoves() #self.allMoves = getMoves(char_id) #self.useMoves = getPunishableMoves(self.allMoves) self.allMoves = MoveList(char_id) self.useMoves = self.allMoves.allMoves self.allMoves.getGameplan(1) self.allMoves.shuffleGameplan() if self.botCommands.IsAvailable(): #if gameState.DidBotStartGettingPunishedXFramesAgo(30): #gameState.IsOppAbleToAct() if gameState.stateLog[-1].bot.IsPunish( ) or gameState.stateLog[-1].bot.IsBeingJuggled(): #if gameState.GetFramesSinceBotTookDamage() < 30: if self.lastMove: print("Punished") self.NumCorrectPunished = self.NumCorrectPunished + 1 self.allMoves.removeMoveFromGameplan(self.lastMove) self.lastMove = None if not self.allMoves.gameplan: self.exit = True print("Percentage of punishes: " + str((float(self.NumCorrectPunished) / float(self.CountOfAttempts)) * 100) + "%") print("Total Punished: " + str(self.NumCorrectPunished)) print("Total Attempts: " + str(self.CountOfAttempts)) BotBehaviors.BlockAllAttacks(gameState, self.botCommands) #Check to see if the bot is standing if gameState.stateLog[-1].bot.simple_state != ( SimpleMoveStates.STANDING): self.FrameLastAction = self.frameCounter #print(gameState.stateLog[-1].bot.simple_state) else: if self.distance > 1500: self.botCommands.AddCommand( self.botCommands.ForwarddashSmall()) elif self.DetermineIfAction(): #print(self.distance) #self.botCommands.AddCommand(random.choice(self.punishableMoves)) #print(random.choice(self.punishableMoves)) if len(self.queue) == 0: self.lastMove = self.allMoves.getNextGameplanMove() #move = self.allMoves.getMoveById(18) #self.queue.append(move) #self.queue.append(move) else: self.lastMove = self.queue.pop(0) #move = self.allMoves[-1] #command = move.getMoveCommand command = self.allMoves.getMoveCommand(self.lastMove, 0) print("Move: " + self.allMoves.getMoveName(self.lastMove) + "\nID: " + self.allMoves.getMoveId(self.lastMove) + "\n") #print(ParseMoveList(command)) if command is not None: self.botCommands.AddCommand(ParseMoveList(command)) self.CountOfAttempts = self.CountOfAttempts + 1