53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
#include "global.h"
|
|
#include "test/battle.h"
|
|
|
|
DOUBLE_BATTLE_TEST("Healer cures adjacent ally's status condition 30% of the time")
|
|
{
|
|
u16 status;
|
|
PARAMETRIZE { status = STATUS1_SLEEP; }
|
|
PARAMETRIZE { status = STATUS1_POISON; }
|
|
PARAMETRIZE { status = STATUS1_BURN; }
|
|
// PARAMETRIZE { status = STATUS1_FREEZE; }
|
|
PARAMETRIZE { status = STATUS1_PARALYSIS; }
|
|
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
|
|
PARAMETRIZE { status = STATUS1_FROSTBITE; }
|
|
PASSES_RANDOMLY(30, 100, RNG_HEALER);
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET) { Status1(status); }
|
|
OPPONENT(SPECIES_CHANSEY) { Ability(ABILITY_HEALER); }
|
|
} WHEN {
|
|
TURN { }
|
|
} SCENE {
|
|
MESSAGE("The opposing Chansey's Healer cured the opposing Wobbuffet's problem!");
|
|
}
|
|
}
|
|
|
|
DOUBLE_BATTLE_TEST("Healer cures status condition before burn or poison damage is dealt")
|
|
{
|
|
KNOWN_FAILING; // According to Bulbapedia, Healer should trigger before status damage and Wobbuffet should live
|
|
// Source: https://bulbapedia.bulbagarden.net/wiki/Healer_(Ability)#Effect
|
|
u16 status;
|
|
PARAMETRIZE { status = STATUS1_POISON; }
|
|
PARAMETRIZE { status = STATUS1_BURN; }
|
|
PARAMETRIZE { status = STATUS1_TOXIC_POISON; }
|
|
PARAMETRIZE { status = STATUS1_FROSTBITE; }
|
|
PASSES_RANDOMLY(30, 100, RNG_HEALER);
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET) { HP(1); Status1(status); }
|
|
OPPONENT(SPECIES_CHANSEY) { Ability(ABILITY_HEALER); }
|
|
} WHEN {
|
|
TURN {}
|
|
} SCENE {
|
|
NOT {
|
|
MESSAGE("The opposing Wobbuffet fainted!");
|
|
}
|
|
MESSAGE("The opposing Chansey's Healer cured Foe Wobbuffet's problem!");
|
|
}
|
|
}
|
|
|
|
// Triple battles
|
|
TO_DO_BATTLE_TEST("Healer has a 30% chance of curing each of its ally's status conditions independently");
|