Fix Infinite Tera Orb racharging (#4863)
* Fix Infinte Tera Orb charges * trainer_parties.h
This commit is contained in:
parent
385b7017f3
commit
45275fee17
@ -63,19 +63,21 @@ bool32 CanTerastallize(u32 battler)
|
||||
{
|
||||
u32 holdEffect = GetBattlerHoldEffect(battler, FALSE);
|
||||
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
if (TESTING || GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
{
|
||||
// Check if Player has Tera Orb and has charge.
|
||||
if (!TESTING && !CheckBagHasItem(ITEM_TERA_ORB, 1))
|
||||
return FALSE;
|
||||
|
||||
if (!TESTING
|
||||
&& !(B_FLAG_TERA_ORB_NO_COST != 0 && FlagGet(B_FLAG_TERA_ORB_NO_COST))
|
||||
&& (battler == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && battler == B_POSITION_PLAYER_RIGHT)))
|
||||
{
|
||||
if (B_FLAG_TERA_ORB_CHARGED != 0 && !FlagGet(B_FLAG_TERA_ORB_CHARGED))
|
||||
return FALSE;
|
||||
}
|
||||
// Skip all other checks in this block, go to HasTrainerUsedGimmick
|
||||
}
|
||||
else if (!CheckBagHasItem(ITEM_TERA_ORB, 1))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else if (FlagGet(B_FLAG_TERA_ORB_NO_COST))
|
||||
{
|
||||
// Tera Orb is not depleted, go to HasTrainerUsedGimmick
|
||||
}
|
||||
else if (!FlagGet(B_FLAG_TERA_ORB_CHARGED))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Check if Trainer has already Terastallized.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user