mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-27 04:04:17 +01:00
82 lines
2.8 KiB
C
82 lines
2.8 KiB
C
#include "global.h"
|
|
#include "test_battle.h"
|
|
|
|
ASSUMPTIONS
|
|
{
|
|
ASSUME(gBattleMoves[MOVE_MIRROR_MOVE].effect == EFFECT_MIRROR_MOVE);
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Mirror Move copies the last used move by the target")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET) {Speed(2);}
|
|
OPPONENT(SPECIES_WOBBUFFET) {Speed(5);}
|
|
} WHEN {
|
|
TURN { MOVE(opponent, MOVE_TACKLE); MOVE(player, MOVE_MIRROR_MOVE); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent);
|
|
HP_BAR(player);
|
|
MESSAGE("Wobbuffet used Mirror Move!");
|
|
MESSAGE("Wobbuffet used Tackle!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player);
|
|
HP_BAR(opponent);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Mirror Move fails if no move was used before")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET) {Speed(5);}
|
|
OPPONENT(SPECIES_WOBBUFFET) {Speed(2);}
|
|
} WHEN {
|
|
TURN { MOVE(opponent, MOVE_TACKLE); MOVE(player, MOVE_MIRROR_MOVE); }
|
|
} SCENE {
|
|
MESSAGE("Wobbuffet used Mirror Move!");
|
|
MESSAGE("The Mirror Move failed!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent);
|
|
HP_BAR(player);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Mirror Move's called powder move fails against Grass Types")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_STUN_SPORE].powderMove);
|
|
ASSUME(gSpeciesInfo[SPECIES_ODDISH].types[0] == TYPE_GRASS);
|
|
ASSUME(gBattleMoves[MOVE_STUN_SPORE].effect == EFFECT_PARALYZE);
|
|
PLAYER(SPECIES_ODDISH) {Speed(5);}
|
|
OPPONENT(SPECIES_WOBBUFFET) {Speed(2);}
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_STUN_SPORE); MOVE(opponent, MOVE_MIRROR_MOVE); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player);
|
|
STATUS_ICON(opponent, paralysis: TRUE);
|
|
MESSAGE("Foe Wobbuffet used Mirror Move!");
|
|
MESSAGE("Foe Wobbuffet used Stun Spore!");
|
|
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, opponent);
|
|
MESSAGE("It doesn't affect Oddish…");
|
|
NOT STATUS_ICON(player, paralysis: TRUE);
|
|
}
|
|
}
|
|
|
|
// It hits first 2 times, then 5 times with the default rng seed.
|
|
SINGLE_BATTLE_TEST("Mirror Move's called multi-hit move hits multiple times")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_BULLET_SEED].effect == EFFECT_MULTI_HIT);
|
|
PLAYER(SPECIES_WOBBUFFET) {Speed(5);}
|
|
OPPONENT(SPECIES_WOBBUFFET) {Speed(2);}
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_BULLET_SEED); MOVE(opponent, MOVE_MIRROR_MOVE); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
HP_BAR(opponent);
|
|
MESSAGE("Hit 2 time(s)!");
|
|
MESSAGE("Foe Wobbuffet used Mirror Move!");
|
|
MESSAGE("Foe Wobbuffet used Bullet Seed!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, opponent);
|
|
HP_BAR(player);
|
|
MESSAGE("Hit 5 time(s)!");
|
|
}
|
|
}
|