2024-11-21 23:10:55 +00:00
# include "global.h"
# include "test/battle.h"
DOUBLE_BATTLE_TEST ( " Spread Moves: Ability and Item effects activate correctly after a multi target move " )
{
2024-12-02 16:45:00 +00:00
// TODO: Might be a bug, verify on cardridge
2024-11-21 23:10:55 +00:00
GIVEN {
PLAYER ( SPECIES_WOBBUFFET ) { Item ( ITEM_LUM_BERRY ) ; }
PLAYER ( SPECIES_WOBBUFFET ) { Item ( ITEM_COVERT_CLOAK ) ; }
OPPONENT ( SPECIES_GOLISOPOD ) { Ability ( ABILITY_EMERGENCY_EXIT ) ; MaxHP ( 260 ) ; HP ( 131 ) ; } ;
OPPONENT ( SPECIES_WOBBUFFET ) { Item ( ITEM_EJECT_BUTTON ) ; }
OPPONENT ( SPECIES_WYNAUT ) ;
OPPONENT ( SPECIES_PIKACHU ) ;
} WHEN {
TURN {
MOVE ( opponentRight , MOVE_HEAT_WAVE ) ;
MOVE ( playerLeft , MOVE_HYPER_VOICE ) ;
SEND_OUT ( opponentRight , 3 ) ;
SEND_OUT ( opponentLeft , 2 ) ;
}
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_HYPER_VOICE , playerLeft ) ;
ANIMATION ( ANIM_TYPE_GENERAL , B_ANIM_HELD_ITEM_EFFECT , opponentRight ) ;
MESSAGE ( " The opposing Wobbuffet is switched out with the Eject Button! " ) ;
MESSAGE ( " 2 sent out Pikachu! " ) ;
ABILITY_POPUP ( opponentLeft , ABILITY_EMERGENCY_EXIT ) ;
MESSAGE ( " 2 sent out Wynaut! " ) ;
}
}
2024-12-04 14:31:28 +00:00
DOUBLE_BATTLE_TEST ( " Spread Moves: No damage will be dealt to a mon in an invulnerable position " )
2024-11-21 23:10:55 +00:00
{
2024-12-04 14:31:28 +00:00
u32 attackingMove = 0 , invulMove = 0 ;
PARAMETRIZE { attackingMove = MOVE_HYPER_VOICE ; invulMove = MOVE_FLY ; }
PARAMETRIZE { attackingMove = MOVE_LAVA_PLUME ; invulMove = MOVE_FLY ; }
PARAMETRIZE { attackingMove = MOVE_HYPER_VOICE ; invulMove = MOVE_DIVE ; }
PARAMETRIZE { attackingMove = MOVE_LAVA_PLUME ; invulMove = MOVE_DIVE ; }
2024-11-21 23:10:55 +00:00
GIVEN {
2024-12-04 14:31:28 +00:00
ASSUME ( gMovesInfo [ MOVE_HYPER_VOICE ] . target = = MOVE_TARGET_BOTH ) ;
ASSUME ( gMovesInfo [ MOVE_LAVA_PLUME ] . target = = MOVE_TARGET_FOES_AND_ALLY ) ;
2024-11-21 23:10:55 +00:00
PLAYER ( SPECIES_WOBBUFFET ) ;
PLAYER ( SPECIES_WYNAUT ) ;
OPPONENT ( SPECIES_ZAPDOS ) ;
OPPONENT ( SPECIES_WOBBUFFET ) ;
} WHEN {
2024-12-04 14:31:28 +00:00
TURN { MOVE ( opponentLeft , invulMove , target : playerLeft ) ; MOVE ( playerLeft , attackingMove ) ; }
2024-11-21 23:10:55 +00:00
} SCENE {
2024-12-04 14:31:28 +00:00
ANIMATION ( ANIM_TYPE_MOVE , attackingMove , playerLeft ) ;
2024-11-21 23:10:55 +00:00
NOT HP_BAR ( opponentLeft ) ;
HP_BAR ( opponentRight ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: A spread move attack will activate both resist berries " )
{
s16 opponentLeftDmg [ 2 ] ;
s16 opponentRightDmg [ 2 ] ;
GIVEN {
PLAYER ( SPECIES_GARDEVOIR ) ;
PLAYER ( SPECIES_RALTS ) ;
OPPONENT ( SPECIES_RAICHU ) { Item ( ITEM_CHILAN_BERRY ) ; }
OPPONENT ( SPECIES_SANDSLASH ) { Item ( ITEM_CHILAN_BERRY ) ; }
} WHEN {
TURN { MOVE ( playerLeft , MOVE_HYPER_VOICE ) ; }
TURN { MOVE ( playerLeft , MOVE_HYPER_VOICE ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_GENERAL , B_ANIM_HELD_ITEM_EFFECT , opponentLeft ) ;
MESSAGE ( " The Chilan Berry weakened the damage to the opposing Raichu! " ) ;
ANIMATION ( ANIM_TYPE_GENERAL , B_ANIM_HELD_ITEM_EFFECT , opponentRight ) ;
MESSAGE ( " The Chilan Berry weakened the damage to the opposing Sandslash! " ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_HYPER_VOICE , playerLeft ) ;
HP_BAR ( opponentLeft , captureDamage : & opponentLeftDmg [ 0 ] ) ;
HP_BAR ( opponentRight , captureDamage : & opponentRightDmg [ 0 ] ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_HYPER_VOICE , playerLeft ) ;
HP_BAR ( opponentLeft , captureDamage : & opponentLeftDmg [ 1 ] ) ;
HP_BAR ( opponentRight , captureDamage : & opponentRightDmg [ 1 ] ) ;
} THEN {
EXPECT_MUL_EQ ( opponentLeftDmg [ 1 ] , Q_4_12 ( 0.5 ) , opponentLeftDmg [ 0 ] ) ;
EXPECT_MUL_EQ ( opponentRightDmg [ 1 ] , Q_4_12 ( 0.5 ) , opponentRightDmg [ 0 ] ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: If a spread move attack will activate a resist berries on one pokemon, only the damage for that mon will be reduced " )
{
s16 opponentLeftDmg [ 2 ] ;
s16 opponentRightDmg [ 2 ] ;
GIVEN {
PLAYER ( SPECIES_GARDEVOIR ) ;
PLAYER ( SPECIES_RALTS ) ;
OPPONENT ( SPECIES_RAICHU )
OPPONENT ( SPECIES_SANDSLASH ) { Item ( ITEM_CHILAN_BERRY ) ; }
} WHEN {
TURN { MOVE ( playerLeft , MOVE_HYPER_VOICE ) ; }
TURN { MOVE ( playerLeft , MOVE_HYPER_VOICE ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_GENERAL , B_ANIM_HELD_ITEM_EFFECT , opponentRight ) ;
MESSAGE ( " The Chilan Berry weakened the damage to the opposing Sandslash! " ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_HYPER_VOICE , playerLeft ) ;
HP_BAR ( opponentLeft , captureDamage : & opponentLeftDmg [ 0 ] ) ;
HP_BAR ( opponentRight , captureDamage : & opponentRightDmg [ 0 ] ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_HYPER_VOICE , playerLeft ) ;
HP_BAR ( opponentLeft , captureDamage : & opponentLeftDmg [ 1 ] ) ;
HP_BAR ( opponentRight , captureDamage : & opponentRightDmg [ 1 ] ) ;
} THEN {
EXPECT_EQ ( opponentLeftDmg [ 1 ] , opponentLeftDmg [ 0 ] ) ;
EXPECT_MUL_EQ ( opponentRightDmg [ 1 ] , Q_4_12 ( 0.5 ) , opponentRightDmg [ 0 ] ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: A spread move attack will be weakened by strong winds on both targets " )
{
s16 opponentLeftDmg [ 2 ] ;
s16 opponentRightDmg [ 2 ] ;
GIVEN {
PLAYER ( SPECIES_GARDEVOIR ) ;
PLAYER ( SPECIES_RAYQUAZA ) { Ability ( ABILITY_AIR_LOCK ) ; }
PLAYER ( SPECIES_RALTS ) ;
OPPONENT ( SPECIES_ZAPDOS )
OPPONENT ( SPECIES_RAYQUAZA ) { Moves ( MOVE_DRAGON_ASCENT , MOVE_CELEBRATE ) ; }
} WHEN {
TURN { MOVE ( opponentRight , MOVE_CELEBRATE , gimmick : GIMMICK_MEGA ) ; MOVE ( playerLeft , MOVE_ROCK_SLIDE ) ; }
TURN { SWITCH ( playerRight , 2 ) ; MOVE ( opponentRight , MOVE_CELEBRATE ) ; MOVE ( playerLeft , MOVE_ROCK_SLIDE ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_ROCK_SLIDE , playerLeft ) ;
HP_BAR ( opponentLeft , captureDamage : & opponentLeftDmg [ 0 ] ) ;
HP_BAR ( opponentRight , captureDamage : & opponentRightDmg [ 0 ] ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_ROCK_SLIDE , playerLeft ) ;
HP_BAR ( opponentLeft , captureDamage : & opponentLeftDmg [ 1 ] ) ;
HP_BAR ( opponentRight , captureDamage : & opponentRightDmg [ 1 ] ) ;
} THEN {
EXPECT_MUL_EQ ( opponentLeftDmg [ 0 ] , Q_4_12 ( 0.5 ) , opponentLeftDmg [ 1 ] ) ;
EXPECT_MUL_EQ ( opponentRightDmg [ 0 ] , Q_4_12 ( 0.5 ) , opponentRightDmg [ 1 ] ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: A spread move attack will be weakened by strong winds on one of the targets " )
{
s16 opponentLeftDmg [ 2 ] ;
s16 opponentRightDmg [ 2 ] ;
GIVEN {
PLAYER ( SPECIES_GARDEVOIR ) ;
PLAYER ( SPECIES_RAYQUAZA ) { Ability ( ABILITY_AIR_LOCK ) ; }
PLAYER ( SPECIES_RALTS ) ;
OPPONENT ( SPECIES_DONPHAN )
OPPONENT ( SPECIES_RAYQUAZA ) { Moves ( MOVE_DRAGON_ASCENT , MOVE_CELEBRATE ) ; }
} WHEN {
TURN { MOVE ( opponentRight , MOVE_CELEBRATE , gimmick : GIMMICK_MEGA ) ; MOVE ( playerLeft , MOVE_ROCK_SLIDE ) ; }
TURN { SWITCH ( playerRight , 2 ) ; MOVE ( opponentRight , MOVE_CELEBRATE ) ; MOVE ( playerLeft , MOVE_ROCK_SLIDE ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_ROCK_SLIDE , playerLeft ) ;
HP_BAR ( opponentLeft , captureDamage : & opponentLeftDmg [ 0 ] ) ;
HP_BAR ( opponentRight , captureDamage : & opponentRightDmg [ 0 ] ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_ROCK_SLIDE , playerLeft ) ;
HP_BAR ( opponentLeft , captureDamage : & opponentLeftDmg [ 1 ] ) ;
HP_BAR ( opponentRight , captureDamage : & opponentRightDmg [ 1 ] ) ;
} THEN {
EXPECT_EQ ( opponentLeftDmg [ 1 ] , opponentLeftDmg [ 0 ] ) ;
EXPECT_MUL_EQ ( opponentRightDmg [ 0 ] , Q_4_12 ( 0.5 ) , opponentRightDmg [ 1 ] ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: AOE move vs Disguise, Volt Absorb (right) and Lightning Rod (left) " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_DISCHARGE ] . target = = MOVE_TARGET_FOES_AND_ALLY ) ;
ASSUME ( gMovesInfo [ MOVE_DISCHARGE ] . type = = TYPE_ELECTRIC ) ;
PLAYER ( SPECIES_WOBBUFFET ) ;
PLAYER ( SPECIES_MIMIKYU ) ;
OPPONENT ( SPECIES_RAICHU ) { Ability ( ABILITY_LIGHTNING_ROD ) ; }
OPPONENT ( SPECIES_LANTURN ) { Ability ( ABILITY_VOLT_ABSORB ) ; HP ( 1 ) ; }
} WHEN {
TURN { MOVE ( playerLeft , MOVE_DISCHARGE ) ; }
} SCENE {
ABILITY_POPUP ( opponentLeft , ABILITY_LIGHTNING_ROD ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_DISCHARGE , playerLeft ) ;
ABILITY_POPUP ( playerRight , ABILITY_DISGUISE ) ;
ABILITY_POPUP ( opponentRight , ABILITY_VOLT_ABSORB ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: AOE move vs Disguise, Volt Absorb (left) and Lightning Rod (reft) " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_DISCHARGE ] . target = = MOVE_TARGET_FOES_AND_ALLY ) ;
ASSUME ( gMovesInfo [ MOVE_DISCHARGE ] . type = = TYPE_ELECTRIC ) ;
PLAYER ( SPECIES_WOBBUFFET ) ;
PLAYER ( SPECIES_MIMIKYU ) ;
OPPONENT ( SPECIES_LANTURN ) { Ability ( ABILITY_VOLT_ABSORB ) ; HP ( 1 ) ; }
OPPONENT ( SPECIES_RAICHU ) { Ability ( ABILITY_LIGHTNING_ROD ) ; }
} WHEN {
TURN { MOVE ( playerLeft , MOVE_DISCHARGE ) ; }
} SCENE {
ABILITY_POPUP ( opponentRight , ABILITY_LIGHTNING_ROD ) ;
ABILITY_POPUP ( opponentLeft , ABILITY_VOLT_ABSORB ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_DISCHARGE , playerLeft ) ;
ABILITY_POPUP ( playerRight , ABILITY_DISGUISE ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: AOE move vs Eiscue and Mimikyu (Based on vanilla games) " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_EARTHQUAKE ] . target = = MOVE_TARGET_FOES_AND_ALLY ) ;
ASSUME ( gMovesInfo [ MOVE_EARTHQUAKE ] . category = = DAMAGE_CATEGORY_PHYSICAL ) ;
PLAYER ( SPECIES_WOBBUFFET ) ;
PLAYER ( SPECIES_EISCUE ) ;
OPPONENT ( SPECIES_MIMIKYU ) ;
OPPONENT ( SPECIES_EISCUE ) ;
} WHEN {
TURN { MOVE ( playerLeft , MOVE_EARTHQUAKE ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_EARTHQUAKE , playerLeft ) ;
ABILITY_POPUP ( opponentLeft , ABILITY_DISGUISE ) ;
ABILITY_POPUP ( playerRight , ABILITY_ICE_FACE ) ;
ABILITY_POPUP ( opponentRight , ABILITY_ICE_FACE ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Spread move, Gem Boosted, vs Resist Berries " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_HYPER_VOICE ] . target = = MOVE_TARGET_BOTH ) ;
PLAYER ( SPECIES_WOBBUFFET ) { Speed ( 40 ) ; Item ( ITEM_NORMAL_GEM ) ; }
PLAYER ( SPECIES_WYNAUT ) { Speed ( 30 ) ; }
OPPONENT ( SPECIES_WOBBUFFET ) { Speed ( 20 ) ; Item ( ITEM_CHILAN_BERRY ) ; }
OPPONENT ( SPECIES_WYNAUT ) { Speed ( 10 ) ; Item ( ITEM_CHILAN_BERRY ) ; }
} WHEN {
TURN { MOVE ( playerLeft , MOVE_HYPER_VOICE ) ; }
} SCENE {
MESSAGE ( " The Normal Gem strengthened Wobbuffet's power! " ) ;
MESSAGE ( " The Chilan Berry weakened the damage to the opposing Wobbuffet! " ) ;
MESSAGE ( " The Chilan Berry weakened the damage to the opposing Wynaut! " ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_HYPER_VOICE , playerLeft ) ;
HP_BAR ( opponentLeft ) ;
HP_BAR ( opponentRight ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Explosion, Gem Boosted, vs Resist Berries " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_EXPLOSION ] . target = = MOVE_TARGET_FOES_AND_ALLY ) ;
PLAYER ( SPECIES_WOBBUFFET ) { Speed ( 40 ) ; Item ( ITEM_NORMAL_GEM ) ; }
PLAYER ( SPECIES_MISDREAVUS ) { Speed ( 30 ) ; }
OPPONENT ( SPECIES_WOBBUFFET ) { Speed ( 20 ) ; Item ( ITEM_CHILAN_BERRY ) ; }
OPPONENT ( SPECIES_WYNAUT ) { Speed ( 10 ) ; Item ( ITEM_CHILAN_BERRY ) ; }
} WHEN {
TURN { MOVE ( playerLeft , MOVE_EXPLOSION ) ; }
} SCENE {
MESSAGE ( " The Normal Gem strengthened Wobbuffet's power! " ) ;
MESSAGE ( " The Chilan Berry weakened the damage to the opposing Wobbuffet! " ) ;
MESSAGE ( " The Chilan Berry weakened the damage to the opposing Wynaut! " ) ;
ANIMATION ( ANIM_TYPE_MOVE , MOVE_EXPLOSION , playerLeft ) ;
HP_BAR ( opponentLeft ) ;
HP_BAR ( opponentRight ) ;
MESSAGE ( " It doesn't affect Misdreavus… " ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Spread move vs Eiscue and Mimikyu with 1 Eject Button " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_RAZOR_LEAF ] . target = = MOVE_TARGET_BOTH ) ;
ASSUME ( gMovesInfo [ MOVE_RAZOR_LEAF ] . category = = DAMAGE_CATEGORY_PHYSICAL ) ;
PLAYER ( SPECIES_WOBBUFFET ) { Speed ( 40 ) ; }
PLAYER ( SPECIES_WYNAUT ) { Speed ( 30 ) ; }
OPPONENT ( SPECIES_MIMIKYU ) { Speed ( 20 ) ; Item ( ITEM_EJECT_BUTTON ) ; }
OPPONENT ( SPECIES_EISCUE ) { Speed ( 10 ) ; }
OPPONENT ( SPECIES_WOBBUFFET ) { Speed ( 100 ) ; }
} WHEN {
TURN { MOVE ( playerLeft , MOVE_RAZOR_LEAF ) ; SEND_OUT ( opponentLeft , 2 ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_RAZOR_LEAF , playerLeft ) ;
ABILITY_POPUP ( opponentLeft , ABILITY_DISGUISE ) ;
ABILITY_POPUP ( opponentRight , ABILITY_ICE_FACE ) ;
MESSAGE ( " The opposing Mimikyu is switched out with the Eject Button! " ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Spread move vs Wide Guard " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_HYPER_VOICE ] . target = = MOVE_TARGET_BOTH ) ;
PLAYER ( SPECIES_WOBBUFFET ) { Speed ( 40 ) ; }
PLAYER ( SPECIES_WYNAUT ) { Speed ( 20 ) ; }
OPPONENT ( SPECIES_WOBBUFFET ) { Speed ( 30 ) ; }
OPPONENT ( SPECIES_WYNAUT ) { Speed ( 10 ) ; }
} WHEN {
TURN { MOVE ( playerLeft , MOVE_WIDE_GUARD ) ; MOVE ( opponentLeft , MOVE_HYPER_VOICE ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_WIDE_GUARD , playerLeft ) ;
MESSAGE ( " Wide Guard protected your team! " ) ;
MESSAGE ( " The opposing Wobbuffet used Hyper Voice! " ) ;
MESSAGE ( " Wobbuffet protected itself! " ) ;
MESSAGE ( " Wynaut protected itself! " ) ;
NOT ANIMATION ( ANIM_TYPE_MOVE , MOVE_HYPER_VOICE , playerLeft ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Spread move vs one protecting mon " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_HYPER_VOICE ] . target = = MOVE_TARGET_BOTH ) ;
PLAYER ( SPECIES_WOBBUFFET ) ;
PLAYER ( SPECIES_WYNAUT ) ;
OPPONENT ( SPECIES_WOBBUFFET ) ;
OPPONENT ( SPECIES_WYNAUT ) ;
} WHEN {
TURN { MOVE ( opponentLeft , MOVE_PROTECT ) ; MOVE ( playerLeft , MOVE_HYPER_VOICE ) ; }
} SCENE {
MESSAGE ( " The opposing Wobbuffet used Protect! " ) ;
MESSAGE ( " Wobbuffet used Hyper Voice! " ) ;
MESSAGE ( " The opposing Wobbuffet protected itself! " ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Super Effective Message on both opposing mons " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_PRECIPICE_BLADES ] . target = = MOVE_TARGET_BOTH ) ;
PLAYER ( SPECIES_WOBBUFFET ) ;
PLAYER ( SPECIES_WYNAUT ) ;
OPPONENT ( SPECIES_GOLEM ) ;
OPPONENT ( SPECIES_ONIX ) ;
} WHEN {
TURN { MOVE ( playerLeft , MOVE_PRECIPICE_BLADES ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_PRECIPICE_BLADES , playerLeft ) ;
HP_BAR ( opponentLeft ) ;
HP_BAR ( opponentRight ) ;
MESSAGE ( " It's super effective on the opposing Golem and Onix! " ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Super Effective Message on both player mons " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_PRECIPICE_BLADES ] . target = = MOVE_TARGET_BOTH ) ;
PLAYER ( SPECIES_GOLEM ) ;
PLAYER ( SPECIES_ONIX ) ;
OPPONENT ( SPECIES_WOBBUFFET ) ;
OPPONENT ( SPECIES_WYNAUT ) ;
} WHEN {
TURN { MOVE ( opponentLeft , MOVE_PRECIPICE_BLADES ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_PRECIPICE_BLADES , opponentLeft ) ;
HP_BAR ( playerLeft ) ;
HP_BAR ( playerRight ) ;
MESSAGE ( " It's super effective on Golem and Onix! " ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Not very effective Message on both opposing mons " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_PRECIPICE_BLADES ] . target = = MOVE_TARGET_BOTH ) ;
PLAYER ( SPECIES_WOBBUFFET ) ;
PLAYER ( SPECIES_WYNAUT ) ;
OPPONENT ( SPECIES_CHIKORITA ) ;
OPPONENT ( SPECIES_TREECKO ) ;
} WHEN {
TURN { MOVE ( playerLeft , MOVE_PRECIPICE_BLADES ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_PRECIPICE_BLADES , playerLeft ) ;
HP_BAR ( opponentLeft ) ;
HP_BAR ( opponentRight ) ;
MESSAGE ( " It's not very effective on the opposing Chikorita and Treecko! " ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Not very effective message on both player mons " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_PRECIPICE_BLADES ] . target = = MOVE_TARGET_BOTH ) ;
PLAYER ( SPECIES_CHIKORITA ) ;
PLAYER ( SPECIES_TREECKO ) ;
OPPONENT ( SPECIES_WOBBUFFET ) ;
OPPONENT ( SPECIES_WYNAUT ) ;
} WHEN {
TURN { MOVE ( opponentLeft , MOVE_PRECIPICE_BLADES ) ; }
} SCENE {
ANIMATION ( ANIM_TYPE_MOVE , MOVE_PRECIPICE_BLADES , opponentLeft ) ;
HP_BAR ( playerLeft ) ;
HP_BAR ( playerRight ) ;
MESSAGE ( " It's not very effective on Chikorita and Treecko! " ) ;
}
}
DOUBLE_BATTLE_TEST ( " Spread Moves: Doesn't affect message on both opposing mons " )
{
GIVEN {
ASSUME ( gMovesInfo [ MOVE_PRECIPICE_BLADES ] . target = = MOVE_TARGET_BOTH ) ;
PLAYER ( SPECIES_WOBBUFFET ) ;
PLAYER ( SPECIES_WYNAUT ) ;
OPPONENT ( SPECIES_PIDGEY ) ;
OPPONENT ( SPECIES_HOOTHOOT ) ;
} WHEN {
TURN { MOVE ( playerLeft , MOVE_PRECIPICE_BLADES ) ; }
} SCENE {
NOT ANIMATION ( ANIM_TYPE_MOVE , MOVE_PRECIPICE_BLADES , playerLeft ) ;
MESSAGE ( " It doesn't affect the opposing Pidgey and Hoothoot… " ) ;
}
}