Hedara 90aed43c27 Merge branch 'master' into master-upcoming
Conflicts:
	.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml
	.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml
	.github/ISSUE_TEMPLATE/03_feature_requests.yaml
	.github/ISSUE_TEMPLATE/04_other_errors.yaml
	.github/pull_request_template.md
	src/battle_controller_player.c
	src/battle_main.c
	src/battle_script_commands.c
	src/battle_util.c
	src/data/graphics/pokemon.h
	src/data/pokemon/species_info/gen_9_families.h
	test/battle/ability/flower_veil.c
	test/battle/ability/sweet_veil.c
	test/battle/ability/synchronize.c
	test/battle/ability/water_bubble.c
	test/battle/move_effect/fell_stinger.c
	test/battle/move_effect/level_damage.c
	test/battle/move_effect/magic_room.c
	test/battle/move_effect/me_first.c
	test/battle/move_effect/sky_drop.c
	test/battle/move_effect/smack_down.c
	test/battle/move_effect/wish.c
	test/battle/move_flags/ignore_type_if_flying_and_ungrounded.c
2025-05-22 15:41:08 +02:00

60 lines
1.8 KiB
C

#include "global.h"
#include "test/battle.h"
ASSUMPTIONS
{
ASSUME(GetMoveEffect(MOVE_SMACK_DOWN) == EFFECT_SMACK_DOWN);
}
SINGLE_BATTLE_TEST("Smack Down does not ground mons behind substitutes")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_SKARMORY);
} WHEN {
TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_SMACK_DOWN); }
} SCENE {
NOT MESSAGE("The opposing Skarmory fell straight down!");
}
}
SINGLE_BATTLE_TEST("Thousand Arrows does not ground mons behind substitutes")
{
GIVEN {
ASSUME(GetMoveEffect(MOVE_THOUSAND_ARROWS) == EFFECT_SMACK_DOWN);
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_SKARMORY);
} WHEN {
TURN { MOVE(opponent, MOVE_SUBSTITUTE); MOVE(player, MOVE_THOUSAND_ARROWS); }
} SCENE {
NOT MESSAGE("The opposing Skarmory fell straight down!");
}
}
SINGLE_BATTLE_TEST("Smack Down does not ground mons through Protect")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_SKARMORY);
} WHEN {
TURN { MOVE(opponent, MOVE_PROTECT); MOVE(player, MOVE_SMACK_DOWN); }
} SCENE {
NOT MESSAGE("The opposing Skarmory fell straight down!");
}
}
SINGLE_BATTLE_TEST("Smack Down does not ground target if target is immune")
{
GIVEN {
ASSUME(GetMoveEffect(MOVE_ELECTRIFY) == EFFECT_ELECTRIFY);
ASSUME(gSpeciesInfo[SPECIES_GLISCOR].types[0] == TYPE_GROUND || gSpeciesInfo[SPECIES_GLISCOR].types[1] == TYPE_GROUND);
ASSUME(gSpeciesInfo[SPECIES_GLISCOR].types[0] == TYPE_FLYING || gSpeciesInfo[SPECIES_GLISCOR].types[1] == TYPE_FLYING);
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_GLISCOR);
} WHEN {
TURN { MOVE(opponent, MOVE_ELECTRIFY); MOVE(player, MOVE_SMACK_DOWN); }
} SCENE {
NOT MESSAGE("The opposing Gliscor fell straight down!");
}
}