mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 19:47:35 +01:00
136 lines
4.3 KiB
C
136 lines
4.3 KiB
C
#include "global.h"
|
|
#include "test_battle.h"
|
|
|
|
ASSUMPTIONS
|
|
{
|
|
ASSUME(gBattleMoves[MOVE_BULLET_SEED].effect == EFFECT_MULTI_HIT);
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Multi hit Moves hit the maximum amount with Skill Link")
|
|
{
|
|
PASSES_RANDOMLY(100, 100, RNG_HITS);
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_SKILL_LINK); };
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_BULLET_SEED); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
MESSAGE("Hit 5 time(s)!");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Multi hit Moves hit twice 35 Percent of the time")
|
|
{
|
|
PASSES_RANDOMLY(35, 100, RNG_HITS);
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_BULLET_SEED); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
MESSAGE("Hit 2 time(s)!");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Multi hit Moves hit thrice 35 Percent of the time")
|
|
{
|
|
PASSES_RANDOMLY(35, 100, RNG_HITS);
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_BULLET_SEED); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
MESSAGE("Hit 3 time(s)!");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Multi hit Moves hit four times 35 Percent of the time")
|
|
{
|
|
PASSES_RANDOMLY(15, 100, RNG_HITS);
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_BULLET_SEED); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
MESSAGE("Hit 4 time(s)!");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Multi hit Moves hit four times 35 Percent of the time")
|
|
{
|
|
PASSES_RANDOMLY(15, 100, RNG_HITS);
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_BULLET_SEED); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
MESSAGE("Hit 5 time(s)!");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Multi hit Moves hit at least four times with Loaded Dice")
|
|
{
|
|
PASSES_RANDOMLY(50, 100, RNG_LOADED_DICE);
|
|
|
|
GIVEN {
|
|
ASSUME(gItems[ITEM_LOADED_DICE].holdEffect == HOLD_EFFECT_LOADED_DICE);
|
|
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LOADED_DICE); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_BULLET_SEED); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
MESSAGE("Hit 4 time(s)!");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Multi hit Moves hit five times 50 Percent of the time with Loaded Dice")
|
|
{
|
|
PASSES_RANDOMLY(50, 100, RNG_LOADED_DICE);
|
|
|
|
GIVEN {
|
|
ASSUME(gItems[ITEM_LOADED_DICE].holdEffect == HOLD_EFFECT_LOADED_DICE);
|
|
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LOADED_DICE); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_BULLET_SEED); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player);
|
|
MESSAGE("Hit 5 time(s)!");
|
|
}
|
|
}
|