B_BURN_DAMAGE config tests (#8574)
This commit is contained in:
parent
dc5ed3a85b
commit
914a481308
@ -24,7 +24,7 @@
|
||||
F(MAX_LEVEL_EV_GAINS, maxLevelEvGains, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
|
||||
F(RECALCULATE_STATS, recalculateStats, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
|
||||
/* Damage settings */ \
|
||||
F(BURN_DAMAGE, burnDamage, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
|
||||
F(BURN_DAMAGE, burnDamage, (u32, GEN_COUNT - 1)) \
|
||||
F(BURN_FACADE_DMG, burnFacadeDmg, (u32, GEN_COUNT - 1)) \
|
||||
F(BINDING_DAMAGE, bindingDamage, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
|
||||
F(PSYWAVE_DMG, psywaveDmg, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
|
||||
|
||||
@ -1757,7 +1757,7 @@ static u32 GetSwitchinStatusDamage(u32 battler)
|
||||
{
|
||||
if (status & STATUS1_BURN)
|
||||
{
|
||||
if (B_BURN_DAMAGE >= GEN_7)
|
||||
if (GetConfig(CONFIG_BURN_DAMAGE) >= GEN_7)
|
||||
statusDamage = maxHP / 16;
|
||||
else
|
||||
statusDamage = maxHP / 8;
|
||||
@ -1768,7 +1768,7 @@ static u32 GetSwitchinStatusDamage(u32 battler)
|
||||
}
|
||||
else if (status & STATUS1_FROSTBITE)
|
||||
{
|
||||
if (B_BURN_DAMAGE >= GEN_7)
|
||||
if (GetConfig(CONFIG_BURN_DAMAGE) >= GEN_7)
|
||||
statusDamage = maxHP / 16;
|
||||
else
|
||||
statusDamage = maxHP / 8;
|
||||
|
||||
@ -531,7 +531,7 @@ static bool32 HandleEndTurnBurn(u32 battler)
|
||||
&& IsBattlerAlive(battler)
|
||||
&& !IsAbilityAndRecord(battler, ability, ABILITY_MAGIC_GUARD))
|
||||
{
|
||||
s32 burnDamage = GetNonDynamaxMaxHP(battler) / (B_BURN_DAMAGE >= GEN_7 ? 16 : 8);
|
||||
s32 burnDamage = GetNonDynamaxMaxHP(battler) / (GetConfig(CONFIG_BURN_DAMAGE) >= GEN_7 ? 16 : 8);
|
||||
if (ability == ABILITY_HEATPROOF)
|
||||
{
|
||||
if (burnDamage > (burnDamage / 2) + 1) // Record ability if the burn takes less damage than it normally would.
|
||||
@ -556,7 +556,7 @@ static bool32 HandleEndTurnFrostbite(u32 battler)
|
||||
&& IsBattlerAlive(battler)
|
||||
&& !IsAbilityAndRecord(battler, GetBattlerAbility(battler), ABILITY_MAGIC_GUARD))
|
||||
{
|
||||
SetPassiveDamageAmount(battler, GetNonDynamaxMaxHP(battler) / (B_BURN_DAMAGE >= GEN_7 ? 16 : 8));
|
||||
SetPassiveDamageAmount(battler, GetNonDynamaxMaxHP(battler) / (GetConfig(CONFIG_BURN_DAMAGE) >= GEN_7 ? 16 : 8));
|
||||
BattleScriptExecute(BattleScript_FrostbiteTurnDmg);
|
||||
effect = TRUE;
|
||||
}
|
||||
|
||||
@ -7,10 +7,13 @@ ASSUMPTIONS
|
||||
ASSUME(GetMoveNonVolatileStatus(MOVE_WILL_O_WISP) == MOVE_EFFECT_BURN);
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Burn deals 1/16th (Gen7+) or 1/8th damage per turn")
|
||||
SINGLE_BATTLE_TEST("Burn deals 1/8th damage (Gen1-6) or 1/16th (Gen7+) per turn")
|
||||
{
|
||||
u32 j;
|
||||
u32 j, config, value;
|
||||
PARAMETRIZE { config = GEN_7; value = 16; }
|
||||
PARAMETRIZE { config = GEN_6; value = 8; }
|
||||
GIVEN {
|
||||
WITH_CONFIG(CONFIG_BURN_DAMAGE, config);
|
||||
PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_BURN); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
@ -19,7 +22,7 @@ SINGLE_BATTLE_TEST("Burn deals 1/16th (Gen7+) or 1/8th damage per turn")
|
||||
} SCENE {
|
||||
s32 maxHP = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP);
|
||||
for (j = 0; j < 4; j++)
|
||||
HP_BAR(player, damage: maxHP / ((B_BURN_DAMAGE >= GEN_7) ? 16 : 8));
|
||||
HP_BAR(player, damage: maxHP / value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -23,11 +23,14 @@ SINGLE_BATTLE_TEST("Frostbite reduces the special attack by 50 percent")
|
||||
} THEN { EXPECT_EQ(reducedDamage * 2, normaleDamage); }
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Frostbite deals 1/16th (Gen7+) or 1/8th damage to affected Pokémon")
|
||||
SINGLE_BATTLE_TEST("Frostbite deals 1/8th damage (Gen1-6) or 1/16th (Gen7+) per turn")
|
||||
{
|
||||
s16 frostbiteDamage;
|
||||
|
||||
u32 config, value;
|
||||
PARAMETRIZE { config = GEN_7; value = 16; }
|
||||
PARAMETRIZE { config = GEN_6; value = 8; }
|
||||
GIVEN {
|
||||
WITH_CONFIG(CONFIG_BURN_DAMAGE, config);
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_FROSTBITE); }
|
||||
} WHEN {
|
||||
@ -36,7 +39,9 @@ SINGLE_BATTLE_TEST("Frostbite deals 1/16th (Gen7+) or 1/8th damage to affected P
|
||||
MESSAGE("The opposing Wobbuffet was hurt by its frostbite!");
|
||||
ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_FRB, opponent);
|
||||
HP_BAR(opponent, captureDamage: &frostbiteDamage);
|
||||
} THEN { EXPECT_EQ(frostbiteDamage, opponent->maxHP / ((B_BURN_DAMAGE >= GEN_7) ? 16 : 8)); }
|
||||
} THEN {
|
||||
EXPECT_EQ(frostbiteDamage, opponent->maxHP / value);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Frostbite is healed if hit with a thawing move")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user