Add missing breakable flags (#8454)

This commit is contained in:
Alex 2025-12-06 17:33:31 +01:00 committed by GitHub
parent 8e641bdb7a
commit 520c31dc33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 51 deletions

View File

@ -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] =

View File

@ -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]);
}
}