BattleScript_BerryStatRaiseRet Ripen checks berry and cleanup (#6835)
This commit is contained in:
commit
444e77b7f6
@ -9007,34 +9007,29 @@ BattleScript_BerryConfuseHealRet_Anim:
|
||||
removeitem BS_TARGET
|
||||
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::
|
||||
BattleScript_ConsumableStatRaiseEnd2::
|
||||
call BattleScript_ConsumableStatRaiseRet
|
||||
end2
|
||||
|
||||
BattleScript_BerryStatRaiseRet::
|
||||
jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_BerryStatRaiseRet_AbilityPopup
|
||||
goto BattleScript_BerryStatRaiseRet_Anim
|
||||
BattleScript_BerryStatRaiseRet_AbilityPopup:
|
||||
BattleScript_ConsumableStatRaiseRet::
|
||||
@ to ensure `statbuffchange` has correct battler id, backup and use target
|
||||
savetarget
|
||||
copybyte gBattlerTarget, sBATTLER
|
||||
jumpifnotberry BS_SCRIPTING, BattleScript_ConsumableStatRaiseRet_Anim
|
||||
@ check ripen popup if consuming berry
|
||||
jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_ConsumableStatRaiseRet_AbilityPopup
|
||||
goto BattleScript_ConsumableStatRaiseRet_Anim
|
||||
BattleScript_ConsumableStatRaiseRet_AbilityPopup:
|
||||
call BattleScript_AbilityPopUp
|
||||
BattleScript_BerryStatRaiseRet_Anim:
|
||||
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_BerryStatRaiseRet_End
|
||||
BattleScript_ConsumableStatRaiseRet_Anim:
|
||||
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_ConsumableStatRaiseRet_End
|
||||
setgraphicalstatchangevalues
|
||||
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1
|
||||
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM
|
||||
call BattleScript_StatUp
|
||||
removeitem BS_SCRIPTING
|
||||
BattleScript_BerryStatRaiseRet_End:
|
||||
BattleScript_ConsumableStatRaiseRet_End:
|
||||
restoretarget
|
||||
return
|
||||
|
||||
BattleScript_BerryFocusEnergyRet::
|
||||
|
||||
@ -237,8 +237,8 @@ extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItemInPalace[];
|
||||
extern const u8 BattleScript_HangedOnMsg[];
|
||||
extern const u8 BattleScript_BerryConfuseHealEnd2[];
|
||||
extern const u8 BattleScript_BerryConfuseHealRet[];
|
||||
extern const u8 BattleScript_BerryStatRaiseEnd2[];
|
||||
extern const u8 BattleScript_BerryStatRaiseRet[];
|
||||
extern const u8 BattleScript_ConsumableStatRaiseEnd2[];
|
||||
extern const u8 BattleScript_ConsumableStatRaiseRet[];
|
||||
extern const u8 BattleScript_BerryFocusEnergyRet[];
|
||||
extern const u8 BattleScript_BerryFocusEnergyEnd2[];
|
||||
extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
|
||||
|
||||
@ -11310,7 +11310,7 @@ static void Cmd_various(void)
|
||||
if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_ROOM_SERVICE && TryRoomService(battler))
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -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
|
||||
@ -6983,12 +6983,12 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum
|
||||
|
||||
if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN || caseID == ITEMEFFECT_NORMAL)
|
||||
{
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
}
|
||||
return ITEM_STATS_CHANGE;
|
||||
}
|
||||
@ -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;
|
||||
|
||||
@ -7034,12 +7034,12 @@ static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCa
|
||||
gBattleScripting.animArg2 = 0;
|
||||
if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN || caseID == ITEMEFFECT_NORMAL)
|
||||
{
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
}
|
||||
|
||||
return ITEM_STATS_CHANGE;
|
||||
@ -7109,7 +7109,7 @@ static enum ItemEffect DamagedStatBoostBerryEffect(u32 battler, u8 statId, u8 ca
|
||||
gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + statId;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
return ITEM_STATS_CHANGE;
|
||||
}
|
||||
return ITEM_NO_EFFECT;
|
||||
@ -7127,12 +7127,12 @@ enum ItemEffect TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 item
|
||||
gBattleScripting.animArg2 = 0;
|
||||
if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN)
|
||||
{
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
}
|
||||
return ITEM_STATS_CHANGE;
|
||||
}
|
||||
@ -7845,7 +7845,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn)
|
||||
case HOLD_EFFECT_ROOM_SERVICE:
|
||||
if (TryRoomService(battler))
|
||||
{
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2);
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
}
|
||||
break;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user