pokeemmo/test/battle/ability/sand_rush.c
hedara90 b6b6e91959
A lot of tests (#6734)
Co-authored-by: Hedara <hedara90@gmail.com>
2025-05-07 16:50:12 +02:00

52 lines
1.9 KiB
C

#include "global.h"
#include "test/battle.h"
SINGLE_BATTLE_TEST("Sand Rush prevents damage from sandstorm")
{
u32 type1 = gSpeciesInfo[SPECIES_STOUTLAND].types[0];
u32 type2 = gSpeciesInfo[SPECIES_STOUTLAND].types[1];
GIVEN {
ASSUME(type1 != TYPE_ROCK && type2 != TYPE_ROCK);
ASSUME(type1 != TYPE_GROUND && type2 != TYPE_GROUND);
ASSUME(type1 != TYPE_STEEL && type2 != TYPE_STEEL);
PLAYER(SPECIES_STOUTLAND) { Ability(ABILITY_SAND_RUSH); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(player, MOVE_SANDSTORM); }
} SCENE {
NOT HP_BAR(player);
}
}
SINGLE_BATTLE_TEST("Sand Rush doubles speed from sandstorm")
{
GIVEN {
PLAYER(SPECIES_SANDSLASH) { Ability(ABILITY_SAND_RUSH); Speed(100); }
OPPONENT(SPECIES_WOBBUFFET) { Speed(199); }
} WHEN {
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SANDSTORM); }
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
ANIMATION(ANIM_TYPE_MOVE, MOVE_SANDSTORM, player);
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player);
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
}
}
SINGLE_BATTLE_TEST("Sand Rush doesn't double speed if Cloud Nine/Air Lock is on the field")
{
GIVEN {
PLAYER(SPECIES_SANDSLASH) { Ability(ABILITY_SAND_RUSH); Speed(100); }
OPPONENT(SPECIES_GOLDUCK) { Speed(199); Ability(ABILITY_CLOUD_NINE); }
} WHEN {
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SANDSTORM); }
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_CELEBRATE); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
ANIMATION(ANIM_TYPE_MOVE, MOVE_SANDSTORM, player);
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player);
}
}