From e6ef86e4b0a66440c3339c8d63c13dcd11521984 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Wed, 8 Nov 2017 15:20:10 -0600 Subject: Update variable and flag names --- src/battle_util.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 0a0badb33..537bb2793 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3511,16 +3511,16 @@ u8 IsPokeDisobedient(void) return 0; if (!IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName)) return 0; - if (FlagGet(BADGE08_GET)) + if (FlagGet(FLAG_BADGE08_GET)) return 0; obedienceLevel = 10; - if (FlagGet(BADGE02_GET)) + if (FlagGet(FLAG_BADGE02_GET)) obedienceLevel = 30; - if (FlagGet(BADGE04_GET)) + if (FlagGet(FLAG_BADGE04_GET)) obedienceLevel = 50; - if (FlagGet(BADGE06_GET)) + if (FlagGet(FLAG_BADGE06_GET)) obedienceLevel = 70; } -- cgit v1.2.3 From 9febe24d9fb41633d3d95b97899ebe1cf60486fc Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Nov 2017 17:06:31 +0100 Subject: label some battle struct fields --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 468b2c46d..b9b2f1e1d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1805,7 +1805,7 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) && GetMonData(&party[i], MON_DATA_SPECIES2) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG // FIXME: Using index[array] instead of array[index] is BAD! - && i != r1 && i != r2 && i != r7[gBattleStruct->field_5C] && i != r6[gBattleStruct->field_5C]) + && i != r1 && i != r2 && i != r7[gBattleStruct->monToSwitchIntoId] && i != r6[gBattleStruct->monToSwitchIntoId]) break; } return (i == 6); -- cgit v1.2.3 From 716590c165791ce33e18bd97c8ee2e26c580e5f8 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 12 Nov 2017 17:11:06 +0100 Subject: one more battle label change --- src/battle_util.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index b9b2f1e1d..b5357a0e0 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1292,9 +1292,9 @@ bool8 sub_8041364(void) gBattleTextBuff1[1] = 1; gBattleTextBuff1[2] = 1; gBattleTextBuff1[3] = 1; - gBattleTextBuff1[4] = gDisableStructs[gActiveBank].perishSong1; + gBattleTextBuff1[4] = gDisableStructs[gActiveBank].perishSongTimer1; gBattleTextBuff1[5] = EOS; - if (gDisableStructs[gActiveBank].perishSong1 == 0) + if (gDisableStructs[gActiveBank].perishSongTimer1 == 0) { gStatuses3[gActiveBank] &= ~STATUS3_PERISH_SONG; gBattleMoveDamage = gBattleMons[gActiveBank].hp; @@ -1302,7 +1302,7 @@ bool8 sub_8041364(void) } else { - gDisableStructs[gActiveBank].perishSong1--; + gDisableStructs[gActiveBank].perishSongTimer1--; gBattlescriptCurrInstr = gUnknown_082DAF20; } BattleScriptExecute(gBattlescriptCurrInstr); -- cgit v1.2.3 From 9151a6d0942c5211f648154bbc675ce4d3a495a7 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 25 Nov 2017 18:42:31 +0100 Subject: dump battlescripts, rename battlescripts --- src/battle_util.c | 198 ++++++++++++------------------------------------------ 1 file changed, 43 insertions(+), 155 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index ed3bdef98..0ec98d125 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9,6 +9,7 @@ #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" @@ -60,119 +61,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 +84,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,12 +362,12 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DAE2A; + gUnknown_02024230[gActiveBank] = BattleScript_82DAE2A; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAE1F; + gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DAE1F; limitations = 1; } } @@ -489,12 +377,12 @@ u8 TrySetCantSelectMoveBattleScript(void) CancelMultiTurnMoves(gActiveBank); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB098; + gUnknown_02024230[gActiveBank] = BattleScript_82DB098; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB089; + gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB089; limitations++; } } @@ -504,12 +392,12 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB0AF; + gUnknown_02024230[gActiveBank] = BattleScript_82DB0AF; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB0A0; + gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB0A0; limitations++; } } @@ -519,12 +407,12 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = gUnknown_082DB185; + gUnknown_02024230[gActiveBank] = BattleScript_82DB185; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB181; + gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB181; limitations++; } } @@ -546,7 +434,7 @@ u8 TrySetCantSelectMoveBattleScript(void) } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB812; + gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB812; limitations++; } } @@ -559,7 +447,7 @@ u8 TrySetCantSelectMoveBattleScript(void) } else { - gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB076; + gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB076; limitations++; } } @@ -694,7 +582,7 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].reflectTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_REFLECT; - BattleScriptExecute(gUnknown_082DACFA); + BattleScriptExecute(BattleScript_82DACFA); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; gBattleTextBuff1[2] = MOVE_REFLECT; @@ -723,7 +611,7 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].lightscreenTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; - BattleScriptExecute(gUnknown_082DACFA); + BattleScriptExecute(BattleScript_82DACFA); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; @@ -752,7 +640,7 @@ u8 UpdateTurnCounters(void) && --gSideTimers[sideBank].mistTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST; - BattleScriptExecute(gUnknown_082DACFA); + BattleScriptExecute(BattleScript_82DACFA); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; @@ -781,7 +669,7 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].safeguardTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_SAFEGUARD; - BattleScriptExecute(gUnknown_082DAD0B); + BattleScriptExecute(BattleScript_82DAD0B); effect++; } } @@ -836,7 +724,7 @@ u8 UpdateTurnCounters(void) gBattleCommunication[MULTISTRING_CHOOSER] = 1; else gBattleCommunication[MULTISTRING_CHOOSER] = 0; - BattleScriptExecute(gUnknown_082DAC2C); + BattleScriptExecute(BattleScript_82DAC2C); effect++; } gBattleStruct->turncountersTracker++; @@ -847,10 +735,10 @@ u8 UpdateTurnCounters(void) if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_SANDSTORM_TEMPORARY; - gBattlescriptCurrInstr = gUnknown_082DACC9; + gBattlescriptCurrInstr = BattleScript_82DACC9; } else - gBattlescriptCurrInstr = gUnknown_082DAC47; + gBattlescriptCurrInstr = BattleScript_82DAC47; gBattleScripting.animArg1 = 0xC; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -865,10 +753,10 @@ u8 UpdateTurnCounters(void) if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_SUN_TEMPORARY; - gBattlescriptCurrInstr = gUnknown_082DACE0; + gBattlescriptCurrInstr = BattleScript_82DACE0; } else - gBattlescriptCurrInstr = gUnknown_082DACD2; + gBattlescriptCurrInstr = BattleScript_82DACD2; BattleScriptExecute(gBattlescriptCurrInstr); effect++; @@ -881,10 +769,10 @@ u8 UpdateTurnCounters(void) if (--gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_HAIL; - gBattlescriptCurrInstr = gUnknown_082DACC9; + gBattlescriptCurrInstr = BattleScript_82DACC9; } else - gBattlescriptCurrInstr = gUnknown_082DAC47; + gBattlescriptCurrInstr = BattleScript_82DAC47; gBattleScripting.animArg1 = 0xD; gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -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_82DB234); 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_82DB2A6); effect = 1; } } @@ -1259,7 +1147,7 @@ bool8 sub_8041364(void) gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank]; gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank]; gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; - BattleScriptExecute(gUnknown_082DAFE4); + BattleScriptExecute(BattleScript_82DAFE4); if (gWishFutureKnock.futureSightCounter[gActiveBank] == 0 && gWishFutureKnock.futureSightCounter[gActiveBank ^ 2] == 0) @@ -1298,12 +1186,12 @@ bool8 sub_8041364(void) { gStatuses3[gActiveBank] &= ~STATUS3_PERISH_SONG; gBattleMoveDamage = gBattleMons[gActiveBank].hp; - gBattlescriptCurrInstr = gUnknown_082DAF05; + gBattlescriptCurrInstr = BattleScript_82DAF05; } else { gDisableStructs[gActiveBank].perishSongTimer1--; - gBattlescriptCurrInstr = gUnknown_082DAF20; + gBattlescriptCurrInstr = BattleScript_82DAF20; } BattleScriptExecute(gBattlescriptCurrInstr); return 1; @@ -1326,8 +1214,8 @@ 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; } @@ -1367,7 +1255,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 +1280,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; } @@ -1961,7 +1849,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_82DACE7); } break; case ABILITY_DRIZZLE: @@ -2167,9 +2055,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_82DB592; else - gBattlescriptCurrInstr = gUnknown_082DB591; + gBattlescriptCurrInstr = BattleScript_82DB591; } else { @@ -2380,7 +2268,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } BattleScriptPushCursor(); - gBattlescriptCurrInstr = gUnknown_082DB68C; + gBattlescriptCurrInstr = BattleScript_82DB68C; gBattleScripting.bank = bank; gActiveBank = bank; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); @@ -2445,7 +2333,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 +2405,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; @@ -3536,7 +3424,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 +3447,7 @@ u8 IsPokeDisobedient(void) } while (gBitTable[gCurrMovePos] & calc); gRandomMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - gBattlescriptCurrInstr = gUnknown_082DB6A5; + gBattlescriptCurrInstr = BattleScript_82DB6A5; gBankTarget = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; @@ -3581,7 +3469,7 @@ u8 IsPokeDisobedient(void) } if (i == gNoOfAllBanks) { - gBattlescriptCurrInstr = gUnknown_082DB6D9; + gBattlescriptCurrInstr = BattleScript_82DB6D9; return 1; } } @@ -3590,7 +3478,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; } -- cgit v1.2.3 From cc572f7c00b7a07161b5298868bcb495b7c87b61 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Nov 2017 11:55:17 +0100 Subject: clear battle code and battlescripts --- src/battle_util.c | 122 ++++++++++++++++++++---------------------------------- 1 file changed, 44 insertions(+), 78 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 0ec98d125..6164565bd 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -14,6 +14,7 @@ #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" @@ -2615,7 +2616,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) { @@ -2652,19 +2653,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; } @@ -2675,11 +2676,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); @@ -2688,7 +2687,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) { @@ -2722,10 +2721,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; @@ -2742,10 +2739,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; @@ -2762,10 +2757,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; @@ -2782,10 +2775,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; @@ -2802,10 +2793,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; @@ -2823,19 +2812,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); @@ -2845,13 +2826,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); @@ -2861,13 +2839,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); @@ -2877,13 +2852,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); @@ -2893,13 +2865,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); @@ -2929,22 +2898,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); @@ -3197,7 +3163,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) { -- cgit v1.2.3 From 9886eeb5d8b0a19e31537fbc3e1245f20577d513 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Nov 2017 13:26:58 +0100 Subject: fix, rename, label battle labels and battlescripts --- src/battle_util.c | 110 +++++++++++++++++++++--------------------------------- 1 file changed, 42 insertions(+), 68 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 6164565bd..7f5d31b6f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -459,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) @@ -584,11 +584,7 @@ u8 UpdateTurnCounters(void) { gSideAffecting[sideBank] &= ~SIDE_STATUS_REFLECT; BattleScriptExecute(BattleScript_82DACFA); - gBattleTextBuff1[0] = 0xFD; - gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = MOVE_REFLECT; - gBattleTextBuff1[3] = MOVE_REFLECT >> 8; - gBattleTextBuff1[4] = EOS; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_REFLECT); effect++; } } @@ -614,11 +610,7 @@ u8 UpdateTurnCounters(void) gSideAffecting[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; BattleScriptExecute(BattleScript_82DACFA); 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++; } } @@ -643,11 +635,7 @@ u8 UpdateTurnCounters(void) gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST; BattleScriptExecute(BattleScript_82DACFA); 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++; @@ -773,9 +761,10 @@ u8 UpdateTurnCounters(void) gBattlescriptCurrInstr = BattleScript_82DACC9; } else + { gBattlescriptCurrInstr = BattleScript_82DAC47; - - gBattleScripting.animArg1 = 0xD; + } + gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(gBattlescriptCurrInstr); effect++; @@ -870,7 +859,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); @@ -929,8 +918,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; @@ -941,8 +930,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; @@ -1014,7 +1003,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); @@ -1139,11 +1128,8 @@ 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]; @@ -1151,11 +1137,11 @@ bool8 sub_8041364(void) BattleScriptExecute(BattleScript_82DAFE4); 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? @@ -1177,12 +1163,7 @@ 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; @@ -1195,7 +1176,7 @@ bool8 sub_8041364(void) gBattlescriptCurrInstr = BattleScript_82DAF20; } BattleScriptExecute(gBattlescriptCurrInstr); - return 1; + return TRUE; } } // Hm... @@ -1218,14 +1199,14 @@ bool8 sub_8041364(void) 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 @@ -1572,7 +1553,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 14: // last case + case ATKCANCELLER_MAX_CASE: break; } @@ -1674,14 +1655,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) @@ -1799,10 +1780,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) { @@ -2525,7 +2503,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; @@ -2533,7 +2511,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; @@ -3265,7 +3243,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 @@ -3279,7 +3257,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; } @@ -3289,12 +3267,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) @@ -3302,22 +3280,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: @@ -3325,11 +3303,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; } -- cgit v1.2.3 From 8c30c42c36b7904c223277b9739f5a7e78be1793 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Nov 2017 14:17:02 +0100 Subject: more labelling and changes --- src/battle_util.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 7f5d31b6f..9f2bf2797 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -23,7 +23,7 @@ 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 struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern u8 gActiveBank; extern u8 gStringBank; @@ -43,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 gOriginallyLastMoves[BATTLE_BANKS_COUNT]; extern u32 gHitMarker; extern u8 gEffectBank; extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; @@ -363,7 +363,7 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = BattleScript_82DAE2A; + gSelectionBattleScripts[gActiveBank] = BattleScript_82DAE2A; gProtectStructs[gActiveBank].flag_x10 = 1; } else @@ -373,12 +373,12 @@ u8 TrySetCantSelectMoveBattleScript(void) } } - if (move == gLastUsedMovesByBanks[gActiveBank] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBank].status2 & STATUS2_TORMENT)) + if (move == gOriginallyLastMoves[gActiveBank] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBank].status2 & STATUS2_TORMENT)) { CancelMultiTurnMoves(gActiveBank); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = BattleScript_82DB098; + gSelectionBattleScripts[gActiveBank] = BattleScript_82DB098; gProtectStructs[gActiveBank].flag_x10 = 1; } else @@ -393,7 +393,7 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = BattleScript_82DB0AF; + gSelectionBattleScripts[gActiveBank] = BattleScript_82DB0AF; gProtectStructs[gActiveBank].flag_x10 = 1; } else @@ -408,7 +408,7 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gUnknown_02024230[gActiveBank] = BattleScript_82DB185; + gSelectionBattleScripts[gActiveBank] = BattleScript_82DB185; gProtectStructs[gActiveBank].flag_x10 = 1; } else @@ -477,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] == gOriginallyLastMoves[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]; -- cgit v1.2.3 From 1bb5b1fd07260cd027d9504a0debfdc294cebc9f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Nov 2017 17:15:28 +0100 Subject: more battle labels --- src/battle_util.c | 210 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 109 insertions(+), 101 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 9f2bf2797..021251b35 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -22,8 +22,8 @@ #include "link.h" extern const u8* gBattlescriptCurrInstr; -extern const u8* gBattlescriptPtrsForSelection[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; @@ -363,12 +363,12 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gSelectionBattleScripts[gActiveBank] = BattleScript_82DAE2A; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DAE2A; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DAE1F; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingDisabledMove; limitations = 1; } } @@ -378,12 +378,12 @@ u8 TrySetCantSelectMoveBattleScript(void) CancelMultiTurnMoves(gActiveBank); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gSelectionBattleScripts[gActiveBank] = BattleScript_82DB098; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB098; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB089; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingTormentedMove; limitations++; } } @@ -393,12 +393,12 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gSelectionBattleScripts[gActiveBank] = BattleScript_82DB0AF; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB0AF; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB0A0; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveTaunt; limitations++; } } @@ -408,12 +408,12 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gSelectionBattleScripts[gActiveBank] = BattleScript_82DB185; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB185; gProtectStructs[gActiveBank].flag_x10 = 1; } else { - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB181; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingImprisionedMove; limitations++; } } @@ -435,7 +435,7 @@ u8 TrySetCantSelectMoveBattleScript(void) } else { - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB812; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveChoiceItem; limitations++; } } @@ -448,7 +448,7 @@ u8 TrySetCantSelectMoveBattleScript(void) } else { - gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_82DB076; + gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingMoveWithNoPP; limitations++; } } @@ -499,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 { @@ -583,7 +583,7 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].reflectTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_REFLECT; - BattleScriptExecute(BattleScript_82DACFA); + BattleScriptExecute(BattleScript_SideStatusWoreOff); PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_REFLECT); effect++; } @@ -608,7 +608,7 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].lightscreenTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; - BattleScriptExecute(BattleScript_82DACFA); + BattleScriptExecute(BattleScript_SideStatusWoreOff); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_LIGHT_SCREEN); effect++; @@ -633,7 +633,7 @@ u8 UpdateTurnCounters(void) && --gSideTimers[sideBank].mistTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST; - BattleScriptExecute(BattleScript_82DACFA); + BattleScriptExecute(BattleScript_SideStatusWoreOff); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_MIST); effect++; @@ -658,7 +658,7 @@ u8 UpdateTurnCounters(void) if (--gSideTimers[sideBank].safeguardTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_SAFEGUARD; - BattleScriptExecute(BattleScript_82DAD0B); + BattleScriptExecute(BattleScript_SafeguardEnds); effect++; } } @@ -710,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(BattleScript_82DAC2C); + } + + BattleScriptExecute(BattleScript_RainContinuesOrEnds); effect++; } gBattleStruct->turncountersTracker++; @@ -724,12 +729,14 @@ u8 UpdateTurnCounters(void) if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_SANDSTORM_TEMPORARY; - gBattlescriptCurrInstr = BattleScript_82DACC9; + gBattlescriptCurrInstr = BattleScript_SandStormHailEnds; } else - gBattlescriptCurrInstr = BattleScript_82DAC47; + { + gBattlescriptCurrInstr = BattleScript_DamagingWeatherContinues; + } - gBattleScripting.animArg1 = 0xC; + gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 0; BattleScriptExecute(gBattlescriptCurrInstr); effect++; @@ -742,10 +749,12 @@ u8 UpdateTurnCounters(void) if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_SUN_TEMPORARY; - gBattlescriptCurrInstr = BattleScript_82DACE0; + gBattlescriptCurrInstr = BattleScript_SunlightFaded; } else - gBattlescriptCurrInstr = BattleScript_82DACD2; + { + gBattlescriptCurrInstr = BattleScript_SunlightContinues; + } BattleScriptExecute(gBattlescriptCurrInstr); effect++; @@ -758,12 +767,13 @@ u8 UpdateTurnCounters(void) if (--gWishFutureKnock.weatherDuration == 0) { gBattleWeather &= ~WEATHER_HAIL; - gBattlescriptCurrInstr = BattleScript_82DACC9; + gBattlescriptCurrInstr = BattleScript_SandStormHailEnds; } else { - gBattlescriptCurrInstr = BattleScript_82DAC47; + gBattlescriptCurrInstr = BattleScript_DamagingWeatherContinues; } + gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES; gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(gBattlescriptCurrInstr); @@ -1828,7 +1838,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (effect) { gBattleCommunication[MULTISTRING_CHOOSER] = weather_get_current(); - BattleScriptPushCursorAndCallback(BattleScript_82DACE7); + BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts); } break; case ABILITY_DRIZZLE: @@ -2034,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 = BattleScript_82DB592; + gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless; else - gBattlescriptCurrInstr = BattleScript_82DB591; + gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless_PPLoss; } else { @@ -2174,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 = BattleScript_82DB68C; - 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; @@ -3387,7 +3395,7 @@ u8 IsPokeDisobedient(void) } while (gBitTable[gCurrMovePos] & calc); gRandomMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; - gBattlescriptCurrInstr = BattleScript_82DB6A5; + gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; gBankTarget = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; @@ -3409,7 +3417,7 @@ u8 IsPokeDisobedient(void) } if (i == gNoOfAllBanks) { - gBattlescriptCurrInstr = BattleScript_82DB6D9; + gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; return 1; } } -- cgit v1.2.3 From 59f64c622bf2ed7a0fcc6d45975813bc55c84141 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Nov 2017 17:26:11 +0100 Subject: name more battlescripts --- src/battle_util.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 021251b35..904dfc032 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -963,7 +963,7 @@ u8 TurnBasedEffects(void) gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; - BattleScriptExecute(BattleScript_82DB234); + BattleScriptExecute(BattleScript_MonWokeUpInUproar); gActiveBank = gBankAttacker; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); MarkBufferBankForExecution(gActiveBank); @@ -994,7 +994,7 @@ u8 TurnBasedEffects(void) gBattleCommunication[MULTISTRING_CHOOSER] = 1; CancelMultiTurnMoves(gActiveBank); } - BattleScriptExecute(BattleScript_82DB2A6); + BattleScriptExecute(BattleScript_PrintUproarOverTurns); effect = 1; } } @@ -1144,7 +1144,7 @@ bool8 sub_8041364(void) gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank]; gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank]; gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; - BattleScriptExecute(BattleScript_82DAFE4); + BattleScriptExecute(BattleScript_MonTookFutureAttack); if (gWishFutureKnock.futureSightCounter[gActiveBank] == 0 && gWishFutureKnock.futureSightCounter[gActiveBank ^ BIT_MON] == 0) @@ -1178,12 +1178,12 @@ bool8 sub_8041364(void) { gStatuses3[gActiveBank] &= ~STATUS3_PERISH_SONG; gBattleMoveDamage = gBattleMons[gActiveBank].hp; - gBattlescriptCurrInstr = BattleScript_82DAF05; + gBattlescriptCurrInstr = BattleScript_PerishSongTakesLife; } else { gDisableStructs[gActiveBank].perishSongTimer1--; - gBattlescriptCurrInstr = BattleScript_82DAF20; + gBattlescriptCurrInstr = BattleScript_PerishSongCountGoesDown; } BattleScriptExecute(gBattlescriptCurrInstr); return TRUE; -- cgit v1.2.3 From d48392e677f3b77b34d4b125b90a74be86b19a2d Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 26 Nov 2017 18:07:00 +0100 Subject: change battle variables names --- src/battle_util.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 904dfc032..94c51c0f8 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -43,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 gOriginallyLastMoves[BATTLE_BANKS_COUNT]; +extern u16 gLastMoves[BATTLE_BANKS_COUNT]; extern u32 gHitMarker; extern u8 gEffectBank; extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; @@ -373,7 +373,7 @@ u8 TrySetCantSelectMoveBattleScript(void) } } - if (move == gOriginallyLastMoves[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) @@ -477,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] == gOriginallyLastMoves[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]; -- cgit v1.2.3 From 237261e193d75addf47fc0736b2d9ed10c8d3195 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 27 Nov 2017 20:03:41 +0100 Subject: berry blender review changes --- src/battle_util.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index ed3bdef98..07e6ff654 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2844,7 +2844,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SPICY) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SPICY) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2864,7 +2864,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_DRY) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_DRY) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2884,7 +2884,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SWEET) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SWEET) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2904,7 +2904,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_BITTER) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_BITTER) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2924,7 +2924,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; gBattleMoveDamage *= -1; - if (GetFlavourRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SOUR) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SOUR) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); -- cgit v1.2.3 From 7144b3b7afc60597168fd85d31f333bb3a4b1826 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 27 Nov 2017 21:24:34 +0100 Subject: fix flavour flavor not building, fuccing americans --- src/battle_util.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index a24688bde..5c305a4e4 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -20,6 +20,7 @@ #include "event_data.h" #include "calculate_base_damage.h" #include "link.h" +#include "berry.h" extern const u8* gBattlescriptCurrInstr; extern const u8* gSelectionBattleScripts[BATTLE_BANKS_COUNT]; @@ -2537,15 +2538,6 @@ enum ITEM_STATS_CHANGE, // 5 }; -enum -{ - FLAVOR_SPICY, // 0 - FLAVOR_DRY, // 1 - FLAVOR_SWEET, // 2 - FLAVOR_BITTER, // 3 - FLAVOR_SOUR, // 4 -}; - u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { int i = 0; @@ -2707,7 +2699,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_SPICY: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_SPICY); + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SPICY); gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) @@ -2725,7 +2717,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_DRY: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_DRY); + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_DRY); gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) @@ -2743,7 +2735,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_SWEET: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_SWEET); + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SWEET); gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) @@ -2761,7 +2753,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_BITTER: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_BITTER); + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_BITTER); gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) @@ -2779,7 +2771,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_CONFUSE_SOUR: if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) { - PREPARE_FLAVOUR_BUFFER(gBattleTextBuff1, FLAVOR_SOUR); + PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SOUR); gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; if (gBattleMoveDamage == 0) -- cgit v1.2.3 From d75e7ace1dd034273ca47473a2f543904f823f53 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 2 Dec 2017 14:08:55 +0100 Subject: label battle stuff --- src/battle_util.c | 100 +++++++++++++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 5c305a4e4..c08833858 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1113,23 +1113,23 @@ u8 TurnBasedEffects(void) return 0; } -bool8 sub_8041364(void) +bool8 HandleWishPerishSongOnTurnEnd(void) { gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - switch (gBattleStruct->field_1A0) + switch (gBattleStruct->wishPerishSongState) { case 0: - while (gBattleStruct->field_1A1 < gNoOfAllBanks) + while (gBattleStruct->wishPerishSongBank < gNoOfAllBanks) { - gActiveBank = gBattleStruct->field_1A1; + gActiveBank = gBattleStruct->wishPerishSongBank; if (gAbsentBankFlags & gBitTable[gActiveBank]) { - gBattleStruct->field_1A1++; + gBattleStruct->wishPerishSongBank++; continue; } - gBattleStruct->field_1A1++; + gBattleStruct->wishPerishSongBank++; if (gWishFutureKnock.futureSightCounter[gActiveBank] != 0 && --gWishFutureKnock.futureSightCounter[gActiveBank] == 0 && gBattleMons[gActiveBank].hp != 0) @@ -1157,21 +1157,21 @@ bool8 sub_8041364(void) } // Why do I have to keep doing this to match? { - u8* var = &gBattleStruct->field_1A0; - *var = 1; - gBattleStruct->field_1A1 = 0; + u8 *state = &gBattleStruct->wishPerishSongState; + *state = 1; + gBattleStruct->wishPerishSongBank = 0; } // fall through case 1: - while (gBattleStruct->field_1A1 < gNoOfAllBanks) + while (gBattleStruct->wishPerishSongBank < gNoOfAllBanks) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->field_1A1]; + gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->wishPerishSongBank]; if (gAbsentBankFlags & gBitTable[gActiveBank]) { - gBattleStruct->field_1A1++; + gBattleStruct->wishPerishSongBank++; continue; } - gBattleStruct->field_1A1++; + gBattleStruct->wishPerishSongBank++; if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG) { PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBank].perishSongTimer1); @@ -1192,9 +1192,9 @@ bool8 sub_8041364(void) } // Hm... { - u8* var = &gBattleStruct->field_1A0; - *var = 2; - gBattleStruct->field_1A1 = 0; + u8 *state = &gBattleStruct->wishPerishSongState; + *state = 2; + gBattleStruct->wishPerishSongBank = 0; } // fall through case 2: @@ -1209,7 +1209,7 @@ bool8 sub_8041364(void) gBattlescriptCurrInstr = BattleScript_82DB8F3; BattleScriptExecute(BattleScript_82DB8F3); - gBattleStruct->field_1A0++; + gBattleStruct->wishPerishSongState++; return TRUE; } break; @@ -1220,20 +1220,20 @@ bool8 sub_8041364(void) return FALSE; } -#define sub_8041728_MAX_CASE 7 +#define FAINTED_ACTIONS_MAX_CASE 7 -bool8 sub_8041728(void) +bool8 HandleFaintedMonActions(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) return FALSE; do { int i; - switch (gBattleStruct->field_4D) + switch (gBattleStruct->faintedActionsState) { case 0: - gBattleStruct->field_4E = 0; - gBattleStruct->field_4D++; + gBattleStruct->faintedActionsBank = 0; + gBattleStruct->faintedActionsState++; for (i = 0; i < gNoOfAllBanks; i++) { if (gAbsentBankFlags & gBitTable[i] && !sub_80423F4(i, 6, 6)) @@ -1243,58 +1243,58 @@ bool8 sub_8041728(void) case 1: do { - gBank1 = gBankTarget = gBattleStruct->field_4E; - if (gBattleMons[gBattleStruct->field_4E].hp == 0 - && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->field_4E]]) - && !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E])) + gBank1 = gBankTarget = gBattleStruct->faintedActionsBank; + if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 + && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->faintedActionsBank]]) + && !(gAbsentBankFlags & gBitTable[gBattleStruct->faintedActionsBank])) { - BattleScriptExecute(BattleScript_82DA7C4); - gBattleStruct->field_4D = 2; + BattleScriptExecute(BattleScript_GiveExp); + gBattleStruct->faintedActionsState = 2; return TRUE; } - } while (++gBattleStruct->field_4E != gNoOfAllBanks); - gBattleStruct->field_4D = 3; + } while (++gBattleStruct->faintedActionsBank != gNoOfAllBanks); + gBattleStruct->faintedActionsState = 3; break; case 2: sub_803F9EC(gBank1); - if (++gBattleStruct->field_4E == gNoOfAllBanks) - gBattleStruct->field_4D = 3; + if (++gBattleStruct->faintedActionsBank == gNoOfAllBanks) + gBattleStruct->faintedActionsState = 3; else - gBattleStruct->field_4D = 1; + gBattleStruct->faintedActionsState = 1; break; case 3: - gBattleStruct->field_4E = 0; - gBattleStruct->field_4D++; + gBattleStruct->faintedActionsBank = 0; + gBattleStruct->faintedActionsState++; // fall through case 4: do { - gBank1 = gBankTarget = gBattleStruct->field_4E; - if (gBattleMons[gBattleStruct->field_4E].hp == 0 - && !(gAbsentBankFlags & gBitTable[gBattleStruct->field_4E])) + gBank1 = gBankTarget = gBattleStruct->faintedActionsBank; + if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 + && !(gAbsentBankFlags & gBitTable[gBattleStruct->faintedActionsBank])) { - BattleScriptExecute(BattleScript_82DA7CD); - gBattleStruct->field_4D = 5; + BattleScriptExecute(BattleScript_HandleFaintedMon); + gBattleStruct->faintedActionsState = 5; return TRUE; } - } while (++gBattleStruct->field_4E != gNoOfAllBanks); - gBattleStruct->field_4D = 6; + } while (++gBattleStruct->faintedActionsBank != gNoOfAllBanks); + gBattleStruct->faintedActionsState = 6; break; case 5: - if (++gBattleStruct->field_4E == gNoOfAllBanks) - gBattleStruct->field_4D = 6; + if (++gBattleStruct->faintedActionsBank == gNoOfAllBanks) + gBattleStruct->faintedActionsState = 6; else - gBattleStruct->field_4D = 4; + gBattleStruct->faintedActionsState = 4; break; case 6: if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) || ItemBattleEffects(1, 0, 1) || AbilityBattleEffects(ABILITYEFFECT_FORECAST, 0, 0, 0, 0)) return TRUE; - gBattleStruct->field_4D++; + gBattleStruct->faintedActionsState++; break; - case 7: + case FAINTED_ACTIONS_MAX_CASE: break; } - } while (gBattleStruct->field_4D != sub_8041728_MAX_CASE); + } while (gBattleStruct->faintedActionsState != FAINTED_ACTIONS_MAX_CASE); return FALSE; } @@ -3182,7 +3182,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED && gBattleMons[gBankTarget].hp) { - gBattleCommunication[MOVE_EFFECT_BYTE] = 8; + gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); SetMoveEffect(0, 0); BattleScriptPop(); @@ -3318,7 +3318,7 @@ static bool32 HasObedientBitSet(u8 bank) return GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_OBEDIENCE, NULL); } -u8 IsPokeDisobedient(void) +u8 IsMonDisobedient(void) { s32 rnd; s32 calc; -- cgit v1.2.3 From 790df7159ec26194a71ed57216de27358999a061 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 3 Dec 2017 00:47:21 +0100 Subject: more battlescript labels --- src/battle_util.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index c08833858..b4268673c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -364,7 +364,7 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DAE2A; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingDisabledMoveInPalace; gProtectStructs[gActiveBank].flag_x10 = 1; } else @@ -379,7 +379,7 @@ u8 TrySetCantSelectMoveBattleScript(void) CancelMultiTurnMoves(gActiveBank); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB098; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingTormentedMoveInPalace; gProtectStructs[gActiveBank].flag_x10 = 1; } else @@ -394,7 +394,7 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB0AF; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveTauntInPalace; gProtectStructs[gActiveBank].flag_x10 = 1; } else @@ -409,7 +409,7 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_82DB185; + gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingImprisionedMoveInPalace; gProtectStructs[gActiveBank].flag_x10 = 1; } else @@ -1313,7 +1313,7 @@ void TryClearRageStatuses(void) u8 AtkCanceller_UnableToUseMove(void) { u8 effect = 0; - s32* bideDmg = &gBattleScripting.bideDmg; + s32 *bideDmg = &gBattleScripting.bideDmg; do { switch (gBattleStruct->atkCancellerTracker) -- cgit v1.2.3 From caa13f877797edbb7a1e13bf00b537bafbd4315a Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 5 Dec 2017 11:55:48 -0600 Subject: convert some constants to C headers --- src/battle_util.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 5c305a4e4..ed1355eca 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1,14 +1,14 @@ #include "global.h" #include "battle.h" -#include "abilities.h" +#include "constants/abilities.h" #include "moves.h" -#include "hold_effects.h" +#include "constants/hold_effects.h" #include "pokemon.h" #include "species.h" #include "item.h" -#include "items.h" +#include "constants/items.h" #include "util.h" -#include "battle_move_effects.h" +#include "constants/battle_move_effects.h" #include "battle_scripts.h" #include "rng.h" #include "text.h" -- cgit v1.2.3 From 00896cb3b5813cb843e5e1abd4cbc9ff0ad3a632 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 5 Dec 2017 12:27:33 -0600 Subject: rename rng.c to random.c and rom4.c to overworld.c --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index b4268673c..e67d22d64 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -10,7 +10,7 @@ #include "util.h" #include "battle_move_effects.h" #include "battle_scripts.h" -#include "rng.h" +#include "random.h" #include "text.h" #include "string_util.h" #include "battle_message.h" -- cgit v1.2.3 From c681b482c2ab0a4281cb6ad5927ce8ca565a3692 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Mon, 11 Dec 2017 12:27:51 -0600 Subject: convert more constants --- src/battle_util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 293915de7..1a624641d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1,10 +1,10 @@ #include "global.h" #include "battle.h" #include "constants/abilities.h" -#include "moves.h" +#include "constants/moves.h" #include "constants/hold_effects.h" #include "pokemon.h" -#include "species.h" +#include "constants/species.h" #include "item.h" #include "constants/items.h" #include "util.h" -- cgit v1.2.3 From 4f950d698c241af92d81b0e1a55e3fd0a85cb83a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 31 Dec 2017 16:28:57 +0100 Subject: dump battle animation scripts --- src/battle_util.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 1a624641d..2ce37cfbd 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3,6 +3,7 @@ #include "constants/abilities.h" #include "constants/moves.h" #include "constants/hold_effects.h" +#include "constants/battle_anim.h" #include "pokemon.h" #include "constants/species.h" #include "item.h" -- cgit v1.2.3 From 157b88b6dbfa7816cac9c6cf2ef20bd70a573b10 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 16 Jan 2018 14:01:31 -0600 Subject: identity -> position --- src/battle_util.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 2ce37cfbd..2a1b421f5 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -104,16 +104,16 @@ u8 GetBattleBank(u8 caseId) case 8: case 9: case BS_GET_PLAYER1: - ret = GetBankByIdentity(IDENTITY_PLAYER_MON1); + ret = GetBankByIdentity(B_POSITION_PLAYER_LEFT); break; case BS_GET_OPPONENT1: - ret = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + ret = GetBankByIdentity(B_POSITION_OPPONENT_LEFT); break; case BS_GET_PLAYER2: - ret = GetBankByIdentity(IDENTITY_PLAYER_MON2); + ret = GetBankByIdentity(B_POSITION_PLAYER_RIGHT); break; case BS_GET_OPPONENT2: - ret = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + ret = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT); break; } return ret; @@ -1667,14 +1667,14 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) { if (GetBankSide(bank) == SIDE_OPPONENT) { - r7 = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - r6 = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + r7 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT); + r6 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT); party = gEnemyParty; } else { - r7 = GetBankByIdentity(IDENTITY_PLAYER_MON1); - r6 = GetBankByIdentity(IDENTITY_PLAYER_MON2); + r7 = GetBankByIdentity(B_POSITION_PLAYER_LEFT); + r6 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT); party = gPlayerParty; } if (r1 == 6) @@ -2335,7 +2335,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { u8 target2; - side = (GetBankIdentity(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon + side = (GetBankPosition(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon target1 = GetBankByIdentity(side); target2 = GetBankByIdentity(side + BIT_MON); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -3268,7 +3268,7 @@ 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) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBankByIdentity((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); if (gAbsentBankFlags & gBitTable[targetBank]) targetBank ^= BIT_MON; break; @@ -3281,22 +3281,22 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) if (GetBankSide(gBankAttacker) == SIDE_PLAYER) { if (Random() & 1) - targetBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + targetBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT); else - targetBank = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + targetBank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - targetBank = GetBankByIdentity(IDENTITY_PLAYER_MON1); + targetBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT); else - targetBank = GetBankByIdentity(IDENTITY_PLAYER_MON2); + targetBank = GetBankByIdentity(B_POSITION_PLAYER_RIGHT); } if (gAbsentBankFlags & gBitTable[targetBank]) targetBank ^= BIT_MON; } else - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBankByIdentity((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); break; case MOVE_TARGET_USER: case MOVE_TARGET_x10: @@ -3332,7 +3332,7 @@ u8 IsMonDisobedient(void) if (HasObedientBitSet(gBankAttacker)) // only if species is Mew or Deoxys { - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankIdentity(gBankAttacker) == 2) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankPosition(gBankAttacker) == 2) return 0; if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) return 0; -- cgit v1.2.3 From c3c13d0acfa46a54bd05d1c7dcea2955103ac3ad Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 16 Jan 2018 15:12:38 -0600 Subject: more renaming --- src/battle_util.c | 378 +++++++++++++++++++++++++++--------------------------- 1 file changed, 189 insertions(+), 189 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 2a1b421f5..250976347 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -31,14 +31,14 @@ extern u8 gActiveBank; extern u8 gStringBank; extern u16 gCurrentMove; extern u16 gLastUsedItem; -extern u8 gNoOfAllBanks; +extern u8 gBattleBanksCount; extern u32 gStatuses3[BATTLE_BANKS_COUNT]; extern u8 gBankAttacker; -extern u8 gBankTarget; +extern u8 gBankDefender; extern u8 gAbsentBankFlags; extern u16 gBattleWeather; extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT]; -extern u16 gSideAffecting[2]; +extern u16 gSideStatuses[2]; extern u8 gBattleCommunication[]; extern void (*gBattleMainFunc)(void); extern s32 gBattleMoveDamage; @@ -51,7 +51,7 @@ extern u8 gEffectBank; extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; extern u8 gBank1; extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT]; -extern u8 gBattleMoveFlags; +extern u8 gMoveResultFlags; extern s32 gTakenDmg[BATTLE_BANKS_COUNT]; extern u8 gTakenDmgBanks[BATTLE_BANKS_COUNT]; extern u8 gLastUsedAbility; @@ -79,7 +79,7 @@ u8 GetBattleBank(u8 caseId) switch (caseId) { case BS_GET_TARGET: - ret = gBankTarget; + ret = gBankDefender; break; case BS_GET_ATTACKER: ret = gBankAttacker; @@ -104,16 +104,16 @@ u8 GetBattleBank(u8 caseId) case 8: case 9: case BS_GET_PLAYER1: - ret = GetBankByIdentity(B_POSITION_PLAYER_LEFT); + ret = GetBankByPosition(B_POSITION_PLAYER_LEFT); break; case BS_GET_OPPONENT1: - ret = GetBankByIdentity(B_POSITION_OPPONENT_LEFT); + ret = GetBankByPosition(B_POSITION_OPPONENT_LEFT); break; case BS_GET_PLAYER2: - ret = GetBankByIdentity(B_POSITION_PLAYER_RIGHT); + ret = GetBankByPosition(B_POSITION_PLAYER_RIGHT); break; case BS_GET_OPPONENT2: - ret = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT); + ret = GetBankByPosition(B_POSITION_OPPONENT_RIGHT); break; } return ret; @@ -153,7 +153,7 @@ void PressurePPLoseOnUsingImprision(u8 bankAtk) s32 imprisionPos = 4; u8 atkSide = GetBankSide(bankAtk); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (atkSide != GetBankSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) { @@ -186,7 +186,7 @@ void PressurePPLoseOnUsingPerishSong(u8 bankAtk) s32 i, j; s32 perishSongPos = 4; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].ability == ABILITY_PRESSURE && i != bankAtk) { @@ -220,12 +220,12 @@ void MarkAllBufferBanksForExecution(void) // unused if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) gBattleExecBuffer |= gBitTable[i] << 0x1C; } else { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) gBattleExecBuffer |= gBitTable[i]; } } @@ -296,10 +296,10 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[0] = 0; gSentPokesToOpponent[1] = 0; - for (i = 0; i < gNoOfAllBanks; i += 2) + for (i = 0; i < gBattleBanksCount; i += 2) bits |= gBitTable[gBattlePartyID[i]]; - for (i = 1; i < gNoOfAllBanks; i += 2) + for (i = 1; i < gBattleBanksCount; i += 2) gSentPokesToOpponent[(i & BIT_MON) >> 1] = bits; } @@ -313,7 +313,7 @@ void sub_803F9EC(u8 bank) u8 id = ((bank & BIT_MON) >> 1); gSentPokesToOpponent[id] = 0; - for (i = 0; i < gNoOfAllBanks; i += 2) + for (i = 0; i < gBattleBanksCount; i += 2) { if (!(gAbsentBankFlags & gBitTable[i])) bits |= gBitTable[gBattlePartyID[i]]; @@ -332,7 +332,7 @@ void sub_803FA70(u8 bank) else { s32 i; - for (i = 1; i < gNoOfAllBanks; i++) + for (i = 1; i < gBattleBanksCount; i++) gSentPokesToOpponent[(i & BIT_MON) >> 1] |= gBitTable[gBattlePartyID[bank]]; } } @@ -517,7 +517,7 @@ u8 GetImprisonedMovesCount(u8 bank, u16 move) u8 imprisionedMoves = 0; u8 bankSide = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (bankSide != GetBankSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) { @@ -540,10 +540,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankAttacker]; gBankAttacker++) + for (gBankAttacker = 0; gBankAttacker < gBattleBanksCount && gAbsentBankFlags & gBitTable[gBankAttacker]; gBankAttacker++) { } - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankTarget]; gBankTarget++) + for (gBankDefender = 0; gBankDefender < gBattleBanksCount && gAbsentBankFlags & gBitTable[gBankDefender]; gBankDefender++) { } @@ -554,14 +554,14 @@ u8 UpdateTurnCounters(void) switch (gBattleStruct->turncountersTracker) { case 0: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { gBanksByTurnOrder[i] = i; } - for (i = 0; i < gNoOfAllBanks - 1; i++) + for (i = 0; i < gBattleBanksCount - 1; i++) { s32 j; - for (j = i + 1; j < gNoOfAllBanks; j++) + for (j = i + 1; j < gBattleBanksCount; j++) { if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], 0)) SwapTurnOrder(i, j); @@ -580,11 +580,11 @@ u8 UpdateTurnCounters(void) { sideBank = gBattleStruct->turnSideTracker; gActiveBank = gBankAttacker = gSideTimers[sideBank].reflectBank; - if (gSideAffecting[sideBank] & SIDE_STATUS_REFLECT) + if (gSideStatuses[sideBank] & SIDE_STATUS_REFLECT) { if (--gSideTimers[sideBank].reflectTimer == 0) { - gSideAffecting[sideBank] &= ~SIDE_STATUS_REFLECT; + gSideStatuses[sideBank] &= ~SIDE_STATUS_REFLECT; BattleScriptExecute(BattleScript_SideStatusWoreOff); PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_REFLECT); effect++; @@ -605,11 +605,11 @@ u8 UpdateTurnCounters(void) { sideBank = gBattleStruct->turnSideTracker; gActiveBank = gBankAttacker = gSideTimers[sideBank].lightscreenBank; - if (gSideAffecting[sideBank] & SIDE_STATUS_LIGHTSCREEN) + if (gSideStatuses[sideBank] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[sideBank].lightscreenTimer == 0) { - gSideAffecting[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; + gSideStatuses[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; BattleScriptExecute(BattleScript_SideStatusWoreOff); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_LIGHT_SCREEN); @@ -634,7 +634,7 @@ u8 UpdateTurnCounters(void) if (gSideTimers[sideBank].mistTimer != 0 && --gSideTimers[sideBank].mistTimer == 0) { - gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST; + gSideStatuses[sideBank] &= ~SIDE_STATUS_MIST; BattleScriptExecute(BattleScript_SideStatusWoreOff); gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_MIST); @@ -655,11 +655,11 @@ u8 UpdateTurnCounters(void) { sideBank = gBattleStruct->turnSideTracker; gActiveBank = gBankAttacker = gSideTimers[sideBank].safeguardBank; - if (gSideAffecting[sideBank] & SIDE_STATUS_SAFEGUARD) + if (gSideStatuses[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) { - gSideAffecting[sideBank] &= ~SIDE_STATUS_SAFEGUARD; + gSideStatuses[sideBank] &= ~SIDE_STATUS_SAFEGUARD; BattleScriptExecute(BattleScript_SafeguardEnds); effect++; } @@ -675,14 +675,14 @@ u8 UpdateTurnCounters(void) } break; case 5: - while (gBattleStruct->turnSideTracker < gNoOfAllBanks) + while (gBattleStruct->turnSideTracker < gBattleBanksCount) { gActiveBank = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; if (gWishFutureKnock.wishCounter[gActiveBank] != 0 && --gWishFutureKnock.wishCounter[gActiveBank] == 0 && gBattleMons[gActiveBank].hp != 0) { - gBankTarget = gActiveBank; + gBankDefender = gActiveBank; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -798,7 +798,7 @@ u8 TurnBasedEffects(void) u8 effect = 0; gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - while (gBattleStruct->turnEffectsBank < gNoOfAllBanks && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) + while (gBattleStruct->turnEffectsBank < gBattleBanksCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; if (gAbsentBankFlags & gBitTable[gActiveBank]) @@ -843,11 +843,11 @@ u8 TurnBasedEffects(void) && gBattleMons[gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBank].hp != 0) { - gBankTarget = gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP + gBankDefender = gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleScripting.animArg1 = gBankTarget; + gBattleScripting.animArg1 = gBankDefender; gBattleScripting.animArg2 = gBankAttacker; BattleScriptExecute(BattleScript_LeechSeedTurnDrain); effect++; @@ -855,7 +855,7 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 4: // poison - if ((gBattleMons[gActiveBank].status1 & STATUS_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBank].status1 & STATUS1_POISON) && gBattleMons[gActiveBank].hp != 0) { gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; if (gBattleMoveDamage == 0) @@ -866,7 +866,7 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 5: // toxic poison - if ((gBattleMons[gActiveBank].status1 & STATUS_TOXIC_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBank].status1 & STATUS1_TOXIC_POISON) && gBattleMons[gActiveBank].hp != 0) { gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; if (gBattleMoveDamage == 0) @@ -880,7 +880,7 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 6: // burn - if ((gBattleMons[gActiveBank].status1 & STATUS_BURN) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBank].status1 & STATUS1_BURN) && gBattleMons[gActiveBank].hp != 0) { gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; if (gBattleMoveDamage == 0) @@ -895,7 +895,7 @@ u8 TurnBasedEffects(void) { // R/S does not perform this sleep check, which causes the nighmare effect to // persist even after the affected Pokemon has been awakened by Shed Skin - if (gBattleMons[gActiveBank].status1 & STATUS_SLEEP) + if (gBattleMons[gActiveBank].status1 & STATUS1_SLEEP) { gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; if (gBattleMoveDamage == 0) @@ -957,12 +957,12 @@ u8 TurnBasedEffects(void) case 10: // uproar if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) { - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks; gBankAttacker++) + for (gBankAttacker = 0; gBankAttacker < gBattleBanksCount; gBankAttacker++) { - if ((gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) + if ((gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP) && gBattleMons[gBankAttacker].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); + gBattleMons[gBankAttacker].status1 &= ~(STATUS1_SLEEP); gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); @@ -972,7 +972,7 @@ u8 TurnBasedEffects(void) break; } } - if (gBankAttacker != gNoOfAllBanks) + if (gBankAttacker != gBattleBanksCount) { effect = 2; // a pokemon was awaken break; @@ -1086,7 +1086,7 @@ u8 TurnBasedEffects(void) if (gStatuses3[gActiveBank] & STATUS3_YAWN) { gStatuses3[gActiveBank] -= 0x800; - if (!(gStatuses3[gActiveBank] & STATUS3_YAWN) && !(gBattleMons[gActiveBank].status1 & STATUS_ANY) + if (!(gStatuses3[gActiveBank] & STATUS3_YAWN) && !(gBattleMons[gActiveBank].status1 & STATUS1_ANY) && gBattleMons[gActiveBank].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gActiveBank].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBank)) { @@ -1121,7 +1121,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) switch (gBattleStruct->wishPerishSongState) { case 0: - while (gBattleStruct->wishPerishSongBank < gNoOfAllBanks) + while (gBattleStruct->wishPerishSongBank < gBattleBanksCount) { gActiveBank = gBattleStruct->wishPerishSongBank; if (gAbsentBankFlags & gBitTable[gActiveBank]) @@ -1142,16 +1142,16 @@ bool8 HandleWishPerishSongOnTurnEnd(void) PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBank]); - gBankTarget = gActiveBank; + gBankDefender = gActiveBank; gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank]; gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank]; - gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; + gSpecialStatuses[gBankDefender].moveturnLostHP = 0xFFFF; BattleScriptExecute(BattleScript_MonTookFutureAttack); if (gWishFutureKnock.futureSightCounter[gActiveBank] == 0 && gWishFutureKnock.futureSightCounter[gActiveBank ^ BIT_MON] == 0) { - gSideAffecting[GET_BANK_SIDE(gBankTarget)] &= ~(SIDE_STATUS_FUTUREATTACK); + gSideStatuses[GET_BANK_SIDE(gBankDefender)] &= ~(SIDE_STATUS_FUTUREATTACK); } return TRUE; } @@ -1164,7 +1164,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) } // fall through case 1: - while (gBattleStruct->wishPerishSongBank < gNoOfAllBanks) + while (gBattleStruct->wishPerishSongBank < gBattleBanksCount) { gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->wishPerishSongBank]; if (gAbsentBankFlags & gBitTable[gActiveBank]) @@ -1235,7 +1235,7 @@ bool8 HandleFaintedMonActions(void) case 0: gBattleStruct->faintedActionsBank = 0; gBattleStruct->faintedActionsState++; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gAbsentBankFlags & gBitTable[i] && !sub_80423F4(i, 6, 6)) gAbsentBankFlags &= ~(gBitTable[i]); @@ -1244,7 +1244,7 @@ bool8 HandleFaintedMonActions(void) case 1: do { - gBank1 = gBankTarget = gBattleStruct->faintedActionsBank; + gBank1 = gBankDefender = gBattleStruct->faintedActionsBank; if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->faintedActionsBank]]) && !(gAbsentBankFlags & gBitTable[gBattleStruct->faintedActionsBank])) @@ -1253,12 +1253,12 @@ bool8 HandleFaintedMonActions(void) gBattleStruct->faintedActionsState = 2; return TRUE; } - } while (++gBattleStruct->faintedActionsBank != gNoOfAllBanks); + } while (++gBattleStruct->faintedActionsBank != gBattleBanksCount); gBattleStruct->faintedActionsState = 3; break; case 2: sub_803F9EC(gBank1); - if (++gBattleStruct->faintedActionsBank == gNoOfAllBanks) + if (++gBattleStruct->faintedActionsBank == gBattleBanksCount) gBattleStruct->faintedActionsState = 3; else gBattleStruct->faintedActionsState = 1; @@ -1270,7 +1270,7 @@ bool8 HandleFaintedMonActions(void) case 4: do { - gBank1 = gBankTarget = gBattleStruct->faintedActionsBank; + gBank1 = gBankDefender = gBattleStruct->faintedActionsBank; if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 && !(gAbsentBankFlags & gBitTable[gBattleStruct->faintedActionsBank])) { @@ -1278,11 +1278,11 @@ bool8 HandleFaintedMonActions(void) gBattleStruct->faintedActionsState = 5; return TRUE; } - } while (++gBattleStruct->faintedActionsBank != gNoOfAllBanks); + } while (++gBattleStruct->faintedActionsBank != gBattleBanksCount); gBattleStruct->faintedActionsState = 6; break; case 5: - if (++gBattleStruct->faintedActionsBank == gNoOfAllBanks) + if (++gBattleStruct->faintedActionsBank == gBattleBanksCount) gBattleStruct->faintedActionsState = 6; else gBattleStruct->faintedActionsState = 4; @@ -1302,7 +1302,7 @@ bool8 HandleFaintedMonActions(void) void TryClearRageStatuses(void) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if ((gBattleMons[i].status2 & STATUS2_RAGE) && gChosenMovesByBanks[i] != MOVE_RAGE) gBattleMons[i].status2 &= ~(STATUS2_RAGE); @@ -1325,11 +1325,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 1: // check being asleep - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) + if (gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP) { if (UproarWakeUpCheck(gBankAttacker)) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); + gBattleMons[gBankAttacker].status1 &= ~(STATUS1_SLEEP); gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -1343,11 +1343,11 @@ u8 AtkCanceller_UnableToUseMove(void) toSub = 2; else toSub = 1; - if ((gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) < toSub) - gBattleMons[gBankAttacker].status1 &= ~(STATUS_SLEEP); + if ((gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[gBankAttacker].status1 &= ~(STATUS1_SLEEP); else gBattleMons[gBankAttacker].status1 -= toSub; - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) + if (gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP) { if (gCurrentMove != MOVE_SNORE && gCurrentMove != MOVE_SLEEP_TALK) { @@ -1369,7 +1369,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 2: // check being frozen - if (gBattleMons[gBankAttacker].status1 & STATUS_FREEZE) + if (gBattleMons[gBankAttacker].status1 & STATUS1_FREEZE) { if (Random() % 5) { @@ -1386,7 +1386,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else // unfreeze { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_FREEZE); + gBattleMons[gBankAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -1402,7 +1402,7 @@ u8 AtkCanceller_UnableToUseMove(void) gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; effect = 1; } gBattleStruct->atkCancellerTracker++; @@ -1479,7 +1479,7 @@ u8 AtkCanceller_UnableToUseMove(void) else // confusion dmg { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBankTarget = gBankAttacker; + gBankDefender = gBankAttacker; gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); gProtectStructs[gBankAttacker].confusionSelfDmg = 1; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; @@ -1496,7 +1496,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 10: // paralysis - if ((gBattleMons[gBankAttacker].status1 & STATUS_PARALYSIS) && (Random() % 4) == 0) + if ((gBattleMons[gBankAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) { gProtectStructs[gBankAttacker].prlzImmobility = 1; // This is removed in Emerald for some reason @@ -1539,9 +1539,9 @@ u8 AtkCanceller_UnableToUseMove(void) { gCurrentMove = MOVE_BIDE; *bideDmg = gTakenDmg[gBankAttacker] * 2; - gBankTarget = gTakenDmgBanks[gBankAttacker]; - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetMoveTarget(MOVE_BIDE, 1); + gBankDefender = gTakenDmgBanks[gBankAttacker]; + if (gAbsentBankFlags & gBitTable[gBankDefender]) + gBankDefender = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } else @@ -1552,11 +1552,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 13: // move thawing - if (gBattleMons[gBankAttacker].status1 & STATUS_FREEZE) + if (gBattleMons[gBankAttacker].status1 & STATUS1_FREEZE) { if (gBattleMoves[gCurrentMove].effect == EFFECT_THAW_HIT) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS_FREEZE); + gBattleMons[gBankAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -1667,14 +1667,14 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) { if (GetBankSide(bank) == SIDE_OPPONENT) { - r7 = GetBankByIdentity(B_POSITION_OPPONENT_LEFT); - r6 = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT); + r7 = GetBankByPosition(B_POSITION_OPPONENT_LEFT); + r6 = GetBankByPosition(B_POSITION_OPPONENT_RIGHT); party = gEnemyParty; } else { - r7 = GetBankByIdentity(B_POSITION_PLAYER_LEFT); - r6 = GetBankByIdentity(B_POSITION_PLAYER_RIGHT); + r7 = GetBankByPosition(B_POSITION_PLAYER_LEFT); + r6 = GetBankByPosition(B_POSITION_PLAYER_RIGHT); party = gPlayerParty; } if (r1 == 6) @@ -1754,19 +1754,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) u32 pidAtk; u32 pidDef; - if (gBankAttacker >= gNoOfAllBanks) + if (gBankAttacker >= gBattleBanksCount) gBankAttacker = bank; if (GetBankSide(gBankAttacker) == SIDE_PLAYER) pokeAtk = &gPlayerParty[gBattlePartyID[gBankAttacker]]; else pokeAtk = &gEnemyParty[gBattlePartyID[gBankAttacker]]; - if (gBankTarget >= gNoOfAllBanks) - gBankTarget = bank; - if (GetBankSide(gBankTarget) == SIDE_PLAYER) - pokeDef = &gPlayerParty[gBattlePartyID[gBankTarget]]; + if (gBankDefender >= gBattleBanksCount) + gBankDefender = bank; + if (GetBankSide(gBankDefender) == SIDE_PLAYER) + pokeDef = &gPlayerParty[gBattlePartyID[gBankDefender]]; else - pokeDef = &gEnemyParty[gBattlePartyID[gBankTarget]]; + pokeDef = &gEnemyParty[gBattlePartyID[gBankDefender]]; speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES); pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY); @@ -1797,7 +1797,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - if (gBankAttacker >= gNoOfAllBanks) + if (gBankAttacker >= gBattleBanksCount) gBankAttacker = bank; switch (gLastUsedAbility) { @@ -1897,7 +1897,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_AIR_LOCK: { // that's a weird choice for a variable, why not use i or bank? - for (target1 = 0; target1 < gNoOfAllBanks; target1++) + for (target1 = 0; target1 < gBattleBanksCount; target1++) { effect = CastformDataTypeChange(target1); if (effect != 0) @@ -1932,17 +1932,17 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_SHED_SKIN: - if ((gBattleMons[bank].status1 & STATUS_ANY) && (Random() % 3) == 0) + if ((gBattleMons[bank].status1 & STATUS1_ANY) && (Random() % 3) == 0) { - if (gBattleMons[bank].status1 & (STATUS_POISON | STATUS_TOXIC_POISON)) + if (gBattleMons[bank].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON)) StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[bank].status1 & STATUS1_SLEEP) StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[bank].status1 & STATUS1_BURN) StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[bank].status1 & STATUS1_FREEZE) StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); gBattleMons[bank].status1 = 0; gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); // fix nightmare glitch @@ -2015,7 +2015,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_FLASH_FIRE: - if (moveType == TYPE_FIRE && !(gBattleMons[bank].status1 & STATUS_FREEZE)) + if (moveType == TYPE_FIRE && !(gBattleMons[bank].status1 & STATUS1_FREEZE)) { if (!(gBattleResources->flags->flags[bank] & UNKNOWN_FLAG_FLASH_FIRE)) { @@ -2064,10 +2064,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case ABILITY_COLOR_CHANGE: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) && gBattleMons[bank].type1 != moveType && gBattleMons[bank].type2 != moveType && gBattleMons[bank].hp != 0) @@ -2081,10 +2081,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_ROUGH_SKIN: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) { gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; @@ -2096,10 +2096,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_EFFECT_SPORE: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 10) == 0) { @@ -2119,10 +2119,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_POISON_POINT: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2134,10 +2134,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_STATIC: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2149,11 +2149,11 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_FLAME_BODY: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_BURN; @@ -2164,12 +2164,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_CUTE_CHARM: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && gBattleMons[gBankTarget].hp != 0 + && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) + && gBattleMons[gBankDefender].hp != 0 && (Random() % 3) == 0 && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) @@ -2177,7 +2177,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != MON_GENDERLESS && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != MON_GENDERLESS) { - gBattleMons[gBankAttacker].status2 |= STATUS2_INFATUATED_WITH(gBankTarget); + gBattleMons[gBankAttacker].status2 |= STATUS2_INFATUATED_WITH(gBankDefender); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; effect++; @@ -2186,12 +2186,12 @@ 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 < gBattleBanksCount; bank++) { switch (gBattleMons[bank].ability) { case ABILITY_IMMUNITY: - if (gBattleMons[bank].status1 & (STATUS_POISON | STATUS_TOXIC_POISON | STATUS_TOXIC_COUNTER)) + if (gBattleMons[bank].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_TOXIC_COUNTER)) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); effect = 1; @@ -2205,7 +2205,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_LIMBER: - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); effect = 1; @@ -2213,7 +2213,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_INSOMNIA: case ABILITY_VITAL_SPIRIT: - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[bank].status1 & STATUS1_SLEEP) { gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); @@ -2221,14 +2221,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_WATER_VEIL: - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[bank].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); effect = 1; } break; case ABILITY_MAGMA_ARMOR: - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[bank].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); effect = 1; @@ -2268,7 +2268,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_FORECAST: // 6 - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattleBanksCount; bank++) { if (gBattleMons[bank].ability == ABILITY_FORECAST) { @@ -2292,7 +2292,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect + MOVE_EFFECT_AFFECTS_USER; - gBattleScripting.bank = gBankTarget; + gBattleScripting.bank = gBankDefender; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2316,7 +2316,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE1: // 9 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && gStatuses3[i] & STATUS3_INTIMIDATE_POKES) { @@ -2330,20 +2330,20 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_TRACE: // 11 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { u8 target2; side = (GetBankPosition(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon - target1 = GetBankByIdentity(side); - target2 = GetBankByIdentity(side + BIT_MON); + target1 = GetBankByPosition(side); + target2 = GetBankByPosition(side + BIT_MON); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = GetBankByIdentity(((Random() & 1) * 2) | side); + gActiveBank = GetBankByPosition(((Random() & 1) * 2) | side); gBattleMons[i].ability = gBattleMons[gActiveBank].ability; gLastUsedAbility = gBattleMons[gActiveBank].ability; effect++; @@ -2387,7 +2387,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE2: // 10 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && (gStatuses3[i] & STATUS3_INTIMIDATE_POKES)) { @@ -2403,7 +2403,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_CHECK_OTHER_SIDE: // 12 side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (GetBankSide(i) != side && gBattleMons[i].ability == ability) { @@ -2414,7 +2414,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_CHECK_BANK_SIDE: // 13 side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (GetBankSide(i) == side && gBattleMons[i].ability == ability) { @@ -2427,21 +2427,21 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case 0xFD: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gStatuses3[i] & STATUS3_MUDSPORT) effect = i + 1; } break; case 0xFE: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gStatuses3[i] & STATUS3_WATERSPORT) effect = i + 1; } break; default: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].ability == ability) { @@ -2453,7 +2453,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_ON_FIELD: // 19 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].ability == ability && gBattleMons[i].hp != 0) { @@ -2463,7 +2463,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK: // 15 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].ability == ability && i != bank) { @@ -2474,7 +2474,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_COUNT_OTHER_SIDE: // 16 side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (GetBankSide(i) != side && gBattleMons[i].ability == ability) { @@ -2485,7 +2485,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_COUNT_BANK_SIDE: // 17 side = GetBankSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (GetBankSide(i) == side && gBattleMons[i].ability == ability) { @@ -2495,7 +2495,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_ON_FIELD: // 18 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].ability == ability && i != bank) { @@ -2573,11 +2573,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } // def variables are unused - defItem = gBattleMons[gBankTarget].item; + defItem = gBattleMons[gBankDefender].item; if (defItem == ITEM_ENIGMA_BERRY) { - defHoldEffect = gEnigmaBerries[gBankTarget].holdEffect; - defQuality = gEnigmaBerries[gBankTarget].holdEffectParam; + defHoldEffect = gEnigmaBerries[gBankDefender].holdEffect; + defQuality = gEnigmaBerries[gBankDefender].holdEffectParam; } else { @@ -2898,41 +2898,41 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) { - gBattleMons[bank].status1 &= ~(STATUS_PARALYSIS); + gBattleMons[bank].status1 &= ~(STATUS1_PARALYSIS); BattleScriptExecute(BattleScript_BerryCurePrlzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[bank].status1 & STATUS_PSN_ANY) + if (gBattleMons[bank].status1 & STATUS1_PSN_ANY) { - gBattleMons[bank].status1 &= ~(STATUS_PSN_ANY | STATUS_TOXIC_COUNTER); + gBattleMons[bank].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptExecute(BattleScript_BerryCurePsnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[bank].status1 & STATUS1_BURN) { - gBattleMons[bank].status1 &= ~(STATUS_BURN); + gBattleMons[bank].status1 &= ~(STATUS1_BURN); BattleScriptExecute(BattleScript_BerryCureBrnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[bank].status1 & STATUS1_FREEZE) { - gBattleMons[bank].status1 &= ~(STATUS_FREEZE); + gBattleMons[bank].status1 &= ~(STATUS1_FREEZE); BattleScriptExecute(BattleScript_BerryCureFrzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[bank].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status1 &= ~(STATUS_SLEEP); + gBattleMons[bank].status1 &= ~(STATUS1_SLEEP); gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptExecute(BattleScript_BerryCureSlpEnd2); effect = ITEM_STATUS_CHANGE; @@ -2947,31 +2947,31 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[bank].status1 & STATUS_ANY || gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[bank].status1 & STATUS1_ANY || gBattleMons[bank].status2 & STATUS2_CONFUSION) { i = 0; - if (gBattleMons[bank].status1 & STATUS_PSN_ANY) + if (gBattleMons[bank].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); i++; } - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[bank].status1 & STATUS1_SLEEP) { gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); i++; } - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); i++; } - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[bank].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); i++; } - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[bank].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); i++; @@ -3024,7 +3024,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case 2: break; case 3: - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattleBanksCount; bank++) { gLastUsedItem = gBattleMons[bank].item; if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) @@ -3040,45 +3040,45 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (bankHoldEffect) { case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) { - gBattleMons[bank].status1 &= ~(STATUS_PARALYSIS); + gBattleMons[bank].status1 &= ~(STATUS1_PARALYSIS); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureParRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[bank].status1 & STATUS_PSN_ANY) + if (gBattleMons[bank].status1 & STATUS1_PSN_ANY) { - gBattleMons[bank].status1 &= ~(STATUS_PSN_ANY | STATUS_TOXIC_COUNTER); + gBattleMons[bank].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[bank].status1 & STATUS1_BURN) { - gBattleMons[bank].status1 &= ~(STATUS_BURN); + gBattleMons[bank].status1 &= ~(STATUS1_BURN); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[bank].status1 & STATUS1_FREEZE) { - gBattleMons[bank].status1 &= ~(STATUS_FREEZE); + gBattleMons[bank].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[bank].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status1 &= ~(STATUS_SLEEP); + gBattleMons[bank].status1 &= ~(STATUS1_SLEEP); gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; @@ -3106,26 +3106,26 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[bank].status1 & STATUS_ANY || gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[bank].status1 & STATUS1_ANY || gBattleMons[bank].status2 & STATUS2_CONFUSION) { - if (gBattleMons[bank].status1 & STATUS_PSN_ANY) + if (gBattleMons[bank].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); } - if (gBattleMons[bank].status1 & STATUS_SLEEP) + if (gBattleMons[bank].status1 & STATUS1_SLEEP) { gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); } - if (gBattleMons[bank].status1 & STATUS_PARALYSIS) + if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); } - if (gBattleMons[bank].status1 & STATUS_BURN) + if (gBattleMons[bank].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); } - if (gBattleMons[bank].status1 & STATUS_FREEZE) + if (gBattleMons[bank].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); } @@ -3177,11 +3177,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (atkHoldEffect) { case HOLD_EFFECT_FLINCH: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) && (Random() % 100) < atkQuality && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED - && gBattleMons[gBankTarget].hp) + && gBattleMons[gBankDefender].hp) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); @@ -3190,20 +3190,20 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_SHELL_BELL: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) - && gSpecialStatuses[gBankTarget].moveturnLostHP != 0 - && gSpecialStatuses[gBankTarget].moveturnLostHP != 0xFFFF - && gBankAttacker != gBankTarget + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && gSpecialStatuses[gBankDefender].moveturnLostHP != 0 + && gSpecialStatuses[gBankDefender].moveturnLostHP != 0xFFFF + && gBankAttacker != gBankDefender && gBattleMons[gBankAttacker].hp != gBattleMons[gBankAttacker].maxHP && gBattleMons[gBankAttacker].hp != 0) { gLastUsedItem = atkItem; gStringBank = gBankAttacker; gBattleScripting.bank = gBankAttacker; - gBattleMoveDamage = (gSpecialStatuses[gBankTarget].moveturnLostHP / atkQuality) * -1; + gBattleMoveDamage = (gSpecialStatuses[gBankDefender].moveturnLostHP / atkQuality) * -1; if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; - gSpecialStatuses[gBankTarget].moveturnLostHP = 0; + gSpecialStatuses[gBankDefender].moveturnLostHP = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ItemHealHP_Ret; effect++; @@ -3252,7 +3252,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) side = GetBankSide(gBankAttacker); do { - targetBank = Random() % gNoOfAllBanks; + targetBank = Random() % gBattleBanksCount; } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBankFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) @@ -3268,7 +3268,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBank = GetBankByIdentity((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBankByPosition((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); if (gAbsentBankFlags & gBitTable[targetBank]) targetBank ^= BIT_MON; break; @@ -3281,22 +3281,22 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) if (GetBankSide(gBankAttacker) == SIDE_PLAYER) { if (Random() & 1) - targetBank = GetBankByIdentity(B_POSITION_OPPONENT_LEFT); + targetBank = GetBankByPosition(B_POSITION_OPPONENT_LEFT); else - targetBank = GetBankByIdentity(B_POSITION_OPPONENT_RIGHT); + targetBank = GetBankByPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - targetBank = GetBankByIdentity(B_POSITION_PLAYER_LEFT); + targetBank = GetBankByPosition(B_POSITION_PLAYER_LEFT); else - targetBank = GetBankByIdentity(B_POSITION_PLAYER_RIGHT); + targetBank = GetBankByPosition(B_POSITION_PLAYER_RIGHT); } if (gAbsentBankFlags & gBitTable[targetBank]) targetBank ^= BIT_MON; } else - targetBank = GetBankByIdentity((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBankByPosition((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); break; case MOVE_TARGET_USER: case MOVE_TARGET_x10: @@ -3363,7 +3363,7 @@ u8 IsMonDisobedient(void) // is not obedient if (gCurrentMove == MOVE_RAGE) gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RAGE); - if (gBattleMons[gBankAttacker].status1 & STATUS_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) + if (gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) { gBattlescriptCurrInstr = BattleScript_82DB695; return 1; @@ -3389,7 +3389,7 @@ u8 IsMonDisobedient(void) gRandomMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; - gBankTarget = GetMoveTarget(gRandomMove, 0); + gBankDefender = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; } @@ -3399,16 +3399,16 @@ u8 IsMonDisobedient(void) obedienceLevel = gBattleMons[gBankAttacker].level - obedienceLevel; calc = (Random() & 255); - if (calc < obedienceLevel && !(gBattleMons[gBankAttacker].status1 & STATUS_ANY) && gBattleMons[gBankAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBankAttacker].ability != ABILITY_INSOMNIA) + if (calc < obedienceLevel && !(gBattleMons[gBankAttacker].status1 & STATUS1_ANY) && gBattleMons[gBankAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBankAttacker].ability != ABILITY_INSOMNIA) { // try putting asleep int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattleBanksCount; i++) { if (gBattleMons[i].status2 & STATUS2_UPROAR) break; } - if (i == gNoOfAllBanks) + if (i == gBattleBanksCount) { gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; return 1; @@ -3418,7 +3418,7 @@ u8 IsMonDisobedient(void) if (calc < obedienceLevel) { gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); - gBankTarget = gBankAttacker; + gBankDefender = gBankAttacker; gBattlescriptCurrInstr = BattleScript_82DB6F0; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; return 2; -- cgit v1.2.3 From f78fa6aabfe3c7301eab7250ee2b152feec90b0e Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Mon, 5 Feb 2018 19:46:59 -0600 Subject: rename bank to battler --- src/battle_util.c | 1212 ++++++++++++++++++++++++++--------------------------- 1 file changed, 606 insertions(+), 606 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 250976347..135f4f7f2 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -24,36 +24,36 @@ #include "berry.h" extern const u8* gBattlescriptCurrInstr; -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 const u8* gSelectionBattleScripts[MAX_BATTLERS_COUNT]; +extern const u8* gPalaceSelectionBattleScripts[MAX_BATTLERS_COUNT]; +extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; +extern u8 gActiveBattler; extern u8 gStringBank; extern u16 gCurrentMove; extern u16 gLastUsedItem; -extern u8 gBattleBanksCount; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; -extern u8 gBankAttacker; -extern u8 gBankDefender; -extern u8 gAbsentBankFlags; +extern u8 gBattlersCount; +extern u32 gStatuses3[MAX_BATTLERS_COUNT]; +extern u8 gBattleAttacker; +extern u8 gBattleDefender; +extern u8 gAbsentBattlerFlags; extern u16 gBattleWeather; -extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT]; +extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT]; extern u16 gSideStatuses[2]; extern u8 gBattleCommunication[]; extern void (*gBattleMainFunc)(void); extern s32 gBattleMoveDamage; -extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; -extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200]; +extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT]; +extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200]; extern u32 gBattleTypeFlags; -extern u16 gLastMoves[BATTLE_BANKS_COUNT]; +extern u16 gLastMoves[MAX_BATTLERS_COUNT]; extern u32 gHitMarker; extern u8 gEffectBank; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; +extern u16 gBattlePartyID[MAX_BATTLERS_COUNT]; extern u8 gBank1; -extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT]; +extern u16 gChosenMovesByBanks[MAX_BATTLERS_COUNT]; extern u8 gMoveResultFlags; -extern s32 gTakenDmg[BATTLE_BANKS_COUNT]; -extern u8 gTakenDmgBanks[BATTLE_BANKS_COUNT]; +extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; +extern u8 gTakenDmgBanks[MAX_BATTLERS_COUNT]; extern u8 gLastUsedAbility; extern u8 gCurrentActionFuncId; extern u32 gBattleExecBuffer; @@ -79,10 +79,10 @@ u8 GetBattleBank(u8 caseId) switch (caseId) { case BS_GET_TARGET: - ret = gBankDefender; + ret = gBattleDefender; break; case BS_GET_ATTACKER: - ret = gBankAttacker; + ret = gBattleAttacker; break; case BS_GET_EFFECT_BANK: ret = gEffectBank; @@ -91,7 +91,7 @@ u8 GetBattleBank(u8 caseId) ret = 0; break; case BS_GET_SCRIPTING_BANK: - ret = gBattleScripting.bank; + ret = gBattleScripting.battler; break; case BS_GET_gBank1: ret = gBank1; @@ -104,113 +104,113 @@ u8 GetBattleBank(u8 caseId) case 8: case 9: case BS_GET_PLAYER1: - ret = GetBankByPosition(B_POSITION_PLAYER_LEFT); + ret = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); break; case BS_GET_OPPONENT1: - ret = GetBankByPosition(B_POSITION_OPPONENT_LEFT); + ret = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); break; case BS_GET_PLAYER2: - ret = GetBankByPosition(B_POSITION_PLAYER_RIGHT); + ret = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); break; case BS_GET_OPPONENT2: - ret = GetBankByPosition(B_POSITION_OPPONENT_RIGHT); + ret = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); break; } return ret; } -void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move) +void PressurePPLose(u8 defender, u8 attacker, u16 move) { s32 i; - if (gBattleMons[bankDef].ability != ABILITY_PRESSURE) + if (gBattleMons[defender].ability != ABILITY_PRESSURE) return; for (i = 0; i < 4; i++) { - if (gBattleMons[bankAtk].moves[i] == move) + if (gBattleMons[attacker].moves[i] == move) break; } if (i == 4) // mons don't share any moves return; - if (gBattleMons[bankAtk].pp[i] != 0) - gBattleMons[bankAtk].pp[i]--; + if (gBattleMons[attacker].pp[i] != 0) + gBattleMons[attacker].pp[i]--; - if (!(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) - && !(gDisableStructs[bankAtk].unk18_b & gBitTable[i])) + if (!(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED) + && !(gDisableStructs[attacker].unk18_b & gBitTable[i])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBank].pp[i]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = attacker; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBufferBankForExecution(gActiveBattler); } } -void PressurePPLoseOnUsingImprision(u8 bankAtk) +void PressurePPLoseOnUsingImprision(u8 attacker) { s32 i, j; s32 imprisionPos = 4; - u8 atkSide = GetBankSide(bankAtk); + u8 atkSide = GetBattlerSide(attacker); - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { - if (atkSide != GetBankSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) + if (atkSide != GetBattlerSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) { for (j = 0; j < 4; j++) { - if (gBattleMons[bankAtk].moves[j] == MOVE_IMPRISON) + if (gBattleMons[attacker].moves[j] == MOVE_IMPRISON) break; } if (j != 4) { imprisionPos = j; - if (gBattleMons[bankAtk].pp[j] != 0) - gBattleMons[bankAtk].pp[j]--; + if (gBattleMons[attacker].pp[j] != 0) + gBattleMons[attacker].pp[j]--; } } } if (imprisionPos != 4 - && !(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) - && !(gDisableStructs[bankAtk].unk18_b & gBitTable[imprisionPos])) + && !(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED) + && !(gDisableStructs[attacker].unk18_b & gBitTable[imprisionPos])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBank].pp[imprisionPos]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = attacker; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]); + MarkBufferBankForExecution(gActiveBattler); } } -void PressurePPLoseOnUsingPerishSong(u8 bankAtk) +void PressurePPLoseOnUsingPerishSong(u8 attacker) { s32 i, j; s32 perishSongPos = 4; - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBattleMons[i].ability == ABILITY_PRESSURE && i != bankAtk) + if (gBattleMons[i].ability == ABILITY_PRESSURE && i != attacker) { for (j = 0; j < 4; j++) { - if (gBattleMons[bankAtk].moves[j] == MOVE_PERISH_SONG) + if (gBattleMons[attacker].moves[j] == MOVE_PERISH_SONG) break; } if (j != 4) { perishSongPos = j; - if (gBattleMons[bankAtk].pp[j] != 0) - gBattleMons[bankAtk].pp[j]--; + if (gBattleMons[attacker].pp[j] != 0) + gBattleMons[attacker].pp[j]--; } } } if (perishSongPos != 4 - && !(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) - && !(gDisableStructs[bankAtk].unk18_b & gBitTable[perishSongPos])) + && !(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED) + && !(gDisableStructs[attacker].unk18_b & gBitTable[perishSongPos])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBank].pp[perishSongPos]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = attacker; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + MarkBufferBankForExecution(gActiveBattler); } } @@ -220,25 +220,25 @@ void MarkAllBufferBanksForExecution(void) // unused if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) gBattleExecBuffer |= gBitTable[i] << 0x1C; } else { - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) gBattleExecBuffer |= gBitTable[i]; } } -void MarkBufferBankForExecution(u8 bank) +void MarkBufferBankForExecution(u8 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - gBattleExecBuffer |= gBitTable[bank] << 0x1C; + gBattleExecBuffer |= gBitTable[battler] << 0x1C; } else { - gBattleExecBuffer |= gBitTable[bank]; + gBattleExecBuffer |= gBitTable[battler]; } } @@ -252,40 +252,40 @@ void sub_803F850(u8 arg0) gBattleExecBuffer &= ~(0x10000000 << arg0); } -void CancelMultiTurnMoves(u8 bank) +void CancelMultiTurnMoves(u8 battler) { - gBattleMons[bank].status2 &= ~(STATUS2_MULTIPLETURNS); - gBattleMons[bank].status2 &= ~(STATUS2_LOCK_CONFUSE); - gBattleMons[bank].status2 &= ~(STATUS2_UPROAR); - gBattleMons[bank].status2 &= ~(STATUS2_BIDE); + gBattleMons[battler].status2 &= ~(STATUS2_MULTIPLETURNS); + gBattleMons[battler].status2 &= ~(STATUS2_LOCK_CONFUSE); + gBattleMons[battler].status2 &= ~(STATUS2_UPROAR); + gBattleMons[battler].status2 &= ~(STATUS2_BIDE); - gStatuses3[bank] &= ~(STATUS3_SEMI_INVULNERABLE); + gStatuses3[battler] &= ~(STATUS3_SEMI_INVULNERABLE); - gDisableStructs[bank].rolloutCounter1 = 0; - gDisableStructs[bank].furyCutterCounter = 0; + gDisableStructs[battler].rolloutCounter1 = 0; + gDisableStructs[battler].furyCutterCounter = 0; } -bool8 WasUnableToUseMove(u8 bank) +bool8 WasUnableToUseMove(u8 battler) { - if (gProtectStructs[bank].prlzImmobility - || gProtectStructs[bank].targetNotAffected - || gProtectStructs[bank].usedImprisionedMove - || gProtectStructs[bank].loveImmobility - || gProtectStructs[bank].usedDisabledMove - || gProtectStructs[bank].usedTauntedMove - || gProtectStructs[bank].flag2Unknown - || gProtectStructs[bank].flinchImmobility - || gProtectStructs[bank].confusionSelfDmg) + if (gProtectStructs[battler].prlzImmobility + || gProtectStructs[battler].targetNotAffected + || gProtectStructs[battler].usedImprisionedMove + || gProtectStructs[battler].loveImmobility + || gProtectStructs[battler].usedDisabledMove + || gProtectStructs[battler].usedTauntedMove + || gProtectStructs[battler].flag2Unknown + || gProtectStructs[battler].flinchImmobility + || gProtectStructs[battler].confusionSelfDmg) return TRUE; else return FALSE; } -void PrepareStringBattle(u16 stringId, u8 bank) +void PrepareStringBattle(u16 stringId, u8 battler) { - gActiveBank = bank; + gActiveBattler = battler; EmitPrintString(0, stringId); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } void ResetSentPokesToOpponentValue(void) @@ -296,44 +296,44 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[0] = 0; gSentPokesToOpponent[1] = 0; - for (i = 0; i < gBattleBanksCount; i += 2) + for (i = 0; i < gBattlersCount; i += 2) bits |= gBitTable[gBattlePartyID[i]]; - for (i = 1; i < gBattleBanksCount; i += 2) - gSentPokesToOpponent[(i & BIT_MON) >> 1] = bits; + for (i = 1; i < gBattlersCount; i += 2) + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; } -void sub_803F9EC(u8 bank) +void sub_803F9EC(u8 battler) { s32 i = 0; u32 bits = 0; - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { - u8 id = ((bank & BIT_MON) >> 1); - gSentPokesToOpponent[id] = 0; + u8 flank = ((battler & BIT_FLANK) >> 1); + gSentPokesToOpponent[flank] = 0; - for (i = 0; i < gBattleBanksCount; i += 2) + for (i = 0; i < gBattlersCount; i += 2) { - if (!(gAbsentBankFlags & gBitTable[i])) + if (!(gAbsentBattlerFlags & gBitTable[i])) bits |= gBitTable[gBattlePartyID[i]]; } - gSentPokesToOpponent[id] = bits; + gSentPokesToOpponent[flank] = bits; } } -void sub_803FA70(u8 bank) +void sub_803FA70(u8 battler) { - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { - sub_803F9EC(bank); + sub_803F9EC(battler); } else { s32 i; - for (i = 1; i < gBattleBanksCount; i++) - gSentPokesToOpponent[(i & BIT_MON) >> 1] |= gBitTable[gBattlePartyID[bank]]; + for (i = 1; i < gBattlersCount; i++) + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlePartyID[battler]]; } } @@ -355,102 +355,102 @@ void BattleScriptPop(void) u8 TrySetCantSelectMoveBattleScript(void) { u8 limitations = 0; - u16 move = gBattleMons[gActiveBank].moves[gBattleBufferB[gActiveBank][2]]; + u16 move = gBattleMons[gActiveBattler].moves[gBattleBufferB[gActiveBattler][2]]; u8 holdEffect; - u16* choicedMove = &gBattleStruct->choicedMove[gActiveBank]; + u16* choicedMove = &gBattleStruct->choicedMove[gActiveBattler]; - if (gDisableStructs[gActiveBank].disabledMove == move && move != 0) + if (gDisableStructs[gActiveBattler].disabledMove == move && move != 0) { - gBattleScripting.bank = gActiveBank; + gBattleScripting.battler = gActiveBattler; gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingDisabledMoveInPalace; - gProtectStructs[gActiveBank].flag_x10 = 1; + gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingDisabledMoveInPalace; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingDisabledMove; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingDisabledMove; limitations = 1; } } - if (move == gLastMoves[gActiveBank] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBank].status2 & STATUS2_TORMENT)) + if (move == gLastMoves[gActiveBattler] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBattler].status2 & STATUS2_TORMENT)) { - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingTormentedMoveInPalace; - gProtectStructs[gActiveBank].flag_x10 = 1; + gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingTormentedMoveInPalace; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingTormentedMove; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingTormentedMove; limitations++; } } - if (gDisableStructs[gActiveBank].tauntTimer1 != 0 && gBattleMoves[move].power == 0) + if (gDisableStructs[gActiveBattler].tauntTimer1 != 0 && gBattleMoves[move].power == 0) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveTauntInPalace; - gProtectStructs[gActiveBank].flag_x10 = 1; + gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveTauntInPalace; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveTaunt; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveTaunt; limitations++; } } - if (GetImprisonedMovesCount(gActiveBank, move)) + if (GetImprisonedMovesCount(gActiveBattler, move)) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBank] = BattleScript_SelectingImprisionedMoveInPalace; - gProtectStructs[gActiveBank].flag_x10 = 1; + gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingImprisionedMoveInPalace; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingImprisionedMove; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingImprisionedMove; limitations++; } } - if (gBattleMons[gActiveBank].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[gActiveBank].holdEffect; + if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBank].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); - gStringBank = gActiveBank; + gStringBank = gActiveBattler; if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != move) { gCurrentMove = *choicedMove; - gLastUsedItem = gBattleMons[gActiveBank].item; + gLastUsedItem = gBattleMons[gActiveBattler].item; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gProtectStructs[gActiveBank].flag_x10 = 1; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingNotAllowedMoveChoiceItem; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveChoiceItem; limitations++; } } - if (gBattleMons[gActiveBank].pp[gBattleBufferB[gActiveBank][2]] == 0) + if (gBattleMons[gActiveBattler].pp[gBattleBufferB[gActiveBattler][2]] == 0) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gProtectStructs[gActiveBank].flag_x10 = 1; + gProtectStructs[gActiveBattler].flag_x10 = 1; } else { - gSelectionBattleScripts[gActiveBank] = BattleScript_SelectingMoveWithNoPP; + gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingMoveWithNoPP; limitations++; } } @@ -471,7 +471,7 @@ u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) gStringBank = bank; - for (i = 0; i < BATTLE_BANKS_COUNT; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (gBattleMons[bank].moves[i] == 0 && check & MOVE_LIMITATION_ZEROMOVE) unusableMoves |= gBitTable[i]; @@ -496,16 +496,16 @@ u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) bool8 AreAllMovesUnusable(void) { u8 unusable; - unusable = CheckMoveLimitations(gActiveBank, 0, 0xFF); + unusable = CheckMoveLimitations(gActiveBattler, 0, 0xFF); if (unusable == 0xF) // all moves are unusable { - gProtectStructs[gActiveBank].onlyStruggle = 1; - gSelectionBattleScripts[gActiveBank] = BattleScript_NoMovesLeft; + gProtectStructs[gActiveBattler].onlyStruggle = 1; + gSelectionBattleScripts[gActiveBattler] = BattleScript_NoMovesLeft; } else { - gProtectStructs[gActiveBank].onlyStruggle = 0; + gProtectStructs[gActiveBattler].onlyStruggle = 0; } return (unusable == 0xF); @@ -515,11 +515,11 @@ u8 GetImprisonedMovesCount(u8 bank, u16 move) { s32 i; u8 imprisionedMoves = 0; - u8 bankSide = GetBankSide(bank); + u8 bankSide = GetBattlerSide(bank); - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { - if (bankSide != GetBankSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) + if (bankSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) { s32 j; for (j = 0; j < 4; j++) @@ -540,10 +540,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBankAttacker = 0; gBankAttacker < gBattleBanksCount && gAbsentBankFlags & gBitTable[gBankAttacker]; gBankAttacker++) + for (gBattleAttacker = 0; gBattleAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattleAttacker]; gBattleAttacker++) { } - for (gBankDefender = 0; gBankDefender < gBattleBanksCount && gAbsentBankFlags & gBitTable[gBankDefender]; gBankDefender++) + for (gBattleDefender = 0; gBattleDefender < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattleDefender]; gBattleDefender++) { } @@ -554,16 +554,16 @@ u8 UpdateTurnCounters(void) switch (gBattleStruct->turncountersTracker) { case 0: - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { - gBanksByTurnOrder[i] = i; + gBattleTurnOrder[i] = i; } - for (i = 0; i < gBattleBanksCount - 1; i++) + for (i = 0; i < gBattlersCount - 1; i++) { s32 j; - for (j = i + 1; j < gBattleBanksCount; j++) + for (j = i + 1; j < gBattlersCount; j++) { - if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], 0)) + if (GetWhoStrikesFirst(gBattleTurnOrder[i], gBattleTurnOrder[j], 0)) SwapTurnOrder(i, j); } } @@ -579,7 +579,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBank = gBankAttacker = gSideTimers[sideBank].reflectBank; + gActiveBattler = gBattleAttacker = gSideTimers[sideBank].reflectBank; if (gSideStatuses[sideBank] & SIDE_STATUS_REFLECT) { if (--gSideTimers[sideBank].reflectTimer == 0) @@ -604,7 +604,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBank = gBankAttacker = gSideTimers[sideBank].lightscreenBank; + gActiveBattler = gBattleAttacker = gSideTimers[sideBank].lightscreenBank; if (gSideStatuses[sideBank] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[sideBank].lightscreenTimer == 0) @@ -630,7 +630,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBank = gBankAttacker = gSideTimers[sideBank].mistBank; + gActiveBattler = gBattleAttacker = gSideTimers[sideBank].mistBank; if (gSideTimers[sideBank].mistTimer != 0 && --gSideTimers[sideBank].mistTimer == 0) { @@ -654,7 +654,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBank = gBankAttacker = gSideTimers[sideBank].safeguardBank; + gActiveBattler = gBattleAttacker = gSideTimers[sideBank].safeguardBank; if (gSideStatuses[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) @@ -675,14 +675,14 @@ u8 UpdateTurnCounters(void) } break; case 5: - while (gBattleStruct->turnSideTracker < gBattleBanksCount) + while (gBattleStruct->turnSideTracker < gBattlersCount) { - gActiveBank = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; - if (gWishFutureKnock.wishCounter[gActiveBank] != 0 - && --gWishFutureKnock.wishCounter[gActiveBank] == 0 - && gBattleMons[gActiveBank].hp != 0) + gActiveBattler = gBattleTurnOrder[gBattleStruct->turnSideTracker]; + if (gWishFutureKnock.wishCounter[gActiveBattler] != 0 + && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 + && gBattleMons[gActiveBattler].hp != 0) { - gBankDefender = gActiveBank; + gBattleDefender = gActiveBattler; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -798,10 +798,10 @@ u8 TurnBasedEffects(void) u8 effect = 0; gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - while (gBattleStruct->turnEffectsBank < gBattleBanksCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) + while (gBattleStruct->turnEffectsBank < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBattleAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBank]; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->turnEffectsBank++; } @@ -810,11 +810,11 @@ u8 TurnBasedEffects(void) switch (gBattleStruct->turnEffectsTracker) { case 0: // ingrain - if ((gStatuses3[gActiveBank] & STATUS3_ROOTED) - && gBattleMons[gActiveBank].hp != gBattleMons[gActiveBank].maxHP - && gBattleMons[gActiveBank].hp != 0) + if ((gStatuses3[gActiveBattler] & STATUS3_ROOTED) + && gBattleMons[gActiveBattler].hp != gBattleMons[gActiveBattler].maxHP + && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -824,40 +824,40 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 1: // end turn abilities - if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBank, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBattler, 0, 0, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case 2: // item effects - if (ItemBattleEffects(1, gActiveBank, 0)) + if (ItemBattleEffects(1, gActiveBattler, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case 18: // item effects again - if (ItemBattleEffects(1, gActiveBank, 1)) + if (ItemBattleEffects(1, gActiveBattler, 1)) effect++; gBattleStruct->turnEffectsTracker++; break; case 3: // leech seed - if ((gStatuses3[gActiveBank] & STATUS3_LEECHSEED) - && gBattleMons[gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK].hp != 0 - && gBattleMons[gActiveBank].hp != 0) + if ((gStatuses3[gActiveBattler] & STATUS3_LEECHSEED) + && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 + && gBattleMons[gActiveBattler].hp != 0) { - gBankDefender = gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleDefender = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleScripting.animArg1 = gBankDefender; - gBattleScripting.animArg2 = gBankAttacker; + gBattleScripting.animArg1 = gBattleDefender; + gBattleScripting.animArg2 = gBattleAttacker; BattleScriptExecute(BattleScript_LeechSeedTurnDrain); effect++; } gBattleStruct->turnEffectsTracker++; break; case 4: // poison - if ((gBattleMons[gActiveBank].status1 & STATUS1_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS1_POISON) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_PoisonTurnDmg); @@ -866,23 +866,23 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 5: // toxic poison - if ((gBattleMons[gActiveBank].status1 & STATUS1_TOXIC_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if ((gBattleMons[gActiveBank].status1 & 0xF00) != 0xF00) // not 16 turns - gBattleMons[gActiveBank].status1 += 0x100; - gBattleMoveDamage *= (gBattleMons[gActiveBank].status1 & 0xF00) >> 8; + if ((gBattleMons[gActiveBattler].status1 & 0xF00) != 0xF00) // not 16 turns + gBattleMons[gActiveBattler].status1 += 0x100; + gBattleMoveDamage *= (gBattleMons[gActiveBattler].status1 & 0xF00) >> 8; BattleScriptExecute(BattleScript_PoisonTurnDmg); effect++; } gBattleStruct->turnEffectsTracker++; break; case 6: // burn - if ((gBattleMons[gActiveBank].status1 & STATUS1_BURN) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS1_BURN) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_BurnTurnDmg); @@ -891,13 +891,13 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 7: // spooky nightmares - if ((gBattleMons[gActiveBank].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBattler].hp != 0) { // R/S does not perform this sleep check, which causes the nighmare effect to // persist even after the affected Pokemon has been awakened by Shed Skin - if (gBattleMons[gActiveBank].status1 & STATUS1_SLEEP) + if (gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_NightmareTurnDmg); @@ -905,15 +905,15 @@ u8 TurnBasedEffects(void) } else { - gBattleMons[gActiveBank].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[gActiveBattler].status2 &= ~STATUS2_NIGHTMARE; } } gBattleStruct->turnEffectsTracker++; break; case 8: // curse - if ((gBattleMons[gActiveBank].status2 & STATUS2_CURSED) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_CURSED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_CurseTurnDmg); @@ -922,21 +922,21 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 9: // wrap - if ((gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMons[gActiveBank].status2 -= 0x2000; - if (gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) // damaged by wrap + gBattleMons[gActiveBattler].status2 -= 0x2000; + if (gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) // damaged by wrap { // 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); + gBattleScripting.animArg1 = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 0); + gBattleScripting.animArg2 = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 1); 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[2] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 0); + gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 1); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapTurnDmg; - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; } @@ -944,8 +944,8 @@ u8 TurnBasedEffects(void) { 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[2] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 0); + gBattleTextBuff1[3] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 1); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapEnds; } @@ -955,46 +955,46 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 10: // uproar - if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) + if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { - for (gBankAttacker = 0; gBankAttacker < gBattleBanksCount; gBankAttacker++) + for (gBattleAttacker = 0; gBattleAttacker < gBattlersCount; gBattleAttacker++) { - if ((gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP) - && gBattleMons[gBankAttacker].ability != ABILITY_SOUNDPROOF) + if ((gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP) + && gBattleMons[gBattleAttacker].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS1_SLEEP); - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_SLEEP); + gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattleAttacker; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); break; } } - if (gBankAttacker != gBattleBanksCount) + if (gBattleAttacker != gBattlersCount) { effect = 2; // a pokemon was awaken break; } else { - gBankAttacker = gActiveBank; - gBattleMons[gActiveBank].status2 -= 0x10; // uproar timer goes down - if (WasUnableToUseMove(gActiveBank)) + gBattleAttacker = gActiveBattler; + gBattleMons[gActiveBattler].status2 -= 0x10; // uproar timer goes down + if (WasUnableToUseMove(gActiveBattler)) { - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = 1; } - else if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) + else if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - gBattleMons[gActiveBank].status2 |= STATUS2_MULTIPLETURNS; + gBattleMons[gActiveBattler].status2 |= STATUS2_MULTIPLETURNS; } else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); } BattleScriptExecute(BattleScript_PrintUproarOverTurns); effect = 1; @@ -1004,20 +1004,20 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 11: // thrash - if (gBattleMons[gActiveBank].status2 & STATUS2_LOCK_CONFUSE) + if (gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) { - gBattleMons[gActiveBank].status2 -= 0x400; - if (WasUnableToUseMove(gActiveBank)) - CancelMultiTurnMoves(gActiveBank); - else if (!(gBattleMons[gActiveBank].status2 & STATUS2_LOCK_CONFUSE) - && (gBattleMons[gActiveBank].status2 & STATUS2_MULTIPLETURNS)) + gBattleMons[gActiveBattler].status2 -= 0x400; + if (WasUnableToUseMove(gActiveBattler)) + CancelMultiTurnMoves(gActiveBattler); + else if (!(gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) + && (gBattleMons[gActiveBattler].status2 & STATUS2_MULTIPLETURNS)) { - gBattleMons[gActiveBank].status2 &= ~(STATUS2_MULTIPLETURNS); - if (!(gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION)) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_MULTIPLETURNS); + if (!(gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION)) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER; SetMoveEffect(1, 0); - if (gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION) + if (gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) BattleScriptExecute(BattleScript_ThrashConfuses); effect++; } @@ -1026,22 +1026,22 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 12: // disable - if (gDisableStructs[gActiveBank].disableTimer1 != 0) + if (gDisableStructs[gActiveBattler].disableTimer1 != 0) { int i; for (i = 0; i < 4; i++) { - if (gDisableStructs[gActiveBank].disabledMove == gBattleMons[gActiveBank].moves[i]) + if (gDisableStructs[gActiveBattler].disabledMove == gBattleMons[gActiveBattler].moves[i]) break; } if (i == 4) // pokemon does not have the disabled move anymore { - gDisableStructs[gActiveBank].disabledMove = 0; - gDisableStructs[gActiveBank].disableTimer1 = 0; + gDisableStructs[gActiveBattler].disabledMove = 0; + gDisableStructs[gActiveBattler].disableTimer1 = 0; } - else if (--gDisableStructs[gActiveBank].disableTimer1 == 0) // disable ends + else if (--gDisableStructs[gActiveBattler].disableTimer1 == 0) // disable ends { - gDisableStructs[gActiveBank].disabledMove = 0; + gDisableStructs[gActiveBattler].disabledMove = 0; BattleScriptExecute(BattleScript_DisabledNoMore); effect++; } @@ -1049,18 +1049,18 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 13: // encore - if (gDisableStructs[gActiveBank].encoreTimer1 != 0) + if (gDisableStructs[gActiveBattler].encoreTimer1 != 0) { - if (gBattleMons[gActiveBank].moves[gDisableStructs[gActiveBank].encoredMovePos] != gDisableStructs[gActiveBank].encoredMove) // pokemon does not have the encored move anymore + if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore { - gDisableStructs[gActiveBank].encoredMove = 0; - gDisableStructs[gActiveBank].encoreTimer1 = 0; + gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoreTimer1 = 0; } - else if (--gDisableStructs[gActiveBank].encoreTimer1 == 0 - || gBattleMons[gActiveBank].pp[gDisableStructs[gActiveBank].encoredMovePos] == 0) + else if (--gDisableStructs[gActiveBattler].encoreTimer1 == 0 + || gBattleMons[gActiveBattler].pp[gDisableStructs[gActiveBattler].encoredMovePos] == 0) { - gDisableStructs[gActiveBank].encoredMove = 0; - gDisableStructs[gActiveBank].encoreTimer1 = 0; + gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoreTimer1 = 0; BattleScriptExecute(BattleScript_EncoredNoMore); effect++; } @@ -1068,33 +1068,33 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 14: // lock-on decrement - if (gStatuses3[gActiveBank] & STATUS3_ALWAYS_HITS) - gStatuses3[gActiveBank] -= 0x8; + if (gStatuses3[gActiveBattler] & STATUS3_ALWAYS_HITS) + gStatuses3[gActiveBattler] -= 0x8; gBattleStruct->turnEffectsTracker++; break; case 15: // charge - if (gDisableStructs[gActiveBank].chargeTimer1 && --gDisableStructs[gActiveBank].chargeTimer1 == 0) - gStatuses3[gActiveBank] &= ~STATUS3_CHARGED_UP; + if (gDisableStructs[gActiveBattler].chargeTimer1 && --gDisableStructs[gActiveBattler].chargeTimer1 == 0) + gStatuses3[gActiveBattler] &= ~STATUS3_CHARGED_UP; gBattleStruct->turnEffectsTracker++; break; case 16: // taunt - if (gDisableStructs[gActiveBank].tauntTimer1) - gDisableStructs[gActiveBank].tauntTimer1--; + if (gDisableStructs[gActiveBattler].tauntTimer1) + gDisableStructs[gActiveBattler].tauntTimer1--; gBattleStruct->turnEffectsTracker++; break; case 17: // yawn - if (gStatuses3[gActiveBank] & STATUS3_YAWN) - { - gStatuses3[gActiveBank] -= 0x800; - if (!(gStatuses3[gActiveBank] & STATUS3_YAWN) && !(gBattleMons[gActiveBank].status1 & STATUS1_ANY) - && gBattleMons[gActiveBank].ability != ABILITY_VITAL_SPIRIT - && gBattleMons[gActiveBank].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBank)) - { - CancelMultiTurnMoves(gActiveBank); - gBattleMons[gActiveBank].status1 |= (Random() & 3) + 2; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); - gEffectBank = gActiveBank; + if (gStatuses3[gActiveBattler] & STATUS3_YAWN) + { + gStatuses3[gActiveBattler] -= 0x800; + if (!(gStatuses3[gActiveBattler] & STATUS3_YAWN) && !(gBattleMons[gActiveBattler].status1 & STATUS1_ANY) + && gBattleMons[gActiveBattler].ability != ABILITY_VITAL_SPIRIT + && gBattleMons[gActiveBattler].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBattler)) + { + CancelMultiTurnMoves(gActiveBattler); + gBattleMons[gActiveBattler].status1 |= (Random() & 3) + 2; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); + gEffectBank = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); effect++; } @@ -1121,37 +1121,37 @@ bool8 HandleWishPerishSongOnTurnEnd(void) switch (gBattleStruct->wishPerishSongState) { case 0: - while (gBattleStruct->wishPerishSongBank < gBattleBanksCount) + while (gBattleStruct->wishPerishSongBank < gBattlersCount) { - gActiveBank = gBattleStruct->wishPerishSongBank; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBattleStruct->wishPerishSongBank; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->wishPerishSongBank++; continue; } gBattleStruct->wishPerishSongBank++; - if (gWishFutureKnock.futureSightCounter[gActiveBank] != 0 - && --gWishFutureKnock.futureSightCounter[gActiveBank] == 0 - && gBattleMons[gActiveBank].hp != 0) + if (gWishFutureKnock.futureSightCounter[gActiveBattler] != 0 + && --gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 + && gBattleMons[gActiveBattler].hp != 0) { - if (gWishFutureKnock.futureSightMove[gActiveBank] == MOVE_FUTURE_SIGHT) + if (gWishFutureKnock.futureSightMove[gActiveBattler] == MOVE_FUTURE_SIGHT) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBank]); + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBattler]); - gBankDefender = gActiveBank; - gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank]; - gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank]; - gSpecialStatuses[gBankDefender].moveturnLostHP = 0xFFFF; + gBattleDefender = gActiveBattler; + gBattleAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; + gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBattler]; + gSpecialStatuses[gBattleDefender].moveturnLostHP = 0xFFFF; BattleScriptExecute(BattleScript_MonTookFutureAttack); - if (gWishFutureKnock.futureSightCounter[gActiveBank] == 0 - && gWishFutureKnock.futureSightCounter[gActiveBank ^ BIT_MON] == 0) + if (gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 + && gWishFutureKnock.futureSightCounter[gActiveBattler ^ BIT_FLANK] == 0) { - gSideStatuses[GET_BANK_SIDE(gBankDefender)] &= ~(SIDE_STATUS_FUTUREATTACK); + gSideStatuses[GET_BATTLER_SIDE(gBattleDefender)] &= ~(SIDE_STATUS_FUTUREATTACK); } return TRUE; } @@ -1164,27 +1164,27 @@ bool8 HandleWishPerishSongOnTurnEnd(void) } // fall through case 1: - while (gBattleStruct->wishPerishSongBank < gBattleBanksCount) + while (gBattleStruct->wishPerishSongBank < gBattlersCount) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->wishPerishSongBank]; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBattleAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBank]; + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->wishPerishSongBank++; continue; } gBattleStruct->wishPerishSongBank++; - if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG) + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG) { - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBank].perishSongTimer1); - if (gDisableStructs[gActiveBank].perishSongTimer1 == 0) + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBattler].perishSongTimer1); + if (gDisableStructs[gActiveBattler].perishSongTimer1 == 0) { - gStatuses3[gActiveBank] &= ~STATUS3_PERISH_SONG; - gBattleMoveDamage = gBattleMons[gActiveBank].hp; + gStatuses3[gActiveBattler] &= ~STATUS3_PERISH_SONG; + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; gBattlescriptCurrInstr = BattleScript_PerishSongTakesLife; } else { - gDisableStructs[gActiveBank].perishSongTimer1--; + gDisableStructs[gActiveBattler].perishSongTimer1--; gBattlescriptCurrInstr = BattleScript_PerishSongCountGoesDown; } BattleScriptExecute(gBattlescriptCurrInstr); @@ -1235,30 +1235,30 @@ bool8 HandleFaintedMonActions(void) case 0: gBattleStruct->faintedActionsBank = 0; gBattleStruct->faintedActionsState++; - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gAbsentBankFlags & gBitTable[i] && !sub_80423F4(i, 6, 6)) - gAbsentBankFlags &= ~(gBitTable[i]); + if (gAbsentBattlerFlags & gBitTable[i] && !sub_80423F4(i, 6, 6)) + gAbsentBattlerFlags &= ~(gBitTable[i]); } // fall through case 1: do { - gBank1 = gBankDefender = gBattleStruct->faintedActionsBank; + gBank1 = gBattleDefender = gBattleStruct->faintedActionsBank; if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->faintedActionsBank]]) - && !(gAbsentBankFlags & gBitTable[gBattleStruct->faintedActionsBank])) + && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBank])) { BattleScriptExecute(BattleScript_GiveExp); gBattleStruct->faintedActionsState = 2; return TRUE; } - } while (++gBattleStruct->faintedActionsBank != gBattleBanksCount); + } while (++gBattleStruct->faintedActionsBank != gBattlersCount); gBattleStruct->faintedActionsState = 3; break; case 2: sub_803F9EC(gBank1); - if (++gBattleStruct->faintedActionsBank == gBattleBanksCount) + if (++gBattleStruct->faintedActionsBank == gBattlersCount) gBattleStruct->faintedActionsState = 3; else gBattleStruct->faintedActionsState = 1; @@ -1270,19 +1270,19 @@ bool8 HandleFaintedMonActions(void) case 4: do { - gBank1 = gBankDefender = gBattleStruct->faintedActionsBank; + gBank1 = gBattleDefender = gBattleStruct->faintedActionsBank; if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 - && !(gAbsentBankFlags & gBitTable[gBattleStruct->faintedActionsBank])) + && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBank])) { BattleScriptExecute(BattleScript_HandleFaintedMon); gBattleStruct->faintedActionsState = 5; return TRUE; } - } while (++gBattleStruct->faintedActionsBank != gBattleBanksCount); + } while (++gBattleStruct->faintedActionsBank != gBattlersCount); gBattleStruct->faintedActionsState = 6; break; case 5: - if (++gBattleStruct->faintedActionsBank == gBattleBanksCount) + if (++gBattleStruct->faintedActionsBank == gBattlersCount) gBattleStruct->faintedActionsState = 6; else gBattleStruct->faintedActionsState = 4; @@ -1302,7 +1302,7 @@ bool8 HandleFaintedMonActions(void) void TryClearRageStatuses(void) { int i; - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if ((gBattleMons[i].status2 & STATUS2_RAGE) && gChosenMovesByBanks[i] != MOVE_RAGE) gBattleMons[i].status2 &= ~(STATUS2_RAGE); @@ -1320,17 +1320,17 @@ u8 AtkCanceller_UnableToUseMove(void) switch (gBattleStruct->atkCancellerTracker) { case 0: // flags clear - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_DESTINY_BOND); - gStatuses3[gBankAttacker] &= ~(STATUS3_GRUDGE); + gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_DESTINY_BOND); + gStatuses3[gBattleAttacker] &= ~(STATUS3_GRUDGE); gBattleStruct->atkCancellerTracker++; break; case 1: // check being asleep - if (gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP) + if (gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP) { - if (UproarWakeUpCheck(gBankAttacker)) + if (UproarWakeUpCheck(gBattleAttacker)) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS1_SLEEP); - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_SLEEP); + gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 1; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1339,15 +1339,15 @@ u8 AtkCanceller_UnableToUseMove(void) else { u8 toSub; - if (gBattleMons[gBankAttacker].ability == ABILITY_EARLY_BIRD) + if (gBattleMons[gBattleAttacker].ability == ABILITY_EARLY_BIRD) toSub = 2; else toSub = 1; - if ((gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP) < toSub) - gBattleMons[gBankAttacker].status1 &= ~(STATUS1_SLEEP); + if ((gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_SLEEP); else - gBattleMons[gBankAttacker].status1 -= toSub; - if (gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP) + gBattleMons[gBattleAttacker].status1 -= toSub; + if (gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP) { if (gCurrentMove != MOVE_SNORE && gCurrentMove != MOVE_SLEEP_TALK) { @@ -1358,7 +1358,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1369,7 +1369,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 2: // check being frozen - if (gBattleMons[gBankAttacker].status1 & STATUS1_FREEZE) + if (gBattleMons[gBattleAttacker].status1 & STATUS1_FREEZE) { if (Random() % 5) { @@ -1386,7 +1386,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else // unfreeze { - gBattleMons[gBankAttacker].status1 &= ~(STATUS1_FREEZE); + gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -1396,9 +1396,9 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 3: // truant - if (gBattleMons[gBankAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBankAttacker].truantCounter) + if (gBattleMons[gBattleAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBattleAttacker].truantCounter) { - CancelMultiTurnMoves(gBankAttacker); + CancelMultiTurnMoves(gBattleAttacker); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; @@ -1408,11 +1408,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 4: // recharge - if (gBattleMons[gBankAttacker].status2 & STATUS2_RECHARGE) + if (gBattleMons[gBattleAttacker].status2 & STATUS2_RECHARGE) { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RECHARGE); - gDisableStructs[gBankAttacker].rechargeCounter = 0; - CancelMultiTurnMoves(gBankAttacker); + gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_RECHARGE); + gDisableStructs[gBattleAttacker].rechargeCounter = 0; + CancelMultiTurnMoves(gBattleAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedMustRecharge; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1420,11 +1420,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 5: // flinch - if (gBattleMons[gBankAttacker].status2 & STATUS2_FLINCHED) + if (gBattleMons[gBattleAttacker].status2 & STATUS2_FLINCHED) { - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_FLINCHED); - gProtectStructs[gBankAttacker].flinchImmobility = 1; - CancelMultiTurnMoves(gBankAttacker); + gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_FLINCHED); + gProtectStructs[gBattleAttacker].flinchImmobility = 1; + CancelMultiTurnMoves(gBattleAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedFlinched; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1432,11 +1432,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 6: // disabled move - if (gDisableStructs[gBankAttacker].disabledMove == gCurrentMove && gDisableStructs[gBankAttacker].disabledMove != 0) + if (gDisableStructs[gBattleAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattleAttacker].disabledMove != 0) { - gProtectStructs[gBankAttacker].usedDisabledMove = 1; - gBattleScripting.bank = gBankAttacker; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattleAttacker].usedDisabledMove = 1; + gBattleScripting.battler = gBattleAttacker; + CancelMultiTurnMoves(gBattleAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsDisabled; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1444,10 +1444,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 7: // taunt - if (gDisableStructs[gBankAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) + if (gDisableStructs[gBattleAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) { - gProtectStructs[gBankAttacker].usedTauntedMove = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattleAttacker].usedTauntedMove = 1; + CancelMultiTurnMoves(gBattleAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsTaunted; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1455,10 +1455,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 8: // imprisoned - if (GetImprisonedMovesCount(gBankAttacker, gCurrentMove)) + if (GetImprisonedMovesCount(gBattleAttacker, gCurrentMove)) { - gProtectStructs[gBankAttacker].usedImprisionedMove = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattleAttacker].usedImprisionedMove = 1; + CancelMultiTurnMoves(gBattleAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsImprisoned; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1466,10 +1466,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 9: // confusion - if (gBattleMons[gBankAttacker].status2 & STATUS2_CONFUSION) + if (gBattleMons[gBattleAttacker].status2 & STATUS2_CONFUSION) { - gBattleMons[gBankAttacker].status2--; - if (gBattleMons[gBankAttacker].status2 & STATUS2_CONFUSION) + gBattleMons[gBattleAttacker].status2--; + if (gBattleMons[gBattleAttacker].status2 & STATUS2_CONFUSION) { if (Random() & 1) { @@ -1479,9 +1479,9 @@ u8 AtkCanceller_UnableToUseMove(void) else // confusion dmg { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBankDefender = gBankAttacker; - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); - gProtectStructs[gBankAttacker].confusionSelfDmg = 1; + gBattleDefender = gBattleAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleAttacker], &gBattleMons[gBattleAttacker], MOVE_POUND, 0, 40, 0, gBattleAttacker, gBattleAttacker); + gProtectStructs[gBattleAttacker].confusionSelfDmg = 1; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; } gBattlescriptCurrInstr = BattleScript_MoveUsedIsConfused; @@ -1496,11 +1496,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 10: // paralysis - if ((gBattleMons[gBankAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) + if ((gBattleMons[gBattleAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) { - gProtectStructs[gBankAttacker].prlzImmobility = 1; + gProtectStructs[gBattleAttacker].prlzImmobility = 1; // This is removed in Emerald for some reason - //CancelMultiTurnMoves(gBankAttacker); + //CancelMultiTurnMoves(gBattleAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsParalyzed; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1508,17 +1508,17 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 11: // infatuation - if (gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + if (gBattleMons[gBattleAttacker].status2 & STATUS2_INFATUATION) { - gBattleScripting.bank = CountTrailingZeroBits((gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) >> 0x10); + gBattleScripting.battler = CountTrailingZeroBits((gBattleMons[gBattleAttacker].status2 & STATUS2_INFATUATION) >> 0x10); if (Random() & 1) BattleScriptPushCursor(); else { BattleScriptPush(BattleScript_MoveUsedIsParalyzedCantAttack); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; - gProtectStructs[gBankAttacker].loveImmobility = 1; - CancelMultiTurnMoves(gBankAttacker); + gProtectStructs[gBattleAttacker].loveImmobility = 1; + CancelMultiTurnMoves(gBattleAttacker); } gBattlescriptCurrInstr = BattleScript_MoveUsedIsInLove; effect = 1; @@ -1526,22 +1526,22 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 12: // bide - if (gBattleMons[gBankAttacker].status2 & STATUS2_BIDE) + if (gBattleMons[gBattleAttacker].status2 & STATUS2_BIDE) { - gBattleMons[gBankAttacker].status2 -= 0x100; - if (gBattleMons[gBankAttacker].status2 & STATUS2_BIDE) + gBattleMons[gBattleAttacker].status2 -= 0x100; + if (gBattleMons[gBattleAttacker].status2 & STATUS2_BIDE) gBattlescriptCurrInstr = BattleScript_BideStoringEnergy; else { // This is removed in Emerald for some reason - //gBattleMons[gBankAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); - if (gTakenDmg[gBankAttacker]) + //gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); + if (gTakenDmg[gBattleAttacker]) { gCurrentMove = MOVE_BIDE; - *bideDmg = gTakenDmg[gBankAttacker] * 2; - gBankDefender = gTakenDmgBanks[gBankAttacker]; - if (gAbsentBankFlags & gBitTable[gBankDefender]) - gBankDefender = GetMoveTarget(MOVE_BIDE, 1); + *bideDmg = gTakenDmg[gBattleAttacker] * 2; + gBattleDefender = gTakenDmgBanks[gBattleAttacker]; + if (gAbsentBattlerFlags & gBitTable[gBattleDefender]) + gBattleDefender = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } else @@ -1552,11 +1552,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 13: // move thawing - if (gBattleMons[gBankAttacker].status1 & STATUS1_FREEZE) + if (gBattleMons[gBattleAttacker].status1 & STATUS1_FREEZE) { if (gBattleMoves[gCurrentMove].effect == EFFECT_THAW_HIT) { - gBattleMons[gBankAttacker].status1 &= ~(STATUS1_FREEZE); + gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -1573,14 +1573,14 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBattleAttacker; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); } return effect; } -bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) +bool8 sub_80423F4(u8 battler, u8 r1, u8 r2) { struct Pokemon* party; u8 r7; @@ -1590,11 +1590,11 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; - r6 = ((bank & 2) / 2); + r6 = ((battler & 2) / 2); for (i = r6 * 3; i < r6 * 3 + 3; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 @@ -1608,10 +1608,10 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) { if (gBattleTypeFlags & BATTLE_TYPE_x800000) { - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { party = gPlayerParty; - r7 = GetBankMultiplayerId(bank); + r7 = GetBankMultiplayerId(battler); r6 = sub_806D82C(r7); } else @@ -1624,14 +1624,14 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) #endif // NONMATCHING party = gEnemyParty; - var = bank ^ 1; + var = battler ^ 1; r6 = (var != 0) ? 1 : 0; } } else { - r7 = GetBankMultiplayerId(bank); - if (GetBankSide(bank) == SIDE_PLAYER) + r7 = GetBankMultiplayerId(battler); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -1646,11 +1646,11 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) } return (i == r6 * 3 + 3); } - else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && GetBankSide(bank) == SIDE_OPPONENT) + else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && GetBattlerSide(battler) == B_SIDE_OPPONENT) { party = gEnemyParty; - if (bank == 1) + if (battler == 1) r6 = 0; else r6 = 3; @@ -1665,16 +1665,16 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2) } else { - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { - r7 = GetBankByPosition(B_POSITION_OPPONENT_LEFT); - r6 = GetBankByPosition(B_POSITION_OPPONENT_RIGHT); + r7 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + r6 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); party = gEnemyParty; } else { - r7 = GetBankByPosition(B_POSITION_PLAYER_LEFT); - r6 = GetBankByPosition(B_POSITION_PLAYER_RIGHT); + r7 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + r6 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); party = gPlayerParty; } if (r1 == 6) @@ -1703,48 +1703,48 @@ enum CASTFORM_TO_ICE, //4 }; -u8 CastformDataTypeChange(u8 bank) +u8 CastformDataTypeChange(u8 battler) { u8 formChange = 0; - if (gBattleMons[bank].species != SPECIES_CASTFORM || gBattleMons[bank].ability != ABILITY_FORECAST || gBattleMons[bank].hp == 0) + if (gBattleMons[battler].species != SPECIES_CASTFORM || gBattleMons[battler].ability != ABILITY_FORECAST || gBattleMons[battler].hp == 0) return CASTFORM_NO_CHANGE; - if (!WEATHER_HAS_EFFECT && gBattleMons[bank].type1 != TYPE_NORMAL && gBattleMons[bank].type2 != TYPE_NORMAL) + if (!WEATHER_HAS_EFFECT && gBattleMons[battler].type1 != TYPE_NORMAL && gBattleMons[battler].type2 != TYPE_NORMAL) { - gBattleMons[bank].type1 = TYPE_NORMAL; - gBattleMons[bank].type2 = TYPE_NORMAL; + gBattleMons[battler].type1 = TYPE_NORMAL; + gBattleMons[battler].type2 = TYPE_NORMAL; return CASTFORM_TO_NORMAL; } if (!WEATHER_HAS_EFFECT) return CASTFORM_NO_CHANGE; - if (!(gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SUN_ANY | WEATHER_HAIL)) && gBattleMons[bank].type1 != TYPE_NORMAL && gBattleMons[bank].type2 != TYPE_NORMAL) + if (!(gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SUN_ANY | WEATHER_HAIL)) && gBattleMons[battler].type1 != TYPE_NORMAL && gBattleMons[battler].type2 != TYPE_NORMAL) { - gBattleMons[bank].type1 = TYPE_NORMAL; - gBattleMons[bank].type2 = TYPE_NORMAL; + gBattleMons[battler].type1 = TYPE_NORMAL; + gBattleMons[battler].type2 = TYPE_NORMAL; formChange = CASTFORM_TO_NORMAL; } - if (gBattleWeather & WEATHER_SUN_ANY && gBattleMons[bank].type1 != TYPE_FIRE && gBattleMons[bank].type2 != TYPE_FIRE) + if (gBattleWeather & WEATHER_SUN_ANY && gBattleMons[battler].type1 != TYPE_FIRE && gBattleMons[battler].type2 != TYPE_FIRE) { - gBattleMons[bank].type1 = TYPE_FIRE; - gBattleMons[bank].type2 = TYPE_FIRE; + gBattleMons[battler].type1 = TYPE_FIRE; + gBattleMons[battler].type2 = TYPE_FIRE; formChange = CASTFORM_TO_FIRE; } - if (gBattleWeather & WEATHER_RAIN_ANY && gBattleMons[bank].type1 != TYPE_WATER && gBattleMons[bank].type2 != TYPE_WATER) + if (gBattleWeather & WEATHER_RAIN_ANY && gBattleMons[battler].type1 != TYPE_WATER && gBattleMons[battler].type2 != TYPE_WATER) { - gBattleMons[bank].type1 = TYPE_WATER; - gBattleMons[bank].type2 = TYPE_WATER; + gBattleMons[battler].type1 = TYPE_WATER; + gBattleMons[battler].type2 = TYPE_WATER; formChange = CASTFORM_TO_WATER; } - if (gBattleWeather & WEATHER_HAIL && gBattleMons[bank].type1 != TYPE_ICE && gBattleMons[bank].type2 != TYPE_ICE) + if (gBattleWeather & WEATHER_HAIL && gBattleMons[battler].type1 != TYPE_ICE && gBattleMons[battler].type2 != TYPE_ICE) { - gBattleMons[bank].type1 = TYPE_ICE; - gBattleMons[bank].type2 = TYPE_ICE; + gBattleMons[battler].type1 = TYPE_ICE; + gBattleMons[battler].type2 = TYPE_ICE; formChange = CASTFORM_TO_ICE; } return formChange; } // The largest function in the game, but even it could not save itself from decompiling. -u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) +u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveArg) { u8 effect = 0; struct Pokemon *pokeAtk; @@ -1754,19 +1754,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) u32 pidAtk; u32 pidDef; - if (gBankAttacker >= gBattleBanksCount) - gBankAttacker = bank; - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) - pokeAtk = &gPlayerParty[gBattlePartyID[gBankAttacker]]; + if (gBattleAttacker >= gBattlersCount) + gBattleAttacker = battler; + if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER) + pokeAtk = &gPlayerParty[gBattlePartyID[gBattleAttacker]]; else - pokeAtk = &gEnemyParty[gBattlePartyID[gBankAttacker]]; + pokeAtk = &gEnemyParty[gBattlePartyID[gBattleAttacker]]; - if (gBankDefender >= gBattleBanksCount) - gBankDefender = bank; - if (GetBankSide(gBankDefender) == SIDE_PLAYER) - pokeDef = &gPlayerParty[gBattlePartyID[gBankDefender]]; + if (gBattleDefender >= gBattlersCount) + gBattleDefender = battler; + if (GetBattlerSide(gBattleDefender) == B_SIDE_PLAYER) + pokeDef = &gPlayerParty[gBattlePartyID[gBattleDefender]]; else - pokeDef = &gEnemyParty[gBattlePartyID[gBankDefender]]; + pokeDef = &gEnemyParty[gBattlePartyID[gBattleDefender]]; speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES); pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY); @@ -1785,7 +1785,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (special) gLastUsedAbility = special; else - gLastUsedAbility = gBattleMons[bank].ability; + gLastUsedAbility = gBattleMons[battler].ability; if (moveArg) move = moveArg; @@ -1797,8 +1797,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - if (gBankAttacker >= gBattleBanksCount) - gBankAttacker = bank; + if (gBattleAttacker >= gBattlersCount) + gBattleAttacker = battler; switch (gLastUsedAbility) { case ABILITYEFFECT_SWITCH_IN_WEATHER: @@ -1813,7 +1813,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT); gBattleScripting.animArg1 = B_ANIM_RAIN_CONTINUES; - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1822,7 +1822,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY); gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES; - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1831,7 +1831,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY); gBattleScripting.animArg1 = B_ANIM_SUN_CONTINUES; - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1848,7 +1848,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_RAIN_PERMANENT | WEATHER_RAIN_TEMPORARY); BattleScriptPushCursorAndCallback(BattleScript_DrizzleActivates); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1857,7 +1857,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY); BattleScriptPushCursorAndCallback(BattleScript_SandstreamActivates); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; @@ -1866,44 +1866,44 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY); BattleScriptPushCursorAndCallback(BattleScript_DroughtActivates); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; case ABILITY_INTIMIDATE: - if (!(gSpecialStatuses[bank].intimidatedPoke)) + if (!(gSpecialStatuses[battler].intimidatedPoke)) { - gStatuses3[bank] |= STATUS3_INTIMIDATE_POKES; - gSpecialStatuses[bank].intimidatedPoke = 1; + gStatuses3[battler] |= STATUS3_INTIMIDATE_POKES; + gSpecialStatuses[battler].intimidatedPoke = 1; } break; case ABILITY_FORECAST: - effect = CastformDataTypeChange(bank); + effect = CastformDataTypeChange(battler); if (effect != 0) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; *(&gBattleStruct->formToChangeInto) = effect - 1; } break; case ABILITY_TRACE: - if (!(gSpecialStatuses[bank].traced)) + if (!(gSpecialStatuses[battler].traced)) { - gStatuses3[bank] |= STATUS3_TRACE; - gSpecialStatuses[bank].traced = 1; + gStatuses3[battler] |= STATUS3_TRACE; + gSpecialStatuses[battler].traced = 1; } break; case ABILITY_CLOUD_NINE: case ABILITY_AIR_LOCK: { - // that's a weird choice for a variable, why not use i or bank? - for (target1 = 0; target1 < gBattleBanksCount; target1++) + // that's a weird choice for a variable, why not use i or battler? + for (target1 = 0; target1 < gBattlersCount; target1++) { effect = CastformDataTypeChange(target1); if (effect != 0) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); - gBattleScripting.bank = target1; + gBattleScripting.battler = target1; *(&gBattleStruct->formToChangeInto) = effect - 1; break; } @@ -1913,18 +1913,18 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_ENDTURN: // 1 - if (gBattleMons[bank].hp != 0) + if (gBattleMons[battler].hp != 0) { - gBankAttacker = bank; + gBattleAttacker = battler; switch (gLastUsedAbility) { case ABILITY_RAIN_DISH: if (WEATHER_HAS_EFFECT && (gBattleWeather & WEATHER_RAIN_ANY) - && gBattleMons[bank].maxHP > gBattleMons[bank].hp) + && gBattleMons[battler].maxHP > gBattleMons[battler].hp) { gLastUsedAbility = ABILITY_RAIN_DISH; // why BattleScriptPushCursorAndCallback(BattleScript_RainDishActivates); - gBattleMoveDamage = gBattleMons[bank].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -1932,40 +1932,40 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_SHED_SKIN: - if ((gBattleMons[bank].status1 & STATUS1_ANY) && (Random() % 3) == 0) + if ((gBattleMons[battler].status1 & STATUS1_ANY) && (Random() % 3) == 0) { - if (gBattleMons[bank].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON)) + if (gBattleMons[battler].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON)) StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - if (gBattleMons[bank].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); - if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - if (gBattleMons[bank].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - if (gBattleMons[bank].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - gBattleMons[bank].status1 = 0; - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); // fix nightmare glitch - gBattleScripting.bank = gActiveBank = bank; + gBattleMons[battler].status1 = 0; + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); // fix nightmare glitch + gBattleScripting.battler = gActiveBattler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBank); + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBufferBankForExecution(gActiveBattler); effect++; } break; case ABILITY_SPEED_BOOST: - if (gBattleMons[bank].statStages[STAT_STAGE_SPEED] < 0xC && gDisableStructs[bank].isFirstTurn != 2) + if (gBattleMons[battler].statStages[STAT_STAGE_SPEED] < 0xC && gDisableStructs[battler].isFirstTurn != 2) { - gBattleMons[bank].statStages[STAT_STAGE_SPEED]++; + gBattleMons[battler].statStages[STAT_STAGE_SPEED]++; gBattleScripting.animArg1 = 0x11; gBattleScripting.animArg2 = 0; BattleScriptPushCursorAndCallback(BattleScript_SpeedBoostActivates); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; effect++; } break; case ABILITY_TRUANT: - gDisableStructs[gBankAttacker].truantCounter ^= 1; + gDisableStructs[gBattleAttacker].truantCounter ^= 1; break; } } @@ -1980,7 +1980,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } if (sSoundMovesTable[i] != 0xFFFF) { - if (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS) + if (gBattleMons[gBattleAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; gBattlescriptCurrInstr = BattleScript_SoundproofProtected; effect = 1; @@ -1995,7 +1995,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_VOLT_ABSORB: if (moveType == TYPE_ELECTRIC && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattleAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -2006,7 +2006,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_WATER_ABSORB: if (moveType == TYPE_WATER && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattleAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -2015,23 +2015,23 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_FLASH_FIRE: - if (moveType == TYPE_FIRE && !(gBattleMons[bank].status1 & STATUS1_FREEZE)) + if (moveType == TYPE_FIRE && !(gBattleMons[battler].status1 & STATUS1_FREEZE)) { - if (!(gBattleResources->flags->flags[bank] & UNKNOWN_FLAG_FLASH_FIRE)) + if (!(gBattleResources->flags->flags[battler] & UNKNOWN_FLAG_FLASH_FIRE)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattleAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - gBattleResources->flags->flags[bank] |= UNKNOWN_FLAG_FLASH_FIRE; + gBattleResources->flags->flags[battler] |= UNKNOWN_FLAG_FLASH_FIRE; effect = 2; } else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - if (gProtectStructs[gBankAttacker].notFirstStrike) + if (gProtectStructs[gBattleAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; @@ -2043,16 +2043,16 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } if (effect == 1) { - if (gBattleMons[bank].maxHP == gBattleMons[bank].hp) + if (gBattleMons[battler].maxHP == gBattleMons[battler].hp) { - if ((gProtectStructs[gBankAttacker].notFirstStrike)) + if ((gProtectStructs[gBattleAttacker].notFirstStrike)) gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless; else gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless_PPLoss; } else { - gBattleMoveDamage = gBattleMons[bank].maxHP / 4; + gBattleMoveDamage = gBattleMons[battler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -2067,13 +2067,13 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 - && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) - && gBattleMons[bank].type1 != moveType - && gBattleMons[bank].type2 != moveType - && gBattleMons[bank].hp != 0) + && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && gBattleMons[battler].type1 != moveType + && gBattleMons[battler].type2 != moveType + && gBattleMons[battler].hp != 0) { - gBattleMons[bank].type1 = moveType; - gBattleMons[bank].type2 = moveType; + gBattleMons[battler].type1 = moveType; + gBattleMons[battler].type2 = moveType; PREPARE_TYPE_BUFFER(gBattleTextBuff1, moveType) BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ColorChangeActivates; @@ -2082,12 +2082,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_ROUGH_SKIN: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) + && gBattleMons[gBattleAttacker].hp != 0 + && !gProtectStructs[gBattleAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) { - gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptPushCursor(); @@ -2097,9 +2097,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_EFFECT_SPORE: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) + && gBattleMons[gBattleAttacker].hp != 0 + && !gProtectStructs[gBattleAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 10) == 0) { @@ -2120,9 +2120,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_POISON_POINT: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) + && gBattleMons[gBattleAttacker].hp != 0 + && !gProtectStructs[gBattleAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2135,9 +2135,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_STATIC: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) + && gBattleMons[gBattleAttacker].hp != 0 + && !gProtectStructs[gBattleAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2150,10 +2150,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_FLAME_BODY: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg + && gBattleMons[gBattleAttacker].hp != 0 + && !gProtectStructs[gBattleAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) + && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_BURN; @@ -2165,19 +2165,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_CUTE_CHARM: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBankAttacker].hp != 0 - && !gProtectStructs[gBankAttacker].confusionSelfDmg + && gBattleMons[gBattleAttacker].hp != 0 + && !gProtectStructs[gBattleAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) - && gBattleMons[gBankDefender].hp != 0 + && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && gBattleMons[gBattleDefender].hp != 0 && (Random() % 3) == 0 - && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS + && gBattleMons[gBattleAttacker].ability != ABILITY_OBLIVIOUS && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) - && !(gBattleMons[gBankAttacker].status2 & STATUS2_INFATUATION) + && !(gBattleMons[gBattleAttacker].status2 & STATUS2_INFATUATION) && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != MON_GENDERLESS && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != MON_GENDERLESS) { - gBattleMons[gBankAttacker].status2 |= STATUS2_INFATUATED_WITH(gBankDefender); + gBattleMons[gBattleAttacker].status2 |= STATUS2_INFATUATED_WITH(gBattleDefender); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; effect++; @@ -2186,26 +2186,26 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_IMMUNITY: // 5 - for (bank = 0; bank < gBattleBanksCount; bank++) + for (battler = 0; battler < gBattlersCount; battler++) { - switch (gBattleMons[bank].ability) + switch (gBattleMons[battler].ability) { case ABILITY_IMMUNITY: - if (gBattleMons[bank].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_TOXIC_COUNTER)) + if (gBattleMons[battler].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_TOXIC_COUNTER)) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); effect = 1; } break; case ABILITY_OWN_TEMPO: - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); effect = 2; } break; case ABILITY_LIMBER: - if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); effect = 1; @@ -2213,29 +2213,29 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITY_INSOMNIA: case ABILITY_VITAL_SPIRIT: - if (gBattleMons[bank].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); effect = 1; } break; case ABILITY_WATER_VEIL: - if (gBattleMons[bank].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); effect = 1; } break; case ABILITY_MAGMA_ARMOR: - if (gBattleMons[bank].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); effect = 1; } break; case ABILITY_OBLIVIOUS: - if (gBattleMons[bank].status2 & STATUS2_INFATUATION) + if (gBattleMons[battler].status2 & STATUS2_INFATUATION) { StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); effect = 3; @@ -2247,36 +2247,36 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (effect) { case 1: // status cleared - gBattleMons[bank].status1 = 0; + gBattleMons[battler].status1 = 0; break; case 2: // get rid of confusion - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battler].status2 &= ~(STATUS2_CONFUSION); break; case 3: // get rid of infatuation - gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); + gBattleMons[battler].status2 &= ~(STATUS2_INFATUATION); break; } BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; - gBattleScripting.bank = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gBattleScripting.battler = battler; + gActiveBattler = battler; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); return effect; } } break; case ABILITYEFFECT_FORECAST: // 6 - for (bank = 0; bank < gBattleBanksCount; bank++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (gBattleMons[bank].ability == ABILITY_FORECAST) + if (gBattleMons[battler].ability == ABILITY_FORECAST) { - effect = CastformDataTypeChange(bank); + effect = CastformDataTypeChange(battler); if (effect) { BattleScriptPushCursorAndCallback(BattleScript_CastformChange); - gBattleScripting.bank = bank; + gBattleScripting.battler = battler; *(&gBattleStruct->formToChangeInto) = effect - 1; return effect; } @@ -2292,7 +2292,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect + MOVE_EFFECT_AFFECTS_USER; - gBattleScripting.bank = gBankDefender; + gBattleScripting.battler = gBattleDefender; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2308,7 +2308,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect; - gBattleScripting.bank = gBankAttacker; + gBattleScripting.battler = gBattleAttacker; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2316,7 +2316,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE1: // 9 - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && gStatuses3[i] & STATUS3_INTIMIDATE_POKES) { @@ -2330,42 +2330,42 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_TRACE: // 11 - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { u8 target2; - side = (GetBankPosition(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon - target1 = GetBankByPosition(side); - target2 = GetBankByPosition(side + BIT_MON); + side = (GetBattlerPosition(i) ^ BIT_SIDE) & BIT_SIDE; // side of the opposing pokemon + target1 = GetBattlerAtPosition(side); + target2 = GetBattlerAtPosition(side + BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = GetBankByPosition(((Random() & 1) * 2) | side); - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = GetBattlerAtPosition(((Random() & 1) * 2) | side); + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } else if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0) { - gActiveBank = target1; - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = target1; + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } else if (gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = target2; - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = target2; + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } } else { - gActiveBank = target1; + gActiveBattler = target1; if (gBattleMons[target1].ability && gBattleMons[target1].hp) { gBattleMons[i].ability = gBattleMons[target1].ability; @@ -2377,9 +2377,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { BattleScriptPushCursorAndCallback(BattleScript_TraceActivates); gStatuses3[i] &= ~(STATUS3_TRACE); - gBattleScripting.bank = i; + gBattleScripting.battler = i; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBank, gBattlePartyID[gActiveBank]) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlePartyID[gActiveBattler]) PREPARE_ABILITY_BUFFER(gBattleTextBuff2, gLastUsedAbility) break; } @@ -2387,7 +2387,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE2: // 10 - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && (gStatuses3[i] & STATUS3_INTIMIDATE_POKES)) { @@ -2402,10 +2402,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_OTHER_SIDE: // 12 - side = GetBankSide(bank); - for (i = 0; i < gBattleBanksCount; i++) + side = GetBattlerSide(battler); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) != side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect = i + 1; @@ -2413,10 +2413,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_BANK_SIDE: // 13 - side = GetBankSide(bank); - for (i = 0; i < gBattleBanksCount; i++) + side = GetBattlerSide(battler); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) == side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect = i + 1; @@ -2427,21 +2427,21 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case 0xFD: - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_MUDSPORT) effect = i + 1; } break; case 0xFE: - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_WATERSPORT) effect = i + 1; } break; default: - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability) { @@ -2453,7 +2453,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_ON_FIELD: // 19 - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && gBattleMons[i].hp != 0) { @@ -2463,9 +2463,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK: // 15 - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBattleMons[i].ability == ability && i != bank) + if (gBattleMons[i].ability == ability && i != battler) { gLastUsedAbility = ability; effect = i + 1; @@ -2473,10 +2473,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_OTHER_SIDE: // 16 - side = GetBankSide(bank); - for (i = 0; i < gBattleBanksCount; i++) + side = GetBattlerSide(battler); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) != side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect++; @@ -2484,10 +2484,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_BANK_SIDE: // 17 - side = GetBankSide(bank); - for (i = 0; i < gBattleBanksCount; i++) + side = GetBattlerSide(battler); + for (i = 0; i < gBattlersCount; i++) { - if (GetBankSide(i) == side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect++; @@ -2495,9 +2495,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_ON_FIELD: // 18 - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { - if (gBattleMons[i].ability == ability && i != bank) + if (gBattleMons[i].ability == ability && i != battler) { gLastUsedAbility = ability; effect++; @@ -2507,7 +2507,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } if (effect && caseID < ABILITYEFFECT_CHECK_OTHER_SIDE && gLastUsedAbility != 0xFF) - RecordAbilityBattle(bank, gLastUsedAbility); + RecordAbilityBattle(battler, gLastUsedAbility); } return effect; @@ -2560,11 +2560,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) bankQuality = ItemId_GetHoldEffectParam(gLastUsedItem); } - atkItem = gBattleMons[gBankAttacker].item; + atkItem = gBattleMons[gBattleAttacker].item; if (atkItem == ITEM_ENIGMA_BERRY) { - atkHoldEffect = gEnigmaBerries[gBankAttacker].holdEffect; - atkQuality = gEnigmaBerries[gBankAttacker].holdEffectParam; + atkHoldEffect = gEnigmaBerries[gBattleAttacker].holdEffect; + atkQuality = gEnigmaBerries[gBattleAttacker].holdEffectParam; } else { @@ -2573,11 +2573,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } // def variables are unused - defItem = gBattleMons[gBankDefender].item; + defItem = gBattleMons[gBattleDefender].item; if (defItem == ITEM_ENIGMA_BERRY) { - defHoldEffect = gEnigmaBerries[gBankDefender].holdEffect; - defQuality = gEnigmaBerries[gBankDefender].holdEffectParam; + defHoldEffect = gEnigmaBerries[gBattleDefender].holdEffect; + defQuality = gEnigmaBerries[gBattleDefender].holdEffectParam; } else { @@ -2591,7 +2591,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (bankHoldEffect) { case HOLD_EFFECT_DOUBLE_PRIZE: - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(bank) == B_SIDE_PLAYER) gBattleStruct->moneyMultiplier = 2; break; case HOLD_EFFECT_RESTORE_STATS: @@ -2605,9 +2605,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.bank = bank; + gBattleScripting.battler = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBattleAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -2636,7 +2636,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) u8 ppBonuses; u16 move; - if (GetBankSide(bank) == SIDE_PLAYER) + if (GetBattlerSide(bank) == B_SIDE_PLAYER) mon = &gPlayerParty[gBattlePartyID[bank]]; else mon = &gEnemyParty[gBattlePartyID[bank]]; @@ -2660,7 +2660,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) BattleScriptExecute(BattleScript_BerryPPHealEnd2); EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); effect = ITEM_PP_CHANGE; } } @@ -2676,9 +2676,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.bank = bank; + gBattleScripting.battler = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBattleAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -3004,14 +3004,14 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.bank = bank; + gBattleScripting.battler = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBattleAttacker = bank; switch (effect) { case ITEM_STATUS_CHANGE: EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); break; case ITEM_PP_CHANGE: if (!(gBattleMons[bank].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bank].unk18_b & gBitTable[i])) @@ -3024,7 +3024,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case 2: break; case 3: - for (bank = 0; bank < gBattleBanksCount; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { gLastUsedItem = gBattleMons[bank].item; if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) @@ -3152,7 +3152,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.bank = bank; + gBattleScripting.battler = bank; gStringBank = bank; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; @@ -3162,11 +3162,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.bank = bank; + gBattleScripting.battler = bank; gStringBank = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bank; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); break; } } @@ -3178,10 +3178,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { case HOLD_EFFECT_FLINCH: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && (gSpecialStatuses[gBankDefender].moveturnLostHP_physical || gSpecialStatuses[gBankDefender].moveturnLostHP_special) + && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) && (Random() % 100) < atkQuality && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED - && gBattleMons[gBankDefender].hp) + && gBattleMons[gBattleDefender].hp) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); @@ -3191,19 +3191,19 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) break; case HOLD_EFFECT_SHELL_BELL: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gSpecialStatuses[gBankDefender].moveturnLostHP != 0 - && gSpecialStatuses[gBankDefender].moveturnLostHP != 0xFFFF - && gBankAttacker != gBankDefender - && gBattleMons[gBankAttacker].hp != gBattleMons[gBankAttacker].maxHP - && gBattleMons[gBankAttacker].hp != 0) + && gSpecialStatuses[gBattleDefender].moveturnLostHP != 0 + && gSpecialStatuses[gBattleDefender].moveturnLostHP != 0xFFFF + && gBattleAttacker != gBattleDefender + && gBattleMons[gBattleAttacker].hp != gBattleMons[gBattleAttacker].maxHP + && gBattleMons[gBattleAttacker].hp != 0) { gLastUsedItem = atkItem; - gStringBank = gBankAttacker; - gBattleScripting.bank = gBankAttacker; - gBattleMoveDamage = (gSpecialStatuses[gBankDefender].moveturnLostHP / atkQuality) * -1; + gStringBank = gBattleAttacker; + gBattleScripting.battler = gBattleAttacker; + gBattleMoveDamage = (gSpecialStatuses[gBattleDefender].moveturnLostHP / atkQuality) * -1; if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; - gSpecialStatuses[gBankDefender].moveturnLostHP = 0; + gSpecialStatuses[gBattleDefender].moveturnLostHP = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ItemHealHP_Ret; effect++; @@ -3244,21 +3244,21 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) switch (moveTarget) { case MOVE_TARGET_SELECTED: - side = GetBankSide(gBankAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBattleAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else { - side = GetBankSide(gBankAttacker); + side = GetBattlerSide(gBattleAttacker); do { - targetBank = Random() % gBattleBanksCount; - } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBankFlags & gBitTable[targetBank]); + targetBank = Random() % gBattlersCount; + } while (targetBank == gBattleAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC - && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) + && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattleAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) { - targetBank ^= BIT_MON; + targetBank ^= BIT_FLANK; RecordAbilityBattle(targetBank, gBattleMons[targetBank].ability); gSpecialStatuses[targetBank].lightningRodRedirected = 1; } @@ -3268,50 +3268,50 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBank = GetBankByPosition((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); - if (gAbsentBankFlags & gBitTable[targetBank]) - targetBank ^= BIT_MON; + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattleAttacker) & BIT_SIDE) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[targetBank]) + targetBank ^= BIT_FLANK; break; case MOVE_TARGET_RANDOM: - side = GetBankSide(gBankAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBattleAttacker) ^ 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) { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - targetBank = GetBankByPosition(B_POSITION_OPPONENT_LEFT); + targetBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - targetBank = GetBankByPosition(B_POSITION_OPPONENT_RIGHT); + targetBank = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - targetBank = GetBankByPosition(B_POSITION_PLAYER_LEFT); + targetBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - targetBank = GetBankByPosition(B_POSITION_PLAYER_RIGHT); + targetBank = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - if (gAbsentBankFlags & gBitTable[targetBank]) - targetBank ^= BIT_MON; + if (gAbsentBattlerFlags & gBitTable[targetBank]) + targetBank ^= BIT_FLANK; } else - targetBank = GetBankByPosition((GetBankPosition(gBankAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattleAttacker) & BIT_SIDE) ^ BIT_SIDE); break; case MOVE_TARGET_USER: case MOVE_TARGET_x10: - targetBank = gBankAttacker; + targetBank = gBattleAttacker; break; } - *(gBattleStruct->moveTarget + gBankAttacker) = targetBank; + *(gBattleStruct->moveTarget + gBattleAttacker) = targetBank; return targetBank; } static bool32 HasObedientBitSet(u8 bank) { - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBattlerSide(bank) == B_SIDE_OPPONENT) return TRUE; if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS && GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) @@ -3327,18 +3327,18 @@ u8 IsMonDisobedient(void) if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) return 0; - if (GetBankSide(gBankAttacker) == SIDE_OPPONENT) + if (GetBattlerSide(gBattleAttacker) == B_SIDE_OPPONENT) return 0; - if (HasObedientBitSet(gBankAttacker)) // only if species is Mew or Deoxys + if (HasObedientBitSet(gBattleAttacker)) // only if species is Mew or Deoxys { - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBankPosition(gBankAttacker) == 2) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gBattleAttacker) == 2) return 0; if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) return 0; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) return 0; - if (!IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName)) + if (!IsOtherTrainer(gBattleMons[gBattleAttacker].otId, gBattleMons[gBattleAttacker].otName)) return 0; if (FlagGet(FLAG_BADGE08_GET)) return 0; @@ -3353,27 +3353,27 @@ u8 IsMonDisobedient(void) obedienceLevel = 70; } - if (gBattleMons[gBankAttacker].level <= obedienceLevel) + if (gBattleMons[gBattleAttacker].level <= obedienceLevel) return 0; rnd = (Random() & 255); - calc = (gBattleMons[gBankAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattleAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) return 0; // is not obedient if (gCurrentMove == MOVE_RAGE) - gBattleMons[gBankAttacker].status2 &= ~(STATUS2_RAGE); - if (gBattleMons[gBankAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) + gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_RAGE); + if (gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) { gBattlescriptCurrInstr = BattleScript_82DB695; return 1; } rnd = (Random() & 255); - calc = (gBattleMons[gBankAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattleAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) { - calc = CheckMoveLimitations(gBankAttacker, gBitTable[gCurrMovePos], 0xFF); + calc = CheckMoveLimitations(gBattleAttacker, gBitTable[gCurrMovePos], 0xFF); if (calc == 0xF) // all moves cannot be used { gBattleCommunication[MULTISTRING_CHOOSER] = Random() & 3; @@ -3387,28 +3387,28 @@ u8 IsMonDisobedient(void) gCurrMovePos = gUnknown_020241E9 = Random() & 3; } while (gBitTable[gCurrMovePos] & calc); - gRandomMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; + gRandomMove = gBattleMons[gBattleAttacker].moves[gCurrMovePos]; gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; - gBankDefender = GetMoveTarget(gRandomMove, 0); + gBattleDefender = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; } } else { - obedienceLevel = gBattleMons[gBankAttacker].level - obedienceLevel; + obedienceLevel = gBattleMons[gBattleAttacker].level - obedienceLevel; calc = (Random() & 255); - if (calc < obedienceLevel && !(gBattleMons[gBankAttacker].status1 & STATUS1_ANY) && gBattleMons[gBankAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBankAttacker].ability != ABILITY_INSOMNIA) + if (calc < obedienceLevel && !(gBattleMons[gBattleAttacker].status1 & STATUS1_ANY) && gBattleMons[gBattleAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBattleAttacker].ability != ABILITY_INSOMNIA) { // try putting asleep int i; - for (i = 0; i < gBattleBanksCount; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].status2 & STATUS2_UPROAR) break; } - if (i == gBattleBanksCount) + if (i == gBattlersCount) { gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; return 1; @@ -3417,8 +3417,8 @@ u8 IsMonDisobedient(void) calc -= obedienceLevel; if (calc < obedienceLevel) { - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankAttacker], MOVE_POUND, 0, 40, 0, gBankAttacker, gBankAttacker); - gBankDefender = gBankAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleAttacker], &gBattleMons[gBattleAttacker], MOVE_POUND, 0, 40, 0, gBattleAttacker, gBattleAttacker); + gBattleDefender = gBattleAttacker; gBattlescriptCurrInstr = BattleScript_82DB6F0; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; return 2; -- cgit v1.2.3 From 6a4967689e62e6a3276bbe2372e8066cdfacb6fd Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 6 Feb 2018 13:48:02 -0600 Subject: more renaming --- src/battle_util.c | 464 +++++++++++++++++++++++++++--------------------------- 1 file changed, 230 insertions(+), 234 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 135f4f7f2..228727585 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -33,8 +33,8 @@ extern u16 gCurrentMove; extern u16 gLastUsedItem; extern u8 gBattlersCount; extern u32 gStatuses3[MAX_BATTLERS_COUNT]; -extern u8 gBattleAttacker; -extern u8 gBattleDefender; +extern u8 gBattleMoveAttacker; +extern u8 gBattleMoveTarget; extern u8 gAbsentBattlerFlags; extern u16 gBattleWeather; extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT]; @@ -48,7 +48,7 @@ extern u32 gBattleTypeFlags; extern u16 gLastMoves[MAX_BATTLERS_COUNT]; extern u32 gHitMarker; extern u8 gEffectBank; -extern u16 gBattlePartyID[MAX_BATTLERS_COUNT]; +extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern u8 gBank1; extern u16 gChosenMovesByBanks[MAX_BATTLERS_COUNT]; extern u8 gMoveResultFlags; @@ -56,7 +56,7 @@ extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; extern u8 gTakenDmgBanks[MAX_BATTLERS_COUNT]; extern u8 gLastUsedAbility; extern u8 gCurrentActionFuncId; -extern u32 gBattleExecBuffer; +extern u32 gBattleControllerExecFlags; extern u16 gRandomMove; extern u8 gCurrMovePos; extern u8 gUnknown_020241E9; @@ -79,10 +79,10 @@ u8 GetBattleBank(u8 caseId) switch (caseId) { case BS_GET_TARGET: - ret = gBattleDefender; + ret = gBattleMoveTarget; break; case BS_GET_ATTACKER: - ret = gBattleAttacker; + ret = gBattleMoveAttacker; break; case BS_GET_EFFECT_BANK: ret = gEffectBank; @@ -142,8 +142,8 @@ void PressurePPLose(u8 defender, u8 attacker, u16 move) && !(gDisableStructs[attacker].unk18_b & gBitTable[i])) { gActiveBattler = attacker; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBattlerForControllerExec(gActiveBattler); } } @@ -176,8 +176,8 @@ void PressurePPLoseOnUsingImprision(u8 attacker) && !(gDisableStructs[attacker].unk18_b & gBitTable[imprisionPos])) { gActiveBattler = attacker; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]); + MarkBattlerForControllerExec(gActiveBattler); } } @@ -209,37 +209,33 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker) && !(gDisableStructs[attacker].unk18_b & gBitTable[perishSongPos])) { gActiveBattler = attacker; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + MarkBattlerForControllerExec(gActiveBattler); } } -void MarkAllBufferBanksForExecution(void) // unused +void MarkAllBattlersForControllerExec(void) // unused { s32 i; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { for (i = 0; i < gBattlersCount; i++) - gBattleExecBuffer |= gBitTable[i] << 0x1C; + gBattleControllerExecFlags |= gBitTable[i] << 0x1C; } else { for (i = 0; i < gBattlersCount; i++) - gBattleExecBuffer |= gBitTable[i]; + gBattleControllerExecFlags |= gBitTable[i]; } } -void MarkBufferBankForExecution(u8 battler) +void MarkBattlerForControllerExec(u8 battlerId) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - gBattleExecBuffer |= gBitTable[battler] << 0x1C; - } + gBattleControllerExecFlags |= gBitTable[battlerId] << 0x1C; else - { - gBattleExecBuffer |= gBitTable[battler]; - } + gBattleControllerExecFlags |= gBitTable[battlerId]; } void sub_803F850(u8 arg0) @@ -247,9 +243,9 @@ void sub_803F850(u8 arg0) s32 i; for (i = 0; i < GetLinkPlayerCount(); i++) - gBattleExecBuffer |= gBitTable[arg0] << (i << 2); + gBattleControllerExecFlags |= gBitTable[arg0] << (i << 2); - gBattleExecBuffer &= ~(0x10000000 << arg0); + gBattleControllerExecFlags &= ~(0x10000000 << arg0); } void CancelMultiTurnMoves(u8 battler) @@ -284,8 +280,8 @@ bool8 WasUnableToUseMove(u8 battler) void PrepareStringBattle(u16 stringId, u8 battler) { gActiveBattler = battler; - EmitPrintString(0, stringId); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitPrintString(0, stringId); + MarkBattlerForControllerExec(gActiveBattler); } void ResetSentPokesToOpponentValue(void) @@ -297,7 +293,7 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[1] = 0; for (i = 0; i < gBattlersCount; i += 2) - bits |= gBitTable[gBattlePartyID[i]]; + bits |= gBitTable[gBattlerPartyIndexes[i]]; for (i = 1; i < gBattlersCount; i += 2) gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; @@ -316,7 +312,7 @@ void sub_803F9EC(u8 battler) for (i = 0; i < gBattlersCount; i += 2) { if (!(gAbsentBattlerFlags & gBitTable[i])) - bits |= gBitTable[gBattlePartyID[i]]; + bits |= gBitTable[gBattlerPartyIndexes[i]]; } gSentPokesToOpponent[flank] = bits; @@ -333,7 +329,7 @@ void sub_803FA70(u8 battler) { s32 i; for (i = 1; i < gBattlersCount; i++) - gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlePartyID[battler]]; + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlerPartyIndexes[battler]]; } } @@ -540,10 +536,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBattleAttacker = 0; gBattleAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattleAttacker]; gBattleAttacker++) + for (gBattleMoveAttacker = 0; gBattleMoveAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattleMoveAttacker]; gBattleMoveAttacker++) { } - for (gBattleDefender = 0; gBattleDefender < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattleDefender]; gBattleDefender++) + for (gBattleMoveTarget = 0; gBattleMoveTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattleMoveTarget]; gBattleMoveTarget++) { } @@ -579,7 +575,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattleAttacker = gSideTimers[sideBank].reflectBank; + gActiveBattler = gBattleMoveAttacker = gSideTimers[sideBank].reflectBank; if (gSideStatuses[sideBank] & SIDE_STATUS_REFLECT) { if (--gSideTimers[sideBank].reflectTimer == 0) @@ -604,7 +600,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattleAttacker = gSideTimers[sideBank].lightscreenBank; + gActiveBattler = gBattleMoveAttacker = gSideTimers[sideBank].lightscreenBank; if (gSideStatuses[sideBank] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[sideBank].lightscreenTimer == 0) @@ -630,7 +626,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattleAttacker = gSideTimers[sideBank].mistBank; + gActiveBattler = gBattleMoveAttacker = gSideTimers[sideBank].mistBank; if (gSideTimers[sideBank].mistTimer != 0 && --gSideTimers[sideBank].mistTimer == 0) { @@ -654,7 +650,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattleAttacker = gSideTimers[sideBank].safeguardBank; + gActiveBattler = gBattleMoveAttacker = gSideTimers[sideBank].safeguardBank; if (gSideStatuses[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) @@ -682,7 +678,7 @@ u8 UpdateTurnCounters(void) && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp != 0) { - gBattleDefender = gActiveBattler; + gBattleMoveTarget = gActiveBattler; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -800,7 +796,7 @@ u8 TurnBasedEffects(void) gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); while (gBattleStruct->turnEffectsBank < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBattler = gBattleAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBank]; + gActiveBattler = gBattleMoveAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBank]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->turnEffectsBank++; @@ -843,12 +839,12 @@ u8 TurnBasedEffects(void) && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBattler].hp != 0) { - gBattleDefender = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP + gBattleMoveTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleScripting.animArg1 = gBattleDefender; - gBattleScripting.animArg2 = gBattleAttacker; + gBattleScripting.animArg1 = gBattleMoveTarget; + gBattleScripting.animArg2 = gBattleMoveAttacker; BattleScriptExecute(BattleScript_LeechSeedTurnDrain); effect++; } @@ -957,29 +953,29 @@ u8 TurnBasedEffects(void) case 10: // uproar if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { - for (gBattleAttacker = 0; gBattleAttacker < gBattlersCount; gBattleAttacker++) + for (gBattleMoveAttacker = 0; gBattleMoveAttacker < gBattlersCount; gBattleMoveAttacker++) { - if ((gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP) - && gBattleMons[gBattleAttacker].ability != ABILITY_SOUNDPROOF) + if ((gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP) + && gBattleMons[gBattleMoveAttacker].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_SLEEP); - gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_SLEEP); + gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); - gActiveBattler = gBattleAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattleMoveAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); break; } } - if (gBattleAttacker != gBattlersCount) + if (gBattleMoveAttacker != gBattlersCount) { effect = 2; // a pokemon was awaken break; } else { - gBattleAttacker = gActiveBattler; + gBattleMoveAttacker = gActiveBattler; gBattleMons[gActiveBattler].status2 -= 0x10; // uproar timer goes down if (WasUnableToUseMove(gActiveBattler)) { @@ -1092,8 +1088,8 @@ u8 TurnBasedEffects(void) { CancelMultiTurnMoves(gActiveBattler); gBattleMons[gActiveBattler].status1 |= (Random() & 3) + 2; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); gEffectBank = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); effect++; @@ -1142,16 +1138,16 @@ bool8 HandleWishPerishSongOnTurnEnd(void) PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBattler]); - gBattleDefender = gActiveBattler; - gBattleAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; + gBattleMoveTarget = gActiveBattler; + gBattleMoveAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBattler]; - gSpecialStatuses[gBattleDefender].moveturnLostHP = 0xFFFF; + gSpecialStatuses[gBattleMoveTarget].moveturnLostHP = 0xFFFF; BattleScriptExecute(BattleScript_MonTookFutureAttack); if (gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 && gWishFutureKnock.futureSightCounter[gActiveBattler ^ BIT_FLANK] == 0) { - gSideStatuses[GET_BATTLER_SIDE(gBattleDefender)] &= ~(SIDE_STATUS_FUTUREATTACK); + gSideStatuses[GET_BATTLER_SIDE(gBattleMoveTarget)] &= ~(SIDE_STATUS_FUTUREATTACK); } return TRUE; } @@ -1166,7 +1162,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) case 1: while (gBattleStruct->wishPerishSongBank < gBattlersCount) { - gActiveBattler = gBattleAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBank]; + gActiveBattler = gBattleMoveAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBank]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->wishPerishSongBank++; @@ -1244,9 +1240,9 @@ bool8 HandleFaintedMonActions(void) case 1: do { - gBank1 = gBattleDefender = gBattleStruct->faintedActionsBank; + gBank1 = gBattleMoveTarget = gBattleStruct->faintedActionsBank; if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 - && !(gBattleStruct->field_DF & gBitTable[gBattlePartyID[gBattleStruct->faintedActionsBank]]) + && !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBank]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBank])) { BattleScriptExecute(BattleScript_GiveExp); @@ -1270,7 +1266,7 @@ bool8 HandleFaintedMonActions(void) case 4: do { - gBank1 = gBattleDefender = gBattleStruct->faintedActionsBank; + gBank1 = gBattleMoveTarget = gBattleStruct->faintedActionsBank; if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBank])) { @@ -1320,17 +1316,17 @@ u8 AtkCanceller_UnableToUseMove(void) switch (gBattleStruct->atkCancellerTracker) { case 0: // flags clear - gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_DESTINY_BOND); - gStatuses3[gBattleAttacker] &= ~(STATUS3_GRUDGE); + gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_DESTINY_BOND); + gStatuses3[gBattleMoveAttacker] &= ~(STATUS3_GRUDGE); gBattleStruct->atkCancellerTracker++; break; case 1: // check being asleep - if (gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP) + if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP) { - if (UproarWakeUpCheck(gBattleAttacker)) + if (UproarWakeUpCheck(gBattleMoveAttacker)) { - gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_SLEEP); - gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_SLEEP); + gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 1; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1339,15 +1335,15 @@ u8 AtkCanceller_UnableToUseMove(void) else { u8 toSub; - if (gBattleMons[gBattleAttacker].ability == ABILITY_EARLY_BIRD) + if (gBattleMons[gBattleMoveAttacker].ability == ABILITY_EARLY_BIRD) toSub = 2; else toSub = 1; - if ((gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP) < toSub) - gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_SLEEP); + if ((gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_SLEEP); else - gBattleMons[gBattleAttacker].status1 -= toSub; - if (gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP) + gBattleMons[gBattleMoveAttacker].status1 -= toSub; + if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP) { if (gCurrentMove != MOVE_SNORE && gCurrentMove != MOVE_SLEEP_TALK) { @@ -1358,7 +1354,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else { - gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1369,7 +1365,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 2: // check being frozen - if (gBattleMons[gBattleAttacker].status1 & STATUS1_FREEZE) + if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_FREEZE) { if (Random() % 5) { @@ -1386,7 +1382,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else // unfreeze { - gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_FREEZE); + gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -1396,9 +1392,9 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 3: // truant - if (gBattleMons[gBattleAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBattleAttacker].truantCounter) + if (gBattleMons[gBattleMoveAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBattleMoveAttacker].truantCounter) { - CancelMultiTurnMoves(gBattleAttacker); + CancelMultiTurnMoves(gBattleMoveAttacker); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; @@ -1408,11 +1404,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 4: // recharge - if (gBattleMons[gBattleAttacker].status2 & STATUS2_RECHARGE) + if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_RECHARGE) { - gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_RECHARGE); - gDisableStructs[gBattleAttacker].rechargeCounter = 0; - CancelMultiTurnMoves(gBattleAttacker); + gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_RECHARGE); + gDisableStructs[gBattleMoveAttacker].rechargeCounter = 0; + CancelMultiTurnMoves(gBattleMoveAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedMustRecharge; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1420,11 +1416,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 5: // flinch - if (gBattleMons[gBattleAttacker].status2 & STATUS2_FLINCHED) + if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_FLINCHED) { - gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_FLINCHED); - gProtectStructs[gBattleAttacker].flinchImmobility = 1; - CancelMultiTurnMoves(gBattleAttacker); + gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_FLINCHED); + gProtectStructs[gBattleMoveAttacker].flinchImmobility = 1; + CancelMultiTurnMoves(gBattleMoveAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedFlinched; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1432,11 +1428,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 6: // disabled move - if (gDisableStructs[gBattleAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattleAttacker].disabledMove != 0) + if (gDisableStructs[gBattleMoveAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattleMoveAttacker].disabledMove != 0) { - gProtectStructs[gBattleAttacker].usedDisabledMove = 1; - gBattleScripting.battler = gBattleAttacker; - CancelMultiTurnMoves(gBattleAttacker); + gProtectStructs[gBattleMoveAttacker].usedDisabledMove = 1; + gBattleScripting.battler = gBattleMoveAttacker; + CancelMultiTurnMoves(gBattleMoveAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsDisabled; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1444,10 +1440,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 7: // taunt - if (gDisableStructs[gBattleAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) + if (gDisableStructs[gBattleMoveAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) { - gProtectStructs[gBattleAttacker].usedTauntedMove = 1; - CancelMultiTurnMoves(gBattleAttacker); + gProtectStructs[gBattleMoveAttacker].usedTauntedMove = 1; + CancelMultiTurnMoves(gBattleMoveAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsTaunted; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1455,10 +1451,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 8: // imprisoned - if (GetImprisonedMovesCount(gBattleAttacker, gCurrentMove)) + if (GetImprisonedMovesCount(gBattleMoveAttacker, gCurrentMove)) { - gProtectStructs[gBattleAttacker].usedImprisionedMove = 1; - CancelMultiTurnMoves(gBattleAttacker); + gProtectStructs[gBattleMoveAttacker].usedImprisionedMove = 1; + CancelMultiTurnMoves(gBattleMoveAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsImprisoned; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1466,10 +1462,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 9: // confusion - if (gBattleMons[gBattleAttacker].status2 & STATUS2_CONFUSION) + if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_CONFUSION) { - gBattleMons[gBattleAttacker].status2--; - if (gBattleMons[gBattleAttacker].status2 & STATUS2_CONFUSION) + gBattleMons[gBattleMoveAttacker].status2--; + if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_CONFUSION) { if (Random() & 1) { @@ -1479,9 +1475,9 @@ u8 AtkCanceller_UnableToUseMove(void) else // confusion dmg { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBattleDefender = gBattleAttacker; - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleAttacker], &gBattleMons[gBattleAttacker], MOVE_POUND, 0, 40, 0, gBattleAttacker, gBattleAttacker); - gProtectStructs[gBattleAttacker].confusionSelfDmg = 1; + gBattleMoveTarget = gBattleMoveAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleMoveAttacker], &gBattleMons[gBattleMoveAttacker], MOVE_POUND, 0, 40, 0, gBattleMoveAttacker, gBattleMoveAttacker); + gProtectStructs[gBattleMoveAttacker].confusionSelfDmg = 1; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; } gBattlescriptCurrInstr = BattleScript_MoveUsedIsConfused; @@ -1496,11 +1492,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 10: // paralysis - if ((gBattleMons[gBattleAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) + if ((gBattleMons[gBattleMoveAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) { - gProtectStructs[gBattleAttacker].prlzImmobility = 1; + gProtectStructs[gBattleMoveAttacker].prlzImmobility = 1; // This is removed in Emerald for some reason - //CancelMultiTurnMoves(gBattleAttacker); + //CancelMultiTurnMoves(gBattleMoveAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsParalyzed; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1508,17 +1504,17 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 11: // infatuation - if (gBattleMons[gBattleAttacker].status2 & STATUS2_INFATUATION) + if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_INFATUATION) { - gBattleScripting.battler = CountTrailingZeroBits((gBattleMons[gBattleAttacker].status2 & STATUS2_INFATUATION) >> 0x10); + gBattleScripting.battler = CountTrailingZeroBits((gBattleMons[gBattleMoveAttacker].status2 & STATUS2_INFATUATION) >> 0x10); if (Random() & 1) BattleScriptPushCursor(); else { BattleScriptPush(BattleScript_MoveUsedIsParalyzedCantAttack); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; - gProtectStructs[gBattleAttacker].loveImmobility = 1; - CancelMultiTurnMoves(gBattleAttacker); + gProtectStructs[gBattleMoveAttacker].loveImmobility = 1; + CancelMultiTurnMoves(gBattleMoveAttacker); } gBattlescriptCurrInstr = BattleScript_MoveUsedIsInLove; effect = 1; @@ -1526,22 +1522,22 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 12: // bide - if (gBattleMons[gBattleAttacker].status2 & STATUS2_BIDE) + if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_BIDE) { - gBattleMons[gBattleAttacker].status2 -= 0x100; - if (gBattleMons[gBattleAttacker].status2 & STATUS2_BIDE) + gBattleMons[gBattleMoveAttacker].status2 -= 0x100; + if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_BIDE) gBattlescriptCurrInstr = BattleScript_BideStoringEnergy; else { // This is removed in Emerald for some reason - //gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); - if (gTakenDmg[gBattleAttacker]) + //gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); + if (gTakenDmg[gBattleMoveAttacker]) { gCurrentMove = MOVE_BIDE; - *bideDmg = gTakenDmg[gBattleAttacker] * 2; - gBattleDefender = gTakenDmgBanks[gBattleAttacker]; - if (gAbsentBattlerFlags & gBitTable[gBattleDefender]) - gBattleDefender = GetMoveTarget(MOVE_BIDE, 1); + *bideDmg = gTakenDmg[gBattleMoveAttacker] * 2; + gBattleMoveTarget = gTakenDmgBanks[gBattleMoveAttacker]; + if (gAbsentBattlerFlags & gBitTable[gBattleMoveTarget]) + gBattleMoveTarget = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } else @@ -1552,11 +1548,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 13: // move thawing - if (gBattleMons[gBattleAttacker].status1 & STATUS1_FREEZE) + if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_FREEZE) { if (gBattleMoves[gCurrentMove].effect == EFFECT_THAW_HIT) { - gBattleMons[gBattleAttacker].status1 &= ~(STATUS1_FREEZE); + gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -1573,9 +1569,9 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { - gActiveBattler = gBattleAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = gBattleMoveAttacker; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); } return effect; } @@ -1611,7 +1607,7 @@ bool8 sub_80423F4(u8 battler, u8 r1, u8 r2) if (GetBattlerSide(battler) == B_SIDE_PLAYER) { party = gPlayerParty; - r7 = GetBankMultiplayerId(battler); + r7 = GetBattlerMultiplayerId(battler); r6 = sub_806D82C(r7); } else @@ -1630,7 +1626,7 @@ bool8 sub_80423F4(u8 battler, u8 r1, u8 r2) } else { - r7 = GetBankMultiplayerId(battler); + r7 = GetBattlerMultiplayerId(battler); if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else @@ -1678,9 +1674,9 @@ bool8 sub_80423F4(u8 battler, u8 r1, u8 r2) party = gPlayerParty; } if (r1 == 6) - r1 = gBattlePartyID[r7]; + r1 = gBattlerPartyIndexes[r7]; if (r2 == 6) - r2 = gBattlePartyID[r6]; + r2 = gBattlerPartyIndexes[r6]; for (i = 0; i < 6; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 @@ -1754,19 +1750,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA u32 pidAtk; u32 pidDef; - if (gBattleAttacker >= gBattlersCount) - gBattleAttacker = battler; - if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER) - pokeAtk = &gPlayerParty[gBattlePartyID[gBattleAttacker]]; + if (gBattleMoveAttacker >= gBattlersCount) + gBattleMoveAttacker = battler; + if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER) + pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBattleMoveAttacker]]; else - pokeAtk = &gEnemyParty[gBattlePartyID[gBattleAttacker]]; + pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker]]; - if (gBattleDefender >= gBattlersCount) - gBattleDefender = battler; - if (GetBattlerSide(gBattleDefender) == B_SIDE_PLAYER) - pokeDef = &gPlayerParty[gBattlePartyID[gBattleDefender]]; + if (gBattleMoveTarget >= gBattlersCount) + gBattleMoveTarget = battler; + if (GetBattlerSide(gBattleMoveTarget) == B_SIDE_PLAYER) + pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBattleMoveTarget]]; else - pokeDef = &gEnemyParty[gBattlePartyID[gBattleDefender]]; + pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBattleMoveTarget]]; speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES); pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY); @@ -1797,8 +1793,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - if (gBattleAttacker >= gBattlersCount) - gBattleAttacker = battler; + if (gBattleMoveAttacker >= gBattlersCount) + gBattleMoveAttacker = battler; switch (gLastUsedAbility) { case ABILITYEFFECT_SWITCH_IN_WEATHER: @@ -1915,7 +1911,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITYEFFECT_ENDTURN: // 1 if (gBattleMons[battler].hp != 0) { - gBattleAttacker = battler; + gBattleMoveAttacker = battler; switch (gLastUsedAbility) { case ABILITY_RAIN_DISH: @@ -1948,8 +1944,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); // fix nightmare glitch gBattleScripting.battler = gActiveBattler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(gActiveBattler); effect++; } break; @@ -1965,7 +1961,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } break; case ABILITY_TRUANT: - gDisableStructs[gBattleAttacker].truantCounter ^= 1; + gDisableStructs[gBattleMoveAttacker].truantCounter ^= 1; break; } } @@ -1980,7 +1976,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } if (sSoundMovesTable[i] != 0xFFFF) { - if (gBattleMons[gBattleAttacker].status2 & STATUS2_MULTIPLETURNS) + if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; gBattlescriptCurrInstr = BattleScript_SoundproofProtected; effect = 1; @@ -1995,7 +1991,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITY_VOLT_ABSORB: if (moveType == TYPE_ELECTRIC && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBattleAttacker].notFirstStrike) + if (gProtectStructs[gBattleMoveAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -2006,7 +2002,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITY_WATER_ABSORB: if (moveType == TYPE_WATER && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBattleAttacker].notFirstStrike) + if (gProtectStructs[gBattleMoveAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -2020,7 +2016,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gBattleResources->flags->flags[battler] & UNKNOWN_FLAG_FLASH_FIRE)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (gProtectStructs[gBattleAttacker].notFirstStrike) + if (gProtectStructs[gBattleMoveAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; @@ -2031,7 +2027,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - if (gProtectStructs[gBattleAttacker].notFirstStrike) + if (gProtectStructs[gBattleMoveAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; @@ -2045,7 +2041,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA { if (gBattleMons[battler].maxHP == gBattleMons[battler].hp) { - if ((gProtectStructs[gBattleAttacker].notFirstStrike)) + if ((gProtectStructs[gBattleMoveAttacker].notFirstStrike)) gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless; else gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless_PPLoss; @@ -2067,7 +2063,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 - && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) && gBattleMons[battler].type1 != moveType && gBattleMons[battler].type2 != moveType && gBattleMons[battler].hp != 0) @@ -2082,12 +2078,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_ROUGH_SKIN: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleAttacker].hp != 0 - && !gProtectStructs[gBattleAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && gBattleMons[gBattleMoveAttacker].hp != 0 + && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) { - gBattleMoveDamage = gBattleMons[gBattleAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptPushCursor(); @@ -2097,9 +2093,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_EFFECT_SPORE: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleAttacker].hp != 0 - && !gProtectStructs[gBattleAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && gBattleMons[gBattleMoveAttacker].hp != 0 + && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 10) == 0) { @@ -2120,9 +2116,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_POISON_POINT: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleAttacker].hp != 0 - && !gProtectStructs[gBattleAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && gBattleMons[gBattleMoveAttacker].hp != 0 + && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2135,9 +2131,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_STATIC: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleAttacker].hp != 0 - && !gProtectStructs[gBattleAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && gBattleMons[gBattleMoveAttacker].hp != 0 + && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2150,10 +2146,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_FLAME_BODY: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleAttacker].hp != 0 - && !gProtectStructs[gBattleAttacker].confusionSelfDmg + && gBattleMons[gBattleMoveAttacker].hp != 0 + && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_BURN; @@ -2165,19 +2161,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_CUTE_CHARM: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleAttacker].hp != 0 - && !gProtectStructs[gBattleAttacker].confusionSelfDmg + && gBattleMons[gBattleMoveAttacker].hp != 0 + && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) - && gBattleMons[gBattleDefender].hp != 0 + && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) + && gBattleMons[gBattleMoveTarget].hp != 0 && (Random() % 3) == 0 - && gBattleMons[gBattleAttacker].ability != ABILITY_OBLIVIOUS + && gBattleMons[gBattleMoveAttacker].ability != ABILITY_OBLIVIOUS && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) - && !(gBattleMons[gBattleAttacker].status2 & STATUS2_INFATUATION) + && !(gBattleMons[gBattleMoveAttacker].status2 & STATUS2_INFATUATION) && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != MON_GENDERLESS && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != MON_GENDERLESS) { - gBattleMons[gBattleAttacker].status2 |= STATUS2_INFATUATED_WITH(gBattleDefender); + gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_INFATUATED_WITH(gBattleMoveTarget); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; effect++; @@ -2261,8 +2257,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; gBattleScripting.battler = battler; gActiveBattler = battler; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); return effect; } } @@ -2292,7 +2288,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect + MOVE_EFFECT_AFFECTS_USER; - gBattleScripting.battler = gBattleDefender; + gBattleScripting.battler = gBattleMoveTarget; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2308,7 +2304,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect; - gBattleScripting.battler = gBattleAttacker; + gBattleScripting.battler = gBattleMoveAttacker; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2379,7 +2375,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gStatuses3[i] &= ~(STATUS3_TRACE); gBattleScripting.battler = i; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlePartyID[gActiveBattler]) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) PREPARE_ABILITY_BUFFER(gBattleTextBuff2, gLastUsedAbility) break; } @@ -2560,11 +2556,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) bankQuality = ItemId_GetHoldEffectParam(gLastUsedItem); } - atkItem = gBattleMons[gBattleAttacker].item; + atkItem = gBattleMons[gBattleMoveAttacker].item; if (atkItem == ITEM_ENIGMA_BERRY) { - atkHoldEffect = gEnigmaBerries[gBattleAttacker].holdEffect; - atkQuality = gEnigmaBerries[gBattleAttacker].holdEffectParam; + atkHoldEffect = gEnigmaBerries[gBattleMoveAttacker].holdEffect; + atkQuality = gEnigmaBerries[gBattleMoveAttacker].holdEffectParam; } else { @@ -2573,11 +2569,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } // def variables are unused - defItem = gBattleMons[gBattleDefender].item; + defItem = gBattleMons[gBattleMoveTarget].item; if (defItem == ITEM_ENIGMA_BERRY) { - defHoldEffect = gEnigmaBerries[gBattleDefender].holdEffect; - defQuality = gEnigmaBerries[gBattleDefender].holdEffectParam; + defHoldEffect = gEnigmaBerries[gBattleMoveTarget].holdEffect; + defQuality = gEnigmaBerries[gBattleMoveTarget].holdEffectParam; } else { @@ -2607,7 +2603,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleScripting.battler = bank; gStringBank = bank; - gActiveBattler = gBattleAttacker = bank; + gActiveBattler = gBattleMoveAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -2637,9 +2633,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) u16 move; if (GetBattlerSide(bank) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlePartyID[bank]]; + mon = &gPlayerParty[gBattlerPartyIndexes[bank]]; else - mon = &gEnemyParty[gBattlePartyID[bank]]; + mon = &gEnemyParty[gBattlerPartyIndexes[bank]]; for (i = 0; i < 4; i++) { move = GetMonData(mon, MON_DATA_MOVE1 + i); @@ -2659,8 +2655,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); BattleScriptExecute(BattleScript_BerryPPHealEnd2); - EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + MarkBattlerForControllerExec(gActiveBattler); effect = ITEM_PP_CHANGE; } } @@ -2678,7 +2674,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleScripting.battler = bank; gStringBank = bank; - gActiveBattler = gBattleAttacker = bank; + gActiveBattler = gBattleMoveAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -3006,12 +3002,12 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleScripting.battler = bank; gStringBank = bank; - gActiveBattler = gBattleAttacker = bank; + gActiveBattler = gBattleMoveAttacker = bank; switch (effect) { case ITEM_STATUS_CHANGE: - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); + MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: if (!(gBattleMons[bank].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bank].unk18_b & gBitTable[i])) @@ -3165,8 +3161,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleScripting.battler = bank; gStringBank = bank; gActiveBattler = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBufferBankForExecution(gActiveBattler); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); break; } } @@ -3178,10 +3174,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { case HOLD_EFFECT_FLINCH: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && (gSpecialStatuses[gBattleDefender].moveturnLostHP_physical || gSpecialStatuses[gBattleDefender].moveturnLostHP_special) + && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) && (Random() % 100) < atkQuality && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED - && gBattleMons[gBattleDefender].hp) + && gBattleMons[gBattleMoveTarget].hp) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); @@ -3191,19 +3187,19 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) break; case HOLD_EFFECT_SHELL_BELL: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gSpecialStatuses[gBattleDefender].moveturnLostHP != 0 - && gSpecialStatuses[gBattleDefender].moveturnLostHP != 0xFFFF - && gBattleAttacker != gBattleDefender - && gBattleMons[gBattleAttacker].hp != gBattleMons[gBattleAttacker].maxHP - && gBattleMons[gBattleAttacker].hp != 0) + && gSpecialStatuses[gBattleMoveTarget].moveturnLostHP != 0 + && gSpecialStatuses[gBattleMoveTarget].moveturnLostHP != 0xFFFF + && gBattleMoveAttacker != gBattleMoveTarget + && gBattleMons[gBattleMoveAttacker].hp != gBattleMons[gBattleMoveAttacker].maxHP + && gBattleMons[gBattleMoveAttacker].hp != 0) { gLastUsedItem = atkItem; - gStringBank = gBattleAttacker; - gBattleScripting.battler = gBattleAttacker; - gBattleMoveDamage = (gSpecialStatuses[gBattleDefender].moveturnLostHP / atkQuality) * -1; + gStringBank = gBattleMoveAttacker; + gBattleScripting.battler = gBattleMoveAttacker; + gBattleMoveDamage = (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP / atkQuality) * -1; if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; - gSpecialStatuses[gBattleDefender].moveturnLostHP = 0; + gSpecialStatuses[gBattleMoveTarget].moveturnLostHP = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ItemHealHP_Ret; effect++; @@ -3226,7 +3222,7 @@ void ClearFuryCutterDestinyBondGrudge(u8 bank) void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands { - if (gBattleExecBuffer == 0) + if (gBattleControllerExecFlags == 0) gBattleScriptingCommandsTable[*gBattlescriptCurrInstr](); } @@ -3244,18 +3240,18 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) switch (moveTarget) { case MOVE_TARGET_SELECTED: - side = GetBattlerSide(gBattleAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBattleMoveAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else { - side = GetBattlerSide(gBattleAttacker); + side = GetBattlerSide(gBattleMoveAttacker); do { targetBank = Random() % gBattlersCount; - } while (targetBank == gBattleAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); + } while (targetBank == gBattleMoveAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC - && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattleAttacker, ABILITY_LIGHTNING_ROD, 0, 0) + && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattleMoveAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) { targetBank ^= BIT_FLANK; @@ -3268,17 +3264,17 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattleAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattleMoveAttacker) & BIT_SIDE) ^ BIT_SIDE); if (gAbsentBattlerFlags & gBitTable[targetBank]) targetBank ^= BIT_FLANK; break; case MOVE_TARGET_RANDOM: - side = GetBattlerSide(gBattleAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBattleMoveAttacker) ^ 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) { - if (GetBattlerSide(gBattleAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER) { if (Random() & 1) targetBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -3296,15 +3292,15 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) targetBank ^= BIT_FLANK; } else - targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattleAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattleMoveAttacker) & BIT_SIDE) ^ BIT_SIDE); break; case MOVE_TARGET_USER: case MOVE_TARGET_x10: - targetBank = gBattleAttacker; + targetBank = gBattleMoveAttacker; break; } - *(gBattleStruct->moveTarget + gBattleAttacker) = targetBank; + *(gBattleStruct->moveTarget + gBattleMoveAttacker) = targetBank; return targetBank; } @@ -3313,10 +3309,10 @@ static bool32 HasObedientBitSet(u8 bank) { if (GetBattlerSide(bank) == B_SIDE_OPPONENT) return TRUE; - if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS - && GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS + && GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) return TRUE; - return GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_OBEDIENCE, NULL); + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_OBEDIENCE, NULL); } u8 IsMonDisobedient(void) @@ -3327,18 +3323,18 @@ u8 IsMonDisobedient(void) if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) return 0; - if (GetBattlerSide(gBattleAttacker) == B_SIDE_OPPONENT) + if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_OPPONENT) return 0; - if (HasObedientBitSet(gBattleAttacker)) // only if species is Mew or Deoxys + if (HasObedientBitSet(gBattleMoveAttacker)) // only if species is Mew or Deoxys { - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gBattleAttacker) == 2) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gBattleMoveAttacker) == 2) return 0; if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) return 0; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) return 0; - if (!IsOtherTrainer(gBattleMons[gBattleAttacker].otId, gBattleMons[gBattleAttacker].otName)) + if (!IsOtherTrainer(gBattleMons[gBattleMoveAttacker].otId, gBattleMons[gBattleMoveAttacker].otName)) return 0; if (FlagGet(FLAG_BADGE08_GET)) return 0; @@ -3353,27 +3349,27 @@ u8 IsMonDisobedient(void) obedienceLevel = 70; } - if (gBattleMons[gBattleAttacker].level <= obedienceLevel) + if (gBattleMons[gBattleMoveAttacker].level <= obedienceLevel) return 0; rnd = (Random() & 255); - calc = (gBattleMons[gBattleAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattleMoveAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) return 0; // is not obedient if (gCurrentMove == MOVE_RAGE) - gBattleMons[gBattleAttacker].status2 &= ~(STATUS2_RAGE); - if (gBattleMons[gBattleAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) + gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_RAGE); + if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) { gBattlescriptCurrInstr = BattleScript_82DB695; return 1; } rnd = (Random() & 255); - calc = (gBattleMons[gBattleAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattleMoveAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) { - calc = CheckMoveLimitations(gBattleAttacker, gBitTable[gCurrMovePos], 0xFF); + calc = CheckMoveLimitations(gBattleMoveAttacker, gBitTable[gCurrMovePos], 0xFF); if (calc == 0xF) // all moves cannot be used { gBattleCommunication[MULTISTRING_CHOOSER] = Random() & 3; @@ -3387,19 +3383,19 @@ u8 IsMonDisobedient(void) gCurrMovePos = gUnknown_020241E9 = Random() & 3; } while (gBitTable[gCurrMovePos] & calc); - gRandomMove = gBattleMons[gBattleAttacker].moves[gCurrMovePos]; + gRandomMove = gBattleMons[gBattleMoveAttacker].moves[gCurrMovePos]; gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; - gBattleDefender = GetMoveTarget(gRandomMove, 0); + gBattleMoveTarget = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; } } else { - obedienceLevel = gBattleMons[gBattleAttacker].level - obedienceLevel; + obedienceLevel = gBattleMons[gBattleMoveAttacker].level - obedienceLevel; calc = (Random() & 255); - if (calc < obedienceLevel && !(gBattleMons[gBattleAttacker].status1 & STATUS1_ANY) && gBattleMons[gBattleAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBattleAttacker].ability != ABILITY_INSOMNIA) + if (calc < obedienceLevel && !(gBattleMons[gBattleMoveAttacker].status1 & STATUS1_ANY) && gBattleMons[gBattleMoveAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBattleMoveAttacker].ability != ABILITY_INSOMNIA) { // try putting asleep int i; @@ -3417,8 +3413,8 @@ u8 IsMonDisobedient(void) calc -= obedienceLevel; if (calc < obedienceLevel) { - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleAttacker], &gBattleMons[gBattleAttacker], MOVE_POUND, 0, 40, 0, gBattleAttacker, gBattleAttacker); - gBattleDefender = gBattleAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleMoveAttacker], &gBattleMons[gBattleMoveAttacker], MOVE_POUND, 0, 40, 0, gBattleMoveAttacker, gBattleMoveAttacker); + gBattleMoveTarget = gBattleMoveAttacker; gBattlescriptCurrInstr = BattleScript_82DB6F0; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; return 2; -- cgit v1.2.3 From c3dc14ba66b31c8f2556e9a19b6be7a5e860a376 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 6 Feb 2018 16:09:39 -0600 Subject: more renaming --- src/battle_util.c | 392 +++++++++++++++++++++++++++--------------------------- 1 file changed, 196 insertions(+), 196 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 228727585..bbb4bf41d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -28,13 +28,13 @@ extern const u8* gSelectionBattleScripts[MAX_BATTLERS_COUNT]; extern const u8* gPalaceSelectionBattleScripts[MAX_BATTLERS_COUNT]; extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; extern u8 gActiveBattler; -extern u8 gStringBank; +extern u8 gStringBattler; extern u16 gCurrentMove; extern u16 gLastUsedItem; extern u8 gBattlersCount; extern u32 gStatuses3[MAX_BATTLERS_COUNT]; -extern u8 gBattleMoveAttacker; -extern u8 gBattleMoveTarget; +extern u8 gBattlerAttacker; +extern u8 gBattlerTarget; extern u8 gAbsentBattlerFlags; extern u16 gBattleWeather; extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT]; @@ -50,7 +50,7 @@ extern u32 gHitMarker; extern u8 gEffectBank; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern u8 gBank1; -extern u16 gChosenMovesByBanks[MAX_BATTLERS_COUNT]; +extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT]; extern u8 gMoveResultFlags; extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; extern u8 gTakenDmgBanks[MAX_BATTLERS_COUNT]; @@ -79,10 +79,10 @@ u8 GetBattleBank(u8 caseId) switch (caseId) { case BS_GET_TARGET: - ret = gBattleMoveTarget; + ret = gBattlerTarget; break; case BS_GET_ATTACKER: - ret = gBattleMoveAttacker; + ret = gBattlerAttacker; break; case BS_GET_EFFECT_BANK: ret = gEffectBank; @@ -335,17 +335,17 @@ void sub_803FA70(u8 battler) void BattleScriptPush(const u8* bsPtr) { - BATTLESCRIPTS_STACK->ptr[BATTLESCRIPTS_STACK->size++] = bsPtr; + gBattleResources->battleScriptsStack->ptr[gBattleResources->battleScriptsStack->size++] = bsPtr; } void BattleScriptPushCursor(void) { - BATTLESCRIPTS_STACK->ptr[BATTLESCRIPTS_STACK->size++] = gBattlescriptCurrInstr; + gBattleResources->battleScriptsStack->ptr[gBattleResources->battleScriptsStack->size++] = gBattlescriptCurrInstr; } void BattleScriptPop(void) { - gBattlescriptCurrInstr = BATTLESCRIPTS_STACK->ptr[--BATTLESCRIPTS_STACK->size]; + gBattlescriptCurrInstr = gBattleResources->battleScriptsStack->ptr[--gBattleResources->battleScriptsStack->size]; } u8 TrySetCantSelectMoveBattleScript(void) @@ -421,7 +421,7 @@ u8 TrySetCantSelectMoveBattleScript(void) else holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); - gStringBank = gActiveBattler; + gStringBattler = gActiveBattler; if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != move) { @@ -465,7 +465,7 @@ u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) else holdEffect = ItemId_GetHoldEffect(gBattleMons[bank].item); - gStringBank = bank; + gStringBattler = bank; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { @@ -536,10 +536,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBattleMoveAttacker = 0; gBattleMoveAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattleMoveAttacker]; gBattleMoveAttacker++) + for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattlerAttacker]; gBattlerAttacker++) { } - for (gBattleMoveTarget = 0; gBattleMoveTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattleMoveTarget]; gBattleMoveTarget++) + for (gBattlerTarget = 0; gBattlerTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBattlerTarget]; gBattlerTarget++) { } @@ -575,7 +575,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattleMoveAttacker = gSideTimers[sideBank].reflectBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].reflectBank; if (gSideStatuses[sideBank] & SIDE_STATUS_REFLECT) { if (--gSideTimers[sideBank].reflectTimer == 0) @@ -600,7 +600,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattleMoveAttacker = gSideTimers[sideBank].lightscreenBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].lightscreenBank; if (gSideStatuses[sideBank] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[sideBank].lightscreenTimer == 0) @@ -626,7 +626,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattleMoveAttacker = gSideTimers[sideBank].mistBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].mistBank; if (gSideTimers[sideBank].mistTimer != 0 && --gSideTimers[sideBank].mistTimer == 0) { @@ -650,7 +650,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattleMoveAttacker = gSideTimers[sideBank].safeguardBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].safeguardBank; if (gSideStatuses[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) @@ -678,7 +678,7 @@ u8 UpdateTurnCounters(void) && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveTarget = gActiveBattler; + gBattlerTarget = gActiveBattler; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -796,7 +796,7 @@ u8 TurnBasedEffects(void) gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); while (gBattleStruct->turnEffectsBank < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBattler = gBattleMoveAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBank]; + gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBank]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->turnEffectsBank++; @@ -839,12 +839,12 @@ u8 TurnBasedEffects(void) && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP + gBattlerTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleScripting.animArg1 = gBattleMoveTarget; - gBattleScripting.animArg2 = gBattleMoveAttacker; + gBattleScripting.animArg1 = gBattlerTarget; + gBattleScripting.animArg2 = gBattlerAttacker; BattleScriptExecute(BattleScript_LeechSeedTurnDrain); effect++; } @@ -953,29 +953,29 @@ u8 TurnBasedEffects(void) case 10: // uproar if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { - for (gBattleMoveAttacker = 0; gBattleMoveAttacker < gBattlersCount; gBattleMoveAttacker++) + for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount; gBattlerAttacker++) { - if ((gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP) - && gBattleMons[gBattleMoveAttacker].ability != ABILITY_SOUNDPROOF) + if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) + && gBattleMons[gBattlerAttacker].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_SLEEP); - gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_SLEEP); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); - gActiveBattler = gBattleMoveAttacker; + gActiveBattler = gBattlerAttacker; BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; } } - if (gBattleMoveAttacker != gBattlersCount) + if (gBattlerAttacker != gBattlersCount) { effect = 2; // a pokemon was awaken break; } else { - gBattleMoveAttacker = gActiveBattler; + gBattlerAttacker = gActiveBattler; gBattleMons[gActiveBattler].status2 -= 0x10; // uproar timer goes down if (WasUnableToUseMove(gActiveBattler)) { @@ -1138,16 +1138,16 @@ bool8 HandleWishPerishSongOnTurnEnd(void) PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBattler]); - gBattleMoveTarget = gActiveBattler; - gBattleMoveAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; + gBattlerTarget = gActiveBattler; + gBattlerAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBattler]; - gSpecialStatuses[gBattleMoveTarget].moveturnLostHP = 0xFFFF; + gSpecialStatuses[gBattlerTarget].moveturnLostHP = 0xFFFF; BattleScriptExecute(BattleScript_MonTookFutureAttack); if (gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 && gWishFutureKnock.futureSightCounter[gActiveBattler ^ BIT_FLANK] == 0) { - gSideStatuses[GET_BATTLER_SIDE(gBattleMoveTarget)] &= ~(SIDE_STATUS_FUTUREATTACK); + gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)] &= ~(SIDE_STATUS_FUTUREATTACK); } return TRUE; } @@ -1162,7 +1162,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) case 1: while (gBattleStruct->wishPerishSongBank < gBattlersCount) { - gActiveBattler = gBattleMoveAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBank]; + gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBank]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->wishPerishSongBank++; @@ -1240,7 +1240,7 @@ bool8 HandleFaintedMonActions(void) case 1: do { - gBank1 = gBattleMoveTarget = gBattleStruct->faintedActionsBank; + gBank1 = gBattlerTarget = gBattleStruct->faintedActionsBank; if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 && !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBank]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBank])) @@ -1266,7 +1266,7 @@ bool8 HandleFaintedMonActions(void) case 4: do { - gBank1 = gBattleMoveTarget = gBattleStruct->faintedActionsBank; + gBank1 = gBattlerTarget = gBattleStruct->faintedActionsBank; if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBank])) { @@ -1300,7 +1300,7 @@ void TryClearRageStatuses(void) int i; for (i = 0; i < gBattlersCount; i++) { - if ((gBattleMons[i].status2 & STATUS2_RAGE) && gChosenMovesByBanks[i] != MOVE_RAGE) + if ((gBattleMons[i].status2 & STATUS2_RAGE) && gChosenMoveByBattler[i] != MOVE_RAGE) gBattleMons[i].status2 &= ~(STATUS2_RAGE); } } @@ -1316,17 +1316,17 @@ u8 AtkCanceller_UnableToUseMove(void) switch (gBattleStruct->atkCancellerTracker) { case 0: // flags clear - gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_DESTINY_BOND); - gStatuses3[gBattleMoveAttacker] &= ~(STATUS3_GRUDGE); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_DESTINY_BOND); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_GRUDGE); gBattleStruct->atkCancellerTracker++; break; case 1: // check being asleep - if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) { - if (UproarWakeUpCheck(gBattleMoveAttacker)) + if (UproarWakeUpCheck(gBattlerAttacker)) { - gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_SLEEP); - gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_SLEEP); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 1; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1335,15 +1335,15 @@ u8 AtkCanceller_UnableToUseMove(void) else { u8 toSub; - if (gBattleMons[gBattleMoveAttacker].ability == ABILITY_EARLY_BIRD) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_EARLY_BIRD) toSub = 2; else toSub = 1; - if ((gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP) < toSub) - gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_SLEEP); + if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_SLEEP); else - gBattleMons[gBattleMoveAttacker].status1 -= toSub; - if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP) + gBattleMons[gBattlerAttacker].status1 -= toSub; + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) { if (gCurrentMove != MOVE_SNORE && gCurrentMove != MOVE_SLEEP_TALK) { @@ -1354,7 +1354,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else { - gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -1365,7 +1365,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 2: // check being frozen - if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_FREEZE) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE) { if (Random() % 5) { @@ -1382,7 +1382,7 @@ u8 AtkCanceller_UnableToUseMove(void) } else // unfreeze { - gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_FREEZE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -1392,9 +1392,9 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 3: // truant - if (gBattleMons[gBattleMoveAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBattleMoveAttacker].truantCounter) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBattlerAttacker].truantCounter) { - CancelMultiTurnMoves(gBattleMoveAttacker); + CancelMultiTurnMoves(gBattlerAttacker); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; @@ -1404,11 +1404,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 4: // recharge - if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_RECHARGE) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_RECHARGE) { - gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_RECHARGE); - gDisableStructs[gBattleMoveAttacker].rechargeCounter = 0; - CancelMultiTurnMoves(gBattleMoveAttacker); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RECHARGE); + gDisableStructs[gBattlerAttacker].rechargeCounter = 0; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedMustRecharge; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1416,11 +1416,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 5: // flinch - if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_FLINCHED) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FLINCHED) { - gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_FLINCHED); - gProtectStructs[gBattleMoveAttacker].flinchImmobility = 1; - CancelMultiTurnMoves(gBattleMoveAttacker); + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_FLINCHED); + gProtectStructs[gBattlerAttacker].flinchImmobility = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedFlinched; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1428,11 +1428,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 6: // disabled move - if (gDisableStructs[gBattleMoveAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattleMoveAttacker].disabledMove != 0) + if (gDisableStructs[gBattlerAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattlerAttacker].disabledMove != 0) { - gProtectStructs[gBattleMoveAttacker].usedDisabledMove = 1; - gBattleScripting.battler = gBattleMoveAttacker; - CancelMultiTurnMoves(gBattleMoveAttacker); + gProtectStructs[gBattlerAttacker].usedDisabledMove = 1; + gBattleScripting.battler = gBattlerAttacker; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsDisabled; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1440,10 +1440,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 7: // taunt - if (gDisableStructs[gBattleMoveAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) + if (gDisableStructs[gBattlerAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) { - gProtectStructs[gBattleMoveAttacker].usedTauntedMove = 1; - CancelMultiTurnMoves(gBattleMoveAttacker); + gProtectStructs[gBattlerAttacker].usedTauntedMove = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsTaunted; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1451,10 +1451,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 8: // imprisoned - if (GetImprisonedMovesCount(gBattleMoveAttacker, gCurrentMove)) + if (GetImprisonedMovesCount(gBattlerAttacker, gCurrentMove)) { - gProtectStructs[gBattleMoveAttacker].usedImprisionedMove = 1; - CancelMultiTurnMoves(gBattleMoveAttacker); + gProtectStructs[gBattlerAttacker].usedImprisionedMove = 1; + CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsImprisoned; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1462,10 +1462,10 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 9: // confusion - if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_CONFUSION) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_CONFUSION) { - gBattleMons[gBattleMoveAttacker].status2--; - if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_CONFUSION) + gBattleMons[gBattlerAttacker].status2--; + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_CONFUSION) { if (Random() & 1) { @@ -1475,9 +1475,9 @@ u8 AtkCanceller_UnableToUseMove(void) else // confusion dmg { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBattleMoveTarget = gBattleMoveAttacker; - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleMoveAttacker], &gBattleMons[gBattleMoveAttacker], MOVE_POUND, 0, 40, 0, gBattleMoveAttacker, gBattleMoveAttacker); - gProtectStructs[gBattleMoveAttacker].confusionSelfDmg = 1; + gBattlerTarget = gBattlerAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerAttacker], MOVE_POUND, 0, 40, 0, gBattlerAttacker, gBattlerAttacker); + gProtectStructs[gBattlerAttacker].confusionSelfDmg = 1; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; } gBattlescriptCurrInstr = BattleScript_MoveUsedIsConfused; @@ -1492,11 +1492,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 10: // paralysis - if ((gBattleMons[gBattleMoveAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) + if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) { - gProtectStructs[gBattleMoveAttacker].prlzImmobility = 1; + gProtectStructs[gBattlerAttacker].prlzImmobility = 1; // This is removed in Emerald for some reason - //CancelMultiTurnMoves(gBattleMoveAttacker); + //CancelMultiTurnMoves(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_MoveUsedIsParalyzed; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; @@ -1504,17 +1504,17 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 11: // infatuation - if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_INFATUATION) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) { - gBattleScripting.battler = CountTrailingZeroBits((gBattleMons[gBattleMoveAttacker].status2 & STATUS2_INFATUATION) >> 0x10); + gBattleScripting.battler = CountTrailingZeroBits((gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) >> 0x10); if (Random() & 1) BattleScriptPushCursor(); else { BattleScriptPush(BattleScript_MoveUsedIsParalyzedCantAttack); gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; - gProtectStructs[gBattleMoveAttacker].loveImmobility = 1; - CancelMultiTurnMoves(gBattleMoveAttacker); + gProtectStructs[gBattlerAttacker].loveImmobility = 1; + CancelMultiTurnMoves(gBattlerAttacker); } gBattlescriptCurrInstr = BattleScript_MoveUsedIsInLove; effect = 1; @@ -1522,22 +1522,22 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 12: // bide - if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_BIDE) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_BIDE) { - gBattleMons[gBattleMoveAttacker].status2 -= 0x100; - if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_BIDE) + gBattleMons[gBattlerAttacker].status2 -= 0x100; + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_BIDE) gBattlescriptCurrInstr = BattleScript_BideStoringEnergy; else { // This is removed in Emerald for some reason - //gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); - if (gTakenDmg[gBattleMoveAttacker]) + //gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_MULTIPLETURNS); + if (gTakenDmg[gBattlerAttacker]) { gCurrentMove = MOVE_BIDE; - *bideDmg = gTakenDmg[gBattleMoveAttacker] * 2; - gBattleMoveTarget = gTakenDmgBanks[gBattleMoveAttacker]; - if (gAbsentBattlerFlags & gBitTable[gBattleMoveTarget]) - gBattleMoveTarget = GetMoveTarget(MOVE_BIDE, 1); + *bideDmg = gTakenDmg[gBattlerAttacker] * 2; + gBattlerTarget = gTakenDmgBanks[gBattlerAttacker]; + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } else @@ -1548,11 +1548,11 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case 13: // move thawing - if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_FREEZE) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE) { if (gBattleMoves[gCurrentMove].effect == EFFECT_THAW_HIT) { - gBattleMons[gBattleMoveAttacker].status1 &= ~(STATUS1_FREEZE); + gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -1569,7 +1569,7 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { - gActiveBattler = gBattleMoveAttacker; + gActiveBattler = gBattlerAttacker; BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); } @@ -1750,19 +1750,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA u32 pidAtk; u32 pidDef; - if (gBattleMoveAttacker >= gBattlersCount) - gBattleMoveAttacker = battler; - if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER) - pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBattleMoveAttacker]]; + if (gBattlerAttacker >= gBattlersCount) + gBattlerAttacker = battler; + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]; else - pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBattleMoveAttacker]]; + pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker]]; - if (gBattleMoveTarget >= gBattlersCount) - gBattleMoveTarget = battler; - if (GetBattlerSide(gBattleMoveTarget) == B_SIDE_PLAYER) - pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBattleMoveTarget]]; + if (gBattlerTarget >= gBattlersCount) + gBattlerTarget = battler; + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) + pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]; else - pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBattleMoveTarget]]; + pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]; speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES); pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY); @@ -1793,8 +1793,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - if (gBattleMoveAttacker >= gBattlersCount) - gBattleMoveAttacker = battler; + if (gBattlerAttacker >= gBattlersCount) + gBattlerAttacker = battler; switch (gLastUsedAbility) { case ABILITYEFFECT_SWITCH_IN_WEATHER: @@ -1911,7 +1911,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITYEFFECT_ENDTURN: // 1 if (gBattleMons[battler].hp != 0) { - gBattleMoveAttacker = battler; + gBattlerAttacker = battler; switch (gLastUsedAbility) { case ABILITY_RAIN_DISH: @@ -1961,7 +1961,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } break; case ABILITY_TRUANT: - gDisableStructs[gBattleMoveAttacker].truantCounter ^= 1; + gDisableStructs[gBattlerAttacker].truantCounter ^= 1; break; } } @@ -1976,7 +1976,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } if (sSoundMovesTable[i] != 0xFFFF) { - if (gBattleMons[gBattleMoveAttacker].status2 & STATUS2_MULTIPLETURNS) + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; gBattlescriptCurrInstr = BattleScript_SoundproofProtected; effect = 1; @@ -1991,7 +1991,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITY_VOLT_ABSORB: if (moveType == TYPE_ELECTRIC && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBattleMoveAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -2002,7 +2002,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITY_WATER_ABSORB: if (moveType == TYPE_WATER && gBattleMoves[move].power != 0) { - if (gProtectStructs[gBattleMoveAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_MoveHPDrain; else gBattlescriptCurrInstr = BattleScript_MoveHPDrain_PPLoss; @@ -2016,7 +2016,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gBattleResources->flags->flags[battler] & UNKNOWN_FLAG_FLASH_FIRE)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (gProtectStructs[gBattleMoveAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; @@ -2027,7 +2027,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - if (gProtectStructs[gBattleMoveAttacker].notFirstStrike) + if (gProtectStructs[gBattlerAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; @@ -2041,7 +2041,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA { if (gBattleMons[battler].maxHP == gBattleMons[battler].hp) { - if ((gProtectStructs[gBattleMoveAttacker].notFirstStrike)) + if ((gProtectStructs[gBattlerAttacker].notFirstStrike)) gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless; else gBattlescriptCurrInstr = BattleScript_MonMadeMoveUseless_PPLoss; @@ -2063,7 +2063,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 - && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) && gBattleMons[battler].type1 != moveType && gBattleMons[battler].type2 != moveType && gBattleMons[battler].hp != 0) @@ -2078,12 +2078,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_ROUGH_SKIN: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleMoveAttacker].hp != 0 - && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) { - gBattleMoveDamage = gBattleMons[gBattleMoveAttacker].maxHP / 16; + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptPushCursor(); @@ -2093,9 +2093,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_EFFECT_SPORE: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleMoveAttacker].hp != 0 - && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 10) == 0) { @@ -2116,9 +2116,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_POISON_POINT: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleMoveAttacker].hp != 0 - && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2131,9 +2131,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_STATIC: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleMoveAttacker].hp != 0 - && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2146,10 +2146,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_FLAME_BODY: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleMoveAttacker].hp != 0 - && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_BURN; @@ -2161,19 +2161,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA break; case ABILITY_CUTE_CHARM: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gBattleMons[gBattleMoveAttacker].hp != 0 - && !gProtectStructs[gBattleMoveAttacker].confusionSelfDmg + && gBattleMons[gBattlerAttacker].hp != 0 + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) - && gBattleMons[gBattleMoveTarget].hp != 0 + && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && gBattleMons[gBattlerTarget].hp != 0 && (Random() % 3) == 0 - && gBattleMons[gBattleMoveAttacker].ability != ABILITY_OBLIVIOUS + && gBattleMons[gBattlerAttacker].ability != ABILITY_OBLIVIOUS && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) - && !(gBattleMons[gBattleMoveAttacker].status2 & STATUS2_INFATUATION) + && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) && GetGenderFromSpeciesAndPersonality(speciesAtk, pidAtk) != MON_GENDERLESS && GetGenderFromSpeciesAndPersonality(speciesDef, pidDef) != MON_GENDERLESS) { - gBattleMons[gBattleMoveAttacker].status2 |= STATUS2_INFATUATED_WITH(gBattleMoveTarget); + gBattleMons[gBattlerAttacker].status2 |= STATUS2_INFATUATED_WITH(gBattlerTarget); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_CuteCharmActivates; effect++; @@ -2288,7 +2288,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect + MOVE_EFFECT_AFFECTS_USER; - gBattleScripting.battler = gBattleMoveTarget; + gBattleScripting.battler = gBattlerTarget; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2304,7 +2304,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gBattleStruct->synchronizeMoveEffect = MOVE_EFFECT_POISON; gBattleCommunication[MOVE_EFFECT_BYTE] = gBattleStruct->synchronizeMoveEffect; - gBattleScripting.battler = gBattleMoveAttacker; + gBattleScripting.battler = gBattlerAttacker; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SynchronizeActivates; gHitMarker |= HITMARKER_IGNORE_SAFEGUARD; @@ -2512,7 +2512,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA void BattleScriptExecute(const u8 *BS_ptr) { gBattlescriptCurrInstr = BS_ptr; - BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size++] = gBattleMainFunc; + gBattleResources->battleCallbackStack->function[gBattleResources->battleCallbackStack->size++] = gBattleMainFunc; gBattleMainFunc = RunBattleScriptCommands_PopCallbacksStack; gCurrentActionFuncId = 0; } @@ -2521,7 +2521,7 @@ void BattleScriptPushCursorAndCallback(const u8 *BS_ptr) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BS_ptr; - BATTLE_CALLBACKS_STACK->function[BATTLE_CALLBACKS_STACK->size++] = gBattleMainFunc; + gBattleResources->battleCallbackStack->function[gBattleResources->battleCallbackStack->size++] = gBattleMainFunc; gBattleMainFunc = RunBattleScriptCommands; } @@ -2556,11 +2556,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) bankQuality = ItemId_GetHoldEffectParam(gLastUsedItem); } - atkItem = gBattleMons[gBattleMoveAttacker].item; + atkItem = gBattleMons[gBattlerAttacker].item; if (atkItem == ITEM_ENIGMA_BERRY) { - atkHoldEffect = gEnigmaBerries[gBattleMoveAttacker].holdEffect; - atkQuality = gEnigmaBerries[gBattleMoveAttacker].holdEffectParam; + atkHoldEffect = gEnigmaBerries[gBattlerAttacker].holdEffect; + atkQuality = gEnigmaBerries[gBattlerAttacker].holdEffectParam; } else { @@ -2569,11 +2569,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } // def variables are unused - defItem = gBattleMons[gBattleMoveTarget].item; + defItem = gBattleMons[gBattlerTarget].item; if (defItem == ITEM_ENIGMA_BERRY) { - defHoldEffect = gEnigmaBerries[gBattleMoveTarget].holdEffect; - defQuality = gEnigmaBerries[gBattleMoveTarget].holdEffectParam; + defHoldEffect = gEnigmaBerries[gBattlerTarget].holdEffect; + defQuality = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { @@ -2602,8 +2602,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleScripting.battler = bank; - gStringBank = bank; - gActiveBattler = gBattleMoveAttacker = bank; + gStringBattler = bank; + gActiveBattler = gBattlerAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -2673,8 +2673,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleScripting.battler = bank; - gStringBank = bank; - gActiveBattler = gBattleMoveAttacker = bank; + gStringBattler = bank; + gActiveBattler = gBattlerAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -3001,8 +3001,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleScripting.battler = bank; - gStringBank = bank; - gActiveBattler = gBattleMoveAttacker = bank; + gStringBattler = bank; + gActiveBattler = gBattlerAttacker = bank; switch (effect) { case ITEM_STATUS_CHANGE: @@ -3149,7 +3149,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleScripting.battler = bank; - gStringBank = bank; + gStringBattler = bank; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; return effect; // unnecessary return @@ -3159,7 +3159,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (effect) { gBattleScripting.battler = bank; - gStringBank = bank; + gStringBattler = bank; gActiveBattler = bank; BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); @@ -3174,10 +3174,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { case HOLD_EFFECT_FLINCH: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_physical || gSpecialStatuses[gBattleMoveTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) && (Random() % 100) < atkQuality && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED - && gBattleMons[gBattleMoveTarget].hp) + && gBattleMons[gBattlerTarget].hp) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); @@ -3187,19 +3187,19 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) break; case HOLD_EFFECT_SHELL_BELL: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gSpecialStatuses[gBattleMoveTarget].moveturnLostHP != 0 - && gSpecialStatuses[gBattleMoveTarget].moveturnLostHP != 0xFFFF - && gBattleMoveAttacker != gBattleMoveTarget - && gBattleMons[gBattleMoveAttacker].hp != gBattleMons[gBattleMoveAttacker].maxHP - && gBattleMons[gBattleMoveAttacker].hp != 0) + && gSpecialStatuses[gBattlerTarget].moveturnLostHP != 0 + && gSpecialStatuses[gBattlerTarget].moveturnLostHP != 0xFFFF + && gBattlerAttacker != gBattlerTarget + && gBattleMons[gBattlerAttacker].hp != gBattleMons[gBattlerAttacker].maxHP + && gBattleMons[gBattlerAttacker].hp != 0) { gLastUsedItem = atkItem; - gStringBank = gBattleMoveAttacker; - gBattleScripting.battler = gBattleMoveAttacker; - gBattleMoveDamage = (gSpecialStatuses[gBattleMoveTarget].moveturnLostHP / atkQuality) * -1; + gStringBattler = gBattlerAttacker; + gBattleScripting.battler = gBattlerAttacker; + gBattleMoveDamage = (gSpecialStatuses[gBattlerTarget].moveturnLostHP / atkQuality) * -1; if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; - gSpecialStatuses[gBattleMoveTarget].moveturnLostHP = 0; + gSpecialStatuses[gBattlerTarget].moveturnLostHP = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ItemHealHP_Ret; effect++; @@ -3240,18 +3240,18 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) switch (moveTarget) { case MOVE_TARGET_SELECTED: - side = GetBattlerSide(gBattleMoveAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else { - side = GetBattlerSide(gBattleMoveAttacker); + side = GetBattlerSide(gBattlerAttacker); do { targetBank = Random() % gBattlersCount; - } while (targetBank == gBattleMoveAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); + } while (targetBank == gBattlerAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC - && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattleMoveAttacker, ABILITY_LIGHTNING_ROD, 0, 0) + && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattlerAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) { targetBank ^= BIT_FLANK; @@ -3264,17 +3264,17 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattleMoveAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); if (gAbsentBattlerFlags & gBitTable[targetBank]) targetBank ^= BIT_FLANK; break; case MOVE_TARGET_RANDOM: - side = GetBattlerSide(gBattleMoveAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBattlerAttacker) ^ 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) { - if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) { if (Random() & 1) targetBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -3292,15 +3292,15 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) targetBank ^= BIT_FLANK; } else - targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattleMoveAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); break; case MOVE_TARGET_USER: case MOVE_TARGET_x10: - targetBank = gBattleMoveAttacker; + targetBank = gBattlerAttacker; break; } - *(gBattleStruct->moveTarget + gBattleMoveAttacker) = targetBank; + *(gBattleStruct->moveTarget + gBattlerAttacker) = targetBank; return targetBank; } @@ -3323,18 +3323,18 @@ u8 IsMonDisobedient(void) if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) return 0; - if (GetBattlerSide(gBattleMoveAttacker) == B_SIDE_OPPONENT) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT) return 0; - if (HasObedientBitSet(gBattleMoveAttacker)) // only if species is Mew or Deoxys + if (HasObedientBitSet(gBattlerAttacker)) // only if species is Mew or Deoxys { - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gBattleMoveAttacker) == 2) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gBattlerAttacker) == 2) return 0; if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) return 0; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) return 0; - if (!IsOtherTrainer(gBattleMons[gBattleMoveAttacker].otId, gBattleMons[gBattleMoveAttacker].otName)) + if (!IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName)) return 0; if (FlagGet(FLAG_BADGE08_GET)) return 0; @@ -3349,27 +3349,27 @@ u8 IsMonDisobedient(void) obedienceLevel = 70; } - if (gBattleMons[gBattleMoveAttacker].level <= obedienceLevel) + if (gBattleMons[gBattlerAttacker].level <= obedienceLevel) return 0; rnd = (Random() & 255); - calc = (gBattleMons[gBattleMoveAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattlerAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) return 0; // is not obedient if (gCurrentMove == MOVE_RAGE) - gBattleMons[gBattleMoveAttacker].status2 &= ~(STATUS2_RAGE); - if (gBattleMons[gBattleMoveAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) + gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RAGE); + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) { gBattlescriptCurrInstr = BattleScript_82DB695; return 1; } rnd = (Random() & 255); - calc = (gBattleMons[gBattleMoveAttacker].level + obedienceLevel) * rnd >> 8; + calc = (gBattleMons[gBattlerAttacker].level + obedienceLevel) * rnd >> 8; if (calc < obedienceLevel) { - calc = CheckMoveLimitations(gBattleMoveAttacker, gBitTable[gCurrMovePos], 0xFF); + calc = CheckMoveLimitations(gBattlerAttacker, gBitTable[gCurrMovePos], 0xFF); if (calc == 0xF) // all moves cannot be used { gBattleCommunication[MULTISTRING_CHOOSER] = Random() & 3; @@ -3383,19 +3383,19 @@ u8 IsMonDisobedient(void) gCurrMovePos = gUnknown_020241E9 = Random() & 3; } while (gBitTable[gCurrMovePos] & calc); - gRandomMove = gBattleMons[gBattleMoveAttacker].moves[gCurrMovePos]; + gRandomMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; - gBattleMoveTarget = GetMoveTarget(gRandomMove, 0); + gBattlerTarget = GetMoveTarget(gRandomMove, 0); gHitMarker |= HITMARKER_x200000; return 2; } } else { - obedienceLevel = gBattleMons[gBattleMoveAttacker].level - obedienceLevel; + obedienceLevel = gBattleMons[gBattlerAttacker].level - obedienceLevel; calc = (Random() & 255); - if (calc < obedienceLevel && !(gBattleMons[gBattleMoveAttacker].status1 & STATUS1_ANY) && gBattleMons[gBattleMoveAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBattleMoveAttacker].ability != ABILITY_INSOMNIA) + if (calc < obedienceLevel && !(gBattleMons[gBattlerAttacker].status1 & STATUS1_ANY) && gBattleMons[gBattlerAttacker].ability != ABILITY_VITAL_SPIRIT && gBattleMons[gBattlerAttacker].ability != ABILITY_INSOMNIA) { // try putting asleep int i; @@ -3413,8 +3413,8 @@ u8 IsMonDisobedient(void) calc -= obedienceLevel; if (calc < obedienceLevel) { - gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattleMoveAttacker], &gBattleMons[gBattleMoveAttacker], MOVE_POUND, 0, 40, 0, gBattleMoveAttacker, gBattleMoveAttacker); - gBattleMoveTarget = gBattleMoveAttacker; + gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerAttacker], MOVE_POUND, 0, 40, 0, gBattlerAttacker, gBattlerAttacker); + gBattlerTarget = gBattlerAttacker; gBattlescriptCurrInstr = BattleScript_82DB6F0; gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; return 2; -- cgit v1.2.3 From 5ac6cc48609f34f8d0d75093ecf6d9d056c0a92b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 7 Feb 2018 22:53:40 +0100 Subject: move battle vars to c file --- src/battle_util.c | 114 +++++++++++++++++++++++++++--------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index bbb4bf41d..145169f34 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -53,7 +53,7 @@ extern u8 gBank1; extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT]; extern u8 gMoveResultFlags; extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; -extern u8 gTakenDmgBanks[MAX_BATTLERS_COUNT]; +extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT]; extern u8 gLastUsedAbility; extern u8 gCurrentActionFuncId; extern u32 gBattleControllerExecFlags; @@ -547,7 +547,7 @@ u8 UpdateTurnCounters(void) { u8 sideBank; - switch (gBattleStruct->turncountersTracker) + switch (gBattleStruct->turnCountersTracker) { case 0: for (i = 0; i < gBattlersCount; i++) @@ -566,7 +566,7 @@ u8 UpdateTurnCounters(void) // It's stupid, but won't match without it { - u8* var = &gBattleStruct->turncountersTracker; + u8* var = &gBattleStruct->turnCountersTracker; (*var)++; gBattleStruct->turnSideTracker = 0; } @@ -575,7 +575,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].reflectBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].reflectBattlerId; if (gSideStatuses[sideBank] & SIDE_STATUS_REFLECT) { if (--gSideTimers[sideBank].reflectTimer == 0) @@ -592,7 +592,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; } break; @@ -600,7 +600,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].lightscreenBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].lightscreenBattlerId; if (gSideStatuses[sideBank] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[sideBank].lightscreenTimer == 0) @@ -618,7 +618,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; } break; @@ -626,7 +626,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].mistBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].mistBattlerId; if (gSideTimers[sideBank].mistTimer != 0 && --gSideTimers[sideBank].mistTimer == 0) { @@ -642,7 +642,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; } break; @@ -650,7 +650,7 @@ u8 UpdateTurnCounters(void) while (gBattleStruct->turnSideTracker < 2) { sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].safeguardBank; + gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].safeguardBattlerId; if (gSideStatuses[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) @@ -666,7 +666,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; gBattleStruct->turnSideTracker = 0; } break; @@ -688,7 +688,7 @@ u8 UpdateTurnCounters(void) } if (!effect) { - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; } break; case 6: @@ -719,7 +719,7 @@ u8 UpdateTurnCounters(void) BattleScriptExecute(BattleScript_RainContinuesOrEnds); effect++; } - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; break; case 7: if (gBattleWeather & WEATHER_SANDSTORM_ANY) @@ -739,7 +739,7 @@ u8 UpdateTurnCounters(void) BattleScriptExecute(gBattlescriptCurrInstr); effect++; } - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; break; case 8: if (gBattleWeather & WEATHER_SUN_ANY) @@ -757,7 +757,7 @@ u8 UpdateTurnCounters(void) BattleScriptExecute(gBattlescriptCurrInstr); effect++; } - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; break; case 9: if (gBattleWeather & WEATHER_HAIL) @@ -777,7 +777,7 @@ u8 UpdateTurnCounters(void) BattleScriptExecute(gBattlescriptCurrInstr); effect++; } - gBattleStruct->turncountersTracker++; + gBattleStruct->turnCountersTracker++; break; case 10: effect++; @@ -794,12 +794,12 @@ u8 TurnBasedEffects(void) u8 effect = 0; gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - while (gBattleStruct->turnEffectsBank < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) + while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBank]; + gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBattlerId]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { - gBattleStruct->turnEffectsBank++; + gBattleStruct->turnEffectsBattlerId++; } else { @@ -1099,7 +1099,7 @@ u8 TurnBasedEffects(void) break; case 19: // done gBattleStruct->turnEffectsTracker = 0; - gBattleStruct->turnEffectsBank++; + gBattleStruct->turnEffectsBattlerId++; break; } if (effect != 0) @@ -1117,16 +1117,16 @@ bool8 HandleWishPerishSongOnTurnEnd(void) switch (gBattleStruct->wishPerishSongState) { case 0: - while (gBattleStruct->wishPerishSongBank < gBattlersCount) + while (gBattleStruct->wishPerishSongBattlerId < gBattlersCount) { - gActiveBattler = gBattleStruct->wishPerishSongBank; + gActiveBattler = gBattleStruct->wishPerishSongBattlerId; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { - gBattleStruct->wishPerishSongBank++; + gBattleStruct->wishPerishSongBattlerId++; continue; } - gBattleStruct->wishPerishSongBank++; + gBattleStruct->wishPerishSongBattlerId++; if (gWishFutureKnock.futureSightCounter[gActiveBattler] != 0 && --gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp != 0) @@ -1141,7 +1141,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) gBattlerTarget = gActiveBattler; gBattlerAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBattler]; - gSpecialStatuses[gBattlerTarget].moveturnLostHP = 0xFFFF; + gSpecialStatuses[gBattlerTarget].dmg = 0xFFFF; BattleScriptExecute(BattleScript_MonTookFutureAttack); if (gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 @@ -1156,19 +1156,19 @@ bool8 HandleWishPerishSongOnTurnEnd(void) { u8 *state = &gBattleStruct->wishPerishSongState; *state = 1; - gBattleStruct->wishPerishSongBank = 0; + gBattleStruct->wishPerishSongBattlerId = 0; } // fall through case 1: - while (gBattleStruct->wishPerishSongBank < gBattlersCount) + while (gBattleStruct->wishPerishSongBattlerId < gBattlersCount) { - gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBank]; + gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBattlerId]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { - gBattleStruct->wishPerishSongBank++; + gBattleStruct->wishPerishSongBattlerId++; continue; } - gBattleStruct->wishPerishSongBank++; + gBattleStruct->wishPerishSongBattlerId++; if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG) { PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBattler].perishSongTimer1); @@ -1191,7 +1191,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) { u8 *state = &gBattleStruct->wishPerishSongState; *state = 2; - gBattleStruct->wishPerishSongBank = 0; + gBattleStruct->wishPerishSongBattlerId = 0; } // fall through case 2: @@ -1229,7 +1229,7 @@ bool8 HandleFaintedMonActions(void) switch (gBattleStruct->faintedActionsState) { case 0: - gBattleStruct->faintedActionsBank = 0; + gBattleStruct->faintedActionsBattlerId = 0; gBattleStruct->faintedActionsState++; for (i = 0; i < gBattlersCount; i++) { @@ -1240,45 +1240,45 @@ bool8 HandleFaintedMonActions(void) case 1: do { - gBank1 = gBattlerTarget = gBattleStruct->faintedActionsBank; - if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 - && !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBank]]) - && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBank])) + gBank1 = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; + if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0 + && !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]]) + && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId])) { BattleScriptExecute(BattleScript_GiveExp); gBattleStruct->faintedActionsState = 2; return TRUE; } - } while (++gBattleStruct->faintedActionsBank != gBattlersCount); + } while (++gBattleStruct->faintedActionsBattlerId != gBattlersCount); gBattleStruct->faintedActionsState = 3; break; case 2: sub_803F9EC(gBank1); - if (++gBattleStruct->faintedActionsBank == gBattlersCount) + if (++gBattleStruct->faintedActionsBattlerId == gBattlersCount) gBattleStruct->faintedActionsState = 3; else gBattleStruct->faintedActionsState = 1; break; case 3: - gBattleStruct->faintedActionsBank = 0; + gBattleStruct->faintedActionsBattlerId = 0; gBattleStruct->faintedActionsState++; // fall through case 4: do { - gBank1 = gBattlerTarget = gBattleStruct->faintedActionsBank; - if (gBattleMons[gBattleStruct->faintedActionsBank].hp == 0 - && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBank])) + gBank1 = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; + if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0 + && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId])) { BattleScriptExecute(BattleScript_HandleFaintedMon); gBattleStruct->faintedActionsState = 5; return TRUE; } - } while (++gBattleStruct->faintedActionsBank != gBattlersCount); + } while (++gBattleStruct->faintedActionsBattlerId != gBattlersCount); gBattleStruct->faintedActionsState = 6; break; case 5: - if (++gBattleStruct->faintedActionsBank == gBattlersCount) + if (++gBattleStruct->faintedActionsBattlerId == gBattlersCount) gBattleStruct->faintedActionsState = 6; else gBattleStruct->faintedActionsState = 4; @@ -1535,7 +1535,7 @@ u8 AtkCanceller_UnableToUseMove(void) { gCurrentMove = MOVE_BIDE; *bideDmg = gTakenDmg[gBattlerAttacker] * 2; - gBattlerTarget = gTakenDmgBanks[gBattlerAttacker]; + gBattlerTarget = gTakenDmgByBattler[gBattlerAttacker]; if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; @@ -2063,7 +2063,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 - && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && gBattleMons[battler].type1 != moveType && gBattleMons[battler].type2 != moveType && gBattleMons[battler].hp != 0) @@ -2080,7 +2080,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBattlerAttacker].hp != 0 && !gProtectStructs[gBattlerAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) { gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 16; @@ -2095,7 +2095,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBattlerAttacker].hp != 0 && !gProtectStructs[gBattlerAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 10) == 0) { @@ -2118,7 +2118,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBattlerAttacker].hp != 0 && !gProtectStructs[gBattlerAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2133,7 +2133,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBattlerAttacker].hp != 0 && !gProtectStructs[gBattlerAttacker].confusionSelfDmg - && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) && (Random() % 3) == 0) { @@ -2149,7 +2149,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA && gBattleMons[gBattlerAttacker].hp != 0 && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_BURN; @@ -2164,7 +2164,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA && gBattleMons[gBattlerAttacker].hp != 0 && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) - && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && gBattleMons[gBattlerTarget].hp != 0 && (Random() % 3) == 0 && gBattleMons[gBattlerAttacker].ability != ABILITY_OBLIVIOUS @@ -3174,7 +3174,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { case HOLD_EFFECT_FLINCH: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && (gSpecialStatuses[gBattlerTarget].moveturnLostHP_physical || gSpecialStatuses[gBattlerTarget].moveturnLostHP_special) + && (gSpecialStatuses[gBattlerTarget].physicalDmg || gSpecialStatuses[gBattlerTarget].specialDmg) && (Random() % 100) < atkQuality && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED && gBattleMons[gBattlerTarget].hp) @@ -3187,8 +3187,8 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) break; case HOLD_EFFECT_SHELL_BELL: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && gSpecialStatuses[gBattlerTarget].moveturnLostHP != 0 - && gSpecialStatuses[gBattlerTarget].moveturnLostHP != 0xFFFF + && gSpecialStatuses[gBattlerTarget].dmg != 0 + && gSpecialStatuses[gBattlerTarget].dmg != 0xFFFF && gBattlerAttacker != gBattlerTarget && gBattleMons[gBattlerAttacker].hp != gBattleMons[gBattlerAttacker].maxHP && gBattleMons[gBattlerAttacker].hp != 0) @@ -3196,10 +3196,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gLastUsedItem = atkItem; gStringBattler = gBattlerAttacker; gBattleScripting.battler = gBattlerAttacker; - gBattleMoveDamage = (gSpecialStatuses[gBattlerTarget].moveturnLostHP / atkQuality) * -1; + gBattleMoveDamage = (gSpecialStatuses[gBattlerTarget].dmg / atkQuality) * -1; if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; - gSpecialStatuses[gBattlerTarget].moveturnLostHP = 0; + gSpecialStatuses[gBattlerTarget].dmg = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ItemHealHP_Ret; effect++; -- cgit v1.2.3 From caf9af321d913e6938f5c70188ad0aca5e5eefeb Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 8 Feb 2018 00:00:25 +0100 Subject: get rid of unnecessary externs --- src/battle_util.c | 39 --------------------------------------- 1 file changed, 39 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 145169f34..861ef0f58 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -23,45 +23,6 @@ #include "link.h" #include "berry.h" -extern const u8* gBattlescriptCurrInstr; -extern const u8* gSelectionBattleScripts[MAX_BATTLERS_COUNT]; -extern const u8* gPalaceSelectionBattleScripts[MAX_BATTLERS_COUNT]; -extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; -extern u8 gActiveBattler; -extern u8 gStringBattler; -extern u16 gCurrentMove; -extern u16 gLastUsedItem; -extern u8 gBattlersCount; -extern u32 gStatuses3[MAX_BATTLERS_COUNT]; -extern u8 gBattlerAttacker; -extern u8 gBattlerTarget; -extern u8 gAbsentBattlerFlags; -extern u16 gBattleWeather; -extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT]; -extern u16 gSideStatuses[2]; -extern u8 gBattleCommunication[]; -extern void (*gBattleMainFunc)(void); -extern s32 gBattleMoveDamage; -extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT]; -extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200]; -extern u32 gBattleTypeFlags; -extern u16 gLastMoves[MAX_BATTLERS_COUNT]; -extern u32 gHitMarker; -extern u8 gEffectBank; -extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; -extern u8 gBank1; -extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT]; -extern u8 gMoveResultFlags; -extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; -extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT]; -extern u8 gLastUsedAbility; -extern u8 gCurrentActionFuncId; -extern u32 gBattleControllerExecFlags; -extern u16 gRandomMove; -extern u8 gCurrMovePos; -extern u8 gUnknown_020241E9; -extern u8 gSentPokesToOpponent[2]; - extern const struct BattleMove gBattleMoves[]; extern u8 weather_get_current(void); -- cgit v1.2.3 From a10fd5a7c4d92551c579baacf07c499b6f434619 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 8 Feb 2018 00:35:13 +0100 Subject: create more battle constants --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 861ef0f58..06d80d7ca 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -15,7 +15,7 @@ #include "text.h" #include "string_util.h" #include "battle_message.h" -#include "battle_string_ids.h" +#include "constants/battle_string_ids.h" #include "battle_ai_script_commands.h" #include "battle_controllers.h" #include "event_data.h" -- cgit v1.2.3 From 96290f4ee3864afdd9946541706102ecf6c1c009 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 8 Feb 2018 11:17:41 +0100 Subject: pokemon and battle constants --- src/battle_util.c | 363 +++++++++++++++++++++++++++--------------------------- 1 file changed, 182 insertions(+), 181 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 06d80d7ca..70d1ffab2 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1,5 +1,6 @@ #include "global.h" #include "battle.h" +#include "constants/battle_script_commands.h" #include "constants/abilities.h" #include "constants/moves.h" #include "constants/hold_effects.h" @@ -34,46 +35,46 @@ static const u16 sSoundMovesTable[] = MOVE_UPROAR, MOVE_METAL_SOUND, MOVE_GRASS_WHISTLE, MOVE_HYPER_VOICE, 0xFFFF }; -u8 GetBattleBank(u8 caseId) +u8 GetBattlerForBattleScript(u8 caseId) { u8 ret = 0; switch (caseId) { - case BS_GET_TARGET: + case BS_TARGET: ret = gBattlerTarget; break; - case BS_GET_ATTACKER: + case BS_ATTACKER: ret = gBattlerAttacker; break; - case BS_GET_EFFECT_BANK: - ret = gEffectBank; + case BS_EFFECT_BATTLER: + ret = gEffectBattler; break; - case BS_GET_BANK_0: + case BS_BANK_0: ret = 0; break; - case BS_GET_SCRIPTING_BANK: + case BS_SCRIPTING: ret = gBattleScripting.battler; break; - case BS_GET_gBank1: - ret = gBank1; + case BS_FAINTED: + ret = gBattlerFainted; break; case 5: - ret = gBank1; + ret = gBattlerFainted; break; case 4: case 6: case 8: case 9: - case BS_GET_PLAYER1: + case BS_PLAYER1: ret = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); break; - case BS_GET_OPPONENT1: + case BS_OPPONENT1: ret = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); break; - case BS_GET_PLAYER2: + case BS_PLAYER2: ret = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); break; - case BS_GET_OPPONENT2: + case BS_OPPONENT2: ret = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); break; } @@ -415,36 +416,36 @@ u8 TrySetCantSelectMoveBattleScript(void) return limitations; } -u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) +u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) { u8 holdEffect; - u16 *choicedMove = &gBattleStruct->choicedMove[bank]; + u16 *choicedMove = &gBattleStruct->choicedMove[battlerId]; s32 i; - if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[bank].holdEffect; + if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[battlerId].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[bank].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[battlerId].item); - gStringBattler = bank; + gStringBattler = battlerId; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (gBattleMons[bank].moves[i] == 0 && check & MOVE_LIMITATION_ZEROMOVE) + if (gBattleMons[battlerId].moves[i] == 0 && check & MOVE_LIMITATION_ZEROMOVE) unusableMoves |= gBitTable[i]; - if (gBattleMons[bank].pp[i] == 0 && check & MOVE_LIMITATION_PP) + if (gBattleMons[battlerId].pp[i] == 0 && check & MOVE_LIMITATION_PP) unusableMoves |= gBitTable[i]; - if (gBattleMons[bank].moves[i] == gDisableStructs[bank].disabledMove && check & MOVE_LIMITATION_DISABLED) + if (gBattleMons[battlerId].moves[i] == gDisableStructs[battlerId].disabledMove && check & MOVE_LIMITATION_DISABLED) unusableMoves |= gBitTable[i]; - if (gBattleMons[bank].moves[i] == gLastMoves[bank] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[bank].status2 & STATUS2_TORMENT) + if (gBattleMons[battlerId].moves[i] == gLastMoves[battlerId] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battlerId].status2 & STATUS2_TORMENT) unusableMoves |= gBitTable[i]; - if (gDisableStructs[bank].tauntTimer1 && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[bank].moves[i]].power == 0) + if (gDisableStructs[battlerId].tauntTimer1 && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battlerId].moves[i]].power == 0) unusableMoves |= gBitTable[i]; - if (GetImprisonedMovesCount(bank, gBattleMons[bank].moves[i]) && check & MOVE_LIMITATION_IMPRISION) + if (GetImprisonedMovesCount(battlerId, gBattleMons[battlerId].moves[i]) && check & MOVE_LIMITATION_IMPRISION) unusableMoves |= gBitTable[i]; - if (gDisableStructs[bank].encoreTimer1 && gDisableStructs[bank].encoredMove != gBattleMons[bank].moves[i]) + if (gDisableStructs[battlerId].encoreTimer1 && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i]) unusableMoves |= gBitTable[i]; - if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != gBattleMons[bank].moves[i]) + if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != gBattleMons[battlerId].moves[i]) unusableMoves |= gBitTable[i]; } return unusableMoves; @@ -468,11 +469,11 @@ bool8 AreAllMovesUnusable(void) return (unusable == 0xF); } -u8 GetImprisonedMovesCount(u8 bank, u16 move) +u8 GetImprisonedMovesCount(u8 battlerId, u16 move) { s32 i; u8 imprisionedMoves = 0; - u8 bankSide = GetBattlerSide(bank); + u8 bankSide = GetBattlerSide(battlerId); for (i = 0; i < gBattlersCount; i++) { @@ -800,7 +801,7 @@ u8 TurnBasedEffects(void) && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBattler].hp != 0) { - gBattlerTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP + gBattlerTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the battlerId that receives HP gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -1051,7 +1052,7 @@ u8 TurnBasedEffects(void) gBattleMons[gActiveBattler].status1 |= (Random() & 3) + 2; BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); - gEffectBank = gActiveBattler; + gEffectBattler = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); effect++; } @@ -1201,7 +1202,7 @@ bool8 HandleFaintedMonActions(void) case 1: do { - gBank1 = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; + gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0 && !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId])) @@ -1214,7 +1215,7 @@ bool8 HandleFaintedMonActions(void) gBattleStruct->faintedActionsState = 3; break; case 2: - sub_803F9EC(gBank1); + sub_803F9EC(gBattlerFainted); if (++gBattleStruct->faintedActionsBattlerId == gBattlersCount) gBattleStruct->faintedActionsState = 3; else @@ -1227,7 +1228,7 @@ bool8 HandleFaintedMonActions(void) case 4: do { - gBank1 = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; + gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId; if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0 && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId])) { @@ -2496,7 +2497,7 @@ enum ITEM_STATS_CHANGE, // 5 }; -u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) +u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { int i = 0; u8 effect = ITEM_NO_EFFECT; @@ -2505,11 +2506,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) u8 bankQuality, atkQuality, defQuality; u16 atkItem, defItem; - gLastUsedItem = gBattleMons[bank].item; + gLastUsedItem = gBattleMons[battlerId].item; if (gLastUsedItem == ITEM_ENIGMA_BERRY) { - bankHoldEffect = gEnigmaBerries[bank].holdEffect; - bankQuality = gEnigmaBerries[bank].holdEffectParam; + bankHoldEffect = gEnigmaBerries[battlerId].holdEffect; + bankQuality = gEnigmaBerries[battlerId].holdEffectParam; } else { @@ -2548,39 +2549,39 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (bankHoldEffect) { case HOLD_EFFECT_DOUBLE_PRIZE: - if (GetBattlerSide(bank) == B_SIDE_PLAYER) + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) gBattleStruct->moneyMultiplier = 2; break; case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < BATTLE_STATS_NO; i++) { - if (gBattleMons[bank].statStages[i] < 6) + if (gBattleMons[battlerId].statStages[i] < 6) { - gBattleMons[bank].statStages[i] = 6; + gBattleMons[battlerId].statStages[i] = 6; effect = ITEM_STATS_CHANGE; } } if (effect) { - gBattleScripting.battler = bank; - gStringBattler = bank; - gActiveBattler = gBattlerAttacker = bank; + gBattleScripting.battler = battlerId; + gStringBattler = battlerId; + gActiveBattler = gBattlerAttacker = battlerId; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; } break; case 1: - if (gBattleMons[bank].hp) + if (gBattleMons[battlerId].hp) { switch (bankHoldEffect) { case HOLD_EFFECT_RESTORE_HP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { gBattleMoveDamage = bankQuality; - if (gBattleMons[bank].hp + bankQuality > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + bankQuality > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); effect = 4; @@ -2593,10 +2594,10 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) u8 ppBonuses; u16 move; - if (GetBattlerSide(bank) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlerPartyIndexes[bank]]; + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; else - mon = &gEnemyParty[gBattlerPartyIndexes[bank]]; + mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; for (i = 0; i < 4; i++) { move = GetMonData(mon, MON_DATA_MOVE1 + i); @@ -2625,47 +2626,47 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < BATTLE_STATS_NO; i++) { - if (gBattleMons[bank].statStages[i] < 6) + if (gBattleMons[battlerId].statStages[i] < 6) { - gBattleMons[bank].statStages[i] = 6; + gBattleMons[battlerId].statStages[i] = 6; effect = ITEM_STATS_CHANGE; } } if (effect) { - gBattleScripting.battler = bank; - gStringBattler = bank; - gActiveBattler = gBattlerAttacker = bank; + gBattleScripting.battler = battlerId; + gStringBattler = battlerId; + gActiveBattler = gBattlerAttacker = battlerId; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; case HOLD_EFFECT_LEFTOVERS: - if (gBattleMons[bank].hp < gBattleMons[bank].maxHP && !moveTurn) + if (gBattleMons[battlerId].hp < gBattleMons[battlerId].maxHP && !moveTurn) { - gBattleMoveDamage = gBattleMons[bank].maxHP / 16; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_End2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(bank, bankHoldEffect); + RecordItemEffectBattle(battlerId, bankHoldEffect); } break; // nice copy/paste there gamefreak, making a function for confuse berries was too much eh? case HOLD_EFFECT_CONFUSE_SPICY: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SPICY); - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SPICY) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_SPICY) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2673,17 +2674,17 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CONFUSE_DRY: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_DRY); - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_DRY) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_DRY) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2691,17 +2692,17 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CONFUSE_SWEET: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SWEET); - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SWEET) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_SWEET) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2709,17 +2710,17 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CONFUSE_BITTER: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_BITTER); - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_BITTER) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_BITTER) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2727,17 +2728,17 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CONFUSE_SOUR: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / 2 && !moveTurn) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SOUR); - gBattleMoveDamage = gBattleMons[bank].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (gBattleMons[bank].hp + gBattleMoveDamage > gBattleMons[bank].maxHP) - gBattleMoveDamage = gBattleMons[bank].maxHP - gBattleMons[bank].hp; + if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; - if (GetFlavorRelationByPersonality(gBattleMons[bank].personality, FLAVOR_SOUR) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, FLAVOR_SOUR) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2746,12 +2747,12 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) break; // copy/paste again, smh case HOLD_EFFECT_ATTACK_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_ATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_ATK] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_ATK); PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); - gEffectBank = bank; + gEffectBattler = battlerId; SET_STATCHANGER(STAT_STAGE_ATK, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_ATK; gBattleScripting.animArg2 = 0; @@ -2760,11 +2761,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_DEFENSE_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_DEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_DEF] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_DEF); - gEffectBank = bank; + gEffectBattler = battlerId; SET_STATCHANGER(STAT_STAGE_DEF, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_DEF; gBattleScripting.animArg2 = 0; @@ -2773,11 +2774,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_SPEED_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPEED] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_SPEED] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPEED); - gEffectBank = bank; + gEffectBattler = battlerId; SET_STATCHANGER(STAT_STAGE_SPEED, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPEED; gBattleScripting.animArg2 = 0; @@ -2786,11 +2787,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_SP_ATTACK_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_SPATK] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPATK); - gEffectBank = bank; + gEffectBattler = battlerId; SET_STATCHANGER(STAT_STAGE_SPATK, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPATK; gBattleScripting.animArg2 = 0; @@ -2799,11 +2800,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_SP_DEFENSE_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && gBattleMons[bank].statStages[STAT_STAGE_SPDEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_SPDEF] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPDEF); - gEffectBank = bank; + gEffectBattler = battlerId; SET_STATCHANGER(STAT_STAGE_SPDEF, 1, FALSE); gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPDEF; gBattleScripting.animArg2 = 0; @@ -2812,19 +2813,19 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CRITICAL_UP: - if (gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality && !moveTurn && !(gBattleMons[bank].status2 & STATUS2_FOCUS_ENERGY)) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY)) { - gBattleMons[bank].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_RANDOM_STAT_UP: - if (!moveTurn && gBattleMons[bank].hp <= gBattleMons[bank].maxHP / bankQuality) + if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality) { for (i = 0; i < 5; i++) { - if (gBattleMons[bank].statStages[STAT_STAGE_ATK + i] < 0xC) + if (gBattleMons[battlerId].statStages[STAT_STAGE_ATK + i] < 0xC) break; } if (i != 5) @@ -2832,7 +2833,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) do { i = Random() % 5; - } while (gBattleMons[bank].statStages[STAT_STAGE_ATK + i] == 0xC); + } while (gBattleMons[battlerId].statStages[STAT_STAGE_ATK + i] == 0xC); PREPARE_STAT_BUFFER(gBattleTextBuff1, i + 1); @@ -2845,7 +2846,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff2[6] = STRINGID_STATROSE >> 8; gBattleTextBuff2[7] = EOS; - gEffectBank = bank; + gEffectBattler = battlerId; SET_STATCHANGER(i + 1, 2, FALSE); gBattleScripting.animArg1 = 0x21 + i + 6; gBattleScripting.animArg2 = 0; @@ -2855,85 +2856,85 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) { - gBattleMons[bank].status1 &= ~(STATUS1_PARALYSIS); + gBattleMons[battlerId].status1 &= ~(STATUS1_PARALYSIS); BattleScriptExecute(BattleScript_BerryCurePrlzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[bank].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) { - gBattleMons[bank].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptExecute(BattleScript_BerryCurePsnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[bank].status1 & STATUS1_BURN) + if (gBattleMons[battlerId].status1 & STATUS1_BURN) { - gBattleMons[bank].status1 &= ~(STATUS1_BURN); + gBattleMons[battlerId].status1 &= ~(STATUS1_BURN); BattleScriptExecute(BattleScript_BerryCureBrnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[bank].status1 & STATUS1_FREEZE) + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) { - gBattleMons[bank].status1 &= ~(STATUS1_FREEZE); + gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE); BattleScriptExecute(BattleScript_BerryCureFrzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[bank].status1 & STATUS1_SLEEP) + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status1 &= ~(STATUS1_SLEEP); - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptExecute(BattleScript_BerryCureSlpEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION); BattleScriptExecute(BattleScript_BerryCureConfusionEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[bank].status1 & STATUS1_ANY || gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { i = 0; - if (gBattleMons[bank].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); i++; } - if (gBattleMons[bank].status1 & STATUS1_SLEEP) + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); i++; } - if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); i++; } - if (gBattleMons[bank].status1 & STATUS1_BURN) + if (gBattleMons[battlerId].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); i++; } - if (gBattleMons[bank].status1 & STATUS1_FREEZE) + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); i++; } - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); i++; @@ -2942,16 +2943,16 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; - gBattleMons[bank].status1 = 0; - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battlerId].status1 = 0; + gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION); BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_ATTRACT: - if (gBattleMons[bank].status2 & STATUS2_INFATUATION) + if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) { - gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); + gBattleMons[battlerId].status2 &= ~(STATUS2_INFATUATION); StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -2961,18 +2962,18 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.battler = bank; - gStringBattler = bank; - gActiveBattler = gBattlerAttacker = bank; + gBattleScripting.battler = battlerId; + gStringBattler = battlerId; + gActiveBattler = gBattlerAttacker = battlerId; switch (effect) { case ITEM_STATUS_CHANGE: - BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); MarkBattlerForControllerExec(gActiveBattler); break; case ITEM_PP_CHANGE: - if (!(gBattleMons[bank].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bank].unk18_b & gBitTable[i])) - gBattleMons[bank].pp[i] = changedPP; + if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[battlerId].unk18_b & gBitTable[i])) + gBattleMons[battlerId].pp[i] = changedPP; break; } } @@ -2981,13 +2982,13 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case 2: break; case 3: - for (bank = 0; bank < gBattlersCount; bank++) + for (battlerId = 0; battlerId < gBattlersCount; battlerId++) { - gLastUsedItem = gBattleMons[bank].item; - if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) + gLastUsedItem = gBattleMons[battlerId].item; + if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) { - bankHoldEffect = gEnigmaBerries[bank].holdEffect; - bankQuality = gEnigmaBerries[bank].holdEffectParam; + bankHoldEffect = gEnigmaBerries[battlerId].holdEffect; + bankQuality = gEnigmaBerries[battlerId].holdEffectParam; } else { @@ -2997,64 +2998,64 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (bankHoldEffect) { case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) { - gBattleMons[bank].status1 &= ~(STATUS1_PARALYSIS); + gBattleMons[battlerId].status1 &= ~(STATUS1_PARALYSIS); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureParRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[bank].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) { - gBattleMons[bank].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[bank].status1 & STATUS1_BURN) + if (gBattleMons[battlerId].status1 & STATUS1_BURN) { - gBattleMons[bank].status1 &= ~(STATUS1_BURN); + gBattleMons[battlerId].status1 &= ~(STATUS1_BURN); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[bank].status1 & STATUS1_FREEZE) + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) { - gBattleMons[bank].status1 &= ~(STATUS1_FREEZE); + gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[bank].status1 & STATUS1_SLEEP) + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status1 &= ~(STATUS1_SLEEP); - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_ATTRACT: - if (gBattleMons[bank].status2 & STATUS2_INFATUATION) + if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) { - gBattleMons[bank].status2 &= ~(STATUS2_INFATUATION); + gBattleMons[battlerId].status2 &= ~(STATUS2_INFATUATION); StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -3063,35 +3064,35 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_CURE_STATUS: - if (gBattleMons[bank].status1 & STATUS1_ANY || gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { - if (gBattleMons[bank].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); } - if (gBattleMons[bank].status1 & STATUS1_SLEEP) + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) { - gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); } - if (gBattleMons[bank].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); } - if (gBattleMons[bank].status1 & STATUS1_BURN) + if (gBattleMons[battlerId].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); } - if (gBattleMons[bank].status1 & STATUS1_FREEZE) + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); } - if (gBattleMons[bank].status2 & STATUS2_CONFUSION) + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); } - gBattleMons[bank].status1 = 0; - gBattleMons[bank].status2 &= ~(STATUS2_CONFUSION); + gBattleMons[battlerId].status1 = 0; + gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; @@ -3101,16 +3102,16 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < BATTLE_STATS_NO; i++) { - if (gBattleMons[bank].statStages[i] < 6) + if (gBattleMons[battlerId].statStages[i] < 6) { - gBattleMons[bank].statStages[i] = 6; + gBattleMons[battlerId].statStages[i] = 6; effect = ITEM_STATS_CHANGE; } } if (effect) { - gBattleScripting.battler = bank; - gStringBattler = bank; + gBattleScripting.battler = battlerId; + gStringBattler = battlerId; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; return effect; // unnecessary return @@ -3119,9 +3120,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } if (effect) { - gBattleScripting.battler = bank; - gStringBattler = bank; - gActiveBattler = bank; + gBattleScripting.battler = battlerId; + gStringBattler = battlerId; + gActiveBattler = battlerId; BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); break; @@ -3174,11 +3175,11 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) return effect; } -void ClearFuryCutterDestinyBondGrudge(u8 bank) +void ClearFuryCutterDestinyBondGrudge(u8 battlerId) { - gDisableStructs[bank].furyCutterCounter = 0; - gBattleMons[bank].status2 &= ~(STATUS2_DESTINY_BOND); - gStatuses3[bank] &= ~(STATUS3_GRUDGE); + gDisableStructs[battlerId].furyCutterCounter = 0; + gBattleMons[battlerId].status2 &= ~(STATUS2_DESTINY_BOND); + gStatuses3[battlerId] &= ~(STATUS3_GRUDGE); } void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands @@ -3266,14 +3267,14 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) return targetBank; } -static bool32 HasObedientBitSet(u8 bank) +static bool32 HasObedientBitSet(u8 battlerId) { - if (GetBattlerSide(bank) == B_SIDE_OPPONENT) + if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) return TRUE; - if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS - && GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS + && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) return TRUE; - return GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_OBEDIENCE, NULL); + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_OBEDIENCE, NULL); } u8 IsMonDisobedient(void) @@ -3341,7 +3342,7 @@ u8 IsMonDisobedient(void) { do { - gCurrMovePos = gUnknown_020241E9 = Random() & 3; + gCurrMovePos = gChosenMovePos = Random() & 3; } while (gBitTable[gCurrMovePos] & calc); gRandomMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; -- cgit v1.2.3 From 9df5e16343a7540a18607d13e098cf8ff8e252e3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 8 Feb 2018 12:13:29 +0100 Subject: more battle labels --- src/battle_util.c | 64 +++++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'src/battle_util.c') diff --git a/src/battle_util.c b/src/battle_util.c index 70d1ffab2..ddd61ae19 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -383,7 +383,7 @@ u8 TrySetCantSelectMoveBattleScript(void) else holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); - gStringBattler = gActiveBattler; + gPotentialItemEffectBattler = gActiveBattler; if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != move) { @@ -427,7 +427,7 @@ u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) else holdEffect = ItemId_GetHoldEffect(gBattleMons[battlerId].item); - gStringBattler = battlerId; + gPotentialItemEffectBattler = battlerId; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { @@ -1912,9 +1912,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } break; case ABILITY_SPEED_BOOST: - if (gBattleMons[battler].statStages[STAT_STAGE_SPEED] < 0xC && gDisableStructs[battler].isFirstTurn != 2) + if (gBattleMons[battler].statStages[STAT_SPEED] < 0xC && gDisableStructs[battler].isFirstTurn != 2) { - gBattleMons[battler].statStages[STAT_STAGE_SPEED]++; + gBattleMons[battler].statStages[STAT_SPEED]++; gBattleScripting.animArg1 = 0x11; gBattleScripting.animArg2 = 0; BattleScriptPushCursorAndCallback(BattleScript_SpeedBoostActivates); @@ -2564,7 +2564,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (effect) { gBattleScripting.battler = battlerId; - gStringBattler = battlerId; + gPotentialItemEffectBattler = battlerId; gActiveBattler = gBattlerAttacker = battlerId; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } @@ -2635,7 +2635,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (effect) { gBattleScripting.battler = battlerId; - gStringBattler = battlerId; + gPotentialItemEffectBattler = battlerId; gActiveBattler = gBattlerAttacker = battlerId; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } @@ -2747,66 +2747,66 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) break; // copy/paste again, smh case HOLD_EFFECT_ATTACK_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_ATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < 0xC) { - PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_ATK); + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK); PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); gEffectBattler = battlerId; - SET_STATCHANGER(STAT_STAGE_ATK, 1, FALSE); - gBattleScripting.animArg1 = 0xE + STAT_STAGE_ATK; + SET_STATCHANGER(STAT_ATK, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_ATK; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_DEFENSE_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_DEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_DEF] < 0xC) { - PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_DEF); + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_DEF); gEffectBattler = battlerId; - SET_STATCHANGER(STAT_STAGE_DEF, 1, FALSE); - gBattleScripting.animArg1 = 0xE + STAT_STAGE_DEF; + SET_STATCHANGER(STAT_DEF, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_DEF; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_SPEED_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_SPEED] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPEED] < 0xC) { - PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPEED); + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPEED); gEffectBattler = battlerId; - SET_STATCHANGER(STAT_STAGE_SPEED, 1, FALSE); - gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPEED; + SET_STATCHANGER(STAT_SPEED, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_SPEED; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_SP_ATTACK_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_SPATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPATK] < 0xC) { - PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPATK); + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPATK); gEffectBattler = battlerId; - SET_STATCHANGER(STAT_STAGE_SPATK, 1, FALSE); - gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPATK; + SET_STATCHANGER(STAT_SPATK, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_SPATK; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_SP_DEFENSE_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_STAGE_SPDEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPDEF] < 0xC) { - PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_STAGE_SPDEF); + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPDEF); gEffectBattler = battlerId; - SET_STATCHANGER(STAT_STAGE_SPDEF, 1, FALSE); - gBattleScripting.animArg1 = 0xE + STAT_STAGE_SPDEF; + SET_STATCHANGER(STAT_SPDEF, 1, FALSE); + gBattleScripting.animArg1 = 0xE + STAT_SPDEF; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; @@ -2825,7 +2825,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { for (i = 0; i < 5; i++) { - if (gBattleMons[battlerId].statStages[STAT_STAGE_ATK + i] < 0xC) + if (gBattleMons[battlerId].statStages[STAT_ATK + i] < 0xC) break; } if (i != 5) @@ -2833,7 +2833,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) do { i = Random() % 5; - } while (gBattleMons[battlerId].statStages[STAT_STAGE_ATK + i] == 0xC); + } while (gBattleMons[battlerId].statStages[STAT_ATK + i] == 0xC); PREPARE_STAT_BUFFER(gBattleTextBuff1, i + 1); @@ -2963,7 +2963,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (effect) { gBattleScripting.battler = battlerId; - gStringBattler = battlerId; + gPotentialItemEffectBattler = battlerId; gActiveBattler = gBattlerAttacker = battlerId; switch (effect) { @@ -3111,7 +3111,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (effect) { gBattleScripting.battler = battlerId; - gStringBattler = battlerId; + gPotentialItemEffectBattler = battlerId; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; return effect; // unnecessary return @@ -3121,7 +3121,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (effect) { gBattleScripting.battler = battlerId; - gStringBattler = battlerId; + gPotentialItemEffectBattler = battlerId; gActiveBattler = battlerId; BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); MarkBattlerForControllerExec(gActiveBattler); @@ -3156,7 +3156,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) && gBattleMons[gBattlerAttacker].hp != 0) { gLastUsedItem = atkItem; - gStringBattler = gBattlerAttacker; + gPotentialItemEffectBattler = gBattlerAttacker; gBattleScripting.battler = gBattlerAttacker; gBattleMoveDamage = (gSpecialStatuses[gBattlerTarget].dmg / atkQuality) * -1; if (gBattleMoveDamage == 0) -- cgit v1.2.3