combine BattleScript_BerryStatRaiseRet and BattleScript_BerryStatRaiseEnd2, check ripen popup doesn't trigger except on berries
This commit is contained in:
parent
be03feca94
commit
14a66d612f
@ -9008,21 +9008,15 @@ BattleScript_BerryConfuseHealRet_Anim:
|
||||
return
|
||||
|
||||
BattleScript_BerryStatRaiseEnd2::
|
||||
jumpifability BS_ATTACKER, ABILITY_RIPEN, BattleScript_BerryStatRaiseEnd2_AbilityPopup
|
||||
goto BattleScript_BerryStatRaiseEnd2_Anim
|
||||
BattleScript_BerryStatRaiseEnd2_AbilityPopup:
|
||||
call BattleScript_AbilityPopUp
|
||||
BattleScript_BerryStatRaiseEnd2_Anim:
|
||||
statbuffchange STAT_CHANGE_ALLOW_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_BerryStatRaiseEnd2_End
|
||||
setgraphicalstatchangevalues
|
||||
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1
|
||||
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM
|
||||
call BattleScript_StatUp
|
||||
removeitem BS_ATTACKER
|
||||
BattleScript_BerryStatRaiseEnd2_End::
|
||||
call BattleScript_BerryStatRaiseRet
|
||||
end2
|
||||
|
||||
BattleScript_BerryStatRaiseRet::
|
||||
@ to ensure `statbuffchange` has correct battler id, backup and use target
|
||||
savetarget
|
||||
copybyte gBattlerTarget, sBATTLER
|
||||
jumpifnotberry BS_ATTACKER, BattleScript_BerryStatRaiseRet_Anim
|
||||
@ check ripen popup if consuming berry
|
||||
jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_BerryStatRaiseRet_AbilityPopup
|
||||
goto BattleScript_BerryStatRaiseRet_Anim
|
||||
BattleScript_BerryStatRaiseRet_AbilityPopup:
|
||||
@ -9035,6 +9029,7 @@ BattleScript_BerryStatRaiseRet_Anim:
|
||||
call BattleScript_StatUp
|
||||
removeitem BS_SCRIPTING
|
||||
BattleScript_BerryStatRaiseRet_End:
|
||||
restoretarget
|
||||
return
|
||||
|
||||
BattleScript_BerryFocusEnergyRet::
|
||||
|
||||
@ -6972,7 +6972,7 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum
|
||||
if (CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, itemId), itemId))
|
||||
{
|
||||
BufferStatChange(battler, statId, STRINGID_STATROSE);
|
||||
gEffectBattler = battler;
|
||||
gEffectBattler = gBattleScripting.battler = battler;
|
||||
if (GetBattlerAbility(battler) == ABILITY_RIPEN)
|
||||
SET_STATCHANGER(statId, 2, FALSE);
|
||||
else
|
||||
@ -7010,7 +7010,7 @@ static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCa
|
||||
u16 battlerAbility = GetBattlerAbility(battler);
|
||||
u32 savedAttacker = gBattlerAttacker;
|
||||
// MoodyCantRaiseStat requires that the battler is set to gBattlerAttacker
|
||||
gBattlerAttacker = battler;
|
||||
gBattlerAttacker = gBattleScripting.battler = battler;
|
||||
stat = RandomUniformExcept(RNG_RANDOM_STAT_UP, STAT_ATK, NUM_STATS - 1, MoodyCantRaiseStat);
|
||||
gBattlerAttacker = savedAttacker;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user