From 7663fb88708d9a7a7ccda64094026383cc3912a0 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Wed, 19 Mar 2025 13:44:46 +0100 Subject: [PATCH] Move category test cleanup (#6447) Co-authored-by: Hedara --- test/battle/move_effect/shell_side_arm.c | 65 ++++++++++-------------- test/battle/move_effect/tera_starstorm.c | 19 ++++--- 2 files changed, 37 insertions(+), 47 deletions(-) diff --git a/test/battle/move_effect/shell_side_arm.c b/test/battle/move_effect/shell_side_arm.c index 13458e39ae..4a6be08f18 100644 --- a/test/battle/move_effect/shell_side_arm.c +++ b/test/battle/move_effect/shell_side_arm.c @@ -1,6 +1,12 @@ #include "global.h" #include "test/battle.h" +ASSUMPTIONS +{ + ASSUME(GetMoveEffect(MOVE_MIRROR_COAT) == EFFECT_MIRROR_COAT); + ASSUME(GetMoveEffect(MOVE_COUNTER) == EFFECT_COUNTER); +} + SINGLE_BATTLE_TEST("Shell Side Arm can be countered if it is physical") { GIVEN { @@ -31,28 +37,30 @@ SINGLE_BATTLE_TEST("Shell Side Arm can be mirror coated if it is special") } } -SINGLE_BATTLE_TEST("Shell Side Arm does not change category mid-turn") +DOUBLE_BATTLE_TEST("Shell Side Arm does not change category mid-turn") { - s16 damage[3]; - GIVEN { - PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_SHELL_SIDE_ARM); } - OPPONENT(SPECIES_WOBBUFFET) { Defense(100); SpDefense(120); } + ASSUME(GetMoveEffect(MOVE_SCREECH) == EFFECT_DEFENSE_DOWN_2); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_SHUCKLE) { Ability(ABILITY_CONTRARY); Defense(100); SpDefense(120); } + OPPONENT(SPECIES_WYNAUT); } WHEN { - TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SHELL_SIDE_ARM); } - TURN { MOVE(opponent, MOVE_LIGHT_SCREEN); MOVE(player, MOVE_SHELL_SIDE_ARM); } - TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SHELL_SIDE_ARM); } + TURN { MOVE(playerLeft, MOVE_SHELL_SIDE_ARM, target: opponentLeft); MOVE(opponentLeft, MOVE_MIRROR_COAT, target: opponentLeft); } + TURN { MOVE(playerRight, MOVE_SCREECH, target: opponentLeft); MOVE(playerLeft, MOVE_SHELL_SIDE_ARM, target: opponentLeft); MOVE(opponentLeft, MOVE_MIRROR_COAT, target: opponentLeft); } + TURN { MOVE(playerLeft, MOVE_SHELL_SIDE_ARM, target: opponentLeft); MOVE(opponentLeft, MOVE_MIRROR_COAT, target: opponentLeft); } } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_SIDE_ARM, player); - HP_BAR(opponent, captureDamage: &damage[0]); - ANIMATION(ANIM_TYPE_MOVE, MOVE_LIGHT_SCREEN, opponent); - ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_SIDE_ARM, player); - HP_BAR(opponent, captureDamage: &damage[1]); - ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_SIDE_ARM, player); - HP_BAR(opponent, captureDamage: &damage[2]); - } THEN { - EXPECT_EQ(damage[0], damage[1]); - EXPECT_EQ(damage[1], damage[2]); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_SIDE_ARM, playerLeft); + HP_BAR(opponentLeft); + NOT HP_BAR(playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCREECH, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_SIDE_ARM, playerLeft); + HP_BAR(opponentLeft); + NOT HP_BAR(playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_SIDE_ARM, playerLeft); + HP_BAR(opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_MIRROR_COAT, opponentLeft); + HP_BAR(playerLeft); } } @@ -77,24 +85,3 @@ DOUBLE_BATTLE_TEST("Shell Side Arm chooses its category for each battler on the HP_BAR(playerLeft); } } - -DOUBLE_BATTLE_TEST("Shell Side Arm does not change category mid-turn") -{ - GIVEN { - PLAYER(SPECIES_WOBBUFFET) { Speed(10); Moves(MOVE_SHELL_SIDE_ARM); } - PLAYER(SPECIES_WOBBUFFET) { Speed(20); } - OPPONENT(SPECIES_WOBBUFFET) { Speed(30); Defense(200); SpDefense(190); } - OPPONENT(SPECIES_WOBBUFFET) { Speed(40); } - } WHEN { - TURN { MOVE(playerLeft, MOVE_SHELL_SIDE_ARM, target: opponentLeft); - MOVE(opponentRight, MOVE_LIGHT_SCREEN); - MOVE(opponentLeft, MOVE_MIRROR_COAT); - } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_LIGHT_SCREEN, opponentRight); - ANIMATION(ANIM_TYPE_MOVE, MOVE_SHELL_SIDE_ARM, playerLeft); - HP_BAR(opponentLeft); - ANIMATION(ANIM_TYPE_MOVE, MOVE_MIRROR_COAT, opponentLeft); - HP_BAR(playerLeft); - } -} diff --git a/test/battle/move_effect/tera_starstorm.c b/test/battle/move_effect/tera_starstorm.c index 3077b38df9..c1d8794576 100644 --- a/test/battle/move_effect/tera_starstorm.c +++ b/test/battle/move_effect/tera_starstorm.c @@ -40,23 +40,26 @@ DOUBLE_BATTLE_TEST("Tera Starstorm targets both opponents in a double battle if } } -SINGLE_BATTLE_TEST("Tera Starstorm becomes a physical move if the user is Terapagos-Stellar, is Terastallized, and has a higher Attack stat", s16 damage) +SINGLE_BATTLE_TEST("Tera Starstorm becomes a physical move if the user is Terapagos-Stellar, is Terastallized, and has a higher Attack stat") { - bool32 tera; - PARAMETRIZE { tera = GIMMICK_NONE; } - PARAMETRIZE { tera = GIMMICK_TERA; } GIVEN { + ASSUME(GetMoveEffect(MOVE_COUNTER) == EFFECT_COUNTER); + ASSUME(GetMoveEffect(MOVE_MIRROR_COAT) == EFFECT_MIRROR_COAT); ASSUME(GetMoveCategory(MOVE_TERA_STARSTORM) == DAMAGE_CATEGORY_SPECIAL); PLAYER(SPECIES_TERAPAGOS_STELLAR) { Attack(100); SpAttack(50); } OPPONENT(SPECIES_WOBBUFFET) { Defense(200); SpDefense(200); } } WHEN { - TURN { MOVE(player, MOVE_TERA_STARSTORM, gimmick: tera); } + TURN { MOVE(player, MOVE_TERA_STARSTORM); MOVE(opponent, MOVE_MIRROR_COAT); } + TURN { MOVE(player, MOVE_TERA_STARSTORM, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_COUNTER); } } SCENE { MESSAGE("Terapagos used Tera Starstorm!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_TERA_STARSTORM, player); - HP_BAR(opponent, captureDamage: &results[i].damage); - } FINALLY { - EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.5), results[1].damage); + ANIMATION(ANIM_TYPE_MOVE, MOVE_MIRROR_COAT, opponent); + HP_BAR(player); + MESSAGE("Terapagos used Tera Starstorm!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TERA_STARSTORM, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_COUNTER, opponent); + HP_BAR(player); } }