B_KLUTZ_FLING_INTERACTION config test (#8568)

This commit is contained in:
Eduardo Quezada 2025-12-18 20:45:54 -03:00 committed by GitHub
parent b78fccdb66
commit 6e529cf221
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 7 deletions

View File

@ -64,7 +64,7 @@
F(UPDATED_MOVE_FLAGS, updatedMoveFlags, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(PHYSICAL_SPECIAL_SPLIT, physicalSpecialSplit, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(RECOIL_IF_MISS_DMG, recoilIfMissDmg, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(KLUTZ_FLING_INTERACTION, klutzFlingInteraction, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(KLUTZ_FLING_INTERACTION, klutzFlingInteraction, (u32, GEN_COUNT - 1)) \
F(UPDATED_CONVERSION, updatedConversion, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(UPDATED_CONVERSION_2, updatedConversion2, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(PP_REDUCED_BY_SPITE, ppReducedBySpite, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \

View File

@ -9743,7 +9743,7 @@ bool32 CanFling(u32 battler)
u16 item = gBattleMons[battler].item;
if (item == ITEM_NONE
|| (B_KLUTZ_FLING_INTERACTION >= GEN_5 && GetBattlerAbility(battler) == ABILITY_KLUTZ)
|| (GetConfig(CONFIG_KLUTZ_FLING_INTERACTION) >= GEN_5 && GetBattlerAbility(battler) == ABILITY_KLUTZ)
|| gFieldStatuses & STATUS_FIELD_MAGIC_ROOM
|| gBattleMons[battler].volatiles.embargo
|| GetFlingPowerFromItemId(item) == 0

View File

@ -56,22 +56,24 @@ SINGLE_BATTLE_TEST("Fling fails if Pokémon is under the effects of Embargo or M
}
}
SINGLE_BATTLE_TEST("Fling fails for Pokémon with Klutz ability")
SINGLE_BATTLE_TEST("Fling fails for Pokémon with Klutz ability (Gen5+)")
{
enum Ability ability;
u32 config;
PARAMETRIZE {ability = ABILITY_KLUTZ; }
PARAMETRIZE {ability = ABILITY_RUN_AWAY; }
PARAMETRIZE { ability = ABILITY_RUN_AWAY; config = GEN_4; }
PARAMETRIZE { ability = ABILITY_KLUTZ; config = GEN_4; }
PARAMETRIZE { ability = ABILITY_KLUTZ; config = GEN_5; }
GIVEN {
ASSUME(B_KLUTZ_FLING_INTERACTION >= GEN_5);
WITH_CONFIG(CONFIG_KLUTZ_FLING_INTERACTION, config);
PLAYER(SPECIES_BUNEARY) { Item(ITEM_RAZOR_CLAW); Ability(ability); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(player, MOVE_FLING); }
} SCENE {
MESSAGE("Buneary used Fling!");
if (ability != ABILITY_KLUTZ) {
if (ability != ABILITY_KLUTZ || config == GEN_4) {
ANIMATION(ANIM_TYPE_MOVE, MOVE_FLING, player);
HP_BAR(opponent);
} else {