diff --git a/src/data/abilities.h b/src/data/abilities.h index 39a0644c4f..95b6a6e591 100644 --- a/src/data/abilities.h +++ b/src/data/abilities.h @@ -1251,6 +1251,7 @@ const struct AbilityInfo gAbilitiesInfo[ABILITIES_COUNT] = .name = _("Flower Veil"), .description = COMPOUND_STRING("Protects Grass-types."), .aiRating = 0, + .breakable = TRUE, }, [ABILITY_CHEEK_POUCH] = @@ -1414,6 +1415,7 @@ const struct AbilityInfo gAbilitiesInfo[ABILITIES_COUNT] = .name = _("Aura Break"), .description = COMPOUND_STRING("Reverse aura abilities."), .aiRating = 3, + .breakable = TRUE, }, [ABILITY_PRIMORDIAL_SEA] = @@ -1496,6 +1498,7 @@ const struct AbilityInfo gAbilitiesInfo[ABILITIES_COUNT] = .name = _("Water Bubble"), .description = COMPOUND_STRING("Guards from fire and burns."), .aiRating = 8, + .breakable = TRUE, }, [ABILITY_STEELWORKER] = diff --git a/test/battle/ability/aura_break.c b/test/battle/ability/aura_break.c index 10c248c87d..c023869c78 100644 --- a/test/battle/ability/aura_break.c +++ b/test/battle/ability/aura_break.c @@ -62,54 +62,3 @@ DOUBLE_BATTLE_TEST("Aura Break inverts Dark Aura's effect") EXPECT_MUL_EQ(damage[0], UQ_4_12(0.75), damage[2]); } } - -DOUBLE_BATTLE_TEST("Aura Break ignores Mold Breaker abilities") -{ - s16 damage[6]; - u32 species = SPECIES_WOBBUFFET, ability = ABILITY_NONE; - - PARAMETRIZE { species = SPECIES_WOBBUFFET, ability = ABILITY_SHADOW_TAG; } - PARAMETRIZE { species = SPECIES_CRANIDOS, ability = ABILITY_MOLD_BREAKER; } - PARAMETRIZE { species = SPECIES_ZEKROM, ability = ABILITY_TERAVOLT; } - PARAMETRIZE { species = SPECIES_RESHIRAM, ability = ABILITY_TURBOBLAZE; } - - GIVEN { - PLAYER(species) { Ability(ability); Level(50); } - PLAYER(SPECIES_WOBBUFFET); - PLAYER(SPECIES_YVELTAL) { Ability(ABILITY_DARK_AURA); } - PLAYER(SPECIES_XERNEAS) { Ability(ABILITY_FAIRY_AURA); } - OPPONENT(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_ZYGARDE_50) { Ability(ABILITY_AURA_BREAK); } - } WHEN { - TURN { MOVE(playerLeft, MOVE_BITE, target: opponentLeft); } - TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target: opponentLeft); } - TURN { MOVE(playerLeft, MOVE_BITE, target: opponentLeft); SWITCH(playerRight, 2); } - TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target: opponentLeft); SWITCH(playerRight, 3); } - TURN { MOVE(playerLeft, MOVE_BITE, target: opponentLeft); SWITCH(playerRight, 2); SWITCH(opponentRight, 2); } - TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target: opponentLeft); SWITCH(playerRight, 3); } - } SCENE { - ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft); - HP_BAR(opponentLeft, captureDamage: &damage[0]); - - ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft); - HP_BAR(opponentLeft, captureDamage: &damage[1]); - - ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft); - HP_BAR(opponentLeft, captureDamage: &damage[2]); - - ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft); - HP_BAR(opponentLeft, captureDamage: &damage[3]); - - ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft); - HP_BAR(opponentLeft, captureDamage: &damage[4]); - - ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft); - HP_BAR(opponentLeft, captureDamage: &damage[5]); - } THEN { - EXPECT_MUL_EQ(damage[0], UQ_4_12(1.33), damage[2]); - EXPECT_MUL_EQ(damage[0], UQ_4_12(0.75), damage[4]); - EXPECT_MUL_EQ(damage[1], UQ_4_12(1.33), damage[3]); - EXPECT_MUL_EQ(damage[1], UQ_4_12(0.75), damage[5]); - } -}