Class AggressiveAITests

java.lang.Object
com.pixelmonmod.pixelmon.api.test.impl.ai.AggressiveAITests

public class AggressiveAITests extends Object
These tests verify that the AggressiveAI will only use the strongest attacking moves that a Pokémon knows.

Status moves, switching, and self-KO moves are only used by the Aggressive AI when no damage-dealing moves are capable of being used, and they are used randomly.

  • Constructor Details

    • AggressiveAITests

      public AggressiveAITests()
  • Method Details

    • testUsesStrongestBasePowerMove

      public static CompletableFuture<TestResult> testUsesStrongestBasePowerMove(BattleTestHelper helper)
      The Aggressive AI should use the strongest base power move between two attacks of the same type.

      In this test, a Stoutland with the Aggressive AI that knows Tackle and Take Down faces a Quagsire that knows Sleep Talk. The Aggressive AI is made unable to Dynamax.

           Turn 1
           The Stoutland uses an attack.
           The Quagsire uses Sleep Talk.
           -
           After Turn 1
           We verify that the Stoutland used Take Down.
       
    • testUsesDamagingMoveVsStatusMove

      public static CompletableFuture<TestResult> testUsesDamagingMoveVsStatusMove(BattleTestHelper helper)
      The Aggressive AI should use a weak attacking move when it's only other option is a status move.

      In this test, a Stoutland with the Aggressive AI that knows Tackle and Baby-Doll Eyes faces a Quagsire that knows Sleep Talk. The Aggressive AI is made unable to Dynamax.

           Turn 1
           The Stoutland uses an attack.
           The Quagsire uses Sleep Talk.
           -
           After Turn 1
           We verify that the Stoutland used Tackle.
       
    • testShouldNotSelfKO

      public static CompletableFuture<TestResult> testShouldNotSelfKO(BattleTestHelper helper)
      The Aggressive AI should use attacks that do not self-KO it, despite how strong they might be.

      In this test, a Zangoose with the Aggressive AI that knows Scratch and Final Gambit faces a Quagsire that knows Sleep Talk. The Aggressive AI is made unable to Dynamax.

           Turn 1
           The Zangoose uses an attack.
           The Quagsire uses Sleep Talk.
           -
           After Turn 1
           We verify that the Zangoose used Scratch.
       
    • testUsesLowerBasePowerForMoreDamage

      public static CompletableFuture<TestResult> testUsesLowerBasePowerForMoreDamage(BattleTestHelper helper)
      The Aggressive AI should use attacks that have lower base power than ones with higher base power, if the lower base power moves do more damage.

      In this test, a Zangoose with the Aggressive AI that knows Metal Claw and Slash faces a Stonjourner that knows Sleep Talk. The Aggressive AI is made unable to Dynamax.

           Turn 1
           The Zangoose uses an attack.
           The Stonjourner uses Sleep Talk.
           -
           After Turn 1
           We verify that the Zangoose used Metal Claw.