2023-10-13 19:50:48 +01:00
|
|
|
#include "global.h"
|
|
|
|
#include "test/battle.h"
|
|
|
|
|
2023-12-14 23:19:28 +00:00
|
|
|
SINGLE_BATTLE_TEST("Sharpness increases the power of slicing moves", s16 damage)
|
2023-10-13 19:50:48 +01:00
|
|
|
{
|
|
|
|
u32 move;
|
|
|
|
u16 ability;
|
|
|
|
PARAMETRIZE { move = MOVE_AERIAL_ACE; ability = ABILITY_SHARPNESS; }
|
|
|
|
PARAMETRIZE { move = MOVE_AERIAL_ACE; ability = ABILITY_STEADFAST; }
|
|
|
|
PARAMETRIZE { move = MOVE_SCRATCH; ability = ABILITY_SHARPNESS; }
|
|
|
|
PARAMETRIZE { move = MOVE_SCRATCH; ability = ABILITY_STEADFAST; }
|
|
|
|
|
|
|
|
GIVEN {
|
2024-01-29 11:51:32 +00:00
|
|
|
ASSUME(gMovesInfo[MOVE_AERIAL_ACE].slicingMove);
|
|
|
|
ASSUME(!gMovesInfo[MOVE_SCRATCH].slicingMove);
|
2023-10-13 19:50:48 +01:00
|
|
|
PLAYER(SPECIES_GALLADE) { Ability(ability); }
|
|
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
|
|
} WHEN {
|
|
|
|
TURN { MOVE(player, move); }
|
|
|
|
} SCENE {
|
|
|
|
HP_BAR(opponent, captureDamage: &results[i].damage);
|
|
|
|
} FINALLY {
|
|
|
|
EXPECT_MUL_EQ(results[1].damage, Q_4_12(1.5), results[0].damage); // Sharpness affects slicing moves
|
|
|
|
EXPECT_EQ(results[2].damage, results[3].damage); // Sharpness does not affect non-slicing moves
|
|
|
|
}
|
|
|
|
}
|