public class AdvancedAI extends TacticalAI
Uses all moves intelligently and switches out when advantageous.
  • Constructor Details

    • AdvancedAI

      public AdvancedAI(BattleParticipant participant)
      Initializes the AI.
      Parameters:
      participant - The participant controlled by the AI.
  • Method Details

    • getNextMove

      public MoveChoice getNextMove(PixelmonWrapper pw)
      Description copied from class: BattleAIBase
      Gets the move the AI will make next.
      Overrides:
      getNextMove in class TacticalAI
      Parameters:
      pw - The Pokémon to make a move with.
      Returns:
      The move the AI will make next.
    • getNextMoveAttackOnly

      protected MoveChoice getNextMoveAttackOnly(PixelmonWrapper pw)
      Gets the next move the Pokémon will make, limited to attacking.
      Overrides:
      getNextMoveAttackOnly in class AggressiveAI
      Parameters:
      pw - The Pokémon choosing a move.
      Returns:
      The next move the Pokémon will make, limited to attacking.
    • getNextOpponentMoves

      protected List<MoveChoice> getNextOpponentMoves(PixelmonWrapper pw, List<PixelmonWrapper> opponents)
      Gets the next moves that the AI guesses the opponents will make.
      Parameters:
      pw - The Pokémon on the participant's side that is deciding a choice.
      opponents - The opponents to get next moves from.
      Returns:
      The next moves that the AI guesses the opponents will make.
    • validateSwitch

      protected boolean validateSwitch(PixelmonWrapper nextPokemon)
      Description copied from class: AggressiveAI
      Does any additional checks to see if the switch-in is usable.
      Overrides:
      validateSwitch in class AggressiveAI
      Parameters:
      nextPokemon - The Pokémon switching in.
      Returns:
      Whether the switch-in is usable.