Class PowderTests

java.lang.Object
com.pixelmonmod.pixelmon.api.test.impl.move.PowderTests

public class PowderTests extends Object
Tests for Powder
  • Constructor Details

    • PowderTests

      public PowderTests()
  • Method Details

    • testPowderPreventsFireAttacks

      public static CompletableFuture<TestResult> testPowderPreventsFireAttacks(BattleTestHelper helper)
      Powder covers the target in powder for the remainder of the turn. If a Pokémon affected by Powder attempts to use a Fire-type move, they take damage equal to 25% of their maximum HP and cannot execute the move (PP is still consumed).

      In this test, a Vivillon that knows the move Powder faces a Cyndaquil that knows Ember.

           Turn 1
           The Vivillon uses Powder.
           The Cyndaquil uses Ember.
           -
           After Turn 1
           We verify that the Vivillon has not taken any damage.
           We verify that the Cyndaquil took damage equal to 25% of its maximum HP.
           We verify that the Cyndaquil's Ember still used 1 PP.
       
    • testPowderPreventsFireSelfTargetAttacks

      public static CompletableFuture<TestResult> testPowderPreventsFireSelfTargetAttacks(BattleTestHelper helper)
      Powder covers the target in powder for the remainder of the turn. If a Pokémon affected by Powder attempts to use a Fire-type move, they take damage equal to 25% of their maximum HP and cannot execute the move (PP is still consumed).

      In this test, a Vivillon that knows the move Powder faces a Cyndaquil that knows Sunny Day.

           Turn 1
           The Vivillon uses Powder.
           The Cyndaquil uses Sunny Day.
           -
           After Turn 1
           We verify that the Vivillon has not taken any damage.
           We verify that the Cyndaquil took damage equal to 25% of its maximum HP.
           We verify that the Cyndaquil's Sunny Day still used 1 PP.
       
    • testPowderDoesNotAffectGrassTypes

      public static CompletableFuture<TestResult> testPowderDoesNotAffectGrassTypes(BattleTestHelper helper)
      Grass-type Pokémon cannot become affected by Powder.

      In this test, a Vivillon that knows the move Powder faces a Chikorita that knows Sleep Talk.

           Turn 1
           The Vivillon uses Powder.
           The Chikorita uses Sleep Talk.
           -
           After Turn 1
           We verify that the Chikorita does not have the Powder status.
       
    • testPowderDoesNotAffectOvercoatAbility

      public static CompletableFuture<TestResult> testPowderDoesNotAffectOvercoatAbility(BattleTestHelper helper)
      Pokémon with Overcoat cannot become affected by Powder.

      In this test, a Vivillon that knows the move Powder faces a Leavanny with the Overcoat ability that knows Sleep Talk.

           Turn 1
           The Vivillon uses Powder.
           The Leavanny uses Sleep Talk.
           -
           After Turn 1
           We verify that the Leavanny does not have the Powder status.
       
    • testPowderDoesNotAffectSafetyGoggles

      public static CompletableFuture<TestResult> testPowderDoesNotAffectSafetyGoggles(BattleTestHelper helper)
      Pokémon holding Safety Goggles cannot become affected by Powder.

      In this test, a Vivillon that knows the move Powder faces a Darumaka holding a Safety Goggles that knows Sleep Talk.

           Turn 1
           The Vivillon uses Powder.
           The Darumaka uses Sleep Talk.
           -
           After Turn 1
           We verify that the Darumaka does not have the Powder status.
       
    • testPowderDoesNotDamageMagicGuard

      public static CompletableFuture<TestResult> testPowderDoesNotDamageMagicGuard(BattleTestHelper helper)
      If a Pokémon with Magic Guard affected by Powder attempts to use a Fire-type move, it will fail to execute the move but take no damage.

      In this test, a Vivillon that knows the move Powder faces a Cleffa with the Magic Guard ability that knows Flamethrower.

           Turn 1
           The Vivillon uses Powder.
           The Cleffa uses Flamethrower.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Cleffa is at full health.
           We verify that the Cleffa's Flamethrower used 1 PP.
       
    • testPowderDoesNotPreventThawingSelf

      public static CompletableFuture<TestResult> testPowderDoesNotPreventThawingSelf(BattleTestHelper helper)
      Powder does not prevent a Pokémon from thawing itself by using a move like Flame Wheel.

      In this test, a Vivillon that knows Powder faces a Larvesta that is frozen and knows Flame Wheel.

           Turn 1
           The Vivillon uses Powder.
           The Larvesta uses Flame Wheel.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Larvesta is no longer frozen.
           We verify that the Larvesta is not at full health?
           We verify that the Larvesta's Flame Wheel used 1 PP.
       
    • testPowderPreventsFireTypeNaturalGiftAndBerryConsumption

      public static CompletableFuture<TestResult> testPowderPreventsFireTypeNaturalGiftAndBerryConsumption(BattleTestHelper helper)
      If a Pokémon affected by Powder attempts to use Natural Gift while holding a Berry that makes the move Fire-type, the Pokémon takes damage from Powder but the Berry is not consumed.

      In this test, a Vivillon that knows Powder faces a Fletchinder that knows Natural Gift.

           Turn 1
           The Vivillon uses Powder.
           The Fletchinder uses Natural Gift.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Fletchinder is not at full health.
           We verify that the Fletchinder's Natural Gift used 1 PP.
           We verify that the Fletchinder still has a held item.
       
    • testPowderPreventsProteanTypeChange

      public static CompletableFuture<TestResult> testPowderPreventsProteanTypeChange(BattleTestHelper helper)
      If a Pokémon affected by Powder has Protean and uses a Fire-type move, it will not change type.

      In this test, a Vivillon that knows Powder faces a Kecleon with the Protean ability that knows Flamethrower.

           Turn 1
           The Vivillon uses Powder.
           The Kecleon uses Flamethrower.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Kecleon is not at full health.
           We verify that the Kecleon's Flamethrower used 1 PP.
           We verify that the Kecleon's type is Normal-type.
       
    • testPowderAgainstFirePledgeAfterGrassPledge

      public static CompletableFuture<TestResult> testPowderAgainstFirePledgeAfterGrassPledge(BattleTestHelper helper)
      If a Pokémon affected by Powder uses Fire Pledge after an ally uses Water Pledge, such that the Pokémon ends up using Water Pledge as a combination move, Powder will not affect that move.

      In this Double Battle test, a Vivillon that holds a Choice Scarf and knows the move Powder is on a team with a Magikarp that knows Splash. Together they face a Dartrix that knows Grass Pledge as well as a Torchic that knows Fire Pledge.

           Turn 1
           The Vivillon uses Powder on the Torchic.
           The Dartrix uses Grass Pledge on the Magikarp.
           The Torchic uses Fire Pledge on the Magikarp, which makes it become a more powerful Fire Pledge.
           The Magikarp uses Splash.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Magikarp is not at full health.
           We verify that the Torchic is not at full health.
       
    • testPowderWorksAgainstDamp

      public static CompletableFuture<TestResult> testPowderWorksAgainstDamp(BattleTestHelper helper)
      Despite involving a small explosion, Powder is not prevented from use or negated by Damp.

      In this test, a Vivillon that knows Powder faces a Jellicent that knows Will-O-Wisp.

           Turn 1
           The Vivillon uses Powder.
           The Jellicent uses Will-O-Wisp.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Jellicent is not at full health.
       
    • testPowderPreventsFireTypeZMoves

      public static CompletableFuture<TestResult> testPowderPreventsFireTypeZMoves(BattleTestHelper helper)
      Powder can prevent a Pokémon from using a Fire-type Z-Move.

      In this test, a Vivillon that knows Powder faces a Quilava that holds a Firium Z and knows Ember.

           Turn 1
           The Vivillon uses Powder.
           The Quilava activates its Firium Z to use Inferno Overdrive.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Quilava is not at full health.
       
    • testPowderDoesNotPreventZPowerEffects

      public static CompletableFuture<TestResult> testPowderDoesNotPreventZPowerEffects(BattleTestHelper helper)
      Powder can prevent a Pokémon from using a Fire-type Z-Move, but status Z-Moves still gain their Z-Power effects.

      In this test, a Vivillon that knows Powder faces a Quilava that holds a Firium Z and knows Sunny Day.

           Turn 1
           The Vivillon uses Powder.
           The Quilava activates its Firium Z to use Z-Sunny Day.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Quilava is not at full health.
           We verify that the Quilava has had its Speed raised by one stage.
       
    • testPowderWithDancerAbility

      public static CompletableFuture<TestResult> testPowderWithDancerAbility(BattleTestHelper helper)
      If a Pokémon affected by Powder attempts to use a Fire-type dance move (such as Fiery Dance), that move will not trigger Dancer.

      In this Double Battle test, a Vivillon that holds a Choice Scarf and knows the move Powder is on a team with a Magikarp that knows Splash. Together they face a Volcarona that knows Fiery Dance as well as a Baile Style form Oricorio with the Dancer ability that knows Revelation Dance.

           Turn 1
           The Vivillon uses Powder on the Oricorio.
           The Volcarona uses Fiery Dance on the Magikarp. The Oricorio's Dancer should not activate.
           The Oricorio uses Revelation Dance on the Magikarp, which is Fire-type due to its primary type being Fire.
           The Magikarp uses Splash.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Magikarp is not at full health.
           We verify that the Oricorio is not at full health.
           We verify that the Oricorio did not execute Fiery Dance as a temp attack.
           We verify that the Oricorio has 75% of its HP remaining.
           We verify that the Oricorio's Revelation Dance used 1 PP.
       
    • testPowderDoesNotDamageInHeavyRain

      public static CompletableFuture<TestResult> testPowderDoesNotDamageInHeavyRain(BattleTestHelper helper)
      Powder will no longer damage the Pokémon during heavy rain.

      In this test, a Vivillon that knows Powder faces an Aipom that knows Fire Punch.

           Before Turn 1
           The battle starts with heavy rain.
           Turn 1
           The Vivillon uses Powder.
           The Aipom uses Fire Punch.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Aipom is at full health.
       
    • testPowderVsShellTrap

      public static CompletableFuture<TestResult> testPowderVsShellTrap(BattleTestHelper helper)
      If a Pokémon affected by Powder uses Shell Trap, it will take damage only when it would deal damage instead. Otherwise, Shell Trap fails, and the Pokémon takes no damage.

      In this Double Battle test, a Vivillon that knows the move Powder is on a team with a Magikarp that knows Tackle. Together they face a Cutiefly that knows Sleep Talk and a Turtonator that knows Shell Trap.

           Turn 1
           The Turtonator sets up its Shell Trap.
           The Vivillon uses Powder on the Turtonator.
           The Cutiefly uses Sleep Talk.
           The Magikarp uses Tackle on the Cutiefly.
           The Turtonator uses Shell Trap.
           Turn 2
           The Turtonator sets up its Shell Trap.
           The Vivillon uses Powder on the Turtonator.
           The Cutiefly uses Sleep Talk.
           The Magikarp uses Tackle on the Turtonator.
           The Turtonator uses Shell Trap.
           -
           After Turn 1
           We verify that the Vivillon is at full health.
           We verify that the Magikarp is at full health.
           We verify that the Turtonator is at full health.
           After Turn 2
           We verify that the Vivillon is at full health.
           We verify that the Magikarp is at full health.
           We verify that the Turtonator is not at full health.