Class IronBallTests

java.lang.Object
com.pixelmonmod.pixelmon.api.test.impl.item.IronBallTests

public class IronBallTests extends Object
  • Constructor Details

    • IronBallTests

      public IronBallTests()
  • Method Details

    • testHalvesTheHoldersSpeed

      public static CompletableFuture<TestResult> testHalvesTheHoldersSpeed(BattleTestHelper helper)
      An Iron Ball should halve the Speed of the Pokémon holding one.

      In this test, a Smeargle holding an Iron Ball and knowing the move Bestow faces off against an Aerodactyl knowing Stealth Rock. Their abilities don't matter for the test. The Smeargle will use Bestow on the Aerodactyl, giving it the Iron Ball. We then measure the Aerodactyl's Speed stat before and after it has received the Iron Ball and confirm that the Speeed stat was reduced to half of its original value.

    • testNegatesGroundImmunitiesAndMakesGroundAttacksDoNeutralDamage

      public static CompletableFuture<TestResult> testNegatesGroundImmunitiesAndMakesGroundAttacksDoNeutralDamage(BattleTestHelper helper)
      From Bulbapedia, "If held by a Flying-type Pokémon, it takes 1× damage from Ground-type moves, regardless of its other types."

      In this test, a Smeargle and Magikarp on the same team face off against an Aerodactyl and a Tropius on the same team. Their abilities don't matter for this test. The Smeargle will use Earthquake, while the rest of the Pokemon waste their turns. The Aerodactyl and the Tropius should both be hit by the Earthquake because the Iron Ball grounds them and makes the capable of being hit by Ground-type moves. However, both of them should take 1x effective damage, because Iron Ball makes Flying-type Pokemon take neutral type effectiveness damage. If it didn't, Aerodactyl would take 2x super-effective damage due to its Rock type and Tropius would take 0.5x not-very-effective damage due to its Grass type.

    • testDoesNotDealNeutralDamageToFlyingTypesInGravity

      public static CompletableFuture<TestResult> testDoesNotDealNeutralDamageToFlyingTypesInGravity(BattleTestHelper helper)
      If a Flying-type Pokémon holding an Iron Ball is also affected by Gravity, then type-effectiveness should not be modified.

      In this test, a Smeargle and Magikarp on the same team face off against an Aerodactyl and a Tropius on the same team. Their abilities don't matter for this test. The Smeargle will use Earthquake, while the rest of the Pokemon waste their turns. The Aerodactyl and the Tropius should both be hit by the Earthquake because both the Iron Ball and the Gravity grounds them and makes the capable of being hit by Ground-type moves. Aerodactyl should take 2x super-effective damage due to its Rock type and Tropius should take 0.5x not-very-effective damage due to its Grass type. While Iron Ball would normally make them both take 1x neutral effective damage, Gravity overrides that.

    • testNegatesArtificialGroundImmunitiesAndThenDoesntModifyTypeEffectiveness

      public static CompletableFuture<TestResult> testNegatesArtificialGroundImmunitiesAndThenDoesntModifyTypeEffectiveness(BattleTestHelper helper)
      Non-flying-type Pokémon holding an Iron Ball should not have the type-effectiveness modified.

      In this test, a Smeargle and Magikarp on the same team face off against a Rotom and a Parasect on the same team. The Smeargle will use Earthquake. Rotom and Parasect will try to use Endure, just to ensure they don't faint. The Rotom and the Parasect should both be hit by the Earthquake because the Iron Ball grounds them and makes the capable of being hit by Ground-type moves. Rotom should take 2x super-effective damage due to its Electric type and Parasect should take 0.25x not-very-effective damage due to its Grass type and its Bug type.

    • testGroundsAirbornePokemon

      public static CompletableFuture<TestResult> testGroundsAirbornePokemon(BattleTestHelper helper)
      Pokémon that hold an Iron Ball should be grounded, and thus be affected by Terrains.

      In this test, a Smeargle faces off against a Thundurus. The Smeargle will use Spore. Thundurus will use Electric Terrain. Smeargle holds lagging tail to ensure it attacks second and Electric Terrain is set. The Thundurus would fall asleep from Smeargle's Spore, but because the Thundurus is grounded by the Iron Ball, it becomes affected by Electric Terrain which prevents Sleep.