diff --git a/src/battle_terastal.c b/src/battle_terastal.c index 9734833d4e..5f9277b025 100644 --- a/src/battle_terastal.c +++ b/src/battle_terastal.c @@ -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.