Fixes Leppa Berry timings (#7787)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
This commit is contained in:
parent
27b542466f
commit
68e2bb5ab5
@ -8509,15 +8509,15 @@ BattleScript_ItemHealHP_RemoveItemEnd2_Anim:
|
||||
end2
|
||||
|
||||
BattleScript_BerryPPHealRet::
|
||||
jumpifability BS_ATTACKER, ABILITY_RIPEN, BattleScript_BerryPPHeal_AbilityPopup
|
||||
jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_BerryPPHeal_AbilityPopup
|
||||
goto BattleScript_BerryPPHeal_Anim
|
||||
BattleScript_BerryPPHeal_AbilityPopup:
|
||||
call BattleScript_AbilityPopUp
|
||||
call BattleScript_AbilityPopUpScripting
|
||||
BattleScript_BerryPPHeal_Anim:
|
||||
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT
|
||||
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT
|
||||
printstring STRINGID_PKMNSITEMRESTOREDPP
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
removeitem BS_ATTACKER
|
||||
removeitem BS_SCRIPTING
|
||||
return
|
||||
|
||||
BattleScript_BerryPPHealEnd2::
|
||||
|
||||
@ -6145,6 +6145,7 @@ static u32 ItemRestorePp(u32 battler, u32 itemId, enum ItemCaseId caseID)
|
||||
else
|
||||
BattleScriptCall(BattleScript_BerryPPHealRet);
|
||||
|
||||
gBattleScripting.battler = battler;
|
||||
BtlController_EmitSetMonData(battler, B_COMM_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP);
|
||||
MarkBattlerForControllerExec(battler);
|
||||
if (MOVE_IS_PERMANENT(battler, i))
|
||||
@ -6729,6 +6730,9 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler)
|
||||
if (B_BERRIES_INSTANT >= GEN_4)
|
||||
effect = ItemHealHp(battler, gLastUsedItem, caseID, TRUE);
|
||||
break;
|
||||
case HOLD_EFFECT_RESTORE_PP:
|
||||
effect = ItemRestorePp(battler, gLastUsedItem, caseID);
|
||||
break;
|
||||
case HOLD_EFFECT_AIR_BALLOON:
|
||||
effect = ITEM_EFFECT_OTHER;
|
||||
gBattleScripting.battler = battler;
|
||||
|
||||
23
test/battle/hold_effect/restore_pp.c
Normal file
23
test/battle/hold_effect/restore_pp.c
Normal file
@ -0,0 +1,23 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
ASSUMPTIONS
|
||||
{
|
||||
ASSUME(gItemsInfo[ITEM_LEPPA_BERRY].holdEffect == HOLD_EFFECT_RESTORE_PP);
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Restore PP berry activates immediately on switch in")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LEPPA_BERRY); MovesWithPP({MOVE_SCRATCH, 0}, {MOVE_CELEBRATE, 20}); }
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_POUND); MOVE(player, MOVE_CELEBRATE); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_POUND, opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player);
|
||||
} THEN {
|
||||
EXPECT(player->item == ITEM_NONE);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user