more renaming

This commit is contained in:
camthesaxman
2018-01-16 15:12:38 -06:00
parent 157b88b6db
commit c3c13d0acf
46 changed files with 1630 additions and 1609 deletions
+143 -143
View File
@@ -111,14 +111,14 @@ extern u16 gBattleWeather;
extern u16 gPauseCounterBattle;
extern u16 gRandomTurnNumber;
extern u8 gActiveBank;
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern u8 gBankAttacker;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gLeveledUpInBattle;
extern u8 gAbsentBankFlags;
extern u32 gBattleExecBuffer;
extern u8 gMultiHitCounter;
extern u8 gBattleMoveFlags;
extern u8 gMoveResultFlags;
extern s32 gBattleMoveDamage;
extern const u8* gPalaceSelectionBattleScripts[BATTLE_BANKS_COUNT];
extern u16 gLastPrintedMoves[BATTLE_BANKS_COUNT];
@@ -130,7 +130,7 @@ extern u16 gLockedMoves[BATTLE_BANKS_COUNT];
extern u8 gLastHitBy[BATTLE_BANKS_COUNT];
extern u8 gUnknown_02024284[BATTLE_BANKS_COUNT];
extern u32 gStatuses3[BATTLE_BANKS_COUNT];
extern u16 gSideAffecting[2];
extern u16 gSideStatuses[2];
extern u16 gCurrentMove;
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT];
@@ -291,16 +291,16 @@ static void (* const sTurnActionsFuncsTable[])(void) =
static void (* const sEndTurnFuncsTable[])(void) =
{
HandleEndTurn_ContinueBattle, // battle outcome 0
HandleEndTurn_BattleWon, // BATTLE_WON
HandleEndTurn_BattleLost, // BATTLE_LOST
HandleEndTurn_BattleLost, // BATTLE_DREW
HandleEndTurn_RanFromBattle, // BATTLE_RAN
HandleEndTurn_FinishBattle, // BATTLE_PLAYER_TELEPORTED
HandleEndTurn_MonFled, // BATTLE_POKE_FLED
HandleEndTurn_FinishBattle, // BATTLE_CAUGHT
HandleEndTurn_BattleWon, // B_OUTCOME_WON
HandleEndTurn_BattleLost, // B_OUTCOME_LOST
HandleEndTurn_BattleLost, // B_OUTCOME_DREW
HandleEndTurn_RanFromBattle, // B_OUTCOME_RAN
HandleEndTurn_FinishBattle, // B_OUTCOME_PLAYER_TELEPORTED
HandleEndTurn_MonFled, // B_OUTCOME_POKE_FLED
HandleEndTurn_FinishBattle, // B_OUTCOME_CAUGHT_POKE
HandleEndTurn_FinishBattle, // battle outcome 8
HandleEndTurn_FinishBattle, // BATTLE_FORFEITED
HandleEndTurn_FinishBattle, // BATTLE_OPPONENT_TELEPORTED
HandleEndTurn_FinishBattle, // B_OUTCOME_FORFEITED
HandleEndTurn_FinishBattle, // B_OUTCOME_POKE_TELEPORTED
};
const u8 gStatusConditionString_PoisonJpn[8] = _("どく$$$$$");
@@ -1586,7 +1586,7 @@ void BattleMainCB2(void)
if (gMain.heldKeys & B_BUTTON && gBattleTypeFlags & BATTLE_TYPE_RECORDED && sub_8186450())
{
gSpecialVar_Result = gBattleOutcome = BATTLE_PLAYER_TELEPORTED;
gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED;
ResetPaletteFadeControl();
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
SetMainCallback2(CB2_QuitRecordedBattle);
@@ -2720,7 +2720,7 @@ static void BattleMainCB1(void)
{
gBattleMainFunc();
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
gBattleBankFunc[gActiveBank]();
}
@@ -2756,7 +2756,7 @@ static void BattleStartClearSetData(void)
for (i = 0; i < 2; i++)
{
gSideAffecting[i] = 0;
gSideStatuses[i] = 0;
dataPtr = (u8 *)&gSideTimers[i];
for (j = 0; j < sizeof(struct SideTimer); j++)
@@ -2764,7 +2764,7 @@ static void BattleStartClearSetData(void)
}
gBankAttacker = 0;
gBankTarget = 0;
gBankDefender = 0;
gBattleWeather = 0;
dataPtr = (u8 *)&gWishFutureKnock;
@@ -2850,7 +2850,7 @@ void SwitchInClearSetData(void)
{
for (i = 0; i < BATTLE_STATS_NO; i++)
gBattleMons[gActiveBank].statStages[i] = 6;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBank)
gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION;
@@ -2866,7 +2866,7 @@ void SwitchInClearSetData(void)
gBattleMons[gActiveBank].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED);
gStatuses3[gActiveBank] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT);
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (GetBankSide(gActiveBank) != GetBankSide(i)
&& (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0
@@ -2883,7 +2883,7 @@ void SwitchInClearSetData(void)
gStatuses3[gActiveBank] = 0;
}
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBank))
gBattleMons[i].status2 &= ~(STATUS2_INFATUATED_WITH(gActiveBank));
@@ -2907,7 +2907,7 @@ void SwitchInClearSetData(void)
gDisableStructs[gActiveBank].bankPreventingEscape = disableStructCopy.bankPreventingEscape;
}
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gDisableStructs[gActiveBank].isFirstTurn = 2;
gDisableStructs[gActiveBank].truantUnknownBit = disableStructCopy.truantUnknownBit;
gLastMoves[gActiveBank] = 0;
@@ -2930,7 +2930,7 @@ void SwitchInClearSetData(void)
gBattleStruct->field_92 &= ~(gBitTable[gActiveBank]);
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (i != gActiveBank && GetBankSide(i) != GetBankSide(gActiveBank))
{
@@ -2963,7 +2963,7 @@ void FaintClearSetData(void)
gBattleMons[gActiveBank].status2 = 0;
gStatuses3[gActiveBank] = 0;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBank)
gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION;
@@ -3025,7 +3025,7 @@ void FaintClearSetData(void)
gBattleStruct->field_92 &= ~(gBitTable[gActiveBank]);
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (i != gActiveBank && GetBankSide(i) != GetBankSide(gActiveBank))
{
@@ -3059,7 +3059,7 @@ static void BattleIntroGetMonsData(void)
if (gBattleExecBuffer == 0)
{
gBattleCommunication[1]++;
if (gBattleCommunication[1] == gNoOfAllBanks)
if (gBattleCommunication[1] == gBattleBanksCount)
gBattleMainFunc = BattleIntroPrepareBackgroundSlide;
else
gBattleCommunication[MULTIUSE_STATE] = 0;
@@ -3072,7 +3072,7 @@ static void BattleIntroPrepareBackgroundSlide(void)
{
if (gBattleExecBuffer == 0)
{
gActiveBank = GetBankByIdentity(0);
gActiveBank = GetBankByPosition(0);
EmitIntroSlide(0, gBattleTerrain);
MarkBufferBankForExecution(gActiveBank);
gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites;
@@ -3089,7 +3089,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
if (gBattleExecBuffer)
return;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI)
&& GetBankSide(gActiveBank) == SIDE_PLAYER)
@@ -3203,7 +3203,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
}
}
gActiveBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
gActiveBank = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBank);
@@ -3221,7 +3221,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
}
}
gActiveBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gActiveBank = GetBankByPosition(B_POSITION_PLAYER_LEFT);
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBank);
@@ -3257,7 +3257,7 @@ static void BattleIntroPrintTrainerWantsToBattle(void)
{
if (gBattleExecBuffer == 0)
{
gActiveBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
gActiveBank = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
PrepareStringBattle(STRINGID_INTROMSG, gActiveBank);
gBattleMainFunc = BattleIntroPrintOpponentSendsOut;
}
@@ -3291,7 +3291,7 @@ static void BattleIntroPrintOpponentSendsOut(void)
else
identity = B_POSITION_OPPONENT_LEFT;
PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByPosition(identity));
gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation;
}
@@ -3311,7 +3311,7 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void)
else
identity = B_POSITION_OPPONENT_RIGHT;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (GetBankPosition(gActiveBank) == identity)
{
@@ -3343,7 +3343,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void)
if (gBattleExecBuffer)
return;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (GetBankPosition(gActiveBank) == identity)
{
@@ -3400,7 +3400,7 @@ _0803B29A:\n\
bne _0803B2F2\n\
ldr r0, =gActiveBank\n\
strb r2, [r0]\n\
ldr r1, =gNoOfAllBanks\n\
ldr r1, =gBattleBanksCount\n\
adds r4, r0, 0\n\
ldrb r1, [r1]\n\
cmp r2, r1\n\
@@ -3427,7 +3427,7 @@ _0803B2D8:\n\
ldrb r0, [r6]\n\
adds r0, 0x1\n\
strb r0, [r6]\n\
ldr r1, =gNoOfAllBanks\n\
ldr r1, =gBattleBanksCount\n\
lsls r0, 24\n\
lsrs r0, 24\n\
ldr r4, =gActiveBank\n\
@@ -3453,7 +3453,7 @@ static void BattleIntroRecordMonsToDex(void)
{
if (gBattleExecBuffer == 0)
{
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (GetBankSide(gActiveBank) == SIDE_OPPONENT
&& !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER
@@ -3494,7 +3494,7 @@ static void BattleIntroPrintPlayerSendsOut(void)
identity = B_POSITION_PLAYER_LEFT;
if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByPosition(identity));
gBattleMainFunc = BattleIntroPlayer1SendsOutMonAnimation;
}
@@ -3516,7 +3516,7 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void)
else
identity = B_POSITION_PLAYER_RIGHT;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (GetBankPosition(gActiveBank) == identity)
{
@@ -3551,7 +3551,7 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void)
if (gBattleExecBuffer)
return;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (GetBankPosition(gActiveBank) == identity)
{
@@ -3576,7 +3576,7 @@ void sub_803B598(void) // unused
{
if (gBattleExecBuffer == 0)
{
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
{
@@ -3604,11 +3604,11 @@ static void TryDoEventsBeforeFirstTurn(void)
if (gBattleStruct->switchInAbilitiesCounter == 0)
{
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
gBanksByTurnOrder[i] = i;
for (i = 0; i < gNoOfAllBanks - 1; i++)
for (i = 0; i < gBattleBanksCount - 1; i++)
{
for (j = i + 1; j < gNoOfAllBanks; j++)
for (j = i + 1; j < gBattleBanksCount; j++)
{
if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], TRUE) != 0)
SwapTurnOrder(i, j);
@@ -3622,7 +3622,7 @@ static void TryDoEventsBeforeFirstTurn(void)
return;
}
// check all switch in abilities happening from the fastest mon to slowest
while (gBattleStruct->switchInAbilitiesCounter < gNoOfAllBanks)
while (gBattleStruct->switchInAbilitiesCounter < gBattleBanksCount)
{
if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBanksByTurnOrder[gBattleStruct->switchInAbilitiesCounter], 0, 0, 0) != 0)
effect++;
@@ -3637,7 +3637,7 @@ static void TryDoEventsBeforeFirstTurn(void)
if (AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) != 0)
return;
// check all switch in items having effect from the fastest mon to slowest
while (gBattleStruct->switchInItemsCounter < gNoOfAllBanks)
while (gBattleStruct->switchInItemsCounter < gBattleBanksCount)
{
if (ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gBanksByTurnOrder[gBattleStruct->switchInItemsCounter], 0) != 0)
effect++;
@@ -3663,7 +3663,7 @@ static void TryDoEventsBeforeFirstTurn(void)
for (i = 0; i < BATTLE_COMMUNICATION_ENTRIES_COUNT; i++)
gBattleCommunication[i] = 0;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
gBattleMons[i].status2 &= ~(STATUS2_FLINCHED);
*(&gBattleStruct->turnEffectsTracker) = 0;
@@ -3673,7 +3673,7 @@ static void TryDoEventsBeforeFirstTurn(void)
gBattleScripting.atk49_state = 0;
gBattleStruct->faintedActionsState = 0;
gBattleStruct->turncountersTracker = 0;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gRandomTurnNumber = Random();
@@ -3693,10 +3693,10 @@ static void HandleEndTurn_ContinueBattle(void)
gBattleMainFunc = BattleTurnPassed;
for (i = 0; i < BATTLE_COMMUNICATION_ENTRIES_COUNT; i++)
gBattleCommunication[i] = 0;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
gBattleMons[i].status2 &= ~(STATUS2_FLINCHED);
if ((gBattleMons[i].status1 & STATUS_SLEEP) && (gBattleMons[i].status2 & STATUS2_MULTIPLETURNS))
if ((gBattleMons[i].status1 & STATUS1_SLEEP) && (gBattleMons[i].status2 & STATUS2_MULTIPLETURNS))
CancelMultiTurnMoves(i);
}
gBattleStruct->turnEffectsTracker = 0;
@@ -3704,7 +3704,7 @@ static void HandleEndTurn_ContinueBattle(void)
gBattleStruct->wishPerishSongState = 0;
gBattleStruct->wishPerishSongBank = 0;
gBattleStruct->turncountersTracker = 0;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
}
}
@@ -3735,7 +3735,7 @@ void BattleTurnPassed(void)
gBattleScripting.animTargetsHit = 0;
gBattleScripting.atk49_state = 0;
gBattleMoveDamage = 0;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
for (i = 0; i < 5; i++)
gBattleCommunication[i] = 0;
@@ -3753,7 +3753,7 @@ void BattleTurnPassed(void)
gBattleStruct->field_DA++;
}
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
gActionForBanks[i] = ACTION_INIT_VALUE;
gChosenMovesByBanks[i] = MOVE_NONE;
@@ -3795,7 +3795,7 @@ u8 IsRunningFromBattleImpossible(void)
side = GetBankSide(gActiveBank);
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (side != GetBankSide(i)
&& gBattleMons[i].ability == ABILITY_SHADOW_TAG)
@@ -3889,7 +3889,7 @@ static void HandleTurnActionSelectionState(void)
s32 i;
gBattleCommunication[ACTIONS_CONFIRMED_COUNT] = 0;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
u8 identity = GetBankPosition(gActiveBank);
switch (gBattleCommunication[gActiveBank])
@@ -3902,8 +3902,8 @@ static void HandleTurnActionSelectionState(void)
*(gBattleStruct->monToSwitchIntoId + gActiveBank) = 6;
if (gBattleTypeFlags & BATTLE_TYPE_MULTI
|| !(identity & BIT_MON)
|| gBattleStruct->field_91 & gBitTable[GetBankByIdentity(identity ^ BIT_MON)]
|| gBattleCommunication[GetBankByIdentity(identity ^ BIT_MON)] == 5)
|| gBattleStruct->field_91 & gBitTable[GetBankByPosition(identity ^ BIT_MON)]
|| gBattleCommunication[GetBankByPosition(identity ^ BIT_MON)] == 5)
{
if (gBattleStruct->field_91 & gBitTable[gActiveBank])
{
@@ -4041,38 +4041,38 @@ static void HandleTurnActionSelectionState(void)
break;
case ACTION_CANCEL_PARTNER:
gBattleCommunication[gActiveBank] = 7;
gBattleCommunication[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] = 1;
gBattleCommunication[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)] = 1;
RecordedBattle_ClearBankAction(gActiveBank, 1);
if (gBattleMons[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].status2 & STATUS2_MULTIPLETURNS
|| gBattleMons[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].status2 & STATUS2_RECHARGE)
if (gBattleMons[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)].status2 & STATUS2_MULTIPLETURNS
|| gBattleMons[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)].status2 & STATUS2_RECHARGE)
{
EmitCmd50(0);
MarkBufferBankForExecution(gActiveBank);
return;
}
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_SWITCH)
else if (gActionForBanks[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_SWITCH)
{
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 2);
RecordedBattle_ClearBankAction(GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON), 2);
}
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_RUN)
else if (gActionForBanks[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_RUN)
{
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
RecordedBattle_ClearBankAction(GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
}
else if (gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE
&& (gProtectStructs[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].onlyStruggle
|| gDisableStructs[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)].encoredMove))
else if (gActionForBanks[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE
&& (gProtectStructs[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)].onlyStruggle
|| gDisableStructs[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)].encoredMove))
{
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
RecordedBattle_ClearBankAction(GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
}
else if (gBattleTypeFlags & BATTLE_TYPE_PALACE
&& gActionForBanks[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE)
&& gActionForBanks[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)] == ACTION_USE_MOVE)
{
gRngValue = gBattlePalaceMoveSelectionRngValue;
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
RecordedBattle_ClearBankAction(GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON), 1);
}
else
{
RecordedBattle_ClearBankAction(GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON), 3);
RecordedBattle_ClearBankAction(GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON), 3);
}
EmitCmd50(0);
MarkBufferBankForExecution(gActiveBank);
@@ -4226,7 +4226,7 @@ static void HandleTurnActionSelectionState(void)
if (((gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_DOUBLE)) != BATTLE_TYPE_DOUBLE)
|| (identity & BIT_MON)
|| (*(&gBattleStruct->field_91) & gBitTable[GetBankByIdentity(identity ^ BIT_MON)]))
|| (*(&gBattleStruct->field_91) & gBitTable[GetBankByPosition(identity ^ BIT_MON)]))
{
EmitLinkStandbyMsg(0, 0, i);
}
@@ -4296,14 +4296,14 @@ static void HandleTurnActionSelectionState(void)
}
// check if everyone chose actions
if (gBattleCommunication[ACTIONS_CONFIRMED_COUNT] == gNoOfAllBanks)
if (gBattleCommunication[ACTIONS_CONFIRMED_COUNT] == gBattleBanksCount)
{
sub_818603C(1);
gBattleMainFunc = SetActionsAndBanksTurnOrder;
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
{
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (gActionForBanks[i] == ACTION_SWITCH)
sub_80571DC(i, *(gBattleStruct->monToSwitchIntoId + i));
@@ -4316,13 +4316,13 @@ static bool8 sub_803CDB8(void)
{
s32 i, var;
for (var = 0, i = 0; i < gNoOfAllBanks; i++)
for (var = 0, i = 0; i < gBattleBanksCount; i++)
{
if (gBattleCommunication[i] == 5)
var++;
}
if (var + 1 == gNoOfAllBanks)
if (var + 1 == gBattleBanksCount)
return TRUE;
else
return FALSE;
@@ -4411,7 +4411,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves)
if (holdEffect == HOLD_EFFECT_MACHO_BRACE)
speedBank1 /= 2;
if (gBattleMons[bank1].status1 & STATUS_PARALYSIS)
if (gBattleMons[bank1].status1 & STATUS1_PARALYSIS)
speedBank1 /= 4;
if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100)
@@ -4445,7 +4445,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves)
if (holdEffect == HOLD_EFFECT_MACHO_BRACE)
speedBank2 /= 2;
if (gBattleMons[bank2].status1 & STATUS_PARALYSIS)
if (gBattleMons[bank2].status1 & STATUS1_PARALYSIS)
speedBank2 /= 4;
if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100)
@@ -4518,7 +4518,7 @@ static void SetActionsAndBanksTurnOrder(void)
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
{
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
gActionsByTurnOrder[var] = gActionForBanks[gActiveBank];
gBanksByTurnOrder[var] = gActiveBank;
@@ -4529,7 +4529,7 @@ static void SetActionsAndBanksTurnOrder(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (gActionForBanks[gActiveBank] == ACTION_RUN)
{
@@ -4557,7 +4557,7 @@ static void SetActionsAndBanksTurnOrder(void)
gActionsByTurnOrder[0] = gActionForBanks[gActiveBank];
gBanksByTurnOrder[0] = gActiveBank;
var = 1;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (i != gActiveBank)
{
@@ -4572,7 +4572,7 @@ static void SetActionsAndBanksTurnOrder(void)
}
else
{
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (gActionForBanks[gActiveBank] == ACTION_USE_ITEM || gActionForBanks[gActiveBank] == ACTION_SWITCH)
{
@@ -4581,7 +4581,7 @@ static void SetActionsAndBanksTurnOrder(void)
var++;
}
}
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (gActionForBanks[gActiveBank] != ACTION_USE_ITEM && gActionForBanks[gActiveBank] != ACTION_SWITCH)
{
@@ -4590,9 +4590,9 @@ static void SetActionsAndBanksTurnOrder(void)
var++;
}
}
for (i = 0; i < gNoOfAllBanks - 1; i++)
for (i = 0; i < gBattleBanksCount - 1; i++)
{
for (j = i + 1; j < gNoOfAllBanks; j++)
for (j = i + 1; j < gBattleBanksCount; j++)
{
u8 bank1 = gBanksByTurnOrder[i];
u8 bank2 = gBanksByTurnOrder[j];
@@ -4617,7 +4617,7 @@ static void TurnValuesCleanUp(bool8 var0)
s32 i;
u8 *dataPtr;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (var0)
{
@@ -4651,7 +4651,7 @@ static void TurnValuesCleanUp(bool8 var0)
static void SpecialStatusesClear(void)
{
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
s32 i;
u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBank]);
@@ -4665,12 +4665,12 @@ static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void)
{
if (!(gHitMarker & HITMARKER_RUN))
{
while (gBattleStruct->focusPunchBank < gNoOfAllBanks)
while (gBattleStruct->focusPunchBank < gBattleBanksCount)
{
gActiveBank = gBankAttacker = gBattleStruct->focusPunchBank;
gBattleStruct->focusPunchBank++;
if (gChosenMovesByBanks[gActiveBank] == MOVE_FOCUS_PUNCH
&& !(gBattleMons[gActiveBank].status1 & STATUS_SLEEP)
&& !(gBattleMons[gActiveBank].status1 & STATUS1_SLEEP)
&& !(gDisableStructs[gBankAttacker].truantCounter)
&& !(gProtectStructs[gActiveBank].onlyStruggle))
{
@@ -4704,7 +4704,7 @@ static void RunTurnActionsFunctions(void)
*(&gBattleStruct->savedTurnActionNumber) = gCurrentTurnActionNumber;
sTurnActionsFuncsTable[gCurrentActionFuncId]();
if (gCurrentTurnActionNumber >= gNoOfAllBanks) // everyone did their actions, turn finished
if (gCurrentTurnActionNumber >= gBattleBanksCount) // everyone did their actions, turn finished
{
gHitMarker &= ~(HITMARKER_x100000);
gBattleMainFunc = sEndTurnFuncsTable[gBattleOutcome & 0x7F];
@@ -4727,9 +4727,9 @@ static void HandleEndTurn_BattleWon(void)
{
gSpecialVar_Result = gBattleOutcome;
gBattleTextBuff1[0] = gBattleOutcome;
gBankAttacker = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gBankAttacker = GetBankByPosition(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER
&& gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_EREADER_TRAINER))
@@ -4785,24 +4785,24 @@ static void HandleEndTurn_BattleLost(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
if (gBattleOutcome & OUTCOME_LINK_BATTLE_RUN)
if (gBattleOutcome & B_OUTCOME_LINK_BATTLE_RAN)
{
gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle;
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
gSaveBlock2Ptr->field_CA9_b = 1;
}
else
{
gBattlescriptCurrInstr = BattleScript_82DAA0B;
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
}
}
else
{
gBattleTextBuff1[0] = gBattleOutcome;
gBankAttacker = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gBankAttacker = GetBankByPosition(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN);
}
}
else
@@ -4820,13 +4820,13 @@ static void HandleEndTurn_RanFromBattle(void)
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER && gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited;
gBattleOutcome = BATTLE_FORFEITED;
gBattleOutcome = B_OUTCOME_FORFEITED;
gSaveBlock2Ptr->field_CA9_b = 1;
}
else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
{
gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited;
gBattleOutcome = BATTLE_FORFEITED;
gBattleOutcome = B_OUTCOME_FORFEITED;
}
else
{
@@ -4869,7 +4869,7 @@ static void HandleEndTurn_FinishBattle(void)
| BATTLE_TYPE_WALLY_TUTORIAL
| BATTLE_TYPE_FRONTIER)))
{
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
{
@@ -4919,7 +4919,7 @@ static void FreeResetData_ReturnToOvOrDoEvolutions(void)
if (!gPaletteFade.active)
{
ResetSpriteData();
if (gLeveledUpInBattle == 0 || gBattleOutcome != BATTLE_WON)
if (gLeveledUpInBattle == 0 || gBattleOutcome != B_OUTCOME_WON)
{
gBattleMainFunc = ReturnFromBattleToOverworld;
return;
@@ -4994,7 +4994,7 @@ static void ReturnFromBattleToOverworld(void)
if (gBattleTypeFlags & BATTLE_TYPE_ROAMER)
{
UpdateRoamerHPStatus(&gEnemyParty[0]);
if ((gBattleOutcome & BATTLE_WON) || gBattleOutcome == BATTLE_CAUGHT)
if ((gBattleOutcome & B_OUTCOME_WON) || gBattleOutcome == B_OUTCOME_CAUGHT_POKE)
SetRoamerInactive();
}
@@ -5039,7 +5039,7 @@ static void HandleAction_UseMove(void)
gCritMultiplier = 1;
gBattleScripting.dmgMultiplier = 1;
gBattleStruct->atkCancellerTracker = 0;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gMultiHitCounter = 0;
gBattleCommunication[6] = 0;
gCurrMovePos = gUnknown_020241E9 = *(gBattleStruct->chosenMovePositions + gBankAttacker);
@@ -5100,7 +5100,7 @@ static void HandleAction_UseMove(void)
&& GetBankSide(gBankAttacker) != GetBankSide(gSideTimers[side].followmeTarget)
&& gBattleMons[gSideTimers[side].followmeTarget].hp != 0)
{
gBankTarget = gSideTimers[side].followmeTarget;
gBankDefender = gSideTimers[side].followmeTarget;
}
else if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
&& gSideTimers[side].followmeTimer == 0
@@ -5110,7 +5110,7 @@ static void HandleAction_UseMove(void)
&& gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC)
{
side = GetBankSide(gBankAttacker);
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (side != GetBankSide(gActiveBank)
&& *(gBattleStruct->moveTarget + gBankAttacker) != gActiveBank
@@ -5127,34 +5127,34 @@ static void HandleAction_UseMove(void)
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
{
if (Random() & 1)
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
gBankDefender = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
else
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
gBankDefender = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
}
else
{
if (Random() & 1)
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gBankDefender = GetBankByPosition(B_POSITION_PLAYER_LEFT);
else
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
gBankDefender = GetBankByPosition(B_POSITION_PLAYER_RIGHT);
}
}
else
{
gBankTarget = *(gBattleStruct->moveTarget + gBankAttacker);
gBankDefender = *(gBattleStruct->moveTarget + gBankAttacker);
}
if (gAbsentBankFlags & gBitTable[gBankTarget])
if (gAbsentBankFlags & gBitTable[gBankDefender])
{
if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
if (GetBankSide(gBankAttacker) != GetBankSide(gBankDefender))
{
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
gBankDefender = GetBankByPosition(GetBankPosition(gBankDefender) ^ BIT_MON);
}
else
{
gBankTarget = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
gBankDefender = GetBankByPosition(GetBankPosition(gBankAttacker) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gBankDefender])
gBankDefender = GetBankByPosition(GetBankPosition(gBankDefender) ^ BIT_MON);
}
}
}
@@ -5163,7 +5163,7 @@ static void HandleAction_UseMove(void)
gActiveBank = gBanksByTurnOrder[var];
RecordAbilityBattle(gActiveBank, gBattleMons[gActiveBank].ability);
gSpecialStatuses[gActiveBank].lightningRodRedirected = 1;
gBankTarget = gActiveBank;
gBankDefender = gActiveBank;
}
}
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
@@ -5172,38 +5172,38 @@ static void HandleAction_UseMove(void)
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
{
if (Random() & 1)
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
gBankDefender = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
else
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
gBankDefender = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
}
else
{
if (Random() & 1)
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
gBankDefender = GetBankByPosition(B_POSITION_PLAYER_LEFT);
else
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
gBankDefender = GetBankByPosition(B_POSITION_PLAYER_RIGHT);
}
if (gAbsentBankFlags & gBitTable[gBankTarget]
&& GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
if (gAbsentBankFlags & gBitTable[gBankDefender]
&& GetBankSide(gBankAttacker) != GetBankSide(gBankDefender))
{
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
gBankDefender = GetBankByPosition(GetBankPosition(gBankDefender) ^ BIT_MON);
}
}
else
{
gBankTarget = *(gBattleStruct->moveTarget + gBankAttacker);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankDefender = *(gBattleStruct->moveTarget + gBankAttacker);
if (gAbsentBankFlags & gBitTable[gBankDefender])
{
if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
if (GetBankSide(gBankAttacker) != GetBankSide(gBankDefender))
{
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
gBankDefender = GetBankByPosition(GetBankPosition(gBankDefender) ^ BIT_MON);
}
else
{
gBankTarget = GetBankByIdentity(GetBankPosition(gBankAttacker) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget = GetBankByIdentity(GetBankPosition(gBankTarget) ^ BIT_MON);
gBankDefender = GetBankByPosition(GetBankPosition(gBankAttacker) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gBankDefender])
gBankDefender = GetBankByPosition(GetBankPosition(gBankDefender) ^ BIT_MON);
}
}
}
@@ -5260,7 +5260,7 @@ static void HandleAction_Switch(void)
static void HandleAction_UseItem(void)
{
gBankAttacker = gBankTarget = gBanksByTurnOrder[gCurrentTurnActionNumber];
gBankAttacker = gBankDefender = gBanksByTurnOrder[gCurrentTurnActionNumber];
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
ClearFuryCutterDestinyBondGrudge(gBankAttacker);
@@ -5410,8 +5410,8 @@ bool8 TryRunFromBattle(u8 bank)
if (effect)
{
gCurrentTurnActionNumber = gNoOfAllBanks;
gBattleOutcome = BATTLE_RAN;
gCurrentTurnActionNumber = gBattleBanksCount;
gBattleOutcome = B_OUTCOME_RAN;
}
return effect;
@@ -5423,23 +5423,23 @@ static void HandleAction_Run(void)
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
{
gCurrentTurnActionNumber = gNoOfAllBanks;
gCurrentTurnActionNumber = gBattleBanksCount;
for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++)
for (gActiveBank = 0; gActiveBank < gBattleBanksCount; gActiveBank++)
{
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
{
if (gActionForBanks[gActiveBank] == ACTION_RUN)
gBattleOutcome |= BATTLE_LOST;
gBattleOutcome |= B_OUTCOME_LOST;
}
else
{
if (gActionForBanks[gActiveBank] == ACTION_RUN)
gBattleOutcome |= BATTLE_WON;
gBattleOutcome |= B_OUTCOME_WON;
}
}
gBattleOutcome |= OUTCOME_LINK_BATTLE_RUN;
gBattleOutcome |= B_OUTCOME_LINK_BATTLE_RAN;
gSaveBlock2Ptr->field_CA9_b = 1;
}
else
@@ -5464,8 +5464,8 @@ static void HandleAction_Run(void)
}
else
{
gCurrentTurnActionNumber = gNoOfAllBanks;
gBattleOutcome = BATTLE_POKE_FLED;
gCurrentTurnActionNumber = gBattleBanksCount;
gBattleOutcome = B_OUTCOME_POKE_FLED;
}
}
}
@@ -5546,8 +5546,8 @@ static void HandleAction_SafriZoneRun(void)
{
gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber];
PlaySE(SE_NIGERU);
gCurrentTurnActionNumber = gNoOfAllBanks;
gBattleOutcome = BATTLE_RAN;
gCurrentTurnActionNumber = gBattleBanksCount;
gBattleOutcome = B_OUTCOME_RAN;
}
static void HandleAction_Action9(void)
@@ -5597,7 +5597,7 @@ static void HandleAction_ActionFinished(void)
gCurrentMove = 0;
gBattleMoveDamage = 0;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gBattleScripting.animTurn = 0;
gBattleScripting.animTargetsHit = 0;
gLastLandedMoves[gBankAttacker] = 0;
+79 -79
View File
@@ -48,16 +48,16 @@ extern u32 gBattleTypeFlags;
extern u8 gActiveBank;
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern u16 gCurrentMove;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gAbsentBankFlags;
extern u16 gLastMoves[BATTLE_BANKS_COUNT];
extern u16 gTrainerBattleOpponent_A;
extern u16 gTrainerBattleOpponent_B;
extern u32 gStatuses3[BATTLE_BANKS_COUNT];
extern u16 gSideAffecting[2];
extern u16 gSideStatuses[2];
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern u16 gDynamicBasePower;
extern u8 gBattleMoveFlags;
extern u8 gMoveResultFlags;
extern s32 gBattleMoveDamage;
extern u8 gCritMultiplier;
extern u16 gBattleWeather;
@@ -367,14 +367,14 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves)
// decide a random target bank in doubles
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
gBankTarget = (Random() & BIT_MON) + (GetBankSide(gActiveBank) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget ^= BIT_MON;
gBankDefender = (Random() & BIT_MON) + (GetBankSide(gActiveBank) ^ BIT_SIDE);
if (gAbsentBankFlags & gBitTable[gBankDefender])
gBankDefender ^= BIT_MON;
}
// in singles there's only one choice
else
{
gBankTarget = sBank_AI ^ BIT_SIDE;
gBankDefender = sBank_AI ^ BIT_SIDE;
}
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
@@ -491,7 +491,7 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void)
else
BattleAI_SetupAIData(0xF);
gBankTarget = i;
gBankDefender = i;
if ((i & BIT_SIDE) != (sBank_AI & BIT_SIDE))
RecordLastUsedMoveByTarget();
@@ -573,8 +573,8 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void)
}
}
gBankTarget = mostViableTargetsArray[Random() % mostViableTargetsNo];
return actionOrMoveIndex[gBankTarget];
gBankDefender = mostViableTargetsArray[Random() % mostViableTargetsNo];
return actionOrMoveIndex[gBankDefender];
}
static void BattleAI_DoAIProcessing(void)
@@ -627,12 +627,12 @@ static void RecordLastUsedMoveByTarget(void)
for (i = 0; i < 4; i++)
{
if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gLastMoves[gBankTarget])
if (gBattleResources->battleHistory->usedMoves[gBankDefender].moves[i] == gLastMoves[gBankDefender])
break;
if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gLastMoves[gBankTarget] // HACK: This redundant condition is a hack to make the asm match.
&& gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == 0)
if (gBattleResources->battleHistory->usedMoves[gBankDefender].moves[i] != gLastMoves[gBankDefender] // HACK: This redundant condition is a hack to make the asm match.
&& gBattleResources->battleHistory->usedMoves[gBankDefender].moves[i] == 0)
{
gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gLastMoves[gBankTarget];
gBattleResources->battleHistory->usedMoves[gBankDefender].moves[i] = gLastMoves[gBankDefender];
break;
}
}
@@ -723,7 +723,7 @@ static void BattleAICmd_if_hp_less_than(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if ((u32)(100 * gBattleMons[bank].hp / gBattleMons[bank].maxHP) < gAIScriptPtr[2])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
@@ -738,7 +738,7 @@ static void BattleAICmd_if_hp_more_than(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if ((u32)(100 * gBattleMons[bank].hp / gBattleMons[bank].maxHP) > gAIScriptPtr[2])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
@@ -753,7 +753,7 @@ static void BattleAICmd_if_hp_equal(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if ((u32)(100 * gBattleMons[bank].hp / gBattleMons[bank].maxHP) == gAIScriptPtr[2])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
@@ -768,7 +768,7 @@ static void BattleAICmd_if_hp_not_equal(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if ((u32)(100 * gBattleMons[bank].hp / gBattleMons[bank].maxHP) != gAIScriptPtr[2])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
@@ -784,7 +784,7 @@ static void BattleAICmd_if_status(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
status = AIScriptRead32(gAIScriptPtr + 2);
@@ -802,7 +802,7 @@ static void BattleAICmd_if_not_status(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
status = AIScriptRead32(gAIScriptPtr + 2);
@@ -820,7 +820,7 @@ static void BattleAICmd_if_status2(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
status = AIScriptRead32(gAIScriptPtr + 2);
@@ -838,7 +838,7 @@ static void BattleAICmd_if_not_status2(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
status = AIScriptRead32(gAIScriptPtr + 2);
@@ -856,7 +856,7 @@ static void BattleAICmd_if_status3(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
status = AIScriptRead32(gAIScriptPtr + 2);
@@ -874,7 +874,7 @@ static void BattleAICmd_if_not_status3(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
status = AIScriptRead32(gAIScriptPtr + 2);
@@ -892,12 +892,12 @@ static void BattleAICmd_if_side_affecting(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
side = GET_BANK_SIDE(bank);
status = AIScriptRead32(gAIScriptPtr + 2);
if ((gSideAffecting[side] & status) != 0)
if ((gSideStatuses[side] & status) != 0)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
@@ -911,12 +911,12 @@ static void BattleAICmd_if_not_side_affecting(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
side = GET_BANK_SIDE(bank);
status = AIScriptRead32(gAIScriptPtr + 2);
if ((gSideAffecting[side] & status) == 0)
if ((gSideStatuses[side] & status) == 0)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
@@ -1126,13 +1126,13 @@ static void BattleAICmd_get_type(void)
AI_THINKING_STRUCT->funcResult = gBattleMons[sBank_AI].type1;
break;
case AI_TYPE1_TARGET: // target primary type
AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type1;
AI_THINKING_STRUCT->funcResult = gBattleMons[gBankDefender].type1;
break;
case AI_TYPE2_USER: // AI user secondary type
AI_THINKING_STRUCT->funcResult = gBattleMons[sBank_AI].type2;
break;
case AI_TYPE2_TARGET: // target secondary type
AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type2;
AI_THINKING_STRUCT->funcResult = gBattleMons[gBankDefender].type2;
break;
case AI_TYPE_MOVE: // type of move being pointed to
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].type;
@@ -1149,11 +1149,11 @@ static u8 BattleAI_GetWantedBank(u8 bank)
return sBank_AI;
case AI_TARGET:
default:
return gBankTarget;
return gBankDefender;
case AI_USER_PARTNER:
return sBank_AI ^ BIT_MON;
case AI_TARGET_PARTNER:
return gBankTarget ^ BIT_MON;
return gBankDefender ^ BIT_MON;
}
}
@@ -1196,7 +1196,7 @@ static void BattleAICmd_get_how_powerful_move_is(void)
gDynamicBasePower = 0;
*(&gBattleStruct->dynamicMoveType) = 0;
gBattleScripting.dmgMultiplier = 1;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gCritMultiplier = 1;
for (checkedMove = 0; checkedMove < 4; checkedMove++)
@@ -1212,8 +1212,8 @@ static void BattleAICmd_get_how_powerful_move_is(void)
&& gBattleMoves[gBattleMons[sBank_AI].moves[checkedMove]].power > 1)
{
gCurrentMove = gBattleMons[sBank_AI].moves[checkedMove];
AI_CalcDmg(sBank_AI, gBankTarget);
TypeCalc(gCurrentMove, sBank_AI, gBankTarget);
AI_CalcDmg(sBank_AI, gBankDefender);
TypeCalc(gCurrentMove, sBank_AI, gBankDefender);
moveDmgs[checkedMove] = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[checkedMove] / 100;
if (moveDmgs[checkedMove] == 0)
moveDmgs[checkedMove] = 1;
@@ -1248,7 +1248,7 @@ static void BattleAICmd_get_last_used_bank_move(void)
if (gAIScriptPtr[1] == AI_USER)
AI_THINKING_STRUCT->funcResult = gLastMoves[sBank_AI];
else
AI_THINKING_STRUCT->funcResult = gLastMoves[gBankTarget];
AI_THINKING_STRUCT->funcResult = gLastMoves[gBankDefender];
gAIScriptPtr += 2;
}
@@ -1271,7 +1271,7 @@ static void BattleAICmd_if_not_equal_(void) // same as if_not_equal
static void BattleAICmd_if_user_goes(void)
{
if (GetWhoStrikesFirst(sBank_AI, gBankTarget, TRUE) == gAIScriptPtr[1])
if (GetWhoStrikesFirst(sBank_AI, gBankDefender, TRUE) == gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1279,7 +1279,7 @@ static void BattleAICmd_if_user_goes(void)
static void BattleAICmd_if_user_doesnt_go(void)
{
if (GetWhoStrikesFirst(sBank_AI, gBankTarget, TRUE) != gAIScriptPtr[1])
if (GetWhoStrikesFirst(sBank_AI, gBankDefender, TRUE) != gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1305,7 +1305,7 @@ static void BattleAICmd_count_usable_party_mons(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if (GetBankSide(bank) == SIDE_PLAYER)
party = gPlayerParty;
@@ -1317,7 +1317,7 @@ static void BattleAICmd_count_usable_party_mons(void)
u32 identity;
bankOnField1 = gBattlePartyID[bank];
identity = GetBankPosition(bank) ^ BIT_MON;
bankOnField2 = gBattlePartyID[GetBankByIdentity(identity)];
bankOnField2 = gBattlePartyID[GetBankByPosition(identity)];
}
else // in singles there's only one bank by side
{
@@ -1358,7 +1358,7 @@ static void BattleAICmd_get_ability(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if (gActiveBank != bank)
{
@@ -1482,7 +1482,7 @@ static void BattleAICmd_get_highest_type_effectiveness(void)
dynamicMoveType = &gBattleStruct->dynamicMoveType;
*dynamicMoveType = 0;
gBattleScripting.dmgMultiplier = 1;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gCritMultiplier = 1;
AI_THINKING_STRUCT->funcResult = 0;
@@ -1493,7 +1493,7 @@ static void BattleAICmd_get_highest_type_effectiveness(void)
if (gCurrentMove)
{
TypeCalc(gCurrentMove, sBank_AI, gBankTarget);
TypeCalc(gCurrentMove, sBank_AI, gBankDefender);
// reduce by 1/3.
if (gBattleMoveDamage == 120)
@@ -1505,7 +1505,7 @@ static void BattleAICmd_get_highest_type_effectiveness(void)
if (gBattleMoveDamage == 15)
gBattleMoveDamage = AI_EFFECTIVENESS_x0_25;
if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
gBattleMoveDamage = AI_EFFECTIVENESS_x0;
if (AI_THINKING_STRUCT->funcResult < gBattleMoveDamage)
@@ -1522,13 +1522,13 @@ static void BattleAICmd_if_type_effectiveness(void)
gDynamicBasePower = 0;
gBattleStruct->dynamicMoveType = 0;
gBattleScripting.dmgMultiplier = 1;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gCritMultiplier = 1;
gBattleMoveDamage = AI_EFFECTIVENESS_x1;
gCurrentMove = AI_THINKING_STRUCT->moveConsidered;
TypeCalc(gCurrentMove, sBank_AI, gBankTarget);
TypeCalc(gCurrentMove, sBank_AI, gBankDefender);
if (gBattleMoveDamage == 120)
gBattleMoveDamage = AI_EFFECTIVENESS_x2;
@@ -1539,7 +1539,7 @@ static void BattleAICmd_if_type_effectiveness(void)
if (gBattleMoveDamage == 15)
gBattleMoveDamage = AI_EFFECTIVENESS_x0_25;
if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
gBattleMoveDamage = AI_EFFECTIVENESS_x0;
// store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8.
@@ -1572,7 +1572,7 @@ static void BattleAICmd_if_status_in_party(void)
bank = sBank_AI;
break;
default:
bank = gBankTarget;
bank = gBankDefender;
break;
}
@@ -1609,7 +1609,7 @@ static void BattleAICmd_if_status_not_in_party(void)
bank = sBank_AI;
break;
default:
bank = gBankTarget;
bank = gBankDefender;
break;
}
@@ -1669,7 +1669,7 @@ static void BattleAICmd_if_stat_level_less_than(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if (gBattleMons[bank].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
@@ -1684,7 +1684,7 @@ static void BattleAICmd_if_stat_level_more_than(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if (gBattleMons[bank].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
@@ -1699,7 +1699,7 @@ static void BattleAICmd_if_stat_level_equal(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if (gBattleMons[bank].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
@@ -1714,7 +1714,7 @@ static void BattleAICmd_if_stat_level_not_equal(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if (gBattleMons[bank].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
@@ -1733,11 +1733,11 @@ static void BattleAICmd_if_can_faint(void)
gDynamicBasePower = 0;
gBattleStruct->dynamicMoveType = 0;
gBattleScripting.dmgMultiplier = 1;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gCritMultiplier = 1;
gCurrentMove = AI_THINKING_STRUCT->moveConsidered;
AI_CalcDmg(sBank_AI, gBankTarget);
TypeCalc(gCurrentMove, sBank_AI, gBankTarget);
AI_CalcDmg(sBank_AI, gBankDefender);
TypeCalc(gCurrentMove, sBank_AI, gBankDefender);
gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100;
@@ -1745,7 +1745,7 @@ static void BattleAICmd_if_can_faint(void)
if (gBattleMoveDamage == 0)
gBattleMoveDamage = 1;
if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage)
if (gBattleMons[gBankDefender].hp <= gBattleMoveDamage)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1762,17 +1762,17 @@ static void BattleAICmd_if_cant_faint(void)
gDynamicBasePower = 0;
gBattleStruct->dynamicMoveType = 0;
gBattleScripting.dmgMultiplier = 1;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gCritMultiplier = 1;
gCurrentMove = AI_THINKING_STRUCT->moveConsidered;
AI_CalcDmg(sBank_AI, gBankTarget);
TypeCalc(gCurrentMove, sBank_AI, gBankTarget);
AI_CalcDmg(sBank_AI, gBankDefender);
TypeCalc(gCurrentMove, sBank_AI, gBankDefender);
gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100;
// this macro is missing the damage 0 = 1 assumption.
if (gBattleMons[gBankTarget].hp > gBattleMoveDamage)
if (gBattleMons[gBankDefender].hp > gBattleMoveDamage)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -1829,7 +1829,7 @@ static void BattleAICmd_if_has_move(void)
case AI_TARGET_PARTNER:
for (i = 0; i < 4; i++)
{
if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] == *movePtr)
if (BATTLE_HISTORY->usedMoves[gBankDefender].moves[i] == *movePtr)
break;
}
if (i == 4)
@@ -1873,7 +1873,7 @@ static void BattleAICmd_if_doesnt_have_move(void)
case AI_TARGET_PARTNER:
for (i = 0; i < 4; i++)
{
if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] == *movePtr)
if (BATTLE_HISTORY->usedMoves[gBankDefender].moves[i] == *movePtr)
break;
}
if (i != 4)
@@ -1911,8 +1911,8 @@ static void BattleAICmd_if_has_move_with_effect(void)
case AI_TARGET_PARTNER:
for (i = 0; i < 4; i++)
{
// UB: checks sBank_AI instead of gBankTarget
if (gBattleMons[sBank_AI].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankTarget].moves[i]].effect == gAIScriptPtr[2])
// UB: checks sBank_AI instead of gBankDefender
if (gBattleMons[sBank_AI].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankDefender].moves[i]].effect == gAIScriptPtr[2])
break;
}
if (i == 4)
@@ -1945,7 +1945,7 @@ static void BattleAICmd_if_doesnt_have_move_with_effect(void)
case AI_TARGET_PARTNER:
for (i = 0; i < 4; i++)
{
if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankTarget].moves[i]].effect == gAIScriptPtr[2])
if (BATTLE_HISTORY->usedMoves[gBankDefender].moves[i] && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankDefender].moves[i]].effect == gAIScriptPtr[2])
break;
}
if (i != 4)
@@ -1963,7 +1963,7 @@ static void BattleAICmd_if_any_move_disabled_or_encored(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if (gAIScriptPtr[2] == 0)
{
@@ -2041,7 +2041,7 @@ static void BattleAICmd_get_hold_effect(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
if (gActiveBank != bank)
AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[bank]);
@@ -2079,7 +2079,7 @@ static void BattleAICmd_get_gender(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[bank].species, gBattleMons[bank].personality);
@@ -2093,7 +2093,7 @@ static void BattleAICmd_is_first_turn_for(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].isFirstTurn;
@@ -2107,7 +2107,7 @@ static void BattleAICmd_get_stockpile_count(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].stockpileCounter;
@@ -2128,7 +2128,7 @@ static void BattleAICmd_get_used_held_item(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
// This is likely a leftover from Ruby's code and its ugly ewram access
#ifdef NONMATCHING
@@ -2168,7 +2168,7 @@ static void BattleAICmd_get_protect_count(void)
if (gAIScriptPtr[1] == AI_USER)
bank = sBank_AI;
else
bank = gBankTarget;
bank = gBankDefender;
AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].protectUses;
@@ -2221,7 +2221,7 @@ static void BattleAICmd_if_level_cond(void)
switch (gAIScriptPtr[1])
{
case 0: // greater than
if (gBattleMons[sBank_AI].level > gBattleMons[gBankTarget].level)
if (gBattleMons[sBank_AI].level > gBattleMons[gBankDefender].level)
{
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
return;
@@ -2229,7 +2229,7 @@ static void BattleAICmd_if_level_cond(void)
gAIScriptPtr += 6;
return;
case 1: // less than
if (gBattleMons[sBank_AI].level < gBattleMons[gBankTarget].level)
if (gBattleMons[sBank_AI].level < gBattleMons[gBankDefender].level)
{
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
return;
@@ -2237,7 +2237,7 @@ static void BattleAICmd_if_level_cond(void)
gAIScriptPtr += 6;
return;
case 2: // equal
if (gBattleMons[sBank_AI].level == gBattleMons[gBankTarget].level)
if (gBattleMons[sBank_AI].level == gBattleMons[gBankDefender].level)
{
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
return;
@@ -2249,7 +2249,7 @@ static void BattleAICmd_if_level_cond(void)
static void BattleAICmd_if_target_taunted(void)
{
if (gDisableStructs[gBankTarget].tauntTimer1 != 0)
if (gDisableStructs[gBankDefender].tauntTimer1 != 0)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -2257,7 +2257,7 @@ static void BattleAICmd_if_target_taunted(void)
static void BattleAICmd_if_target_not_taunted(void)
{
if (gDisableStructs[gBankTarget].tauntTimer1 == 0)
if (gDisableStructs[gBankDefender].tauntTimer1 == 0)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
@@ -2265,7 +2265,7 @@ static void BattleAICmd_if_target_not_taunted(void)
static void BattleAICmd_if_target_is_ally(void)
{
if ((sBank_AI & BIT_SIDE) == (gBankTarget & BIT_SIDE))
if ((sBank_AI & BIT_SIDE) == (gBankDefender & BIT_SIDE))
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
+39 -39
View File
@@ -19,7 +19,7 @@ extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern u16 gLastLandedMoves[BATTLE_BANKS_COUNT];
extern u8 gLastHitBy[BATTLE_BANKS_COUNT];
extern u16 gDynamicBasePower;
extern u8 gBattleMoveFlags;
extern u8 gMoveResultFlags;
extern u8 gCritMultiplier;
extern s32 gBattleMoveDamage;
@@ -48,7 +48,7 @@ static bool8 ShouldSwitchIfPerishSong(void)
static bool8 ShouldSwitchIfWonderGuard(void)
{
u8 opposingIdentity;
u8 opposingPosition;
u8 opposingBank;
u8 moveFlags;
s32 i, j;
@@ -60,20 +60,20 @@ static bool8 ShouldSwitchIfWonderGuard(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
return FALSE;
opposingIdentity = GetBankPosition(gActiveBank) ^ BIT_SIDE;
opposingPosition = B_POSITION_OPPOSITE(GetBankPosition(gActiveBank));
if (gBattleMons[GetBankByIdentity(opposingIdentity)].ability != ABILITY_WONDER_GUARD)
if (gBattleMons[GetBankByPosition(opposingPosition)].ability != ABILITY_WONDER_GUARD)
return FALSE;
// check if pokemon has a super effective move
for (opposingBank = GetBankByIdentity(opposingIdentity), i = 0; i < 4; i++)
for (opposingBank = GetBankByPosition(opposingPosition), i = 0; i < 4; i++)
{
move = gBattleMons[gActiveBank].moves[i];
if (move == MOVE_NONE)
continue;
moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability);
if (moveFlags & MOVESTATUS_SUPEREFFECTIVE)
if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE)
return FALSE;
}
@@ -110,14 +110,14 @@ static bool8 ShouldSwitchIfWonderGuard(void)
GetMonData(&party[i], MON_DATA_SPECIES); // unused return value
GetMonData(&party[i], MON_DATA_ALT_ABILITY); // unused return value
for (opposingBank = GetBankByIdentity(opposingIdentity), j = 0; j < 4; j++)
for (opposingBank = GetBankByPosition(opposingPosition), j = 0; j < 4; j++)
{
move = GetMonData(&party[i], MON_DATA_MOVE1 + j);
if (move == MOVE_NONE)
continue;
moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability);
if (moveFlags & MOVESTATUS_SUPEREFFECTIVE && Random() % 3 < 2)
if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % 3 < 2)
{
// we found a mon
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = i;
@@ -151,10 +151,10 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
bankIn1 = gActiveBank;
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
if (gAbsentBankFlags & gBitTable[GetBankByPosition(B_POSITION_PARTNER(GetBankPosition(gActiveBank)))])
bankIn2 = gActiveBank;
else
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
bankIn2 = GetBankByPosition(B_POSITION_PARTNER(GetBankPosition(gActiveBank)));
}
else
{
@@ -231,7 +231,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
static bool8 ShouldSwitchIfNaturalCure(void)
{
if (!(gBattleMons[gActiveBank].status1 & STATUS_SLEEP))
if (!(gBattleMons[gActiveBank].status1 & STATUS1_SLEEP))
return FALSE;
if (gBattleMons[gActiveBank].ability != ABILITY_NATURAL_CURE)
return FALSE;
@@ -251,9 +251,9 @@ static bool8 ShouldSwitchIfNaturalCure(void)
return TRUE;
}
if (FindMonWithFlagsAndSuperEffective(MOVESTATUS_NOTAFFECTED, 1))
if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 1))
return TRUE;
if (FindMonWithFlagsAndSuperEffective(MOVESTATUS_NOTVERYEFFECTIVE, 1))
if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1))
return TRUE;
if (Random() & 1)
{
@@ -267,14 +267,14 @@ static bool8 ShouldSwitchIfNaturalCure(void)
static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng)
{
u8 opposingIdentity;
u8 opposingPosition;
u8 opposingBank;
s32 i;
u8 moveFlags;
u16 move;
opposingIdentity = GetBankPosition(gActiveBank) ^ BIT_SIDE;
opposingBank = GetBankByIdentity(opposingIdentity);
opposingPosition = B_POSITION_OPPOSITE(GetBankPosition(gActiveBank));
opposingBank = GetBankByPosition(opposingPosition);
if (!(gAbsentBankFlags & gBitTable[opposingBank]))
{
@@ -285,7 +285,7 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng)
continue;
moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability);
if (moveFlags & MOVESTATUS_SUPEREFFECTIVE)
if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE)
{
if (noRng)
return TRUE;
@@ -297,7 +297,7 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng)
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
return FALSE;
opposingBank = GetBankByIdentity(opposingIdentity ^ BIT_MON);
opposingBank = GetBankByPosition(B_POSITION_PARTNER(opposingPosition));
if (!(gAbsentBankFlags & gBitTable[opposingBank]))
{
@@ -308,7 +308,7 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng)
continue;
moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability);
if (moveFlags & MOVESTATUS_SUPEREFFECTIVE)
if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE)
{
if (noRng)
return TRUE;
@@ -357,10 +357,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
bankIn1 = gActiveBank;
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
if (gAbsentBankFlags & gBitTable[GetBankByPosition(B_POSITION_PARTNER(GetBankPosition(gActiveBank)))])
bankIn2 = gActiveBank;
else
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
bankIn2 = GetBankByPosition(B_POSITION_PARTNER(GetBankPosition(gActiveBank)));
}
else
{
@@ -423,7 +423,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
continue;
moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability);
if (moveFlags & MOVESTATUS_SUPEREFFECTIVE && Random() % moduloPercent == 0)
if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0)
{
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = i;
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
@@ -468,10 +468,10 @@ static bool8 ShouldSwitch(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
bankIn1 = *activeBankPtr;
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(*activeBankPtr) ^ BIT_MON)])
if (gAbsentBankFlags & gBitTable[GetBankByPosition(GetBankPosition(*activeBankPtr) ^ BIT_MON)])
bankIn2 = *activeBankPtr;
else
bankIn2 = GetBankByIdentity(GetBankPosition(*activeBankPtr) ^ BIT_MON);
bankIn2 = GetBankByPosition(GetBankPosition(*activeBankPtr) ^ BIT_MON);
}
else
{
@@ -530,8 +530,8 @@ static bool8 ShouldSwitch(void)
return FALSE;
if (AreStatsRaised())
return FALSE;
if (FindMonWithFlagsAndSuperEffective(MOVESTATUS_NOTAFFECTED, 2)
|| FindMonWithFlagsAndSuperEffective(MOVESTATUS_NOTVERYEFFECTIVE, 3))
if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2)
|| FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3))
return TRUE;
return FALSE;
@@ -561,13 +561,13 @@ void AI_TrySwitchOrUseItem(void)
{
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
bankIn1 = GetBankByIdentity(bankIdentity);
bankIn1 = GetBankByPosition(bankIdentity);
bankIn2 = bankIn1;
}
else
{
bankIn1 = GetBankByIdentity(bankIdentity);
bankIn2 = GetBankByIdentity(bankIdentity ^ BIT_MON);
bankIn1 = GetBankByPosition(bankIdentity);
bankIn2 = GetBankByPosition(bankIdentity ^ BIT_MON);
}
if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000))
@@ -659,10 +659,10 @@ u8 GetMostSuitableMonToSwitchInto(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
bankIn1 = gActiveBank;
if (gAbsentBankFlags & gBitTable[GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON)])
if (gAbsentBankFlags & gBitTable[GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON)])
bankIn2 = gActiveBank;
else
bankIn2 = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_MON);
bankIn2 = GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_MON);
// UB: It considers the opponent only player's side even though it can battle alongside player;
opposingBank = Random() & BIT_MON;
@@ -671,7 +671,7 @@ u8 GetMostSuitableMonToSwitchInto(void)
}
else
{
opposingBank = GetBankByIdentity(GetBankPosition(gActiveBank) ^ BIT_SIDE);
opposingBank = GetBankByPosition(GetBankPosition(gActiveBank) ^ BIT_SIDE);
bankIn1 = gActiveBank;
bankIn2 = gActiveBank;
}
@@ -734,7 +734,7 @@ u8 GetMostSuitableMonToSwitchInto(void)
for (i = 0; i < 4; i++)
{
move = GetMonData(&party[bestMonId], MON_DATA_MOVE1 + i);
if (move != MOVE_NONE && TypeCalc(move, gActiveBank, opposingBank) & MOVESTATUS_SUPEREFFECTIVE)
if (move != MOVE_NONE && TypeCalc(move, gActiveBank, opposingBank) & MOVE_RESULT_SUPER_EFFECTIVE)
break;
}
@@ -752,7 +752,7 @@ u8 GetMostSuitableMonToSwitchInto(void)
gDynamicBasePower = 0;
gBattleStruct->dynamicMoveType = 0;
gBattleScripting.dmgMultiplier = 1;
gBattleMoveFlags = 0;
gMoveResultFlags = 0;
gCritMultiplier = 1;
bestDmg = 0;
bestMonId = 6;
@@ -877,27 +877,27 @@ static bool8 ShouldUseItem(void)
break;
case AI_ITEM_CURE_CONDITION:
*(gBattleStruct->AI_itemFlags + gActiveBank / 2) = 0;
if (itemEffects[3] & 0x20 && gBattleMons[gActiveBank].status1 & STATUS_SLEEP)
if (itemEffects[3] & 0x20 && gBattleMons[gActiveBank].status1 & STATUS1_SLEEP)
{
*(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x20;
shouldUse = TRUE;
}
if (itemEffects[3] & 0x10 && (gBattleMons[gActiveBank].status1 & STATUS_POISON || gBattleMons[gActiveBank].status1 & STATUS_TOXIC_POISON))
if (itemEffects[3] & 0x10 && (gBattleMons[gActiveBank].status1 & STATUS1_POISON || gBattleMons[gActiveBank].status1 & STATUS1_TOXIC_POISON))
{
*(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x10;
shouldUse = TRUE;
}
if (itemEffects[3] & 0x8 && gBattleMons[gActiveBank].status1 & STATUS_BURN)
if (itemEffects[3] & 0x8 && gBattleMons[gActiveBank].status1 & STATUS1_BURN)
{
*(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x8;
shouldUse = TRUE;
}
if (itemEffects[3] & 0x4 && gBattleMons[gActiveBank].status1 & STATUS_FREEZE)
if (itemEffects[3] & 0x4 && gBattleMons[gActiveBank].status1 & STATUS1_FREEZE)
{
*(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x4;
shouldUse = TRUE;
}
if (itemEffects[3] & 0x2 && gBattleMons[gActiveBank].status1 & STATUS_PARALYSIS)
if (itemEffects[3] & 0x2 && gBattleMons[gActiveBank].status1 & STATUS1_PARALYSIS)
{
*(gBattleStruct->AI_itemFlags + gActiveBank / 2) |= 0x2;
shouldUse = TRUE;
+2 -2
View File
@@ -26,7 +26,7 @@
#define ANIM_SPRITE_INDEX_COUNT 8
extern u8 gBankAttacker;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u16 gBattle_WIN0H;
extern u16 gBattle_WIN0V;
extern u16 gBattle_WIN1H;
@@ -222,7 +222,7 @@ void ClearBattleAnimationVars(void)
void DoMoveAnim(u16 move)
{
gAnimBankAttacker = gBankAttacker;
gAnimBankTarget = gBankTarget;
gAnimBankTarget = gBankDefender;
LaunchBattleAnimation(gBattleAnims_Moves, move, TRUE);
}
+3 -3
View File
@@ -273,13 +273,13 @@ static void sub_8035AE4(u8 taskId, u8 bank, u8 bgId, u8 destX, u8 destY)
static void sub_8035C4C(void)
{
if (gBattleOutcome == BATTLE_DREW)
if (gBattleOutcome == B_OUTCOME_DREW)
{
BattleHandleAddTextPrinter(gText_Draw, 0x15);
}
else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if (gBattleOutcome == BATTLE_WON)
if (gBattleOutcome == B_OUTCOME_WON)
{
switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18)
{
@@ -324,7 +324,7 @@ static void sub_8035C4C(void)
}
}
}
else if (gBattleOutcome == BATTLE_WON)
else if (gBattleOutcome == B_OUTCOME_WON)
{
if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0)
{
+4 -4
View File
@@ -28,7 +28,7 @@ extern u32 gBattleExecBuffer;
extern u8 gActiveBank;
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern bool8 gDoingBattleAnim;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern void (*gPreBattleCallback1)(void);
@@ -47,7 +47,7 @@ extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT];
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
extern u16 gPartnerTrainerId;
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gAbsentBankFlags;
extern u8 gUnknown_020244B4[];
extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT];
@@ -1875,10 +1875,10 @@ static void LinkOpponentHandleCmd55(void)
{
sub_81851A8(&gBattleBufferA[gActiveBank][4]);
if (gBattleBufferA[gActiveBank][1] == BATTLE_DREW)
if (gBattleBufferA[gActiveBank][1] == B_OUTCOME_DREW)
gBattleOutcome = gBattleBufferA[gActiveBank][1];
else
gBattleOutcome = gBattleBufferA[gActiveBank][1] ^ BATTLE_DREW;
gBattleOutcome = gBattleBufferA[gActiveBank][1] ^ B_OUTCOME_DREW;
gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBank][2];
FadeOutMapMusic(5);
+2 -2
View File
@@ -28,7 +28,7 @@ extern u32 gBattleExecBuffer;
extern u8 gActiveBank;
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern bool8 gDoingBattleAnim;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern void (*gPreBattleCallback1)(void);
@@ -47,7 +47,7 @@ extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT];
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
extern u16 gPartnerTrainerId;
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gAbsentBankFlags;
extern u8 gUnknown_020244B4[];
extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT];
+12 -12
View File
@@ -30,7 +30,7 @@
extern u32 gBattleExecBuffer;
extern u8 gActiveBank;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gAbsentBankFlags;
extern bool8 gDoingBattleAnim;
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
@@ -1581,18 +1581,18 @@ static void OpponentHandleChooseMove(void)
EmitTwoReturnValues(1, ACTION_RUN, 0);
break;
case 6:
EmitTwoReturnValues(1, 15, gBankTarget);
EmitTwoReturnValues(1, 15, gBankDefender);
break;
default:
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER | MOVE_TARGET_x10))
gBankTarget = gActiveBank;
gBankDefender = gActiveBank;
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH)
{
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
gBankDefender = GetBankByPosition(B_POSITION_PLAYER_LEFT);
if (gAbsentBankFlags & gBitTable[gBankDefender])
gBankDefender = GetBankByPosition(B_POSITION_PLAYER_RIGHT);
}
EmitTwoReturnValues(1, 10, (chosenMoveId) | (gBankTarget << 8));
EmitTwoReturnValues(1, 10, (chosenMoveId) | (gBankDefender << 8));
break;
}
OpponentBufferExecCompleted();
@@ -1609,9 +1609,9 @@ static void OpponentHandleChooseMove(void)
if (gBattleMoves[move].target & (MOVE_TARGET_USER | MOVE_TARGET_x10))
EmitTwoReturnValues(1, 10, (chosenMoveId) | (gActiveBank << 8));
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(Random() & 2) << 8));
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByPosition(Random() & 2) << 8));
else
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByIdentity(B_POSITION_PLAYER_LEFT) << 8));
EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBankByPosition(B_POSITION_PLAYER_LEFT) << 8));
OpponentBufferExecCompleted();
}
@@ -1638,12 +1638,12 @@ static void OpponentHandleChoosePokemon(void)
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
bank2 = bank1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
bank2 = bank1 = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
}
else
{
bank1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
bank2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
bank1 = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
bank2 = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
}
if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000))
+16 -16
View File
@@ -33,7 +33,7 @@ extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gAbsentBankFlags;
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern bool8 gDoingBattleAnim;
extern u8 gPlayerDpadHoldFrames;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
@@ -358,7 +358,7 @@ static void HandleInputChooseAction(void)
{
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
&& GetBankPosition(gActiveBank) == B_POSITION_PLAYER_RIGHT
&& !(gAbsentBankFlags & gBitTable[GetBankByIdentity(B_POSITION_PLAYER_LEFT)])
&& !(gAbsentBankFlags & gBitTable[GetBankByPosition(B_POSITION_PLAYER_LEFT)])
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
if (gBattleBufferA[gActiveBank][1] == ACTION_USE_ITEM)
@@ -397,14 +397,14 @@ static void HandleInputChooseTarget(void)
// what a weird loop
i = 0;
if (gNoOfAllBanks != 0)
if (gBattleBanksCount != 0)
{
do
{
if (i != gMultiUsePlayerCursor)
dp11b_obj_free(i, 1);
i++;
} while (i < gNoOfAllBanks);
} while (i < gBattleBanksCount);
}
if (gMain.heldKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == 2)
@@ -447,8 +447,8 @@ static void HandleInputChooseTarget(void)
{
if (--i < 0)
i = 4; // UB: array out of range
gMultiUsePlayerCursor = GetBankByIdentity(identities[i]);
} while (gMultiUsePlayerCursor == gNoOfAllBanks);
gMultiUsePlayerCursor = GetBankByPosition(identities[i]);
} while (gMultiUsePlayerCursor == gBattleBanksCount);
i = 0;
switch (GetBankPosition(gMultiUsePlayerCursor))
@@ -489,8 +489,8 @@ static void HandleInputChooseTarget(void)
{
if (++i > 3)
i = 0;
gMultiUsePlayerCursor = GetBankByIdentity(identities[i]);
} while (gMultiUsePlayerCursor == gNoOfAllBanks);
gMultiUsePlayerCursor = GetBankByPosition(identities[i]);
} while (gMultiUsePlayerCursor == gBattleBanksCount);
i = 0;
switch (GetBankPosition(gMultiUsePlayerCursor))
@@ -545,7 +545,7 @@ static void HandleInputChooseMove(void)
if (moveTarget & MOVE_TARGET_x10)
gMultiUsePlayerCursor = gActiveBank;
else
gMultiUsePlayerCursor = GetBankByIdentity((GetBankPosition(gActiveBank) & BIT_SIDE) ^ BIT_SIDE);
gMultiUsePlayerCursor = GetBankByPosition((GetBankPosition(gActiveBank) & BIT_SIDE) ^ BIT_SIDE);
if (!gBattleBufferA[gActiveBank][1]) // not a double battle
{
@@ -579,10 +579,10 @@ static void HandleInputChooseMove(void)
if (moveTarget & (MOVE_TARGET_x10 | MOVE_TARGET_USER))
gMultiUsePlayerCursor = gActiveBank;
else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(B_POSITION_OPPONENT_LEFT)])
gMultiUsePlayerCursor = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
else if (gAbsentBankFlags & gBitTable[GetBankByPosition(B_POSITION_OPPONENT_LEFT)])
gMultiUsePlayerCursor = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
else
gMultiUsePlayerCursor = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
gMultiUsePlayerCursor = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
gSprites[gBankSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039AD8;
}
@@ -905,7 +905,7 @@ static void sub_80586F8(void)
gMain.inBattle = 0;
gMain.callback1 = gPreBattleCallback1;
SetMainCallback2(sub_8038D64);
if (gBattleOutcome == BATTLE_WON)
if (gBattleOutcome == B_OUTCOME_WON)
sub_817E3F4();
FreeAllWindowBuffers();
}
@@ -918,7 +918,7 @@ static void sub_80586F8(void)
gMain.inBattle = 0;
gMain.callback1 = gPreBattleCallback1;
SetMainCallback2(sub_8038D64);
if (gBattleOutcome == BATTLE_WON)
if (gBattleOutcome == B_OUTCOME_WON)
sub_817E3F4();
FreeAllWindowBuffers();
}
@@ -2463,7 +2463,7 @@ static void PlayerHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
@@ -2473,7 +2473,7 @@ static void PlayerHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
+9 -9
View File
@@ -27,7 +27,7 @@ extern u32 gBattleExecBuffer;
extern u8 gActiveBank;
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern bool8 gDoingBattleAnim;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern void (*gPreBattleCallback1)(void);
@@ -47,7 +47,7 @@ extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT];
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
extern u16 gPartnerTrainerId;
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gAbsentBankFlags;
extern u8 gUnknown_020244B4[];
extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT];
@@ -1545,15 +1545,15 @@ static void PlayerPartnerHandleChooseMove(void)
chosenMoveId = BattleAI_ChooseMoveOrAction();
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_x10 | MOVE_TARGET_USER))
gBankTarget = gActiveBank;
gBankDefender = gActiveBank;
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH)
{
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
if (gAbsentBankFlags & gBitTable[gBankTarget])
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
gBankDefender = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
if (gAbsentBankFlags & gBitTable[gBankDefender])
gBankDefender = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
}
EmitTwoReturnValues(1, 10, chosenMoveId | (gBankTarget << 8));
EmitTwoReturnValues(1, 10, chosenMoveId | (gBankDefender << 8));
PlayerPartnerBufferExecCompleted();
}
@@ -1568,8 +1568,8 @@ static void PlayerPartnerHandleChoosePokemon(void)
if (chosenMonId == 6) // just switch to the next mon
{
u8 playerMonIdentity = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
u8 selfIdentity = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
u8 playerMonIdentity = GetBankByPosition(B_POSITION_PLAYER_LEFT);
u8 selfIdentity = GetBankByPosition(B_POSITION_PLAYER_RIGHT);
for (chosenMonId = 3; chosenMonId < 6; chosenMonId++)
{
+4 -4
View File
@@ -29,7 +29,7 @@ extern u32 gBattleExecBuffer;
extern u8 gActiveBank;
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern bool8 gDoingBattleAnim;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern void (*gPreBattleCallback1)(void);
@@ -48,7 +48,7 @@ extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT];
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
extern u16 gPartnerTrainerId;
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gAbsentBankFlags;
extern u8 gUnknown_020244B4[];
extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT];
@@ -1814,10 +1814,10 @@ static void RecordedOpponentHandleResetActionMoveSelection(void)
static void RecordedOpponentHandleCmd55(void)
{
if (gBattleBufferA[gActiveBank][1] == BATTLE_DREW)
if (gBattleBufferA[gActiveBank][1] == B_OUTCOME_DREW)
gBattleOutcome = gBattleBufferA[gActiveBank][1];
else
gBattleOutcome = gBattleBufferA[gActiveBank][1] ^ BATTLE_DREW;
gBattleOutcome = gBattleBufferA[gActiveBank][1] ^ B_OUTCOME_DREW;
FadeOutMapMusic(5);
BeginFastPaletteFade(3);
+3 -3
View File
@@ -28,7 +28,7 @@ extern u32 gBattleExecBuffer;
extern u8 gActiveBank;
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern bool8 gDoingBattleAnim;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern void (*gPreBattleCallback1)(void);
@@ -48,7 +48,7 @@ extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT];
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
extern u16 gPartnerTrainerId;
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gAbsentBankFlags;
extern u8 gUnknown_020244B4[];
extern u32 gTransformedPersonalities[BATTLE_BANKS_COUNT];
@@ -1445,7 +1445,7 @@ static void RecordedPlayerHandlePrintSelectionString(void)
static void ChooseActionInBattlePalace(void)
{
if (gBattleCommunication[4] >= gNoOfAllBanks / 2)
if (gBattleCommunication[4] >= gBattleBanksCount / 2)
{
EmitTwoReturnValues(1, RecordedBattle_ReadBankAction(gActiveBank), 0);
RecordedPlayerBufferExecCompleted();
+3 -3
View File
@@ -26,7 +26,7 @@ extern u32 gBattleExecBuffer;
extern u8 gActiveBank;
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern bool8 gDoingBattleAnim;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern void (*gPreBattleCallback1)(void);
@@ -415,7 +415,7 @@ static void SafariHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
@@ -425,7 +425,7 @@ static void SafariHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnSpecialAnimDone;
}
+3 -3
View File
@@ -34,7 +34,7 @@ extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gAbsentBankFlags;
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern bool8 gDoingBattleAnim;
extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
@@ -1113,7 +1113,7 @@ static void WallyHandleSuccessBallThrowAnim(void)
{
gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation;
}
@@ -1123,7 +1123,7 @@ static void WallyHandleBallThrowAnim(void)
gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId;
gDoingBattleAnim = TRUE;
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByIdentity(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
InitAndLaunchSpecialAnimation(gActiveBank, gActiveBank, GetBankByPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_SAFARI_BALL_THROW);
gBattleBankFunc[gActiveBank] = CompleteOnFinishedAnimation;
}
+19 -19
View File
@@ -19,7 +19,7 @@ extern void (*gBattleBankFunc[BATTLE_BANKS_COUNT])(void);
extern u8 gBankPositions[BATTLE_BANKS_COUNT];
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern u8 gActiveBank;
extern u8 gUnknown_0202428C;
extern u32 gUnknown_02022FF4;
@@ -32,7 +32,7 @@ extern u8 gUnknown_02022D08;
extern u8 gUnknown_02022D09;
extern u8 gUnknown_02022D0A;
extern u8 gBankAttacker;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gAbsentBankFlags;
extern u8 gEffectBank;
extern u16 gBattleWeather;
@@ -124,7 +124,7 @@ void sub_8032768(void)
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
sub_81B8D64(i, 0);
}
@@ -172,7 +172,7 @@ static void SetControllersVariables(void)
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
}
gNoOfAllBanks = 4;
gBattleBanksCount = 4;
sub_81B8D64(0, 0);
sub_81B8D64(1, 0);
@@ -200,7 +200,7 @@ static void SetControllersVariables(void)
gBattleBankFunc[1] = SetControllerToOpponent;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
gBattleBanksCount = 2;
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
{
@@ -216,7 +216,7 @@ static void SetControllersVariables(void)
gBattleBankFunc[1] = SetControllerToRecordedOpponent;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
gBattleBanksCount = 2;
}
else // see how the banks are switched
{
@@ -226,7 +226,7 @@ static void SetControllersVariables(void)
gBattleBankFunc[0] = SetControllerToRecordedOpponent;
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
gBattleBanksCount = 2;
}
}
else
@@ -255,7 +255,7 @@ static void SetControllersVariables(void)
gBattleBankFunc[3] = SetControllerToOpponent;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
gBattleBanksCount = 4;
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
{
@@ -275,7 +275,7 @@ static void SetControllersVariables(void)
gBattleBankFunc[3] = SetControllerToOpponent;
gBankPositions[3] = 3;
gNoOfAllBanks = 4;
gBattleBanksCount = 4;
sub_81B8D64(0, 0);
sub_81B8D64(1, 0);
@@ -430,7 +430,7 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleBankFunc[1] = SetControllerToLinkOpponent;
gBankPositions[1] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
gBattleBanksCount = 2;
}
else
{
@@ -440,7 +440,7 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleBankFunc[0] = SetControllerToLinkOpponent;
gBankPositions[0] = B_POSITION_OPPONENT_LEFT;
gNoOfAllBanks = 2;
gBattleBanksCount = 2;
}
}
else if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
@@ -461,7 +461,7 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleBankFunc[3] = SetControllerToLinkOpponent;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
gBattleBanksCount = 4;
}
else
{
@@ -477,7 +477,7 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleBankFunc[2] = SetControllerToLinkOpponent;
gBankPositions[2] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
gBattleBanksCount = 4;
}
}
else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
@@ -498,7 +498,7 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleBankFunc[3] = SetControllerToOpponent;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
gBattleBanksCount = 4;
}
else
{
@@ -514,7 +514,7 @@ static void SetControllersVariablesInLinkBattle(void)
gBattleBankFunc[3] = SetControllerToLinkOpponent;
gBankPositions[3] = B_POSITION_OPPONENT_RIGHT;
gNoOfAllBanks = 4;
gBattleBanksCount = 4;
}
sub_81B8D64(0, 0);
@@ -604,7 +604,7 @@ static void SetControllersVariablesInLinkBattle(void)
}
}
gNoOfAllBanks = 4;
gBattleBanksCount = 4;
}
}
@@ -614,7 +614,7 @@ static void SetBattlePartyIds(void)
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
for (j = 0; j < 6; j++)
{
@@ -753,7 +753,7 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data)
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ACTIVE_BANK] = gActiveBank;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ATTACKER] = gBankAttacker;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_TARGET] = gBankTarget;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_TARGET] = gBankDefender;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ABSENT_BANK_FLAGS] = gAbsentBankFlags;
@@ -921,7 +921,7 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId)
if (!(gBattleTypeFlags & BATTLE_TYPE_WILD))
{
gBankAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 2];
gBankTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 3];
gBankDefender = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 3];
gAbsentBankFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 6];
gEffectBank = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 7];
}
+22 -22
View File
@@ -25,7 +25,7 @@
extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
extern u8 gActiveBank;
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern u16 gUnknown_020243FC;
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
@@ -262,7 +262,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void)
else if (var1 == MOVE_TARGET_SELECTED)
chosenMoveId |= (BattlePalaceGetTargetRetValue());
else
chosenMoveId |= (GetBankByIdentity((GetBankPosition(gActiveBank) & BIT_SIDE) ^ BIT_SIDE) << 8);
chosenMoveId |= (GetBankByPosition((GetBankPosition(gActiveBank) & BIT_SIDE) ^ BIT_SIDE) << 8);
return chosenMoveId;
}
@@ -299,13 +299,13 @@ static u16 BattlePalaceGetTargetRetValue(void)
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
{
opposing1 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
opposing2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
opposing1 = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
opposing2 = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
}
else
{
opposing1 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
opposing2 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
opposing1 = GetBankByPosition(B_POSITION_PLAYER_LEFT);
opposing2 = GetBankByPosition(B_POSITION_PLAYER_RIGHT);
}
if (gBattleMons[opposing1].hp == gBattleMons[opposing2].hp)
@@ -391,15 +391,15 @@ void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status)
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive = 1;
if (!isStatus2)
{
if (status == STATUS_FREEZE)
if (status == STATUS1_FREEZE)
LaunchStatusAnimation(gActiveBank, B_ANIM_STATUS_FRZ);
else if (status == STATUS_POISON || status & STATUS_TOXIC_POISON)
else if (status == STATUS1_POISON || status & STATUS1_TOXIC_POISON)
LaunchStatusAnimation(gActiveBank, B_ANIM_STATUS_PSN);
else if (status == STATUS_BURN)
else if (status == STATUS1_BURN)
LaunchStatusAnimation(gActiveBank, B_ANIM_STATUS_BRN);
else if (status & STATUS_SLEEP)
else if (status & STATUS1_SLEEP)
LaunchStatusAnimation(gActiveBank, B_ANIM_STATUS_SLP);
else if (status == STATUS_PARALYSIS)
else if (status == STATUS1_PARALYSIS)
LaunchStatusAnimation(gActiveBank, B_ANIM_STATUS_PRZ);
else // no animation
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive = 0;
@@ -807,7 +807,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *bank)
gHealthBoxesIds[*bank] = CreateBankHealthboxSprites(*bank);
(*bank)++;
if (*bank == gNoOfAllBanks)
if (*bank == gBattleBanksCount)
{
*bank = 0;
(*state1)++;
@@ -821,7 +821,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *bank)
DummyBattleInterfaceFunc(gHealthBoxesIds[*bank], TRUE);
(*bank)++;
if (*bank == gNoOfAllBanks)
if (*bank == gBattleBanksCount)
{
*bank = 0;
(*state1)++;
@@ -839,7 +839,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *bank)
}
SetHealthboxSpriteInvisible(gHealthBoxesIds[*bank]);
(*bank)++;
if (*bank == gNoOfAllBanks)
if (*bank == gBattleBanksCount)
{
*bank = 0;
(*state1)++;
@@ -871,7 +871,7 @@ void CopyAllBattleSpritesInvisibilities(void)
{
s32 i;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
gBattleSpritesDataPtr->bankData[i].invisible = gSprites[gBankSpriteIds[i]].invisible;
}
@@ -1080,7 +1080,7 @@ void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank)
void BattleStopLowHpSound(void)
{
u8 playerBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
u8 playerBank = GetBankByPosition(B_POSITION_PLAYER_LEFT);
gBattleSpritesDataPtr->bankData[playerBank].lowHpSong = 0;
if (IsDoubleBattle())
@@ -1101,8 +1101,8 @@ void sub_805EAE8(void)
{
if (gMain.inBattle)
{
u8 playerBank1 = GetBankByIdentity(B_POSITION_PLAYER_LEFT);
u8 playerBank2 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT);
u8 playerBank1 = GetBankByPosition(B_POSITION_PLAYER_LEFT);
u8 playerBank2 = GetBankByPosition(B_POSITION_PLAYER_RIGHT);
u8 bank1PartyId = pokemon_order_func(gBattlePartyID[playerBank1]);
u8 bank2PartyId = pokemon_order_func(gBattlePartyID[playerBank2]);
@@ -1117,7 +1117,7 @@ void sub_805EB9C(u8 affineMode)
{
s32 i;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (IsBankSpritePresent(i))
{
@@ -1143,13 +1143,13 @@ void LoadAndCreateEnemyShadowSprites(void)
LoadCompressedObjectPic(&gSpriteSheet_EnemyShadow);
bank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
bank = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankCoord(bank, 0), GetBankCoord(bank, 1) + 29, 0xC8);
gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data[0] = bank;
if (IsDoubleBattle())
{
bank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
bank = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBankCoord(bank, 0), GetBankCoord(bank, 1) + 29, 0xC8);
gSprites[gBattleSpritesDataPtr->healthBoxesData[bank].shadowSpriteId].data[0] = bank;
}
@@ -1286,7 +1286,7 @@ bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon)
s16 hp, maxHP;
s32 barLevel;
if (GetMonData(mon, MON_DATA_STATUS) & (STATUS_ANY | STATUS_TOXIC_COUNTER))
if (GetMonData(mon, MON_DATA_STATUS) & (STATUS1_ANY | STATUS1_TOXIC_COUNTER))
return FALSE;
hp = GetMonData(mon, MON_DATA_HP);
+8 -8
View File
@@ -154,7 +154,7 @@ enum
extern u8 gBankPositions[BATTLE_BANKS_COUNT];
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern const u8 * const gNatureNamePointers[];
@@ -1086,7 +1086,7 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority)
{
s32 i;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
u8 healthboxSpriteId_1 = gHealthBoxesIds[i];
u8 healthboxSpriteId_2 = gSprites[gHealthBoxesIds[i]].oam.affineParam;
@@ -1414,7 +1414,7 @@ void SwapHpBarsWithHpText(void)
s32 i;
u8 spriteId;
for (i = 0; i < gNoOfAllBanks; i++)
for (i = 0; i < gBattleBanksCount; i++)
{
if (gSprites[gHealthBoxesIds[i]].callback == SpriteCallbackDummy
&& GetBankSide(i) != SIDE_OPPONENT
@@ -2029,27 +2029,27 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
tileNumAdder = 0x11;
}
if (status & STATUS_SLEEP)
if (status & STATUS1_SLEEP)
{
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_SLP_BANK0, bank));
statusPalId = PAL_STATUS_SLP;
}
else if (status & STATUS_PSN_ANY)
else if (status & STATUS1_PSN_ANY)
{
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_PSN_BANK0, bank));
statusPalId = PAL_STATUS_PSN;
}
else if (status & STATUS_BURN)
else if (status & STATUS1_BURN)
{
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_BRN_BANK0, bank));
statusPalId = PAL_STATUS_BRN;
}
else if (status & STATUS_FREEZE)
else if (status & STATUS1_FREEZE)
{
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_FRZ_BANK0, bank));
statusPalId = PAL_STATUS_FRZ;
}
else if (status & STATUS_PARALYSIS)
else if (status & STATUS1_PARALYSIS)
{
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_PRZ_BANK0, bank));
statusPalId = PAL_STATUS_PAR;
+29 -29
View File
@@ -18,7 +18,7 @@ extern u16 gLastUsedItem;
extern u8 gLastUsedAbility;
extern u8 gActiveBank;
extern u8 gBankAttacker;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gStringBank;
extern u8 gEffectBank;
extern u8 gAbilitiesPerBank[BATTLE_BANKS_COUNT];
@@ -1631,13 +1631,13 @@ void BufferStringBattle(u16 stringID)
stringPtr = gText_AttackerUsedX;
break;
case STRINGID_BATTLEEND: // battle end
if (gBattleTextBuff1[0] & OUTCOME_LINK_BATTLE_RUN)
if (gBattleTextBuff1[0] & B_OUTCOME_LINK_BATTLE_RAN)
{
gBattleTextBuff1[0] &= ~(OUTCOME_LINK_BATTLE_RUN);
if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != BATTLE_DREW)
gBattleTextBuff1[0] ^= (BATTLE_LOST | BATTLE_WON);
gBattleTextBuff1[0] &= ~(B_OUTCOME_LINK_BATTLE_RAN);
if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW)
gBattleTextBuff1[0] ^= (B_OUTCOME_LOST | B_OUTCOME_WON);
if (gBattleTextBuff1[0] == BATTLE_LOST || gBattleTextBuff1[0] == BATTLE_DREW)
if (gBattleTextBuff1[0] == B_OUTCOME_LOST || gBattleTextBuff1[0] == B_OUTCOME_DREW)
stringPtr = gText_GotAwaySafely;
else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
stringPtr = gText_TwoWildFled;
@@ -1646,23 +1646,23 @@ void BufferStringBattle(u16 stringID)
}
else
{
if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != BATTLE_DREW)
gBattleTextBuff1[0] ^= (BATTLE_LOST | BATTLE_WON);
if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW)
gBattleTextBuff1[0] ^= (B_OUTCOME_LOST | B_OUTCOME_WON);
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
switch (gBattleTextBuff1[0])
{
case BATTLE_WON:
case B_OUTCOME_WON:
if (gBattleTypeFlags & BATTLE_TYPE_x800000)
stringPtr = gText_TwoInGameTrainersDefeated;
else
stringPtr = gText_TwoLinkTrainersDefeated;
break;
case BATTLE_LOST:
case B_OUTCOME_LOST:
stringPtr = gText_PlayerLostToTwo;
break;
case BATTLE_DREW:
case B_OUTCOME_DREW:
stringPtr = gText_PlayerBattledToDrawVsTwo;
break;
}
@@ -1671,13 +1671,13 @@ void BufferStringBattle(u16 stringID)
{
switch (gBattleTextBuff1[0])
{
case BATTLE_WON:
case B_OUTCOME_WON:
stringPtr = gText_PlayerDefeatedLinkTrainerTrainer1;
break;
case BATTLE_LOST:
case B_OUTCOME_LOST:
stringPtr = gText_PlayerLostAgainstTrainer1;
break;
case BATTLE_DREW:
case B_OUTCOME_DREW:
stringPtr = gText_PlayerBattledToDrawTrainer1;
break;
}
@@ -1686,13 +1686,13 @@ void BufferStringBattle(u16 stringID)
{
switch (gBattleTextBuff1[0])
{
case BATTLE_WON:
case B_OUTCOME_WON:
stringPtr = gText_PlayerDefeatedLinkTrainer;
break;
case BATTLE_LOST:
case B_OUTCOME_LOST:
stringPtr = gText_PlayerLostAgainstLinkTrainer;
break;
case BATTLE_DREW:
case B_OUTCOME_DREW:
stringPtr = gText_PlayerBattledToDrawLinkTrainer;
break;
}
@@ -1834,25 +1834,25 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
toCpy = gStringVar3;
break;
case B_TXT_PLAYER_MON1_NAME: // first player poke name
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(B_POSITION_PLAYER_LEFT)]],
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByPosition(B_POSITION_PLAYER_LEFT)]],
MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case B_TXT_OPPONENT_MON1_NAME: // first enemy poke name
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(B_POSITION_OPPONENT_LEFT)]],
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByPosition(B_POSITION_OPPONENT_LEFT)]],
MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case B_TXT_PLAYER_MON2_NAME: // second player poke name
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(B_POSITION_PLAYER_RIGHT)]],
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByPosition(B_POSITION_PLAYER_RIGHT)]],
MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case B_TXT_OPPONENT_MON2_NAME: // second enemy poke name
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(B_POSITION_OPPONENT_RIGHT)]],
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByPosition(B_POSITION_OPPONENT_RIGHT)]],
MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
@@ -1883,13 +1883,13 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
break;
case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only bank 0/1
HANDLE_NICKNAME_STRING_CASE(gBankAttacker,
gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker))])
gBattlePartyID[GetBankByPosition(GET_BANK_SIDE(gBankAttacker))])
break;
case B_TXT_ATK_PARTNER_NAME: // attacker partner name
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker)) + 2]], MON_DATA_NICKNAME, text);
GetMonData(&gPlayerParty[gBattlePartyID[GetBankByPosition(GET_BANK_SIDE(gBankAttacker)) + 2]], MON_DATA_NICKNAME, text);
else
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker)) + 2]], MON_DATA_NICKNAME, text);
GetMonData(&gEnemyParty[gBattlePartyID[GetBankByPosition(GET_BANK_SIDE(gBankAttacker)) + 2]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
@@ -1898,7 +1898,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[gBankAttacker])
break;
case B_TXT_DEF_NAME_WITH_PREFIX: // target name with prefix
HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlePartyID[gBankTarget])
HANDLE_NICKNAME_STRING_CASE(gBankDefender, gBattlePartyID[gBankDefender])
break;
case B_TXT_EFF_NAME_WITH_PREFIX: // effect bank name with prefix
HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlePartyID[gEffectBank])
@@ -1971,7 +1971,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
toCpy = gAbilityNames[gAbilitiesPerBank[gBankAttacker]];
break;
case B_TXT_DEF_ABILITY: // target ability
toCpy = gAbilityNames[gAbilitiesPerBank[gBankTarget]];
toCpy = gAbilityNames[gAbilitiesPerBank[gBankDefender]];
break;
case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability
toCpy = gAbilityNames[gAbilitiesPerBank[gBattleScripting.bank]];
@@ -2098,7 +2098,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
toCpy = gText_FoePkmnPrefix3;
break;
case B_TXT_DEF_PREFIX2:
if (GetBankSide(gBankTarget) == SIDE_PLAYER)
if (GetBankSide(gBankDefender) == SIDE_PLAYER)
toCpy = gText_AllyPkmnPrefix2;
else
toCpy = gText_FoePkmnPrefix3;
@@ -2110,7 +2110,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
toCpy = gText_FoePkmnPrefix2;
break;
case B_TXT_DEF_PREFIX1:
if (GetBankSide(gBankTarget) == SIDE_PLAYER)
if (GetBankSide(gBankDefender) == SIDE_PLAYER)
toCpy = gText_AllyPkmnPrefix;
else
toCpy = gText_FoePkmnPrefix2;
@@ -2122,7 +2122,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
toCpy = gText_FoePkmnPrefix4;
break;
case B_TXT_DEF_PREFIX3:
if (GetBankSide(gBankTarget) == SIDE_PLAYER)
if (GetBankSide(gBankDefender) == SIDE_PLAYER)
toCpy = gText_AllyPkmnPrefix3;
else
toCpy = gText_FoePkmnPrefix4;
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -990,14 +990,14 @@ static bool32 IsPlayerDefeated(u32 battleOutcome)
{
switch (battleOutcome)
{
case BATTLE_LOST:
case BATTLE_DREW:
case B_OUTCOME_LOST:
case B_OUTCOME_DREW:
return TRUE;
case BATTLE_WON:
case BATTLE_RAN:
case BATTLE_PLAYER_TELEPORTED:
case BATTLE_POKE_FLED:
case BATTLE_CAUGHT:
case B_OUTCOME_WON:
case B_OUTCOME_RAN:
case B_OUTCOME_PLAYER_TELEPORTED:
case B_OUTCOME_POKE_FLED:
case B_OUTCOME_CAUGHT_POKE:
return FALSE;
default:
return FALSE;
+189 -189
View File
File diff suppressed because it is too large Load Diff
+10 -10
View File
@@ -87,15 +87,15 @@ void AdjustFriendshipOnBattleFaint(u8 bank)
{
u8 opposingBank2;
opposingBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
opposingBank2 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
opposingBank = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
opposingBank2 = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
if (gBattleMons[opposingBank2].level > gBattleMons[opposingBank].level)
opposingBank = opposingBank2;
}
else
{
opposingBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
opposingBank = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
}
if (gBattleMons[opposingBank].level > gBattleMons[bank].level)
@@ -138,11 +138,11 @@ u32 sub_805725C(u8 bank)
switch (gBattleCommunication[MULTIUSE_STATE])
{
case 0:
if (gBattleMons[bank].status1 & STATUS_SLEEP)
if (gBattleMons[bank].status1 & STATUS1_SLEEP)
{
if (UproarWakeUpCheck(bank))
{
gBattleMons[bank].status1 &= ~(STATUS_SLEEP);
gBattleMons[bank].status1 &= ~(STATUS1_SLEEP);
gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE);
BattleScriptPushCursor();
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
@@ -158,12 +158,12 @@ u32 sub_805725C(u8 bank)
else
toSub = 1;
if ((gBattleMons[bank].status1 & STATUS_SLEEP) < toSub)
gBattleMons[bank].status1 &= ~(STATUS_SLEEP);
if ((gBattleMons[bank].status1 & STATUS1_SLEEP) < toSub)
gBattleMons[bank].status1 &= ~(STATUS1_SLEEP);
else
gBattleMons[bank].status1 -= toSub;
if (gBattleMons[bank].status1 & STATUS_SLEEP)
if (gBattleMons[bank].status1 & STATUS1_SLEEP)
{
gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep;
effect = 2;
@@ -181,7 +181,7 @@ u32 sub_805725C(u8 bank)
gBattleCommunication[MULTIUSE_STATE]++;
break;
case 1:
if (gBattleMons[bank].status1 & STATUS_FREEZE)
if (gBattleMons[bank].status1 & STATUS1_FREEZE)
{
if (Random() % 5 != 0)
{
@@ -189,7 +189,7 @@ u32 sub_805725C(u8 bank)
}
else
{
gBattleMons[bank].status1 &= ~(STATUS_FREEZE);
gBattleMons[bank].status1 &= ~(STATUS1_FREEZE);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+1 -1
View File
@@ -177,7 +177,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
damage = damage / damageHelper;
damage /= 50;
if ((attacker->status1 & STATUS_BURN) && attacker->ability != ABILITY_GUTS)
if ((attacker->status1 & STATUS1_BURN) && attacker->ability != ABILITY_GUTS)
damage /= 2;
if ((sideStatus & SIDE_STATUS_REFLECT) && gCritMultiplier == 1)
+1 -1
View File
@@ -42,7 +42,7 @@ static bool32 sub_80F958C(void)
static void sub_80F95C0(u8 partyIdx)
{
struct Pokemon *pokemon = gPlayerParty + partyIdx;
unsigned int status = STATUS_NONE;
unsigned int status = STATUS1_NONE;
AdjustFriendship(pokemon, 0x07);
SetMonData(pokemon, MON_DATA_STATUS, &status);
GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1);
+12 -12
View File
@@ -17,7 +17,7 @@
extern bool8 gDoingBattleAnim;
extern u8 gActiveBank;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u16 gBattlePartyID[];
extern u8 gBankSpriteIds[];
extern u8 gHealthBoxesIds[];
@@ -378,7 +378,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
switch (throwCaseId)
{
case POKEBALL_PLAYER_SENDOUT:
gBankTarget = bank;
gBankDefender = bank;
gSprites[ballSpriteId].pos1.x = 24;
gSprites[ballSpriteId].pos1.y = 68;
gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1;
@@ -386,17 +386,17 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
case POKEBALL_OPPONENT_SENDOUT:
gSprites[ballSpriteId].pos1.x = GetBankCoord(bank, BANK_X_POS);
gSprites[ballSpriteId].pos1.y = GetBankCoord(bank, BANK_Y_POS) + 24;
gBankTarget = bank;
gBankDefender = bank;
gSprites[ballSpriteId].data[0] = 0;
gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut;
break;
default:
gBankTarget = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
gBankDefender = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
notSendOut = TRUE;
break;
}
gSprites[ballSpriteId].sBank = gBankTarget;
gSprites[ballSpriteId].sBank = gBankDefender;
if (!notSendOut)
{
DestroyTask(taskId);
@@ -405,12 +405,12 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
// this will perform an unused ball throw animation
gSprites[ballSpriteId].data[0] = 0x22;
gSprites[ballSpriteId].data[2] = GetBankCoord(gBankTarget, BANK_X_POS);
gSprites[ballSpriteId].data[4] = GetBankCoord(gBankTarget, BANK_Y_POS) - 16;
gSprites[ballSpriteId].data[2] = GetBankCoord(gBankDefender, BANK_X_POS);
gSprites[ballSpriteId].data[4] = GetBankCoord(gBankDefender, BANK_Y_POS) - 16;
gSprites[ballSpriteId].data[5] = -40;
sub_80A68D4(&gSprites[ballSpriteId]);
gSprites[ballSpriteId].oam.affineParam = taskId;
gTasks[taskId].tOpponentBank = gBankTarget;
gTasks[taskId].tOpponentBank = gBankDefender;
gTasks[taskId].func = TaskDummy;
PlaySE(SE_NAGERU);
}
@@ -767,7 +767,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
}
species = GetMonData(mon, MON_DATA_SPECIES);
if ((bank == GetBankByIdentity(B_POSITION_PLAYER_LEFT) || bank == GetBankByIdentity(B_POSITION_OPPONENT_LEFT))
if ((bank == GetBankByPosition(B_POSITION_PLAYER_LEFT) || bank == GetBankByPosition(B_POSITION_OPPONENT_LEFT))
&& IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK)
@@ -783,7 +783,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
if (!IsDoubleBattle() || !gBattleSpritesDataPtr->animationData->field_9_x1)
wantedCryCase = 0;
else if (bank == GetBankByIdentity(B_POSITION_PLAYER_LEFT) || bank == GetBankByIdentity(B_POSITION_OPPONENT_LEFT))
else if (bank == GetBankByPosition(B_POSITION_PLAYER_LEFT) || bank == GetBankByPosition(B_POSITION_OPPONENT_LEFT))
wantedCryCase = 1;
else
wantedCryCase = 2;
@@ -956,7 +956,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
sprite->data[0] = 0;
if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1
&& sprite->sBank == GetBankByIdentity(B_POSITION_PLAYER_RIGHT))
&& sprite->sBank == GetBankByPosition(B_POSITION_PLAYER_RIGHT))
sprite->callback = SpriteCB_ReleaseMon2FromBall;
else
sprite->callback = SpriteCB_ReleaseMonFromBall;
@@ -982,7 +982,7 @@ static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite)
{
sprite->data[0] = 0;
if (IsDoubleBattle() && gBattleSpritesDataPtr->animationData->field_9_x1
&& sprite->sBank == GetBankByIdentity(B_POSITION_OPPONENT_RIGHT))
&& sprite->sBank == GetBankByPosition(B_POSITION_OPPONENT_RIGHT))
sprite->callback = SpriteCB_ReleaseMon2FromBall;
else
sprite->callback = SpriteCB_ReleaseMonFromBall;
+7 -7
View File
@@ -17,7 +17,7 @@ struct Unknown_020249B4
extern u8 gAbsentBankFlags;
extern u8 gActiveBank;
extern u8 gBankAttacker;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gLastUsedAbility;
extern u16 gTrainerBattleOpponent_A;
extern u32 gBattleTypeFlags;
@@ -35,7 +35,7 @@ extern const u8 gText_BadEgg[];
extern const u8 gText_EggNickname[];
extern u8 GetBankSide(u8 bank);
extern u8 GetBankByIdentity(u8 bank);
extern u8 GetBankByPosition(u8 bank);
extern u8 GetBankPosition(u8 bank);
u8 CountAliveMonsInBattle(u8 caseId)
@@ -62,7 +62,7 @@ u8 CountAliveMonsInBattle(u8 caseId)
case BATTLE_ALIVE_DEF_SIDE:
for (i = 0; i < 4; i++)
{
if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBankFlags & gBitTable[i]))
if (GetBankSide(i) == GetBankSide(gBankDefender) && !(gAbsentBankFlags & gBitTable[i]))
retVal++;
}
break;
@@ -90,7 +90,7 @@ u8 GetDefaultMoveTarget(u8 bank)
status ^= 1;
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
return GetBankByIdentity(status);
return GetBankByPosition(status);
if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ACTIVE) > 1)
{
u8 val;
@@ -99,14 +99,14 @@ u8 GetDefaultMoveTarget(u8 bank)
val = status ^ 2;
else
val = status;
return GetBankByIdentity(val);
return GetBankByPosition(val);
}
else
{
if ((gAbsentBankFlags & gBitTable[status]))
return GetBankByIdentity(status ^ 2);
return GetBankByPosition(status ^ 2);
else
return GetBankByIdentity(status);
return GetBankByPosition(status);
}
}
+2 -2
View File
@@ -27,7 +27,7 @@ extern struct BattlePokemon gBattleMons[4];
extern struct BattleEnigmaBerry gEnigmaBerries[4];
extern u8 gActiveBank;
extern u8 gBankInMenu;
extern u8 gBankTarget;
extern u8 gBankDefender;
extern u8 gBankAttacker;
extern u8 gStringBank;
extern u16 gTrainerBattleOpponent_A;
@@ -212,7 +212,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit)
void sub_806CF24(s32 stat)
{
gBankTarget = gBankInMenu;
gBankDefender = gBankInMenu;
StringCopy(gBattleTextBuff1, gStatNamesTable[gUnknown_08329EC8[stat]]);
StringCopy(gBattleTextBuff2, gText_StatRose);
BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnsStatChanged2);
+3 -3
View File
@@ -26,7 +26,7 @@ extern u16 gTrainerBattleOpponent_A;
extern u16 gTrainerBattleOpponent_B;
extern u16 gPartnerTrainerId;
extern u8 gActiveBank;
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT];
@@ -226,7 +226,7 @@ u8 RecordedBattle_ReadBankAction(u8 bank)
// trying to read past array or invalid action byte, battle is over
if (sRecordedBytesNo[bank] >= BANK_RECORD_SIZE || sBattleRecords[bank][sRecordedBytesNo[bank]] == 0xFF)
{
gSpecialVar_Result = gBattleOutcome = BATTLE_PLAYER_TELEPORTED; // hah
gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah
ResetPaletteFadeControl();
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
SetMainCallback2(CB2_QuitRecordedBattle);
@@ -1523,7 +1523,7 @@ void sub_818603C(u8 arg0)
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
return;
for (bank = 0; bank < gNoOfAllBanks; bank++)
for (bank = 0; bank < gBattleBanksCount; bank++)
{
if (GetBankSide(bank) != SIDE_OPPONENT) // player's side only
{
+6 -6
View File
@@ -25,7 +25,7 @@ extern u8 gReservedSpritePaletteCount;
extern u8 gActionSelectionCursor[BATTLE_BANKS_COUNT];
extern u8 gBankInMenu;
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern u8 gNoOfAllBanks;
extern u8 gBattleBanksCount;
extern u32 gBattleTypeFlags;
extern u8 gBankSpriteIds[BATTLE_BANKS_COUNT];
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
@@ -164,13 +164,13 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
LoadAndCreateEnemyShadowSprites();
opponentBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT);
opponentBank = GetBankByPosition(B_POSITION_OPPONENT_LEFT);
species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES);
SetBankEnemyShadowSpriteCallback(opponentBank, species);
if (IsDoubleBattle())
{
opponentBank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT);
opponentBank = GetBankByPosition(B_POSITION_OPPONENT_RIGHT);
species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES);
SetBankEnemyShadowSpriteCallback(opponentBank, species);
}
@@ -210,7 +210,7 @@ static void sub_80A95F4(void)
static bool8 LoadBankSpriteGfx(u8 bank)
{
if (bank < gNoOfAllBanks)
if (bank < gBattleBanksCount)
{
if (GetBankSide(bank) != SIDE_PLAYER)
{
@@ -245,7 +245,7 @@ extern const struct MonCoords gTrainerBackPicCoords[];
static void CreateBankSprite(u8 bank)
{
if (bank < gNoOfAllBanks)
if (bank < gBattleBanksCount)
{
u8 posY;
@@ -313,7 +313,7 @@ static void CreateBankSprite(u8 bank)
static void CreateHealthboxSprite(u8 bank)
{
if (bank < gNoOfAllBanks)
if (bank < gBattleBanksCount)
{
u8 healthboxSpriteId;
+3 -3
View File
@@ -108,20 +108,20 @@ void SafariZoneRetirePrompt(void)
void CB2_EndSafariBattle(void)
{
sSafariZoneFleedMons += gBattleResults.field_1F;
if (gBattleOutcome == BATTLE_CAUGHT)
if (gBattleOutcome == B_OUTCOME_CAUGHT_POKE)
sSafariZoneCaughtMons++;
if (gNumSafariBalls != 0)
{
SetMainCallback2(c2_exit_to_overworld_2_switch);
}
else if (gBattleOutcome == BATTLE_SAFARI_OUT_OF_BALLS)
else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS)
{
ScriptContext2_RunNewScript(EventScript_2A4B4C);
warp_in();
gFieldCallback = sub_80AF6F0;
SetMainCallback2(c2_load_new_map);
}
else if (gBattleOutcome == BATTLE_CAUGHT)
else if (gBattleOutcome == B_OUTCOME_CAUGHT_POKE)
{
ScriptContext1_SetupScript(EventScript_2A4B9B);
ScriptContext1_Stop();
+10 -10
View File
@@ -1208,7 +1208,7 @@ void PutPokemonTodayFailedOnTheAir(void)
{
ct = 0xFF;
}
if (ct > 2 && (gBattleOutcome == BATTLE_POKE_FLED || gBattleOutcome == BATTLE_WON))
if (ct > 2 && (gBattleOutcome == B_OUTCOME_POKE_FLED || gBattleOutcome == B_OUTCOME_WON))
{
sCurTVShowSlot = FindEmptyTVSlotBeyondFirstFiveShowsOfArray(gSaveBlock1Ptr->tvShows);
if (sCurTVShowSlot != -1 && HasMixableShowAlreadyBeenSpawnedWithPlayerID(TVSHOW_POKEMON_TODAY_FAILED, FALSE) != TRUE)
@@ -2402,23 +2402,23 @@ void sub_80EE184(void)
show->breakingNews.poke1Species = gBattleResults.playerMon1Species;
switch (gBattleOutcome)
{
case BATTLE_LOST:
case BATTLE_DREW:
case B_OUTCOME_LOST:
case B_OUTCOME_DREW:
show->breakingNews.kind = TVSHOW_OFF_AIR;
return;
case BATTLE_CAUGHT:
case B_OUTCOME_CAUGHT_POKE:
show->breakingNews.outcome = 0;
break;
case BATTLE_WON:
case B_OUTCOME_WON:
show->breakingNews.outcome = 1;
break;
case BATTLE_RAN:
case BATTLE_PLAYER_TELEPORTED:
case BATTLE_SAFARI_OUT_OF_BALLS:
case B_OUTCOME_RAN:
case B_OUTCOME_PLAYER_TELEPORTED:
case B_OUTCOME_NO_SAFARI_BALLS:
show->breakingNews.outcome = 2;
break;
case BATTLE_POKE_FLED:
case BATTLE_OPPONENT_TELEPORTED:
case B_OUTCOME_POKE_FLED:
case B_OUTCOME_POKE_TELEPORTED:
show->breakingNews.outcome = 3;
break;
}