Class ProteanTests
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic CompletableFuture<TestResult> testProtean(BattleTestHelper helper) Immediately before using any move, a Pokémon with Protean as its Ability will change its type to be the same type as the move it is using.static CompletableFuture<TestResult> As of Gen 9, Protean only activates once per switch in.static CompletableFuture<TestResult> Protean should not allow the user to change its typing twice even if the Ability was suppressed.static CompletableFuture<TestResult> Protean will activate even if the move misses.static CompletableFuture<TestResult> Protean will activate even if the move misses.static CompletableFuture<TestResult> Protean will activate even if the move misses.static CompletableFuture<TestResult> Protean should allow the user to change its typing twice if it lost and regained the Ability.static CompletableFuture<TestResult> Protean will not activate if the move is prevented by Powder.static CompletableFuture<TestResult> Protean should not be prevented from resetting the user's typing when Protean is suppressed.static CompletableFuture<TestResult> The user's new type remains in effect until changed again or until the user is switched out.static CompletableFuture<TestResult> Protean will not activate if the execution is interrupted entirely (such as by the effect of infatuation or confusion).static CompletableFuture<TestResult> When using a move that changes the user's type, such as Camouflage, first Protean changes the user's type to the type of the move, then the move will either fail or change the user's type again.static CompletableFuture<TestResult> When using Curse, if the user is not already Ghost-type prior to the activation of Protean, Protean will change the user to Ghost-type, then the user will use the Ghost-type effect of Curse on itself (regardless of Crafty Shield).static CompletableFuture<TestResult> When using Curse, if the user is not already Ghost-type prior to the activation of Protean, Protean will change the user to Ghost-type, then the user will use the Ghost-type effect of Curse on itself (regardless of Follow Me or Rage Powder).static CompletableFuture<TestResult> Protean will not activate if the move fails.static CompletableFuture<TestResult> When using a move that can change type, the type it changes to will be considered.static CompletableFuture<TestResult> Protean should not change the user's type when abilities that activate earlier than Protean will cause the user's moves to fail.static CompletableFuture<TestResult> When using a move that calls another move (such as Nature Power), the type of the called move will be considered.static CompletableFuture<TestResult> Protean will still change the user's type when using Roar, Whirlwind, Trick-or-Treat, and Forest's Curse, regardless of whether the move successfully executes or not.static CompletableFuture<TestResult> Immediately before using any move (except Struggle), a Pokémon with Protean as its Ability will change its type to be the same type as the move it is using.static CompletableFuture<TestResult> testProteanWithToxic(BattleTestHelper helper) Because Protean activates prior to executing a move, the user will always hit with the move Toxic.static CompletableFuture<TestResult> Protean will not receive same-type attack bonus (STAB) upon using typeless Revelation Dance.
-
Constructor Details
-
ProteanTests
public ProteanTests()
-
-
Method Details
-
testProtean
Immediately before using any move, a Pokémon with Protean as its Ability will change its type to be the same type as the move it is using. Because Protean activates prior to executing a move, the user will receive same-type attack bonus on every move it uses regardless of the move's type. Protean always causes the user to become a single-type Pokémon.In this test, a Greninja with the Protean ability that knows Lick faces an Arctibax that knows Sleep Talk.
Turn 1 The Greninja uses Lick. The Arctibax uses Sleep Talk. - After Turn 1 We verify that the Greninja only has one type. We verify that the Greninja is Ghost-type. We verify that the Greninja received STAB with its attack. -
testProteanWithStruggle
Immediately before using any move (except Struggle), a Pokémon with Protean as its Ability will change its type to be the same type as the move it is using. Because Protean activates prior to executing a move, the user will receive same-type attack bonus (STAB) on every move it uses (except Struggle and Revelation Dance) regardless of the move's type.In this test, a Froakie with the Protean ability that knows Lick faces an Arctibax that knows Sleep Talk. The Froakie's Lick attack is set to have 0 PP.
Turn 1 The Froakie uses Lick. The Arctibax uses Sleep Talk. - After Turn 1 We verify that the Froakie's last attack was Struggle. We verify that the Froakie is Water-type. We verify that the Froakie did not receive STAB with its attack. -
testProteanWithTypelessRevelationDance
public static CompletableFuture<TestResult> testProteanWithTypelessRevelationDance(BattleTestHelper helper) Protean will not receive same-type attack bonus (STAB) upon using typeless Revelation Dance.In this test, a Pawmi with the Protean ability that knows Double Shock and Revelation Dance faces a Cyclizar that knows Sleep Talk. Pawmi does not get the Protean ability or Revelation Dance in standard gameplay.
Turn 1 The Cyclizar uses Sleep Talk. The Pawmi uses Double Shock. The Pawmi loses its Electric-type. Turn 2 The Cyclizar uses Sleep Talk. The Pawmi uses Revelation Dance. - After Turn 1 We verify that the Pawmi is typeless (Mystery-type). After Turn 2 We verify that the Pawmi is typeless again (Mystery-type). We verify that the Pawmi did not receive STAB with its attack. -
testProteanWithToxic
Because Protean activates prior to executing a move, the user will always hit with the move Toxic.In this test, a Frogadier with the Protean ability that knows Toxic faces a Cyclizar that knows Sleep Talk. The Battle Controller does not force the chance of every effect to 100% in this battle.
Turn 1 The Cyclizar uses Sleep Talk. The Frogadier uses Toxic. - After Turn 1 We verify that the Frogadier is Poison-type. We verify that the Frogadier's attack was impossible to miss. -
testProteanWithNaturePower
When using a move that calls another move (such as Nature Power), the type of the called move will be considered.In this test, a Sprigatito with the Protean ability that knows Nature Power faces a Sprigatito with the Overgrow ability that knows Nature Power. Sprigatito does not learn Nature Power in Gen 9, because Nature Power is not in the game.
Turn 1 Both Sprigatitos use Nature Power. - After Turn 1 We verify that the Sprigatito with Protean is Normal-type. We verify that both Sprigatitos' attack was Tri Attack. We verify that the Sprigatito with Protean did more damage than the Sprigatito with Overgrow. -
testProteanWithHiddenPower
When using a move that can change type, the type it changes to will be considered.In this test, a Sprigatito with the Protean ability that knows Hidden Power faces a Sprigatito with the Overgrow ability that holds a Focus Belt and knows Hidden Power. Sprigatito does not naturally learn Hidden Power, because Hidden Power was not in Gen 9, when Sprigatito was introduced.
Turn 1 Both Sprigatitos use Hidden Power. - After Turn 1 We verify that the Sprigatito with Protean is Normal-type. We verify that the Protean Sprigatito's Hidden Power was Normal-type. We verify that the Overgrow Sprigatito's Hidden Power was Normal-type. We verify that the Sprigatito with Protean did more damage than the Sprigatito with Overgrow. -
testProteanWithCamouflage
When using a move that changes the user's type, such as Camouflage, first Protean changes the user's type to the type of the move, then the move will either fail or change the user's type again.In this test, a Froakie with the Protean ability that knows Camouflage faces a Varoom that knows Sleep Talk.
Turn 1 The Froakie uses Camouflage. The Varoom uses Sleep Talk. - After Turn 1 We verify that the Froakie is Normal-type. We verify that the Froakie's attack failed. -
testProteanWithCurseVsCraftyShield
public static CompletableFuture<TestResult> testProteanWithCurseVsCraftyShield(BattleTestHelper helper) When using Curse, if the user is not already Ghost-type prior to the activation of Protean, Protean will change the user to Ghost-type, then the user will use the Ghost-type effect of Curse on itself (regardless of Crafty Shield).In this test, a Froakie with the Protean ability that knows Curse faces a Runerigus that knows Crafty Shield.
Turn 1 The Runerigus uses Crafty Shield. The Froakie uses Curse. - After Turn 1 We verify that the Froakie is Ghost-type. We verify that the Runerigus does not have the Cursed status due to Crafty Shield. We verify that the Froakie's Speed stat has not dropped by one stage. -
testProteanWithCurseVsFollowMe
When using Curse, if the user is not already Ghost-type prior to the activation of Protean, Protean will change the user to Ghost-type, then the user will use the Ghost-type effect of Curse on itself (regardless of Follow Me or Rage Powder).In this test, a Froakie with the Protean ability that knows Curse faces a Togepi that knows Follow Me.
Turn 1 The Togepi uses Follow Me. The Froakie uses Curse. - After Turn 1 We verify that the Froakie is Ghost-type. We verify that the Togepi has Cursed status. We verify that the Froakie's Speed stat has not dropped by one stage. -
testProteanWithFailedMoves
Protean will not activate if the move fails.In this Triple Battle test, a Kecleon with the Protean ability that knows Fling, Sucker Punch, Steel Roller, and Aura Wheel is on a team with a Kecleon with the Protean ability that knows Counter, Metal Burst, and Burn Up and a third Kecleon with the Protean ability that knows Aurora Veil, Ingrain, Magnet Rise. Together they all face a Cyclizar that knows Sleep Talk.
Turn 1 The Cyclizar uses Sleep Talk. The first Kecleon uses Fling. The second Kecleon uses Counter. The third Kecleon uses Aurora Veil. Turn 2 The Cyclizar uses Sleep Talk. The first Kecleon uses Sucker Punch. The second Kecleon uses Metal Burst. The third Kecleon uses Ingrain. Turn 3 The Cyclizar uses Sleep Talk. The first Kecleon uses Steel Roller. The second Kecleon uses Burn Up. The third Kecleon uses Magnet Rise. Turn 4 The Cyclizar uses Sleep Talk. The first Kecleon uses Aura Wheel. The second Kecleon uses an arbitrary move. The third Kecleon uses an arbitrary move. - After Turn 1 We verify that every Kecleon is Normal-type. After Turn 2 We verify that the first Kecleon is Normal-type. We verify that the second Kecleon is Grass-type. We verify that the third Kecleon is Normal-type. After Turn 3 We verify that the first Kecleon is Normal-type. We verify that the second Kecleon is still Grass-type. We verify that the third Kecleon is Normal-type. After Turn 4 We verify that the first Kecleon is Normal-type. -
testProteanWhileConfused
Protean will not activate if the execution is interrupted entirely (such as by the effect of infatuation or confusion).In this test, a Froakie with the Protean ability that knows Lick faces a Lumineon that knows Confuse Ray.
Turn 1 The Lumineon uses Confuse Ray. The Froakie uses Lick. - After Turn 1 We verify that the Froakie has the Confusion status. We verify that the Froakie has taken damage. We verify that the Lumineon has not taken any damage. We verify that the Froakie is Water-type. -
testProteanWithMovesFailedDueToAbilities
public static CompletableFuture<TestResult> testProteanWithMovesFailedDueToAbilities(BattleTestHelper helper) Protean should not change the user's type when abilities that activate earlier than Protean will cause the user's moves to fail.In this test, a Kecleon with the Protean ability that knows Mind Blown and Aqua Jet faces a team composed of a Kyogre with the Primordial Sea ability that knows Sleep Talk, a Groudon with the Desolate Land ability that knows Powder, a Tsareena with the Dazzling ability that knows Sleep Talk, and a Golduck with the Damp ability that knows Sleep Talk.
Turn 1 The Kyogre uses Sleep Talk. The Kecleon uses Mind Blown. Turn 2 The Kyogre is switched out and the Groudon is switched in. The Kecleon uses Aqua Jet. Turn 3 The Groudon uses Powder. The Kecleon uses Mind Blown. Turn 4 The Groudon is switched out and the Tsareena is switched in. The Kecleon uses Aqua Jet. Turn 5 The Tsareena is switched out and the Golduck is switched in. The Kecleon uses Mind Blown. - After Turn 1 We verify that the Kecleon is Normal-type. After Turn 2 We verify that the Kecleon is Normal-type. After Turn 3 We verify that the Kecleon is Normal-type. After Turn 4 We verify that the Kecleon is Normal-type. After Turn 5 We verify that the Kecleon is Normal-type. -
testProteanActivatesOnMiss
Protean will activate even if the move misses.In this test, a Froakie with the Protean ability that knows Pound faces an Unfezant that knows Fly.
Turn 1 The Unfezant uses Fly. The Unfezant becomes semi-invulnerable. The Froakie uses Pound. The attack misses. - After Turn 1 We verify that the Unfezant has not taken any damage. We verify that the Froakie is Normal-type. -
testProteanActivatesOnHittingProtect
public static CompletableFuture<TestResult> testProteanActivatesOnHittingProtect(BattleTestHelper helper) Protean will activate even if the move misses.In this test, a Froakie with the Protean ability that knows Lick faces a Vespiquen that knows Protect.
Turn 1 The Vespiquen uses Protect. The Froakie uses Lick. - After Turn 1 We verify that the Vespiquen has not taken any damage. We verify that the Froakie is Ghost-type. -
testProteanActivatesOnImmuneTyping
public static CompletableFuture<TestResult> testProteanActivatesOnImmuneTyping(BattleTestHelper helper) Protean will activate even if the move misses.In this test, a Frogadier with the Protean ability that knows Lick faces a Delcatty that knows Sleep Talk.
Turn 1 The Frogadier uses Lick. The move fails. The Delcatty uses Sleep Talk. - After Turn 1 We verify that the Delcatty has not taken any damage. We verify that the Frogadier is Ghost-type. -
testProteanWithRoarWhirlwindTrickOrTreatForestsCurse
public static CompletableFuture<TestResult> testProteanWithRoarWhirlwindTrickOrTreatForestsCurse(BattleTestHelper helper) Protean will still change the user's type when using Roar, Whirlwind, Trick-or-Treat, and Forest's Curse, regardless of whether the move successfully executes or not.In this Double Battle test, a Frogadier with the Protean ability that knows Forest's Curse is on a team with a Floragato with the Protean ability that knows Trick-or-Treat. Together they face a Froakie with the Protean ability that knows Whirlwind and a Sprigatito with the Protean ability that knows Roar.
Turn 1 The Frogadier uses Forest's Curse. The Floragato uses Trick-or-Treat. The Froakie uses Whirlwind. The Sprigatito uses Roar. After Turn 1 We verify that the Frogadier is Grass-type. We verify that the Floragato is Ghost-type. We verify that the Froakie is Normal-type. We verify that the Sprigatito is Normal-type. -
testProteanTypeRemovedUponSwitchingOut
public static CompletableFuture<TestResult> testProteanTypeRemovedUponSwitchingOut(BattleTestHelper helper) The user's new type remains in effect until changed again or until the user is switched out.In this test, a Frogadier with the Protean ability that knows Lick faces a Nosepass that knows Sleep Talk. The Frogadier has a Furfrou on its team in reserve.
Turn 1 The Frogadier uses Lick. The Nosepass uses Sleep Talk. - After Turn 1 We verify that the Frogadier is Ghost-type. -
testProteanActivatesOnce
As of Gen 9, Protean only activates once per switch in.In this test, a Frogadier with the Protean ability that knows Lick and Pound faces a Nosepass that knows Sleep Talk.
Turn 1 The Frogadier uses Lick. The Nosepass uses Sleep Talk. Turn 2 The Frogadier uses Pound. The Nosepass uses Sleep Talk. - After Turn 1 We verify that the Frogadier is Ghost-type. After Turn 2 We verify that the Frogadier is still Ghost-type. -
testProteanActivatesOnceDespiteSuppression
public static CompletableFuture<TestResult> testProteanActivatesOnceDespiteSuppression(BattleTestHelper helper) Protean should not allow the user to change its typing twice even if the Ability was suppressed.In this Single Battle test, a Cinderace with the Protean ability that knows Tackle and Water Gun faces a Gengar that knows Sleep Talk. The Gengar also has a Weezing on its team with the Neutralizing Gas ability and the Sleep Talk move.
Turn 1 The Cinderace uses Tackle. The Gengar uses Sleep Talk. Turn 2 The Gengar switches out and the Weezing switches in. The Cinderace uses Water Gun. Turn 2 The Weezing switches out and the Gengar switches in. The Cinderace uses Water Gun. - After Turn 1 We verify that the Cinderace is Normal-type. After Turn 2 We verify that the Cinderace is Normal-type. After Turn 3 We verify that the Cinderace is Normal-type. -
testProteanActivatesTwiceAfterRegainingAbility
public static CompletableFuture<TestResult> testProteanActivatesTwiceAfterRegainingAbility(BattleTestHelper helper) Protean should allow the user to change its typing twice if it lost and regained the Ability.In this test, a Cinderace with the Protean ability that knows Tackle and Water Gun faces a Gengar with the Protean ability that knows Sleep Talk and Skill Swap.
Turn 1 The Cinderace uses Tackle. The Gengar uses Skill Swap. Turn 2 The Cinderace uses Water Gun. The Gengar uses Sleep Talk. - After Turn 1 We verify that the Cinderace is Normal-type. After Turn 2 We verify that the Cinderace is Water-type. -
testProteanResettingShouldNotBeSuppressed
public static CompletableFuture<TestResult> testProteanResettingShouldNotBeSuppressed(BattleTestHelper helper) Protean should not be prevented from resetting the user's typing when Protean is suppressed.In this Single Battle test, a Cinderace with the Protean ability that knows Tackle is on a team with a Wynaut that knows Sleep Talk. They face a Gengar that knows Sleep Talk and a Weezing with the Neutralizing Gas ability that knows Sleep Talk.
Turn 1 The Cinderace uses Tackle. The Cinderace becomes Normal-typed. The Gengar uses Sleep Talk. Turn 2 The Gengar is switched out and the Weezing is switched in. The Cinderace uses Tackle. Turn 3 The Cinderace is switched out and the Wynaut is switched in. The Weezing uses Sleep Talk. Turn 4 The Wynaut is switched out and the Cinderace is switched in. The Weezing uses Sleep Talk. Turn 5 The Weezing is switched out and the Gengar is switched in. The Cinderace uses Tackle. - After Turn 1 We verify that the Cinderace is Normal-type. After Turn 2 We verify that the Cinderace is Normal-type. After Turn 3 We verify that the Cinderace is Fire-type. After Turn 4 We verify that the Cinderace is Fire-type. After Turn 5 We verify that the Cinderace is Normal-type. -
testProteanNonFireTypeMovesVsPowder
public static CompletableFuture<TestResult> testProteanNonFireTypeMovesVsPowder(BattleTestHelper helper) Protean will not activate if the move is prevented by Powder. So, if the move is not prevented by Powder, Protean should activate.In this test, a Froakie with the Protean ability that knows Lick faces a Vivillon that knows Powder.
Turn 1 The Vivillon uses Powder. The Froakie uses Lick. - After Turn 1 We verify that the Froakie is Ghost-type.
-