#include "global.h" #include "test/battle.h" ASSUMPTIONS { ASSUME(gBattleMoves[MOVE_MOONLIGHT].effect == EFFECT_MOONLIGHT); } SINGLE_BATTLE_TEST("Moonlight recovers 1/2 of the user's max HP") { GIVEN { PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(200); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_MOONLIGHT); } } SCENE { HP_BAR(player, damage: -(200 / 2)); } } SINGLE_BATTLE_TEST("Moonlight recovers 2/3 of the user's max HP in Sunlight") { GIVEN { PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(300); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(opponent, MOVE_SUNNY_DAY); MOVE(player, MOVE_MOONLIGHT); } } SCENE { HP_BAR(player, damage: -(300 / 1.5)); } } SINGLE_BATTLE_TEST("Moonlight recovers 1/4 of the user's max HP in Rain, Sandstorm, Hail, and Snow") { u32 move; PARAMETRIZE { move = MOVE_RAIN_DANCE; } PARAMETRIZE { move = MOVE_SANDSTORM; } PARAMETRIZE { move = MOVE_HAIL; } PARAMETRIZE { move = MOVE_SNOWSCAPE; } GIVEN { PLAYER(SPECIES_WOBBUFFET) { HP(1); MaxHP(400); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(opponent, move); MOVE(player, MOVE_MOONLIGHT); } } SCENE { HP_BAR(player, damage: -(400 / 4)); } }