From 1c819450fef30af9ec935c0d6815558e17542d7b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 16 Dec 2025 09:55:57 -0300 Subject: [PATCH] Added Ability TODO tests - Volume D (#8538) --- test/battle/ability/damp.c | 2 ++ test/battle/ability/dancer.c | 23 ++++++++++++++++++++++- test/battle/ability/dazzling.c | 12 +++++++++++- test/battle/ability/delta_stream.c | 7 ++++++- test/battle/ability/desolate_land.c | 12 ++++++++++++ test/battle/ability/disguise.c | 4 +++- test/battle/ability/primordial_sea.c | 12 ++++++++++++ test/battle/weather/strong_winds.c | 17 +++++++++++++++++ 8 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 test/battle/weather/strong_winds.c diff --git a/test/battle/ability/damp.c b/test/battle/ability/damp.c index 021517334b..816588f497 100644 --- a/test/battle/ability/damp.c +++ b/test/battle/ability/damp.c @@ -72,3 +72,5 @@ SINGLE_BATTLE_TEST("Damp prevents damage from Aftermath") NONE_OF { HP_BAR(player); } } } + +//TO_DO_BATTLE_TEST("Damp affects non-adjacent Pokémon (triples)") diff --git a/test/battle/ability/dancer.c b/test/battle/ability/dancer.c index 037def9699..2fb870ea51 100644 --- a/test/battle/ability/dancer.c +++ b/test/battle/ability/dancer.c @@ -79,6 +79,9 @@ DOUBLE_BATTLE_TEST("Dancer triggers from slowest to fastest") } } +TO_DO_BATTLE_TEST("Dancer triggers from slowest to fastest during Trick Room") +TO_DO_BATTLE_TEST("Dancer triggering ignores Lagging Tail") + SINGLE_BATTLE_TEST("Dancer doesn't trigger if the original user flinches") { GIVEN { @@ -191,6 +194,9 @@ DOUBLE_BATTLE_TEST("Dancer doesn't trigger on a snatched move") } } +TO_DO_BATTLE_TEST("Dancer-called moves can be snatched") +TO_DO_BATTLE_TEST("Dancer-called moves can be reflected by Magic Bounce/Coat") + DOUBLE_BATTLE_TEST("Dancer triggers on Instructed dance moves") { GIVEN { @@ -246,6 +252,9 @@ DOUBLE_BATTLE_TEST("Dancer-called move doesn't update move to be Instructed") } } +TO_DO_BATTLE_TEST("Dancer-called moves doesn't update move to be called by Mimick") +TO_DO_BATTLE_TEST("Dancer-called moves doesn't update move to be called by Mirror Move") + DOUBLE_BATTLE_TEST("Dancer doesn't call a move that didn't execute due to Powder") { GIVEN { @@ -268,7 +277,6 @@ DOUBLE_BATTLE_TEST("Dancer doesn't call a move that didn't execute due to Powder } } - DOUBLE_BATTLE_TEST("Dancer still activates after Red Card") { GIVEN { @@ -355,3 +363,16 @@ DOUBLE_BATTLE_TEST("Dancer correctly restores move targets") HP_BAR(playerRight); } } + +TO_DO_BATTLE_TEST("Dancer-called damaging moves are considered for Counter/Mirror Coat/Metal Burst") + +TO_DO_BATTLE_TEST("Dancer copies a status Z-Move's base move without gaining an additional Z-Power effect") +TO_DO_BATTLE_TEST("Dancer user may hit itself in confusion instead of copying a move if it's confused") +TO_DO_BATTLE_TEST("Dancer tries to copy a move but fails if it's being forced into a different move - Rampage move") // Test with Petal Dance, Thrash +TO_DO_BATTLE_TEST("Dancer tries to copy a move but fails if it's being forced into a different move - Rollout") +TO_DO_BATTLE_TEST("Dancer tries to copy a move but fails if it's being forced into a different move - Choice items") +TO_DO_BATTLE_TEST("Dancer tries to copy a move but fails if it's being forced into a different move - Encore") +TO_DO_BATTLE_TEST("Dancer tries to copy a status move but fails if it's under Taunt's effect") +TO_DO_BATTLE_TEST("Dancer can still copy status moves if the user is holding an Assault Vest") +TO_DO_BATTLE_TEST("Dancer copies Lunar Dance after the original user faints, but before the replacement is sent out") +TO_DO_BATTLE_TEST("Dancer doesn't activate Feather Dance if it was reflected by Magic Bounce/Coat") diff --git a/test/battle/ability/dazzling.c b/test/battle/ability/dazzling.c index ea7b2ba1b8..e5dd6bb37d 100644 --- a/test/battle/ability/dazzling.c +++ b/test/battle/ability/dazzling.c @@ -1,7 +1,6 @@ #include "global.h" #include "test/battle.h" - ASSUMPTIONS { ASSUME(GetMovePriority(MOVE_QUICK_ATTACK) > 0); @@ -122,3 +121,14 @@ SINGLE_BATTLE_TEST("Dazzling, Queenly Majesty and Armor Tail prevent Protean act ABILITY_POPUP(opponent, ability); } } + +// Listed on Bulbapedia as "Moves that target all Pokémon (except Perish Song, Flower Shield, and Rototiller)," +// Despite the fact that there's only 2 remaining moves from that list, being Haze and Teatime +TO_DO_BATTLE_TEST("Dazzling, Queenly Majesty and Armor Tail do not block Haze") +TO_DO_BATTLE_TEST("Dazzling, Queenly Majesty and Armor Tail do not block Teatime") + +TO_DO_BATTLE_TEST("Dazzling, Queenly Majesty and Armor Tail do not block a move's Z-Status effect") // Z-Baby-Doll eyes increases Def but doesn't reduce Atk +TO_DO_BATTLE_TEST("Mold Breaker ignores Dazzling, Queenly Majesty and Armor Tail") +TO_DO_BATTLE_TEST("Instruct-called moves keep their priority, which is considered for Dazzling, Queenly Majesty and Armor Tail") + +TO_DO_BATTLE_TEST(" Dazzling, Queenly Majesty and Armor Tail do not block high-priority moves called by other moves") // Metronome, Assist, Nature Power, etc. diff --git a/test/battle/ability/delta_stream.c b/test/battle/ability/delta_stream.c index 5b4081cb1e..a2202d64c0 100644 --- a/test/battle/ability/delta_stream.c +++ b/test/battle/ability/delta_stream.c @@ -1,4 +1,9 @@ #include "global.h" #include "test/battle.h" -TO_DO_BATTLE_TEST("TODO: Write Delta Stream (Ability) test titles") +// Effects of strong winds are handled in test/battle/weather/strong_winds.c + +//TO_DO_BATTLE_TEST("Delta Stream doesn't activate if is sent-out in a rotated-out position (Rotation)") +//TO_DO_BATTLE_TEST("Delta Stream doesn't activate if is rotated-in (Rotation)") +TO_DO_BATTLE_TEST("Delta Stream doesn't activate if there's already strong winds") +TO_DO_BATTLE_TEST("Strong winds continue as long as there's a Pokémon with Delta Stream on the field") // Doesn't need to be the original mon diff --git a/test/battle/ability/desolate_land.c b/test/battle/ability/desolate_land.c index b7cc02d47e..d9f1e3924a 100644 --- a/test/battle/ability/desolate_land.c +++ b/test/battle/ability/desolate_land.c @@ -98,3 +98,15 @@ SINGLE_BATTLE_TEST("Desolate Land is removed immediately if user faints") MESSAGE("The extremely harsh sunlight faded!"); } } + +TO_DO_BATTLE_TEST("Desolate Land makes Sunny Day fail") +TO_DO_BATTLE_TEST("Desolate Land makes Rain Dance fail") +TO_DO_BATTLE_TEST("Desolate Land makes Sandstorm fail") +TO_DO_BATTLE_TEST("Desolate Land makes Hail fail") +TO_DO_BATTLE_TEST("Desolate Land makes Snowscape fail") // Extrapolation +TO_DO_BATTLE_TEST("Desolate Land makes Drought fail to activate") +TO_DO_BATTLE_TEST("Desolate Land makes Drizzle fail to activate") +TO_DO_BATTLE_TEST("Desolate Land makes Sand Stream fail to activate") +TO_DO_BATTLE_TEST("Desolate Land makes Snow Warning fail to activate") +TO_DO_BATTLE_TEST("Desolate Land can be replaced by Delta Stream") +TO_DO_BATTLE_TEST("Desolate Land can be replaced by Primordial Sea") diff --git a/test/battle/ability/disguise.c b/test/battle/ability/disguise.c index 2338c2d3ff..d77f94c1db 100644 --- a/test/battle/ability/disguise.c +++ b/test/battle/ability/disguise.c @@ -85,7 +85,7 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu's Air Balloon will pop upon changing to it } } -SINGLE_BATTLE_TEST("Disguised Mimikyu takes damage from secondary damage without breaking the disguise") +SINGLE_BATTLE_TEST("Disguised Mimikyu takes damage from secondary damage without breaking the disguise - Stealth Rock") { GIVEN { ASSUME(GetMoveEffect(MOVE_STEALTH_ROCK) == EFFECT_STEALTH_ROCK); @@ -104,6 +104,8 @@ SINGLE_BATTLE_TEST("Disguised Mimikyu takes damage from secondary damage without } } +TO_DO_BATTLE_TEST("Disguised Mimikyu takes damage from secondary damage without breaking the disguise - Weather") + SINGLE_BATTLE_TEST("Disguised Mimikyu takes damage from Rocky Helmet without breaking the disguise") { GIVEN { diff --git a/test/battle/ability/primordial_sea.c b/test/battle/ability/primordial_sea.c index 39d350d3a0..f24219f263 100644 --- a/test/battle/ability/primordial_sea.c +++ b/test/battle/ability/primordial_sea.c @@ -64,3 +64,15 @@ SINGLE_BATTLE_TEST("Primordial Sea does not block a move if Pokémon is asleep a MESSAGE("The opposing Wobbuffet is fast asleep."); } } + +TO_DO_BATTLE_TEST("Primordial Sea makes Sunny Day fail") +TO_DO_BATTLE_TEST("Primordial Sea makes Rain Dance fail") +TO_DO_BATTLE_TEST("Primordial Sea makes Sandstorm fail") +TO_DO_BATTLE_TEST("Primordial Sea makes Hail fail") +TO_DO_BATTLE_TEST("Primordial Sea makes Snowscape fail") // Extrapolation +TO_DO_BATTLE_TEST("Primordial Sea makes Drought fail to activate") +TO_DO_BATTLE_TEST("Primordial Sea makes Drizzle fail to activate") +TO_DO_BATTLE_TEST("Primordial Sea makes Sand Stream fail to activate") +TO_DO_BATTLE_TEST("Primordial Sea makes Snow Warning fail to activate") +TO_DO_BATTLE_TEST("Primordial Sea can be replaced by Delta Stream") +TO_DO_BATTLE_TEST("Primordial Sea can be replaced by Desolate Land") diff --git a/test/battle/weather/strong_winds.c b/test/battle/weather/strong_winds.c new file mode 100644 index 0000000000..26b0a51d0d --- /dev/null +++ b/test/battle/weather/strong_winds.c @@ -0,0 +1,17 @@ +#include "global.h" +#include "test/battle.h" + +TO_DO_BATTLE_TEST("Strong winds remove Flying-type weaknesses of all battlers") // Electric, Ice, Rock +TO_DO_BATTLE_TEST("Strong winds remove Flying-type weaknesses of all battlers - Inverse Battle") // Bug, Fighting, Grass +TO_DO_BATTLE_TEST("Strong winds don't affect Stealth Rock's damage") +TO_DO_BATTLE_TEST("Strong winds makes Sunny Day fail") +TO_DO_BATTLE_TEST("Strong winds makes Rain Dance fail") +TO_DO_BATTLE_TEST("Strong winds makes Sandstorm fail") +TO_DO_BATTLE_TEST("Strong winds makes Hail fail") +TO_DO_BATTLE_TEST("Strong winds makes Snowscape fail") // Extrapolation +TO_DO_BATTLE_TEST("Strong winds makes Drought fail to activate") +TO_DO_BATTLE_TEST("Strong winds makes Drizzle fail to activate") +TO_DO_BATTLE_TEST("Strong winds makes Sand Stream fail to activate") +TO_DO_BATTLE_TEST("Strong winds makes Snow Warning fail to activate") +TO_DO_BATTLE_TEST("Strong winds can be replaced by Desolate Land") +TO_DO_BATTLE_TEST("Strong winds can be replaced by Primordial Sea")