Class GrimNeighTests

java.lang.Object
com.pixelmonmod.pixelmon.api.test.impl.ability.GrimNeighTests

public class GrimNeighTests extends Object
Tests for Grim Neigh
  • Constructor Details

    • GrimNeighTests

      public GrimNeighTests()
  • Method Details

    • testGrimNeigh

      public static CompletableFuture<TestResult> testGrimNeigh(BattleTestHelper helper)
      When a Pokémon with Grim Neigh directly causes another Pokémon (including allies) to faint by using a damaging move, its Special Attack is increased by one stage.

      In this test, a Spectrier with the Grim Neigh ability that knows Shadow Ball faces a Honedge that knows Sleep Talk. The Honedge has a Glastrier on its team to switch into.

           Turn 1
           The Spectrier uses Shadow Ball.
           The Honedge uses Sleep Talk.
           -
           After Turn 1
           We verify that the Honedge fainted.
           We verify that the Spectrier's Special Attack was raised by one stage.
           We verify that the activation message for Spectrier's Grim Neigh showed in the battle log.
           We verify that the Shadow Ball's result was recorded as dealing damage.
           We verify that the Shadow Ball's result was recorded as making the target faint.
           We verify that the Shadow Ball's result was recorded with a priority of 0.
           We verify that the Shadow Ball's result was recorded with a base power of 80.
       
    • testGrimNeighAtMaxSpecialAttack

      public static CompletableFuture<TestResult> testGrimNeighAtMaxSpecialAttack(BattleTestHelper helper)
      When a Pokémon with Grim Neigh directly causes another Pokémon (including allies) to faint by using a damaging move, its Special Attack is increased by one stage. If its Special Attack is already at +6 stages, Grim Neigh will not activate.

      In this test, a Spectrier with the Grim Neigh ability that knows Shadow Ball faces a Honedge that knows Sleep Talk. The Honedge has a Glastrier on its team to switch into.

           Before Turn 1
           The Spectrier's Special Attack is artificially increased by 6 stages.
           Turn 1
           The Spectrier uses Shadow Ball.
           The Honedge uses Sleep Talk.
           -
           After Turn 1
           We verify that the Honedge fainted.
           We verify that the Spectrier's Special Attack was never raised past six stages.
           We verify that the activation message for Spectrier's Grim Neigh did not show in the battle log.
       
    • testGrimNeighWithTwoTargets

      public static CompletableFuture<TestResult> testGrimNeighWithTwoTargets(BattleTestHelper helper)
      When a Pokémon with Grim Neigh directly causes another Pokémon (including allies) to faint by using a damaging move, its Special Attack is increased by one stage. When using a move that hits multiple opponents, such as with Astral Barrage, if the user of Grim Neigh KOs one opponent, the Special Attack increase should not take place until after both opponents have been dealt damage.

      See also SpreadMoveTest.testSpreadMovesDamageAllTargetsAtOnce(BattleTestHelper) and AsOneTests.testGrimNeighWithAstralBarrage(BattleTestHelper).

      In this Double Battle test, a Spectrier that knows Astral Barrage is on a team with a Glastrier that knows Sleep Talk. Together they face two level 1 Honedge that know Sleep Talk. The two Honedge also have a Doublade and an Aegislash on their team. Spectrier does not learn Astral Barrage in normal gameplay.

           Turn 1
           The Spectrier uses Astral Barrage.
           The Glastrier uses Sleep Talk.
           The first Honedge faints before it can use Sleep Talk.
           The second Honedge faints before it can use Sleep Talk.
           -
           After Turn 1
           We verify that the first Honedge fainted.
           We verify that the second Honedge fainted.
           We verify that the Spectrier's Special Attack was raised by two stages.
           We verify that the activation message for Spectrier's Grim Neigh showed in the battle log.
           We verify that the Astral Barrage's result was recorded as dealing damage.
           We verify that the Astral Barrage hit against the second Honedge was recorded as having the same potential damage as the hit against the first Honedge.
           We verify that the Astral Barrage's result was recorded as making the first Honedge faint.
           We verify that the Astral Barrage's result was recorded as making the second Honedge faint.
           We verify that the Astral Barrage's result was recorded with a priority of 0.