diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_2.c | 156 | ||||
-rw-r--r-- | src/battle_ai_script_commands.c | 12 | ||||
-rw-r--r-- | src/battle_ai_switch_items.c | 32 | ||||
-rw-r--r-- | src/battle_controller_link_opponent.c | 12 | ||||
-rw-r--r-- | src/battle_controller_link_partner.c | 12 | ||||
-rw-r--r-- | src/battle_controller_opponent.c | 12 | ||||
-rw-r--r-- | src/battle_controller_player.c | 12 | ||||
-rw-r--r-- | src/battle_controller_player_partner.c | 12 | ||||
-rw-r--r-- | src/battle_controller_recorded_opponent.c | 12 | ||||
-rw-r--r-- | src/battle_controller_recorded_player.c | 12 | ||||
-rw-r--r-- | src/battle_controller_safari.c | 12 | ||||
-rw-r--r-- | src/battle_controller_wally.c | 12 | ||||
-rw-r--r-- | src/battle_controllers.c | 12 | ||||
-rw-r--r-- | src/battle_message.c | 286 | ||||
-rw-r--r-- | src/battle_script_commands.c | 953 | ||||
-rw-r--r-- | src/battle_util.c | 592 |
16 files changed, 1032 insertions, 1119 deletions
diff --git a/src/battle_2.c b/src/battle_2.c index 2be6f9d77..eead4d7a9 100644 --- a/src/battle_2.c +++ b/src/battle_2.c @@ -6,6 +6,7 @@ #include "gpu_regs.h" #include "unknown_task.h" #include "battle_setup.h" +#include "battle_scripts.h" #include "pokemon.h" #include "palette.h" #include "task.h" @@ -119,14 +120,14 @@ extern u32 gBattleExecBuffer; extern u8 gMultiHitCounter; extern u8 gBattleMoveFlags; extern s32 gBattleMoveDamage; -extern const u8* gUnknown_02024230[BATTLE_BANKS_COUNT]; -extern u16 gUnknownMovesUsedByBanks[BATTLE_BANKS_COUNT]; -extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT]; -extern u16 gUnknown_02024250[BATTLE_BANKS_COUNT]; -extern u16 gUnknown_02024258[BATTLE_BANKS_COUNT]; -extern u16 gUnknown_02024260[BATTLE_BANKS_COUNT]; +extern const u8* gPalaceSelectionBattleScripts[BATTLE_BANKS_COUNT]; +extern u16 gLastPrintedMoves[BATTLE_BANKS_COUNT]; +extern u16 gLastMoves[BATTLE_BANKS_COUNT]; +extern u16 gLastLandedMoves[BATTLE_BANKS_COUNT]; +extern u16 gLastHitByType[BATTLE_BANKS_COUNT]; +extern u16 gLastResultingMoves[BATTLE_BANKS_COUNT]; extern u16 gLockedMoves[BATTLE_BANKS_COUNT]; -extern u8 gUnknown_02024270[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]; @@ -140,7 +141,7 @@ extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT]; extern u8 gCurrentActionFuncId; extern u8 gLastUsedAbility; extern u8 gUnknown_0203CF00[]; -extern const u8* gBattlescriptPtrsForSelection[BATTLE_BANKS_COUNT]; +extern const u8* gSelectionBattleScripts[BATTLE_BANKS_COUNT]; extern const u8* gBattlescriptCurrInstr; extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT]; extern u8 gCurrentTurnActionNumber; @@ -148,7 +149,7 @@ extern u16 gDynamicBasePower; extern u8 gCritMultiplier; extern u8 gCurrMovePos; extern u8 gUnknown_020241E9; -extern u16 gLastUsedMove; +extern u16 gChosenMove; extern const struct BattleMove gBattleMoves[]; extern const u16 gUnknown_08C004E0[]; // battle textbox palette @@ -178,31 +179,6 @@ extern const u8 gText_Ice[]; extern const u8 gText_Confusion[]; extern const u8 gText_Love[]; -// battlescripts -extern const u8 gUnknown_082DB8BE[]; -extern const u8 gUnknown_082DB881[]; -extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; -extern const u8 gUnknown_082DAB11[]; -extern const u8 gUnknown_082DB9BA[]; -extern const u8 gUnknown_082DAAFE[]; -extern const u8 gUnknown_082DAB0B[]; -extern const u8 BattleScript_FocusPunchSetUp[]; -extern const u8 BattleScript_LinkBattleWonOrLost[]; -extern const u8 BattleScript_FrontierTrainerBattleWon[]; -extern const u8 BattleScript_LocalTrainerBattleWon[]; -extern const u8 BattleScript_PayDayMoneyAndPickUpItems[]; -extern const u8 BattleScript_LocalBattleLost[]; -extern const u8 gUnknown_082DB9C8[]; -extern const u8 gUnknown_082DAA0B[]; -extern const u8 gUnknown_082DB9C1[]; -extern const u8 BattleScript_RanAwayUsingMonAbility[]; -extern const u8 BattleScript_SmokeBallEscape[]; -extern const u8 BattleScript_GotAwaySafely[]; -extern const u8 BattleScript_WildMonFled[]; -extern const u8 BattleScript_MoveUsedLoafingAround[]; -extern const u8 BattleScript_ActionSwitch[]; -extern const u8 BattleScript_PrintFailedToRunString[]; - // functions extern void dp12_8087EA4(void); extern void sub_80356D0(void); @@ -485,7 +461,7 @@ static void sub_8036A5C(void) u32 status = 0; s32 i; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); @@ -1902,7 +1878,7 @@ static void sub_8038B94(u8 taskId) } r7 = 0; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { u16 species = GetMonData(&sp4[i], MON_DATA_SPECIES2); u16 hp = GetMonData(&sp4[i], MON_DATA_HP); @@ -1926,7 +1902,7 @@ static void sub_8038B94(u8 taskId) gTasks[taskId].data[3] = r7; r7 = 0; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { u16 species = GetMonData(&sp8[i], MON_DATA_SPECIES2); u16 hp = GetMonData(&sp8[i], MON_DATA_HP); @@ -2765,17 +2741,17 @@ static void BattleStartClearSetData(void) for (j = 0; j < sizeof(struct DisableStruct); j++) dataPtr[j] = 0; - gDisableStructs[i].isFirstTurn= 2; + gDisableStructs[i].isFirstTurn = 2; gUnknown_02024284[i] = 0; - gLastUsedMovesByBanks[i] = 0; - gUnknown_02024250[i] = 0; - gUnknown_02024258[i] = 0; - gUnknown_02024260[i] = 0; - gUnknown_02024270[i] = 0xFF; + gLastMoves[i] = 0; + gLastLandedMoves[i] = 0; + gLastHitByType[i] = 0; + gLastResultingMoves[i] = 0; + gLastHitBy[i] = 0xFF; gLockedMoves[i] = 0; - gUnknownMovesUsedByBanks[i] = 0; + gLastPrintedMoves[i] = 0; gBattleResources->flags->flags[i] = 0; - gUnknown_02024230[i] = 0; + gPalaceSelectionBattleScripts[i] = 0; } for (i = 0; i < 2; i++) @@ -2932,14 +2908,14 @@ void SwitchInClearSetData(void) } gBattleMoveFlags = 0; - gDisableStructs[gActiveBank].isFirstTurn= 2; + gDisableStructs[gActiveBank].isFirstTurn = 2; gDisableStructs[gActiveBank].truantUnknownBit = disableStructCopy.truantUnknownBit; - gLastUsedMovesByBanks[gActiveBank] = 0; - gUnknown_02024250[gActiveBank] = 0; - gUnknown_02024258[gActiveBank] = 0; - gUnknown_02024260[gActiveBank] = 0; - gUnknownMovesUsedByBanks[gActiveBank] = 0; - gUnknown_02024270[gActiveBank] = 0xFF; + gLastMoves[gActiveBank] = 0; + gLastLandedMoves[gActiveBank] = 0; + gLastHitByType[gActiveBank] = 0; + gLastResultingMoves[gActiveBank] = 0; + gLastPrintedMoves[gActiveBank] = 0; + gLastHitBy[gActiveBank] = 0xFF; *(gBattleStruct->mirrorMoves + gActiveBank * 2 + 0) = 0; *(gBattleStruct->mirrorMoves + gActiveBank * 2 + 1) = 0; @@ -3026,12 +3002,12 @@ void FaintClearSetData(void) gDisableStructs[gActiveBank].isFirstTurn = 2; - gLastUsedMovesByBanks[gActiveBank] = 0; - gUnknown_02024250[gActiveBank] = 0; - gUnknown_02024258[gActiveBank] = 0; - gUnknown_02024260[gActiveBank] = 0; - gUnknownMovesUsedByBanks[gActiveBank] = 0; - gUnknown_02024270[gActiveBank] = 0xFF; + gLastMoves[gActiveBank] = 0; + gLastLandedMoves[gActiveBank] = 0; + gLastHitByType[gActiveBank] = 0; + gLastResultingMoves[gActiveBank] = 0; + gLastPrintedMoves[gActiveBank] = 0; + gLastHitBy[gActiveBank] = 0xFF; *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBank]) + 0) = 0; *(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBank]) + 1) = 0; @@ -3213,7 +3189,7 @@ static void BattleIntroDrawPartySummaryScreens(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) @@ -3231,7 +3207,7 @@ static void BattleIntroDrawPartySummaryScreens(void) EmitDrawPartyStatusSummary(0, hpStatus, 0x80); MarkBufferBankForExecution(gActiveBank); - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) @@ -3704,7 +3680,7 @@ static void TryDoEventsBeforeFirstTurn(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { StopCryAndClearCrySongs(); - BattleScriptExecute(gUnknown_082DB8BE); + BattleScriptExecute(BattleScript_82DB8BE); } } @@ -3792,9 +3768,9 @@ void BattleTurnPassed(void) gRandomTurnNumber = Random(); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) - BattleScriptExecute(gUnknown_082DB881); + BattleScriptExecute(BattleScript_82DB881); else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0) - BattleScriptExecute(gUnknown_082DB8BE); + BattleScriptExecute(BattleScript_82DB8BE); } u8 IsRunningFromBattleImpossible(void) @@ -4007,7 +3983,7 @@ static void HandleTurnActionSelectionState(void) | BATTLE_TYPE_x2000000)) { RecordedBattle_ClearBankAction(gActiveBank, 1); - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_ActionSelectionItemsCantBeUsed; + gSelectionBattleScripts[gActiveBank] = BattleScript_ActionSelectionItemsCantBeUsed; gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT; *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN; @@ -4052,7 +4028,7 @@ static void HandleTurnActionSelectionState(void) case ACTION_SAFARI_ZONE_BALL: if (IsPlayerPartyAndPokemonStorageFull()) { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAB11; + gSelectionBattleScripts[gActiveBank] = BattleScript_PrintFullBox; gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT; *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN; @@ -4107,7 +4083,7 @@ static void HandleTurnActionSelectionState(void) && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000) && gBattleBufferB[gActiveBank][1] == ACTION_RUN) { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB9BA; + gSelectionBattleScripts[gActiveBank] = BattleScript_AskIfWantsToForfeitMatch; gBattleCommunication[gActiveBank] = 8; *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN; @@ -4117,13 +4093,13 @@ static void HandleTurnActionSelectionState(void) && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && gBattleBufferB[gActiveBank][1] == ACTION_RUN) { - BattleScriptExecute(gUnknown_082DAAFE); + BattleScriptExecute(BattleScript_PrintCantRunFromTrainer); gBattleCommunication[gActiveBank] = 1; } - else if (IsRunningFromBattleImpossible() != 0 + else if (IsRunningFromBattleImpossible() && gBattleBufferB[gActiveBank][1] == ACTION_RUN) { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAB0B; + gSelectionBattleScripts[gActiveBank] = BattleScript_PrintCantEscapeFromBattle; gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT; *(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE; *(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN; @@ -4276,12 +4252,12 @@ static void HandleTurnActionSelectionState(void) else { gBankAttacker = gActiveBank; - gBattlescriptCurrInstr = gBattlescriptPtrsForSelection[gActiveBank]; + gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBank]; if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } - gBattlescriptPtrsForSelection[gActiveBank] = gBattlescriptCurrInstr; + gSelectionBattleScripts[gActiveBank] = gBattlescriptCurrInstr; } break; case STATE_WAIT_SET_BEFORE_ACTION: @@ -4308,12 +4284,12 @@ static void HandleTurnActionSelectionState(void) else { gBankAttacker = gActiveBank; - gBattlescriptCurrInstr = gBattlescriptPtrsForSelection[gActiveBank]; + gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBank]; if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC)))) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } - gBattlescriptPtrsForSelection[gActiveBank] = gBattlescriptCurrInstr; + gSelectionBattleScripts[gActiveBank] = gBattlescriptCurrInstr; } break; } @@ -4811,13 +4787,13 @@ static void HandleEndTurn_BattleLost(void) { if (gBattleOutcome & BATTLE_OUTCOME_BIT_x80) { - gBattlescriptCurrInstr = gUnknown_082DB9C8; + gBattlescriptCurrInstr = BattleScript_82DB9C8; gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80); gSaveBlock2Ptr->field_CA9_b = 1; } else { - gBattlescriptCurrInstr = gUnknown_082DAA0B; + gBattlescriptCurrInstr = BattleScript_82DAA0B; gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80); } } @@ -4843,13 +4819,13 @@ static void HandleEndTurn_RanFromBattle(void) if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER && gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - gBattlescriptCurrInstr = gUnknown_082DB9C1; + gBattlescriptCurrInstr = BattleScript_82DB9C1; gBattleOutcome = BATTLE_FORFEITED; gSaveBlock2Ptr->field_CA9_b = 1; } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) { - gBattlescriptCurrInstr = gUnknown_082DB9C1; + gBattlescriptCurrInstr = BattleScript_82DB9C1; gBattleOutcome = BATTLE_FORFEITED; } else @@ -5072,19 +5048,19 @@ static void HandleAction_UseMove(void) if (gProtectStructs[gBankAttacker].onlyStruggle) { gProtectStructs[gBankAttacker].onlyStruggle = 0; - gCurrentMove = gLastUsedMove = MOVE_STRUGGLE; + gCurrentMove = gChosenMove = MOVE_STRUGGLE; gHitMarker |= HITMARKER_NO_PPDEDUCT; *(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(MOVE_STRUGGLE, 0); } else if (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS || gBattleMons[gBankAttacker].status2 & STATUS2_RECHARGE) { - gCurrentMove = gLastUsedMove = gLockedMoves[gBankAttacker]; + gCurrentMove = gChosenMove = gLockedMoves[gBankAttacker]; } // encore forces you to use the same move else if (gDisableStructs[gBankAttacker].encoredMove != MOVE_NONE && gDisableStructs[gBankAttacker].encoredMove == gBattleMons[gBankAttacker].moves[gDisableStructs[gBankAttacker].encoredMovePos]) { - gCurrentMove = gLastUsedMove = gDisableStructs[gBankAttacker].encoredMove; + gCurrentMove = gChosenMove = gDisableStructs[gBankAttacker].encoredMove; gCurrMovePos = gUnknown_020241E9 = gDisableStructs[gBankAttacker].encoredMovePos; *(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(gCurrentMove, 0); } @@ -5093,7 +5069,7 @@ static void HandleAction_UseMove(void) && gDisableStructs[gBankAttacker].encoredMove != gBattleMons[gBankAttacker].moves[gDisableStructs[gBankAttacker].encoredMovePos]) { gCurrMovePos = gUnknown_020241E9 = gDisableStructs[gBankAttacker].encoredMovePos; - gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; + gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; gDisableStructs[gBankAttacker].encoredMove = MOVE_NONE; gDisableStructs[gBankAttacker].encoredMovePos = 0; gDisableStructs[gBankAttacker].encoreTimer1 = 0; @@ -5101,12 +5077,12 @@ static void HandleAction_UseMove(void) } else if (gBattleMons[gBankAttacker].moves[gCurrMovePos] != gChosenMovesByBanks[gBankAttacker]) { - gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; + gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; *(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(gCurrentMove, 0); } else { - gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; + gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; } if (gBattleMons[gBankAttacker].hp != 0) @@ -5146,7 +5122,7 @@ static void HandleAction_UseMove(void) } if (var == 4) { - if (gBattleMoves[gLastUsedMove].target & MOVE_TARGET_RANDOM) + if (gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { if (GetBankSide(gBankAttacker) == SIDE_PLAYER) { @@ -5191,7 +5167,7 @@ static void HandleAction_UseMove(void) } } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && gBattleMoves[gLastUsedMove].target & MOVE_TARGET_RANDOM) + && gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { if (GetBankSide(gBankAttacker) == SIDE_PLAYER) { @@ -5241,11 +5217,11 @@ static void HandleAction_UseMove(void) gCurrentActionFuncId = 12; return; } - else if (gUnknown_02024230[gBankAttacker] != NULL) + else if (gPalaceSelectionBattleScripts[gBankAttacker] != NULL) { gBattleCommunication[MULTISTRING_CHOOSER] = 4; - gBattlescriptCurrInstr = gUnknown_02024230[gBankAttacker]; - gUnknown_02024230[gBankAttacker] = NULL; + gBattlescriptCurrInstr = gPalaceSelectionBattleScripts[gBankAttacker]; + gPalaceSelectionBattleScripts[gBankAttacker] = NULL; } else { @@ -5624,8 +5600,8 @@ static void HandleAction_ActionFinished(void) gBattleMoveFlags = 0; gBattleScripting.animTurn = 0; gBattleScripting.animTargetsHit = 0; - gUnknown_02024250[gBankAttacker] = 0; - gUnknown_02024258[gBankAttacker] = 0; + gLastLandedMoves[gBankAttacker] = 0; + gLastHitByType[gBankAttacker] = 0; gBattleStruct->dynamicMoveType = 0; gDynamicBasePower = 0; gBattleScripting.atk49_state = 0; diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 24377eacc..97226f5c9 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -58,7 +58,7 @@ extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern u16 gCurrentMove; extern u8 gBankTarget; extern u8 gAbsentBankFlags; -extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT]; +extern u16 gLastMoves[BATTLE_BANKS_COUNT]; extern u16 gTrainerBattleOpponent_A; extern u16 gTrainerBattleOpponent_B; extern u32 gStatuses3[BATTLE_BANKS_COUNT]; @@ -633,12 +633,12 @@ static void RecordLastUsedMoveByTarget(void) for (i = 0; i < 4; i++) { - if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget]) + if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gLastMoves[gBankTarget]) break; - if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gLastUsedMovesByBanks[gBankTarget] // HACK: This redundant condition is a hack to make the asm match. + 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) { - gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gLastUsedMovesByBanks[gBankTarget]; + gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gLastMoves[gBankTarget]; break; } } @@ -1252,9 +1252,9 @@ static void BattleAICmd_is_most_powerful_move(void) static void BattleAICmd_get_last_used_bank_move(void) { if (gAIScriptPtr[1] == AI_USER) - AI_THINKING_STRUCT->funcResult = gLastUsedMovesByBanks[sBank_AI]; + AI_THINKING_STRUCT->funcResult = gLastMoves[sBank_AI]; else - AI_THINKING_STRUCT->funcResult = gLastUsedMovesByBanks[gBankTarget]; + AI_THINKING_STRUCT->funcResult = gLastMoves[gBankTarget]; gAIScriptPtr += 2; } diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 75d144c3d..f5b6c7fe4 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -16,8 +16,8 @@ extern u32 gBattleTypeFlags; extern u32 gStatuses3[BATTLE_BANKS_COUNT]; extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; -extern u16 gUnknown_02024250[BATTLE_BANKS_COUNT]; -extern u8 gUnknown_02024270[BATTLE_BANKS_COUNT]; +extern u16 gLastLandedMoves[BATTLE_BANKS_COUNT]; +extern u8 gLastHitBy[BATTLE_BANKS_COUNT]; extern u16 gDynamicBasePower; extern u8 gBattleMoveFlags; extern u8 gCritMultiplier; @@ -141,11 +141,11 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) return FALSE; - if (gUnknown_02024250[gActiveBank] == 0) + if (gLastLandedMoves[gActiveBank] == 0) return FALSE; - if (gUnknown_02024250[gActiveBank] == 0xFFFF) + if (gLastLandedMoves[gActiveBank] == 0xFFFF) return FALSE; - if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0) + if (gBattleMoves[gLastLandedMoves[gActiveBank]].power == 0) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -162,11 +162,11 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) bankIn2 = gActiveBank; } - if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_FIRE) + if (gBattleMoves[gLastLandedMoves[gActiveBank]].type == TYPE_FIRE) absorbingTypeAbility = ABILITY_FLASH_FIRE; - else if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_WATER) + else if (gBattleMoves[gLastLandedMoves[gActiveBank]].type == TYPE_WATER) absorbingTypeAbility = ABILITY_WATER_ABSORB; - else if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_ELECTRIC) + else if (gBattleMoves[gLastLandedMoves[gActiveBank]].type == TYPE_ELECTRIC) absorbingTypeAbility = ABILITY_VOLT_ABSORB; else return FALSE; @@ -238,13 +238,13 @@ static bool8 ShouldSwitchIfNaturalCure(void) if (gBattleMons[gActiveBank].hp < gBattleMons[gActiveBank].maxHP / 2) return FALSE; - if ((gUnknown_02024250[gActiveBank] == 0 || gUnknown_02024250[gActiveBank] == 0xFFFF) && Random() & 1) + if ((gLastLandedMoves[gActiveBank] == 0 || gLastLandedMoves[gActiveBank] == 0xFFFF) && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6; EmitTwoReturnValues(1, ACTION_SWITCH, 0); return TRUE; } - else if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0 && Random() & 1) + else if (gBattleMoves[gLastLandedMoves[gActiveBank]].power == 0 && Random() & 1) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6; EmitTwoReturnValues(1, ACTION_SWITCH, 0); @@ -345,13 +345,13 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) u16 move; u8 moveFlags; - if (gUnknown_02024250[gActiveBank] == 0) + if (gLastLandedMoves[gActiveBank] == 0) return FALSE; - if (gUnknown_02024250[gActiveBank] == 0xFFFF) + if (gLastLandedMoves[gActiveBank] == 0xFFFF) return FALSE; - if (gUnknown_02024270[gActiveBank] == 0xFF) + if (gLastHitBy[gActiveBank] == 0xFF) return FALSE; - if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0) + if (gBattleMoves[gLastLandedMoves[gActiveBank]].power == 0) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -411,10 +411,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) else monAbility = gBaseStats[species].ability1; - moveFlags = AI_TypeCalc(gUnknown_02024250[gActiveBank], species, monAbility); + moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBank], species, monAbility); if (moveFlags & flags) { - bankIn1 = gUnknown_02024270[gActiveBank]; + bankIn1 = gLastHitBy[gActiveBank]; for (j = 0; j < 4; j++) { diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 423d34d45..5758aba87 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -82,7 +82,7 @@ static void LinkOpponentHandleBallThrowAnim(void); static void LinkOpponentHandlePause(void); static void LinkOpponentHandleMoveAnimation(void); static void LinkOpponentHandlePrintString(void); -static void LinkOpponentHandlePrintStringPlayerOnly(void); +static void LinkOpponentHandlePrintSelectionString(void); static void LinkOpponentHandleChooseAction(void); static void LinkOpponentHandleUnknownYesNoBox(void); static void LinkOpponentHandleChooseMove(void); @@ -108,7 +108,7 @@ static void LinkOpponentHandleCmd39(void); static void LinkOpponentHandleCmd40(void); static void LinkOpponentHandleHitAnimation(void); static void LinkOpponentHandleCmd42(void); -static void LinkOpponentHandleEffectivenessSound(void); +static void LinkOpponentHandlePlaySE(void); static void LinkOpponentHandlePlayFanfareOrBGM(void); static void LinkOpponentHandleFaintingCry(void); static void LinkOpponentHandleIntroSlide(void); @@ -154,7 +154,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkOpponentHandlePause, LinkOpponentHandleMoveAnimation, LinkOpponentHandlePrintString, - LinkOpponentHandlePrintStringPlayerOnly, + LinkOpponentHandlePrintSelectionString, LinkOpponentHandleChooseAction, LinkOpponentHandleUnknownYesNoBox, LinkOpponentHandleChooseMove, @@ -180,7 +180,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkOpponentHandleCmd40, LinkOpponentHandleHitAnimation, LinkOpponentHandleCmd42, - LinkOpponentHandleEffectivenessSound, + LinkOpponentHandlePlaySE, LinkOpponentHandlePlayFanfareOrBGM, LinkOpponentHandleFaintingCry, LinkOpponentHandleIntroSlide, @@ -1505,7 +1505,7 @@ static void LinkOpponentHandlePrintString(void) sub_817C95C(*stringId); } -static void LinkOpponentHandlePrintStringPlayerOnly(void) +static void LinkOpponentHandlePrintSelectionString(void) { LinkOpponentBufferExecCompleted(); } @@ -1681,7 +1681,7 @@ static void LinkOpponentHandleCmd42(void) LinkOpponentBufferExecCompleted(); } -static void LinkOpponentHandleEffectivenessSound(void) +static void LinkOpponentHandlePlaySE(void) { s8 pan; diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index e3bee98d9..1af6da1cd 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -78,7 +78,7 @@ static void LinkPartnerHandleBallThrowAnim(void); static void LinkPartnerHandlePause(void); static void LinkPartnerHandleMoveAnimation(void); static void LinkPartnerHandlePrintString(void); -static void LinkPartnerHandlePrintStringPlayerOnly(void); +static void LinkPartnerHandlePrintSelectionString(void); static void LinkPartnerHandleChooseAction(void); static void LinkPartnerHandleUnknownYesNoBox(void); static void LinkPartnerHandleChooseMove(void); @@ -104,7 +104,7 @@ static void LinkPartnerHandleCmd39(void); static void LinkPartnerHandleCmd40(void); static void LinkPartnerHandleHitAnimation(void); static void LinkPartnerHandleCmd42(void); -static void LinkPartnerHandleEffectivenessSound(void); +static void LinkPartnerHandlePlaySE(void); static void LinkPartnerHandlePlayFanfareOrBGM(void); static void LinkPartnerHandleFaintingCry(void); static void LinkPartnerHandleIntroSlide(void); @@ -149,7 +149,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkPartnerHandlePause, LinkPartnerHandleMoveAnimation, LinkPartnerHandlePrintString, - LinkPartnerHandlePrintStringPlayerOnly, + LinkPartnerHandlePrintSelectionString, LinkPartnerHandleChooseAction, LinkPartnerHandleUnknownYesNoBox, LinkPartnerHandleChooseMove, @@ -175,7 +175,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkPartnerHandleCmd40, LinkPartnerHandleHitAnimation, LinkPartnerHandleCmd42, - LinkPartnerHandleEffectivenessSound, + LinkPartnerHandlePlaySE, LinkPartnerHandlePlayFanfareOrBGM, LinkPartnerHandleFaintingCry, LinkPartnerHandleIntroSlide, @@ -1327,7 +1327,7 @@ static void LinkPartnerHandlePrintString(void) sub_817C95C(*stringId); } -static void LinkPartnerHandlePrintStringPlayerOnly(void) +static void LinkPartnerHandlePrintSelectionString(void) { LinkPartnerBufferExecCompleted(); } @@ -1503,7 +1503,7 @@ static void LinkPartnerHandleCmd42(void) LinkPartnerBufferExecCompleted(); } -static void LinkPartnerHandleEffectivenessSound(void) +static void LinkPartnerHandlePlaySE(void) { s8 pan; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 0aac4cbe4..d69de8c29 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -83,7 +83,7 @@ static void OpponentHandleBallThrow(void); static void OpponentHandlePause(void); static void OpponentHandleMoveAnimation(void); static void OpponentHandlePrintString(void); -static void OpponentHandlePrintStringPlayerOnly(void); +static void OpponentHandlePrintSelectionString(void); static void OpponentHandleChooseAction(void); static void OpponentHandleUnknownYesNoBox(void); static void OpponentHandleChooseMove(void); @@ -109,7 +109,7 @@ static void OpponentHandleCmd39(void); static void OpponentHandleCmd40(void); static void OpponentHandleHitAnimation(void); static void OpponentHandleCmd42(void); -static void OpponentHandleEffectivenessSound(void); +static void OpponentHandlePlaySE(void); static void OpponentHandlePlayFanfareOrBGM(void); static void OpponentHandleFaintingCry(void); static void OpponentHandleIntroSlide(void); @@ -155,7 +155,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = OpponentHandlePause, OpponentHandleMoveAnimation, OpponentHandlePrintString, - OpponentHandlePrintStringPlayerOnly, + OpponentHandlePrintSelectionString, OpponentHandleChooseAction, OpponentHandleUnknownYesNoBox, OpponentHandleChooseMove, @@ -181,7 +181,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = OpponentHandleCmd40, OpponentHandleHitAnimation, OpponentHandleCmd42, - OpponentHandleEffectivenessSound, + OpponentHandlePlaySE, OpponentHandlePlayFanfareOrBGM, OpponentHandleFaintingCry, OpponentHandleIntroSlide, @@ -1537,7 +1537,7 @@ static void OpponentHandlePrintString(void) sub_81A57E4(gActiveBank, *stringId); } -static void OpponentHandlePrintStringPlayerOnly(void) +static void OpponentHandlePrintSelectionString(void) { OpponentBufferExecCompleted(); } @@ -1826,7 +1826,7 @@ static void OpponentHandleCmd42(void) OpponentBufferExecCompleted(); } -static void OpponentHandleEffectivenessSound(void) +static void OpponentHandlePlaySE(void) { s8 pan; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 16c62c53b..7ea2abccf 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -102,7 +102,7 @@ static void PlayerHandleBallThrowAnim(void); static void PlayerHandlePause(void); static void PlayerHandleMoveAnimation(void); static void PlayerHandlePrintString(void); -static void PlayerHandlePrintStringPlayerOnly(void); +static void PlayerHandlePrintSelectionString(void); static void PlayerHandleChooseAction(void); static void PlayerHandleUnknownYesNoBox(void); static void PlayerHandleChooseMove(void); @@ -128,7 +128,7 @@ static void PlayerHandleCmd39(void); static void PlayerHandleCmd40(void); static void PlayerHandleHitAnimation(void); static void PlayerHandleCmd42(void); -static void PlayerHandleEffectivenessSound(void); +static void PlayerHandlePlaySE(void); static void PlayerHandlePlayFanfareOrBGM(void); static void PlayerHandleFaintingCry(void); static void PlayerHandleIntroSlide(void); @@ -189,7 +189,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerHandlePause, PlayerHandleMoveAnimation, PlayerHandlePrintString, - PlayerHandlePrintStringPlayerOnly, + PlayerHandlePrintSelectionString, PlayerHandleChooseAction, PlayerHandleUnknownYesNoBox, PlayerHandleChooseMove, @@ -215,7 +215,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerHandleCmd40, PlayerHandleHitAnimation, PlayerHandleCmd42, - PlayerHandleEffectivenessSound, + PlayerHandlePlaySE, PlayerHandlePlayFanfareOrBGM, PlayerHandleFaintingCry, PlayerHandleIntroSlide, @@ -2576,7 +2576,7 @@ static void PlayerHandlePrintString(void) sub_81A57E4(gActiveBank, *stringId); } -static void PlayerHandlePrintStringPlayerOnly(void) +static void PlayerHandlePrintSelectionString(void) { if (GetBankSide(gActiveBank) == SIDE_PLAYER) PlayerHandlePrintString(); @@ -2913,7 +2913,7 @@ static void PlayerHandleCmd42(void) PlayerBufferExecCompleted(); } -static void PlayerHandleEffectivenessSound(void) +static void PlayerHandlePlaySE(void) { s8 pan; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 0cd34442a..4cca5c002 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -78,7 +78,7 @@ static void PlayerPartnerHandleBallThrowAnim(void); static void PlayerPartnerHandlePause(void); static void PlayerPartnerHandleMoveAnimation(void); static void PlayerPartnerHandlePrintString(void); -static void PlayerPartnerHandlePrintStringPlayerOnly(void); +static void PlayerPartnerHandlePrintSelectionString(void); static void PlayerPartnerHandleChooseAction(void); static void PlayerPartnerHandleUnknownYesNoBox(void); static void PlayerPartnerHandleChooseMove(void); @@ -104,7 +104,7 @@ static void PlayerPartnerHandleCmd39(void); static void PlayerPartnerHandleCmd40(void); static void PlayerPartnerHandleHitAnimation(void); static void PlayerPartnerHandleCmd42(void); -static void PlayerPartnerHandleEffectivenessSound(void); +static void PlayerPartnerHandlePlaySE(void); static void PlayerPartnerHandlePlayFanfareOrBGM(void); static void PlayerPartnerHandleFaintingCry(void); static void PlayerPartnerHandleIntroSlide(void); @@ -155,7 +155,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerPartnerHandlePause, PlayerPartnerHandleMoveAnimation, PlayerPartnerHandlePrintString, - PlayerPartnerHandlePrintStringPlayerOnly, + PlayerPartnerHandlePrintSelectionString, PlayerPartnerHandleChooseAction, PlayerPartnerHandleUnknownYesNoBox, PlayerPartnerHandleChooseMove, @@ -181,7 +181,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerPartnerHandleCmd40, PlayerPartnerHandleHitAnimation, PlayerPartnerHandleCmd42, - PlayerPartnerHandleEffectivenessSound, + PlayerPartnerHandlePlaySE, PlayerPartnerHandlePlayFanfareOrBGM, PlayerPartnerHandleFaintingCry, PlayerPartnerHandleIntroSlide, @@ -1519,7 +1519,7 @@ static void PlayerPartnerHandlePrintString(void) gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter2; } -static void PlayerPartnerHandlePrintStringPlayerOnly(void) +static void PlayerPartnerHandlePrintSelectionString(void) { PlayerPartnerBufferExecCompleted(); } @@ -1756,7 +1756,7 @@ static void PlayerPartnerHandleCmd42(void) PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleEffectivenessSound(void) +static void PlayerPartnerHandlePlaySE(void) { s8 pan; diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index b55d644ac..027230be4 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -81,7 +81,7 @@ static void RecordedOpponentHandleBallThrowAnim(void); static void RecordedOpponentHandlePause(void); static void RecordedOpponentHandleMoveAnimation(void); static void RecordedOpponentHandlePrintString(void); -static void RecordedOpponentHandlePrintStringPlayerOnly(void); +static void RecordedOpponentHandlePrintSelectionString(void); static void RecordedOpponentHandleChooseAction(void); static void RecordedOpponentHandleUnknownYesNoBox(void); static void RecordedOpponentHandleChooseMove(void); @@ -107,7 +107,7 @@ static void RecordedOpponentHandleCmd39(void); static void RecordedOpponentHandleCmd40(void); static void RecordedOpponentHandleHitAnimation(void); static void RecordedOpponentHandleCmd42(void); -static void RecordedOpponentHandleEffectivenessSound(void); +static void RecordedOpponentHandlePlaySE(void); static void RecordedOpponentHandlePlayFanfareOrBGM(void); static void RecordedOpponentHandleFaintingCry(void); static void RecordedOpponentHandleIntroSlide(void); @@ -153,7 +153,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void RecordedOpponentHandlePause, RecordedOpponentHandleMoveAnimation, RecordedOpponentHandlePrintString, - RecordedOpponentHandlePrintStringPlayerOnly, + RecordedOpponentHandlePrintSelectionString, RecordedOpponentHandleChooseAction, RecordedOpponentHandleUnknownYesNoBox, RecordedOpponentHandleChooseMove, @@ -179,7 +179,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void RecordedOpponentHandleCmd40, RecordedOpponentHandleHitAnimation, RecordedOpponentHandleCmd42, - RecordedOpponentHandleEffectivenessSound, + RecordedOpponentHandlePlaySE, RecordedOpponentHandlePlayFanfareOrBGM, RecordedOpponentHandleFaintingCry, RecordedOpponentHandleIntroSlide, @@ -1435,7 +1435,7 @@ static void RecordedOpponentHandlePrintString(void) gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; } -static void RecordedOpponentHandlePrintStringPlayerOnly(void) +static void RecordedOpponentHandlePrintSelectionString(void) { RecordedOpponentBufferExecCompleted(); } @@ -1625,7 +1625,7 @@ static void RecordedOpponentHandleCmd42(void) RecordedOpponentBufferExecCompleted(); } -static void RecordedOpponentHandleEffectivenessSound(void) +static void RecordedOpponentHandlePlaySE(void) { s8 pan; diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 78e7497a5..f5f3ab3c0 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -81,7 +81,7 @@ static void RecordedPlayerHandleBallThrowAnim(void); static void RecordedPlayerHandlePause(void); static void RecordedPlayerHandleMoveAnimation(void); static void RecordedPlayerHandlePrintString(void); -static void RecordedPlayerHandlePrintStringPlayerOnly(void); +static void RecordedPlayerHandlePrintSelectionString(void); static void RecordedPlayerHandleChooseAction(void); static void RecordedPlayerHandleUnknownYesNoBox(void); static void RecordedPlayerHandleChooseMove(void); @@ -107,7 +107,7 @@ static void RecordedPlayerHandleCmd39(void); static void RecordedPlayerHandleCmd40(void); static void RecordedPlayerHandleHitAnimation(void); static void RecordedPlayerHandleCmd42(void); -static void RecordedPlayerHandleEffectivenessSound(void); +static void RecordedPlayerHandlePlaySE(void); static void RecordedPlayerHandlePlayFanfareOrBGM(void); static void RecordedPlayerHandleFaintingCry(void); static void RecordedPlayerHandleIntroSlide(void); @@ -152,7 +152,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) RecordedPlayerHandlePause, RecordedPlayerHandleMoveAnimation, RecordedPlayerHandlePrintString, - RecordedPlayerHandlePrintStringPlayerOnly, + RecordedPlayerHandlePrintSelectionString, RecordedPlayerHandleChooseAction, RecordedPlayerHandleUnknownYesNoBox, RecordedPlayerHandleChooseMove, @@ -178,7 +178,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) RecordedPlayerHandleCmd40, RecordedPlayerHandleHitAnimation, RecordedPlayerHandleCmd42, - RecordedPlayerHandleEffectivenessSound, + RecordedPlayerHandlePlaySE, RecordedPlayerHandlePlayFanfareOrBGM, RecordedPlayerHandleFaintingCry, RecordedPlayerHandleIntroSlide, @@ -1437,7 +1437,7 @@ static void RecordedPlayerHandlePrintString(void) gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; } -static void RecordedPlayerHandlePrintStringPlayerOnly(void) +static void RecordedPlayerHandlePrintSelectionString(void) { RecordedPlayerBufferExecCompleted(); } @@ -1644,7 +1644,7 @@ static void RecordedPlayerHandleCmd42(void) RecordedPlayerBufferExecCompleted(); } -static void RecordedPlayerHandleEffectivenessSound(void) +static void RecordedPlayerHandlePlaySE(void) { s8 pan; diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index a4f35bed1..635f5fef1 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -66,7 +66,7 @@ static void SafariHandleBallThrowAnim(void); static void SafariHandlePause(void); static void SafariHandleMoveAnimation(void); static void SafariHandlePrintString(void); -static void SafariHandlePrintStringPlayerOnly(void); +static void SafariHandlePrintSelectionString(void); static void SafariHandleChooseAction(void); static void SafariHandleUnknownYesNoBox(void); static void SafariHandleChooseMove(void); @@ -92,7 +92,7 @@ static void SafariHandleCmd39(void); static void SafariHandleCmd40(void); static void SafariHandleHitAnimation(void); static void SafariHandleCmd42(void); -static void SafariHandleEffectivenessSound(void); +static void SafariHandlePlaySE(void); static void SafariHandlePlayFanfareOrBGM(void); static void SafariHandleFaintingCry(void); static void SafariHandleIntroSlide(void); @@ -130,7 +130,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = SafariHandlePause, SafariHandleMoveAnimation, SafariHandlePrintString, - SafariHandlePrintStringPlayerOnly, + SafariHandlePrintSelectionString, SafariHandleChooseAction, SafariHandleUnknownYesNoBox, SafariHandleChooseMove, @@ -156,7 +156,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = SafariHandleCmd40, SafariHandleHitAnimation, SafariHandleCmd42, - SafariHandleEffectivenessSound, + SafariHandlePlaySE, SafariHandlePlayFanfareOrBGM, SafariHandleFaintingCry, SafariHandleIntroSlide, @@ -449,7 +449,7 @@ static void SafariHandlePrintString(void) gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; } -static void SafariHandlePrintStringPlayerOnly(void) +static void SafariHandlePrintSelectionString(void) { if (GetBankSide(gActiveBank) == SIDE_PLAYER) SafariHandlePrintString(); @@ -607,7 +607,7 @@ static void SafariHandleCmd42(void) SafariBufferExecCompleted(); } -static void SafariHandleEffectivenessSound(void) +static void SafariHandlePlaySE(void) { s8 pan; diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 4dac1d264..442e32cca 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -86,7 +86,7 @@ static void WallyHandleBallThrowAnim(void); static void WallyHandlePause(void); static void WallyHandleMoveAnimation(void); static void WallyHandlePrintString(void); -static void WallyHandlePrintStringPlayerOnly(void); +static void WallyHandlePrintSelectionString(void); static void WallyHandleChooseAction(void); static void WallyHandleUnknownYesNoBox(void); static void WallyHandleChooseMove(void); @@ -112,7 +112,7 @@ static void WallyHandleCmd39(void); static void WallyHandleCmd40(void); static void WallyHandleHitAnimation(void); static void WallyHandleCmd42(void); -static void WallyHandleEffectivenessSound(void); +static void WallyHandlePlaySE(void); static void WallyHandlePlayFanfareOrBGM(void); static void WallyHandleFaintingCry(void); static void WallyHandleIntroSlide(void); @@ -155,7 +155,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = WallyHandlePause, WallyHandleMoveAnimation, WallyHandlePrintString, - WallyHandlePrintStringPlayerOnly, + WallyHandlePrintSelectionString, WallyHandleChooseAction, WallyHandleUnknownYesNoBox, WallyHandleChooseMove, @@ -181,7 +181,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = WallyHandleCmd40, WallyHandleHitAnimation, WallyHandleCmd42, - WallyHandleEffectivenessSound, + WallyHandlePlaySE, WallyHandlePlayFanfareOrBGM, WallyHandleFaintingCry, WallyHandleIntroSlide, @@ -1211,7 +1211,7 @@ static void WallyHandlePrintString(void) gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter; } -static void WallyHandlePrintStringPlayerOnly(void) +static void WallyHandlePrintSelectionString(void) { if (GetBankSide(gActiveBank) == SIDE_PLAYER) WallyHandlePrintString(); @@ -1419,7 +1419,7 @@ static void WallyHandleCmd42(void) WallyBufferExecCompleted(); } -static void WallyHandleEffectivenessSound(void) +static void WallyHandlePlaySE(void) { PlaySE(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); WallyBufferExecCompleted(); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 858540a9f..2d373e876 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -38,7 +38,7 @@ extern u8 gEffectBank; extern u16 gBattleWeather; extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern u16 gCurrentMove; -extern u16 gLastUsedMove; +extern u16 gChosenMove; extern u16 gLastUsedItem; extern u8 gBattleOutcome; extern u8 gLastUsedAbility; @@ -1120,7 +1120,7 @@ void EmitPrintString(u8 bufferId, u16 stringID) stringInfo = (struct StringInfoBattle*)(&gBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; - stringInfo->lastMove = gLastUsedMove; + stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; stringInfo->lastAbility = gLastUsedAbility; stringInfo->scrActive = gBattleScripting.bank; @@ -1140,10 +1140,10 @@ void EmitPrintString(u8 bufferId, u16 stringID) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4); } -void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringID) +void EmitPrintSelectionString(u8 bufferId, u16 stringID) { s32 i; - struct StringInfoBattle* stringInfo; + struct StringInfoBattle *stringInfo; gBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY; gBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY; @@ -1152,7 +1152,7 @@ void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringID) stringInfo = (struct StringInfoBattle*)(&gBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; - stringInfo->lastMove = gLastUsedMove; + stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; stringInfo->lastAbility = gLastUsedAbility; stringInfo->scrActive = gBattleScripting.bank; @@ -1427,7 +1427,7 @@ void EmitCmd42(u8 bufferId) PrepareBufferDataTransfer(bufferId, gBattleBuffersTransferData, 4); } -void EmitEffectivenessSound(u8 bufferId, u16 songId) +void EmitPlaySE(u8 bufferId, u16 songId) { gBattleBuffersTransferData[0] = CONTROLLER_EFFECTIVENESSSOUND; gBattleBuffersTransferData[1] = songId; diff --git a/src/battle_message.c b/src/battle_message.c index 65ff19741..77f7cc722 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -932,58 +932,237 @@ const u16 gSandStormHailDmgStringIds[] = STRINGID_PKMNBUFFETEDBYSANDSTORM, STRINGID_PKMNPELTEDBYHAIL }; -// todo once battlescripts are dumped -const u16 gTooLazyToSplitThemStringIds[] = -{ - STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED, STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, - STRINGID_RAINSTOPPED, STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, - STRINGID_BUTITFAILED, STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, - STRINGID_PKMNRAISEDDEFALITTLE, STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, - STRINGID_PKMNCOVEREDBYVEIL, STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK, +const u16 gSandStormHailEndStringIds[] = +{ + STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED +}; + +const u16 gRainContinuesStringIds[] = +{ + STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, STRINGID_RAINSTOPPED +}; + +const u16 gProtectLikeUsedStringIds[] = +{ + STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, STRINGID_BUTITFAILED +}; + +const u16 gReflectLightScreenSafeguardStringIds[] = +{ + STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, STRINGID_PKMNRAISEDDEFALITTLE, + STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, STRINGID_PKMNCOVEREDBYVEIL +}; + +const u16 gLeechSeedStringIds[] = +{ + STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK, STRINGID_ITDOESNTAFFECT, STRINGID_PKMNSAPPEDBYLEECHSEED, STRINGID_ITSUCKEDLIQUIDOOZE, - STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY, STRINGID_PKMNMAKINGUPROAR, - STRINGID_PKMNCALMEDDOWN, STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE, - STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR, STRINGID_FAILEDTOSWALLOW, - STRINGID_PKMNHPFULL, STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, - STRINGID_PKMNSTAYEDAWAKEUSING, STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, - STRINGID_STATSWONTINCREASE, STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, - STRINGID_PKMNUSEDXTOGETPUMPED, STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, - STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3, STRINGID_PKMNWHIPPEDWHIRLWIND, - STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING, - STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, - STRINGID_PKMNSPRANGUP, STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, - STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, - STRINGID_PKMNTRAPPEDBYSANDTOMB, STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED, - STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED, STRINGID_PKMNTRANSFORMEDINTO, - STRINGID_BUTITFAILED, STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE, - STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY, STRINGID_PKMNWASPARALYZED, - STRINGID_PKMNWASPARALYZEDBY, STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP, - STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY, STRINGID_PKMNWASFROZEN, - STRINGID_PKMNFROZENBY, STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY, - STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED, STRINGID_PKMNFELLINLOVE, - STRINGID_PKMNSXINFATUATEDY, STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE, - STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED, STRINGID_BELLCHIMED, - STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, - STRINGID_SOOTHINGAROMA, STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY, - STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, - STRINGID_SHOOTSOCLOSE, STRINGID_ITISRAINING, STRINGID_ITISRAINING, +}; + +const u16 gRestUsedStringIds[] = +{ + STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY +}; + +const u16 gUproarOverTurnStringIds[] = +{ + STRINGID_PKMNMAKINGUPROAR, STRINGID_PKMNCALMEDDOWN +}; + +const u16 gStockpileUsedStringIds[] = +{ + STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE, +}; + +const u16 gWokeUpStringIds[] = +{ + STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR +}; + +const u16 gSwallowFailStringIds[] = +{ + STRINGID_FAILEDTOSWALLOW, STRINGID_PKMNHPFULL +}; + +const u16 gUproarAwakeStringIds[] = +{ + STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, STRINGID_PKMNSTAYEDAWAKEUSING +}; + +const u16 gStatUpStringIds[] = +{ + STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, STRINGID_STATSWONTINCREASE, + STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, STRINGID_PKMNUSEDXTOGETPUMPED +}; + +const u16 gStatDownStringIds[] = +{ + STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3 +}; + +const u16 gFirstTurnOfTwoStringIds[] = +{ + STRINGID_PKMNWHIPPEDWHIRLWIND, STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING, + STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, STRINGID_PKMNSPRANGUP +}; + +const u16 gWrappedStringIds[] = +{ + STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, STRINGID_PKMNTRAPPEDINVORTEX, + STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNTRAPPEDBYSANDTOMB +}; + +const u16 gMistUsedStringIds[] = +{ + STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED +}; + +const u16 gFocusEnergyUsedStringIds[] = +{ + STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED +}; + +const u16 gTransformUsedStringIds[] = +{ + STRINGID_PKMNTRANSFORMEDINTO, STRINGID_BUTITFAILED +}; + +const u16 gSubsituteUsedStringIds[] = +{ + STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE +}; + +const u16 gGotPoisonedStringIds[] = +{ + STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY +}; + +const u16 gGotParalyzedStringIds[] = +{ + STRINGID_PKMNWASPARALYZED, STRINGID_PKMNWASPARALYZEDBY +}; + +const u16 gFellAsleepStringIds[] = +{ + STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP, +}; + +const u16 gGotBurnedStringIds[] = +{ + STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY +}; + +const u16 gGotFrozenStringIds[] = +{ + STRINGID_PKMNWASFROZEN, STRINGID_PKMNFROZENBY +}; + +const u16 gGotDefrostedStringIds[] = +{ + STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY +}; + +const u16 gKOFailedStringIds[] = +{ + STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED +}; + +const u16 gAttractUsedStringIds[] = +{ + STRINGID_PKMNFELLINLOVE, STRINGID_PKMNSXINFATUATEDY +}; + +const u16 gLeechSeedDrainStringIds[] = +{ + STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE +}; + +const u16 gSportsUsedStringIds[] = +{ + STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED +}; + +const u16 gPartyStatusHealStringIds[] = +{ + STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, + // interesting how there are four instances of the same string + STRINGID_SOOTHINGAROMA +}; + +const u16 gFutureMoveUsedStringIds[] = +{ + STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY +}; + +const u16 gBallEscapeStringIds[] = +{ + STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, STRINGID_SHOOTSOCLOSE +}; + +const u16 gWeatherContinuesStringIds[] = +{ STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, - STRINGID_SANDSTORMISRAGING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, - STRINGID_ITISRAINING, STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, - STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_PKMNLOAFING, - STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, STRINGID_PKMNPRETENDNOTNOTICE, - STRINGID_PKMNINCAPABLEOFPOWER, STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER, - STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX, + STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_SANDSTORMISRAGING, + STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING, + STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING +}; + +const u16 gInobedientStringIds[] = +{ + STRINGID_PKMNLOAFING, STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, + STRINGID_PKMNPRETENDNOTNOTICE, STRINGID_PKMNINCAPABLEOFPOWER +}; + +const u16 gSafariGetNearStringIds[] = +{ + STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER +}; + +const u16 gSafariPokeblockResultStringIds[] = +{ + STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX +}; + +const u16 gTrainerItemCuredStatusStringIds[] = +{ STRINGID_PKMNSITEMSNAPPEDOUT, STRINGID_PKMNSITEMCUREDPARALYSIS, STRINGID_PKMNSITEMDEFROSTEDIT, - STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT, - STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS, STRINGID_PKMNSXPREVENTSBURNS, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPARALYSISWITH, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPOISONINGWITH, - STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNOBTAINEDX, - STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ, STRINGID_PKMNRAISEDFIREPOWERWITH, - STRINGID_PKMNSXMADEYINEFFECTIVE, STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, - STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL, + STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT +}; + +const u16 gBerryEffectStringIds[] = +{ + STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS +}; + +const u16 gBRNPreventionStringIds[] = +{ + STRINGID_PKMNSXPREVENTSBURNS, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gPRLZPreventionStringIds[] = +{ + STRINGID_PKMNPREVENTSPARALYSISWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gPSNPreventionStringIds[] = +{ + STRINGID_PKMNPREVENTSPOISONINGWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY +}; + +const u16 gItemSwapStringIds[] = +{ + STRINGID_PKMNOBTAINEDX, STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ +}; + +const u16 gFlashFireStringIds[] = +{ + STRINGID_PKMNRAISEDFIREPOWERWITH, STRINGID_PKMNSXMADEYINEFFECTIVE +}; + +const u16 gCaughtMonStringIds[] = +{ + STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL, }; const u16 gTrappingMoves[] = @@ -1102,9 +1281,10 @@ const u8 gText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is const u8 gText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!"); const u8 gText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!"); -const u16 gUnknown_085CCF0A[] = +const u16 gStringIds_85CCF0A[] = { - 0x016E, 0x016F, 0x0170, 0x0171 + STRINGID_GLINTAPPEARSINEYE, STRINGID_PKMNGETTINGINTOPOSITION, + STRINGID_PKMNBEGANGROWLINGDEEPLY, STRINGID_PKMNEAGERFORMORE }; const u8 gText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!"); @@ -1736,11 +1916,11 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst) else toCpy = gMoveNames[gStringInfo->currentMove]; break; - case B_TXT_LAST_MOVE: // last used move name - if (gStringInfo->lastMove > LAST_MOVE_INDEX) + case B_TXT_LAST_MOVE: // originally used move name + if (gStringInfo->originallyUsedMove > LAST_MOVE_INDEX) toCpy = gText_UnknownMoveTypes[gBattleStruct->stringMoveType]; else - toCpy = gMoveNames[gStringInfo->lastMove]; + toCpy = gMoveNames[gStringInfo->originallyUsedMove]; break; case B_TXT_LAST_ITEM: // last used item if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6409ff56e..d9b35c053 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3,6 +3,7 @@ #include "battle_move_effects.h" #include "battle_message.h" #include "battle_ai_script_commands.h" +#include "battle_scripts.h" #include "moves.h" #include "abilities.h" #include "item.h" @@ -73,10 +74,10 @@ extern u8 gCurrentActionFuncId; extern u32 gHitMarker; extern u8 gBattleMoveFlags; extern u8 gBattleCommunication[]; -extern u16 gUnknown_02024250[4]; -extern u16 gUnknown_02024258[4]; -extern u16 gUnknown_02024260[4]; -extern u8 gUnknown_02024270[4]; +extern u16 gLastLandedMoves[4]; +extern u16 gLastHitByType[4]; +extern u16 gLastResultingMoves[4]; +extern u8 gLastHitBy[4]; extern u8 gStringBank; extern u16 gDynamicBasePower; extern u16 gLastUsedItem; @@ -98,9 +99,9 @@ extern u8 gCurrentTurnActionNumber; extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; extern u16 gLockedMoves[BATTLE_BANKS_COUNT]; extern u16 gPartnerTrainerId; -extern u16 gLastUsedMove; -extern u16 gUnknownMovesUsedByBanks[BATTLE_BANKS_COUNT]; -extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT]; +extern u16 gChosenMove; +extern u16 gLastPrintedMoves[BATTLE_BANKS_COUNT]; +extern u16 gLastMoves[BATTLE_BANKS_COUNT]; extern u16 gTrainerBattleOpponent_A; extern u16 gTrainerBattleOpponent_B; extern u8 gUnknown_020241E9; @@ -146,88 +147,6 @@ extern u8 sub_813B21C(void); extern u16 get_unknown_box_id(void); extern void sub_80356D0(void); -// BattleScripts -extern const u8 BattleScript_MoveEnd[]; -extern const u8 BattleScript_NoPPForMove[]; -extern const u8 BattleScript_MagicCoatBounce[]; -extern const u8 BattleScript_TookAttack[]; -extern const u8 BattleScript_SnatchedMove[]; -extern const u8 BattleScript_Pausex20[]; -extern const u8 BattleScript_SubstituteFade[]; -extern const u8 BattleScript_HangedOnMsg[]; -extern const u8 BattleScript_OneHitKOMsg[]; -extern const u8 BattleScript_EnduredMsg[]; -extern const u8 BattleScript_PSNPrevention[]; -extern const u8 BattleScript_BRNPrevention[]; -extern const u8 BattleScript_PRLZPrevention[]; -extern const u8 BattleScript_FlinchPrevention[]; -extern const u8 BattleScript_StatUp[]; -extern const u8 BattleScript_StatDown[]; -extern const u8 BattleScript_NoItemSteal[]; -extern const u8 BattleScript_ItemSteal[]; -extern const u8 BattleScript_RapidSpinAway[]; -extern const u8 BattleScript_TargetPRLZHeal[]; -extern const u8 BattleScript_KnockedOff[]; -extern const u8 BattleScript_StickyHoldActivates[]; -extern const u8 BattleScript_AllStatsUp[]; -extern const u8 BattleScript_AtkDefDown[]; -extern const u8 BattleScript_SAtkDown2[]; -extern const u8 BattleScript_LevelUp[]; -extern const u8 BattleScript_WrapFree[]; -extern const u8 BattleScript_LeechSeedFree[]; -extern const u8 BattleScript_SpikesFree[]; -extern const u8 BattleScript_ButItFailed[]; -extern const u8 BattleScript_ObliviousPreventsAttraction[]; -extern const u8 BattleScript_MistProtected[]; -extern const u8 BattleScript_AbilityNoStatLoss[]; -extern const u8 BattleScript_AbilityNoSpecificStatLoss[]; -extern const u8 BattleScript_TrainerBallBlock[]; -extern const u8 BattleScript_WallyBallThrow[]; -extern const u8 BattleScript_SuccessBallThrow[]; -extern const u8 BattleScript_ShakeBallThrow[]; -extern const u8 BattleScript_FaintAttacker[]; -extern const u8 BattleScript_FaintTarget[]; -extern const u8 BattleScript_DestinyBondTakesLife[]; -extern const u8 BattleScript_GrudgeTakesPp[]; -extern const u8 BattleScript_RageIsBuilding[]; -extern const u8 BattleScript_DefrostedViaFireMove[]; -extern const u8 gUnknown_082DB87D[]; -extern const u8 gUnknown_082DAE90[]; -extern const u8 gUnknown_082DAE59[]; -extern const u8 gUnknown_082DAEC7[]; -extern const u8 BattleScript_MoveEffectSleep[]; -extern const u8 BattleScript_MoveEffectPoison[]; -extern const u8 BattleScript_MoveEffectBurn[]; -extern const u8 BattleScript_MoveEffectFreeze[]; -extern const u8 BattleScript_MoveEffectParalysis[]; -extern const u8 BattleScript_MoveEffectToxic[]; -extern const u8 BattleScript_MoveEffectConfusion[]; -extern const u8 BattleScript_MoveEffectUproar[]; -extern const u8 BattleScript_MoveEffectPayDay[]; -extern const u8 BattleScript_MoveEffectWrap[]; -extern const u8 BattleScript_MoveEffectRecoil33[]; -extern const u8 BattleScript_DampStopsExplosion[]; -extern const u8 BattleScript_MistProtected[]; -extern const u8 BattleScript_AbilityNoStatLoss[]; -extern const u8 BattleScript_AbilityNoSpecificStatLoss[]; -extern const u8 BattleScript_ButItFailed[]; -extern const u8 gUnknown_082DADD8[]; -extern const u8 BattleScript_PrintPayDayMoneyString[]; -extern const u8 BattleScript_SturdyPreventsOHKO[]; -extern const u8 BattleScript_ObliviousPreventsAttraction[]; -extern const u8 BattleScript_PauseEffectivenessSoundResultMsgEndMove[]; -extern const u8 BattleScript_CastformChange[]; -extern const u8 BattleScript_TrainerBallBlock[]; -extern const u8 BattleScript_WallyBallThrow[]; -extern const u8 BattleScript_SuccessBallThrow[]; -extern const u8 BattleScript_ShakeBallThrow[]; -extern const u8 BattleScript_PresentDamageTarget[]; -extern const u8 BattleScript_AlreadyAtFullHp[]; -extern const u8 BattleScript_PresentHealTarget[]; -extern const u8 BattleScript_WrapFree[]; -extern const u8 BattleScript_LeechSeedFree[]; -extern const u8 BattleScript_SpikesFree[]; - // strings extern const u8 gText_BattleYesNoChoice[]; @@ -247,7 +166,7 @@ extern const u8 gText_BattleYesNoChoice[]; // this file's functions static bool8 IsTwoTurnsMove(u16 move); -static void DestinyBondFlagUpdate(void); +static void TrySetDestinyBondToHappen(void); static u8 AttacksThisTurn(u8 bank, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. static void CheckWonderGuardAndLevitate(void); static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8, const u8* BS_ptr); @@ -267,41 +186,41 @@ static void atk01_accuracycheck(void); static void atk02_attackstring(void); static void atk03_ppreduce(void); static void atk04_critcalc(void); -static void atk05_damagecalc1(void); +static void atk05_damagecalc(void); static void atk06_typecalc(void); -static void atk07_dmg_adjustment(void); -static void atk08_dmg_adjustment2(void); +static void atk07_adjustnormaldamage(void); +static void atk08_adjustnormaldamage2(void); static void atk09_attackanimation(void); static void atk0A_waitanimation(void); static void atk0B_healthbarupdate(void); static void atk0C_datahpupdate(void); static void atk0D_critmessage(void); -static void atk0E_effectiveness_sound(void); +static void atk0E_effectivenesssound(void); static void atk0F_resultmessage(void); static void atk10_printstring(void); -static void atk11_printstring_playeronly(void); +static void atk11_printselectionstring(void); static void atk12_waitmessage(void); static void atk13_printfromtable(void); -static void atk14_printfromtable_playeronly(void); +static void atk14_printselectionstringfromtable(void); static void atk15_seteffectwithchance(void); static void atk16_seteffectprimary(void); static void atk17_seteffectsecondary(void); -static void atk18_status_effect_clear(void); -static void atk19_faint_pokemon(void); -static void atk1A_faint_animation(void); -static void atk1B_faint_effects_clear(void); +static void atk18_clearstatusfromeffect(void); +static void atk19_tryfaintmon(void); +static void atk1A_dofaintanimation(void); +static void atk1B_cleareffectsonfaint(void); static void atk1C_jumpifstatus(void); static void atk1D_jumpifstatus2(void); static void atk1E_jumpifability(void); static void atk1F_jumpifsideaffecting(void); static void atk20_jumpifstat(void); -static void atk21_jumpifstatus3(void); +static void atk21_jumpifstatus3condition(void); static void atk22_jumpiftype(void); static void atk23_getexp(void); static void atk24(void); -static void atk25_move_values_cleanup(void); -static void atk26_set_multihit(void); -static void atk27_decrement_multihit(void); +static void atk25_movevaluescleanup(void); +static void atk26_setmultihit(void); +static void atk27_decrementmultihit(void); static void atk28_goto(void); static void atk29_jumpifbyte(void); static void atk2A_jumpifhalfword(void); @@ -312,7 +231,7 @@ static void atk2E_setbyte(void); static void atk2F_addbyte(void); static void atk30_subbyte(void); static void atk31_copyarray(void); -static void atk32_copyarray_withindex(void); +static void atk32_copyarraywithindex(void); static void atk33_orbyte(void); static void atk34_orhalfword(void); static void atk35_orword(void); @@ -326,75 +245,75 @@ static void atk3C_return(void); static void atk3D_end(void); static void atk3E_end2(void); static void atk3F_end3(void); -static void atk40_jump_if_move_affected_by_protect(void); +static void atk40_jumpifaffectedbyprotect(void); static void atk41_call(void); static void atk42_jumpiftype2(void); static void atk43_jumpifabilitypresent(void); -static void atk44_end_selection_script(void); +static void atk44_endselectionscript(void); static void atk45_playanimation(void); static void atk46_playanimation2(void); static void atk47_setgraphicalstatchangevalues(void); static void atk48_playstatchangeanimation(void); static void atk49_moveend(void); static void atk4A_typecalc2(void); -static void atk4B_return_atk_to_ball(void); -static void atk4C_get_switched_mon_data(void); -static void atk4D_switch_data_update(void); -static void atk4E_switchin_anim(void); -static void atk4F_jump_if_cannot_switch(void); +static void atk4B_returnatktoball(void); +static void atk4C_getswitchedmondata(void); +static void atk4D_switchindataupdate(void); +static void atk4E_switchinanim(void); +static void atk4F_jumpifcantswitch(void); static void atk50_openpartyscreen(void); -static void atk51_switch_handle_order(void); -static void atk52_switch_in_effects(void); -static void atk53_trainer_slide(void); -static void atk54_effectiveness_sound(void); -static void atk55_play_fanfare(void); -static void atk56_fainting_cry(void); +static void atk51_switchhandleorder(void); +static void atk52_switchineffects(void); +static void atk53_trainerslidein(void); +static void atk54_playse(void); +static void atk55_fanfare(void); +static void atk56_playfaintcry(void); static void atk57(void); -static void atk58_return_to_ball(void); -static void atk59_learnmove_inbattle(void); +static void atk58_returntoball(void); +static void atk59_handlelearnnewmove(void); static void atk5A_yesnoboxlearnmove(void); static void atk5B_yesnoboxstoplearningmove(void); static void atk5C_hitanimation(void); static void atk5D_getmoneyreward(void); -static void atk5E_8025A70(void); -static void atk5F_8025B24(void); -static void atk60_increment_gamestat(void); -static void atk61_draw_party_status_summary(void); -static void atk62_08025C6C(void); +static void atk5E(void); +static void atk5F(void); +static void atk60_incrementgamestat(void); +static void atk61_drawpartystatussummary(void); +static void atk62(void); static void atk63_jumptorandomattack(void); static void atk64_statusanimation(void); static void atk65_status2animation(void); static void atk66_chosenstatusanimation(void); static void atk67_yesnobox(void); -static void atk68_cancel_everyones_actions(void); -static void atk69_dmg_adjustment3(void); +static void atk68_cancelallactions(void); +static void atk69_adjustsetdamage(void); static void atk6A_removeitem(void); static void atk6B_atknameinbuff1(void); -static void atk6C_draw_lvlupbox(void); -static void atk6D_reset_sentpokes_value(void); -static void atk6E_set_atk_to_player0(void); -static void atk6F_set_visible(void); -static void atk70_record_last_used_ability(void); -static void atk71_buffer_move_to_learn(void); -static void atk72_jump_if_run_attempt_success(void); -static void atk73_hp_thresholds(void); -static void atk74_hp_thresholds2(void); -static void atk75_item_effect_on_opponent(void); +static void atk6C_drawlvlupbox(void); +static void atk6D_resetsentmonsvalue(void); +static void atk6E_setatktoplayer0(void); +static void atk6F_makevisible(void); +static void atk70_recordlastability(void); +static void atk71_buffermovetolearn(void); +static void atk72_jumpifplayerran(void); +static void atk73_hpthresholds(void); +static void atk74_hpthresholds2(void); +static void atk75_useitemonopponent(void); static void atk76_various(void); -static void atk77_set_protect_like(void); +static void atk77_setprotectlike(void); static void atk78_faintifabilitynotdamp(void); static void atk79_setatkhptozero(void); -static void atk7A_jumpwhiletargetvalid(void); -static void atk7B_healhalfHP_if_possible(void); +static void atk7A_jumpifnexttargetvalid(void); +static void atk7B_tryhealhalfhealth(void); static void atk7C_trymirrormove(void); -static void atk7D_set_rain(void); +static void atk7D_setrain(void); static void atk7E_setreflect(void); static void atk7F_setseeded(void); static void atk80_manipulatedamage(void); -static void atk81_setrest(void); +static void atk81_trysetrest(void); static void atk82_jumpifnotfirstturn(void); static void atk83_nop(void); -static void atk84_jump_if_cant_sleep(void); +static void atk84_jumpifcantmakeasleep(void); static void atk85_stockpile(void); static void atk86_stockpiletobasedamage(void); static void atk87_stockpiletohpheal(void); @@ -403,22 +322,22 @@ static void atk89_statbuffchange(void); static void atk8A_normalisebuffs(void); static void atk8B_setbide(void); static void atk8C_confuseifrepeatingattackends(void); -static void atk8D_setmultihit_counter(void); -static void atk8E_init_multihit_string(void); +static void atk8D_setmultihitcounter(void); +static void atk8E_initmultihitstring(void); static void atk8F_forcerandomswitch(void); -static void atk90_conversion_type_change(void); +static void atk90_tryconversiontypechange(void); static void atk91_givepaydaymoney(void); static void atk92_setlightscreen(void); -static void atk93_ko_move(void); +static void atk93_tryKO(void); static void atk94_damagetohalftargethp(void); static void atk95_setsandstorm(void); static void atk96_weatherdamage(void); -static void atk97_try_infatuation(void); -static void atk98_status_icon_update(void); +static void atk97_tryinfatuating(void); +static void atk98_updatestatusicon(void); static void atk99_setmist(void); -static void atk9A_set_focusenergy(void); +static void atk9A_setfocusenergy(void); static void atk9B_transformdataexecution(void); -static void atk9C_set_substitute(void); +static void atk9C_setsubstitute(void); static void atk9D_mimicattackcopy(void); static void atk9E_metronome(void); static void atk9F_dmgtolevel(void); @@ -426,39 +345,39 @@ static void atkA0_psywavedamageeffect(void); static void atkA1_counterdamagecalculator(void); static void atkA2_mirrorcoatdamagecalculator(void); static void atkA3_disablelastusedattack(void); -static void atkA4_setencore(void); +static void atkA4_trysetencore(void); static void atkA5_painsplitdmgcalc(void); static void atkA6_settypetorandomresistance(void); static void atkA7_setalwayshitflag(void); static void atkA8_copymovepermanently(void); -static void atkA9_sleeptalk_choose_move(void); -static void atkAA_set_destinybond(void); -static void atkAB_DestinyBondFlagUpdate(void); +static void atkA9_trychoosesleeptalkmove(void); +static void atkAA_setdestinybond(void); +static void atkAB_trysetdestinybondtohappen(void); static void atkAC_remaininghptopower(void); -static void atkAD_spite_ppreduce(void); -static void atkAE_heal_party_status(void); +static void atkAD_tryspiteppreduce(void); +static void atkAE_healpartystatus(void); static void atkAF_cursetarget(void); -static void atkB0_set_spikes(void); -static void atkB1_set_foresight(void); -static void atkB2_setperishsong(void); +static void atkB0_trysetspikes(void); +static void atkB1_setforesight(void); +static void atkB2_trysetperishsong(void); static void atkB3_rolloutdamagecalculation(void); static void atkB4_jumpifconfusedandstatmaxed(void); static void atkB5_furycuttercalc(void); static void atkB6_happinesstodamagecalculation(void); static void atkB7_presentdamagecalculation(void); -static void atkB8_set_safeguard(void); +static void atkB8_setsafeguard(void); static void atkB9_magnitudedamagecalculation(void); static void atkBA_jumpifnopursuitswitchdmg(void); static void atkBB_setsunny(void); static void atkBC_maxattackhalvehp(void); static void atkBD_copyfoestats(void); static void atkBE_rapidspinfree(void); -static void atkBF_set_defense_curl(void); +static void atkBF_setdefensecurlbit(void); static void atkC0_recoverbasedonsunlight(void); -static void atkC1_hidden_power_calc(void); -static void atkC2_selectnexttarget(void); -static void atkC3_setfutureattack(void); -static void atkC4_beat_up(void); +static void atkC1_hiddenpowercalc(void); +static void atkC2_selectfirstvalidtarget(void); +static void atkC3_trysetfutureattack(void); +static void atkC4_trydobeatup(void); static void atkC5_setsemiinvulnerablebit(void); static void atkC6_clearsemiinvulnerablebit(void); static void atkC7_setminimize(void); @@ -471,46 +390,46 @@ static void atkCD_cureifburnedparalysedorpoisoned(void); static void atkCE_settorment(void); static void atkCF_jumpifnodamage(void); static void atkD0_settaunt(void); -static void atkD1_set_helpinghand(void); -static void atkD2_swap_items(void); -static void atkD3_copy_ability(void); -static void atkD4_wish_effect(void); -static void atkD5_setroots(void); +static void atkD1_trysethelpinghand(void); +static void atkD2_tryswapitems(void); +static void atkD3_trycopyability(void); +static void atkD4_trywish(void); +static void atkD5_trysetroots(void); static void atkD6_doubledamagedealtifdamaged(void); static void atkD7_setyawn(void); static void atkD8_setdamagetohealthdifference(void); static void atkD9_scaledamagebyhealthratio(void); -static void atkDA_abilityswap(void); -static void atkDB_imprisoneffect(void); -static void atkDC_setgrudge(void); +static void atkDA_tryswapabilities(void); +static void atkDB_tryimprision(void); +static void atkDC_trysetgrudge(void); static void atkDD_weightdamagecalculation(void); static void atkDE_asistattackselect(void); -static void atkDF_setmagiccoat(void); -static void atkE0_setstealstatchange(void); -static void atkE1_intimidate_string_loader(void); -static void atkE2_switchout_abilities(void); +static void atkDF_trysetmagiccoat(void); +static void atkE0_trysetsnatch(void); +static void atkE1_trygetintimidatetarget(void); +static void atkE2_switchoutabilities(void); static void atkE3_jumpifhasnohp(void); static void atkE4_getsecretpowereffect(void); static void atkE5_pickup(void); -static void atkE6_castform_change_animation(void); -static void atkE7_castform_data_change(void); +static void atkE6_docastformchangeanimation(void); +static void atkE7_trycastformdatachange(void); static void atkE8_settypebasedhalvers(void); static void atkE9_setweatherballtype(void); -static void atkEA_recycleitem(void); +static void atkEA_tryrecycleitem(void); static void atkEB_settypetoterrain(void); -static void atkEC_pursuit_sth(void); -static void atkED_802B4B4(void); +static void atkEC_pursuitrelated(void); +static void atkEF_snatchsetbanks(void); static void atkEE_removelightscreenreflect(void); -static void atkEF_pokeball_catch_calculation(void); -static void atkF0_give_caught_mon(void); -static void atkF1_set_caught_mon_dex_flags(void); -static void atkF2_display_dex_info(void); -static void atkF3_nickname_caught_poke(void); +static void atkEF_handleballthrow(void); +static void atkF0_givecaughtmon(void); +static void atkF1_trysetcaughtmondexflags(void); +static void atkF2_displaydexinfo(void); +static void atkF3_trygivecaughtmonnick(void); static void atkF4_subattackerhpbydmg(void); static void atkF5_removeattackerstatus1(void); -static void atkF6_action_finished(void); -static void atkF7_turn_finished(void); -static void atkF8_trainer_slide_back(void); +static void atkF6_finishaction(void); +static void atkF7_finishturn(void); +static void atkF8_trainerslideout(void); void (* const gBattleScriptingCommandsTable[])(void) = { @@ -519,41 +438,41 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk02_attackstring, atk03_ppreduce, atk04_critcalc, - atk05_damagecalc1, + atk05_damagecalc, atk06_typecalc, - atk07_dmg_adjustment, - atk08_dmg_adjustment2, + atk07_adjustnormaldamage, + atk08_adjustnormaldamage2, atk09_attackanimation, atk0A_waitanimation, atk0B_healthbarupdate, atk0C_datahpupdate, atk0D_critmessage, - atk0E_effectiveness_sound, + atk0E_effectivenesssound, atk0F_resultmessage, atk10_printstring, - atk11_printstring_playeronly, + atk11_printselectionstring, atk12_waitmessage, atk13_printfromtable, - atk14_printfromtable_playeronly, + atk14_printselectionstringfromtable, atk15_seteffectwithchance, atk16_seteffectprimary, atk17_seteffectsecondary, - atk18_status_effect_clear, - atk19_faint_pokemon, - atk1A_faint_animation, - atk1B_faint_effects_clear, + atk18_clearstatusfromeffect, + atk19_tryfaintmon, + atk1A_dofaintanimation, + atk1B_cleareffectsonfaint, atk1C_jumpifstatus, atk1D_jumpifstatus2, atk1E_jumpifability, atk1F_jumpifsideaffecting, atk20_jumpifstat, - atk21_jumpifstatus3, + atk21_jumpifstatus3condition, atk22_jumpiftype, atk23_getexp, atk24, - atk25_move_values_cleanup, - atk26_set_multihit, - atk27_decrement_multihit, + atk25_movevaluescleanup, + atk26_setmultihit, + atk27_decrementmultihit, atk28_goto, atk29_jumpifbyte, atk2A_jumpifhalfword, @@ -564,7 +483,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk2F_addbyte, atk30_subbyte, atk31_copyarray, - atk32_copyarray_withindex, + atk32_copyarraywithindex, atk33_orbyte, atk34_orhalfword, atk35_orword, @@ -578,75 +497,75 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk3D_end, atk3E_end2, atk3F_end3, - atk40_jump_if_move_affected_by_protect, + atk40_jumpifaffectedbyprotect, atk41_call, atk42_jumpiftype2, atk43_jumpifabilitypresent, - atk44_end_selection_script, + atk44_endselectionscript, atk45_playanimation, atk46_playanimation2, atk47_setgraphicalstatchangevalues, atk48_playstatchangeanimation, atk49_moveend, atk4A_typecalc2, - atk4B_return_atk_to_ball, - atk4C_get_switched_mon_data, - atk4D_switch_data_update, - atk4E_switchin_anim, - atk4F_jump_if_cannot_switch, + atk4B_returnatktoball, + atk4C_getswitchedmondata, + atk4D_switchindataupdate, + atk4E_switchinanim, + atk4F_jumpifcantswitch, atk50_openpartyscreen, - atk51_switch_handle_order, - atk52_switch_in_effects, - atk53_trainer_slide, - atk54_effectiveness_sound, - atk55_play_fanfare, - atk56_fainting_cry, + atk51_switchhandleorder, + atk52_switchineffects, + atk53_trainerslidein, + atk54_playse, + atk55_fanfare, + atk56_playfaintcry, atk57, - atk58_return_to_ball, - atk59_learnmove_inbattle, + atk58_returntoball, + atk59_handlelearnnewmove, atk5A_yesnoboxlearnmove, atk5B_yesnoboxstoplearningmove, atk5C_hitanimation, atk5D_getmoneyreward, - atk5E_8025A70, - atk5F_8025B24, - atk60_increment_gamestat, - atk61_draw_party_status_summary, - atk62_08025C6C, + atk5E, + atk5F, + atk60_incrementgamestat, + atk61_drawpartystatussummary, + atk62, atk63_jumptorandomattack, atk64_statusanimation, atk65_status2animation, atk66_chosenstatusanimation, atk67_yesnobox, - atk68_cancel_everyones_actions, - atk69_dmg_adjustment3, + atk68_cancelallactions, + atk69_adjustsetdamage, atk6A_removeitem, atk6B_atknameinbuff1, - atk6C_draw_lvlupbox, - atk6D_reset_sentpokes_value, - atk6E_set_atk_to_player0, - atk6F_set_visible, - atk70_record_last_used_ability, - atk71_buffer_move_to_learn, - atk72_jump_if_run_attempt_success, - atk73_hp_thresholds, - atk74_hp_thresholds2, - atk75_item_effect_on_opponent, + atk6C_drawlvlupbox, + atk6D_resetsentmonsvalue, + atk6E_setatktoplayer0, + atk6F_makevisible, + atk70_recordlastability, + atk71_buffermovetolearn, + atk72_jumpifplayerran, + atk73_hpthresholds, + atk74_hpthresholds2, + atk75_useitemonopponent, atk76_various, - atk77_set_protect_like, + atk77_setprotectlike, atk78_faintifabilitynotdamp, atk79_setatkhptozero, - atk7A_jumpwhiletargetvalid, - atk7B_healhalfHP_if_possible, + atk7A_jumpifnexttargetvalid, + atk7B_tryhealhalfhealth, atk7C_trymirrormove, - atk7D_set_rain, + atk7D_setrain, atk7E_setreflect, atk7F_setseeded, atk80_manipulatedamage, - atk81_setrest, + atk81_trysetrest, atk82_jumpifnotfirstturn, atk83_nop, - atk84_jump_if_cant_sleep, + atk84_jumpifcantmakeasleep, atk85_stockpile, atk86_stockpiletobasedamage, atk87_stockpiletohpheal, @@ -655,22 +574,22 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk8A_normalisebuffs, atk8B_setbide, atk8C_confuseifrepeatingattackends, - atk8D_setmultihit_counter, - atk8E_init_multihit_string, + atk8D_setmultihitcounter, + atk8E_initmultihitstring, atk8F_forcerandomswitch, - atk90_conversion_type_change, + atk90_tryconversiontypechange, atk91_givepaydaymoney, atk92_setlightscreen, - atk93_ko_move, + atk93_tryKO, atk94_damagetohalftargethp, atk95_setsandstorm, atk96_weatherdamage, - atk97_try_infatuation, - atk98_status_icon_update, + atk97_tryinfatuating, + atk98_updatestatusicon, atk99_setmist, - atk9A_set_focusenergy, + atk9A_setfocusenergy, atk9B_transformdataexecution, - atk9C_set_substitute, + atk9C_setsubstitute, atk9D_mimicattackcopy, atk9E_metronome, atk9F_dmgtolevel, @@ -678,39 +597,39 @@ void (* const gBattleScriptingCommandsTable[])(void) = atkA1_counterdamagecalculator, atkA2_mirrorcoatdamagecalculator, atkA3_disablelastusedattack, - atkA4_setencore, + atkA4_trysetencore, atkA5_painsplitdmgcalc, atkA6_settypetorandomresistance, atkA7_setalwayshitflag, atkA8_copymovepermanently, - atkA9_sleeptalk_choose_move, - atkAA_set_destinybond, - atkAB_DestinyBondFlagUpdate, + atkA9_trychoosesleeptalkmove, + atkAA_setdestinybond, + atkAB_trysetdestinybondtohappen, atkAC_remaininghptopower, - atkAD_spite_ppreduce, - atkAE_heal_party_status, + atkAD_tryspiteppreduce, + atkAE_healpartystatus, atkAF_cursetarget, - atkB0_set_spikes, - atkB1_set_foresight, - atkB2_setperishsong, + atkB0_trysetspikes, + atkB1_setforesight, + atkB2_trysetperishsong, atkB3_rolloutdamagecalculation, atkB4_jumpifconfusedandstatmaxed, atkB5_furycuttercalc, atkB6_happinesstodamagecalculation, atkB7_presentdamagecalculation, - atkB8_set_safeguard, + atkB8_setsafeguard, atkB9_magnitudedamagecalculation, atkBA_jumpifnopursuitswitchdmg, atkBB_setsunny, atkBC_maxattackhalvehp, atkBD_copyfoestats, atkBE_rapidspinfree, - atkBF_set_defense_curl, + atkBF_setdefensecurlbit, atkC0_recoverbasedonsunlight, - atkC1_hidden_power_calc, - atkC2_selectnexttarget, - atkC3_setfutureattack, - atkC4_beat_up, + atkC1_hiddenpowercalc, + atkC2_selectfirstvalidtarget, + atkC3_trysetfutureattack, + atkC4_trydobeatup, atkC5_setsemiinvulnerablebit, atkC6_clearsemiinvulnerablebit, atkC7_setminimize, @@ -723,46 +642,46 @@ void (* const gBattleScriptingCommandsTable[])(void) = atkCE_settorment, atkCF_jumpifnodamage, atkD0_settaunt, - atkD1_set_helpinghand, - atkD2_swap_items, - atkD3_copy_ability, - atkD4_wish_effect, - atkD5_setroots, + atkD1_trysethelpinghand, + atkD2_tryswapitems, + atkD3_trycopyability, + atkD4_trywish, + atkD5_trysetroots, atkD6_doubledamagedealtifdamaged, atkD7_setyawn, atkD8_setdamagetohealthdifference, atkD9_scaledamagebyhealthratio, - atkDA_abilityswap, - atkDB_imprisoneffect, - atkDC_setgrudge, + atkDA_tryswapabilities, + atkDB_tryimprision, + atkDC_trysetgrudge, atkDD_weightdamagecalculation, atkDE_asistattackselect, - atkDF_setmagiccoat, - atkE0_setstealstatchange, - atkE1_intimidate_string_loader, - atkE2_switchout_abilities, + atkDF_trysetmagiccoat, + atkE0_trysetsnatch, + atkE1_trygetintimidatetarget, + atkE2_switchoutabilities, atkE3_jumpifhasnohp, atkE4_getsecretpowereffect, atkE5_pickup, - atkE6_castform_change_animation, - atkE7_castform_data_change, + atkE6_docastformchangeanimation, + atkE7_trycastformdatachange, atkE8_settypebasedhalvers, atkE9_setweatherballtype, - atkEA_recycleitem, + atkEA_tryrecycleitem, atkEB_settypetoterrain, - atkEC_pursuit_sth, - atkED_802B4B4, + atkEC_pursuitrelated, + atkEF_snatchsetbanks, atkEE_removelightscreenreflect, - atkEF_pokeball_catch_calculation, - atkF0_give_caught_mon, - atkF1_set_caught_mon_dex_flags, - atkF2_display_dex_info, - atkF3_nickname_caught_poke, + atkEF_handleballthrow, + atkF0_givecaughtmon, + atkF1_trysetcaughtmondexflags, + atkF2_displaydexinfo, + atkF3_trygivecaughtmonnick, atkF4_subattackerhpbydmg, atkF5_removeattackerstatus1, - atkF6_action_finished, - atkF7_turn_finished, - atkF8_trainer_slide_back + atkF6_finishaction, + atkF7_finishturn, + atkF8_trainerslideout }; struct StatFractions @@ -1186,8 +1105,8 @@ static void atk00_attackcanceler(void) { CancelMultiTurnMoves(gBankAttacker); gBattleMoveFlags |= MOVESTATUS_MISSED; - gUnknown_02024250[gBankTarget] = 0; - gUnknown_02024258[gBankTarget] = 0; + gLastLandedMoves[gBankTarget] = 0; + gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = 1; gBattlescriptCurrInstr++; } @@ -1199,23 +1118,23 @@ static void atk00_attackcanceler(void) static void JumpIfMoveFailed(u8 adder, u16 move) { - const void* BS_ptr = gBattlescriptCurrInstr + adder; + const u8 *BS_ptr = gBattlescriptCurrInstr + adder; if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) { - gUnknown_02024250[gBankTarget] = 0; - gUnknown_02024258[gBankTarget] = 0; + gLastLandedMoves[gBankTarget] = 0; + gLastHitByType[gBankTarget] = 0; BS_ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } else { - DestinyBondFlagUpdate(); + TrySetDestinyBondToHappen(); if (AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBankTarget, 0, 0, move)) return; } gBattlescriptCurrInstr = BS_ptr; } -static void atk40_jump_if_move_affected_by_protect(void) +static void atk40_jumpifaffectedbyprotect(void) { if (TARGET_PROTECT_AFFECTED) { @@ -1476,7 +1395,7 @@ static void atk04_critcalc(void) gBattlescriptCurrInstr++; } -static void atk05_damagecalc1(void) +static void atk05_damagecalc(void) { u16 sideStatus = gSideAffecting[GET_BANK_SIDE(gBankTarget)]; gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, @@ -1565,8 +1484,8 @@ static void atk06_typecalc(void) { gLastUsedAbility = gBattleMons[gBankTarget].ability; gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); - gUnknown_02024250[gBankTarget] = 0; - gUnknown_02024258[gBankTarget] = 0; + gLastLandedMoves[gBankTarget] = 0; + gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = moveType; RecordAbilityBattle(gBankTarget, gLastUsedAbility); } @@ -1601,8 +1520,8 @@ static void atk06_typecalc(void) { gLastUsedAbility = ABILITY_WONDER_GUARD; gBattleMoveFlags |= MOVESTATUS_MISSED; - gUnknown_02024250[gBankTarget] = 0; - gUnknown_02024258[gBankTarget] = 0; + gLastLandedMoves[gBankTarget] = 0; + gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = 3; RecordAbilityBattle(gBankTarget, gLastUsedAbility); } @@ -1843,7 +1762,7 @@ static void Unused_ApplyRandomDmgMultiplier(void) ApplyRandomDmgMultiplier(); } -static void atk07_dmg_adjustment(void) +static void atk07_adjustnormaldamage(void) { u8 holdEffect, quality; @@ -1891,7 +1810,7 @@ static void atk07_dmg_adjustment(void) gBattlescriptCurrInstr++; } -static void atk08_dmg_adjustment2(void) // The same as 0x7 except it doesn't check for false swipe move effect. +static void atk08_adjustnormaldamage2(void) // The same as 0x7 except it doesn't check for false swipe move effect. { u8 holdEffect, quality; @@ -2172,7 +2091,7 @@ static void atk0D_critmessage(void) } } -static void atk0E_effectiveness_sound(void) +static void atk0E_effectivenesssound(void) { if (gBattleExecBuffer) return; @@ -2183,11 +2102,11 @@ static void atk0E_effectiveness_sound(void) switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED))) { case MOVESTATUS_SUPEREFFECTIVE: - EmitEffectivenessSound(0, SE_KOUKA_H); + EmitPlaySE(0, SE_KOUKA_H); MarkBufferBankForExecution(gActiveBank); break; case MOVESTATUS_NOTVERYEFFECTIVE: - EmitEffectivenessSound(0, SE_KOUKA_L); + EmitPlaySE(0, SE_KOUKA_L); MarkBufferBankForExecution(gActiveBank); break; case MOVESTATUS_NOTAFFECTED: @@ -2200,17 +2119,17 @@ static void atk0E_effectiveness_sound(void) default: if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) { - EmitEffectivenessSound(0, SE_KOUKA_H); + EmitPlaySE(0, SE_KOUKA_H); MarkBufferBankForExecution(gActiveBank); } else if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE) { - EmitEffectivenessSound(0, SE_KOUKA_L); + EmitPlaySE(0, SE_KOUKA_L); MarkBufferBankForExecution(gActiveBank); } else if (!(gBattleMoveFlags & (MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED))) { - EmitEffectivenessSound(0, SE_KOUKA_M); + EmitPlaySE(0, SE_KOUKA_M); MarkBufferBankForExecution(gActiveBank); } break; @@ -2319,11 +2238,11 @@ static void atk10_printstring(void) } } -static void atk11_printstring_playeronly(void) +static void atk11_printselectionstring(void) { gActiveBank = gBankAttacker; - EmitPrintStringPlayerOnly(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + EmitPrintSelectionString(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; @@ -2365,7 +2284,7 @@ static void atk13_printfromtable(void) } } -static void atk14_printfromtable_playeronly(void) +static void atk14_printselectionstringfromtable(void) { if (gBattleExecBuffer == 0) { @@ -2373,7 +2292,7 @@ static void atk14_printfromtable_playeronly(void) ptr += gBattleCommunication[MULTISTRING_CHOOSER]; gActiveBank = gBankAttacker; - EmitPrintStringPlayerOnly(0, *ptr); + EmitPrintSelectionString(0, *ptr); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 5; @@ -3134,7 +3053,7 @@ static void atk17_seteffectsecondary(void) SetMoveEffect(FALSE, 0); } -static void atk18_status_effect_clear(void) +static void atk18_clearstatusfromeffect(void) { gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); @@ -3148,7 +3067,7 @@ static void atk18_status_effect_clear(void) gBattleScripting.field_16 = 0; } -static void atk19_faint_pokemon(void) +static void atk19_tryfaintmon(void) { const u8 *BS_ptr; @@ -3235,7 +3154,7 @@ static void atk19_faint_pokemon(void) } } -static void atk1A_faint_animation(void) +static void atk1A_dofaintanimation(void) { if (gBattleExecBuffer == 0) { @@ -3246,7 +3165,7 @@ static void atk1A_faint_animation(void) } } -static void atk1B_faint_effects_clear(void) +static void atk1B_cleareffectsonfaint(void) { if (gBattleExecBuffer == 0) { @@ -3395,10 +3314,10 @@ static void atk20_jumpifstat(void) gBattlescriptCurrInstr += 9; } -static void atk21_jumpifstatus3(void) +static void atk21_jumpifstatus3condition(void) { u32 flags; - const u8* jumpPtr; + const u8 *jumpPtr; gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); @@ -4098,19 +4017,19 @@ static void MoveValuesCleanUp(void) gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT); } -static void atk25_move_values_cleanup(void) +static void atk25_movevaluescleanup(void) { MoveValuesCleanUp(); gBattlescriptCurrInstr += 1; } -static void atk26_set_multihit(void) +static void atk26_setmultihit(void) { gMultiHitCounter = gBattlescriptCurrInstr[1]; gBattlescriptCurrInstr += 2; } -static void atk27_decrement_multihit(void) +static void atk27_decrementmultihit(void) { if (--gMultiHitCounter == 0) gBattlescriptCurrInstr += 5; @@ -4320,7 +4239,7 @@ static void atk31_copyarray(void) gBattlescriptCurrInstr += 10; } -static void atk32_copyarray_withindex(void) +static void atk32_copyarraywithindex(void) { u8* dest = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); const u8* src = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); @@ -4470,7 +4389,7 @@ static void atk43_jumpifabilitypresent(void) gBattlescriptCurrInstr += 6; } -static void atk44_end_selection_script(void) +static void atk44_endselectionscript(void) { *(gBankAttacker + gBattleStruct->selectionScriptFinished) = TRUE; } @@ -4937,14 +4856,14 @@ static void atk49_moveend(void) u8 holdEffectAtk; u16 *choicedMoveAtk; u8 arg1, arg2; - u16 lastMove; + u16 originallyUsedMove; effect = FALSE; - if (gLastUsedMove == 0xFFFF) - lastMove = 0; + if (gChosenMove == 0xFFFF) + originallyUsedMove = 0; else - lastMove = gLastUsedMove; + originallyUsedMove = gChosenMove; arg1 = gBattlescriptCurrInstr[1]; arg2 = gBattlescriptCurrInstr[2]; @@ -5015,14 +4934,14 @@ static void atk49_moveend(void) break; case 6: // update choice band move if (!(gHitMarker & HITMARKER_OBEYS) || holdEffectAtk != HOLD_EFFECT_CHOICE_BAND - || gLastUsedMove == MOVE_STRUGGLE || (*choicedMoveAtk != 0 && *choicedMoveAtk != 0xFFFF)) + || gChosenMove == MOVE_STRUGGLE || (*choicedMoveAtk != 0 && *choicedMoveAtk != 0xFFFF)) goto LOOP; - if (gLastUsedMove == MOVE_BATON_PASS && !(gBattleMoveFlags & MOVESTATUS_FAILED)) + if (gChosenMove == MOVE_BATON_PASS && !(gBattleMoveFlags & MOVESTATUS_FAILED)) { gBattleScripting.atk49_state++; break; } - *choicedMoveAtk = gLastUsedMove; + *choicedMoveAtk = gChosenMove; LOOP: { for (i = 0; i < 4; i++) @@ -5117,63 +5036,63 @@ static void atk49_moveend(void) } if (gHitMarker & HITMARKER_ATTACKSTRING_PRINTED) { - gUnknownMovesUsedByBanks[gBankAttacker] = gLastUsedMove; + gLastPrintedMoves[gBankAttacker] = gChosenMove; } if (!(gAbsentBankFlags & gBitTable[gBankAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBankAttacker]) - && gBattleMoves[lastMove].effect != EFFECT_BATON_PASS) + && gBattleMoves[originallyUsedMove].effect != EFFECT_BATON_PASS) { if (gHitMarker & HITMARKER_OBEYS) { - gLastUsedMovesByBanks[gBankAttacker] = gLastUsedMove; - gUnknown_02024260[gBankAttacker] = gCurrentMove; + gLastMoves[gBankAttacker] = gChosenMove; + gLastResultingMoves[gBankAttacker] = gCurrentMove; } else { - gLastUsedMovesByBanks[gBankAttacker] = 0xFFFF; - gUnknown_02024260[gBankAttacker] = 0xFFFF; + gLastMoves[gBankAttacker] = 0xFFFF; + gLastResultingMoves[gBankAttacker] = 0xFFFF; } if (!(gHitMarker & HITMARKER_FAINTED(gBankTarget))) - gUnknown_02024270[gBankTarget] = gBankAttacker; + gLastHitBy[gBankTarget] = gBankAttacker; if (gHitMarker & HITMARKER_OBEYS && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) { - if (gLastUsedMove == 0xFFFF) + if (gChosenMove == 0xFFFF) { - gUnknown_02024250[gBankTarget] = gLastUsedMove; + gLastLandedMoves[gBankTarget] = gChosenMove; } else { - gUnknown_02024250[gBankTarget] = gCurrentMove; - GET_MOVE_TYPE(gCurrentMove, gUnknown_02024258[gBankTarget]); + gLastLandedMoves[gBankTarget] = gCurrentMove; + GET_MOVE_TYPE(gCurrentMove, gLastHitByType[gBankTarget]); } } else { - gUnknown_02024250[gBankTarget] = 0xFFFF; + gLastLandedMoves[gBankTarget] = 0xFFFF; } } gBattleScripting.atk49_state++; break; case 15: // mirror move if (!(gAbsentBankFlags & gBitTable[gBankAttacker]) && !(gBattleStruct->field_91 & gBitTable[gBankAttacker]) - && gBattleMoves[lastMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS + && gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED && gHitMarker & HITMARKER_OBEYS && gBankAttacker != gBankTarget && !(gHitMarker & HITMARKER_FAINTED(gBankTarget)) && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) { u8 target, attacker; - *(gBattleStruct->mirrorMoves + gBankTarget * 2 + 0) = gLastUsedMove; - *(gBattleStruct->mirrorMoves + gBankTarget * 2 + 1) = gLastUsedMove >> 8; + *(gBattleStruct->mirrorMoves + gBankTarget * 2 + 0) = gChosenMove; + *(gBattleStruct->mirrorMoves + gBankTarget * 2 + 1) = gChosenMove >> 8; target = gBankTarget; attacker = gBankAttacker; - *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = gLastUsedMove; + *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = gChosenMove; target = gBankTarget; attacker = gBankAttacker; - *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = gLastUsedMove >> 8; + *(attacker * 2 + target * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 1) = gChosenMove >> 8; } gBattleScripting.atk49_state++; break; @@ -5190,7 +5109,7 @@ static void atk49_moveend(void) gBattleScripting.atk49_state = 0; MoveValuesCleanUp(); BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); - gBattlescriptCurrInstr = gUnknown_082DB87D; + gBattlescriptCurrInstr = BattleScript_82DB87D; return; } else @@ -5225,7 +5144,7 @@ static void atk4A_typecalc2(void) { gLastUsedAbility = gBattleMons[gBankTarget].ability; gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); - gUnknown_02024250[gBankTarget] = 0; + gLastLandedMoves[gBankTarget] = 0; gBattleCommunication[6] = moveType; RecordAbilityBattle(gBankTarget, gLastUsedAbility); } @@ -5300,7 +5219,7 @@ static void atk4A_typecalc2(void) { gLastUsedAbility = ABILITY_WONDER_GUARD; gBattleMoveFlags |= MOVESTATUS_MISSED; - gUnknown_02024250[gBankTarget] = 0; + gLastLandedMoves[gBankTarget] = 0; gBattleCommunication[6] = 3; RecordAbilityBattle(gBankTarget, gLastUsedAbility); } @@ -5310,7 +5229,7 @@ static void atk4A_typecalc2(void) gBattlescriptCurrInstr++; } -static void atk4B_return_atk_to_ball(void) +static void atk4B_returnatktoball(void) { gActiveBank = gBankAttacker; if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank))) @@ -5321,7 +5240,7 @@ static void atk4B_return_atk_to_ball(void) gBattlescriptCurrInstr++; } -static void atk4C_get_switched_mon_data(void) +static void atk4C_getswitchedmondata(void) { if (gBattleExecBuffer) return; @@ -5336,7 +5255,7 @@ static void atk4C_get_switched_mon_data(void) gBattlescriptCurrInstr += 2; } -static void atk4D_switch_data_update(void) +static void atk4D_switchindataupdate(void) { struct BattlePokemon oldData; s32 i; @@ -5389,7 +5308,7 @@ static void atk4D_switch_data_update(void) gBattlescriptCurrInstr += 2; } -static void atk4E_switchin_anim(void) +static void atk4E_switchinanim(void) { if (gBattleExecBuffer) return; @@ -5415,7 +5334,7 @@ static void atk4E_switchin_anim(void) sub_81A56B4(); } -static void atk4F_jump_if_cannot_switch(void) +static void atk4F_jumpifcantswitch(void) { s32 val = 0; s32 compareVar = 0; @@ -5533,10 +5452,10 @@ static void atk4F_jump_if_cannot_switch(void) { if (GetBankSide(gActiveBank) == SIDE_OPPONENT) { - r7 = GetBankByIdentity(1); + r7 = GetBankByIdentity(IDENTITY_OPPONENT_MON1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - compareVar = GetBankByIdentity(3); + compareVar = GetBankByIdentity(IDENTITY_OPPONENT_MON2); else compareVar = r7; @@ -5544,10 +5463,10 @@ static void atk4F_jump_if_cannot_switch(void) } else { - r7 = GetBankByIdentity(0); + r7 = GetBankByIdentity(IDENTITY_PLAYER_MON1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - compareVar = GetBankByIdentity(2); + compareVar = GetBankByIdentity(IDENTITY_PLAYER_MON2); else compareVar = r7; @@ -5869,7 +5788,7 @@ static void atk50_openpartyscreen(void) } } -static void atk51_switch_handle_order(void) +static void atk51_switchhandleorder(void) { s32 i; if (gBattleExecBuffer) @@ -5936,7 +5855,7 @@ static void atk51_switch_handle_order(void) gBattlescriptCurrInstr += 3; } -static void atk52_switch_in_effects(void) +static void atk52_switchineffects(void) { s32 i; @@ -5967,12 +5886,12 @@ static void atk52_switch_in_effects(void) gBattleScripting.bank = gActiveBank; BattleScriptPushCursor(); - if (gBattlescriptCurrInstr[1] == 0) - gBattlescriptCurrInstr = gUnknown_082DAE90; - else if (gBattlescriptCurrInstr[1] == 1) - gBattlescriptCurrInstr = gUnknown_082DAE59; + if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) + gBattlescriptCurrInstr = BattleScript_SpikesOnTarget; + else if (gBattlescriptCurrInstr[1] == BS_GET_ATTACKER) + gBattlescriptCurrInstr = BattleScript_SpikesOnAttacker; else - gBattlescriptCurrInstr = gUnknown_082DAEC7; + gBattlescriptCurrInstr = BattleScript_SpikesOngBank1; } else { @@ -6017,7 +5936,7 @@ static void atk52_switch_in_effects(void) } } -static void atk53_trainer_slide(void) +static void atk53_trainerslidein(void) { gActiveBank = GetBankByIdentity(gBattlescriptCurrInstr[1]); EmitTrainerSlide(0); @@ -6026,16 +5945,16 @@ static void atk53_trainer_slide(void) gBattlescriptCurrInstr += 2; } -static void atk54_effectiveness_sound(void) +static void atk54_playse(void) { gActiveBank = gBankAttacker; - EmitEffectivenessSound(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + EmitPlaySE(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; } -static void atk55_play_fanfare(void) +static void atk55_fanfare(void) { gActiveBank = gBankAttacker; EmitPlayFanfareOrBGM(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1), FALSE); @@ -6044,7 +5963,7 @@ static void atk55_play_fanfare(void) gBattlescriptCurrInstr += 3; } -static void atk56_fainting_cry(void) +static void atk56_playfaintcry(void) { gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); EmitFaintingCry(0); @@ -6055,14 +5974,14 @@ static void atk56_fainting_cry(void) static void atk57(void) { - gActiveBank = GetBankByIdentity(0); + gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1); EmitCmd55(0, gBattleOutcome); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 1; } -static void atk58_return_to_ball(void) +static void atk58_returntoball(void) { gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); EmitReturnMonToBall(0, 1); @@ -6071,10 +5990,10 @@ static void atk58_return_to_ball(void) gBattlescriptCurrInstr += 2; } -static void atk59_learnmove_inbattle(void) +static void atk59_handlelearnnewmove(void) { - const u8* jumpPtr1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - const u8* jumpPtr2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5); + const u8 *jumpPtr1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + const u8 *jumpPtr2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5); u16 ret = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterId], gBattlescriptCurrInstr[9]); while (ret == 0xFFFE) @@ -6090,7 +6009,7 @@ static void atk59_learnmove_inbattle(void) } else { - gActiveBank = GetBankByIdentity(0); + gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON1); if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) @@ -6099,7 +6018,7 @@ static void atk59_learnmove_inbattle(void) } if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gActiveBank = GetBankByIdentity(2); + gActiveBank = GetBankByIdentity(IDENTITY_PLAYER_MON2); if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterId && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) { @@ -6367,7 +6286,7 @@ static void atk5D_getmoneyreward(void) gBattlescriptCurrInstr++; } -static void atk5E_8025A70(void) +static void atk5E(void) { gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); @@ -6394,7 +6313,7 @@ static void atk5E_8025A70(void) } } -static void atk5F_8025B24(void) +static void atk5F(void) { gActiveBank = gBankAttacker; gBankAttacker = gBankTarget; @@ -6408,7 +6327,7 @@ static void atk5F_8025B24(void) gBattlescriptCurrInstr++; } -static void atk60_increment_gamestat(void) +static void atk60_incrementgamestat(void) { if (GetBankSide(gBankAttacker) == SIDE_PLAYER) IncrementGameStat(gBattlescriptCurrInstr[1]); @@ -6416,7 +6335,7 @@ static void atk60_increment_gamestat(void) gBattlescriptCurrInstr += 2; } -static void atk61_draw_party_status_summary(void) +static void atk61_drawpartystatussummary(void) { s32 i; struct Pokemon* party; @@ -6453,7 +6372,7 @@ static void atk61_draw_party_status_summary(void) gBattlescriptCurrInstr += 2; } -static void atk62_08025C6C(void) +static void atk62(void) { gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); EmitCmd49(0); @@ -6467,7 +6386,7 @@ static void atk63_jumptorandomattack(void) if (gBattlescriptCurrInstr[1] != 0) gCurrentMove = gRandomMove; else - gLastUsedMove = gCurrentMove = gRandomMove; + gChosenMove = gCurrentMove = gRandomMove; gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; } @@ -6569,7 +6488,7 @@ static void atk67_yesnobox(void) } } -static void atk68_cancel_everyones_actions(void) +static void atk68_cancelallactions(void) { s32 i; @@ -6579,7 +6498,7 @@ static void atk68_cancel_everyones_actions(void) gBattlescriptCurrInstr++; } -static void atk69_dmg_adjustment3(void) // The same as 0x7, except there's no random damage multiplier. +static void atk69_adjustsetdamage(void) // The same as 0x7, except there's no random damage multiplier. { u8 holdEffect, quality; @@ -6648,7 +6567,7 @@ static void atk6B_atknameinbuff1(void) gBattlescriptCurrInstr++; } -static void atk6C_draw_lvlupbox(void) +static void atk6C_drawlvlupbox(void) { if (gBattleScripting.atk6C_state == 0) { @@ -6922,19 +6841,19 @@ static bool32 IsMonGettingExpSentOut(void) return FALSE; } -static void atk6D_reset_sentpokes_value(void) +static void atk6D_resetsentmonsvalue(void) { ResetSentPokesToOpponentValue(); gBattlescriptCurrInstr++; } -static void atk6E_set_atk_to_player0(void) +static void atk6E_setatktoplayer0(void) { - gBankAttacker = GetBankByIdentity(0); + gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1); gBattlescriptCurrInstr++; } -static void atk6F_set_visible(void) +static void atk6F_makevisible(void) { gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); EmitSpriteInvisibility(0, FALSE); @@ -6943,7 +6862,7 @@ static void atk6F_set_visible(void) gBattlescriptCurrInstr += 2; } -static void atk70_record_last_used_ability(void) +static void atk70_recordlastability(void) { gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); RecordAbilityBattle(gActiveBank, gLastUsedAbility); @@ -6955,13 +6874,13 @@ void BufferMoveToLearnIntoBattleTextBuff2(void) PREPARE_MOVE_BUFFER(gBattleTextBuff2, gMoveToLearn); } -static void atk71_buffer_move_to_learn(void) +static void atk71_buffermovetolearn(void) { BufferMoveToLearnIntoBattleTextBuff2(); gBattlescriptCurrInstr++; } -static void atk72_jump_if_run_attempt_success(void) +static void atk72_jumpifplayerran(void) { if (TryRunFromBattle(gBank1)) gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); @@ -6969,7 +6888,7 @@ static void atk72_jump_if_run_attempt_success(void) gBattlescriptCurrInstr += 5; } -static void atk73_hp_thresholds(void) +static void atk73_hpthresholds(void) { u8 opposingBank; s32 result; @@ -6996,7 +6915,7 @@ static void atk73_hp_thresholds(void) gBattlescriptCurrInstr += 2; } -static void atk74_hp_thresholds2(void) +static void atk74_hpthresholds2(void) { u8 opposingBank; s32 result; @@ -7022,7 +6941,7 @@ static void atk74_hp_thresholds2(void) gBattlescriptCurrInstr += 2; } -static void atk75_item_effect_on_opponent(void) +static void atk75_useitemonopponent(void) { gBankInMenu = gBankAttacker; ExecuteTableBasedItemEffect(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1); @@ -7044,13 +6963,13 @@ static void atk76_various(void) break; case VARIOUS_SET_MAGIC_COAT_TARGET: gBankAttacker = gBankTarget; - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBankSide(gBankAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer != 0 && gBattleMons[gSideTimers[side].followmeTarget].hp != 0) gBankTarget = gSideTimers[side].followmeTarget; else gBankTarget = gActiveBank; break; - case VARIOUS_CAN_RUN_FROM_BATTLE: + case VARIOUS_IS_RUNNING_IMPOSSIBLE: gBattleCommunication[0] = IsRunningFromBattleImpossible(); break; case VARIOUS_GET_MOVE_TARGET: @@ -7209,10 +7128,10 @@ static void atk76_various(void) gBattlescriptCurrInstr += 3; } -static void atk77_set_protect_like(void) // protect and endure +static void atk77_setprotectlike(void) // protect and endure { bool8 notLastTurn = TRUE; - u16 lastMove = gUnknown_02024260[gBankAttacker]; + u16 lastMove = gLastResultingMoves[gBankAttacker]; if (lastMove != MOVE_PROTECT && lastMove != MOVE_DETECT && lastMove != MOVE_ENDURE) gDisableStructs[gBankAttacker].protectUses = 0; @@ -7292,9 +7211,9 @@ static void atk79_setatkhptozero(void) gBattlescriptCurrInstr++; } -static void atk7A_jumpwhiletargetvalid(void) // Used by intimidate to loop through all targets. +static void atk7A_jumpifnexttargetvalid(void) { - const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + const u8 *jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -7312,10 +7231,12 @@ static void atk7A_jumpwhiletargetvalid(void) // Used by intimidate to loop throu gBattlescriptCurrInstr = jumpPtr; } else + { gBattlescriptCurrInstr += 5; + } } -static void atk7B_healhalfHP_if_possible(void) +static void atk7B_tryhealhalfhealth(void) { const u8* failPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); @@ -7383,7 +7304,7 @@ static void atk7C_trymirrormove(void) } } -static void atk7D_set_rain(void) +static void atk7D_setrain(void) { if (gBattleWeather & WEATHER_RAIN_ANY) { @@ -7464,9 +7385,9 @@ static void atk80_manipulatedamage(void) gBattlescriptCurrInstr += 2; } -static void atk81_setrest(void) +static void atk81_trysetrest(void) { - const u8* failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + const u8 *failJump = BSScriptReadPtr(gBattlescriptCurrInstr + 1); gActiveBank = gBankTarget = gBankAttacker; gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1); @@ -7530,9 +7451,9 @@ bool8 UproarWakeUpCheck(u8 bank) return TRUE; } -static void atk84_jump_if_cant_sleep(void) +static void atk84_jumpifcantmakeasleep(void) { - const u8* jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + const u8 *jumpPtr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); if (UproarWakeUpCheck(gBankTarget)) { @@ -7636,9 +7557,9 @@ static void atk88_negativedamage(void) gBattlescriptCurrInstr++; } -static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8* BS_ptr) +static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) { - bool8 certain = 0; + bool8 certain = FALSE; bool8 notProtectAffected = FALSE; u32 index; @@ -7746,15 +7667,15 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8* BS_ptr) if (statValue == -2) { gBattleTextBuff2[1] = B_BUFF_STRING; - gBattleTextBuff2[2] = 0xD3; // harshly - gBattleTextBuff2[3] = 0xD3 >> 8; + gBattleTextBuff2[2] = STRINGID_STATHARSHLY; + gBattleTextBuff2[3] = STRINGID_STATHARSHLY >> 8; index = 4; } gBattleTextBuff2[index] = B_BUFF_STRING; index++; - gBattleTextBuff2[index] = 0xD4; // fell + gBattleTextBuff2[index] = STRINGID_STATFELL; index++; - gBattleTextBuff2[index] = 0xD4 >> 8; + gBattleTextBuff2[index] = STRINGID_STATFELL >> 8; index++; gBattleTextBuff2[index] = B_BUFF_EOS; @@ -7773,15 +7694,15 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8* BS_ptr) if (statValue == 2) { gBattleTextBuff2[1] = B_BUFF_STRING; - gBattleTextBuff2[2] = 0xD1; // sharply - gBattleTextBuff2[3] = 0xD1 >> 8; + gBattleTextBuff2[2] = STRINGID_STATSHARPLY; + gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8; index = 4; } gBattleTextBuff2[index] = B_BUFF_STRING; index++; - gBattleTextBuff2[index] = 0xD2; // rose + gBattleTextBuff2[index] = STRINGID_STATROSE; index++; - gBattleTextBuff2[index] = 0xD2 >> 8; + gBattleTextBuff2[index] = STRINGID_STATROSE >> 8; index++; gBattleTextBuff2[index] = B_BUFF_EOS; @@ -7844,7 +7765,7 @@ static void atk8C_confuseifrepeatingattackends(void) gBattlescriptCurrInstr++; } -static void atk8D_setmultihit_counter(void) +static void atk8D_setmultihitcounter(void) { if (gBattlescriptCurrInstr[1]) { @@ -7862,7 +7783,7 @@ static void atk8D_setmultihit_counter(void) gBattlescriptCurrInstr += 2; } -static void atk8E_init_multihit_string(void) +static void atk8E_initmultihitstring(void) { PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) @@ -7886,7 +7807,7 @@ static bool8 sub_8051064(void) *(gBattleStruct->field_58 + gBankTarget) = gBattlePartyID[gBankTarget]; } - gBattlescriptCurrInstr = gUnknown_082DADD8; + gBattlescriptCurrInstr = BattleScript_82DADD8; return TRUE; } @@ -8051,7 +7972,7 @@ static void atk8F_forcerandomswitch(void) } } -static void atk90_conversion_type_change(void) // randomly changes user's type to one of its moves' type +static void atk90_tryconversiontypechange(void) // randomly changes user's type to one of its moves' type { u8 validMoves = 0; u8 moveChecked; @@ -8155,7 +8076,7 @@ static void atk92_setlightscreen(void) gBattlescriptCurrInstr++; } -static void atk93_ko_move(void) +static void atk93_tryKO(void) { u8 holdEffect, param; @@ -8319,7 +8240,7 @@ static void atk96_weatherdamage(void) gBattlescriptCurrInstr++; } -static void atk97_try_infatuation(void) +static void atk97_tryinfatuating(void) { struct Pokemon *monAttacker, *monTarget; u16 speciesAttacker, speciesTarget; @@ -8364,7 +8285,7 @@ static void atk97_try_infatuation(void) } } -static void atk98_status_icon_update(void) +static void atk98_updatestatusicon(void) { if (gBattleExecBuffer) return; @@ -8414,7 +8335,7 @@ static void atk99_setmist(void) gBattlescriptCurrInstr++; } -static void atk9A_set_focusenergy(void) +static void atk9A_setfocusenergy(void) { if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY) { @@ -8431,7 +8352,7 @@ static void atk9A_set_focusenergy(void) static void atk9B_transformdataexecution(void) { - gLastUsedMove = 0xFFFF; + gChosenMove = 0xFFFF; gBattlescriptCurrInstr++; if (gBattleMons[gBankTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE) @@ -8473,7 +8394,7 @@ static void atk9B_transformdataexecution(void) } } -static void atk9C_set_substitute(void) +static void atk9C_setsubstitute(void) { u32 hp = gBattleMons[gBankAttacker].maxHP / 4; if (gBattleMons[gBankAttacker].maxHP / 4 == 0) @@ -8511,12 +8432,12 @@ static bool8 IsMoveUncopyableByMimic(u16 move) static void atk9D_mimicattackcopy(void) { - gLastUsedMove = 0xFFFF; + gChosenMove = 0xFFFF; - if (IsMoveUncopyableByMimic(gLastUsedMovesByBanks[gBankTarget]) + if (IsMoveUncopyableByMimic(gLastMoves[gBankTarget]) || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED - || gLastUsedMovesByBanks[gBankTarget] == 0 - || gLastUsedMovesByBanks[gBankTarget] == 0xFFFF) + || gLastMoves[gBankTarget] == 0 + || gLastMoves[gBankTarget] == 0xFFFF) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } @@ -8526,20 +8447,20 @@ static void atk9D_mimicattackcopy(void) for (i = 0; i < 4; i++) { - if (gBattleMons[gBankAttacker].moves[i] == gLastUsedMovesByBanks[gBankTarget]) + if (gBattleMons[gBankAttacker].moves[i] == gLastMoves[gBankTarget]) break; } if (i == 4) { - gBattleMons[gBankAttacker].moves[gCurrMovePos] = gLastUsedMovesByBanks[gBankTarget]; - if (gBattleMoves[gLastUsedMovesByBanks[gBankTarget]].pp < 5) - gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gLastUsedMovesByBanks[gBankTarget]].pp; + gBattleMons[gBankAttacker].moves[gCurrMovePos] = gLastMoves[gBankTarget]; + if (gBattleMoves[gLastMoves[gBankTarget]].pp < 5) + gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gLastMoves[gBankTarget]].pp; else gBattleMons[gBankAttacker].pp[gCurrMovePos] = 5; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastUsedMovesByBanks[gBankTarget]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBankTarget]) gDisableStructs[gBankAttacker].unk18_b |= gBitTable[gCurrMovePos]; gBattlescriptCurrInstr += 5; @@ -8654,7 +8575,7 @@ static void atkA3_disablelastusedattack(void) for (i = 0; i < 4; i++) { - if (gBattleMons[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget]) + if (gBattleMons[gBankTarget].moves[i] == gLastMoves[gBankTarget]) break; } if (gDisableStructs[gBankTarget].disabledMove == 0 @@ -8673,19 +8594,19 @@ static void atkA3_disablelastusedattack(void) } } -static void atkA4_setencore(void) +static void atkA4_trysetencore(void) { s32 i; for (i = 0; i < 4; i++) { - if (gBattleMons[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget]) + if (gBattleMons[gBankTarget].moves[i] == gLastMoves[gBankTarget]) break; } - if (gLastUsedMovesByBanks[gBankTarget] == MOVE_STRUGGLE - || gLastUsedMovesByBanks[gBankTarget] == MOVE_ENCORE - || gLastUsedMovesByBanks[gBankTarget] == MOVE_MIRROR_MOVE) + if (gLastMoves[gBankTarget] == MOVE_STRUGGLE + || gLastMoves[gBankTarget] == MOVE_ENCORE + || gLastMoves[gBankTarget] == MOVE_MIRROR_MOVE) { i = 4; } @@ -8731,13 +8652,13 @@ static void atkA5_painsplitdmgcalc(void) static void atkA6_settypetorandomresistance(void) // conversion 2 { - if (gUnknown_02024250[gBankAttacker] == 0 - || gUnknown_02024250[gBankAttacker] == 0xFFFF) + if (gLastLandedMoves[gBankAttacker] == 0 + || gLastLandedMoves[gBankAttacker] == 0xFFFF) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } - else if (IsTwoTurnsMove(gUnknown_02024250[gBankAttacker]) - && gBattleMons[gUnknown_02024270[gBankAttacker]].status2 & STATUS2_MULTIPLETURNS) + else if (IsTwoTurnsMove(gLastLandedMoves[gBankAttacker]) + && gBattleMons[gLastHitBy[gBankAttacker]].status2 & STATUS2_MULTIPLETURNS) { gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); } @@ -8751,7 +8672,7 @@ static void atkA6_settypetorandomresistance(void) // conversion 2 i *= 3; - if (TYPE_EFFECT_ATK_TYPE(i) == gUnknown_02024258[gBankAttacker] + if (TYPE_EFFECT_ATK_TYPE(i) == gLastHitByType[gBankAttacker] && TYPE_EFFECT_MULTIPLIER(i) <= TYPE_MUL_NOT_EFFECTIVE && gBattleMons[gBankAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i) && gBattleMons[gBankAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i)) @@ -8774,7 +8695,7 @@ static void atkA6_settypetorandomresistance(void) // conversion 2 case TYPE_FORESIGHT: break; default: - if (TYPE_EFFECT_ATK_TYPE(j) == gUnknown_02024258[gBankAttacker] + if (TYPE_EFFECT_ATK_TYPE(j) == gLastHitByType[gBankAttacker] && TYPE_EFFECT_MULTIPLIER(j) <= 5 && gBattleMons[gBankAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i) && gBattleMons[gBankAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i)) @@ -8805,13 +8726,13 @@ static void atkA7_setalwayshitflag(void) static void atkA8_copymovepermanently(void) // sketch { - gLastUsedMove = 0xFFFF; + gChosenMove = 0xFFFF; if (!(gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED) - && gUnknownMovesUsedByBanks[gBankTarget] != MOVE_STRUGGLE - && gUnknownMovesUsedByBanks[gBankTarget] != 0 - && gUnknownMovesUsedByBanks[gBankTarget] != 0xFFFF - && gUnknownMovesUsedByBanks[gBankTarget] != MOVE_SKETCH) + && gLastPrintedMoves[gBankTarget] != MOVE_STRUGGLE + && gLastPrintedMoves[gBankTarget] != 0 + && gLastPrintedMoves[gBankTarget] != 0xFFFF + && gLastPrintedMoves[gBankTarget] != MOVE_SKETCH) { s32 i; @@ -8819,7 +8740,7 @@ static void atkA8_copymovepermanently(void) // sketch { if (gBattleMons[gBankAttacker].moves[i] == MOVE_SKETCH) continue; - if (gBattleMons[gBankAttacker].moves[i] == gUnknownMovesUsedByBanks[gBankTarget]) + if (gBattleMons[gBankAttacker].moves[i] == gLastPrintedMoves[gBankTarget]) break; } @@ -8831,8 +8752,8 @@ static void atkA8_copymovepermanently(void) // sketch { struct MovePpInfo movePpData; - gBattleMons[gBankAttacker].moves[gCurrMovePos] = gUnknownMovesUsedByBanks[gBankTarget]; - gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gUnknownMovesUsedByBanks[gBankTarget]].pp; + gBattleMons[gBankAttacker].moves[gCurrMovePos] = gLastPrintedMoves[gBankTarget]; + gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gLastPrintedMoves[gBankTarget]].pp; gActiveBank = gBankAttacker; for (i = 0; i < 4; i++) @@ -8845,7 +8766,7 @@ static void atkA8_copymovepermanently(void) // sketch EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct MovePpInfo), &movePpData); MarkBufferBankForExecution(gActiveBank); - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gUnknownMovesUsedByBanks[gBankTarget]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBankTarget]) gBattlescriptCurrInstr += 5; } @@ -8862,7 +8783,7 @@ static bool8 IsTwoTurnsMove(u16 move) || gBattleMoves[move].effect == EFFECT_RAZOR_WIND || gBattleMoves[move].effect == EFFECT_SKY_ATTACK || gBattleMoves[move].effect == EFFECT_SOLARBEAM - || gBattleMoves[move].effect == EFFECT_FLY + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE || gBattleMoves[move].effect == EFFECT_BIDE) return TRUE; else @@ -8889,7 +8810,7 @@ static u8 AttacksThisTurn(u8 bank, u16 move) // Note: returns 1 if it's a chargi || gBattleMoves[move].effect == EFFECT_RAZOR_WIND || gBattleMoves[move].effect == EFFECT_SKY_ATTACK || gBattleMoves[move].effect == EFFECT_SOLARBEAM - || gBattleMoves[move].effect == EFFECT_FLY + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE || gBattleMoves[move].effect == EFFECT_BIDE) { if ((gHitMarker & HITMARKER_x8000000)) @@ -8898,7 +8819,7 @@ static u8 AttacksThisTurn(u8 bank, u16 move) // Note: returns 1 if it's a chargi return 2; } -static void atkA9_sleeptalk_choose_move(void) +static void atkA9_trychoosesleeptalkmove(void) { s32 i; u8 unusableMovesBits = 0; @@ -8937,13 +8858,13 @@ static void atkA9_sleeptalk_choose_move(void) } } -static void atkAA_set_destinybond(void) +static void atkAA_setdestinybond(void) { gBattleMons[gBankAttacker].status2 |= STATUS2_DESTINY_BOND; gBattlescriptCurrInstr++; } -static void DestinyBondFlagUpdate(void) +static void TrySetDestinyBondToHappen(void) { u8 sideAttacker = GetBankSide(gBankAttacker); u8 sideTarget = GetBankSide(gBankTarget); @@ -8955,9 +8876,9 @@ static void DestinyBondFlagUpdate(void) } } -static void atkAB_DestinyBondFlagUpdate(void) +static void atkAB_trysetdestinybondtohappen(void) { - DestinyBondFlagUpdate(); + TrySetDestinyBondToHappen(); gBattlescriptCurrInstr++; } @@ -8976,16 +8897,16 @@ static void atkAC_remaininghptopower(void) gBattlescriptCurrInstr++; } -static void atkAD_spite_ppreduce(void) +static void atkAD_tryspiteppreduce(void) { - if (gLastUsedMovesByBanks[gBankTarget] != 0 - && gLastUsedMovesByBanks[gBankTarget] != 0xFFFF) + if (gLastMoves[gBankTarget] != 0 + && gLastMoves[gBankTarget] != 0xFFFF) { s32 i; for (i = 0; i < 4; i++) { - if (gLastUsedMovesByBanks[gBankTarget] == gBattleMons[gBankTarget].moves[i]) + if (gLastMoves[gBankTarget] == gBattleMons[gBankTarget].moves[i]) break; } @@ -8995,7 +8916,7 @@ static void atkAD_spite_ppreduce(void) if (gBattleMons[gBankTarget].pp[i] < ppToDeduct) ppToDeduct = gBattleMons[gBankTarget].pp[i]; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastUsedMovesByBanks[gBankTarget]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBankTarget]) ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, 0, 1); @@ -9027,7 +8948,7 @@ static void atkAD_spite_ppreduce(void) } } -static void atkAE_heal_party_status(void) +static void atkAE_healpartystatus(void) { u32 zero = 0; u8 toHeal = 0; @@ -9103,7 +9024,7 @@ static void atkAE_heal_party_status(void) gBattleMons[gBankAttacker].status1 = 0; gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); + gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank])) { @@ -9140,7 +9061,7 @@ static void atkAF_cursetarget(void) } } -static void atkB0_set_spikes(void) +static void atkB0_trysetspikes(void) { u8 targetSide = GetBankSide(gBankAttacker) ^ BIT_SIDE; @@ -9157,13 +9078,13 @@ static void atkB0_set_spikes(void) } } -static void atkB1_set_foresight(void) +static void atkB1_setforesight(void) { gBattleMons[gBankTarget].status2 |= STATUS2_FORESIGHT; gBattlescriptCurrInstr++; } -static void atkB2_setperishsong(void) +static void atkB2_trysetperishsong(void) { s32 i; s32 notAffectedCount = 0; @@ -9196,7 +9117,7 @@ static void atkB3_rolloutdamagecalculation(void) if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) { CancelMultiTurnMoves(gBankAttacker); - gBattlescriptCurrInstr = BattleScript_PauseEffectivenessSoundResultMsgEndMove; + gBattlescriptCurrInstr = BattleScript_MoveMissedPause; } else { @@ -9240,7 +9161,7 @@ static void atkB5_furycuttercalc(void) if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) { gDisableStructs[gBankAttacker].furyCutterCounter = 0; - gBattlescriptCurrInstr = BattleScript_PauseEffectivenessSoundResultMsgEndMove; + gBattlescriptCurrInstr = BattleScript_MoveMissedPause; } else { @@ -9286,7 +9207,7 @@ static void atkB7_presentdamagecalculation(void) gBattleMoveDamage *= -1; } if (rand < 204) - gBattlescriptCurrInstr = BattleScript_PresentDamageTarget; + gBattlescriptCurrInstr = BattleScript_HitFromCritCalc; else if (gBattleMons[gBankTarget].maxHP == gBattleMons[gBankTarget].hp) gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp; else @@ -9296,7 +9217,7 @@ static void atkB7_presentdamagecalculation(void) } } -static void atkB8_set_safeguard(void) +static void atkB8_setsafeguard(void) { if (gSideAffecting[GET_BANK_SIDE(gBankAttacker)] & SIDE_STATUS_SAFEGUARD) { @@ -9501,7 +9422,7 @@ static void atkBE_rapidspinfree(void) } } -static void atkBF_set_defense_curl(void) +static void atkBF_setdefensecurlbit(void) { gBattleMons[gBankAttacker].status2 |= STATUS2_DEFENSE_CURL; gBattlescriptCurrInstr++; @@ -9533,7 +9454,7 @@ static void atkC0_recoverbasedonsunlight(void) } #ifdef NONMATCHING -static void atkC1_hidden_power_calc(void) +static void atkC1_hiddenpowercalc(void) { u32 powerBits = 0; u32 typeBits = 0; @@ -9564,7 +9485,7 @@ static void atkC1_hidden_power_calc(void) #else __attribute__((naked)) -static void atkC1_hidden_power_calc(void) +static void atkC1_hiddenpowercalc(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -9707,7 +9628,7 @@ _080544F0:\n\ } #endif // NONMATCHING -static void atkC2_selectnexttarget(void) +static void atkC2_selectfirstvalidtarget(void) { for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) { @@ -9719,7 +9640,7 @@ static void atkC2_selectnexttarget(void) gBattlescriptCurrInstr++; } -static void atkC3_setfutureattack(void) +static void atkC3_trysetfutureattack(void) { if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0) { @@ -9747,9 +9668,9 @@ static void atkC3_setfutureattack(void) } } -static void atkC4_beat_up(void) +static void atkC4_trydobeatup(void) { - struct Pokemon* party; + struct Pokemon *party; if (GetBankSide(gBankAttacker) == SIDE_PLAYER) party = gPlayerParty; @@ -9950,7 +9871,7 @@ static void atkD0_settaunt(void) } } -static void atkD1_set_helpinghand(void) +static void atkD1_trysethelpinghand(void) { gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON); @@ -9968,7 +9889,7 @@ static void atkD1_set_helpinghand(void) } } -static void atkD2_swap_items(void) // trick +static void atkD2_tryswapitems(void) // trick { // opponent can't swap items with player in regular battles if (gBattleTypeFlags & BATTLE_TYPE_x4000000 @@ -10055,7 +9976,7 @@ static void atkD2_swap_items(void) // trick } } -static void atkD3_copy_ability(void) // role play +static void atkD3_trycopyability(void) // role play { if (gBattleMons[gBankTarget].ability != 0 && gBattleMons[gBankTarget].ability != ABILITY_WONDER_GUARD) @@ -10070,7 +9991,7 @@ static void atkD3_copy_ability(void) // role play } } -static void atkD4_wish_effect(void) +static void atkD4_trywish(void) { switch (gBattlescriptCurrInstr[1]) { @@ -10103,7 +10024,7 @@ static void atkD4_wish_effect(void) } } -static void atkD5_setroots(void) // ingrain +static void atkD5_trysetroots(void) // ingrain { if (gStatuses3[gBankAttacker] & STATUS3_ROOTED) { @@ -10168,7 +10089,7 @@ static void atkD9_scaledamagebyhealthratio(void) gBattlescriptCurrInstr++; } -static void atkDA_abilityswap(void) // skill swap +static void atkDA_tryswapabilities(void) // skill swap { if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0) @@ -10188,7 +10109,7 @@ static void atkDA_abilityswap(void) // skill swap } } -static void atkDB_imprisoneffect(void) +static void atkDB_tryimprision(void) { if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISONED_OTHERS)) { @@ -10230,7 +10151,7 @@ static void atkDB_imprisoneffect(void) } } -static void atkDC_setgrudge(void) +static void atkDC_trysetgrudge(void) { if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE) { @@ -10313,7 +10234,7 @@ static void atkDE_asistattackselect(void) } } -static void atkDF_setmagiccoat(void) +static void atkDF_trysetmagiccoat(void) { gBankTarget = gBankAttacker; gSpecialStatuses[gBankAttacker].flag20 = 1; @@ -10328,7 +10249,7 @@ static void atkDF_setmagiccoat(void) } } -static void atkE0_setstealstatchange(void) // snatch +static void atkE0_trysetsnatch(void) // snatch { gSpecialStatuses[gBankAttacker].flag20 = 1; if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) // moves last turn @@ -10342,7 +10263,7 @@ static void atkE0_setstealstatchange(void) // snatch } } -static void atkE1_intimidate_string_loader(void) +static void atkE1_trygetintimidatetarget(void) { u8 side; @@ -10365,7 +10286,7 @@ static void atkE1_intimidate_string_loader(void) gBattlescriptCurrInstr += 5; } -static void atkE2_switchout_abilities(void) +static void atkE2_switchoutabilities(void) { gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); @@ -10502,7 +10423,7 @@ static void atkE5_pickup(void) gBattlescriptCurrInstr++; } -static void atkE6_castform_change_animation(void) +static void atkE6_docastformchangeanimation(void) { gActiveBank = gBattleScripting.bank; @@ -10515,7 +10436,7 @@ static void atkE6_castform_change_animation(void) gBattlescriptCurrInstr++; } -static void atkE7_castform_data_change(void) +static void atkE7_trycastformdatachange(void) { u8 form; @@ -10578,7 +10499,7 @@ static void atkE9_setweatherballtype(void) gBattlescriptCurrInstr++; } -static void atkEA_recycleitem(void) +static void atkEA_tryrecycleitem(void) { u16 *usedHeldItem; @@ -10619,7 +10540,7 @@ static void atkEB_settypetoterrain(void) } } -static void atkEC_pursuit_sth(void) +static void atkEC_pursuitrelated(void) { gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_MON); @@ -10641,7 +10562,7 @@ static void atkEC_pursuit_sth(void) } } -static void atkED_802B4B4(void) +static void atkEF_snatchsetbanks(void) { gEffectBank = gBankAttacker; @@ -10676,7 +10597,7 @@ static void atkEE_removelightscreenreflect(void) // brick break gBattlescriptCurrInstr++; } -static void atkEF_pokeball_catch_calculation(void) +static void atkEF_handleballthrow(void) { u8 ballMultiplier = 0; @@ -10827,7 +10748,7 @@ static void atkEF_pokeball_catch_calculation(void) } } -static void atkF0_give_caught_mon(void) +static void atkF0_givecaughtmon(void) { if (GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ BIT_SIDE]]) != MON_GIVEN_TO_PARTY) { @@ -10856,7 +10777,7 @@ static void atkF0_give_caught_mon(void) gBattlescriptCurrInstr++; } -static void atkF1_set_caught_mon_dex_flags(void) +static void atkF1_trysetcaughtmondexflags(void) { u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL); u32 personality = GetMonData(&gEnemyParty[0], MON_DATA_PERSONALITY, NULL); @@ -10872,7 +10793,7 @@ static void atkF1_set_caught_mon_dex_flags(void) } } -static void atkF2_display_dex_info(void) +static void atkF2_displaydexinfo(void) { u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL); @@ -10991,7 +10912,7 @@ void BattleDestroyYesNoCursorAt(u8 cursorPosition) CopyBgTilemapBufferToVram(0); } -static void atkF3_nickname_caught_poke(void) +static void atkF3_trygivecaughtmonnick(void) { switch (gBattleCommunication[MULTIUSE_STATE]) { @@ -11079,18 +11000,18 @@ static void atkF5_removeattackerstatus1(void) gBattlescriptCurrInstr++; } -static void atkF6_action_finished(void) +static void atkF6_finishaction(void) { gCurrentActionFuncId = ACTION_FINISHED; } -static void atkF7_turn_finished(void) +static void atkF7_finishturn(void) { gCurrentActionFuncId = ACTION_FINISHED; gCurrentTurnActionNumber = gNoOfAllBanks; } -static void atkF8_trainer_slide_back(void) +static void atkF8_trainerslideout(void) { gActiveBank = GetBankByIdentity(gBattlescriptCurrInstr[1]); EmitTrainerSlideBack(0); diff --git a/src/battle_util.c b/src/battle_util.c index 07e6ff654..a24688bde 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9,10 +9,12 @@ #include "items.h" #include "util.h" #include "battle_move_effects.h" +#include "battle_scripts.h" #include "rng.h" #include "text.h" #include "string_util.h" #include "battle_message.h" +#include "battle_string_ids.h" #include "battle_ai_script_commands.h" #include "battle_controllers.h" #include "event_data.h" @@ -20,8 +22,8 @@ #include "link.h" extern const u8* gBattlescriptCurrInstr; -extern const u8* gBattlescriptPtrsForSelection[BATTLE_BANKS_COUNT]; -extern const u8* gUnknown_02024230[BATTLE_BANKS_COUNT]; +extern const u8* gSelectionBattleScripts[BATTLE_BANKS_COUNT]; +extern const u8* gPalaceSelectionBattleScripts[BATTLE_BANKS_COUNT]; extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern u8 gActiveBank; extern u8 gStringBank; @@ -41,7 +43,7 @@ extern s32 gBattleMoveDamage; extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; extern u32 gBattleTypeFlags; -extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT]; +extern u16 gLastMoves[BATTLE_BANKS_COUNT]; extern u32 gHitMarker; extern u8 gEffectBank; extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; @@ -60,119 +62,6 @@ extern u8 gSentPokesToOpponent[2]; extern const struct BattleMove gBattleMoves[]; -// scripts -extern const u8 gUnknown_082DAE2A[]; -extern const u8 gUnknown_082DAE1F[]; -extern const u8 gUnknown_082DB089[]; -extern const u8 gUnknown_082DB098[]; -extern const u8 gUnknown_082DB0AF[]; -extern const u8 gUnknown_082DB0A0[]; -extern const u8 gUnknown_082DB185[]; -extern const u8 gUnknown_082DB181[]; -extern const u8 gUnknown_082DB812[]; -extern const u8 gUnknown_082DB076[]; -extern const u8 BattleScript_NoMovesLeft[]; -extern const u8 gUnknown_082DACFA[]; -extern const u8 gUnknown_082DAD0B[]; -extern const u8 gUnknown_082DACC9[]; -extern const u8 gUnknown_082DAC47[]; -extern const u8 gUnknown_082DACE0[]; -extern const u8 gUnknown_082DACD2[]; -extern const u8 BattleScript_WishComesTrue[]; -extern const u8 gUnknown_082DACC9[]; -extern const u8 gUnknown_082DAC2C[]; -extern const u8 BattleScript_IngrainTurnHeal[]; -extern const u8 BattleScript_LeechSeedTurnDrain[]; -extern const u8 BattleScript_PoisonTurnDmg[]; -extern const u8 BattleScript_BurnTurnDmg[]; -extern const u8 BattleScript_NightmareTurnDmg[]; -extern const u8 BattleScript_CurseTurnDmg[]; -extern const u8 BattleScript_WrapTurnDmg[]; -extern const u8 BattleScript_WrapEnds[]; -extern const u8 gUnknown_082DB234[]; -extern const u8 gUnknown_082DB2A6[]; -extern const u8 BattleScript_ThrashConfuses[]; -extern const u8 BattleScript_DisabledNoMore[]; -extern const u8 BattleScript_EncoredNoMore[]; -extern const u8 BattleScript_YawnMakesAsleep[]; -extern const u8 gUnknown_082DAFE4[]; -extern const u8 gUnknown_082DB8F3[]; -extern const u8 gUnknown_082DAF05[]; -extern const u8 gUnknown_082DAF20[]; -extern const u8 gUnknown_082DA7C4[]; -extern const u8 gUnknown_082DA7CD[]; -extern const u8 BattleScript_MoveUsedWokeUp[]; -extern const u8 BattleScript_MoveUsedIsAsleep[]; -extern const u8 BattleScript_MoveUsedIsFrozen[]; -extern const u8 BattleScript_MoveUsedUnfroze[]; -extern const u8 BattleScript_MoveUsedLoafingAround[]; -extern const u8 BattleScript_MoveUsedMustRecharge[]; -extern const u8 BattleScript_MoveUsedFlinched[]; -extern const u8 BattleScript_MoveUsedIsDisabled[]; -extern const u8 BattleScript_MoveUsedIsTaunted[]; -extern const u8 BattleScript_MoveUsedIsImprisoned[]; -extern const u8 BattleScript_MoveUsedIsConfused[]; -extern const u8 BattleScript_MoveUsedIsConfusedNoMore[]; -extern const u8 BattleScript_MoveUsedIsParalyzed[]; -extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[]; -extern const u8 BattleScript_MoveUsedIsInLove[]; -extern const u8 BattleScript_BideStoringEnergy[]; -extern const u8 BattleScript_BideAttack[]; -extern const u8 BattleScript_BideNoEnergyToAttack[]; -extern const u8 gUnknown_082DACE7[]; -extern const u8 BattleScript_DrizzleActivates[]; -extern const u8 BattleScript_SandstreamActivates[]; -extern const u8 BattleScript_DroughtActivates[]; -extern const u8 BattleScript_CastformChange[]; -extern const u8 BattleScript_RainDishActivates[]; -extern const u8 BattleScript_ShedSkinActivates[]; -extern const u8 BattleScript_SpeedBoostActivates[]; -extern const u8 BattleScript_SoundproofProtected[]; -extern const u8 BattleScript_MoveHPDrain[]; -extern const u8 BattleScript_MoveHPDrain_PPLoss[]; -extern const u8 BattleScript_FlashFireBoost[]; -extern const u8 BattleScript_FlashFireBoost_PPLoss[]; -extern const u8 gUnknown_082DB592[]; -extern const u8 gUnknown_082DB591[]; -extern const u8 BattleScript_ColorChangeActivates[]; -extern const u8 BattleScript_RoughSkinActivates[]; -extern const u8 BattleScript_ApplySecondaryEffect[]; -extern const u8 BattleScript_CuteCharmActivates[]; -extern const u8 gUnknown_082DB68C[]; -extern const u8 BattleScript_SynchronizeActivates[]; -extern const u8 gUnknown_082DB4B8[]; -extern const u8 gUnknown_082DB4C1[]; -extern const u8 BattleScript_TraceActivates[]; - -extern const u8 BattleScript_WhiteHerbEnd2[]; -extern const u8 BattleScript_WhiteHerbRet[]; -extern const u8 BattleScript_ItemHealHP_RemoveItem[]; -extern const u8 BattleScript_BerryPPHealEnd2[]; -extern const u8 BattleScript_ItemHealHP_End2[]; -extern const u8 BattleScript_BerryConfuseHealEnd2[]; -extern const u8 BattleScript_BerryStatRaiseEnd2[]; -extern const u8 BattleScript_BerryFocusEnergyEnd2[]; -extern const u8 BattleScript_BerryCurePrlzEnd2[]; -extern const u8 BattleScript_BerryCurePsnEnd2[]; -extern const u8 BattleScript_BerryCureBrnEnd2[]; -extern const u8 BattleScript_BerryCureFrzEnd2[]; -extern const u8 BattleScript_BerryCureSlpEnd2[]; -extern const u8 BattleScript_BerryCureConfusionEnd2[]; -extern const u8 BattleScript_BerryCureChosenStatusEnd2[]; -extern const u8 BattleScript_BerryCureParRet[]; -extern const u8 BattleScript_BerryCurePsnRet[]; -extern const u8 BattleScript_BerryCureBrnRet[]; -extern const u8 BattleScript_BerryCureFrzRet[]; -extern const u8 BattleScript_BerryCureSlpRet[]; -extern const u8 BattleScript_BerryCureConfusionRet[]; -extern const u8 BattleScript_BerryCureChosenStatusRet[]; -extern const u8 BattleScript_ItemHealHP_Ret[]; - -extern const u8 gUnknown_082DB695[]; //disobedient while asleep -extern const u8 gUnknown_082DB6A5[]; //disobedient, uses a random move -extern const u8 gUnknown_082DB6D9[]; //disobedient, went to sleep -extern const u8 gUnknown_082DB6F0[]; //disobedient, hits itself - extern u8 weather_get_current(void); // rom const data @@ -196,13 +85,13 @@ u8 GetBattleBank(u8 caseId) case BS_GET_EFFECT_BANK: ret = gEffectBank; break; - case 7: + case BS_GET_BANK_0: ret = 0; break; case BS_GET_SCRIPTING_BANK: ret = gBattleScripting.bank; break; - case 3: + case BS_GET_gBank1: ret = gBank1; break; case 5: @@ -474,27 +363,27 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DAE2A; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DAE2A; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAE1F; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingDisabledMove; limitations = 1; } } - if (move == gLastUsedMovesByBanks[gActiveBank] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBank].status2 & STATUS2_TORMENT)) + if (move == gLastMoves[gActiveBank] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBank].status2 & STATUS2_TORMENT)) { CancelMultiTurnMoves(gActiveBank); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB098; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB098; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB089; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingTormentedMove; limitations++; } } @@ -504,12 +393,12 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB0AF; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB0AF; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB0A0; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveTaunt; limitations++; } } @@ -519,12 +408,12 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB185; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB185; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB181; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingImprisionedMove; limitations++; } } @@ -546,7 +435,7 @@ u8 TrySetCantSelectMoveBattleScript(void) } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB812; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveChoiceItem; limitations++; } } @@ -559,7 +448,7 @@ u8 TrySetCantSelectMoveBattleScript(void) } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB076; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingMoveWithNoPP; limitations++; } } @@ -570,7 +459,7 @@ u8 TrySetCantSelectMoveBattleScript(void) u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) { u8 holdEffect; - u16* choicedMove = &gBattleStruct->choicedMove[bank]; + u16 *choicedMove = &gBattleStruct->choicedMove[bank]; s32 i; if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) @@ -588,7 +477,7 @@ u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) unusableMoves |= gBitTable[i]; if (gBattleMons[bank].moves[i] == gDisableStructs[bank].disabledMove && check & MOVE_LIMITATION_DISABLED) unusableMoves |= gBitTable[i]; - if (gBattleMons[bank].moves[i] == gLastUsedMovesByBanks[bank] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[bank].status2 & STATUS2_TORMENT) + if (gBattleMons[bank].moves[i] == gLastMoves[bank] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[bank].status2 & STATUS2_TORMENT) unusableMoves |= gBitTable[i]; if (gDisableStructs[bank].tauntTimer1 && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[bank].moves[i]].power == 0) unusableMoves |= gBitTable[i]; @@ -610,7 +499,7 @@ bool8 AreAllMovesUnusable(void) if (unusable == 0xF) // all moves are unusable { gProtectStructs[gActiveBank].onlyStruggle = 1; - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_NoMovesLeft; + gSelectionBattleScripts[gActiveBank] = BattleScript_NoMovesLeft; } else { @@ -694,12 +583,8 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].reflectTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_REFLECT; - BattleScriptExecute(gUnknown_082DACFA); - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = MOVE_REFLECT; - gBattleTextBuff1[3] = MOVE_REFLECT >> 8; - gBattleTextBuff1[4] = EOS; + BattleScriptExecute(BattleScript_SideStatusWoreOff); + PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_REFLECT); effect++; } } @@ -723,13 +608,9 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].lightscreenTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; - BattleScriptExecute(gUnknown_082DACFA); + BattleScriptExecute(BattleScript_SideStatusWoreOff); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = MOVE_LIGHT_SCREEN; - gBattleTextBuff1[3] = MOVE_LIGHT_SCREEN >> 8; - gBattleTextBuff1[4] = EOS; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_LIGHT_SCREEN); effect++; } } @@ -752,13 +633,9 @@ u8 UpdateTurnCounters(void) && --gSideTimers[sideBank].mistTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST; - BattleScriptExecute(gUnknown_082DACFA); + BattleScriptExecute(BattleScript_SideStatusWoreOff); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = MOVE_MIST; - gBattleTextBuff1[3] = MOVE_MIST >> 8; - gBattleTextBuff1[4] = EOS; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_MIST); effect++; } gBattleStruct->turnSideTracker++; @@ -781,7 +658,7 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].safeguardTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_SAFEGUARD; - BattleScriptExecute(gUnknown_082DAD0B); + BattleScriptExecute(BattleScript_SafeguardEnds); effect++; } } @@ -833,10 +710,15 @@ u8 UpdateTurnCounters(void) gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else if (gBattleWeather & WEATHER_RAIN_DOWNPOUR) + { gBattleCommunication[MULTISTRING_CHOOSER] = 1; + } else + { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - BattleScriptExecute(gUnknown_082DAC2C); + } + + BattleScriptExecute(BattleScript_RainContinuesOrEnds); effect++; } gBattleStruct->turncountersTracker++; @@ -847,12 +729,14 @@ u8 UpdateTurnCounters(void) if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_SANDSTORM_TEMPORARY; - gBattlescriptCurrInstr = gUnknown_082DACC9; + gBattlescriptCurrInstr = BattleScript_SandStormHailEnds; } else - gBattlescriptCurrInstr = gUnknown_082DAC47; + { + gBattlescriptCurrInstr = BattleScript_DamagingWeatherContinues; + } - gBattleScripting.animArg1 = 0xC; + gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 0; BattleScriptExecute(gBattlescriptCurrInstr); effect++; @@ -865,10 +749,12 @@ u8 UpdateTurnCounters(void) if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_SUN_TEMPORARY; - gBattlescriptCurrInstr = gUnknown_082DACE0; + gBattlescriptCurrInstr = BattleScript_SunlightFaded; } else - gBattlescriptCurrInstr = gUnknown_082DACD2; + { + gBattlescriptCurrInstr = BattleScript_SunlightContinues; + } BattleScriptExecute(gBattlescriptCurrInstr); effect++; @@ -881,12 +767,14 @@ u8 UpdateTurnCounters(void) if (--gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_HAIL; - gBattlescriptCurrInstr = gUnknown_082DACC9; + gBattlescriptCurrInstr = BattleScript_SandStormHailEnds; } else - gBattlescriptCurrInstr = gUnknown_082DAC47; + { + gBattlescriptCurrInstr = BattleScript_DamagingWeatherContinues; + } - gBattleScripting.animArg1 = 0xD; + gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(gBattlescriptCurrInstr); effect++; @@ -981,7 +869,7 @@ u8 TurnBasedEffects(void) gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if ((gBattleMons[gActiveBank].status1 & 0xF00) != 0xF00) //not 16 turns + if ((gBattleMons[gActiveBank].status1 & 0xF00) != 0xF00) // not 16 turns gBattleMons[gActiveBank].status1 += 0x100; gBattleMoveDamage *= (gBattleMons[gActiveBank].status1 & 0xF00) >> 8; BattleScriptExecute(BattleScript_PoisonTurnDmg); @@ -1040,8 +928,8 @@ u8 TurnBasedEffects(void) // This is the only way I could get this array access to match. gBattleScripting.animArg1 = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 0); gBattleScripting.animArg2 = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 1); - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; + gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN; + gBattleTextBuff1[1] = B_BUFF_MOVE; gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 0); gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 1); gBattleTextBuff1[4] = EOS; @@ -1052,8 +940,8 @@ u8 TurnBasedEffects(void) } else // broke free { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; + gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN; + gBattleTextBuff1[1] = B_BUFF_MOVE; gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 0); gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gActiveBank * 2 + 1); gBattleTextBuff1[4] = EOS; @@ -1075,7 +963,7 @@ u8 TurnBasedEffects(void) gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; - BattleScriptExecute(gUnknown_082DB234); + BattleScriptExecute(BattleScript_MonWokeUpInUproar); gActiveBank = gBankAttacker; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); MarkBufferBankForExecution(gActiveBank); @@ -1106,7 +994,7 @@ u8 TurnBasedEffects(void) gBattleCommunication[MULTISTRING_CHOOSER] = 1; CancelMultiTurnMoves(gActiveBank); } - BattleScriptExecute(gUnknown_082DB2A6); + BattleScriptExecute(BattleScript_PrintUproarOverTurns); effect = 1; } } @@ -1125,7 +1013,7 @@ u8 TurnBasedEffects(void) gBattleMons[gActiveBank].status2 &= ~(STATUS2_MULTIPLETURNS); if (!(gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION)) { - gBattleCommunication[MOVE_EFFECT_BYTE] = 0x47; + gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER; SetMoveEffect(1, 0); if (gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION) BattleScriptExecute(BattleScript_ThrashConfuses); @@ -1250,23 +1138,20 @@ bool8 sub_8041364(void) else gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gWishFutureKnock.futureSightMove[gActiveBank]; - gBattleTextBuff1[3] = gWishFutureKnock.futureSightMove[gActiveBank] >> 8; - gBattleTextBuff1[4] = EOS; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBank]); + gBankTarget = gActiveBank; gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank]; gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank]; gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; - BattleScriptExecute(gUnknown_082DAFE4); + BattleScriptExecute(BattleScript_MonTookFutureAttack); if (gWishFutureKnock.futureSightCounter[gActiveBank] == 0 - && gWishFutureKnock.futureSightCounter[gActiveBank ^ 2] == 0) + && gWishFutureKnock.futureSightCounter[gActiveBank ^ BIT_MON] == 0) { - gSideAffecting[GetBankIdentity(gBankTarget) & 1] &= ~SIDE_STATUS_FUTUREATTACK; + gSideAffecting[GET_BANK_SIDE(gBankTarget)] &= ~(SIDE_STATUS_FUTUREATTACK); } - return 1; + return TRUE; } } // Why do I have to keep doing this to match? @@ -1288,25 +1173,20 @@ bool8 sub_8041364(void) gBattleStruct->field_1A1++; if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 1; - gBattleTextBuff1[2] = 1; - gBattleTextBuff1[3] = 1; - gBattleTextBuff1[4] = gDisableStructs[gActiveBank].perishSongTimer1; - gBattleTextBuff1[5] = EOS; + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBank].perishSongTimer1); if (gDisableStructs[gActiveBank].perishSongTimer1 == 0) { gStatuses3[gActiveBank] &= ~STATUS3_PERISH_SONG; gBattleMoveDamage = gBattleMons[gActiveBank].hp; - gBattlescriptCurrInstr = gUnknown_082DAF05; + gBattlescriptCurrInstr = BattleScript_PerishSongTakesLife; } else { gDisableStructs[gActiveBank].perishSongTimer1--; - gBattlescriptCurrInstr = gUnknown_082DAF20; + gBattlescriptCurrInstr = BattleScript_PerishSongCountGoesDown; } BattleScriptExecute(gBattlescriptCurrInstr); - return 1; + return TRUE; } } // Hm... @@ -1326,17 +1206,17 @@ bool8 sub_8041364(void) for (i = 0; i < 2; i++) CancelMultiTurnMoves(i); - gBattlescriptCurrInstr = gUnknown_082DB8F3; - BattleScriptExecute(gUnknown_082DB8F3); + gBattlescriptCurrInstr = BattleScript_82DB8F3; + BattleScriptExecute(BattleScript_82DB8F3); gBattleStruct->field_1A0++; - return 1; + return TRUE; } break; } gHitMarker &= ~(HITMARKER_GRUDGE | HITMARKER_x20); - return 0; + return FALSE; } #define sub_8041728_MAX_CASE 7 @@ -1367,7 +1247,7 @@ bool8 sub_8041728(void) && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->field_4E]]) && !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E])) { - BattleScriptExecute(gUnknown_082DA7C4); + BattleScriptExecute(BattleScript_82DA7C4); gBattleStruct->field_4D = 2; return TRUE; } @@ -1392,7 +1272,7 @@ bool8 sub_8041728(void) if (gBattleMons[gBattleStruct->field_4E].hp == 0 && !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E])) { - BattleScriptExecute(gUnknown_082DA7CD); + BattleScriptExecute(BattleScript_82DA7CD); gBattleStruct->field_4D = 5; return TRUE; } @@ -1683,7 +1563,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 14: // last case + case ATKCANCELLER_MAX_CASE: break; } @@ -1785,14 +1665,14 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) { if (GetBankSide(bank) == SIDE_OPPONENT) { - r7 = GetBankByIdentity(1); - r6 = GetBankByIdentity(3); + r7 = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + r6 = GetBankByIdentity(IDENTITY_OPPONENT_MON2); party = gEnemyParty; } else { - r7 = GetBankByIdentity(0); - r6 = GetBankByIdentity(2); + r7 = GetBankByIdentity(IDENTITY_PLAYER_MON1); + r6 = GetBankByIdentity(IDENTITY_PLAYER_MON2); party = gPlayerParty; } if (r1 == 6) @@ -1910,10 +1790,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) else move = gCurrentMove; - if (gBattleStruct->dynamicMoveType) - moveType = gBattleStruct->dynamicMoveType & 0x3F; - else - moveType = gBattleMoves[move].type; + GET_MOVE_TYPE(move, moveType); switch (caseID) { @@ -1961,7 +1838,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (effect) { gBattleCommunication[MULTISTRING_CHOOSER] = weather_get_current(); - BattleScriptPushCursorAndCallback(gUnknown_082DACE7); + BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts); } break; case ABILITY_DRIZZLE: @@ -2167,9 +2044,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleMons[bank].maxHP == gBattleMons[bank].hp) { if ((gProtectStructs[gBankAttacker].notFirstStrike)) - gBattlescriptCurrInstr = gUnknown_082DB592; + gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless; else - gBattlescriptCurrInstr = gUnknown_082DB591; + gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless_PPLoss; } else { @@ -2307,86 +2184,84 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_IMMUNITY: // 5 + for (bank = 0; bank < gNoOfAllBanks; bank++) { - for (bank = 0; bank < gNoOfAllBanks; bank++) + switch (gBattleMons[bank].ability) { - switch (gBattleMons[bank].ability) + case ABILITY_IMMUNITY: + if (gBattleMons[bank].status1 & (STATUS_POISON | STATUS_TOXIC_POISON | STATUS_TOXIC_COUNTER)) { - case ABILITY_IMMUNITY: - if (gBattleMons[bank].status1 & (STATUS_POISON | STATUS_TOXIC_POISON | STATUS_TOXIC_COUNTER)) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - effect = 1; - } - break; - case ABILITY_OWN_TEMPO: - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); - effect = 2; - } - break; - case ABILITY_LIMBER: - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - effect = 1; - } - break; - case ABILITY_INSOMNIA: - case ABILITY_VITAL_SPIRIT: - if (gBattleMons[bank].status1 & STATUS_SLEEP) - { - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); - StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); - effect = 1; - } - break; - case ABILITY_WATER_VEIL: - if (gBattleMons[bank].status1 & STATUS_BURN) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - effect = 1; - } + StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); + effect = 1; + } + break; + case ABILITY_OWN_TEMPO: + if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); + effect = 2; + } + break; + case ABILITY_LIMBER: + if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); + effect = 1; + } + break; + case ABILITY_INSOMNIA: + case ABILITY_VITAL_SPIRIT: + if (gBattleMons[bank].status1 & STATUS_SLEEP) + { + gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); + effect = 1; + } + break; + case ABILITY_WATER_VEIL: + if (gBattleMons[bank].status1 & STATUS_BURN) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); + effect = 1; + } + break; + case ABILITY_MAGMA_ARMOR: + if (gBattleMons[bank].status1 & STATUS_FREEZE) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); + effect = 1; + } + break; + case ABILITY_OBLIVIOUS: + if (gBattleMons[bank].status2 & STATUS2_INFATUATION) + { + StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); + effect = 3; + } + break; + } + if (effect) + { + switch (effect) + { + case 1: // status cleared + gBattleMons[bank].status1 = 0; break; - case ABILITY_MAGMA_ARMOR: - if (gBattleMons[bank].status1 & STATUS_FREEZE) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - effect = 1; - } + case 2: // get rid of confusion + gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); break; - case ABILITY_OBLIVIOUS: - if (gBattleMons[bank].status2 & STATUS2_INFATUATION) - { - StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); - effect = 3; - } + case 3: // get rid of infatuation + gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); break; } - if (effect) - { - switch (effect) - { - case 1: // status cleared - gBattleMons[bank].status1 = 0; - break; - case 2: // get rid of confusion - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); - break; - case 3: // get rid of infatuation - gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); - break; - } - BattleScriptPushCursor(); - gBattlescriptCurrInstr = gUnknown_082DB68C; - gBattleScripting.bank = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); - return effect; - } + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; + gBattleScripting.bank = bank; + gActiveBank = bank; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); + MarkBufferBankForExecution(gActiveBank); + return effect; } } break; @@ -2445,7 +2320,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gLastUsedAbility = ABILITY_INTIMIDATE; gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES); - BattleScriptPushCursorAndCallback(gUnknown_082DB4B8); + BattleScriptPushCursorAndCallback(BattleScript_82DB4B8); gBattleStruct->intimidateBank = i; effect++; break; @@ -2517,7 +2392,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gLastUsedAbility = ABILITY_INTIMIDATE; gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES); BattleScriptPushCursor(); - gBattlescriptCurrInstr = gUnknown_082DB4C1; + gBattlescriptCurrInstr = BattleScript_82DB4C1; gBattleStruct->intimidateBank = i; effect++; break; @@ -2636,7 +2511,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) return effect; } -void BattleScriptExecute(const u8* BS_ptr) +void BattleScriptExecute(const u8 *BS_ptr) { gBattlescriptCurrInstr = BS_ptr; BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size++] = gBattleMainFunc; @@ -2644,7 +2519,7 @@ void BattleScriptExecute(const u8* BS_ptr) gCurrentActionFuncId = 0; } -void BattleScriptPushCursorAndCallback(const u8* BS_ptr) +void BattleScriptPushCursorAndCallback(const u8 *BS_ptr) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BS_ptr; @@ -2727,7 +2602,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleStruct->moneyMultiplier = 2; break; case HOLD_EFFECT_RESTORE_STATS: - for (i = 0; i < 8; i++) + for (i = 0; i < BATTLE_STATS_NO; i++) { if (gBattleMons[bank].statStages[i] < 6) { @@ -2764,19 +2639,19 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_RESTORE_PP: if (!moveTurn) { - struct Pokemon* poke; + struct Pokemon *mon; u8 ppBonuses; u16 move; if (GetBankSide(bank) == SIDE_PLAYER) - poke = &gPlayerParty[gBattlePartyID[bank]]; + mon = &gPlayerParty[gBattlePartyID[bank]]; else - poke = &gEnemyParty[gBattlePartyID[bank]]; + mon = &gEnemyParty[gBattlePartyID[bank]]; for (i = 0; i < 4; i++) { - move = GetMonData(poke, MON_DATA_MOVE1 + i); - changedPP = GetMonData(poke, MON_DATA_PP1 + i); - ppBonuses = GetMonData(poke, MON_DATA_PP_BONUSES); + move = GetMonData(mon, MON_DATA_MOVE1 + i); + changedPP = GetMonData(mon, MON_DATA_PP1 + i); + ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES); if (move && changedPP == 0) break; } @@ -2787,11 +2662,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) changedPP = maxPP; else changedPP = changedPP + bankQuality; - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = move; - gBattleTextBuff1[3] = move >> 8; - gBattleTextBuff1[4] = 0xFF; + + PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); + BattleScriptExecute(BattleScript_BerryPPHealEnd2); EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); MarkBufferBankForExecution(gActiveBank); @@ -2800,7 +2673,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_RESTORE_STATS: - for (i = 0; i < 8; i++) + for (i = 0; i < BATTLE_STATS_NO; i++) { if (gBattleMons[bank].statStages[i] < 6) { @@ -2834,10 +2707,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_SPICY: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_SPICY; - gBattleTextBuff1[3] = EOS; + PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_SPICY); + gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -2854,10 +2725,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_DRY: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_DRY; - gBattleTextBuff1[3] = EOS; + PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_DRY); + gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -2874,10 +2743,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_SWEET: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_SWEET; - gBattleTextBuff1[3] = EOS; + PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_SWEET); + gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -2894,10 +2761,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_BITTER: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_BITTER; - gBattleTextBuff1[3] = EOS; + PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_BITTER); + gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -2914,10 +2779,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_SOUR: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 8; - gBattleTextBuff1[2] = FLAVOR_SOUR; - gBattleTextBuff1[3] = EOS; + PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_SOUR); + gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -2935,19 +2798,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_ATTACK_UP: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_ATK] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_ATK; - gBattleTextBuff1[3] = EOS; - - gBattleTextBuff2[0] = 0xFD; - gBattleTextBuff2[1] = 0; - gBattleTextBuff2[2] = 0xD2; - gBattleTextBuff2[3] = 0xD2 >> 8; - gBattleTextBuff2[4] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_ATK); + PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_ATK; + SET_STATCHANGER(STAT_STAGE_ATK, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_ATK; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); @@ -2957,13 +2812,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_DEFENSE_UP: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_DEF] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_DEF; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_DEF); gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_DEF; + SET_STATCHANGER(STAT_STAGE_DEF, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_DEF; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); @@ -2973,13 +2825,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_SPEED_UP: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPEED] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_SPEED; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPEED); gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_SPEED; + SET_STATCHANGER(STAT_STAGE_SPEED, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPEED; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); @@ -2989,13 +2838,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_SP_ATTACK_UP: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPATK] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_SPATK; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPATK); gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_SPATK; + SET_STATCHANGER(STAT_STAGE_SPATK, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPATK; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); @@ -3005,13 +2851,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_SP_DEFENSE_UP: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPDEF] < 0xC) { - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = STAT_STAGE_SPDEF; - gBattleTextBuff1[3] = EOS; + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPDEF); gEffectBank = bank; - gBattleScripting.statChanger = 0x10 + STAT_STAGE_SPDEF; + SET_STATCHANGER(STAT_STAGE_SPDEF, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPDEF; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); @@ -3041,22 +2884,19 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) i = Random() % 5; } while (gBattleMons[bank].statStages[STAT_STAGE_ATK + i] == 0xC); - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 5; - gBattleTextBuff1[2] = i + 1; - gBattleTextBuff1[3] = EOS; - - gBattleTextBuff2[0] = 0xFD; - gBattleTextBuff2[1] = 0; - gBattleTextBuff2[2] = 0xD1; - gBattleTextBuff2[3] = 0xD1 >> 8; - gBattleTextBuff2[4] = 0; - gBattleTextBuff2[5] = 0xD2; - gBattleTextBuff2[6] = 0xD2 >> 8; + PREPARE_STAT_BUFFER(gBattleTextBuff1, i + 1); + + gBattleTextBuff2[0] = B_BUFF_PLACEHOLDER_BEGIN; + gBattleTextBuff2[1] = B_BUFF_STRING; + gBattleTextBuff2[2] = STRINGID_STATSHARPLY; + gBattleTextBuff2[3] = STRINGID_STATSHARPLY >> 8; + gBattleTextBuff2[4] = B_BUFF_STRING; + gBattleTextBuff2[5] = STRINGID_STATROSE; + gBattleTextBuff2[6] = STRINGID_STATROSE >> 8; gBattleTextBuff2[7] = EOS; gEffectBank = bank; - gBattleScripting.statChanger = 0x21 + i; + SET_STATCHANGER(i + 1, 2, FALSE); gBattleScripting.animArg1 = 0x21 + i + 6; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); @@ -3309,7 +3149,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_RESTORE_STATS: - for (i = 0; i < 8; i++) + for (i = 0; i < BATTLE_STATS_NO; i++) { if (gBattleMons[bank].statStages[i] < 6) { @@ -3411,7 +3251,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) switch (moveTarget) { case MOVE_TARGET_SELECTED: - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBankSide(gBankAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else @@ -3425,7 +3265,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) { - targetBank ^= 2; + targetBank ^= BIT_MON; RecordAbilityBattle(targetBank, gBattleMons[targetBank].ability); gSpecialStatuses[targetBank].lightningRodRedirected = 1; } @@ -3435,12 +3275,12 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1); + targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); if (gAbsentBankFlags & gBitTable[targetBank]) - targetBank ^= 2; + targetBank ^= BIT_MON; break; case MOVE_TARGET_RANDOM: - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBankSide(gBankAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & MOVE_TARGET_RANDOM) @@ -3448,22 +3288,22 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) if (GetBankSide(gBankAttacker) == SIDE_PLAYER) { if (Random() & 1) - targetBank = GetBankByIdentity(1); + targetBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1); else - targetBank = GetBankByIdentity(3); + targetBank = GetBankByIdentity(IDENTITY_OPPONENT_MON2); } else { if (Random() & 1) - targetBank = GetBankByIdentity(0); + targetBank = GetBankByIdentity(IDENTITY_PLAYER_MON1); else - targetBank = GetBankByIdentity(2); + targetBank = GetBankByIdentity(IDENTITY_PLAYER_MON2); } if (gAbsentBankFlags & gBitTable[targetBank]) - targetBank ^= 2; + targetBank ^= BIT_MON; } else - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1); + targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); break; case MOVE_TARGET_USER: case MOVE_TARGET_x10: @@ -3471,11 +3311,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) break; } - #ifndef NONMATCHING - MEME_ACCESS_U8(BattleStruct, gBattleStruct, gBankAttacker, moveTarget, targetBank); - #else - gBattleStruct->moveTarget[gBankAttacker] = targetBank; - #endif // NONMATCHING + *(gBattleStruct->moveTarget + gBankAttacker) = targetBank; return targetBank; } @@ -3536,7 +3372,7 @@ u8 IsPokeDisobedient(void) gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RAGE); if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) { - gBattlescriptCurrInstr = gUnknown_082DB695; + gBattlescriptCurrInstr = BattleScript_82DB695; return 1; } @@ -3559,7 +3395,7 @@ u8 IsPokeDisobedient(void) } while (gBitTable[gCurrMovePos] & calc); gRandomMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - gBattlescriptCurrInstr = gUnknown_082DB6A5; + gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; gBankTarget = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; @@ -3581,7 +3417,7 @@ u8 IsPokeDisobedient(void) } if (i == gNoOfAllBanks) { - gBattlescriptCurrInstr = gUnknown_082DB6D9; + gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; return 1; } } @@ -3590,7 +3426,7 @@ u8 IsPokeDisobedient(void) { gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); gBankTarget = gBankAttacker; - gBattlescriptCurrInstr = gUnknown_082DB6F0; + gBattlescriptCurrInstr = BattleScript_82DB6F0; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; return 2; } |