Fixes flung items sometimes being blocked by Unnerve (#8114)
This commit is contained in:
parent
51a6081c8e
commit
5b738edd4b
@ -1067,7 +1067,12 @@ static enum ItemEffect TrySetMicleBerry(u32 battler, u32 itemId, ActivationTimin
|
||||
enum ItemEffect ItemBattleEffects(u32 itemBattler, u32 battler, enum HoldEffect holdEffect, ActivationTiming timing)
|
||||
{
|
||||
enum ItemEffect effect = ITEM_NO_EFFECT;
|
||||
u32 item = (timing == IsOnBerryActivation) ? gLastUsedItem : gBattleMons[itemBattler].item;
|
||||
u32 item;
|
||||
|
||||
if (timing == IsOnBerryActivation || timing == IsOnFlingActivation)
|
||||
item = gLastUsedItem;
|
||||
else
|
||||
item = gBattleMons[itemBattler].item;
|
||||
|
||||
if (holdEffect == HOLD_EFFECT_NONE
|
||||
|| !timing(holdEffect)
|
||||
|
||||
@ -153,6 +153,23 @@ SINGLE_BATTLE_TEST("Fling - Item is lost when target protects itself")
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Fling - Item does not get blocked by Unnerve if it isn't a berry")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(GetMoveEffect(MOVE_TAUNT) == EFFECT_TAUNT);
|
||||
PLAYER(SPECIES_CALYREX) { Item(ITEM_MENTAL_HERB); Ability(ABILITY_UNNERVE); }
|
||||
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_ORAN_BERRY); }
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_TAUNT); MOVE(opponent, MOVE_SCRATCH); }
|
||||
TURN { MOVE(player, MOVE_FLING); MOVE(opponent, MOVE_SCRATCH); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_TAUNT, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_FLING, player);
|
||||
HP_BAR(opponent);
|
||||
MESSAGE("The opposing Wobbuffet's Taunt wore off!");
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Fling doesn't consume the item if Pokémon is asleep/frozen/paralyzed")
|
||||
{
|
||||
u32 status;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user