summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-04-06 14:54:47 -0700
committerMarcus Huderle <huderlem@gmail.com>2018-04-06 14:54:47 -0700
commitcbf2c5c2a9539f74d57f141f233b47923566e838 (patch)
treedca65bd5ea75a0e5caacb84c5ce01169c0e259f6 /src
parent888109935e9c35d6794c340759e4fd8c8c96760d (diff)
Decompile a bunch of battle_9
Diffstat (limited to 'src')
-rw-r--r--src/battle/anim/battle_intro.c2
-rw-r--r--src/battle/anim/bug.c2
-rw-r--r--src/battle/anim/cutter.c2
-rw-r--r--src/battle/anim/dark.c36
-rw-r--r--src/battle/anim/dragon.c2
-rw-r--r--src/battle/anim/draw.c2
-rw-r--r--src/battle/anim/energy_wave.c2
-rw-r--r--src/battle/anim/evasion.c4
-rw-r--r--src/battle/anim/fight.c16
-rw-r--r--src/battle/anim/fire_2.c4
-rw-r--r--src/battle/anim/orbit.c2
-rw-r--r--src/battle/anim/psychic.c26
-rw-r--r--src/battle/anim/rock.c8
-rw-r--r--src/battle/anim/sfx.c6
-rw-r--r--src/battle/battle_2.c152
-rw-r--r--src/battle/battle_4.c642
-rw-r--r--src/battle/battle_7.c48
-rwxr-xr-xsrc/battle/battle_9.c838
-rw-r--r--src/battle/battle_ai.c54
-rw-r--r--src/battle/battle_anim.c34
-rw-r--r--src/battle/battle_anim_80A7E7C.c20
-rw-r--r--src/battle/battle_controller_linkopponent.c74
-rw-r--r--src/battle/battle_controller_linkpartner.c64
-rw-r--r--src/battle/battle_controller_opponent.c136
-rw-r--r--src/battle/battle_controller_player.c174
-rw-r--r--src/battle/battle_controller_safari.c18
-rw-r--r--src/battle/battle_controller_wally.c48
-rw-r--r--src/battle/battle_interface.c50
-rw-r--r--src/battle/battle_message.c38
-rw-r--r--src/battle/battle_party_menu.c28
-rw-r--r--src/battle/battle_util.c146
-rw-r--r--src/battle/pokeball.c26
-rw-r--r--src/battle/reshow_battle_screen.c42
-rw-r--r--src/item_use.c4
-rw-r--r--src/pokemon_2.c20
-rw-r--r--src/pokemon_3.c8
-rw-r--r--src/pokemon_item_effect.c12
-rw-r--r--src/rom3.c32
-rw-r--r--src/rom_8077ABC.c50
39 files changed, 1854 insertions, 1018 deletions
diff --git a/src/battle/anim/battle_intro.c b/src/battle/anim/battle_intro.c
index 01f823fa7..d96dc7ea8 100644
--- a/src/battle/anim/battle_intro.c
+++ b/src/battle/anim/battle_intro.c
@@ -466,7 +466,7 @@ void sub_80E4EF8(u8 left, u8 top, u8 c, u8 paletteNum, u16 e, u8 bgMap, u8 g)
u32 tileNum;
s32 x;
s32 y;
- u8 bank = GetBankByIdentity(c);
+ u8 bank = GetBattlerAtPosition(c);
DmaCopy16(3, gUnknown_081FAF4C[c] + gBattleMonForms[bank] * 0x800, (void *)(VRAM + e), 0x800);
tileNum = e / 32 - g * 512;
diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c
index d57a1046e..b9e9da27f 100644
--- a/src/battle/anim/bug.c
+++ b/src/battle/anim/bug.c
@@ -205,7 +205,7 @@ void AnimTranslateStinger(struct Sprite *sprite)
{
if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget))
{
- if (GetBankIdentity(gAnimBankTarget) == 0 || GetBankIdentity(gAnimBankTarget) == 1)
+ if (GetBattlerPosition(gAnimBankTarget) == 0 || GetBattlerPosition(gAnimBankTarget) == 1)
{
s16 temp1, temp2;
diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c
index fed3598fc..a750ee2c1 100644
--- a/src/battle/anim/cutter.c
+++ b/src/battle/anim/cutter.c
@@ -24,7 +24,7 @@ static void AnimMoveTwisterParticleStep(struct Sprite* sprite);
void AnimTranslateLinearSingleSineWave(struct Sprite* sprite)
{
InitAnimSpritePos(sprite, 1);
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
{
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
}
diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c
index 055cf5802..b70d27d1d 100644
--- a/src/battle/anim/dark.c
+++ b/src/battle/anim/dark.c
@@ -21,7 +21,7 @@ extern u16 gBattle_BG2_X;
extern u16 gBattle_BG2_Y;
extern u16 gBattle_WIN0H;
extern u16 gBattle_WIN0V;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gAnimMoveTurn;
extern const u8 gUnknown_08D1D574[];
@@ -49,7 +49,7 @@ void sub_80DFC24(u8 taskId)
bank = gAnimBankAttacker;
gTasks[taskId].data[1] = 16;
REG_BLDALPHA = 16;
- if (GetBankIdentity_permutated(bank) == 1)
+ if (GetBattlerPosition_permutated(bank) == 1)
REG_BLDCNT = 0x3F42;
else
REG_BLDCNT = 0x3F44;
@@ -112,7 +112,7 @@ void sub_80DFD58(u8 taskId)
void sub_80DFDC0(u8 taskId)
{
REG_BLDALPHA = 0x1000;
- if (GetBankIdentity_permutated(gAnimBankAttacker) == 1)
+ if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1)
REG_BLDCNT = 0x3F42;
else
REG_BLDCNT = 0x3F44;
@@ -267,12 +267,12 @@ void sub_80E00EC(u8 taskId)
task->data[14] = pos - 32;
task->data[15] = pos + 32;
- if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER)
task->data[8] = -12;
else
task->data[8] = -64;
- task->data[3] = GetBankIdentity_permutated(gAnimBankAttacker);
+ task->data[3] = GetBattlerPosition_permutated(gAnimBankAttacker);
if (task->data[3] == 1)
{
sub_8078914(&subStruct);
@@ -403,7 +403,7 @@ void sub_80E03BC(u8 taskId)
}
else
{
- task->data[3] = GetBankIdentity_permutated(gAnimBankTarget);
+ task->data[3] = GetBattlerPosition_permutated(gAnimBankTarget);
if (task->data[3] == 1)
{
REG_BLDCNT = 0x3F42;
@@ -442,7 +442,7 @@ void sub_80E03BC(u8 taskId)
task->data[14] = pos - 4;
task->data[15] = pos + 4;
- if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER)
+ if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER)
task->data[8] = -12;
else
task->data[8] = -64;
@@ -791,7 +791,7 @@ static void sub_80E08CC(u8 priority)
void sub_80E0918(u8 taskId)
{
- u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0;
+ u8 toBG2 = GetBattlerPosition_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0;
MoveBattlerSpriteToBG(gAnimBankAttacker, toBG2);
gSprites[gBankSpriteIds[gAnimBankAttacker]].invisible = 0;
@@ -806,7 +806,7 @@ void sub_80E0918(u8 taskId)
void sub_80E09C4(u8 taskId)
{
- u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0;
+ u8 toBG2 = GetBattlerPosition_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0;
sub_8076464(toBG2);
if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2))
@@ -847,7 +847,7 @@ void sub_80E0A4C(u8 taskId)
if (IsDoubleBattle() && !IsContest())
{
- if (GetBankIdentity(gAnimBankAttacker) == 3 || GetBankIdentity(gAnimBankAttacker) == 0)
+ if (GetBattlerPosition(gAnimBankAttacker) == 3 || GetBattlerPosition(gAnimBankAttacker) == 0)
{
if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2) == TRUE)
{
@@ -864,10 +864,10 @@ void sub_80E0A4C(u8 taskId)
}
else
{
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
- species = GetMonData(&gEnemyParty[gBattlePartyID[gAnimBankAttacker]], MON_DATA_SPECIES);
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES);
else
- species = GetMonData(&gPlayerParty[gBattlePartyID[gAnimBankAttacker]], MON_DATA_SPECIES);
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES);
}
spriteId = GetAnimBankSpriteId(0);
@@ -961,19 +961,19 @@ void sub_80E0E24(u8 taskId)
spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]);
break;
case 4:
- identity = IDENTITY_PLAYER_MON1;
+ identity = B_POSITION_PLAYER_LEFT;
calcSpriteId = TRUE;
break;
case 5:
- identity = IDENTITY_PLAYER_MON2;
+ identity = B_POSITION_PLAYER_RIGHT;
calcSpriteId = TRUE;
break;
case 6:
- identity = IDENTITY_OPPONENT_MON1;
+ identity = B_POSITION_OPPONENT_LEFT;
calcSpriteId = TRUE;
break;
case 7:
- identity = IDENTITY_OPPONENT_MON2;
+ identity = B_POSITION_OPPONENT_RIGHT;
calcSpriteId = TRUE;
break;
default:
@@ -983,7 +983,7 @@ void sub_80E0E24(u8 taskId)
if (calcSpriteId)
{
- bank = GetBankByIdentity(identity);
+ bank = GetBattlerAtPosition(identity);
if (IsAnimBankSpriteVisible(bank))
spriteId = gBankSpriteIds[bank];
else
diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c
index dc2c0bc50..e8e07c443 100644
--- a/src/battle/anim/dragon.c
+++ b/src/battle/anim/dragon.c
@@ -169,7 +169,7 @@ void sub_80DF924(u8 taskId)
struct Task *task = &gTasks[taskId];
u16 i;
u8 r1;
- if (GetBankIdentity_permutated(gAnimBankAttacker) == 1)
+ if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1)
{
sp.dmaDest = &REG_BG1HOFS;
task->data[2] = gBattle_BG1_X;
diff --git a/src/battle/anim/draw.c b/src/battle/anim/draw.c
index be3a280af..29b0c0ceb 100644
--- a/src/battle/anim/draw.c
+++ b/src/battle/anim/draw.c
@@ -32,7 +32,7 @@ void sub_80D0C88(u8 taskId)
task->data[5] = 0;
task->data[15] = sub_807A100(gAnimBankTarget, 0);
- if (GetBankIdentity_permutated(gAnimBankTarget) == 1)
+ if (GetBattlerPosition_permutated(gAnimBankTarget) == 1)
{
task->data[6] = gBattle_BG1_X;
params.dmaDest = (u16 *)REG_ADDR_BG1HOFS;
diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c
index 8111f70a3..1889cfc67 100644
--- a/src/battle/anim/energy_wave.c
+++ b/src/battle/anim/energy_wave.c
@@ -130,7 +130,7 @@ void sub_80D3728(struct Sprite *sprite)
{
gBattleAnimArgs[0] *= -1;
- if (GetBankIdentity(gAnimBankAttacker) == 0 || GetBankIdentity(gAnimBankAttacker) == 1)
+ if (GetBattlerPosition(gAnimBankAttacker) == 0 || GetBattlerPosition(gAnimBankAttacker) == 1)
{
gBattleAnimArgs[0] *= -1;
}
diff --git a/src/battle/anim/evasion.c b/src/battle/anim/evasion.c
index ded8428d4..a441110f8 100644
--- a/src/battle/anim/evasion.c
+++ b/src/battle/anim/evasion.c
@@ -47,7 +47,7 @@ void sub_80CE7E0(u8 taskId)
}
task->func = sub_80CE910;
- if (GetBankIdentity_permutated(gAnimBankAttacker) == 1)
+ if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1)
{
REG_DISPCNT &= 0xFDFF;
}
@@ -62,7 +62,7 @@ void sub_80CE910(u8 taskId)
struct Task* task = &gTasks[taskId];
if (!task->data[3])
{
- if (GetBankIdentity_permutated(gAnimBankAttacker) == 1)
+ if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1)
REG_DISPCNT |= 0x200;
else
REG_DISPCNT |= 0x400;
diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c
index 0f46187f2..36a8a5008 100644
--- a/src/battle/anim/fight.c
+++ b/src/battle/anim/fight.c
@@ -21,7 +21,7 @@ extern u16 gBattle_BG3_X;
extern u16 gBattle_BG3_Y;
extern u16 gBattle_WIN0H;
extern u16 gBattle_WIN0V;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gAnimMoveTurn;
extern struct SpriteTemplate gBasicHitSplatSpriteTemplate;
@@ -50,7 +50,7 @@ void sub_080B08A0(struct Sprite *sprite)
void sub_80D902C(struct Sprite *sprite)
{
- if (gBattleAnimArgs[7] == 1 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (gBattleAnimArgs[7] == 1 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
@@ -196,12 +196,12 @@ static void sub_80D9328(struct Sprite *sprite)
void sub_80D9378(struct Sprite *sprite)
{
- if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBankIdentity(gAnimBankTarget) < 2)
+ if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBattlerPosition(gAnimBankTarget) < 2)
gBattleAnimArgs[0] *= -1;
sub_8078764(sprite, 1);
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[3];
@@ -538,7 +538,7 @@ void sub_80D9A38(struct Sprite *sprite)
if (IsContest())
sprite->oam.matrixNum |= 0x8;
- else if (GetBankSide(bank) == SIDE_PLAYER)
+ else if (GetBankSide(bank) == B_SIDE_PLAYER)
sprite->oam.matrixNum |= 0x18;
sprite->data[0] = 16;
@@ -572,7 +572,7 @@ void sub_80D9B48(struct Sprite *sprite)
sprite->data[4] = gBattleAnimArgs[2];
turn = gAnimMoveTurn;
- if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER)
+ if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER)
turn++;
if (turn & 1)
@@ -598,7 +598,7 @@ void sub_80D9BD4(struct Sprite *sprite)
{
StartSpriteAnim(sprite, 2);
}
- else if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ else if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
{
StartSpriteAnim(sprite, 1);
}
@@ -644,7 +644,7 @@ void sub_80D9C80(u8 taskId)
task->data[10] += 2816;
- if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER)
+ if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER)
gBattle_BG3_X += task->data[9] >> 8;
else
gBattle_BG3_X -= task->data[9] >> 8;
diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c
index f9c9b6d3b..4378ff298 100644
--- a/src/battle/anim/fire_2.c
+++ b/src/battle/anim/fire_2.c
@@ -34,8 +34,8 @@ void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3);
void AnimEmberFlare(struct Sprite *sprite)
{
if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)
- && (gAnimBankAttacker == GetBankByIdentity(IDENTITY_PLAYER_MON2)
- || gAnimBankAttacker == GetBankByIdentity(IDENTITY_OPPONENT_MON2)))
+ && (gAnimBankAttacker == GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)
+ || gAnimBankAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->callback = sub_8079534;
diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c
index e7dd0df49..7bf5f647c 100644
--- a/src/battle/anim/orbit.c
+++ b/src/battle/anim/orbit.c
@@ -64,7 +64,7 @@ void sub_80CACEC(u8 taskId)
}
else
{
- if (GetBankIdentity_permutated(gAnimBankTarget) == 1)
+ if (GetBattlerPosition_permutated(gAnimBankTarget) == 1)
{
REG_BG2CNT_BITFIELD.priority = 3;
}
diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c
index 42f396870..2a9cd364e 100644
--- a/src/battle/anim/psychic.c
+++ b/src/battle/anim/psychic.c
@@ -38,7 +38,7 @@ void sub_80DC5F4(u8 taskId);
void sub_80DB74C(struct Sprite *sprite)
{
- if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER || IsContest())
+ if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER || IsContest())
{
sprite->oam.priority = 2;
sprite->subpriority = 200;
@@ -47,8 +47,8 @@ void sub_80DB74C(struct Sprite *sprite)
if (!IsContest())
{
u8 bankCopy;
- u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
- u8 identity = GetBankIdentity_permutated(bank);
+ u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ u8 identity = GetBattlerPosition_permutated(bank);
int var0 = 1;
u8 toBG_2 = (identity ^ var0) != 0;
@@ -62,7 +62,7 @@ void sub_80DB74C(struct Sprite *sprite)
if (!IsContest() && IsDoubleBattle())
{
- if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER)
{
sprite->pos1.x = 72;
sprite->pos1.y = 80;
@@ -75,7 +75,7 @@ void sub_80DB74C(struct Sprite *sprite)
}
else
{
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[0];
@@ -131,7 +131,7 @@ static void sub_80DB92C(struct Sprite *sprite)
if (!IsContest())
{
u8 bankCopy;
- u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
+ u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
if (IsAnimBankSpriteVisible(bank))
gSprites[gBankSpriteIds[bank]].invisible = 0;
@@ -151,8 +151,8 @@ static void sub_80DB9E4(struct Sprite *sprite)
if (!IsContest())
{
u8 bankCopy;
- u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
- u8 identity = GetBankIdentity_permutated(bank);
+ u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ u8 identity = GetBattlerPosition_permutated(bank);
int var0 = 1;
u8 toBG_2 = (identity ^ var0) != 0;
@@ -178,7 +178,7 @@ void sub_80DBA4C(struct Sprite *sprite)
if (!IsContest() && IsDoubleBattle())
{
- if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER)
{
sprite->pos1.x = 72 - gBattleAnimArgs[0];
sprite->pos1.y = gBattleAnimArgs[1] + 80;
@@ -211,7 +211,7 @@ void sub_80DBAF4(struct Sprite *sprite)
sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2);
sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3);
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
{
StartSpriteAnim(sprite, 1);
sprite->pos1.x -= 40;
@@ -234,7 +234,7 @@ void sub_80DBB70(struct Sprite *sprite)
s16 x = sub_807A100(gAnimBankAttacker, 1) / 2;
s16 y = sub_807A100(gAnimBankAttacker, 0) / -2;
- if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT)
+ if (GetBankSide(gAnimBankAttacker) == B_SIDE_OPPONENT)
{
x = -x;
}
@@ -306,7 +306,7 @@ void sub_80DBCFC(u8 taskId)
task->data[0] = spriteId;
task->data[1] = 0;
task->data[2] = 0;
- task->data[3] = GetBankSide(gAnimBankAttacker) != SIDE_PLAYER ? 4 : 8;
+ task->data[3] = GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER ? 4 : 8;
sub_80798F4(task, task->data[0], &gUnknown_083DA8C4);
task->func = sub_80DBD58;
@@ -581,7 +581,7 @@ void sub_80DC2D4(u8 taskId)
if (task->data[14] < 0)
task->data[14] = 0;
- if (GetBankIdentity_permutated(gAnimBankTarget) == 1)
+ if (GetBattlerPosition_permutated(gAnimBankTarget) == 1)
{
task->data[10] = gBattle_BG1_X;
scanlineParams.dmaDest = &REG_BG1HOFS;
diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c
index 6fbe065b8..a9e9afb71 100644
--- a/src/battle/anim/rock.c
+++ b/src/battle/anim/rock.c
@@ -78,7 +78,7 @@ void sub_80DCF60(struct Sprite *sprite)
StartSpriteAnim(sprite, gBattleAnimArgs[5]);
AnimateSprite(sprite);
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= gBattleAnimArgs[0];
else
sprite->pos1.x += gBattleAnimArgs[0];
@@ -154,7 +154,7 @@ void do_boulder_dust(u8 taskId)
if (IsContest())
sub_80763FC(subStruct.field_8, (u16 *)subStruct.field_4, 0, 0);
- if (gBattleAnimArgs[0] != 0 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (gBattleAnimArgs[0] != 0 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
var0 = 1;
gTasks[taskId].data[0] = var0;
@@ -231,7 +231,7 @@ void sub_80DD3AC(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
- if (gBattleAnimArgs[3] != 0 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (gBattleAnimArgs[3] != 0 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
{
sprite->pos1.x = 304;
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
@@ -514,7 +514,7 @@ static void sub_80DD928(struct Sprite *sprite)
void sub_80DD978(struct Sprite *sprite)
{
- if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT)
+ if (GetBankSide(gAnimBankAttacker) == B_SIDE_OPPONENT)
StartSpriteAffineAnim(sprite, 1);
TranslateAnimSpriteToTargetMonLocation(sprite);
diff --git a/src/battle/anim/sfx.c b/src/battle/anim/sfx.c
index 10ef1681e..afe7c90b6 100644
--- a/src/battle/anim/sfx.c
+++ b/src/battle/anim/sfx.c
@@ -9,7 +9,7 @@
extern s16 gBattleAnimArgs[];
extern u8 gAnimBankAttacker;
extern u8 gAnimBankTarget;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u16 gAnimSpeciesByBanks[];
extern u8 gUnknown_0202F7D2;
@@ -176,9 +176,9 @@ void sub_812B18C(u8 taskId)
}
if (GetBankSide(bank))
- species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], 0xB);
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], 0xB);
else
- species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], 0xB);
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], 0xB);
}
if (species != 0)
diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c
index a6e01f6c8..ac4d791d5 100644
--- a/src/battle/battle_2.c
+++ b/src/battle/battle_2.c
@@ -87,7 +87,7 @@ extern u8 gBattleBufferB[][0x200];
extern u8 gActiveBattler;
extern u32 gBattleExecBuffer;
extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gCurrentActionFuncId;
extern u8 gBanksByTurnOrder[];
extern struct UnknownStruct12 gUnknown_02024AD0[];
@@ -95,7 +95,7 @@ extern u8 gBankSpriteIds[];
extern u16 gCurrentMove; // This is mis-named. It is a species, not a move ID.
extern u8 gLastUsedAbility;
extern u8 gStringBank;
-extern u8 gAbsentBankFlags;
+extern u8 gAbsentBattlerFlags;
extern u8 gMultiHitCounter;
extern u8 gActionForBanks[];
extern u16 gUnknown_02024C2C[];
@@ -104,7 +104,7 @@ extern u16 gLastLandedMoves[];
extern u16 gLastHitByType[];
extern u16 gUnknown_02024C4C[];
extern u16 gLockedMoves[];
-extern u8 gUnknown_02024C5C[];
+extern u8 gLastHitBy[];
extern u16 gChosenMovesByBanks[];
extern u32 gHitMarker;
extern u8 gUnknown_02024C70[];
@@ -152,9 +152,9 @@ extern u8 gBattleMonForms[];
extern u8 gBankAttacker;
extern u8 gBankTarget;
extern u16 gBattleWeather;
-extern u32 gBattleMoveDamage;
+extern s32 gBattleMoveDamage;
extern struct BattlePokemon gBattleMons[];
-extern u8 gBattleMoveFlags;
+extern u8 gMoveResultFlags;
extern u8 BattleScript_FocusPunchSetUp[];
extern u16 gDynamicBasePower;
extern u8 gCurrentTurnActionNumber;
@@ -3347,11 +3347,11 @@ void sub_8010384(struct Sprite *sprite)
else
species = sprite->data[2];
- GetMonData(&gEnemyParty[gBattlePartyID[r6]], MON_DATA_PERSONALITY); // Unused return value
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[r6]], MON_DATA_PERSONALITY); // Unused return value
if (species == SPECIES_UNOWN)
{
- u32 personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[r6]], MON_DATA_PERSONALITY);
+ u32 personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r6]], MON_DATA_PERSONALITY);
u16 unownForm = ((((personalityValue & 0x3000000) >> 18) | ((personalityValue & 0x30000) >> 12) | ((personalityValue & 0x300) >> 6) | (personalityValue & 3)) % 0x1C);
u16 unownSpecies;
@@ -3399,7 +3399,7 @@ void sub_8010494(struct Sprite *sprite)
else
{
// this should use a MEMSET_ALT, but *(dst++) wont match with it.
- dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data[0])] + (gBattleMonForms[sprite->data[0]] << 11) + (sprite->data[3] << 8);
+ dst = (u8 *)gUnknown_081FAF4C[GetBattlerPosition(sprite->data[0])] + (gBattleMonForms[sprite->data[0]] << 11) + (sprite->data[3] << 8);
for (i = 0; i < 0x100; i++)
*(dst++) = 0;
StartSpriteAnim(sprite, gBattleMonForms[sprite->data[0]]);
@@ -3639,7 +3639,7 @@ void sub_8010874(void)
gLastLandedMoves[i] = 0;
gLastHitByType[i] = 0;
gUnknown_02024C4C[i] = 0;
- gUnknown_02024C5C[i] = 0xFF;
+ gLastHitBy[i] = 0xFF;
gLockedMoves[i] = 0;
gUnknown_02024C2C[i] = 0;
eFlashFireArr.arr[i] = 0;
@@ -3675,7 +3675,7 @@ void sub_8010874(void)
ewram16002 = 0;
ewram160A1 = 0;
gLeveledUpInBattle = 0;
- gAbsentBankFlags = 0;
+ gAbsentBattlerFlags = 0;
ewram16078 = 0;
ewram16086 = 0;
ewram16087 = 0;
@@ -3797,7 +3797,7 @@ void SwitchInClearSetData(void)
gLastHitByType[gActiveBattler] = 0;
gUnknown_02024C4C[gActiveBattler] = 0;
gUnknown_02024C2C[gActiveBattler] = 0;
- gUnknown_02024C5C[gActiveBattler] = 0xFF;
+ gLastHitBy[gActiveBattler] = 0xFF;
ewram160ACarr2(0, gActiveBattler) = 0;
ewram160ACarr2(1, gActiveBattler) = 0;
@@ -3861,7 +3861,7 @@ void UndoEffectsAfterFainting(void)
gLastHitByType[gActiveBattler] = 0;
gUnknown_02024C4C[gActiveBattler] = 0;
gUnknown_02024C2C[gActiveBattler] = 0;
- gUnknown_02024C5C[gActiveBattler] = 0xFF;
+ gLastHitBy[gActiveBattler] = 0xFF;
ewram160E8arr2(0, gActiveBattler) = 0;
ewram160E8arr2(1, gActiveBattler) = 0;
@@ -3905,7 +3905,7 @@ static void BattlePrepIntroSlide(void)
{
if (gBattleExecBuffer == 0)
{
- gActiveBattler = GetBankByIdentity(0);
+ gActiveBattler = GetBattlerAtPosition(0);
EmitIntroSlide(0, gBattleTerrain);
MarkBufferBankForExecution(gActiveBattler);
gBattleMainFunc = sub_8011384;
@@ -3943,7 +3943,7 @@ void sub_8011384(void)
gBattleMons[gActiveBattler].status2 = 0;
}
- if (GetBankIdentity(gActiveBattler) == 0)
+ if (GetBattlerPosition(gActiveBattler) == 0)
{
EmitTrainerThrow(0);
MarkBufferBankForExecution(gActiveBattler);
@@ -3951,7 +3951,7 @@ void sub_8011384(void)
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
- if (GetBankIdentity(gActiveBattler) == 1)
+ if (GetBattlerPosition(gActiveBattler) == 1)
{
EmitTrainerThrow(0);
MarkBufferBankForExecution(gActiveBattler);
@@ -3973,8 +3973,8 @@ void sub_8011384(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
- if (GetBankIdentity(gActiveBattler) == 2
- || GetBankIdentity(gActiveBattler) == 3)
+ if (GetBattlerPosition(gActiveBattler) == 2
+ || GetBattlerPosition(gActiveBattler) == 3)
{
EmitTrainerThrow(0);
MarkBufferBankForExecution(gActiveBattler);
@@ -4009,7 +4009,7 @@ void bc_801333C(void)
hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
}
}
- gActiveBattler = GetBankByIdentity(1);
+ gActiveBattler = GetBattlerAtPosition(1);
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBattler);
@@ -4027,7 +4027,7 @@ void bc_801333C(void)
hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
}
}
- gActiveBattler = GetBankByIdentity(0);
+ gActiveBattler = GetBattlerAtPosition(0);
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBattler);
@@ -4062,7 +4062,7 @@ void bc_battle_begin_message(void)
{
if (gBattleExecBuffer == 0)
{
- gActiveBattler = GetBankByIdentity(1);
+ gActiveBattler = GetBattlerAtPosition(1);
PrepareStringBattle(0, gActiveBattler);
gBattleMainFunc = sub_8011800;
}
@@ -4081,7 +4081,7 @@ void sub_8011800(void)
{
if (gBattleExecBuffer == 0)
{
- PrepareStringBattle(1, GetBankByIdentity(1));
+ PrepareStringBattle(1, GetBattlerAtPosition(1));
gBattleMainFunc = sub_8011834;
}
}
@@ -4092,13 +4092,13 @@ void sub_8011834(void)
{
for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++)
{
- if (GetBankIdentity(gActiveBattler) == 1)
+ if (GetBattlerPosition(gActiveBattler) == 1)
{
EmitTrainerBallThrow(0);
MarkBufferBankForExecution(gActiveBattler);
}
if ((gBattleTypeFlags & BATTLE_TYPE_MULTI)
- && GetBankIdentity(gActiveBattler) == 3)
+ && GetBattlerPosition(gActiveBattler) == 3)
{
EmitTrainerBallThrow(0);
MarkBufferBankForExecution(gActiveBattler);
@@ -4133,7 +4133,7 @@ void sub_8011970(void)
if (gBattleExecBuffer == 0)
{
if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
- PrepareStringBattle(1, GetBankByIdentity(0));
+ PrepareStringBattle(1, GetBattlerAtPosition(0));
gBattleMainFunc = sub_80119B4;
}
}
@@ -4144,13 +4144,13 @@ void sub_80119B4(void)
{
for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++)
{
- if (GetBankIdentity(gActiveBattler) == 0)
+ if (GetBattlerPosition(gActiveBattler) == 0)
{
EmitTrainerBallThrow(0);
MarkBufferBankForExecution(gActiveBattler);
}
if ((gBattleTypeFlags & BATTLE_TYPE_MULTI)
- && GetBankIdentity(gActiveBattler) == 2)
+ && GetBattlerPosition(gActiveBattler) == 2)
{
EmitTrainerBallThrow(0);
MarkBufferBankForExecution(gActiveBattler);
@@ -4171,7 +4171,7 @@ void unref_sub_8011A68(void)
{
if (GetBankSide(gActiveBattler) == 0)
{
- EmitSendOutPoke(0, gBattlePartyID[gActiveBattler], 0);
+ EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], 0);
MarkBufferBankForExecution(gActiveBattler);
}
}
@@ -4239,7 +4239,7 @@ void BattleBeginFirstTurn(void)
}
TurnValuesCleanUp(0);
SpecialStatusesClear();
- ewram160A6 = gAbsentBankFlags;
+ ewram160A6 = gAbsentBattlerFlags;
gBattleMainFunc = sub_8012324;
ResetSentPokesToOpponentValue();
for (i = 0; i < 8; i++)
@@ -4253,7 +4253,7 @@ void BattleBeginFirstTurn(void)
ewram1600C = 0;
ewram16059 = 0;
ewram1600E = 0;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gRandomTurnNumber = Random();
}
}
@@ -4278,7 +4278,7 @@ void bc_8013B1C(void)
ewram16110 = 0;
ewram16111 = 0;
ewram1600E = 0;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
}
}
@@ -4308,7 +4308,7 @@ void BattleTurnPassed(void)
ewram160A1 = 0;
ewram1600C = 0;
gBattleMoveDamage = 0;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
for (i = 0; i < 5; i++)
gBattleCommunication[i] = 0;
if (gBattleOutcome != 0)
@@ -4326,7 +4326,7 @@ void BattleTurnPassed(void)
}
for (i = 0; i < 4; i++)
ewram16068arr(i) = 6;
- ewram160A6 = gAbsentBankFlags;
+ ewram160A6 = gAbsentBattlerFlags;
gBattleMainFunc = sub_8012324;
gRandomTurnNumber = Random();
}
@@ -4400,7 +4400,7 @@ void sub_8012258(u8 a)
for (i = 0; i < 3; i++)
gUnknown_02038470[i] = ewram1606Carr(i, a);
- r4 = pokemon_order_func(gBattlePartyID[a]);
+ r4 = pokemon_order_func(gBattlerPartyIndexes[a]);
r1 = pokemon_order_func(ewram16068arr(a));
sub_8094C98(r4, r1);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
@@ -4430,15 +4430,15 @@ void sub_8012324(void)
//_0801234C
for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++)
{
- r5 = GetBankIdentity(gActiveBattler);
+ r5 = GetBattlerPosition(gActiveBattler);
switch (gBattleCommunication[gActiveBattler])
{
case 0:
ewram16068arr(gActiveBattler) = 6;
if (!(gBattleTypeFlags & 0x40)
&& (r5 & 2)
- && !(ewram160A6 & gBitTable[GetBankByIdentity(r5 ^ 2)])
- && gBattleCommunication[GetBankByIdentity(r5)] != 4)
+ && !(ewram160A6 & gBitTable[GetBattlerAtPosition(r5 ^ 2)])
+ && gBattleCommunication[GetBattlerAtPosition(r5)] != 4)
break;
//_080123F8
if (ewram160A6 & gBitTable[gActiveBattler])
@@ -4494,7 +4494,7 @@ _08012348: .4byte gNoOfAllBanks\n\
_0801234C:\n\
ldr r4, _08012374 @ =gActiveBattler\n\
ldrb r0, [r4]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
lsls r0, 24\n\
lsrs r5, r0, 24\n\
ldr r1, _08012378 @ =gBattleCommunication\n\
@@ -4545,7 +4545,7 @@ _0801239C:\n\
beq _080123F8\n\
eors r5, r1\n\
adds r0, r5, 0\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
ldr r2, _08012444 @ =0x000160a6\n\
adds r1, r4, r2\n\
ldrb r1, [r1]\n\
@@ -4559,7 +4559,7 @@ _0801239C:\n\
bne _080123F8\n\
ldr r4, _0801244C @ =gBattleCommunication\n\
adds r0, r5, 0\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
lsls r0, 24\n\
lsrs r0, 24\n\
adds r0, r4\n\
@@ -4907,7 +4907,7 @@ _080126E0:\n\
ldr r4, _08012740 @ =0x00016064\n\
adds r1, r0, r4\n\
adds r1, r3\n\
- ldr r2, _08012744 @ =gBattlePartyID\n\
+ ldr r2, _08012744 @ =gBattlerPartyIndexes\n\
lsls r0, 1\n\
adds r0, r2\n\
ldrh r0, [r0]\n\
@@ -4949,7 +4949,7 @@ _08012722:\n\
_08012738: .4byte gSharedMem\n\
_0801273C: .4byte gActiveBattler\n\
_08012740: .4byte 0x00016064\n\
-_08012744: .4byte gBattlePartyID\n\
+_08012744: .4byte gBattlerPartyIndexes\n\
_08012748: .4byte gBattleMons\n\
_0801274C: .4byte 0x0400e000\n\
_08012750: .4byte gStatuses3\n\
@@ -5180,12 +5180,12 @@ _0801292C:\n\
movs r0, 0x6\n\
strb r0, [r1]\n\
ldrb r0, [r3]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
movs r1, 0x2\n\
eors r0, r1\n\
lsls r0, 24\n\
lsrs r0, 24\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
lsls r0, 24\n\
lsrs r0, 24\n\
adds r0, r4\n\
@@ -5735,7 +5735,7 @@ _08012DD2:\n\
bne _08012E06\n\
adds r0, r5, 0\n\
eors r0, r1\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
ldr r1, _08012E20 @ =gSharedMem\n\
ldr r2, _08012E24 @ =0x000160a6\n\
adds r1, r2\n\
@@ -6322,7 +6322,7 @@ void HandleEndTurn_BattleWon(void)
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
gBattleTextBuff1[0] = gBattleOutcome;
- gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
+ gBankAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
}
@@ -6372,7 +6372,7 @@ void HandleEndTurn_BattleLost(void)
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
gBattleTextBuff1[0] = gBattleOutcome;
- gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
+ gBankAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN);
}
@@ -6408,7 +6408,7 @@ void HandleEndTurn_MonFled(void)
{
gCurrentActionFuncId = 0;
- PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker]);
+ PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlerPartyIndexes[gBankAttacker]);
gBattlescriptCurrInstr = BattleScript_WildMonFled;
gBattleMainFunc = HandleEndTurn_FinishBattle;
@@ -6427,7 +6427,7 @@ void HandleEndTurn_FinishBattle(void)
{
for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++)
{
- if (GetBankSide(gActiveBattler) == SIDE_PLAYER)
+ if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER)
{
if (gBattleResults.poke1Species == SPECIES_NONE)
{
@@ -6572,7 +6572,7 @@ void HandleAction_UseMove(void)
gCritMultiplier = 1;
eDmgMultiplier = 1;
ewram160E7 = 0;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gMultiHitCounter = 0;
gBattleCommunication[6] = 0;
gCurrMovePos = gUnknown_02024BE5 = ewram1608Carr(gBankAttacker);
@@ -6618,7 +6618,7 @@ void HandleAction_UseMove(void)
gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos];
}
- if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER)
gBattleResults.lastUsedMove = gCurrentMove;
else
gBattleResults.opponentMove = gCurrentMove;
@@ -6654,19 +6654,19 @@ void HandleAction_UseMove(void)
{
if (gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM)
{
- if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER)
{
if (Random() & 1)
- gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
+ gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
else
- gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
+ gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
}
else
{
if (Random() & 1)
- gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
+ gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
else
- gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
+ gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
}
}
else
@@ -6674,17 +6674,17 @@ void HandleAction_UseMove(void)
gBankTarget = ewram16010arr(gBankAttacker);
}
- if (gAbsentBankFlags & gBitTable[gBankTarget])
+ if (gAbsentBattlerFlags & gBitTable[gBankTarget])
{
if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
{
- gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
+ gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK);
}
else
{
- gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE);
- if (gAbsentBankFlags & gBitTable[gBankTarget])
- gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
+ gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ BIT_SIDE);
+ if (gAbsentBattlerFlags & gBitTable[gBankTarget])
+ gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK);
}
}
}
@@ -6699,41 +6699,41 @@ void HandleAction_UseMove(void)
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM)
{
- if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER)
{
if (Random() & 1)
- gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
+ gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
else
- gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
+ gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
}
else
{
if (Random() & 1)
- gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1);
+ gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
else
- gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2);
+ gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
}
- if (gAbsentBankFlags & gBitTable[gBankTarget]
+ if (gAbsentBattlerFlags & gBitTable[gBankTarget]
&& GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
{
- gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
+ gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK);
}
}
else
{
gBankTarget = ewram16010arr(gBankAttacker);
- if (gAbsentBankFlags & gBitTable[gBankTarget])
+ if (gAbsentBattlerFlags & gBitTable[gBankTarget])
{
if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget))
{
- gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
+ gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK);
}
else
{
- gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE);
- if (gAbsentBankFlags & gBitTable[gBankTarget])
- gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON);
+ gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ BIT_SIDE);
+ if (gAbsentBattlerFlags & gBitTable[gBankTarget])
+ gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK);
}
}
}
@@ -6777,7 +6777,7 @@ void HandleAction_UseItem(void)
{
gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0];
}
- else if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ else if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER)
{
gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0];
}
@@ -7272,7 +7272,7 @@ void HandleAction_Run(void)
for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++)
{
- if (GetBankSide(gActiveBattler) == SIDE_PLAYER)
+ if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER)
{
if (gActionForBanks[gActiveBattler] == ACTION_RUN)
gBattleOutcome |= BATTLE_LOST;
@@ -7288,7 +7288,7 @@ void HandleAction_Run(void)
}
else
{
- if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER)
{
if (!TryRunFromBattle(gBankAttacker)) // failed to run away
{
@@ -7398,7 +7398,7 @@ void HandleAction_Action9(void)
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
- PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker])
+ PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlerPartyIndexes[gBankAttacker])
gBattlescriptCurrInstr = gBattlescriptsForSafariActions[3];
gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT;
diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c
index 781478cb1..e1cc515ec 100644
--- a/src/battle/battle_4.c
+++ b/src/battle/battle_4.c
@@ -106,7 +106,7 @@ extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern u8 gActiveBattler;
extern u32 gBattleExecBuffer;
extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
+extern u16 gBattlerPartyIndexes[BATTLE_BANKS_COUNT];
extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT];
extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT];
extern u16 gCurrentMove;
@@ -114,7 +114,7 @@ extern u8 gLastUsedAbility;
extern u16 gBattleWeather;
extern u8 gStringBank;
extern u8 gEffectBank;
-extern u8 gAbsentBankFlags;
+extern u8 gAbsentBattlerFlags;
extern u8 gMultiHitCounter;
extern u16 gLastUsedMove[4];
extern u16 gLockedMoves[4];
@@ -132,7 +132,7 @@ extern const u8* gBattlescriptCurrInstr;
extern u8 gCurrMovePos;
extern u8 gCurrentActionFuncId;
extern u32 gHitMarker;
-extern u8 gBattleMoveFlags;
+extern u8 gMoveResultFlags;
extern u8 gBattleCommunication[];
extern u16 gLastLandedMoves[4];
extern u16 gLastHitByType[4];
@@ -192,7 +192,7 @@ void RecordItemBattle(u8 bank, u8 holdEffect);
static bool8 IsTwoTurnsMove(u16 move);
static void TrySetDestinyBondToHappen(void);
static void CheckWonderGuardAndLevitate(void);
-u8 GetBankIdentity(u8 bank);
+u8 GetBattlerPosition(u8 bank);
u8 GetBankSide(u8 bank);
u8 GetBattleBank(u8 bankValue);
s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 bank_atk, u8 bank_def);
@@ -212,7 +212,7 @@ u8 GetSetPokedexFlag(u16 nationalNum, u8 caseID);
u16 SpeciesToNationalPokedexNum(u16 species);
u8 sub_803FC34(u8 bank);
u16 sub_803FBFC(u8 a);
-u8 GetBankByIdentity(u8 ID);
+u8 GetBattlerAtPosition(u8 ID);
void sub_8012258(u8);
//MonTryLearningNewMove teach poke a move
u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move);
@@ -1119,7 +1119,7 @@ static void atk00_attackcanceler(void)
&& !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS))
{
gBattlescriptCurrInstr = BattleScript_NoPPForMove;
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
return;
}
@@ -1136,7 +1136,7 @@ static void atk00_attackcanceler(void)
gHitMarker |= HITMARKER_OBEYS;
return;
default:
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
return;
}
}
@@ -1178,7 +1178,7 @@ static void atk00_attackcanceler(void)
&& ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS))))
{
CancelMultiTurnMoves(gBankAttacker);
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gLastLandedMoves[gBankTarget] = 0;
gLastHitByType[gBankTarget] = 0;
gBattleCommunication[6] = 1;
@@ -1193,7 +1193,7 @@ static void atk00_attackcanceler(void)
static void JumpIfMoveFailed(u8 adder, u16 move)
{
const u8 *BS_ptr = gBattlescriptCurrInstr + adder;
- if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
gLastLandedMoves[gBankTarget] = 0;
gLastHitByType[gBankTarget] = 0;
@@ -1212,7 +1212,7 @@ static void atk40_jumpifaffectedbyprotect(void)
{
if (TARGET_PROTECT_AFFECTED)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
JumpIfMoveFailed(5, 0);
gBattleCommunication[6] = 1;
}
@@ -1227,7 +1227,7 @@ static bool8 JumpIfMoveAffectedByProtect(u16 move)
bool8 affected = FALSE;
if (TARGET_PROTECT_AFFECTED)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
JumpIfMoveFailed(7, move);
gBattleCommunication[6] = 1;
affected = TRUE;
@@ -1245,7 +1245,7 @@ static bool8 AccuracyCalcHelper(u16 move)
if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBankTarget] & STATUS3_ON_AIR)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
JumpIfMoveFailed(7, move);
return TRUE;
}
@@ -1254,7 +1254,7 @@ static bool8 AccuracyCalcHelper(u16 move)
if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBankTarget] & STATUS3_UNDERGROUND)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
JumpIfMoveFailed(7, move);
return TRUE;
}
@@ -1263,7 +1263,7 @@ static bool8 AccuracyCalcHelper(u16 move)
if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBankTarget] & STATUS3_UNDERWATER)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
JumpIfMoveFailed(7, move);
return TRUE;
}
@@ -1359,7 +1359,7 @@ static void atk01_accuracycheck(void)
// final calculation
if ((Random() % 100 + 1) > calc)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE &&
(gBattleMoves[move].target == 0x8 || gBattleMoves[move].target == 0x20))
gBattleCommunication[6] = 2;
@@ -1470,7 +1470,7 @@ static void atk04_critcalc(void)
static void atk05_damagecalc(void)
{
- u16 side_hword = gSideAffecting[GetBankIdentity(gBankTarget) & 1];
+ u16 side_hword = gSideAffecting[GetBattlerPosition(gBankTarget) & 1];
gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove,
side_hword, gDynamicBasePower,
gBattleStruct->dynamicMoveType, gBankAttacker, gBankTarget);
@@ -1486,7 +1486,7 @@ static void atk05_damagecalc(void)
void AI_CalcDmg(u8 BankAtk, u8 BankDef)
{
- u16 side_hword = gSideAffecting[GetBankIdentity(BankDef) & 1];
+ u16 side_hword = gSideAffecting[GetBattlerPosition(BankDef) & 1];
gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[BankAtk], &gBattleMons[BankDef], gCurrentMove,
side_hword, gDynamicBasePower,
gBattleStruct->dynamicMoveType, BankAtk, BankDef);
@@ -1508,26 +1508,26 @@ static void ModulateDmgByType(u8 multiplier)
switch (multiplier)
{
case 0: //no effect
- gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
- gBattleMoveFlags &= ~MOVESTATUS_NOTVERYEFFECTIVE;
- gBattleMoveFlags &= ~MOVESTATUS_SUPEREFFECTIVE;
+ gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
+ gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE;
+ gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE;
break;
case 5: //not very effecting
- if (gBattleMoves[gCurrentMove].power && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ if (gBattleMoves[gCurrentMove].power && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
- if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE)
- gBattleMoveFlags &= ~MOVESTATUS_SUPEREFFECTIVE;
+ if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE)
+ gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE;
else
- gBattleMoveFlags |= MOVESTATUS_NOTVERYEFFECTIVE;
+ gMoveResultFlags |= MOVE_RESULT_NOT_VERY_EFFECTIVE;
}
break;
case 20: //super effective
- if (gBattleMoves[gCurrentMove].power && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ if (gBattleMoves[gCurrentMove].power && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
- if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE)
- gBattleMoveFlags &= ~MOVESTATUS_NOTVERYEFFECTIVE;
+ if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
+ gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE;
else
- gBattleMoveFlags |= MOVESTATUS_SUPEREFFECTIVE;
+ gMoveResultFlags |= MOVE_RESULT_SUPER_EFFECTIVE;
}
break;
}
@@ -1554,7 +1554,7 @@ static void atk06_typecalc(void)
if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND)
{
gLastUsedAbility = gBattleMons[gBankTarget].ability;
- gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED);
+ gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE);
gLastLandedMoves[gBankTarget] = 0;
gLastHitByType[gBankTarget] = 0;
gBattleCommunication[6] = move_type;
@@ -1587,17 +1587,17 @@ static void atk06_typecalc(void)
}
if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2
- && (!(gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) || ((gBattleMoveFlags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)))
+ && (!(gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) || ((gMoveResultFlags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)))
&& gBattleMoves[gCurrentMove].power)
{
gLastUsedAbility = ABILITY_WONDER_GUARD;
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gLastLandedMoves[gBankTarget] = 0;
gLastHitByType[gBankTarget] = 0;
gBattleCommunication[6] = 3;
RecordAbilityBattle(gBankTarget, gLastUsedAbility);
}
- if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
+ if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
gProtectStructs[gBankAttacker].notEffective = 1;
}
gBattlescriptCurrInstr++;
@@ -1637,14 +1637,14 @@ static void CheckWonderGuardAndLevitate(void)
//check no effect
if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 0)
{
- gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
+ gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
gProtectStructs[gBankAttacker].notEffective = 1;
}
if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 &&
gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 &&
gTypeEffectiveness[i + 2] == 0)
{
- gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
+ gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
gProtectStructs[gBankAttacker].notEffective = 1;
}
@@ -1685,26 +1685,26 @@ static void ModulateDmgByType2(u8 multiplier, u16 move, u8* flags) //a literal c
switch (multiplier)
{
case 0: //no effect
- *flags |= MOVESTATUS_NOTAFFECTED;
- *flags &= ~MOVESTATUS_NOTVERYEFFECTIVE;
- *flags &= ~MOVESTATUS_SUPEREFFECTIVE;
+ *flags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
+ *flags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE;
+ *flags &= ~MOVE_RESULT_SUPER_EFFECTIVE;
break;
case 5: //not very effecting
- if (gBattleMoves[move].power && !(*flags & MOVESTATUS_NOEFFECT))
+ if (gBattleMoves[move].power && !(*flags & MOVE_RESULT_NO_EFFECT))
{
- if (*flags & MOVESTATUS_SUPEREFFECTIVE)
- *flags &= ~MOVESTATUS_SUPEREFFECTIVE;
+ if (*flags & MOVE_RESULT_SUPER_EFFECTIVE)
+ *flags &= ~MOVE_RESULT_SUPER_EFFECTIVE;
else
- *flags |= MOVESTATUS_NOTVERYEFFECTIVE;
+ *flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE;
}
break;
case 20: //super effective
- if (gBattleMoves[move].power && !(*flags & MOVESTATUS_NOEFFECT))
+ if (gBattleMoves[move].power && !(*flags & MOVE_RESULT_NO_EFFECT))
{
- if (*flags & MOVESTATUS_NOTVERYEFFECTIVE)
- *flags &= ~MOVESTATUS_NOTVERYEFFECTIVE;
+ if (*flags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
+ *flags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE;
else
- *flags |= MOVESTATUS_SUPEREFFECTIVE;
+ *flags |= MOVE_RESULT_SUPER_EFFECTIVE;
}
break;
}
@@ -1730,7 +1730,7 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def)
if (gBattleMons[bank_def].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND)
{
- flags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED);
+ flags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE);
}
else
{
@@ -1758,12 +1758,12 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def)
}
}
- if (gBattleMons[bank_def].ability == ABILITY_WONDER_GUARD && !(flags & MOVESTATUS_MISSED) &&
+ if (gBattleMons[bank_def].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_MISSED) &&
AttacksThisTurn(bank_atk, move) == 2 &&
- (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) &&
+ (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) &&
gBattleMoves[move].power)
{
- flags |= MOVESTATUS_MISSED;
+ flags |= MOVE_RESULT_MISSED;
}
return flags;
}
@@ -1780,7 +1780,7 @@ u8 AI_TypeCalc(u16 move, u16 species, u8 ability)
move_type = gBattleMoves[move].type;
if (ability == ABILITY_LEVITATE && move_type == TYPE_GROUND)
- flags = MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED;
+ flags = MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE;
else
{
while (gTypeEffectiveness[i]!= TYPE_ENDTABLE)
@@ -1803,9 +1803,9 @@ u8 AI_TypeCalc(u16 move, u16 species, u8 ability)
}
}
if (ability == ABILITY_WONDER_GUARD
- && (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)))
+ && (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)))
&& gBattleMoves[move].power)
- flags |= MOVESTATUS_NOTAFFECTED;
+ flags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
return flags;
}
@@ -1863,12 +1863,12 @@ static void atk07_adjustnormaldamage(void)
if (gProtectStructs[gBankTarget].endured)
{
- gBattleMoveFlags |= MOVESTATUS_ENDURED;
+ gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
goto END;
}
if (gSpecialStatuses[gBankTarget].focusBanded)
{
- gBattleMoveFlags |= MOVESTATUS_HUNGON;
+ gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
gLastUsedItem = gBattleMons[gBankTarget].item;
}
@@ -1910,12 +1910,12 @@ static void atk08_adjustnormaldamage2(void) //literally the same as 0x7 except i
if (gProtectStructs[gBankTarget].endured)
{
- gBattleMoveFlags |= MOVESTATUS_ENDURED;
+ gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
goto END;
}
if (gSpecialStatuses[gBankTarget].focusBanded)
{
- gBattleMoveFlags |= MOVESTATUS_HUNGON;
+ gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
gLastUsedItem = gBattleMons[gBankTarget].item;
}
@@ -1942,7 +1942,7 @@ static void atk09_attackanimation(void)
gBattlescriptCurrInstr++;
return;
}
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
gActiveBattler = gBankAttacker;
@@ -1971,7 +1971,7 @@ static void atk0B_healthbarupdate(void)
if (gBattleExecBuffer)
return;
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
@@ -1999,7 +1999,7 @@ static void atk0B_healthbarupdate(void)
EmitHealthBarUpdate(0, gBattleMoveDamage);
MarkBufferBankForExecution(gActiveBattler);
- if (GetBankSide(gActiveBattler) == SIDE_PLAYER && gBattleMoveDamage > 0)
+ if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0)
gBattleResults.unk5_0 = 1;
}
}
@@ -2021,7 +2021,7 @@ static void atk0C_datahpupdate(void)
else
moveType = gBattleMoves[gCurrentMove].type;
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]);
if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE))
@@ -2137,7 +2137,7 @@ static void atk0D_critmessage(void)
{
if (gBattleExecBuffer == 0)
{
- if (gCritMultiplier == 2 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ if (gCritMultiplier == 2 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
PrepareStringBattle(0xD9, gBankAttacker);
gBattleCommunication[MSG_DISPLAY] = 1;
@@ -2152,37 +2152,37 @@ static void atk0E_effectivenesssound(void)
return;
gActiveBattler = gBankTarget;
- if (!(gBattleMoveFlags & MOVESTATUS_MISSED))
+ if (!(gMoveResultFlags & MOVE_RESULT_MISSED))
{
- u8 flag = ~MOVESTATUS_MISSED;
- switch (gBattleMoveFlags & flag)
+ u8 flag = ~MOVE_RESULT_MISSED;
+ switch (gMoveResultFlags & flag)
{
- case MOVESTATUS_SUPEREFFECTIVE:
+ case MOVE_RESULT_SUPER_EFFECTIVE:
EmitEffectivenessSound(0, 14);
MarkBufferBankForExecution(gActiveBattler);
break;
- case MOVESTATUS_NOTVERYEFFECTIVE:
+ case MOVE_RESULT_NOT_VERY_EFFECTIVE:
EmitEffectivenessSound(0, 12);
MarkBufferBankForExecution(gActiveBattler);
break;
- case MOVESTATUS_NOTAFFECTED:
- case MOVESTATUS_FAILED:
+ case MOVE_RESULT_DOESNT_AFFECT_FOE:
+ case MOVE_RESULT_FAILED:
break;
- case MOVESTATUS_ENDURED:
- case MOVESTATUS_ONEHITKO:
- case MOVESTATUS_HUNGON:
+ case MOVE_RESULT_FOE_ENDURED:
+ case MOVE_RESULT_ONE_HIT_KO:
+ case MOVE_RESULT_FOE_HUNG_ON:
default:
- if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE)
+ if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE)
{
EmitEffectivenessSound(0, 14);
MarkBufferBankForExecution(gActiveBattler);
}
- else if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE)
+ else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
{
EmitEffectivenessSound(0, 12);
MarkBufferBankForExecution(gActiveBattler);
}
- else if (!(gBattleMoveFlags & (MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED)))
+ else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)))
{
EmitEffectivenessSound(0, 13);
MarkBufferBankForExecution(gActiveBattler);
@@ -2200,7 +2200,7 @@ static void atk0F_resultmessage(void)
if (gBattleExecBuffer)
return;
- if (gBattleMoveFlags & MOVESTATUS_MISSED && (!(gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) || gBattleCommunication[6] > 2))
+ if (gMoveResultFlags & MOVE_RESULT_MISSED && (!(gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) || gBattleCommunication[6] > 2))
{
stringId = gMissStringIds[gBattleCommunication[6]];
gBattleCommunication[MSG_DISPLAY] = 1;
@@ -2208,64 +2208,64 @@ static void atk0F_resultmessage(void)
else
{
gBattleCommunication[MSG_DISPLAY] = 1;
- switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED)))
+ switch (gMoveResultFlags & (u8)(~(MOVE_RESULT_MISSED)))
{
- case MOVESTATUS_SUPEREFFECTIVE:
+ case MOVE_RESULT_SUPER_EFFECTIVE:
stringId = STRINGID_SUPEREFFECTIVE;
break;
- case MOVESTATUS_NOTVERYEFFECTIVE:
+ case MOVE_RESULT_NOT_VERY_EFFECTIVE:
stringId = STRINGID_NOTVERYEFFECTIVE;
break;
- case MOVESTATUS_ONEHITKO:
+ case MOVE_RESULT_ONE_HIT_KO:
stringId = STRINGID_ONEHITKO;
break;
- case MOVESTATUS_ENDURED:
+ case MOVE_RESULT_FOE_ENDURED:
stringId = STRINGID_PKMNENDUREDHIT;
break;
- case MOVESTATUS_FAILED:
+ case MOVE_RESULT_FAILED:
stringId = STRINGID_BUTITFAILED;
break;
- case MOVESTATUS_NOTAFFECTED:
+ case MOVE_RESULT_DOESNT_AFFECT_FOE:
stringId = STRINGID_ITDOESNTAFFECT;
break;
- case MOVESTATUS_HUNGON:
+ case MOVE_RESULT_FOE_HUNG_ON:
gLastUsedItem = gBattleMons[gBankTarget].item;
gStringBank = gBankTarget;
- gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON);
+ gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_HangedOnMsg;
return;
default:
- if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
+ if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
{
stringId = STRINGID_ITDOESNTAFFECT;
}
- else if (gBattleMoveFlags & MOVESTATUS_ONEHITKO)
+ else if (gMoveResultFlags & MOVE_RESULT_ONE_HIT_KO)
{
- gBattleMoveFlags &= ~(MOVESTATUS_ONEHITKO);
- gBattleMoveFlags &= ~(MOVESTATUS_SUPEREFFECTIVE);
- gBattleMoveFlags &= ~(MOVESTATUS_NOTVERYEFFECTIVE);
+ gMoveResultFlags &= ~(MOVE_RESULT_ONE_HIT_KO);
+ gMoveResultFlags &= ~(MOVE_RESULT_SUPER_EFFECTIVE);
+ gMoveResultFlags &= ~(MOVE_RESULT_NOT_VERY_EFFECTIVE);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_OneHitKOMsg;
return;
}
- else if (gBattleMoveFlags & MOVESTATUS_ENDURED)
+ else if (gMoveResultFlags & MOVE_RESULT_FOE_ENDURED)
{
- gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON);
+ gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_EnduredMsg;
return;
}
- else if (gBattleMoveFlags & MOVESTATUS_HUNGON)
+ else if (gMoveResultFlags & MOVE_RESULT_FOE_HUNG_ON)
{
gLastUsedItem = gBattleMons[gBankTarget].item;
gStringBank = gBankTarget;
- gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON);
+ gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON);
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_HangedOnMsg;
return;
}
- else if (gBattleMoveFlags & MOVESTATUS_FAILED)
+ else if (gMoveResultFlags & MOVE_RESULT_FAILED)
{
stringId = STRINGID_BUTITFAILED;
}
@@ -2387,7 +2387,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
!primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 9)
{gBattlescriptCurrInstr++; return;}
- if (gSideAffecting[GetBankIdentity(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) &&
+ if (gSideAffecting[GetBattlerPosition(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) &&
!primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 7)
{gBattlescriptCurrInstr++; return;}
@@ -2555,7 +2555,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
break;
}
else
- gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
+ gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
break;
}
if (StatusChanged == 1)
@@ -2634,7 +2634,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]];
break;
case 11: //pay day
- if (!(GetBankIdentity(gBankAttacker) & 1))
+ if (!(GetBattlerPosition(gBankAttacker) & 1))
{
u16 PayDay = gPaydayMoney;
gPaydayMoney += (gBattleMons[gBankAttacker].level * 5);
@@ -2732,7 +2732,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
u8 side = GetBankSide(gBankAttacker);
if (GetBankSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400)
{gBattlescriptCurrInstr++; return;}
- if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlePartyID[gBankAttacker]]))
+ if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBankAttacker]]))
{gBattlescriptCurrInstr++; return;}
if (gBattleMons[gBankTarget].item && gBattleMons[gBankTarget].ability == ABILITY_STICKY_HOLD)
{
@@ -2835,7 +2835,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
u8 side = GetBankSide(gEffectBank);
gLastUsedItem = gBattleMons[gEffectBank].item;
gBattleMons[gEffectBank].item = 0;
- gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlePartyID[gEffectBank]];
+ gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBank]];
BattleScriptPush(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr = BattleScript_KnockedOff;
@@ -2932,7 +2932,7 @@ _0801E450:\n\
_0801E48A:\n\
mov r1, r8\n\
ldrb r0, [r1]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
ldr r2, _0801E554 @ =gSideAffecting\n\
movs r1, 0x1\n\
ands r1, r0\n\
@@ -3644,7 +3644,7 @@ _0801EA04:\n\
mov r10, r0\n\
b _0801EA14\n\
_0801EA0A:\n\
- ldr r0, _0801EA58 @ =gBattleMoveFlags\n\
+ ldr r0, _0801EA58 @ =gMoveResultFlags\n\
ldrb r1, [r0]\n\
movs r2, 0x8\n\
orrs r1, r2\n\
@@ -3683,7 +3683,7 @@ _0801EA1C:\n\
str r0, [r3]\n\
b _0801EA84\n\
.align 2, 0\n\
-_0801EA58: .4byte gBattleMoveFlags\n\
+_0801EA58: .4byte gMoveResultFlags\n\
_0801EA5C: .4byte gBattlescriptCurrInstr\n\
_0801EA60: .4byte sStatusFlagsForMoveEffects\n\
_0801EA64: .4byte gBattleCommunication\n\
@@ -4050,7 +4050,7 @@ _0801EDD8: .4byte gBattleCommunication\n\
_0801EDDC:\n\
ldr r5, _0801EE30 @ =gBankAttacker\n\
ldrb r0, [r5]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
movs r1, 0x1\n\
ands r1, r0\n\
cmp r1, 0\n\
@@ -4539,7 +4539,7 @@ _0801F1D8:\n\
adds r0, r6, r0\n\
ldrb r1, [r0]\n\
ldr r3, _0801F268 @ =gBitTable\n\
- ldr r2, _0801F26C @ =gBattlePartyID\n\
+ ldr r2, _0801F26C @ =gBattlerPartyIndexes\n\
ldr r0, _0801F254 @ =gBankAttacker\n\
ldrb r0, [r0]\n\
lsls r0, 1\n\
@@ -4590,7 +4590,7 @@ _0801F25C: .4byte 0x00000902\n\
_0801F260: .4byte gTrainerBattleOpponent\n\
_0801F264: .4byte gWishFutureKnock\n\
_0801F268: .4byte gBitTable\n\
-_0801F26C: .4byte gBattlePartyID\n\
+_0801F26C: .4byte gBattlerPartyIndexes\n\
_0801F270: .4byte gBattleMons\n\
_0801F274: .4byte gBankTarget\n\
_0801F278: .4byte gBattlescriptCurrInstr\n\
@@ -4944,7 +4944,7 @@ _0801F540:\n\
adds r2, 0x29\n\
adds r2, r6, r2\n\
ldr r3, _0801F5C0 @ =gBitTable\n\
- ldr r1, _0801F5C4 @ =gBattlePartyID\n\
+ ldr r1, _0801F5C4 @ =gBattlerPartyIndexes\n\
mov r4, r8\n\
ldrb r0, [r4]\n\
lsls r0, 1\n\
@@ -4981,7 +4981,7 @@ _0801F540:\n\
_0801F5B8: .4byte gLastUsedItem\n\
_0801F5BC: .4byte gWishFutureKnock\n\
_0801F5C0: .4byte gBitTable\n\
-_0801F5C4: .4byte gBattlePartyID\n\
+_0801F5C4: .4byte gBattlerPartyIndexes\n\
_0801F5C8: .4byte gBattlescriptCurrInstr\n\
_0801F5CC: .4byte BattleScript_KnockedOff\n\
_0801F5D0: .4byte gSharedMem\n\
@@ -5029,16 +5029,16 @@ static void atk15_seteffectwithchance(void)
PercentChance = gBattleMoves[gCurrentMove].secondaryEffectChance;
if (DEBUG && (gUnknown_02023A14_50 & 4)
- && !(gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ && !(gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
SetMoveEffect(0, 0);
}
- else if ((gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ else if ((gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
gBattleCommunication[MOVE_EFFECT_BYTE] &= 0x7F;
SetMoveEffect(0, 0x80);
}
- else if (Random() % 100 <= PercentChance && gBattleCommunication[MOVE_EFFECT_BYTE] != 0 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ else if (Random() % 100 <= PercentChance && gBattleCommunication[MOVE_EFFECT_BYTE] != 0 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
if (PercentChance >= 100)
SetMoveEffect(0, 0x80);
@@ -5113,7 +5113,7 @@ static void atk19_tryfaintmon(void)
bank = gBankAttacker;
r4 = BattleScript_FaintTarget;
}
- if (!(gAbsentBankFlags & gBitTable[gActiveBattler])
+ if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])
&& gBattleMons[gActiveBattler].hp == 0)
{
ewram160ACarr2(0, bank) = 0;
@@ -5134,9 +5134,9 @@ static void atk19_tryfaintmon(void)
if (gBattleMons[bank].level > gBattleMons[gActiveBattler].level)
{
if (gBattleMons[bank].level - gBattleMons[gActiveBattler].level > 0x1D)
- AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBattler]], 8);
+ AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 8);
else
- AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBattler]], 6);
+ AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 6);
}
}
else
@@ -5279,9 +5279,9 @@ static void atk1F_jumpifsideaffecting(void)
u16 flags;
void* jump_loc;
if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1)
- side = GetBankIdentity(gBankAttacker) & 1;
+ side = GetBattlerPosition(gBankAttacker) & 1;
else
- side = GetBankIdentity(gBankTarget) & 1;
+ side = GetBattlerPosition(gBankTarget) & 1;
flags = T2_READ_16(gBattlescriptCurrInstr + 2);
jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 4);
@@ -5382,7 +5382,7 @@ static void atk23_getexp(void)
switch (gBattleStruct->getexpStateTracker)
{
case 0: // check if should receive exp at all
- if (GetBankSide(gBank1) != SIDE_OPPONENT || (gBattleTypeFlags &
+ if (GetBankSide(gBank1) != B_SIDE_OPPONENT || (gBattleTypeFlags &
(BATTLE_TYPE_LINK
| BATTLE_TYPE_SAFARI
| BATTLE_TYPE_BATTLE_TOWER
@@ -5393,7 +5393,7 @@ static void atk23_getexp(void)
else
{
gBattleStruct->getexpStateTracker++;
- gBattleStruct->unk16113 |= gBitTable[gBattlePartyID[gBank1]];
+ gBattleStruct->unk16113 |= gBitTable[gBattlerPartyIndexes[gBank1]];
}
break;
case 1: // calculate experience points to redistribute
@@ -5503,11 +5503,11 @@ static void atk23_getexp(void)
// get exp getter bank
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
- if (!(gBattlePartyID[2] != gBattleStruct->expGetterID) && !(gAbsentBankFlags & gBitTable[2]))
+ if (!(gBattlerPartyIndexes[2] != gBattleStruct->expGetterID) && !(gAbsentBattlerFlags & gBitTable[2]))
gBattleStruct->expGetterBank = 2;
else
{
- if (!(gAbsentBankFlags & gBitTable[0]))
+ if (!(gAbsentBattlerFlags & gBitTable[0]))
gBattleStruct->expGetterBank = 0;
else
gBattleStruct->expGetterBank = 2;
@@ -5558,8 +5558,8 @@ static void atk23_getexp(void)
if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES
&& gBattleBufferB[gActiveBattler][1] == RET_VALUE_LEVELLED_UP)
{
- if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID)
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID)
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterID)
@@ -5572,7 +5572,7 @@ static void atk23_getexp(void)
AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterID], 0);
// update battle mon structure after level up
- if (gBattlePartyID[0] == gBattleStruct->expGetterID && gBattleMons[0].hp)
+ if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID && gBattleMons[0].hp)
{
gBattleMons[0].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL);
gBattleMons[0].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_HP);
@@ -5586,7 +5586,7 @@ static void atk23_getexp(void)
gBattleMons[0].spDefense = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_SPDEF);
}
// What is else if?
- if (gBattlePartyID[2] == gBattleStruct->expGetterID && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterID && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
gBattleMons[2].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL);
gBattleMons[2].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_HP);
@@ -5915,7 +5915,7 @@ _08020B50: .4byte gBattlescriptCurrInstr\n\
static void MoveValuesCleanUp(void)
{
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gBattleStruct->dmgMultiplier = 1;
gCritMultiplier = 1;
gBattleCommunication[MOVE_EFFECT_BYTE] = 0;
@@ -6246,7 +6246,7 @@ static void atk3C_return(void)
static void atk3D_end(void)
{
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gActiveBattler = 0;
gCurrentActionFuncId = 0xB;
}
@@ -6425,7 +6425,7 @@ static void atk48_playstatchangeanimation(void)
if (!(T2_READ_8(gBattlescriptCurrInstr + 3)))
{
u8 ability;
- if (gSideTimers[GetBankIdentity(gActiveBattler) & 1].mistTimer)
+ if (gSideTimers[GetBattlerPosition(gActiveBattler) & 1].mistTimer)
continue;
ability = gBattleMons[gActiveBattler].ability;
if (ability == ABILITY_CLEAR_BODY || ability == ABILITY_WHITE_SMOKE || (ability == ABILITY_KEEN_EYE && curr_stat == 6) || (ability == ABILITY_HYPER_CUTTER && curr_stat == 1))
@@ -6554,7 +6554,7 @@ _0802167C:\n\
ldr r6, _08021700 @ =gActiveBattler\n\
ldrb r0, [r6]\n\
str r3, [sp]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
mov r1, r10\n\
ands r1, r0\n\
lsls r0, r1, 1\n\
@@ -6784,7 +6784,7 @@ static void atk49_moveend(void)
if (gBattleMons[gBankTarget].status2 & STATUS2_RAGE
&& gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget
&& GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)
- && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && TARGET_TURN_DAMAGED
+ && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED
&& gBattleMoves[gCurrentMove].power && gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] <= 0xB)
{
gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK]++;
@@ -6798,7 +6798,7 @@ static void atk49_moveend(void)
if (gBattleMons[gBankTarget].status1 & STATUS_FREEZE
&& gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget
&& gSpecialStatuses[gBankTarget].moveturnLostHP
- && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && move_type == TYPE_FIRE)
+ && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move_type == TYPE_FIRE)
{
gBattleMons[gBankTarget].status1 &= ~(STATUS_FREEZE);
gActiveBattler = gBankTarget;
@@ -6834,7 +6834,7 @@ static void atk49_moveend(void)
case 6: //update choice band move
if (gHitMarker & HITMARKER_OBEYS && hold_effect_atk == HOLD_EFFECT_CHOICE_BAND
&& gLastUsedMove != MOVE_STRUGGLE && (*choiced_move_atk == 0 || *choiced_move_atk == 0xFFF)
- && gLastUsedMove != MOVE_BATON_PASS && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
+ && gLastUsedMove != MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT))
{
*choiced_move_atk = gLastUsedMove;
for (i = 0; i < 4 && gBattleMons[gBankAttacker].moves[i] != *choiced_move_atk; i++){}
@@ -6863,7 +6863,7 @@ static void atk49_moveend(void)
gBattleStruct->cmd49StateTracker++;
break;
case 9: //semi-invlurneable attacker make visible
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) || !(gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER))
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || !(gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER))
|| WasUnableToUseMove(gBankAttacker))
{
gActiveBattler = gBankAttacker;
@@ -6875,7 +6875,7 @@ static void atk49_moveend(void)
gBattleStruct->cmd49StateTracker++;
break;
case 10: //semi-invlurneable target make visible
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) || !(gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER))
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || !(gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER))
|| WasUnableToUseMove(gBankTarget))
{
gActiveBattler = gBankTarget;
@@ -7079,7 +7079,7 @@ _08021958:\n\
lsls r0, 24\n\
cmp r4, r0\n\
beq _080219FE\n\
- ldr r0, _08021A14 @ =gBattleMoveFlags\n\
+ ldr r0, _08021A14 @ =gMoveResultFlags\n\
ldrb r1, [r0]\n\
movs r0, 0x29\n\
ands r0, r1\n\
@@ -7136,7 +7136,7 @@ _080219FE:\n\
_08021A08: .4byte gBattleMons\n\
_08021A0C: .4byte gBankTarget\n\
_08021A10: .4byte gBankAttacker\n\
-_08021A14: .4byte gBattleMoveFlags\n\
+_08021A14: .4byte gMoveResultFlags\n\
_08021A18: .4byte gProtectStructs\n\
_08021A1C: .4byte gBattleMoves\n\
_08021A20: .4byte gCurrentMove\n\
@@ -7185,7 +7185,7 @@ _08021A68:\n\
bne _08021A7C\n\
b _08021DFA\n\
_08021A7C:\n\
- ldr r0, _08021AE0 @ =gBattleMoveFlags\n\
+ ldr r0, _08021AE0 @ =gMoveResultFlags\n\
ldrb r1, [r0]\n\
movs r0, 0x29\n\
ands r0, r1\n\
@@ -7231,7 +7231,7 @@ _08021AD0: .4byte gBattleMons\n\
_08021AD4: .4byte gBankTarget\n\
_08021AD8: .4byte gBankAttacker\n\
_08021ADC: .4byte gSpecialStatuses\n\
-_08021AE0: .4byte gBattleMoveFlags\n\
+_08021AE0: .4byte gMoveResultFlags\n\
_08021AE4: .4byte gActiveBattler\n\
_08021AE8: .4byte gBattlescriptCurrInstr\n\
_08021AEC: .4byte BattleScript_DefrostedViaFireMove\n\
@@ -7348,7 +7348,7 @@ _08021B9C:\n\
_08021BC8:\n\
cmp r2, 0xE2\n\
bne _08021BDA\n\
- ldr r0, _08021C34 @ =gBattleMoveFlags\n\
+ ldr r0, _08021C34 @ =gMoveResultFlags\n\
ldrb r1, [r0]\n\
movs r0, 0x20\n\
ands r0, r1\n\
@@ -7403,7 +7403,7 @@ _08021C22:\n\
_08021C28: .4byte gHitMarker\n\
_08021C2C: .4byte gChosenMove\n\
_08021C30: .4byte 0x0000ffff\n\
-_08021C34: .4byte gBattleMoveFlags\n\
+_08021C34: .4byte gMoveResultFlags\n\
_08021C38: .4byte gBattleMons\n\
_08021C3C: .4byte gBankAttacker\n\
_08021C40:\n\
@@ -7512,7 +7512,7 @@ _08021D0C: .4byte 0x000400c0\n\
_08021D10: .4byte gHitMarker\n\
_08021D14: .4byte gActiveBattler\n\
_08021D18:\n\
- ldr r0, _08021D88 @ =gBattleMoveFlags\n\
+ ldr r0, _08021D88 @ =gMoveResultFlags\n\
ldrb r1, [r0]\n\
movs r0, 0x29\n\
ands r0, r1\n\
@@ -7567,7 +7567,7 @@ _08021D7E:\n\
adds r1, r2, r4\n\
b _08021E00\n\
.align 2, 0\n\
-_08021D88: .4byte gBattleMoveFlags\n\
+_08021D88: .4byte gMoveResultFlags\n\
_08021D8C: .4byte gStatuses3\n\
_08021D90: .4byte gBankAttacker\n\
_08021D94: .4byte 0x000400c0\n\
@@ -7701,7 +7701,7 @@ _08021E9A:\n\
adds r7, r2, 0\n\
cmp r0, 0x7F\n\
bne _08021EBE\n\
- ldr r0, _08021F48 @ =gBattleMoveFlags\n\
+ ldr r0, _08021F48 @ =gMoveResultFlags\n\
ldrb r1, [r0]\n\
movs r0, 0x29\n\
ands r0, r1\n\
@@ -7715,7 +7715,7 @@ _08021EBE:\n\
adds r0, r1\n\
strh r3, [r0]\n\
_08021ECA:\n\
- ldr r0, _08021F50 @ =gAbsentBankFlags\n\
+ ldr r0, _08021F50 @ =gAbsentBattlerFlags\n\
ldrb r1, [r0]\n\
ldr r2, _08021F54 @ =gBitTable\n\
mov r3, r9\n\
@@ -7774,9 +7774,9 @@ _08021F38: .4byte gBankTarget\n\
_08021F3C: .4byte 0xffffefff\n\
_08021F40: .4byte gBattleMoves\n\
_08021F44: .4byte gChosenMove\n\
-_08021F48: .4byte gBattleMoveFlags\n\
+_08021F48: .4byte gMoveResultFlags\n\
_08021F4C: .4byte gUnknown_02024C2C\n\
-_08021F50: .4byte gAbsentBankFlags\n\
+_08021F50: .4byte gAbsentBattlerFlags\n\
_08021F54: .4byte gBitTable\n\
_08021F58: .4byte 0x000160a6\n\
_08021F5C: .4byte gLastUsedMove\n\
@@ -7807,7 +7807,7 @@ _08021F82:\n\
ands r1, r0\n\
cmp r1, 0\n\
bne _08021FA0\n\
- ldr r0, _08021FE0 @ =gUnknown_02024C5C\n\
+ ldr r0, _08021FE0 @ =gLastHitBy\n\
adds r0, r3, r0\n\
mov r3, r9\n\
ldrb r1, [r3]\n\
@@ -7819,7 +7819,7 @@ _08021FA0:\n\
ands r0, r1\n\
cmp r0, 0\n\
beq _0802204C\n\
- ldr r0, _08021FE4 @ =gBattleMoveFlags\n\
+ ldr r0, _08021FE4 @ =gMoveResultFlags\n\
ldrb r1, [r0]\n\
movs r0, 0x29\n\
ands r0, r1\n\
@@ -7841,8 +7841,8 @@ _08021FD0: .4byte gLastUsedMove\n\
_08021FD4: .4byte 0x0000ffff\n\
_08021FD8: .4byte gUnknown_02024C4C\n\
_08021FDC: .4byte gBankTarget\n\
-_08021FE0: .4byte gUnknown_02024C5C\n\
-_08021FE4: .4byte gBattleMoveFlags\n\
+_08021FE0: .4byte gLastHitBy\n\
+_08021FE4: .4byte gMoveResultFlags\n\
_08021FE8: .4byte gLastLandedMoves\n\
_08021FEC:\n\
ldr r0, _08022014 @ =gLastLandedMoves\n\
@@ -7901,7 +7901,7 @@ _0802205C: .4byte gLastLandedMoves\n\
_08022060: .4byte gBankTarget\n\
_08022064: .4byte 0x0000ffff\n\
_08022068:\n\
- ldr r0, _0802212C @ =gAbsentBankFlags\n\
+ ldr r0, _0802212C @ =gAbsentBattlerFlags\n\
ldrb r1, [r0]\n\
ldr r6, _08022130 @ =gBitTable\n\
ldr r2, _08022134 @ =gBankAttacker\n\
@@ -7956,7 +7956,7 @@ _080220C0:\n\
ands r1, r0\n\
cmp r1, 0\n\
bne _0802215C\n\
- ldr r0, _0802214C @ =gBattleMoveFlags\n\
+ ldr r0, _0802214C @ =gMoveResultFlags\n\
ldrb r1, [r0]\n\
movs r0, 0x29\n\
ands r0, r1\n\
@@ -8003,7 +8003,7 @@ _080220C0:\n\
strb r0, [r2]\n\
b _08022244\n\
.align 2, 0\n\
-_0802212C: .4byte gAbsentBankFlags\n\
+_0802212C: .4byte gAbsentBattlerFlags\n\
_08022130: .4byte gBitTable\n\
_08022134: .4byte gBankAttacker\n\
_08022138: .4byte 0x000160a6\n\
@@ -8011,7 +8011,7 @@ _0802213C: .4byte gBattleMoves\n\
_08022140: .4byte gChosenMove\n\
_08022144: .4byte gHitMarker\n\
_08022148: .4byte gBankTarget\n\
-_0802214C: .4byte gBattleMoveFlags\n\
+_0802214C: .4byte gMoveResultFlags\n\
_08022150: .4byte 0x000160ac\n\
_08022154: .4byte 0x000160ad\n\
_08022158: .4byte 0x00016100\n\
@@ -8106,12 +8106,12 @@ _080221C0:\n\
bne _08022244\n\
ldr r7, _080222C8 @ =gBankTarget\n\
ldrb r0, [r7]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
movs r1, 0x2\n\
eors r0, r1\n\
lsls r0, 24\n\
lsrs r0, 24\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
lsls r0, 24\n\
lsrs r2, r0, 24\n\
ldr r1, _080222CC @ =gBattleMons\n\
@@ -8213,7 +8213,7 @@ static void atk4A_typecalc2(void)
if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND)
{
gLastUsedAbility = gBattleMons[gBankTarget].ability;
- gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED);
+ gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE);
gLastLandedMoves[gBankTarget] = 0;
gBattleCommunication[6] = move_type;
RecordAbilityBattle(gBankTarget, gLastUsedAbility);
@@ -8235,13 +8235,13 @@ static void atk4A_typecalc2(void)
{
if (gTypeEffectiveness[i + 2] == 0)
{
- gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
+ gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
break;
}
if (gTypeEffectiveness[i + 2] == 5)
- flags |= MOVESTATUS_NOTVERYEFFECTIVE;
+ flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE;
if (gTypeEffectiveness[i + 2] == 20)
- flags |= MOVESTATUS_SUPEREFFECTIVE;
+ flags |= MOVE_RESULT_SUPER_EFFECTIVE;
}
//check type2
if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2)
@@ -8249,31 +8249,31 @@ static void atk4A_typecalc2(void)
if (gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2
&& gTypeEffectiveness[i + 2] == 0)
{
- gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
+ gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE;
break;
}
if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 5)
- flags |= MOVESTATUS_NOTVERYEFFECTIVE;
+ flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE;
if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2
&& gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 20)
- flags |= MOVESTATUS_SUPEREFFECTIVE;
+ flags |= MOVE_RESULT_SUPER_EFFECTIVE;
}
}
i += 3;
}
}
- if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && !(flags & MOVESTATUS_NOEFFECT) && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 &&
- (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) &&
+ if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_NO_EFFECT) && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 &&
+ (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) &&
gBattleMoves[gCurrentMove].power)
{
gLastUsedAbility = ABILITY_WONDER_GUARD;
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gLastLandedMoves[gBankTarget] = 0;
gBattleCommunication[6] = 3;
RecordAbilityBattle(gBankTarget, gLastUsedAbility);
}
- if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
+ if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
gProtectStructs[gBankAttacker].notEffective = 1;
gBattlescriptCurrInstr++;
@@ -8297,9 +8297,9 @@ static void atk4C_getswitchedmondata(void)
gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
- gBattlePartyID[gActiveBattler] = ewram16068arr(gActiveBattler);
+ gBattlerPartyIndexes[gActiveBattler] = ewram16068arr(gActiveBattler);
- EmitGetAttributes(0, 0, gBitTable[gBattlePartyID[gActiveBattler]]);
+ EmitGetAttributes(0, 0, gBitTable[gBattlerPartyIndexes[gActiveBattler]]);
MarkBufferBankForExecution(gActiveBattler);
gBattlescriptCurrInstr += 2;
}
@@ -8328,7 +8328,7 @@ static void atk4D_switchindataupdate(void)
// check knocked off item
i = GetBankSide(gActiveBattler);
- if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlePartyID[gActiveBattler]])
+ if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]])
{
gBattleMons[gActiveBattler].item = 0;
}
@@ -8346,7 +8346,7 @@ static void atk4D_switchindataupdate(void)
gBattleStruct->scriptingActive = gActiveBattler;
- PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlePartyID[gActiveBattler]);
+ PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]);
gBattlescriptCurrInstr += 2;
}
@@ -8361,8 +8361,8 @@ static void atk4E_switchinanim(void)
{
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2);
}
- gAbsentBankFlags &= ~(gBitTable[gActiveBattler]);
- EmitSendOutPoke(0, gBattlePartyID[gActiveBattler], T2_READ_8(gBattlescriptCurrInstr + 2));
+ gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]);
+ EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], T2_READ_8(gBattlescriptCurrInstr + 2));
MarkBufferBankForExecution(gActiveBattler);
gBattlescriptCurrInstr += 3;
}
@@ -8395,7 +8395,7 @@ static void atk4F_jumpifcantswitch(void)
if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE
&& !GetMonData(&party[val], MON_DATA_IS_EGG)
&& GetMonData(&party[val], MON_DATA_HP) != 0
- && gBattlePartyID[gActiveBattler] != val)
+ && gBattlerPartyIndexes[gActiveBattler] != val)
break;
}
if (val == to_cmp)
@@ -8407,18 +8407,18 @@ static void atk4F_jumpifcantswitch(void)
{
if (GetBankSide(gActiveBattler) == 1)
{
- r7 = GetBankByIdentity(1);
+ r7 = GetBattlerAtPosition(1);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- to_cmp = GetBankByIdentity(3);
+ to_cmp = GetBattlerAtPosition(3);
else
to_cmp = r7;
party = gEnemyParty;
}
else
{
- r7 = GetBankByIdentity(0);
+ r7 = GetBattlerAtPosition(0);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- to_cmp = GetBankByIdentity(2);
+ to_cmp = GetBattlerAtPosition(2);
else
to_cmp = r7;
party = gPlayerParty;
@@ -8428,7 +8428,7 @@ static void atk4F_jumpifcantswitch(void)
if (GetMonData(&party[val], MON_DATA_HP) != 0
&& GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE
&& !GetMonData(&party[val], MON_DATA_IS_EGG)
- && val != gBattlePartyID[r7] && val != gBattlePartyID[to_cmp])
+ && val != gBattlerPartyIndexes[r7] && val != gBattlerPartyIndexes[to_cmp])
break;
}
if (val == 6)
@@ -8440,7 +8440,7 @@ static void atk4F_jumpifcantswitch(void)
void sub_8022A3C(u8 unkown)
{
- BATTLE_PARTY_ID(gActiveBattler) = gBattlePartyID[gActiveBattler];
+ BATTLE_PARTY_ID(gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
EmitChoosePokemon(0, 1, unkown, 0, gBattleStruct->unk1606C[gActiveBattler]);
MarkBufferBankForExecution(gActiveBattler);
}
@@ -8471,7 +8471,7 @@ static void atk50_openpartyscreen(void)
}
else
{
- gAbsentBankFlags |= gBitTable[gActiveBattler];
+ gAbsentBattlerFlags |= gBitTable[gActiveBattler];
gHitMarker &= (~HITMARKER_FAINTED(gActiveBattler));
EmitLinkStandbyMsg(0, 2);
MarkBufferBankForExecution(gActiveBattler);
@@ -8547,7 +8547,7 @@ _08022AE8:\n\
ldr r7, _08022B54 @ =gHitMarker\n\
ldr r6, _08022B58 @ =gBitTable\n\
adds r4, r1, 0\n\
- ldr r0, _08022B5C @ =gAbsentBankFlags\n\
+ ldr r0, _08022B5C @ =gAbsentBattlerFlags\n\
mov r8, r0\n\
_08022AF2:\n\
ldrb r2, [r4]\n\
@@ -8595,7 +8595,7 @@ _08022B4C: .4byte gActiveBattler\n\
_08022B50: .4byte gNoOfAllBanks\n\
_08022B54: .4byte gHitMarker\n\
_08022B58: .4byte gBitTable\n\
-_08022B5C: .4byte gAbsentBankFlags\n\
+_08022B5C: .4byte gAbsentBattlerFlags\n\
_08022B60:\n\
ldr r5, _08022B90 @ =gSpecialStatuses\n\
ldrb r0, [r4]\n\
@@ -8664,7 +8664,7 @@ _08022BC4:\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08022C2C\n\
- ldr r2, _08022C28 @ =gAbsentBankFlags\n\
+ ldr r2, _08022C28 @ =gAbsentBattlerFlags\n\
ldrb r0, [r4]\n\
lsls r0, 2\n\
adds r0, r6\n\
@@ -8690,7 +8690,7 @@ _08022BC4:\n\
_08022C1C: .4byte gHitMarker\n\
_08022C20: .4byte gBitTable\n\
_08022C24: .4byte gActiveBattler\n\
-_08022C28: .4byte gAbsentBankFlags\n\
+_08022C28: .4byte gAbsentBattlerFlags\n\
_08022C2C:\n\
ldr r6, _08022C60 @ =gSpecialStatuses\n\
ldrb r0, [r4]\n\
@@ -8749,7 +8749,7 @@ _08022C7E:\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08022CE8\n\
- ldr r2, _08022CE0 @ =gAbsentBankFlags\n\
+ ldr r2, _08022CE0 @ =gAbsentBattlerFlags\n\
ldrb r0, [r4]\n\
lsls r0, 2\n\
adds r0, r6\n\
@@ -8774,7 +8774,7 @@ _08022C7E:\n\
.align 2, 0\n\
_08022CD8: .4byte gBitTable\n\
_08022CDC: .4byte gActiveBattler\n\
-_08022CE0: .4byte gAbsentBankFlags\n\
+_08022CE0: .4byte gAbsentBattlerFlags\n\
_08022CE4: .4byte gHitMarker\n\
_08022CE8:\n\
ldr r6, _08022D1C @ =gSpecialStatuses\n\
@@ -8833,7 +8833,7 @@ _08022D40:\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08022DA0\n\
- ldr r2, _08022D98 @ =gAbsentBankFlags\n\
+ ldr r2, _08022D98 @ =gAbsentBattlerFlags\n\
ldrb r0, [r4]\n\
lsls r0, 2\n\
adds r0, r6\n\
@@ -8858,7 +8858,7 @@ _08022D40:\n\
.align 2, 0\n\
_08022D90: .4byte gBitTable\n\
_08022D94: .4byte gActiveBattler\n\
-_08022D98: .4byte gAbsentBankFlags\n\
+_08022D98: .4byte gAbsentBattlerFlags\n\
_08022D9C: .4byte gHitMarker\n\
_08022DA0:\n\
ldr r6, _08022DD4 @ =gSpecialStatuses\n\
@@ -8920,7 +8920,7 @@ _08022DF6:\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08022E60\n\
- ldr r2, _08022E58 @ =gAbsentBankFlags\n\
+ ldr r2, _08022E58 @ =gAbsentBattlerFlags\n\
ldrb r0, [r4]\n\
lsls r0, 2\n\
adds r0, r6\n\
@@ -8945,7 +8945,7 @@ _08022DF6:\n\
.align 2, 0\n\
_08022E50: .4byte gBitTable\n\
_08022E54: .4byte gActiveBattler\n\
-_08022E58: .4byte gAbsentBankFlags\n\
+_08022E58: .4byte gAbsentBattlerFlags\n\
_08022E5C: .4byte gHitMarker\n\
_08022E60:\n\
ldr r6, _08022E94 @ =gSpecialStatuses\n\
@@ -9002,7 +9002,7 @@ _08022EB8:\n\
blt _08022F0C\n\
cmp r5, 0\n\
beq _08022F0C\n\
- ldr r0, _08022EEC @ =gAbsentBankFlags\n\
+ ldr r0, _08022EEC @ =gAbsentBattlerFlags\n\
ldrb r1, [r0]\n\
ldr r0, _08022EF0 @ =gBitTable\n\
ldr r0, [r0]\n\
@@ -9015,7 +9015,7 @@ _08022EB8:\n\
b _08022EFC\n\
.align 2, 0\n\
_08022EE8: .4byte gSpecialStatuses\n\
-_08022EEC: .4byte gAbsentBankFlags\n\
+_08022EEC: .4byte gAbsentBattlerFlags\n\
_08022EF0: .4byte gBitTable\n\
_08022EF4: .4byte gActiveBattler\n\
_08022EF8:\n\
@@ -9042,7 +9042,7 @@ _08022F0C:\n\
blt _08022F62\n\
cmp r5, 0\n\
beq _08022F62\n\
- ldr r0, _08022F44 @ =gAbsentBankFlags\n\
+ ldr r0, _08022F44 @ =gAbsentBattlerFlags\n\
ldrb r0, [r0]\n\
ldr r1, _08022F48 @ =gBitTable\n\
ldr r1, [r1, 0x4]\n\
@@ -9055,7 +9055,7 @@ _08022F0C:\n\
.align 2, 0\n\
_08022F3C: .4byte gActiveBattler\n\
_08022F40: .4byte gSpecialStatuses\n\
-_08022F44: .4byte gAbsentBankFlags\n\
+_08022F44: .4byte gAbsentBattlerFlags\n\
_08022F48: .4byte gBitTable\n\
_08022F4C:\n\
ldr r1, _08022F6C @ =gActiveBattler\n\
@@ -9119,7 +9119,7 @@ _08022F92:\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08023008\n\
- ldr r2, _08023004 @ =gAbsentBankFlags\n\
+ ldr r2, _08023004 @ =gAbsentBattlerFlags\n\
ldrb r0, [r6]\n\
lsls r0, 2\n\
adds r0, r4\n\
@@ -9146,7 +9146,7 @@ _08022FF4: .4byte gHitMarker\n\
_08022FF8: .4byte gBitTable\n\
_08022FFC: .4byte gActiveBattler\n\
_08023000: .4byte gBattleBufferB\n\
-_08023004: .4byte gAbsentBankFlags\n\
+_08023004: .4byte gAbsentBattlerFlags\n\
_08023008:\n\
ldr r4, _08023098 @ =gSpecialStatuses\n\
ldrb r0, [r6]\n\
@@ -9195,7 +9195,7 @@ _0802303A:\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _080230BC\n\
- ldr r2, _080230B4 @ =gAbsentBankFlags\n\
+ ldr r2, _080230B4 @ =gAbsentBattlerFlags\n\
ldrb r0, [r5]\n\
lsls r0, 2\n\
adds r0, r4\n\
@@ -9225,7 +9225,7 @@ _080230A4: .4byte gBitTable\n\
_080230A8: .4byte gActiveBattler\n\
_080230AC: .4byte gBattleBufferB\n\
_080230B0: .4byte 0x00000201\n\
-_080230B4: .4byte gAbsentBankFlags\n\
+_080230B4: .4byte gAbsentBattlerFlags\n\
_080230B8: .4byte gHitMarker\n\
_080230BC:\n\
ldr r4, _080230FC @ =gSpecialStatuses\n\
@@ -9353,7 +9353,7 @@ _080231A8:\n\
beq _080231F8\n\
ldr r2, _080231E8 @ =gActiveBattler\n\
strb r7, [r2]\n\
- ldr r3, _080231EC @ =gAbsentBankFlags\n\
+ ldr r3, _080231EC @ =gAbsentBattlerFlags\n\
ldr r4, _080231F0 @ =gBitTable\n\
ldrb r0, [r2]\n\
lsls r0, 2\n\
@@ -9376,7 +9376,7 @@ _080231A8:\n\
b _08023302\n\
.align 2, 0\n\
_080231E8: .4byte gActiveBattler\n\
-_080231EC: .4byte gAbsentBankFlags\n\
+_080231EC: .4byte gAbsentBattlerFlags\n\
_080231F0: .4byte gBitTable\n\
_080231F4: .4byte gHitMarker\n\
_080231F8:\n\
@@ -9387,7 +9387,7 @@ _080231F8:\n\
ldr r2, _080232A8 @ =0x00016064\n\
adds r1, r0, r2\n\
adds r1, r3\n\
- ldr r2, _080232AC @ =gBattlePartyID\n\
+ ldr r2, _080232AC @ =gBattlerPartyIndexes\n\
lsls r0, 1\n\
adds r0, r2\n\
ldrh r0, [r0]\n\
@@ -9416,7 +9416,7 @@ _080231F8:\n\
adds r0, 0x6\n\
str r0, [r6]\n\
ldrb r0, [r4]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
lsls r0, 24\n\
cmp r0, 0\n\
bne _0802325A\n\
@@ -9465,7 +9465,7 @@ _0802328A:\n\
_080232A0: .4byte gActiveBattler\n\
_080232A4: .4byte gSharedMem\n\
_080232A8: .4byte 0x00016064\n\
-_080232AC: .4byte gBattlePartyID\n\
+_080232AC: .4byte gBattlerPartyIndexes\n\
_080232B0: .4byte 0x00016068\n\
_080232B4: .4byte 0x0001606c\n\
_080232B8: .4byte gBattleResults\n\
@@ -9473,15 +9473,15 @@ _080232BC: .4byte gBattleTypeFlags\n\
_080232C0: .4byte gNoOfAllBanks\n\
_080232C4:\n\
adds r0, r7, 0\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
movs r1, 0x1\n\
eors r0, r1\n\
lsls r0, 24\n\
lsrs r0, 24\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
ldr r4, _08023310 @ =gActiveBattler\n\
strb r0, [r4]\n\
- ldr r0, _08023314 @ =gAbsentBankFlags\n\
+ ldr r0, _08023314 @ =gAbsentBattlerFlags\n\
ldrb r1, [r0]\n\
ldr r2, _08023318 @ =gBitTable\n\
ldrb r3, [r4]\n\
@@ -9510,7 +9510,7 @@ _08023302:\n\
bx r0\n\
.align 2, 0\n\
_08023310: .4byte gActiveBattler\n\
-_08023314: .4byte gAbsentBankFlags\n\
+_08023314: .4byte gAbsentBattlerFlags\n\
_08023318: .4byte gBitTable\n\
.syntax divided");
}
@@ -9625,7 +9625,7 @@ static void atk52_switchineffects(void)
gBank1++;
while (1)
{
- if (hitmark & gBitTable[gBank1] && !(gAbsentBankFlags & gBitTable[gBank1]))
+ if (hitmark & gBitTable[gBank1] && !(gAbsentBattlerFlags & gBitTable[gBank1]))
break;
if (gBank1 >= gNoOfAllBanks)
break;
@@ -9640,9 +9640,9 @@ static void atk52_switchineffects(void)
static void atk53_trainerslidein(void)
{
if (!T2_READ_8(gBattlescriptCurrInstr + 1))
- gActiveBattler = GetBankByIdentity(0);
+ gActiveBattler = GetBattlerAtPosition(0);
else
- gActiveBattler = GetBankByIdentity(1);
+ gActiveBattler = GetBattlerAtPosition(1);
EmitTrainerSlide(0);
MarkBufferBankForExecution(gActiveBattler);
@@ -9675,7 +9675,7 @@ static void atk56_playfaintcry(void)
static void atk57(void)
{
- gActiveBattler = GetBankByIdentity(0);
+ gActiveBattler = GetBattlerAtPosition(0);
Emitcmd55(0, gBattleOutcome);
MarkBufferBankForExecution(gActiveBattler);
gBattlescriptCurrInstr += 1;
@@ -9708,13 +9708,13 @@ void atk59_handlelearnnewmove(void)
}
else
{
- gActiveBattler = GetBankByIdentity(0);
- if (gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
+ gActiveBattler = GetBattlerAtPosition(0);
+ if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) //what is else if
{
- gActiveBattler = GetBankByIdentity(2);
- if (gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
+ gActiveBattler = GetBattlerAtPosition(2);
+ if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret);
}
gBattlescriptCurrInstr = loc1;
@@ -9819,13 +9819,13 @@ static void atk5A_yesnoboxlearnmove(void)
ptr[0] = 0xFF;
RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterID], move_pos);
SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterID], gMoveToLearn, move_pos);
- if (gBattlePartyID[0] == gBattleStruct->expGetterID && !(gBattleMons[0].status2 & STATUS2_TRANSFORMED)
+ if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID && !(gBattleMons[0].status2 & STATUS2_TRANSFORMED)
&& !(gDisableStructs[0].unk18_b & gBitTable[move_pos]))
{
RemoveBattleMonPPBonus(&gBattleMons[0], move_pos);
SetBattleMonMoveSlot(&gBattleMons[0], gMoveToLearn, move_pos);
}
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[2] == gBattleStruct->expGetterID && !(gBattleMons[2].status2 & STATUS2_TRANSFORMED)
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[2] == gBattleStruct->expGetterID && !(gBattleMons[2].status2 & STATUS2_TRANSFORMED)
&& !(gDisableStructs[2].unk18_b & gBitTable[move_pos]))
{
RemoveBattleMonPPBonus(&gBattleMons[2], move_pos);
@@ -9894,7 +9894,7 @@ static void atk5B_yesnoboxstoplearningmove(void)
static void atk5C_hitanimation(void)
{
gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
- if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
gBattlescriptCurrInstr += 2;
else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0)
{
@@ -10459,12 +10459,12 @@ static void atk69_adjustsetdamage(void) //literally a copy of atk07 except there
if (gProtectStructs[gBankTarget].endured)
{
- gBattleMoveFlags |= MOVESTATUS_ENDURED;
+ gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED;
goto END;
}
if (gSpecialStatuses[gBankTarget].focusBanded)
{
- gBattleMoveFlags |= MOVESTATUS_HUNGON;
+ gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON;
gLastUsedItem = gBattleMons[gBankTarget].item;
}
@@ -10488,7 +10488,7 @@ static void atk6B_atknameinbuff1(void)
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 7;
gBattleTextBuff1[2] = gBankAttacker;
- gBattleTextBuff1[3] = gBattlePartyID[gBankAttacker];
+ gBattleTextBuff1[3] = gBattlerPartyIndexes[gBankAttacker];
gBattleTextBuff1[4] = 0xFF;
gBattlescriptCurrInstr++;
}
@@ -10927,7 +10927,7 @@ static void atk6D_resetsentmonsvalue(void)
static void atk6E_setatktoplayer0(void)
{
- gBankAttacker = GetBankByIdentity(0);
+ gBankAttacker = GetBattlerAtPosition(0);
gBattlescriptCurrInstr++;
}
@@ -11023,7 +11023,7 @@ static void atk74_hpthresholds2(void)
static void atk75_useitemonopponent(void)
{
gBankInMenu = gBankAttacker;
- PokemonUseItemEffects(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1);
+ PokemonUseItemEffects(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBankAttacker], 0, 1);
gBattlescriptCurrInstr += 1;
}
@@ -11066,11 +11066,11 @@ static void atk76_various(void)
{
int i;
u16* choiced_move;
- if (gBattlePartyID[0] == gBattleStruct->expGetterID)
+ if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID)
goto ACTIVE_0;
- if (gBattlePartyID[2] != gBattleStruct->expGetterID)
+ if (gBattlerPartyIndexes[2] != gBattleStruct->expGetterID)
break;
- if (gBattlePartyID[0] == gBattlePartyID[2])
+ if (gBattlerPartyIndexes[0] == gBattlerPartyIndexes[2])
{
ACTIVE_0:
gActiveBattler = 0;
@@ -11121,7 +11121,7 @@ static void atk77_setprotectlike(void) //protect and endure
{
gDisableStructs[gBankAttacker].protectUses = 0;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
}
gBattlescriptCurrInstr++;
@@ -11150,7 +11150,7 @@ static void atk78_faintifabilitynotdamp(void)
{
if (gBankTarget == gBankAttacker)
continue;
- if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
+ if (!(gAbsentBattlerFlags & gBitTable[gBankTarget]))
break;
}
}
@@ -11185,7 +11185,7 @@ static void atk7A_jumpifnexttargetvalid(void) //used by intimidate to loop throu
{
if (gBankTarget == gBankAttacker)
continue;
- if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
+ if (!(gAbsentBattlerFlags & gBitTable[gBankTarget]))
break;
}
@@ -11264,7 +11264,7 @@ static void atk7D_setrain(void)
{
if (gBattleWeather & WEATHER_RAIN_ANY)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
else
@@ -11278,15 +11278,15 @@ static void atk7D_setrain(void)
static void atk7E_setreflect(void)
{
- if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_REFLECT)
+ if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_REFLECT)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
else
{
- gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_REFLECT;
- gSideTimers[GetBankIdentity(gBankAttacker) & 1].reflectTimer = 5;
+ gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_REFLECT;
+ gSideTimers[GetBattlerPosition(gBankAttacker) & 1].reflectTimer = 5;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2)
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
else
@@ -11297,14 +11297,14 @@ static void atk7E_setreflect(void)
static void atk7F_setseeded(void)
{
- if (gBattleMoveFlags & MOVESTATUS_NOEFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED)
+ if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else if (gBattleMons[gBankTarget].type1 == TYPE_GRASS || gBattleMons[gBankTarget].type2 == TYPE_GRASS)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
else
@@ -11419,7 +11419,7 @@ static void atk85_stockpile(void)
{
if (gDisableStructs[gBankAttacker].stockpileCounter == 3)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
@@ -11448,7 +11448,7 @@ static void atk86_stockpiletobasedamage(void)
if (gBattleCommunication[6] != 1)
{
gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove,
- gSideAffecting[GetBankIdentity(gBankTarget) & 1], 0,
+ gSideAffecting[GetBattlerPosition(gBankTarget) & 1], 0,
0, gBankAttacker, gBankTarget)
* gDisableStructs[gBankAttacker].stockpileCounter;
gBattleStruct->animTurn = gDisableStructs[gBankAttacker].stockpileCounter;
@@ -11522,7 +11522,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
if ((statValue << 0x18) < 0) // stat decrease
{
- if (gSideTimers[GET_BANK_SIDE(gActiveBattler)].mistTimer
+ if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer
&& !certain && gCurrentMove != MOVE_CURSE)
{
if (flags == STAT_CHANGE_BS_PTR)
@@ -11659,7 +11659,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
gBattleMons[gActiveBattler].statStages[statId] = 0xC;
if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_CHANGE_BS_PTR)
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_CHANGE_BS_PTR))
return STAT_CHANGE_DIDNT_WORK;
@@ -11733,7 +11733,7 @@ static bool8 sub_80264C0(void)
{
if (gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level)
{
- ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget];
+ ewram16064arr(gBankTarget) = gBattlerPartyIndexes[gBankTarget];
}
else
{
@@ -11743,7 +11743,7 @@ static bool8 sub_80264C0(void)
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
return 0;
}
- ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget];
+ ewram16064arr(gBankTarget) = gBattlerPartyIndexes[gBankTarget];
}
gBattlescriptCurrInstr = BattleScript_SuccessForceOut;
return 1;
@@ -11805,7 +11805,7 @@ static void atk8F_forcerandomswitch(void)
i = val + 3;
else
i = val;
- } while (i == gBattlePartyID[gBankTarget] || i == gBattlePartyID[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i]));
+ } while (i == gBattlerPartyIndexes[gBankTarget] || i == gBattlerPartyIndexes[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i]));
}
else
{
@@ -11814,14 +11814,14 @@ static void atk8F_forcerandomswitch(void)
do
{
i = Random() % 6;
- } while (i == gBattlePartyID[gBankTarget] || i == gBattlePartyID[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i]));
+ } while (i == gBattlerPartyIndexes[gBankTarget] || i == gBattlerPartyIndexes[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i]));
}
else
{
do
{
i = Random() % 6;
- } while (i == gBattlePartyID[gBankTarget] || !MON_CAN_BATTLE(&party[i]));
+ } while (i == gBattlerPartyIndexes[gBankTarget] || !MON_CAN_BATTLE(&party[i]));
}
}
ewram16068arr(gBankTarget) = i;
@@ -11919,15 +11919,15 @@ static void atk91_givepaydaymoney(void)
static void atk92_setlightscreen(void)
{
- if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_LIGHTSCREEN)
+ if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_LIGHTSCREEN)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
else
{
- gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_LIGHTSCREEN;
- gSideTimers[GetBankIdentity(gBankAttacker) & 1].lightscreenTimer = 5;
+ gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_LIGHTSCREEN;
+ gSideTimers[GetBattlerPosition(gBankAttacker) & 1].lightscreenTimer = 5;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2)
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
else
@@ -11957,7 +11957,7 @@ static void atk93_tryKO(void)
if (gBattleMons[gBankTarget].ability == ABILITY_STURDY)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gLastUsedAbility = ABILITY_STURDY;
gBattlescriptCurrInstr = x;
RecordAbilityBattle(gBankTarget, ABILITY_STURDY);
@@ -11969,7 +11969,7 @@ static void atk93_tryKO(void)
u16 to_cmp = gBattleMons[gBankAttacker].level - gBattleMons[gBankTarget].level + gBattleMoves[gCurrentMove].accuracy;
if (Random() % 0x64 + 1 < to_cmp || gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level)
{
- goto MOVESTATUS_MISSED_LABEL;
+ goto MOVE_RESULT_MISSED_LABEL;
}
}
else
@@ -11980,8 +11980,8 @@ static void atk93_tryKO(void)
}
}
-MOVESTATUS_MISSED_LABEL:
- gBattleTypeFlags |= MOVESTATUS_MISSED;
+MOVE_RESULT_MISSED_LABEL:
+ gBattleTypeFlags |= MOVE_RESULT_MISSED;
if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level)
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
else
@@ -12078,7 +12078,7 @@ _08026C0C:\n\
mov r10, r8\n\
cmp r3, 0x5\n\
bne _08026C6C\n\
- ldr r2, _08026C5C @ =gBattleMoveFlags\n\
+ ldr r2, _08026C5C @ =gMoveResultFlags\n\
ldrb r0, [r2]\n\
movs r1, 0x1\n\
orrs r0, r1\n\
@@ -12098,7 +12098,7 @@ _08026C4C: .4byte gStringBank\n\
_08026C50: .4byte gBankTarget\n\
_08026C54: .4byte gSpecialStatuses\n\
_08026C58: .4byte gBattleMons\n\
-_08026C5C: .4byte gBattleMoveFlags\n\
+_08026C5C: .4byte gMoveResultFlags\n\
_08026C60: .4byte gLastUsedAbility\n\
_08026C64: .4byte gBattlescriptCurrInstr\n\
_08026C68: .4byte BattleScript_SturdyPreventsOHKO\n\
@@ -12208,7 +12208,7 @@ _08026D20:\n\
ldrh r0, [r0, 0x28]\n\
subs r0, 0x1\n\
str r0, [r1]\n\
- ldr r2, _08026D60 @ =gBattleMoveFlags\n\
+ ldr r2, _08026D60 @ =gMoveResultFlags\n\
ldrb r0, [r2]\n\
movs r1, 0x40\n\
b _08026DC6\n\
@@ -12218,7 +12218,7 @@ _08026D50: .4byte gBankAttacker\n\
_08026D54: .4byte gProtectStructs\n\
_08026D58: .4byte gBankTarget\n\
_08026D5C: .4byte gBattleMoveDamage\n\
-_08026D60: .4byte gBattleMoveFlags\n\
+_08026D60: .4byte gMoveResultFlags\n\
_08026D64:\n\
ldr r0, _08026DA0 @ =gSpecialStatuses\n\
lsls r1, r2, 2\n\
@@ -12237,7 +12237,7 @@ _08026D64:\n\
ldrh r0, [r0, 0x28]\n\
subs r0, 0x1\n\
str r0, [r1]\n\
- ldr r2, _08026DA8 @ =gBattleMoveFlags\n\
+ ldr r2, _08026DA8 @ =gMoveResultFlags\n\
ldrb r0, [r2]\n\
movs r1, 0x80\n\
orrs r0, r1\n\
@@ -12253,7 +12253,7 @@ _08026D64:\n\
.align 2, 0\n\
_08026DA0: .4byte gSpecialStatuses\n\
_08026DA4: .4byte gBattleMoveDamage\n\
-_08026DA8: .4byte gBattleMoveFlags\n\
+_08026DA8: .4byte gMoveResultFlags\n\
_08026DAC: .4byte gLastUsedItem\n\
_08026DB0: .4byte gBankTarget\n\
_08026DB4:\n\
@@ -12263,7 +12263,7 @@ _08026DB4:\n\
add r0, r10\n\
ldrh r0, [r0, 0x28]\n\
str r0, [r1]\n\
- ldr r2, _08026DD8 @ =gBattleMoveFlags\n\
+ ldr r2, _08026DD8 @ =gMoveResultFlags\n\
ldrb r0, [r2]\n\
movs r1, 0x10\n\
_08026DC6:\n\
@@ -12277,10 +12277,10 @@ _08026DCA:\n\
b _08026E40\n\
.align 2, 0\n\
_08026DD4: .4byte gBattleMoveDamage\n\
-_08026DD8: .4byte gBattleMoveFlags\n\
+_08026DD8: .4byte gMoveResultFlags\n\
_08026DDC: .4byte gBattlescriptCurrInstr\n\
_08026DE0:\n\
- ldr r2, _08026E10 @ =gBattleMoveFlags\n\
+ ldr r2, _08026E10 @ =gMoveResultFlags\n\
ldrb r0, [r2]\n\
movs r1, 0x1\n\
orrs r0, r1\n\
@@ -12305,7 +12305,7 @@ _08026DE0:\n\
movs r0, 0\n\
b _08026E24\n\
.align 2, 0\n\
-_08026E10: .4byte gBattleMoveFlags\n\
+_08026E10: .4byte gMoveResultFlags\n\
_08026E14: .4byte gBankAttacker\n\
_08026E18: .4byte gBankTarget\n\
_08026E1C: .4byte gBattleCommunication\n\
@@ -12354,7 +12354,7 @@ static void atk95_setsandstorm(void)
{
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
else
@@ -12402,7 +12402,7 @@ static void atk96_weatherdamage(void)
else
gBattleMoveDamage = 0;
- if (gAbsentBankFlags & gBitTable[gBankAttacker])
+ if (gAbsentBattlerFlags & gBitTable[gBankAttacker])
gBattleMoveDamage = 0;
gBattlescriptCurrInstr++;
@@ -12414,14 +12414,14 @@ static void atk97_tryinfatuating(void)
u16 atk_species, def_species;
u32 atk_pid, def_pid;
if (!GetBankSide(gBankAttacker))
- attacker = &gPlayerParty[gBattlePartyID[gBankAttacker]];
+ attacker = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]];
else
- attacker = &gEnemyParty[gBattlePartyID[gBankAttacker]];
+ attacker = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]];
if (!GetBankSide(gBankTarget))
- target = &gPlayerParty[gBattlePartyID[gBankTarget]];
+ target = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]];
else
- target = &gEnemyParty[gBattlePartyID[gBankTarget]];
+ target = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]];
atk_species = GetMonData(attacker, MON_DATA_SPECIES);
atk_pid = GetMonData(attacker, MON_DATA_PERSONALITY);
@@ -12466,15 +12466,15 @@ static void atk98_updatestatusicon(void)
else
{
gActiveBattler = gBankAttacker;
- if (!(gAbsentBankFlags & gBitTable[gActiveBattler]))
+ if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
{
EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2);
MarkBufferBankForExecution(gActiveBattler);
}
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
- gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2);
- if (!(gAbsentBankFlags & gBitTable[gActiveBattler]))
+ gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2);
+ if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
{
EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2);
MarkBufferBankForExecution(gActiveBattler);
@@ -12486,15 +12486,15 @@ static void atk98_updatestatusicon(void)
static void atk99_setmist(void)
{
- if (gSideTimers[GetBankIdentity(gBankAttacker) & 1].mistTimer)
+ if (gSideTimers[GetBattlerPosition(gBankAttacker) & 1].mistTimer)
{
- gBattleMoveFlags |= MOVESTATUS_FAILED;
+ gMoveResultFlags |= MOVE_RESULT_FAILED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
{
- gSideTimers[GetBankIdentity(gBankAttacker) & 1].mistTimer = 5;
- gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_MIST;
+ gSideTimers[GetBattlerPosition(gBankAttacker) & 1].mistTimer = 5;
+ gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_MIST;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
gBattlescriptCurrInstr++;
@@ -12504,7 +12504,7 @@ static void atk9A_setfocusenergy(void)
{
if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY)
{
- gBattleMoveFlags |= MOVESTATUS_FAILED;
+ gMoveResultFlags |= MOVE_RESULT_FAILED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
@@ -12521,7 +12521,7 @@ static void atk9B_transformdataexecution(void)
gBattlescriptCurrInstr++;
if (gBattleMons[gBankTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)
{
- gBattleMoveFlags |= MOVESTATUS_FAILED;
+ gMoveResultFlags |= MOVE_RESULT_FAILED;
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
}
else
@@ -13575,8 +13575,8 @@ static void atkAE_healpartystatus(void)
gBattleCommunication[MULTISTRING_CHOOSER] |= 1;
}
- gActiveBattler = gBattleStruct->scriptingActive = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2);
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler]))
+ gActiveBattler = gBattleStruct->scriptingActive = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2);
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
{
if (gBattleMons[gActiveBattler].ability != ABILITY_SOUNDPROOF)
{
@@ -13596,9 +13596,9 @@ static void atkAE_healpartystatus(void)
if (species != 0 && species != SPECIES_EGG)
{
u8 ability;
- if (gBattlePartyID[gBankAttacker] == i)
+ if (gBattlerPartyIndexes[gBankAttacker] == i)
ability = gBattleMons[gBankAttacker].ability;
- else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[gActiveBattler] == i && !(gAbsentBankFlags & gBitTable[gActiveBattler]))
+ else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[gActiveBattler] == i && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
ability = gBattleMons[gActiveBattler].ability;
else
ability = GetAbilityBySpecies(species, abilityBit);
@@ -13613,8 +13613,8 @@ static void atkAE_healpartystatus(void)
to_heal = 0x3F;
gBattleMons[gBankAttacker].status1 = zero2;
- gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2);
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler]))
+ gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2);
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]))
gBattleMons[gActiveBattler].status1 = 0;
}
@@ -13689,7 +13689,7 @@ static void atkB2_trysetperishsong(void)
static void atkB3_rolloutdamagecalculation(void)
{
- if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
CancelMultiTurnMoves(gBankAttacker);
gBattlescriptCurrInstr = BattleScript_MoveMissedPause;
@@ -13728,7 +13728,7 @@ static void atkB4_jumpifconfusedandstatmaxed(void)
static void atkB5_furycuttercalc(void)
{
- if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
gDisableStructs[gBankAttacker].furyCutterCounter = 0;
gBattlescriptCurrInstr = BattleScript_MoveMissedPause;
@@ -13779,22 +13779,22 @@ static void atkB7_presentdamagecalculation(void)
gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp;
else
{
- //gBattleMoveFlags &= ~(MOVESTATUS_NOTAFFECTED); only in Emerald
+ //gMoveResultFlags &= ~(MOVE_RESULT_DOESNT_AFFECT_FOE); only in Emerald
gBattlescriptCurrInstr = BattleScript_PresentHealTarget;
}
}
static void atkB8_setsafeguard(void)
{
- if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_SAFEGUARD)
+ if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_SAFEGUARD)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
}
else
{
- gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_SAFEGUARD;
- gSideTimers[GetBankIdentity(gBankAttacker) & 1].safeguardTimer = 5;
+ gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_SAFEGUARD;
+ gSideTimers[GetBattlerPosition(gBankAttacker) & 1].safeguardTimer = 5;
gBattleCommunication[MULTISTRING_CHOOSER] = 5;
}
gBattlescriptCurrInstr++;
@@ -13850,7 +13850,7 @@ static void atkB9_magnitudedamagecalculation(void)
{
if (gBankTarget == gBankAttacker)
continue;
- if (!(gAbsentBankFlags & gBitTable[gBankTarget])) //a valid target was found
+ if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) //a valid target was found
break;
}
gBattlescriptCurrInstr++;
@@ -13861,16 +13861,16 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
if (gMultiHitCounter == 1)
{
if (GetBankSide(gBankAttacker) == 0)
- gBankTarget = GetBankByIdentity(1);
+ gBankTarget = GetBattlerAtPosition(1);
else
- gBankTarget = GetBankByIdentity(0);
+ gBankTarget = GetBattlerAtPosition(0);
}
else
{
if (GetBankSide(gBankAttacker) == 0)
- gBankTarget = GetBankByIdentity(3);
+ gBankTarget = GetBattlerAtPosition(3);
else
- gBankTarget = GetBankByIdentity(2);
+ gBankTarget = GetBattlerAtPosition(2);
}
if (gActionForBanks[gBankTarget] == 0 && gBankAttacker == ewram16010arr(gBankTarget) && !(gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE))
@@ -13895,7 +13895,7 @@ static void atkBB_setsunny(void)
{
if (gBattleWeather & WEATHER_SUN_ANY)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
else
@@ -14152,7 +14152,7 @@ static void atkC2_selectfirstvalidtarget(void)
{
if (gBankTarget == gBankAttacker)
continue;
- if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
+ if (!(gAbsentBattlerFlags & gBitTable[gBankTarget]))
break;
}
gBattlescriptCurrInstr++;
@@ -14170,7 +14170,7 @@ static void atkC3_trysetfutureattack(void)
gWishFutureKnock.futureSightAttacker[gBankTarget] = gBankAttacker;
gWishFutureKnock.futureSightCounter[gBankTarget] = 3;
gWishFutureKnock.futureSightDmg[gBankTarget] = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove,
- gSideAffecting[GetBankIdentity(gBankTarget) & 1], 0,
+ gSideAffecting[GetBattlerPosition(gBankTarget) & 1], 0,
0, gBankAttacker, gBankTarget);
if (gProtectStructs[gBankAttacker].helpingHand)
@@ -14532,7 +14532,7 @@ static void atkC8_sethail(void)
{
if (gBattleWeather & WEATHER_HAIL)
{
- gBattleMoveFlags |= MOVESTATUS_MISSED;
+ gMoveResultFlags |= MOVE_RESULT_MISSED;
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
else
@@ -14631,8 +14631,8 @@ static void atkD0_settaunt(void)
static void atkD1_trysethelpinghand(void)
{
- gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2);
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gBankTarget])
+ gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2);
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gBankTarget])
&& !gProtectStructs[gBankAttacker].helpingHand && !gProtectStructs[gBankTarget].helpingHand)
{
gProtectStructs[gBankTarget].helpingHand = 1;
@@ -14707,7 +14707,7 @@ _0802A24C:\n\
adds r0, r2, r0\n\
ldrb r1, [r0]\n\
ldr r3, _0802A320 @ =gBitTable\n\
- ldr r2, _0802A324 @ =gBattlePartyID\n\
+ ldr r2, _0802A324 @ =gBattlerPartyIndexes\n\
ldrb r0, [r4]\n\
lsls r0, 1\n\
adds r0, r2\n\
@@ -14789,7 +14789,7 @@ _0802A314: .4byte 0x00000902\n\
_0802A318: .4byte gTrainerBattleOpponent\n\
_0802A31C: .4byte gWishFutureKnock\n\
_0802A320: .4byte gBitTable\n\
-_0802A324: .4byte gBattlePartyID\n\
+_0802A324: .4byte gBattlerPartyIndexes\n\
_0802A328: .4byte gBattleMons\n\
_0802A32C: .4byte gBankTarget\n\
_0802A330: .4byte gBattlescriptCurrInstr\n\
@@ -14995,7 +14995,7 @@ static void atkD4_trywish(void)
if (gWishFutureKnock.wishCounter[gBankAttacker] == 0)
{
gWishFutureKnock.wishCounter[gBankAttacker] = 2;
- gWishFutureKnock.wishUserID[gBankAttacker] = gBattlePartyID[gBankAttacker];
+ gWishFutureKnock.wishUserID[gBankAttacker] = gBattlerPartyIndexes[gBankAttacker];
gBattlescriptCurrInstr += 6;
}
else
@@ -15078,7 +15078,7 @@ static void atkDA_tryswapabilities(void)
{
if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0)
|| gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD
- || gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ || gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
@@ -15162,14 +15162,14 @@ static void atkDE_asistattackselect(void)
struct Pokemon* party;
int i, j;
u16* chooseable_moves;
- if (GetBankIdentity(gBankAttacker) & 1)
+ if (GetBattlerPosition(gBankAttacker) & 1)
party = gEnemyParty;
else
party = gPlayerParty;
for (i = 0; i < 6; i++)
{
- if (i == gBattlePartyID[gBankAttacker])
+ if (i == gBattlerPartyIndexes[gBankAttacker])
break;
if (!GetMonData(&party[i], MON_DATA_SPECIES2) || GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG)
break;
@@ -15224,7 +15224,7 @@ static void atkDE_asistattackselect(void)
mov r10, r0\n\
ldr r0, _0802AB9C @ =gBankAttacker\n\
ldrb r0, [r0]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
movs r1, 0x1\n\
ands r1, r0\n\
ldr r0, _0802ABA0 @ =gPlayerParty\n\
@@ -15236,7 +15236,7 @@ static void atkDE_asistattackselect(void)
_0802AAAC:\n\
movs r2, 0\n\
_0802AAAE:\n\
- ldr r1, _0802ABA8 @ =gBattlePartyID\n\
+ ldr r1, _0802ABA8 @ =gBattlerPartyIndexes\n\
ldr r0, _0802AB9C @ =gBankAttacker\n\
ldrb r0, [r0]\n\
lsls r0, 1\n\
@@ -15358,7 +15358,7 @@ _0802AB54:\n\
_0802AB9C: .4byte gBankAttacker\n\
_0802ABA0: .4byte gPlayerParty\n\
_0802ABA4: .4byte gEnemyParty\n\
-_0802ABA8: .4byte gBattlePartyID\n\
+_0802ABA8: .4byte gBattlerPartyIndexes\n\
_0802ABAC: .4byte 0x0000ffff\n\
_0802ABB0: .4byte gSharedMem + 0x16024\n\
_0802ABB4: .4byte sMovesForbiddenToCopy\n\
@@ -15437,7 +15437,7 @@ static void atkE1_trygetintimidatetarget(void)
{
if (GetBankSide(gBankTarget) == side)
continue;
- if (!(gAbsentBankFlags & gBitTable[gBankTarget]))
+ if (!(gAbsentBattlerFlags & gBitTable[gBankTarget]))
break;
}
@@ -15638,8 +15638,8 @@ static void atkEB_settypetoterrain(void)
static void atkEC_pursuitrelated(void)
{
- gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2);
- if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler]) && gActionForBanks[gActiveBattler] == 0 && gChosenMovesByBanks[gActiveBattler] == MOVE_PURSUIT)
+ gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2);
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) && gActionForBanks[gActiveBattler] == 0 && gChosenMovesByBanks[gActiveBattler] == MOVE_PURSUIT)
{
gActionsByTurnOrder[gActiveBattler] = 11;
gCurrentMove = MOVE_PURSUIT;
@@ -15780,7 +15780,7 @@ void atkEF_handleballthrow(void)
EmitBallThrow(0, 4);
MarkBufferBankForExecution(gActiveBattler);
gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
- SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem);
+ SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem);
if (CalculatePlayerPartyCount() == 6)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
else
@@ -15799,7 +15799,7 @@ void atkEF_handleballthrow(void)
if (shakes == 4) //poke caught, copy of the code above
{
gBattlescriptCurrInstr = BattleScript_SuccessBallThrow;
- SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem);
+ SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem);
if (CalculatePlayerPartyCount() == 6)
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
else
@@ -15816,9 +15816,9 @@ void atkEF_handleballthrow(void)
static void atkF0_givecaughtmon(void)
{
- GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]);
+ GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]]);
gBattleResults.caughtPoke = gBattleMons[gBankAttacker ^ 1].species;
- GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick);
gBattlescriptCurrInstr++;
}
@@ -16020,15 +16020,15 @@ static void atkF3_trygivecaughtmonnick(void)
case 2:
if (!gPaletteFade.active)
{
- GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick);
- DoNamingScreen(2, gBattleStruct->caughtNick, GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_PERSONALITY, 0), BattleMainCB2);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick);
+ DoNamingScreen(2, gBattleStruct->caughtNick, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_PERSONALITY, 0), BattleMainCB2);
gBattleCommunication[0]++;
}
break;
case 3:
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active )
{
- SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick);
+ SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick);
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
break;
diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c
index 0e27c0a8c..e691a5d29 100644
--- a/src/battle/battle_7.c
+++ b/src/battle/battle_7.c
@@ -25,7 +25,7 @@
extern u8 gBattleBufferA[][0x200];
extern u8 gActiveBattler;
extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gBanksBySide[];
extern u8 gBankSpriteIds[];
extern u16 gUnknown_02024DE8;
@@ -309,7 +309,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b)
r7 = gTransformedPersonalities[b];
}
otId = GetMonData(pkmn, MON_DATA_OT_ID);
- var = GetBankIdentity(b);
+ var = GetBattlerPosition(b);
HandleLoadSpecialPokePic(
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
@@ -361,7 +361,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b)
r7 = gTransformedPersonalities[b];
}
otId = GetMonData(pkmn, MON_DATA_OT_ID);
- var = GetBankIdentity(b);
+ var = GetBattlerPosition(b);
HandleLoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -404,7 +404,7 @@ void sub_8031A6C(u16 a, u8 b)
u8 status;
struct CompressedSpriteSheet spriteSheet;
- status = GetBankIdentity(b);
+ status = GetBattlerPosition(b);
DecompressPicFromTable_2(
&gTrainerFrontPicTable[a],
gTrainerFrontPicCoords[a].coords,
@@ -423,7 +423,7 @@ void LoadPlayerTrainerBankSprite(u16 a, u8 b)
{
u8 status;
- status = GetBankIdentity(b);
+ status = GetBattlerPosition(b);
DecompressPicFromTable_2(
&gTrainerBackPicTable[a],
gTrainerBackPicCoords[a].coords,
@@ -581,11 +581,11 @@ u8 battle_load_something(u8 *pState, u8 *b)
if (GetBankSide(*b) == 0)
{
if (!(gBattleTypeFlags & 0x80))
- sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlePartyID[*b]], 0);
+ sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlerPartyIndexes[*b]], 0);
}
else
{
- sub_8045A5C(gHealthboxIDs[*b], &gEnemyParty[gBattlePartyID[*b]], 0);
+ sub_8045A5C(gHealthboxIDs[*b], &gEnemyParty[gBattlerPartyIndexes[*b]], 0);
}
sub_8043DB0(gHealthboxIDs[*b]);
(*b)++;
@@ -670,15 +670,15 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
}
else
{
- r10 = GetBankIdentity(a);
+ r10 = GetBattlerPosition(a);
if (GetBankSide(b) == 1)
- species = GetMonData(&gEnemyParty[gBattlePartyID[b]], MON_DATA_SPECIES);
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[b]], MON_DATA_SPECIES);
else
- species = GetMonData(&gPlayerParty[gBattlePartyID[b]], MON_DATA_SPECIES);
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[b]], MON_DATA_SPECIES);
if (GetBankSide(a) == 0)
{
- personalityValue = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_OT_ID);
+ personalityValue = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_OT_ID);
HandleLoadSpecialPokePic(
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
@@ -690,8 +690,8 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
}
else
{
- personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_OT_ID);
+ personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_OT_ID);
HandleLoadSpecialPokePic(
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
@@ -739,7 +739,7 @@ void BattleLoadSubstituteSprite(u8 a, u8 b)
if (IsContest())
r4 = 0;
else
- r4 = GetBankIdentity(a);
+ r4 = GetBattlerPosition(a);
if (IsContest())
LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]);
else if (GetBankSide(a) != 0)
@@ -759,9 +759,9 @@ void BattleLoadSubstituteSprite(u8 a, u8 b)
if (!IsContest())
{
if (GetBankSide(a) != 0)
- BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a);
+ BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a);
else
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[a]], a);
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[a]], a);
}
}
}
@@ -819,7 +819,7 @@ void HandleLowHpMusicChange(struct Pokemon *pkmn, u8 b)
void BattleStopLowHpSound(void)
{
- u8 r4 = GetBankByIdentity(0);
+ u8 r4 = GetBattlerAtPosition(0);
ewram17800[r4].unk0_1 = 0;
if (IsDoubleBattle())
@@ -839,10 +839,10 @@ void sub_8032638(void)
{
if (gMain.inBattle)
{
- u8 r8 = GetBankByIdentity(0);
- u8 r9 = GetBankByIdentity(2);
- u8 r4 = pokemon_order_func(gBattlePartyID[r8]);
- u8 r5 = pokemon_order_func(gBattlePartyID[r9]);
+ u8 r8 = GetBattlerAtPosition(0);
+ u8 r9 = GetBattlerAtPosition(2);
+ u8 r4 = pokemon_order_func(gBattlerPartyIndexes[r8]);
+ u8 r5 = pokemon_order_func(gBattlerPartyIndexes[r9]);
if (GetMonData(&gPlayerParty[r4], MON_DATA_HP) != 0)
HandleLowHpMusicChange(&gPlayerParty[r4], r8);
@@ -881,12 +881,12 @@ void sub_80327CC(void)
u8 r5;
LoadCompressedObjectPic(&gUnknown_081FAF24);
- r5 = GetBankByIdentity(1);
+ r5 = GetBattlerAtPosition(1);
ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBankPosition(r5, 0), GetBankPosition(r5, 1) + 32, 0xC8);
gSprites[ewram17810[r5].unk7].data[0] = r5;
if (IsDoubleBattle())
{
- r5 = GetBankByIdentity(3);
+ r5 = GetBattlerAtPosition(3);
ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBankPosition(r5, 0), GetBankPosition(r5, 1) + 32, 0xC8);
gSprites[ewram17810[r5].unk7].data[0] = r5;
}
diff --git a/src/battle/battle_9.c b/src/battle/battle_9.c
index d9a1ee97e..c8bb89a0a 100755
--- a/src/battle/battle_9.c
+++ b/src/battle/battle_9.c
@@ -1,27 +1,863 @@
#include "global.h"
#include "battle.h"
+#include "battle_script_commands.h"
+#include "data2.h"
#include "ewram.h"
#include "pokemon.h"
#include "random.h"
#include "rom_8077ABC.h"
#include "rom3.h"
+#include "util.h"
#include "constants/abilities.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/species.h"
+extern u8 gUnknown_02023A14_50;
+
+extern u8 gLastHitBy[];
extern u8 gActiveBattler;
+extern u16 gBattleTypeFlags;
+extern u8 gAbsentBattlerFlags;
+extern s32 gBattleMoveDamage;
+extern u8 gMoveResultFlags;
+extern u16 gDynamicBasePower;
+extern u8 gCritMultiplier;
+extern u16 gBattlerPartyIndexes[];
+extern u16 gLastLandedMoves[];
+extern const u8 gTypeEffectiveness[];
+extern struct BattlePokemon gBattleMons[];
extern u32 gStatuses3[BATTLE_BANKS_COUNT];
+/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng);
+/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent);
+/*static*/ bool8 ShouldUseItem(void);
+/*static*/ u8 GetMostSuitableMonToSwitchInto(void);
+
+
/*static*/ bool8 ShouldSwitchIfPerishSong(void)
{
if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG
&& gDisableStructs[gActiveBattler].perishSongTimer1 == 0)
{
- ewram160C8arr(GetBankIdentity(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBankIdentity(gActiveBattler)] = 6;
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = 6;
Emitcmd33(1, 2, 0);
return TRUE;
}
return FALSE;
}
+
+#ifdef NONMATCHING
+/*static*/ bool8 ShouldSwitchIfWonderGuard(void)
+{
+ u8 opposingBank;
+ u8 moveFlags;
+ s32 i, j;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ return FALSE;
+
+ if (gBattleMons[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)].ability != ABILITY_WONDER_GUARD)
+ return FALSE;
+
+ // check if pokemon has a super effective move
+ opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ for (i = 0; i < 4; i++)
+ {
+ u16 move = gBattleMons[gActiveBattler].moves[i];
+ if (move == MOVE_NONE)
+ continue;
+
+ moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability);
+ if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE)
+ return FALSE;
+ }
+
+ // find a pokemon in the party that has a super effective move
+ for (i = 0; i < 6; i++)
+ {
+ if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0
+ || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE
+ || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG
+ || i == gBattlerPartyIndexes[gActiveBattler])
+ continue;
+
+ GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); // unused return value
+ GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY); // unused return value
+
+ opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ for (j = 0; j < 4; j++)
+ {
+ u16 move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j);
+ if (move == MOVE_NONE)
+ continue;
+
+ moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability);
+ if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && (Random() % 3) < 2)
+ {
+ // we found a mon
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = i;
+ Emitcmd33(1, B_ACTION_SWITCH, 0);
+ return TRUE;
+ }
+ }
+ }
+
+ return FALSE; // at this point there is not a single pokemon in the party that has a super effective move against a pokemon with wonder guard
+}
+#else
+__attribute__((naked))
+/*static*/ bool8 ShouldSwitchIfWonderGuard(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ ldr r0, _0803606C @ =gBattleTypeFlags\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080360A0\n\
+ b _080361C8\n\
+ .align 2, 0\n\
+_0803606C: .4byte gBattleTypeFlags\n\
+_08036070:\n\
+ ldr r0, _08036094 @ =gActiveBattler\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerPosition\n\
+ ldr r1, _08036098 @ =gSharedMem\n\
+ lsls r0, 24\n\
+ lsrs r0, 25\n\
+ ldr r2, _0803609C @ =0x000160c8\n\
+ adds r0, r2\n\
+ adds r0, r1\n\
+ strb r6, [r0]\n\
+ movs r0, 0x1\n\
+ movs r1, 0x2\n\
+ movs r2, 0\n\
+ bl Emitcmd33\n\
+ movs r0, 0x1\n\
+ b _080361CA\n\
+ .align 2, 0\n\
+_08036094: .4byte gActiveBattler\n\
+_08036098: .4byte gSharedMem\n\
+_0803609C: .4byte 0x000160c8\n\
+_080360A0:\n\
+ ldr r4, _080361D8 @ =gBattleMons\n\
+ movs r0, 0\n\
+ bl GetBattlerAtPosition\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ movs r1, 0x58\n\
+ muls r0, r1\n\
+ adds r0, r4\n\
+ adds r0, 0x20\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x19\n\
+ beq _080360BC\n\
+ b _080361C8\n\
+_080360BC:\n\
+ movs r0, 0\n\
+ bl GetBattlerAtPosition\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ movs r6, 0\n\
+ adds r7, r4, 0\n\
+ movs r5, 0x58\n\
+ adds r0, r2, 0\n\
+ muls r0, r5\n\
+ adds r4, r0, r7\n\
+ movs r3, 0x20\n\
+ adds r3, r4\n\
+ mov r8, r3\n\
+_080360D8:\n\
+ lsls r1, r6, 1\n\
+ ldr r0, _080361DC @ =gActiveBattler\n\
+ ldrb r0, [r0]\n\
+ muls r0, r5\n\
+ adds r1, r0\n\
+ adds r0, r7, 0\n\
+ adds r0, 0xC\n\
+ adds r1, r0\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0\n\
+ beq _08036104\n\
+ ldrh r1, [r4]\n\
+ mov r3, r8\n\
+ ldrb r2, [r3]\n\
+ bl AI_TypeCalc\n\
+ lsls r0, 24\n\
+ lsrs r1, r0, 24\n\
+ movs r0, 0x2\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ bne _080361C8\n\
+_08036104:\n\
+ adds r6, 0x1\n\
+ cmp r6, 0x3\n\
+ ble _080360D8\n\
+ movs r6, 0\n\
+ ldr r0, _080361E0 @ =gEnemyParty\n\
+ mov r9, r0\n\
+_08036110:\n\
+ movs r0, 0x64\n\
+ adds r5, r6, 0\n\
+ muls r5, r0\n\
+ mov r2, r9\n\
+ adds r4, r5, r2\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x39\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _080361C2\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x41\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _080361C2\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x41\n\
+ bl GetMonData\n\
+ movs r1, 0xCE\n\
+ lsls r1, 1\n\
+ cmp r0, r1\n\
+ beq _080361C2\n\
+ ldr r1, _080361E4 @ =gBattlerPartyIndexes\n\
+ ldr r0, _080361DC @ =gActiveBattler\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ cmp r6, r0\n\
+ beq _080361C2\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xB\n\
+ bl GetMonData\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x2E\n\
+ bl GetMonData\n\
+ movs r0, 0\n\
+ bl GetBattlerAtPosition\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ movs r4, 0\n\
+ mov r8, r5\n\
+ ldr r1, _080361D8 @ =gBattleMons\n\
+ movs r0, 0x58\n\
+ muls r0, r2\n\
+ adds r5, r0, r1\n\
+ adds r7, r5, 0\n\
+ adds r7, 0x20\n\
+_0803617C:\n\
+ adds r1, r4, 0\n\
+ adds r1, 0xD\n\
+ mov r0, r8\n\
+ add r0, r9\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0\n\
+ beq _080361BC\n\
+ ldrh r1, [r5]\n\
+ ldrb r2, [r7]\n\
+ bl AI_TypeCalc\n\
+ lsls r0, 24\n\
+ lsrs r1, r0, 24\n\
+ movs r0, 0x2\n\
+ ands r1, r0\n\
+ cmp r1, 0\n\
+ beq _080361BC\n\
+ bl Random\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0x3\n\
+ bl __umodsi3\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0x1\n\
+ bhi _080361BC\n\
+ b _08036070\n\
+_080361BC:\n\
+ adds r4, 0x1\n\
+ cmp r4, 0x3\n\
+ ble _0803617C\n\
+_080361C2:\n\
+ adds r6, 0x1\n\
+ cmp r6, 0x5\n\
+ ble _08036110\n\
+_080361C8:\n\
+ movs r0, 0\n\
+_080361CA:\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+_080361D8: .4byte gBattleMons\n\
+_080361DC: .4byte gActiveBattler\n\
+_080361E0: .4byte gEnemyParty\n\
+_080361E4: .4byte gBattlerPartyIndexes\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+/*static*/ bool8 FindMonThatAbsorbsOpponentsMove(void)
+{
+ u8 bankIn1, bankIn2;
+ u8 absorbingTypeAbility;
+ s32 i;
+
+ if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0)
+ return FALSE;
+ if (gLastLandedMoves[gActiveBattler] == 0)
+ return FALSE;
+ if (gLastLandedMoves[gActiveBattler] == 0xFFFF)
+ return FALSE;
+ if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0)
+ return FALSE;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ bankIn1 = gActiveBattler;
+ if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))])
+ bankIn2 = gActiveBattler;
+ else
+ bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)));
+ }
+ else
+ {
+ bankIn1 = gActiveBattler;
+ bankIn2 = gActiveBattler;
+ }
+
+ if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE)
+ absorbingTypeAbility = ABILITY_FLASH_FIRE;
+ else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER)
+ absorbingTypeAbility = ABILITY_WATER_ABSORB;
+ else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC)
+ absorbingTypeAbility = ABILITY_VOLT_ABSORB;
+ else
+ return FALSE;
+
+ if (gBattleMons[gActiveBattler].ability == absorbingTypeAbility)
+ return FALSE;
+
+ for (i = 0; i < 6; i++)
+ {
+ u16 species;
+ u8 monAbility;
+
+ if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0)
+ continue;
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE)
+ continue;
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
+ continue;
+ if (i == gBattlerPartyIndexes[bankIn1])
+ continue;
+ if (i == gBattlerPartyIndexes[bankIn2])
+ continue;
+ if (i == ewram16068arr(bankIn1))
+ continue;
+ if (i == ewram16068arr(bankIn2))
+ continue;
+
+ species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES);
+ if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0)
+ monAbility = gBaseStats[species].ability2;
+ else
+ monAbility = gBaseStats[species].ability1;
+
+ if (absorbingTypeAbility == monAbility && Random() & 1)
+ {
+ // we found a mon
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i;
+ Emitcmd33(1, B_ACTION_SWITCH, 0);
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+/*static*/ bool8 ShouldSwitchIfNaturalCure(void)
+{
+ if (!(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP))
+ return FALSE;
+ if (gBattleMons[gActiveBattler].ability != ABILITY_NATURAL_CURE)
+ return FALSE;
+ if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 2)
+ return FALSE;
+
+ if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1)
+ {
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6;
+ Emitcmd33(1, B_ACTION_SWITCH, 0);
+ return TRUE;
+ }
+ else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1)
+ {
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6;
+ Emitcmd33(1, B_ACTION_SWITCH, 0);
+ return TRUE;
+ }
+
+ if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 1))
+ return TRUE;
+ if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1))
+ return TRUE;
+ if (Random() & 1)
+ {
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6;
+ Emitcmd33(1, B_ACTION_SWITCH, 0);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng)
+{
+ u8 opposingBank;
+ s32 i;
+ u8 moveFlags;
+ u16 move;
+
+ opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ if (!(gAbsentBattlerFlags & gBitTable[opposingBank]))
+ {
+ for (i = 0; i < 4; i++)
+ {
+ move = gBattleMons[gActiveBattler].moves[i];
+ if (move == MOVE_NONE)
+ continue;
+
+ moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability);
+ if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE)
+ {
+ if (noRng)
+ return TRUE;
+ if (Random() % 10 != 0)
+ return TRUE;
+ }
+ }
+ }
+ if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ return FALSE;
+
+ opposingBank = GetBattlerAtPosition(BATTLE_PARTNER(B_POSITION_PLAYER_LEFT));
+ if (!(gAbsentBattlerFlags & gBitTable[opposingBank]))
+ {
+ for (i = 0; i < 4; i++)
+ {
+ move = gBattleMons[gActiveBattler].moves[i];
+ if (move == MOVE_NONE)
+ continue;
+
+ moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability);
+ if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE)
+ {
+ if (noRng)
+ return TRUE;
+ if (Random() % 10 != 0)
+ return TRUE;
+ }
+ }
+ }
+
+ return FALSE;
+}
+
+/*static*/ bool8 AreStatsRaised(void)
+{
+ u8 buffedStatsValue = 0;
+ s32 i;
+
+ for (i = 0; i < BATTLE_STATS_NO; i++)
+ {
+ if (gBattleMons[gActiveBattler].statStages[i] > 6)
+ buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - 6;
+ }
+
+ return (buffedStatsValue > 3);
+}
+
+/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
+{
+ u8 bankIn1, bankIn2;
+ s32 i, j;
+ u16 move;
+ u8 moveFlags;
+
+ if (gLastLandedMoves[gActiveBattler] == 0)
+ return FALSE;
+ if (gLastLandedMoves[gActiveBattler] == 0xFFFF)
+ return FALSE;
+ if (gLastHitBy[gActiveBattler] == 0xFF)
+ return FALSE;
+ if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0)
+ return FALSE;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ bankIn1 = gActiveBattler;
+ if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))])
+ bankIn2 = gActiveBattler;
+ else
+ bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)));
+ }
+ else
+ {
+ bankIn1 = gActiveBattler;
+ bankIn2 = gActiveBattler;
+ }
+
+ for (i = 0; i < 6; i++)
+ {
+ u16 species;
+ u8 monAbility;
+
+ if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0)
+ continue;
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE)
+ continue;
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
+ continue;
+ if (i == gBattlerPartyIndexes[bankIn1])
+ continue;
+ if (i == gBattlerPartyIndexes[bankIn2])
+ continue;
+ if (i == ewram16068arr(bankIn1))
+ continue;
+ if (i == ewram16068arr(bankIn2))
+ continue;
+
+ species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES);
+ if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0)
+ monAbility = gBaseStats[species].ability2;
+ else
+ monAbility = gBaseStats[species].ability1;
+
+ moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBattler], species, monAbility);
+ if (moveFlags & flags)
+ {
+ bankIn1 = gLastHitBy[gActiveBattler];
+
+ for (j = 0; j < 4; j++)
+ {
+ move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j);
+ if (move == 0)
+ continue;
+
+ moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability);
+ if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0)
+ {
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i;
+ Emitcmd33(1, B_ACTION_SWITCH, 0);
+ return TRUE;
+ }
+ }
+ }
+ }
+
+ return FALSE;
+}
+
+/*static*/ bool8 ShouldSwitch(void)
+{
+ u8 bankIn1, bankIn2;
+ s32 i;
+ s32 availableToSwitch;
+
+ if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION))
+ return FALSE;
+ if (gStatuses3[gActiveBattler] & STATUS3_ROOTED)
+ return FALSE;
+ if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0))
+ return FALSE;
+ if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0))
+ return FALSE; // misses the flying or levitate check
+ if (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_MAGNET_PULL, 0, 0))
+ {
+ if (gBattleMons[gActiveBattler].type1 == TYPE_STEEL)
+ return FALSE;
+ if (gBattleMons[gActiveBattler].type2 == TYPE_STEEL)
+ return FALSE;
+ }
+
+ availableToSwitch = 0;
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ bankIn1 = gActiveBattler;
+ if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)])
+ bankIn2 = gActiveBattler;
+ else
+ bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK);
+ }
+ else
+ {
+ bankIn1 = gActiveBattler;
+ bankIn2 = gActiveBattler;
+ }
+
+ for (i = 0; i < 6; i++)
+ {
+ if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0)
+ continue;
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE)
+ continue;
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
+ continue;
+ if (i == gBattlerPartyIndexes[bankIn1])
+ continue;
+ if (i == gBattlerPartyIndexes[bankIn2])
+ continue;
+ if (i == ewram16068arr(bankIn1))
+ continue;
+ if (i == ewram16068arr(bankIn2))
+ continue;
+
+ availableToSwitch++;
+ }
+
+ if (availableToSwitch == 0)
+ return FALSE;
+ if (ShouldSwitchIfPerishSong())
+ return TRUE;
+ if (ShouldSwitchIfWonderGuard())
+ return TRUE;
+ if (FindMonThatAbsorbsOpponentsMove())
+ return TRUE;
+ if (ShouldSwitchIfNaturalCure())
+ return TRUE;
+ if (HasSuperEffectiveMoveAgainstOpponents(FALSE))
+ return FALSE;
+ if (AreStatsRaised())
+ return FALSE;
+ if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2)
+ || FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3))
+ return TRUE;
+
+ return FALSE;
+}
+
+void AI_TrySwitchOrUseItem(void)
+{
+ u8 bankIn1, bankIn2;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
+ {
+ if (ShouldSwitch())
+ {
+ if (ewram160C8arr(GetBattlerPosition(gActiveBattler)) == 6)
+ {
+ s32 monToSwitchId = GetMostSuitableMonToSwitchInto();
+ if (monToSwitchId == 6)
+ {
+ if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
+ {
+ bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ bankIn2 = bankIn1;
+ }
+ else
+ {
+ bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ bankIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
+ }
+
+ for (monToSwitchId = 0; monToSwitchId < 6; monToSwitchId++)
+ {
+ if (GetMonData(&gEnemyParty[monToSwitchId], MON_DATA_HP) == 0)
+ continue;
+ if (monToSwitchId == gBattlerPartyIndexes[bankIn1])
+ continue;
+ if (monToSwitchId == gBattlerPartyIndexes[bankIn2])
+ continue;
+ if (monToSwitchId == ewram16068arr(bankIn1))
+ continue;
+ if (monToSwitchId == ewram16068arr(bankIn2))
+ continue;
+
+ break;
+ }
+ }
+
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = monToSwitchId;
+ }
+
+ ewram16068arr(gActiveBattler) = ewram160C8arr(GetBattlerPosition(gActiveBattler));
+ return;
+ }
+ else
+ {
+ #if DEBUG
+ if (!(gUnknown_02023A14_50 & 0x20) && ShouldUseItem())
+ return;
+ #else
+ if (ShouldUseItem())
+ return;
+ #endif
+ }
+ }
+
+ Emitcmd33(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8);
+}
+
+/*static*/ void ModulateByTypeEffectiveness(u8 attackType, u8 defenseType1, u8 defenseType2, u8 *var)
+{
+ s32 i = 0;
+
+ while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE)
+ {
+ if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
+ {
+ i += 3;
+ continue;
+ }
+ else if (TYPE_EFFECT_ATK_TYPE(i) == attackType)
+ {
+ // check type1
+ if (TYPE_EFFECT_DEF_TYPE(i) == defenseType1)
+ *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10;
+ // check type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == defenseType2 && defenseType1 != defenseType2)
+ *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10;
+ }
+ i += 3;
+ }
+}
+
+u8 GetMostSuitableMonToSwitchInto(void)
+{
+ u8 opposingBank;
+ u8 bestDmg; // note : should be changed to s32
+ u8 bestMonId;
+ u8 bankIn1, bankIn2;
+ s32 i, j;
+ u8 invalidMons;
+ u16 move;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ bankIn1 = gActiveBattler;
+ if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)])
+ bankIn2 = gActiveBattler;
+ else
+ bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK);
+
+ // UB: It considers the opponent only player's side even though it can battle alongside player;
+ opposingBank = Random() & BIT_FLANK;
+ if (gAbsentBattlerFlags & gBitTable[opposingBank])
+ opposingBank ^= BIT_FLANK;
+ }
+ else
+ {
+ opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ bankIn1 = gActiveBattler;
+ bankIn2 = gActiveBattler;
+ }
+
+ invalidMons = 0;
+
+ while (invalidMons != 0x3F) // all mons are invalid
+ {
+ bestDmg = 0;
+ bestMonId = 6;
+ // find the mon which type is the most suitable offensively
+ for (i = 0; i < 6; i++)
+ {
+ u16 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES);
+ if (species != SPECIES_NONE
+ && GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0
+ && !(gBitTable[i] & invalidMons)
+ && gBattlerPartyIndexes[bankIn1] != i
+ && gBattlerPartyIndexes[bankIn2] != i
+ && i != ewram16068arr(bankIn1)
+ && i != ewram16068arr(bankIn2))
+ {
+ u8 type1 = gBaseStats[species].type1;
+ u8 type2 = gBaseStats[species].type2;
+ u8 typeDmg = 10;
+ ModulateByTypeEffectiveness(gBattleMons[opposingBank].type1, type1, type2, &typeDmg);
+ ModulateByTypeEffectiveness(gBattleMons[opposingBank].type2, type1, type2, &typeDmg);
+ if (bestDmg < typeDmg)
+ {
+ bestDmg = typeDmg;
+ bestMonId = i;
+ }
+ }
+ else
+ {
+ invalidMons |= gBitTable[i];
+ }
+ }
+
+ // ok, we know the mon has the right typing but does it have at least one super effective move?
+ if (bestMonId != 6)
+ {
+ for (i = 0; i < 4; i++)
+ {
+ move = GetMonData(&gEnemyParty[bestMonId], MON_DATA_MOVE1 + i);
+ if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBank) & MOVE_RESULT_SUPER_EFFECTIVE)
+ break;
+ }
+
+ if (i != 4)
+ return bestMonId; // has both the typing and at least one super effective move
+
+ invalidMons |= gBitTable[bestMonId]; // sorry buddy, we want something better
+ }
+ else
+ {
+ invalidMons = 0x3F; // no viable mon to switch
+ }
+ }
+
+ gDynamicBasePower = 0;
+ gBattleStruct->dynamicMoveType = 0;
+ gBattleStruct->dmgMultiplier = 1;
+ gMoveResultFlags = 0;
+ gCritMultiplier = 1;
+ bestDmg = 0;
+ bestMonId = 6;
+
+ // if we couldn't find the best mon in terms of typing, find the one that deals most damage
+ for (i = 0; i < 6; i++)
+ {
+ if ((u16)(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES)) == SPECIES_NONE)
+ continue;
+ if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0)
+ continue;
+ if (gBattlerPartyIndexes[bankIn1] == i)
+ continue;
+ if (gBattlerPartyIndexes[bankIn2] == i)
+ continue;
+ if (i == ewram16068arr(bankIn1))
+ continue;
+ if (i == ewram16068arr(bankIn2))
+ continue;
+
+ for (j = 0; j < 4; j++)
+ {
+ move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j);
+ gBattleMoveDamage = 0;
+ if (move != MOVE_NONE && gBattleMoves[move].power != 1)
+ {
+ AI_CalcDmg(gActiveBattler, opposingBank);
+ TypeCalc(move, gActiveBattler, opposingBank);
+ }
+ if (bestDmg < gBattleMoveDamage)
+ {
+ bestDmg = gBattleMoveDamage;
+ bestMonId = i;
+ }
+ }
+ }
+
+ return bestMonId;
+}
diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c
index f285d2644..7b04446a0 100644
--- a/src/battle/battle_ai.c
+++ b/src/battle/battle_ai.c
@@ -18,18 +18,18 @@ extern u32 gUnknown_02023A14_4C;
extern u16 gBattleTypeFlags;
extern u16 gBattleWeather;
extern u8 gActiveBattler;
-extern u16 gBattlePartyID[MAX_BANKS_BATTLE];
+extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
extern u16 gCurrentMove;
extern int gBattleMoveDamage;
extern u8 gBankAttacker;
extern u8 gBankTarget;
-extern u8 gAbsentBankFlags;
-extern u8 gBattleMoveFlags;
+extern u8 gAbsentBattlerFlags;
+extern u8 gMoveResultFlags;
extern u16 gDynamicBasePower;
-extern u16 gLastUsedMove[MAX_BANKS_BATTLE];
-extern u32 gStatuses3[MAX_BANKS_BATTLE];
+extern u16 gLastUsedMove[MAX_BATTLERS_COUNT];
+extern u32 gStatuses3[MAX_BATTLERS_COUNT];
extern u16 gSideAffecting[2];
-extern struct BattlePokemon gBattleMons[MAX_BANKS_BATTLE];
+extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT];
extern u8 gCritMultiplier;
extern u16 gTrainerBattleOpponent;
extern u8 *BattleAIs[];
@@ -324,7 +324,7 @@ void BattleAI_SetupAIData(void)
{
gBankTarget = Random() & 2; // just pick somebody to target.
- if (gAbsentBankFlags & gBitTable[gBankTarget])
+ if (gAbsentBattlerFlags & gBitTable[gBankTarget])
gBankTarget ^= 2;
}
else
@@ -465,13 +465,13 @@ void unref_sub_81074A0(u8 a)
void RecordAbilityBattle(u8 a, u8 b)
{
if (GetBankSide(a) == 0)
- UNK_2016A00_STRUCT->unk20[GetBankIdentity(a) & 1] = b;
+ UNK_2016A00_STRUCT->unk20[GetBattlerPosition(a) & 1] = b;
}
void RecordItemBattle(u8 a, u8 b)
{
if (GetBankSide(a) == 0)
- UNK_2016A00_STRUCT->unk22[GetBankIdentity(a) & 1] = b;
+ UNK_2016A00_STRUCT->unk22[GetBattlerPosition(a) & 1] = b;
}
static void BattleAICmd_if_random_less_than(void)
@@ -694,7 +694,7 @@ static void BattleAICmd_if_status4(void)
else
index = gBankTarget;
- arg1 = GetBankIdentity(index) & 1;
+ arg1 = GetBattlerPosition(index) & 1;
arg2 = T1_READ_32(gAIScriptPtr + 2);
if ((gSideAffecting[arg1] & arg2) != 0)
@@ -713,7 +713,7 @@ static void BattleAICmd_if_not_status4(void)
else
index = gBankTarget;
- arg1 = GetBankIdentity(index) & 1;
+ arg1 = GetBattlerPosition(index) & 1;
arg2 = T1_READ_32(gAIScriptPtr + 2);
if ((gSideAffecting[arg1] & arg2) == 0)
@@ -961,7 +961,7 @@ static void BattleAICmd_is_most_powerful_move(void)
gDynamicBasePower = 0;
eDynamicMoveType = 0;
eDmgMultiplier = 1;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gCritMultiplier = 1;
for (i = 0; i < MAX_MON_MOVES; i++)
@@ -1072,7 +1072,7 @@ _08108250:\n\
adds r0, r5, r2\n\
movs r2, 0x1\n\
strb r2, [r0]\n\
- ldr r0, _08108340 @ =gBattleMoveFlags\n\
+ ldr r0, _08108340 @ =gMoveResultFlags\n\
strb r1, [r0]\n\
ldr r0, _08108344 @ =gCritMultiplier\n\
strb r2, [r0]\n\
@@ -1177,7 +1177,7 @@ _08108330: .4byte gBattleMoves\n\
_08108334: .4byte gSharedMem + 0x16800\n\
_08108338: .4byte gDynamicBasePower\n\
_0810833C: .4byte 0xfffff81c\n\
-_08108340: .4byte gBattleMoveFlags\n\
+_08108340: .4byte gMoveResultFlags\n\
_08108344: .4byte gCritMultiplier\n\
_08108348: .4byte gBattleMons\n\
_0810834C: .4byte gBankAttacker\n\
@@ -1325,14 +1325,14 @@ static void BattleAICmd_count_alive_pokemon(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
u32 status;
- var = gBattlePartyID[index];
- status = GetBankIdentity(index) ^ 2;
- var2 = gBattlePartyID[GetBankByIdentity(status)];
+ var = gBattlerPartyIndexes[index];
+ status = GetBattlerPosition(index) ^ 2;
+ var2 = gBattlerPartyIndexes[GetBattlerAtPosition(status)];
}
else
{
- var = gBattlePartyID[index];
- var2 = gBattlePartyID[index];
+ var = gBattlerPartyIndexes[index];
+ var2 = gBattlerPartyIndexes[index];
}
for (i = 0; i < 6; i++)
@@ -1372,7 +1372,7 @@ static void BattleAICmd_get_ability(void)
if (GetBankSide(index) == TARGET)
{
- u16 unk = GetBankIdentity(index) & 1;
+ u16 unk = GetBattlerPosition(index) & 1;
if (UNK_2016A00_STRUCT->unk20[unk] != 0)
{
@@ -1430,7 +1430,7 @@ static void BattleAICmd_get_highest_possible_damage(void)
gDynamicBasePower = 0;
gBattleStruct->dynamicMoveType = 0;
gBattleStruct->dmgMultiplier = 1;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gCritMultiplier = 1;
AI_THINKING_STRUCT->funcResult = 0;
@@ -1453,7 +1453,7 @@ static void BattleAICmd_get_highest_possible_damage(void)
if (gBattleMoveDamage == 15)
gBattleMoveDamage = 10;
- if (gBattleMoveFlags & 8) // if it's a status move, it wont do anything.
+ if (gMoveResultFlags & 8) // if it's a status move, it wont do anything.
gBattleMoveDamage = 0;
if (AI_THINKING_STRUCT->funcResult < gBattleMoveDamage)
@@ -1470,7 +1470,7 @@ static void BattleAICmd_if_damage_bonus(void)
gDynamicBasePower = 0;
gBattleStruct->dynamicMoveType = 0;
gBattleStruct->dmgMultiplier = 1;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gCritMultiplier = 1;
gBattleMoveDamage = 40;
@@ -1487,7 +1487,7 @@ static void BattleAICmd_if_damage_bonus(void)
if (gBattleMoveDamage == 15)
gBattleMoveDamage = 10;
- if (gBattleMoveFlags & 8)
+ if (gMoveResultFlags & 8)
gBattleMoveDamage = 0;
// store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8.
@@ -1677,7 +1677,7 @@ static void BattleAICmd_if_can_faint(void)
gDynamicBasePower = 0;
gBattleStruct->dynamicMoveType = 0;
gBattleStruct->dmgMultiplier = 1;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gCritMultiplier = 1;
gCurrentMove = AI_THINKING_STRUCT->moveConsidered;
AI_CalcDmg(gBankAttacker, gBankTarget);
@@ -1706,7 +1706,7 @@ static void BattleAICmd_if_cant_faint(void)
gDynamicBasePower = 0;
gBattleStruct->dynamicMoveType = 0;
gBattleStruct->dmgMultiplier = 1;
- gBattleMoveFlags = 0;
+ gMoveResultFlags = 0;
gCritMultiplier = 1;
gCurrentMove = AI_THINKING_STRUCT->moveConsidered;
AI_CalcDmg(gBankAttacker, gBankTarget);
@@ -1938,7 +1938,7 @@ static void BattleAICmd_get_hold_effect(void)
if (GetBankSide(index) == 0)
{
- status = (GetBankIdentity(index) & 1);
+ status = (GetBattlerPosition(index) & 1);
AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk22[status];
}
else
diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c
index 03ce1798f..90fff11ee 100644
--- a/src/battle/battle_anim.c
+++ b/src/battle/battle_anim.c
@@ -1287,7 +1287,7 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
&gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_24, &gBattleAnimBackgroundTilemap_06,
};
-extern u16 gBattlePartyID[4];
+extern u16 gBattlerPartyIndexes[4];
extern u8 gBankSpriteIds[];
extern u8 gBankAttacker;
extern u8 gBankTarget;
@@ -1491,9 +1491,9 @@ void LaunchBattleAnimation(const u8 *const moveAnims[], u16 move, u8 isMoveAnim)
for (i = 0; i < 4; i++)
{
if (GetBankSide(i) != 0)
- gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_SPECIES);
+ gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
else
- gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_SPECIES);
+ gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
}
}
else
@@ -1829,7 +1829,7 @@ static void ScriptCmd_monbg(void)
if (IsAnimBankSpriteVisible(bank))
{
- identity = GetBankIdentity(bank);
+ identity = GetBattlerPosition(bank);
identity += 0xFF;
if (identity <= 1 || IsContest() != 0)
toBG_2 = 0;
@@ -1861,7 +1861,7 @@ static void ScriptCmd_monbg(void)
bank ^= 2;
if (animBank >= ANIM_BANK_ATK_PARTNER && IsAnimBankSpriteVisible(bank))
{
- identity = GetBankIdentity(bank);
+ identity = GetBattlerPosition(bank);
identity += 0xFF;
if (identity <= 1 || IsContest() != 0)
toBG_2 = 0;
@@ -1947,7 +1947,7 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2)
if (IsContest() != 0)
r2 = 0;
else
- r2 = GetBankIdentity(bank);
+ r2 = GetBattlerPosition(bank);
sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock);
if (IsContest() != 0)
sub_8076380();
@@ -1976,7 +1976,7 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2)
LoadPalette(gPlttBufferUnfaded + 0x100 + bank * 16, 0x90, 32);
DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + bank * 16, (void *)(PLTT + 0x120), 32);
- sub_80E4EF8(0, 0, GetBankIdentity(bank), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock);
+ sub_80E4EF8(0, 0, GetBattlerPosition(bank), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock);
}
}
@@ -2119,7 +2119,7 @@ static void sub_807672C(u8 taskId)
gTasks[taskId].data[1]++;
if (gTasks[taskId].data[1] != 1)
{
- identity = GetBankIdentity(gTasks[taskId].data[2]);
+ identity = GetBattlerPosition(gTasks[taskId].data[2]);
identity += 0xFF;
if (identity <= 1 || IsContest() != 0)
to_BG2 = 0;
@@ -2163,7 +2163,7 @@ static void ScriptCmd_monbg_22(void)
if (IsAnimBankSpriteVisible(bank))
{
- identity = GetBankIdentity(bank);
+ identity = GetBattlerPosition(bank);
identity += 0xFF;
if (identity <= 1 || IsContest() != 0)
r1 = 0;
@@ -2176,7 +2176,7 @@ static void ScriptCmd_monbg_22(void)
bank ^= 2;
if (animBankId > ANIM_BANK_TARGET && IsAnimBankSpriteVisible(bank))
{
- identity = GetBankIdentity(bank);
+ identity = GetBattlerPosition(bank);
identity += 0xFF;
if (identity <= 1 || IsContest() != 0)
r1 = 0;
@@ -2231,7 +2231,7 @@ static void sub_80769A4(u8 taskId)
if (gTasks[taskId].data[1] != 1)
{
bank = gTasks[taskId].data[2];
- identity = GetBankIdentity(bank);
+ identity = GetBattlerPosition(bank);
identity += 0xFF;
if (identity <= 1 || IsContest() != 0)
toBG_2 = 0;
@@ -3052,7 +3052,7 @@ static void ScriptCmd_monbgprio_28(void)
else
bank = gAnimBankAttacker;
- bankIdentity = GetBankIdentity(bank);
+ bankIdentity = GetBattlerPosition(bank);
if (!IsContest() && (bankIdentity == 0 || bankIdentity == 3))
{
REG_BG1CNT_BITFIELD.priority = 1;
@@ -3084,7 +3084,7 @@ static void ScriptCmd_monbgprio_2A(void)
bank = gAnimBankTarget;
else
bank = gAnimBankAttacker;
- bankIdentity = GetBankIdentity(bank);
+ bankIdentity = GetBattlerPosition(bank);
if (!IsContest() && (bankIdentity == 0 || bankIdentity == 3))
{
REG_BG1CNT_BITFIELD.priority = 1;
@@ -3128,12 +3128,12 @@ static void ScriptCmd_doublebattle_2D(void)
{
if (wantedBank == 0)
{
- r4 = GetBankIdentity_permutated(gAnimBankAttacker);
+ r4 = GetBattlerPosition_permutated(gAnimBankAttacker);
spriteId = GetAnimBankSpriteId(0);
}
else
{
- r4 = GetBankIdentity_permutated(gAnimBankTarget);
+ r4 = GetBattlerPosition_permutated(gAnimBankTarget);
spriteId = GetAnimBankSpriteId(1);
}
if (spriteId != 0xFF)
@@ -3162,12 +3162,12 @@ static void ScriptCmd_doublebattle_2E(void)
{
if (wantedBank == 0)
{
- r4 = GetBankIdentity_permutated(gAnimBankAttacker);
+ r4 = GetBattlerPosition_permutated(gAnimBankAttacker);
spriteId = GetAnimBankSpriteId(0);
}
else
{
- r4 = GetBankIdentity_permutated(gAnimBankTarget);
+ r4 = GetBattlerPosition_permutated(gAnimBankTarget);
spriteId = GetAnimBankSpriteId(1);
}
if (spriteId != 0xFF && r4 == 2)
diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c
index a8b0ec329..15191a1ce 100644
--- a/src/battle/battle_anim_80A7E7C.c
+++ b/src/battle/battle_anim_80A7E7C.c
@@ -182,17 +182,17 @@ void AnimTask_ShakeMon2(u8 taskId)
switch (gBattleAnimArgs[0])
{
case 4:
- side = GetBankByIdentity(0);
+ side = GetBattlerAtPosition(0);
break;
case 5:
- side = GetBankByIdentity(2);
+ side = GetBattlerAtPosition(2);
break;
case 6:
- side = GetBankByIdentity(1);
+ side = GetBattlerAtPosition(1);
break;
case 7:
default:
- side = GetBankByIdentity(3);
+ side = GetBattlerAtPosition(3);
break;
}
@@ -427,7 +427,7 @@ static void sub_80A8488(u8 taskId)
// arg 4: speed (valid values are 0-5)
void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId)
{
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
AnimTask_TranslateMonElliptical(taskId);
@@ -440,7 +440,7 @@ void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId)
static void DoHorizontalLunge(struct Sprite *sprite)
{
sprite->invisible = TRUE;
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
sprite->data[1] = -gBattleAnimArgs[1];
else
sprite->data[1] = gBattleAnimArgs[1];
@@ -572,7 +572,7 @@ static void SlideMonToOffset(struct Sprite *sprite)
battler = gAnimBankTarget;
monSpriteId = gBankSpriteIds[battler];
- if (GetBankSide(battler) != SIDE_PLAYER)
+ if (GetBankSide(battler) != B_SIDE_PLAYER)
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
if (gBattleAnimArgs[3] == 1)
@@ -659,7 +659,7 @@ static void sub_80A88F0(struct Sprite *sprite)
void AnimTask_WindUpLunge(u8 taskId)
{
s16 wavePeriod = 0x8000 / gBattleAnimArgs[3];
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
{
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[5] = -gBattleAnimArgs[5];
@@ -774,7 +774,7 @@ static void sub_80A8B3C(u8 taskId)
void AnimTask_SwayMon(u8 taskId)
{
u8 spriteId;
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]);
@@ -812,7 +812,7 @@ static void AnimTask_SwayMonStep(u8 taskId)
}
else
{
- if (GetBankSide(TASK.data[5]) == SIDE_PLAYER)
+ if (GetBankSide(TASK.data[5]) == B_SIDE_PLAYER)
{
gSprites[spriteId].pos2.y = (sineValue >= 0) ? sineValue : -sineValue;
}
diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c
index f1cb34bdf..b1e711b05 100644
--- a/src/battle/battle_controller_linkopponent.c
+++ b/src/battle/battle_controller_linkopponent.c
@@ -28,7 +28,7 @@ struct MovePpInfo
extern u8 gActiveBattler;
extern u8 gBattleBufferA[][0x200];
extern u8 gBankSpriteIds[];
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gHealthboxIDs[];
extern u16 gBattleTypeFlags;
extern u8 gBattleMonForms[];
@@ -57,7 +57,7 @@ extern struct MusicPlayerInfo gMPlay_BGM;
extern u8 sub_8077F68();
extern u8 sub_8079E90();
-extern u8 GetBankIdentity(u8);
+extern u8 GetBattlerPosition(u8);
extern void BattleLoadOpponentMonSprite(struct Pokemon *, u8);
extern void sub_8037A74(void);
extern void sub_8032984(u8, u16);
@@ -311,7 +311,7 @@ void sub_8037680(void)
if (r6)
{
- if (GetBankIdentity(gActiveBattler) == 1)
+ if (GetBattlerPosition(gActiveBattler) == 1)
{
if (!ewram17810[gActiveBattler].unk1_0 || !ewram17810[gActiveBattler ^ 2].unk1_0)
return;
@@ -324,7 +324,7 @@ void sub_8037680(void)
}
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
- if (GetBankIdentity(gActiveBattler) == 1)
+ if (GetBattlerPosition(gActiveBattler) == 1)
m4aMPlayContinue(&gMPlay_BGM);
}
else
@@ -339,12 +339,12 @@ void sub_8037680(void)
void sub_8037840(void)
{
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7)
- sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7)
- sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]]);
+ sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]);
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3)
{
- if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBankIdentity(gActiveBattler) == 3)
+ if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(gActiveBattler) == 3)
{
if (++ewram17810[gActiveBattler].unk9 == 1)
return;
@@ -355,24 +355,24 @@ void sub_8037840(void)
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]);
sub_8045A5C(
gHealthboxIDs[gActiveBattler ^ 2],
- &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]],
+ &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]],
0);
sub_804777C(gActiveBattler ^ 2);
sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]);
sub_8032984(
gActiveBattler ^ 2,
- GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], MON_DATA_SPECIES));
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], MON_DATA_SPECIES));
}
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]);
sub_8045A5C(
gHealthboxIDs[gActiveBattler],
- &gEnemyParty[gBattlePartyID[gActiveBattler]],
+ &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]],
0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
sub_8032984(
gActiveBattler,
- GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES));
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
ewram17840.unk9_0 = 0;
gBattleBankFunc[gActiveBattler] = sub_8037680;
@@ -386,7 +386,7 @@ void sub_8037A74(void)
{
if (!ewram17810[gActiveBattler].unk0_7)
{
- sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
return;
}
if (ewram17810[gActiveBattler].unk1_0)
@@ -488,7 +488,7 @@ void sub_8037D64(void)
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0);
sub_8045A5C(
gHealthboxIDs[gActiveBattler],
- &gEnemyParty[gBattlePartyID[gActiveBattler]],
+ &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]],
0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
@@ -500,12 +500,12 @@ void sub_8037D64(void)
void sub_8037E30(void)
{
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7)
- sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy
&& !ewram17810[gActiveBattler].unk0_3)
{
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]);
- sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES));
+ sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
gBattleBankFunc[gActiveBattler] = sub_8037D64;
}
}
@@ -577,7 +577,7 @@ void LinkOpponentHandleGetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- r6 = dp01_getattr_by_ch1_for_player_pokemon__(gBattlePartyID[gActiveBattler], buffer);
+ r6 = dp01_getattr_by_ch1_for_player_pokemon__(gBattlerPartyIndexes[gActiveBattler], buffer);
}
else
{
@@ -907,7 +907,7 @@ void LinkOpponentHandleSetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- sub_8038900(gBattlePartyID[gActiveBattler]);
+ sub_8038900(gBattlerPartyIndexes[gActiveBattler]);
}
else
{
@@ -1143,7 +1143,7 @@ void LinkOpponentHandlecmd3(void)
u8 *dst;
u8 i;
- MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1],
+ MEMSET_ALT(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1],
gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst);
LinkOpponentBufferExecCompleted();
@@ -1151,10 +1151,10 @@ void LinkOpponentHandlecmd3(void)
void LinkOpponentHandleLoadPokeSprite(void)
{
- u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES);
+ u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
- BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
- GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBattler));
+ BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
+ GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
GetBankPosition(gActiveBattler, 2),
@@ -1164,13 +1164,13 @@ void LinkOpponentHandleLoadPokeSprite(void)
gSprites[gBankSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
- sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES));
+ sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
gBattleBankFunc[gActiveBattler] = sub_8037A74;
}
void LinkOpponentHandleSendOutPoke(void)
{
- gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1];
+ gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1];
sub_8039430(gActiveBattler, gBattleBufferA[gActiveBattler][2]);
gBattleBankFunc[gActiveBattler] = sub_8037E30;
}
@@ -1180,11 +1180,11 @@ void sub_8039430(u8 a, u8 b)
u16 species;
sub_8032AA8(a, b);
- gBattlePartyID[a] = gBattleBufferA[a][1];
- species = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_SPECIES);
+ gBattlerPartyIndexes[a] = gBattleBufferA[a][1];
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES);
gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0);
- BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a);
- GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a));
+ BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a);
+ GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a));
gBankSpriteIds[a] = CreateSprite(
&gUnknown_02024E8C,
GetBankPosition(a, 2),
@@ -1244,7 +1244,7 @@ void LinkOpponentHandleTrainerThrow(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
- if (GetBankIdentity(gActiveBattler) & 2)
+ if (GetBattlerPosition(gActiveBattler) & 2)
xOffset = -16;
else
xOffset = 16;
@@ -1256,7 +1256,7 @@ void LinkOpponentHandleTrainerThrow(void)
gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender;
}
sub_8031A6C(gender, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
176 + xOffset, 40 + 4 * (8 - gTrainerFrontPicCoords[gender].coords),
@@ -1460,14 +1460,14 @@ void LinkOpponentHandleHealthBarUpdate(void)
r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8);
if (r7 != 0x7FFF)
{
- u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
- u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP);
+ u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 hp = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7);
}
else
{
- u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7);
}
@@ -1483,7 +1483,7 @@ void LinkOpponentHandleStatusIconUpdate(void)
{
if (mplay_80342A4(gActiveBattler) == 0)
{
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlePartyID[gActiveBattler]], 9);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9);
ewram17810[gActiveBattler].unk0_4 = 0;
gBattleBankFunc[gActiveBattler] = sub_8037FAC;
}
@@ -1613,7 +1613,7 @@ void LinkOpponentHandlecmd44(void)
void LinkOpponentHandleFaintingCry(void)
{
PlayCry3(
- GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES),
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES),
25, 5);
LinkOpponentBufferExecCompleted();
}
@@ -1651,15 +1651,15 @@ void sub_803A2C4(u8 taskId)
gActiveBattler = gTasks[taskId].data[0];
if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_8039430(gActiveBattler, 0);
}
else
{
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_8039430(gActiveBattler, 0);
gActiveBattler ^= 2;
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_8039430(gActiveBattler, 0);
gActiveBattler ^= 2;
}
diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c
index 29c1b7235..9d0181336 100644
--- a/src/battle/battle_controller_linkpartner.c
+++ b/src/battle/battle_controller_linkpartner.c
@@ -34,7 +34,7 @@ extern u8 gDisplayedStringBattle[];
extern u8 gBattleBufferA[][0x200];
extern u8 gActiveBattler;
extern u32 gBattleExecBuffer;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gBankSpriteIds[];
extern u8 gBattleOutcome;
extern u16 gUnknown_02024DE8;
@@ -322,12 +322,12 @@ void sub_811DCA0(void)
if (IsDoubleBattle() && !(gBattleTypeFlags & 0x40))
{
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]);
- sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], 0);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0);
sub_804777C(gActiveBattler ^ 2);
sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]);
}
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]);
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
(s8)ewram17810[4].unk9 &= ~1;
@@ -355,7 +355,7 @@ void bx_t3_healthbar_update(void)
}
else
{
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
LinkPartnerBufferExecCompleted();
}
}
@@ -364,7 +364,7 @@ void sub_811DE98(void)
{
if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > 160)
{
- nullsub_9(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES));
+ nullsub_9(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum);
DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]);
sub_8043DB0(gHealthboxIDs[gActiveBattler]);
@@ -434,9 +434,9 @@ void sub_811E0CC(void)
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
CreateTask(c3_0802FDF4, 10);
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0);
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
sub_8031F88(gActiveBattler);
@@ -447,7 +447,7 @@ void sub_811E0CC(void)
void sub_811E1BC(void)
{
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7)
- sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy
&& !ewram17810[gActiveBattler].unk0_3)
{
@@ -523,7 +523,7 @@ void LinkPartnerHandleGetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBattler], unk);
+ r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlerPartyIndexes[gActiveBattler], unk);
}
else
{
@@ -854,7 +854,7 @@ void LinkPartnerHandleSetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- sub_811EC68(gBattlePartyID[gActiveBattler]);
+ sub_811EC68(gBattlerPartyIndexes[gActiveBattler]);
}
else
{
@@ -1084,7 +1084,7 @@ void sub_811EC68(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]);
break;
}
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
}
void LinkPartnerHandlecmd3(void)
@@ -1092,7 +1092,7 @@ void LinkPartnerHandlecmd3(void)
u8 *dst;
u8 i;
- MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1],
+ MEMSET_ALT(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1],
gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst);
LinkPartnerBufferExecCompleted();
@@ -1100,10 +1100,10 @@ void LinkPartnerHandlecmd3(void)
void LinkPartnerHandleLoadPokeSprite(void)
{
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
GetMonSpriteTemplate_803C56C(
- GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES),
- GetBankIdentity(gActiveBattler));
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES),
+ GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
GetBankPosition(gActiveBattler, 2),
@@ -1119,8 +1119,8 @@ void LinkPartnerHandleLoadPokeSprite(void)
void LinkPartnerHandleSendOutPoke(void)
{
sub_8032AA8(gActiveBattler, gBattleBufferA[gActiveBattler][2]);
- gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1];
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1];
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
sub_811F864(gActiveBattler, gBattleBufferA[gActiveBattler][2]);
gBattleBankFunc[gActiveBattler] = sub_811E1BC;
}
@@ -1130,10 +1130,10 @@ void sub_811F864(u8 a, u8 b)
u16 species;
sub_8032AA8(a, b);
- gBattlePartyID[a] = gBattleBufferA[a][1];
- species = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_SPECIES);
+ gBattlerPartyIndexes[a] = gBattleBufferA[a][1];
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES);
gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0);
- GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a));
+ GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a));
gBankSpriteIds[a] = CreateSprite(
&gUnknown_02024E8C,
GetBankPosition(a, 2),
@@ -1192,7 +1192,7 @@ void LinkPartnerHandleTrainerThrow(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
- if (GetBankIdentity(gActiveBattler) & 2)
+ if (GetBattlerPosition(gActiveBattler) & 2)
xOffset = 16;
else
xOffset = -16;
@@ -1204,7 +1204,7 @@ void LinkPartnerHandleTrainerThrow(void)
gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender;
}
LoadPlayerTrainerBankSprite(gender, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords),
@@ -1243,7 +1243,7 @@ void LinkPartnerHandlecmd10(void)
else if (!ewram17810[gActiveBattler].unk0_6)
{
ewram17810[gActiveBattler].unk4 = 0;
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PlaySE12WithPanning(SE_POKE_DEAD, -64);
gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0;
gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5;
@@ -1405,14 +1405,14 @@ void LinkPartnerHandleHealthBarUpdate(void)
r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8);
if (r7 != 0x7FFF)
{
- u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
- u32 hp = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP);
+ u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 hp = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7);
}
else
{
- u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7);
}
@@ -1428,7 +1428,7 @@ void LinkPartnerHandleStatusIconUpdate(void)
{
if (mplay_80342A4(gActiveBattler) == 0)
{
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 9);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9);
ewram17810[gActiveBattler].unk0_4 = 0;
gBattleBankFunc[gActiveBattler] = sub_811E38C;
}
@@ -1558,7 +1558,7 @@ void LinkPartnerHandlecmd44(void)
void LinkPartnerHandleFaintingCry(void)
{
PlayCry3(
- GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES),
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES),
-25, 5);
LinkPartnerBufferExecCompleted();
}
@@ -1610,16 +1610,16 @@ void sub_812071C(u8 taskId)
gActiveBattler = gTasks[taskId].data[0];
if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_811F864(gActiveBattler, 0);
}
else
{
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_811F864(gActiveBattler, 0);
gActiveBattler ^= 2;
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
sub_811F864(gActiveBattler, 0);
gActiveBattler ^= 2;
}
diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c
index 16b324f01..c87ffaf92 100644
--- a/src/battle/battle_controller_opponent.c
+++ b/src/battle/battle_controller_opponent.c
@@ -33,7 +33,7 @@ struct MovePpInfo
extern u8 gUnknown_02023A14_50;
extern u8 gActiveBattler;
extern u8 gBattleBufferA[][0x200];
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gBankSpriteIds[];
extern u8 gBattleMonForms[];
extern struct SpriteTemplate gUnknown_02024E8C;
@@ -55,7 +55,7 @@ extern u16 gBattle_BG0_Y;
extern u16 gBattle_BG0_X;
extern u8 gDisplayedStringBattle[];
extern u8 gBankTarget;
-extern u8 gAbsentBankFlags;
+extern u8 gAbsentBattlerFlags;
extern bool8 gDoingBattleAnim;
extern u16 gUnknown_02024DE8;
extern u8 gUnknown_02024E68[];
@@ -71,7 +71,7 @@ extern u8 sub_8077F68();
extern u8 sub_8079E90();
extern void sub_8033018(void);
extern void BattleLoadOpponentMonSprite();
-extern u8 GetBankIdentity(u8);
+extern u8 GetBattlerPosition(u8);
extern void sub_8032984(u8, u16);
extern void sub_80333D4(void);
extern void sub_80312F0(struct Sprite *);
@@ -98,9 +98,9 @@ extern void sub_8031F24(void);
extern void sub_80324BC();
extern void BufferStringBattle();
extern void sub_80331D0(void);
-extern void sub_8036B0C(void);
-extern u8 GetBankByIdentity(u8);
-extern u8 sub_8036CD4(void);
+extern void AI_TrySwitchOrUseItem(void);
+extern u8 GetBattlerAtPosition(u8);
+extern u8 GetMostSuitableMonToSwitchInto(void);
extern void sub_80330C8(void);
extern void sub_8043D84();
extern void sub_8045A5C();
@@ -350,9 +350,9 @@ void sub_8032C88(void)
void sub_8032E2C(void)
{
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7)
- sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7)
- sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]]);
+ sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]);
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3)
{
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@@ -360,24 +360,24 @@ void sub_8032E2C(void)
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]);
sub_8045A5C(
gHealthboxIDs[gActiveBattler ^ 2],
- &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]],
+ &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]],
0);
sub_804777C(gActiveBattler ^ 2);
sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]);
sub_8032984(
gActiveBattler ^ 2,
- GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], MON_DATA_SPECIES));
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], MON_DATA_SPECIES));
}
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]);
sub_8045A5C(
gHealthboxIDs[gActiveBattler],
- &gEnemyParty[gBattlePartyID[gActiveBattler]],
+ &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]],
0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
sub_8032984(
gActiveBattler,
- GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES));
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
ewram17840.unk9_0 = 0;
gBattleBankFunc[gActiveBattler] = sub_8032C88;
@@ -391,7 +391,7 @@ void sub_8033018(void)
{
if (!ewram17810[gActiveBattler].unk0_7)
{
- sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
return;
}
if (ewram17810[gActiveBattler].unk1_0)
@@ -493,7 +493,7 @@ void sub_8033308(void)
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0);
sub_8045A5C(
gHealthboxIDs[gActiveBattler],
- &gEnemyParty[gBattlePartyID[gActiveBattler]],
+ &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]],
0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
@@ -505,12 +505,12 @@ void sub_8033308(void)
void sub_80333D4(void)
{
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7)
- sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy
&& !ewram17810[gActiveBattler].unk0_3)
{
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]);
- sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES));
+ sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
gBattleBankFunc[gActiveBattler] = sub_8033308;
}
}
@@ -541,7 +541,7 @@ void OpponentHandleGetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- r6 = sub_8033598(gBattlePartyID[gActiveBattler], buffer);
+ r6 = sub_8033598(gBattlerPartyIndexes[gActiveBattler], buffer);
}
else
{
@@ -864,7 +864,7 @@ void OpponentHandlecmd1(void)
struct BattlePokemon buffer;
u8 i;
// TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard.
- u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1];
+ u8 *src = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1];
u8 *dst;
MEMSET_ALT(&buffer + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst);
@@ -879,7 +879,7 @@ void OpponentHandleSetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- sub_8033E24(gBattlePartyID[gActiveBattler]);
+ sub_8033E24(gBattlerPartyIndexes[gActiveBattler]);
}
else
{
@@ -1115,17 +1115,17 @@ void OpponentHandlecmd3(void)
u8 *dst;
u8 i;
- MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i],
+ MEMSET_ALT(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i],
gBattleBufferA[gActiveBattler][2], i, dst);
OpponentBufferExecCompleted();
}
void OpponentHandleLoadPokeSprite(void)
{
- u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES);
+ u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
- BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
- GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBattler));
+ BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
+ GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
GetBankPosition(gActiveBattler, 2),
@@ -1136,13 +1136,13 @@ void OpponentHandleLoadPokeSprite(void)
gSprites[gBankSpriteIds[gActiveBattler]].data[2] = species;
gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]);
- sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES));
+ sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES));
gBattleBankFunc[gActiveBattler] = sub_8033018;
}
void OpponentHandleSendOutPoke(void)
{
- gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1];
+ gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1];
sub_803495C(gActiveBattler, gBattleBufferA[gActiveBattler][2]);
gBattleBankFunc[gActiveBattler] = sub_80333D4;
@@ -1153,11 +1153,11 @@ void sub_803495C(u8 a, u8 b)
u16 species;
sub_8032AA8(a, b);
- gBattlePartyID[a] = gBattleBufferA[a][1];
- species = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_SPECIES);
+ gBattlerPartyIndexes[a] = gBattleBufferA[a][1];
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES);
gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0);
- BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a);
- GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a));
+ BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a);
+ GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a));
gBankSpriteIds[a] = CreateSprite(
&gUnknown_02024E8C,
GetBankPosition(a, 2),
@@ -1233,7 +1233,7 @@ void OpponentHandleTrainerThrow(void)
}
sub_8031A6C(trainerPicIndex, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
0xB0,
@@ -1263,7 +1263,7 @@ void OpponentHandleTrainerSlide(void)
trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic;
sub_8031A6C(trainerPicIndex, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
0xB0,
@@ -1428,7 +1428,7 @@ void OpponentHandlePrintStringPlayerOnly(void)
void OpponentHandlecmd18(void)
{
- sub_8036B0C();
+ AI_TrySwitchOrUseItem();
OpponentBufferExecCompleted();
}
@@ -1543,7 +1543,7 @@ void OpponentHandlecmd20(void)
bne ._557 @cond_branch\n\
mov r1, sl\n\
ldrb r0, [r1]\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
mov r1, #0x2\n\
eor r0, r0, r1\n\
lsl r0, r0, #0x18\n\
@@ -1564,7 +1564,7 @@ void OpponentHandlecmd20(void)
._557:\n\
mov r0, #0x0\n\
._558:\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
lsl r0, r0, #0x18\n\
lsr r0, r0, #0x18\n\
._561:\n\
@@ -1635,10 +1635,10 @@ void OpponentHandlecmd20(void)
cmp r0, #0\n\
beq ._572 @cond_branch\n\
mov r0, #0x0\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
ldr r5, ._574 + 4 @ gBankTarget\n\
strb r0, [r5]\n\
- ldr r0, ._574 + 8 @ gAbsentBankFlags\n\
+ ldr r0, ._574 + 8 @ gAbsentBattlerFlags\n\
ldrb r1, [r0]\n\
ldr r2, ._574 + 12 @ gBitTable\n\
ldrb r0, [r5]\n\
@@ -1649,7 +1649,7 @@ void OpponentHandlecmd20(void)
cmp r1, #0\n\
beq ._572 @cond_branch\n\
mov r0, #0x2\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
strb r0, [r5]\n\
._572:\n\
ldr r0, ._574 + 4 @ gBankTarget\n\
@@ -1665,7 +1665,7 @@ void OpponentHandlecmd20(void)
._574:\n\
.word gBattleMoves\n\
.word gBankTarget\n\
- .word gAbsentBankFlags\n\
+ .word gAbsentBattlerFlags\n\
.word gBitTable\n\
._563:\n\
mov r6, #0x3\n\
@@ -1710,7 +1710,7 @@ void OpponentHandlecmd20(void)
lsl r1, r1, #0x18\n\
lsr r1, r1, #0x18\n\
add r0, r1, #0\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
add r2, r0, #0\n\
lsl r2, r2, #0x18\n\
lsr r2, r2, #0x10\n\
@@ -1726,7 +1726,7 @@ void OpponentHandlecmd20(void)
.word gBattleTypeFlags\n\
._581:\n\
mov r0, #0x0\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
add r2, r0, #0\n\
lsl r2, r2, #0x18\n\
lsr r2, r2, #0x10\n\
@@ -1770,9 +1770,9 @@ void OpponentHandlecmd20(void)
gBankTarget = gActiveBattler;
if (gBattleMoves[r5->moves[r4]].target & 8)
{
- gBankTarget = GetBankByIdentity(0);
- if (gAbsentBankFlags & gBitTable[gBankTarget])
- gBankTarget = GetBankByIdentity(2);
+ gBankTarget = GetBattlerAtPosition(0);
+ if (gAbsentBattlerFlags & gBitTable[gBankTarget])
+ gBankTarget = GetBattlerAtPosition(2);
}
r4 |= gBankTarget << 8;
Emitcmd33(1, 10, r4);
@@ -1798,13 +1798,13 @@ void OpponentHandlecmd20(void)
}
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
- u16 r2 = GetBankByIdentity(Random() & 2) << 8;
+ u16 r2 = GetBattlerAtPosition(Random() & 2) << 8;
Emitcmd33(1, 10, r4 | r2);
}
else
{
- u16 r2 = GetBankByIdentity(0) << 8;
+ u16 r2 = GetBattlerAtPosition(0) << 8;
Emitcmd33(1, 10, r4 | r2);
}
@@ -1880,10 +1880,10 @@ _08035494:\n\
cmp r0, 0\n\
beq _080354CE\n\
movs r0, 0\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
ldr r5, _080354EC @ =gBankTarget\n\
strb r0, [r5]\n\
- ldr r0, _080354F0 @ =gAbsentBankFlags\n\
+ ldr r0, _080354F0 @ =gAbsentBattlerFlags\n\
ldrb r1, [r0]\n\
ldr r2, _080354F4 @ =gBitTable\n\
ldrb r0, [r5]\n\
@@ -1894,7 +1894,7 @@ _08035494:\n\
cmp r1, 0\n\
beq _080354CE\n\
movs r0, 0x2\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
strb r0, [r5]\n\
_080354CE:\n\
ldr r0, _080354EC @ =gBankTarget\n\
@@ -1911,7 +1911,7 @@ _080354E0:\n\
.align 2, 0\n\
_080354E8: .4byte gBattleMoves\n\
_080354EC: .4byte gBankTarget\n\
-_080354F0: .4byte gAbsentBankFlags\n\
+_080354F0: .4byte gAbsentBattlerFlags\n\
_080354F4: .4byte gBitTable\n\
_080354F8:\n\
movs r6, 0x3\n\
@@ -1959,7 +1959,7 @@ _0803553C:\n\
lsls r1, 24\n\
lsrs r1, 24\n\
adds r0, r1, 0\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
adds r2, r0, 0\n\
lsls r2, 24\n\
lsrs r2, 16\n\
@@ -1972,7 +1972,7 @@ _0803553C:\n\
_0803556C: .4byte gBattleTypeFlags\n\
_08035570:\n\
movs r0, 0\n\
- bl GetBankByIdentity\n\
+ bl GetBattlerAtPosition\n\
adds r2, r0, 0\n\
lsls r2, 24\n\
lsrs r2, 16\n\
@@ -2002,37 +2002,37 @@ void OpponentHandlecmd22(void)
{
s32 r4;
- if (ewram160C8arr(GetBankIdentity(gActiveBattler)) == 6)
+ if (ewram160C8arr(GetBattlerPosition(gActiveBattler)) == 6)
{
u8 r6;
u8 r5;
- r4 = sub_8036CD4();
+ r4 = GetMostSuitableMonToSwitchInto();
if (r4 == 6)
{
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
- r5 = GetBankByIdentity(1);
+ r5 = GetBattlerAtPosition(1);
r6 = r5;
}
else
{
- r6 = GetBankByIdentity(1);
- r5 = GetBankByIdentity(3);
+ r6 = GetBattlerAtPosition(1);
+ r5 = GetBattlerAtPosition(3);
}
for (r4 = 0; r4 < 6; r4++)
{
if (GetMonData(&gEnemyParty[r4], MON_DATA_HP) != 0
- && r4 != gBattlePartyID[r6]
- && r4 != gBattlePartyID[r5])
+ && r4 != gBattlerPartyIndexes[r6]
+ && r4 != gBattlerPartyIndexes[r5])
break;
}
}
}
else
{
- r4 = ewram160C8arr(GetBankIdentity(gActiveBattler));
- ewram160C8arr(GetBankIdentity(gActiveBattler)) = 6;
+ r4 = ewram160C8arr(GetBattlerPosition(gActiveBattler));
+ ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6;
}
ewram16068arr(gActiveBattler) = r4;
Emitcmd34(1, r4, 0);
@@ -2052,14 +2052,14 @@ void OpponentHandleHealthBarUpdate(void)
r7 = (gBattleBufferA[gActiveBattler][3] << 8) | gBattleBufferA[gActiveBattler][2];
if (r7 != 0x7FFF)
{
- u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
- u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP);
+ u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 hp = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7);
}
else
{
- u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7);
}
@@ -2075,7 +2075,7 @@ void OpponentHandleStatusIconUpdate(void)
{
if (mplay_80342A4(gActiveBattler) == 0)
{
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlePartyID[gActiveBattler]], 9);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9);
ewram17810[gActiveBattler].unk0_4 = 0;
gBattleBankFunc[gActiveBattler] = sub_8033494;
}
@@ -2205,7 +2205,7 @@ void OpponentHandlecmd44(void)
void OpponentHandleFaintingCry(void)
{
PlayCry3(
- GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES),
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES),
25, 5);
OpponentBufferExecCompleted();
}
@@ -2251,15 +2251,15 @@ void sub_8035C44(u8 taskId)
gActiveBattler = gTasks[taskId].data[0];
if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_803495C(gActiveBattler, 0);
}
else
{
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_803495C(gActiveBattler, 0);
gActiveBattler ^= 2;
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_803495C(gActiveBattler, 0);
gActiveBattler ^= 2;
}
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index d2d87bcce..83171a0e9 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -52,7 +52,7 @@ extern u8 gDisplayedStringBattle[];
extern u8 gMoveSelectionCursor[];
extern u8 gBattleBufferA[][0x200];
extern u8 gBankInMenu;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gHealthboxIDs[];
extern u8 gDoingBattleAnim;
extern u8 gBankSpriteIds[];
@@ -121,12 +121,12 @@ extern void sub_8031F24(void);
extern void sub_80324BC();
extern u8 sub_8031720();
extern void bx_wait_t1(void);
-extern u8 GetBankByIdentity(u8);
+extern u8 GetBattlerAtPosition(u8);
extern void sub_802DE10(void);
extern void sub_80105EC(struct Sprite *);
extern void sub_802D274(void);
extern void sub_802D23C(void);
-extern u8 GetBankIdentity(u8);
+extern u8 GetBattlerPosition(u8);
extern void LoadPlayerTrainerBankSprite();
extern void sub_80313A0(struct Sprite *);
extern void sub_802D204(void);
@@ -147,10 +147,10 @@ extern u8 gBattleBufferA[][0x200];
extern u8 gBankSpriteIds[];
extern u8 gActionSelectionCursor[];
extern u8 gMoveSelectionCursor[];
-extern u8 gAbsentBankFlags;
+extern u8 gAbsentBattlerFlags;
extern u8 gUnknown_03004344;
extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u16 gBattle_BG0_Y;
extern u16 gBattle_BG0_X;
extern struct Window gUnknown_03004210;
@@ -169,8 +169,8 @@ extern u8 gDisplayedStringBattle[];
extern const u8 BattleText_LinkStandby[];
extern void dp11b_obj_instanciate(u8, u8, s8, s8);
-extern u8 GetBankIdentity(u8);
-extern u8 GetBankByIdentity(u8);
+extern u8 GetBattlerPosition(u8);
+extern u8 GetBattlerAtPosition(u8);
extern void dp11b_obj_free(u8, u8);
extern void sub_8010520(struct Sprite *);
extern void sub_8010574(struct Sprite *);
@@ -447,8 +447,8 @@ void sub_802C098(void)
else if (gMain.newKeys & B_BUTTON)
{
if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- && GetBankIdentity(gActiveBattler) == 2
- && !(gAbsentBankFlags & gBitTable[GetBankByIdentity(0)])
+ && GetBattlerPosition(gActiveBattler) == 2
+ && !(gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(0)])
&& !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
if (gBattleBufferA[gActiveBattler][1] == 1)
@@ -520,7 +520,7 @@ void sub_802C2EC(void)
gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574;
do
{
- u8 var = GetBankIdentity(gUnknown_03004344);
+ u8 var = GetBattlerPosition(gUnknown_03004344);
for (i = 0; i < 4; i++)
{
@@ -532,10 +532,10 @@ void sub_802C2EC(void)
i--;
if (i < 0)
i = 3;
- gUnknown_03004344 = GetBankByIdentity(arr[i]);
+ gUnknown_03004344 = GetBattlerAtPosition(arr[i]);
} while(gUnknown_03004344 == gNoOfAllBanks);
i = 0;
- switch (GetBankIdentity(gUnknown_03004344))
+ switch (GetBattlerPosition(gUnknown_03004344))
{
case 0:
case 2:
@@ -544,7 +544,7 @@ void sub_802C2EC(void)
u32 moveId;
asm("":::"memory");
- moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]);
+ moveId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]);
if (!(gBattleMoves[moveId].target & 2))
break;
}
@@ -555,7 +555,7 @@ void sub_802C2EC(void)
i++;
}
//_0802C500
- if (gAbsentBankFlags & gBitTable[gUnknown_03004344])
+ if (gAbsentBattlerFlags & gBitTable[gUnknown_03004344])
i = 0;
} while (i == 0);
gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520;
@@ -567,7 +567,7 @@ void sub_802C2EC(void)
gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574;
do
{
- u8 var = GetBankIdentity(gUnknown_03004344);
+ u8 var = GetBattlerPosition(gUnknown_03004344);
for (i = 0; i < 4; i++)
{
@@ -579,10 +579,10 @@ void sub_802C2EC(void)
i++;
if (i > 3)
i = 0;
- gUnknown_03004344 = GetBankByIdentity(arr[i]);
+ gUnknown_03004344 = GetBattlerAtPosition(arr[i]);
} while (gUnknown_03004344 == gNoOfAllBanks);
i = 0;
- switch (GetBankIdentity(gUnknown_03004344))
+ switch (GetBattlerPosition(gUnknown_03004344))
{
case 0:
case 2:
@@ -591,7 +591,7 @@ void sub_802C2EC(void)
u32 moveId;
asm("":::"memory");
- moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]);
+ moveId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]);
if (!(gBattleMoves[moveId].target & 2))
break;
}
@@ -601,7 +601,7 @@ void sub_802C2EC(void)
case 3:
i++;
}
- if (gAbsentBankFlags & gBitTable[gUnknown_03004344])
+ if (gAbsentBattlerFlags & gBitTable[gUnknown_03004344])
i = 0;
} while (i == 0);
gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520;
@@ -644,7 +644,7 @@ void sub_802C68C(void)
if (r4 & 0x10)
gUnknown_03004344 = gActiveBattler;
else
- gUnknown_03004344 = GetBankByIdentity((GetBankIdentity(gActiveBattler) & 1) ^ 1);
+ gUnknown_03004344 = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) & 1) ^ 1);
if (gBattleBufferA[gActiveBattler][1] == 0)
{
@@ -676,10 +676,10 @@ void sub_802C68C(void)
gBattleBankFunc[gActiveBattler] = sub_802C2EC;
if (r4 & 0x12)
gUnknown_03004344 = gActiveBattler;
- else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(1)])
- gUnknown_03004344 = GetBankByIdentity(3);
+ else if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(1)])
+ gUnknown_03004344 = GetBattlerAtPosition(3);
else
- gUnknown_03004344 = GetBankByIdentity(1);
+ gUnknown_03004344 = GetBattlerAtPosition(1);
gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520;
}
}
@@ -765,11 +765,11 @@ void sub_802C68C(void)
s32 i;
Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x3A);
- moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1)];
+ moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1)];
Text_InitWindowAndPrintText(&gUnknown_03004210, moveName, 0x100, 2, 0x37);
ConvertIntToDecimalStringN(
gDisplayedStringBattle,
- GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1),
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1),
2, 3);
Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x110, 10, 0x37);
Text_InitWindowAndPrintText(&gUnknown_03004210, gString_TurnJP, 0x116, 1, 0x39);
@@ -859,11 +859,11 @@ void sub_802CA60(void)
{
for (i = 0; i < 4; i++)
{
- sp0.moves[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i);
- sp0.pp[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP1 + i);
+ sp0.moves[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i);
+ sp0.pp[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i);
}
- totalPPBonuses = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP_BONUSES);
+ totalPPBonuses = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES);
for (i = 0; i < 4; i++)
perMovePPBonuses[i] = (totalPPBonuses & (3 << (i * 2))) >> (i * 2);
@@ -885,10 +885,10 @@ void sub_802CA60(void)
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i, &sp0.moves[i]);
- SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP1 + i, &sp0.pp[i]);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i, &sp0.moves[i]);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i, &sp0.pp[i]);
}
- SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP_BONUSES, &totalPPBonuses);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES, &totalPPBonuses);
}
}
else
@@ -1007,7 +1007,7 @@ void debug_sub_803107C(void);
void debug_sub_8030C24(void)
{
- s16 move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1);
+ s16 move = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1);
switch (gMain.newAndRepeatedKeys)
{
@@ -1018,9 +1018,9 @@ void debug_sub_8030C24(void)
if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
gBankTarget = gBankAttacker ^ 2;
else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
- gBankTarget = GetBankByIdentity(3);
+ gBankTarget = GetBattlerAtPosition(3);
else
- gBankTarget = GetBankByIdentity(1);
+ gBankTarget = GetBattlerAtPosition(1);
sub_80326EC(0);
DoMoveAnim(move);
gBattleBankFunc[gActiveBattler] = debug_sub_803107C;
@@ -1032,9 +1032,9 @@ void debug_sub_8030C24(void)
if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
gBankAttacker = gBankTarget ^ 2;
else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
- gBankAttacker = GetBankByIdentity(3);
+ gBankAttacker = GetBattlerAtPosition(3);
else
- gBankAttacker = GetBankByIdentity(1);
+ gBankAttacker = GetBattlerAtPosition(1);
sub_80326EC(0);
DoMoveAnim(move);
gBattleBankFunc[gActiveBattler] = debug_sub_803107C;
@@ -1044,8 +1044,8 @@ void debug_sub_8030C24(void)
{
dp11b_obj_free(gActiveBattler, 1);
dp11b_obj_free(gActiveBattler, 0);
- gBankAttacker = GetBankByIdentity(3);
- gBankTarget = GetBankByIdentity(1);
+ gBankAttacker = GetBattlerAtPosition(3);
+ gBankTarget = GetBattlerAtPosition(1);
sub_80326EC(0);
DoMoveAnim(move);
gBattleBankFunc[gActiveBattler] = debug_sub_803107C;
@@ -1056,7 +1056,7 @@ void debug_sub_8030C24(void)
case DPAD_RIGHT:
if (++move > 354)
move = 1;
- SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1, &move);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1, &move);
gBattleMons[gActiveBattler].moves[0] = move;
Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38);
Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37);
@@ -1069,8 +1069,8 @@ void debug_sub_8030C24(void)
{
dp11b_obj_free(gActiveBattler, 1);
dp11b_obj_free(gActiveBattler, 0);
- gBankAttacker = GetBankByIdentity(1);
- gBankTarget = GetBankByIdentity(3);
+ gBankAttacker = GetBattlerAtPosition(1);
+ gBankTarget = GetBattlerAtPosition(3);
sub_80326EC(0);
DoMoveAnim(move);
gBattleBankFunc[gActiveBattler] = debug_sub_803107C;
@@ -1081,7 +1081,7 @@ void debug_sub_8030C24(void)
case DPAD_LEFT:
if (--move <= 0)
move = 354;
- SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1, &move);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1, &move);
gBattleMons[gActiveBattler].moves[0] = move;
Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38);
Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37);
@@ -1108,7 +1108,7 @@ void debug_sub_8030C24(void)
for (i = 0; i < 4; i++)
{
StringCopy(gDisplayedStringBattle, BattleText_Format);
- move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i);
+ move = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i);
StringAppend(gDisplayedStringBattle, gMoveNames[move]);
Text_InitWindow(
&gUnknown_03004210,
@@ -1224,9 +1224,9 @@ void sub_802D31C(void)
m4aMPlayContinue(&gMPlay_BGM);
else
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256);
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
if (IsDoubleBattle())
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], gActiveBattler ^ 2);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], gActiveBattler ^ 2);
ewram17810[gActiveBattler].unk9 = 3;
gBattleBankFunc[gActiveBattler] = sub_802D2E0;
}
@@ -1235,9 +1235,9 @@ void sub_802D31C(void)
void sub_802D500(void)
{
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7)
- sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7)
- sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]]);
+ sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]);
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3)
{
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@@ -1245,7 +1245,7 @@ void sub_802D500(void)
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]);
sub_8045A5C(
gHealthboxIDs[gActiveBattler ^ 2],
- &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]],
+ &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]],
0);
sub_804777C(gActiveBattler ^ 2);
sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]);
@@ -1253,7 +1253,7 @@ void sub_802D500(void)
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]);
sub_8045A5C(
gHealthboxIDs[gActiveBattler],
- &gPlayerParty[gBattlePartyID[gActiveBattler]],
+ &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]],
0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
@@ -1282,7 +1282,7 @@ void sub_802D730(void)
if (!ewram17810[gActiveBattler].unk0_6 && !IsCryPlayingOrClearCrySongs())
{
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100);
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PlayerBufferExecCompleted();
}
}
@@ -1290,12 +1290,12 @@ void sub_802D730(void)
void sub_802D798(void)
{
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7)
- sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy
&& !ewram17810[gActiveBattler].unk0_3)
{
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]);
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
sub_8031F88(gActiveBattler);
@@ -1323,7 +1323,7 @@ void bx_t1_healthbar_update(void)
}
else
{
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PlayerBufferExecCompleted();
}
}
@@ -1341,7 +1341,7 @@ void sub_802D924(u8 taskId)
u8 bank = gTasks[taskId].data[2];
s16 gainedExp = gTasks[taskId].data[1];
- if (IsDoubleBattle() == TRUE || pkmnIndex != gBattlePartyID[bank])
+ if (IsDoubleBattle() == TRUE || pkmnIndex != gBattlerPartyIndexes[bank])
{
struct Pokemon *pkmn = &gPlayerParty[pkmnIndex];
u16 species = GetMonData(pkmn, MON_DATA_SPECIES);
@@ -1362,7 +1362,7 @@ void sub_802D924(u8 taskId)
gActiveBattler = savedActiveBank;
if (IsDoubleBattle() == TRUE
- && ((u16)pkmnIndex == gBattlePartyID[bank] || (u16)pkmnIndex == gBattlePartyID[bank ^ 2]))
+ && ((u16)pkmnIndex == gBattlerPartyIndexes[bank] || (u16)pkmnIndex == gBattlerPartyIndexes[bank ^ 2]))
gTasks[taskId].func = sub_802DCB0;
else
gTasks[taskId].func = sub_802DDC4;
@@ -1618,7 +1618,7 @@ void sub_802DCB0(u8 taskId)
u8 bank = gTasks[taskId].data[2];
u8 pkmnIndex = gTasks[taskId].data[0];
- if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlePartyID[bank ^ 2])
+ if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlerPartyIndexes[bank ^ 2])
bank ^= 2;
move_anim_start_t4(bank, bank, bank, 0);
gTasks[taskId].func = sub_802DD10;
@@ -1633,7 +1633,7 @@ void sub_802DD10(u8 taskId)
u8 pkmnIndex = gTasks[taskId].data[0];
GetMonData(&gPlayerParty[pkmnIndex], MON_DATA_LEVEL); // Unused return value
- if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlePartyID[bank ^ 2])
+ if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlerPartyIndexes[bank ^ 2])
sub_8045A5C(gHealthboxIDs[bank ^ 2], &gPlayerParty[pkmnIndex], 0);
else
sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[pkmnIndex], 0);
@@ -1657,7 +1657,7 @@ void sub_802DE10(void)
{
if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT)
{
- u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES);
+ u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
nullsub_9(species);
FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum);
@@ -1915,7 +1915,7 @@ void PlayerHandleGetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- offset += dp01_getattr_by_ch1_for_player_pokemon_(gBattlePartyID[gActiveBattler], unkData);
+ offset += dp01_getattr_by_ch1_for_player_pokemon_(gBattlerPartyIndexes[gActiveBattler], unkData);
}
else
{
@@ -2238,7 +2238,7 @@ void PlayerHandlecmd1(void)
struct BattlePokemon battleMon;
u8 i;
// TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard.
- u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1];
+ u8 *src = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1];
u8 *dst;
MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst);
@@ -2253,7 +2253,7 @@ void PlayerHandleSetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- dp01_setattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBattler]);
+ dp01_setattr_by_ch1_for_player_pokemon(gBattlerPartyIndexes[gActiveBattler]);
}
else
{
@@ -2483,7 +2483,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]);
break;
}
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
}
void PlayerHandlecmd3(void)
@@ -2491,14 +2491,14 @@ void PlayerHandlecmd3(void)
u8 i;
u8 *dst;
- MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i],
+ MEMSET_ALT(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i],
gBattleBufferA[gActiveBattler][2], i, dst);
PlayerBufferExecCompleted();
}
void PlayerHandleLoadPokeSprite(void)
{
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
gBattleBankFunc[gActiveBattler] = bx_0802E404;
}
@@ -2506,8 +2506,8 @@ void PlayerHandleLoadPokeSprite(void)
void PlayerHandleSendOutPoke(void)
{
sub_8032AA8(gActiveBattler, gBattleBufferA[gActiveBattler][2]);
- gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1];
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1];
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
gActionSelectionCursor[gActiveBattler] = 0;
gMoveSelectionCursor[gActiveBattler] = 0;
sub_802F934(gActiveBattler, gBattleBufferA[gActiveBattler][2]);
@@ -2519,10 +2519,10 @@ void sub_802F934(u8 bank, u8 b)
u16 species;
sub_8032AA8(bank, b);
- gBattlePartyID[bank] = gBattleBufferA[bank][1];
- species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
+ gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1];
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES);
gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0);
- GetMonSpriteTemplate_803C56C(species, GetBankIdentity(bank));
+ GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank));
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_02024E8C,
GetBankPosition(bank, 2),
@@ -2579,7 +2579,7 @@ void PlayerHandleTrainerThrow(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
- if (GetBankIdentity(gActiveBattler) & 2)
+ if (GetBattlerPosition(gActiveBattler) & 2)
r7 = 16;
else
r7 = -16;
@@ -2589,7 +2589,7 @@ void PlayerHandleTrainerThrow(void)
r7 = 0;
}
LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
r7 + 80,
@@ -2605,7 +2605,7 @@ void PlayerHandleTrainerThrow(void)
void PlayerHandleTrainerSlide(void)
{
LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
80,
@@ -2643,7 +2643,7 @@ void PlayerHandlecmd10(void)
if (ewram17810[gActiveBattler].unk0_6 == 0)
{
ewram17810[gActiveBattler].unk4 = 0;
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
PlaySE12WithPanning(SE_POKE_DEAD, -64);
gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0;
gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5;
@@ -2663,7 +2663,7 @@ void PlayerHandlecmd12(void)
{
ewram17840.unk8 = 4;
gDoingBattleAnim = 1;
- move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 3);
+ move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 3);
gBattleBankFunc[gActiveBattler] = bx_wait_t1;
}
@@ -2673,7 +2673,7 @@ void PlayerHandleBallThrow(void)
ewram17840.unk8 = var;
gDoingBattleAnim = 1;
- move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 3);
+ move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 3);
gBattleBankFunc[gActiveBattler] = bx_wait_t1;
}
@@ -2873,14 +2873,14 @@ void PlayerHandleHealthBarUpdate(void)
r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8);
if (r7 != 0x7FFF)
{
- u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
- u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP);
+ u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7);
}
else
{
- u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7);
sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0);
@@ -2916,7 +2916,7 @@ void PlayerHandleStatusIconUpdate(void)
{
if (!mplay_80342A4(gActiveBattler))
{
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 9);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9);
ewram17810[gActiveBattler].unk0_4 = 0;
gBattleBankFunc[gActiveBattler] = sub_802E434;
}
@@ -2935,9 +2935,9 @@ void PlayerHandleStatusAnimation(void)
void PlayerHandleStatusXor(void)
{
- u8 val = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBattler][1];
+ u8 val = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBattler][1];
- SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_STATUS, &val);
+ SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS, &val);
PlayerBufferExecCompleted();
}
@@ -3057,7 +3057,7 @@ void PlayerHandlecmd44(void)
void PlayerHandleFaintingCry(void)
{
- u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES);
+ u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
PlayCry3(species, -25, 5);
PlayerBufferExecCompleted();
@@ -3101,7 +3101,7 @@ void sub_8030E38(struct Sprite *sprite)
FreeSpriteOamMatrix(sprite);
FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum));
DestroySprite(sprite);
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[r4]], r4);
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[r4]], r4);
StartSpriteAnim(&gSprites[gBankSpriteIds[r4]], 0);
}
@@ -3118,16 +3118,16 @@ void task05_08033660(u8 taskId)
gActiveBattler = gTasks[taskId].data[0];
if (!IsDoubleBattle() || (gBattleTypeFlags & 0x40))
{
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_802F934(gActiveBattler, 0);
}
else
{
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_802F934(gActiveBattler, 0);
gActiveBattler ^= 2;
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
sub_802F934(gActiveBattler, 0);
gActiveBattler ^= 2;
}
diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c
index 40b9f7aaa..9e29fbf5c 100644
--- a/src/battle/battle_controller_safari.c
+++ b/src/battle/battle_controller_safari.c
@@ -36,13 +36,13 @@ extern u16 gSpecialVar_ItemId;
extern MainCallback gPreBattleCallback1;
extern u8 gBankInMenu;
extern u8 gHealthboxIDs[];
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u16 gUnknown_02024DE8;
extern u8 gBattleOutcome;
extern u8 GetBankSide(u8);
-extern u8 GetBankByIdentity(u8);
-extern u8 GetBankIdentity(u8);
+extern u8 GetBattlerAtPosition(u8);
+extern u8 GetBattlerPosition(u8);
extern void LoadPlayerTrainerBankSprite();
extern u8 sub_8079E90();
extern void sub_80313A0(struct Sprite *);
@@ -398,7 +398,7 @@ void SafariHandleReturnPokeToBall(void)
void SafariHandleTrainerThrow(void)
{
LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
80,
@@ -435,7 +435,7 @@ void SafariHandlecmd12(void)
{
ewram17840.unk8 = 4;
gDoingBattleAnim = 1;
- move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4);
+ move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4);
gBattleBankFunc[gActiveBattler] = bx_wait_t6;
}
@@ -445,7 +445,7 @@ void SafariHandleBallThrow(void)
ewram17840.unk8 = var;
gDoingBattleAnim = 1;
- move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4);
+ move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4);
gBattleBankFunc[gActiveBattler] = bx_wait_t6;
}
@@ -541,7 +541,7 @@ void SafariHandleExpBarUpdate(void)
void SafariHandleStatusIconUpdate(void)
{
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 11);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 11);
SafariBufferExecCompleted();
}
@@ -645,7 +645,7 @@ void SafariHandlecmd44(void)
void SafariHandleFaintingCry(void)
{
- u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES);
+ u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
PlayCry1(species, 25);
SafariBufferExecCompleted();
@@ -660,7 +660,7 @@ void SafariHandleIntroSlide(void)
void SafariHandleTrainerBallThrow(void)
{
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 10);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 10);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
SafariBufferExecCompleted();
diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c
index 2737a0095..1a11ee876 100644
--- a/src/battle/battle_controller_wally.c
+++ b/src/battle/battle_controller_wally.c
@@ -34,7 +34,7 @@ extern u8 gBattleBufferA[][0x200];
extern u8 gBankSpriteIds[];
extern MainCallback gPreBattleCallback1;
extern bool8 gDoingBattleAnim;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gHealthboxIDs[];
extern u16 gBattleTypeFlags;
extern u16 gAnimMovePower;
@@ -73,9 +73,9 @@ extern bool8 IsDoubleBattle(void);
extern void c3_0802FDF4(u8);
extern void PlayerHandlecmd1(void);
extern void LoadPlayerTrainerBankSprite();
-extern u8 GetBankIdentity(u8);
+extern u8 GetBattlerPosition(u8);
extern void sub_80313A0(struct Sprite *);
-extern u8 GetBankByIdentity(u8);
+extern u8 GetBattlerAtPosition(u8);
extern u8 sub_8031720();
extern void DoMoveAnim();
extern void sub_80326EC();
@@ -374,22 +374,22 @@ void sub_81374FC(void)
void sub_8137538(void)
{
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7)
- sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]);
+ sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7)
- sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]]);
+ sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]);
if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3)
{
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]);
- sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], 0);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0);
sub_804777C(gActiveBattler ^ 2);
sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]);
}
DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]);
- sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0);
+ sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0);
sub_804777C(gActiveBattler);
sub_8043DFC(gHealthboxIDs[gActiveBattler]);
ewram17840.unk9_0 = 0;
@@ -412,7 +412,7 @@ void sub_81376B8(void)
FreeSpriteTilesByTag(0x27F9);
FreeSpritePaletteByTag(0x27F9);
CreateTask(c3_0802FDF4, 10);
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
WallyBufferExecCompleted();
}
}
@@ -429,7 +429,7 @@ void sub_81377B0(void)
}
else
{
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
WallyBufferExecCompleted();
}
}
@@ -508,7 +508,7 @@ void WallyHandleGetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- r6 = sub_8137A84(gBattlePartyID[gActiveBattler], arr);
+ r6 = sub_8137A84(gBattlerPartyIndexes[gActiveBattler], arr);
}
else
{
@@ -837,7 +837,7 @@ void WallyHandleSetAttributes(void)
if (gBattleBufferA[gActiveBattler][2] == 0)
{
- sub_8138294(gBattlePartyID[gActiveBattler]);
+ sub_8138294(gBattlerPartyIndexes[gActiveBattler]);
}
else
{
@@ -1066,7 +1066,7 @@ void sub_8138294(u8 a)
SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]);
break;
}
- HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler);
+ HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
}
void WallyHandlecmd3(void)
@@ -1103,7 +1103,7 @@ void WallyHandleReturnPokeToBall(void)
void WallyHandleTrainerThrow(void)
{
LoadPlayerTrainerBankSprite(2, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords),
@@ -1118,7 +1118,7 @@ void WallyHandleTrainerThrow(void)
void WallyHandleTrainerSlide(void)
{
LoadPlayerTrainerBankSprite(2, gActiveBattler);
- GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBattler));
+ GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler));
gBankSpriteIds[gActiveBattler] = CreateSprite(
&gUnknown_02024E8C,
80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords),
@@ -1149,7 +1149,7 @@ void WallyHandlecmd12(void)
{
ewram17840.unk8 = 4;
gDoingBattleAnim = TRUE;
- move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4);
+ move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4);
gBattleBankFunc[gActiveBattler] = bx_wait_t5;
}
@@ -1159,7 +1159,7 @@ void WallyHandleBallThrow(void)
ewram17840.unk8 = val;
gDoingBattleAnim = TRUE;
- move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4);
+ move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4);
gBattleBankFunc[gActiveBattler] = bx_wait_t5;
}
@@ -1335,14 +1335,14 @@ void WallyHandleHealthBarUpdate(void)
r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8);
if (r7 != 0x7FFF)
{
- u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
- u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP);
+ u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7);
}
else
{
- u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP);
+ u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP);
sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7);
sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0);
@@ -1464,7 +1464,7 @@ void WallyHandlecmd44(void)
void WallyHandleFaintingCry(void)
{
- PlayCry1(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), 25);
+ PlayCry1(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), 25);
WallyBufferExecCompleted();
}
@@ -1504,10 +1504,10 @@ void sub_81398BC(u8 bank)
u16 species;
ewram17800[bank].transformedSpecies = 0;
- gBattlePartyID[bank] = gBattleBufferA[bank][1];
- species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
+ gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1];
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES);
gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0);
- GetMonSpriteTemplate_803C56C(species, GetBankIdentity(bank));
+ GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank));
gBankSpriteIds[bank] = CreateSprite(
&gUnknown_02024E8C,
GetBankPosition(bank, 2),
@@ -1534,7 +1534,7 @@ void sub_8139A2C(u8 taskId)
u8 savedActiveBank = gActiveBattler;
gActiveBattler = gTasks[taskId].data[0];
- gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler];
+ gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler];
sub_81398BC(gActiveBattler);
gBattleBankFunc[gActiveBattler] = sub_8137538;
gActiveBattler = savedActiveBank;
diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c
index 4022f07ce..516b58b5e 100644
--- a/src/battle/battle_interface.c
+++ b/src/battle/battle_interface.c
@@ -424,7 +424,7 @@ u8 *const gUnknown_0820A904[10] =
extern u8 gDisplayedStringBattle[];
extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gBanksBySide[];
extern u8 gHealthboxIDs[];
@@ -811,8 +811,8 @@ u8 battle_make_oam_normal_battle(u8 a)
{
if (GetBankSide(a) == 0)
{
- spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1);
- spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1);
+ spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[GetBattlerPosition(a) / 2], 240, 160, 1);
+ spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[GetBattlerPosition(a) / 2], 240, 160, 1);
gSprites[spriteId1].oam.affineParam = spriteId2;
gSprites[spriteId2].data[5] = spriteId1;
@@ -823,8 +823,8 @@ u8 battle_make_oam_normal_battle(u8 a)
//_08043ACC
else
{
- spriteId1 = CreateSprite(&gSpriteTemplates_820A51C[GetBankIdentity(a) / 2], 240, 160, 1);
- spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A51C[GetBankIdentity(a) / 2], 240, 160, 1);
+ spriteId1 = CreateSprite(&gSpriteTemplates_820A51C[GetBattlerPosition(a) / 2], 240, 160, 1);
+ spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A51C[GetBattlerPosition(a) / 2], 240, 160, 1);
gSprites[spriteId1].oam.affineParam = spriteId2;
gSprites[spriteId2].data[5] = spriteId1;
@@ -986,7 +986,7 @@ void sub_8043F44(u8 a)
}
else
{
- switch (GetBankIdentity(a))
+ switch (GetBattlerPosition(a))
{
case 0:
x = 159;
@@ -1323,7 +1323,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn)
// TODO: make this a local variable
memcpy(str, gUnknown_0820A864, sizeof(str));
- r6 = ewram520[GetBankIdentity(gSprites[a].data[6])].filler0;
+ r6 = ewram520[GetBattlerPosition(gSprites[a].data[6])].filler0;
r8 = 5;
nature = GetNature(pkmn);
StringCopy(str + 6, gNatureNames[nature]);
@@ -1407,7 +1407,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn)
ldrh r0, [r0, 0x3A]\n\
lsls r0, 24\n\
lsrs r0, 24\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
lsls r0, 24\n\
lsrs r0, 24\n\
lsls r1, r0, 1\n\
@@ -1675,13 +1675,13 @@ void sub_804454C(void)
spriteId = gSprites[gHealthboxIDs[i]].data[5];
CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100);
- sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0);
- sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1);
+ sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), 0);
+ sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), 1);
}
else
{
draw_status_ailment_maybe(gHealthboxIDs[i]);
- sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5);
+ sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlerPartyIndexes[i]], 5);
CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32);
}
}
@@ -1691,23 +1691,23 @@ void sub_804454C(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
{
- sub_8044338(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]]);
+ sub_8044338(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]]);
}
else
{
spriteId = gSprites[gHealthboxIDs[i]].data[5];
CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100);
- sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0);
- sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1);
+ sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_HP), 0);
+ sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), 1);
}
}
else
{
draw_status_ailment_maybe(gHealthboxIDs[i]);
- sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 5);
+ sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]], 5);
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
- sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 4);
+ sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]], 4);
}
}
gSprites[gHealthboxIDs[i]].data[7] ^= 1;
@@ -1731,7 +1731,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d)
u8 sp18;
u8 taskId;
- if (c == 0 || GetBankIdentity(a) != 3)
+ if (c == 0 || GetBattlerPosition(a) != 3)
{
if (GetBankSide(a) == 0)
{
@@ -1947,7 +1947,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d)
str r3, [sp, 0x10]\n\
cmp r4, 0\n\
beq _08044834\n\
- bl GetBankIdentity\n\
+ bl GetBattlerPosition\n\
lsls r0, 24\n\
lsrs r0, 24\n\
cmp r0, 0x3\n\
@@ -2779,7 +2779,7 @@ void sub_8045180(struct Sprite *sprite)
ptr[1] = 0x13;
ptr[2] = 0x37;
ptr[3] = EOS;
- ptr = ewram520_2 + GetBankIdentity(gSprites[a].data[6]) * 0x180;
+ ptr = ewram520_2 + GetBattlerPosition(gSprites[a].data[6]) * 0x180;
sub_80034D4(ptr, gDisplayedStringBattle);
i = 0;
@@ -2865,7 +2865,7 @@ static void sub_8045458(u8 a, u8 b)
r4 = gSprites[a].data[6];
if (GetBankSide(r4) != 0)
{
- u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES);
+ u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r4]], MON_DATA_SPECIES);
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0)
{
r4 = gSprites[a].data[5];
@@ -2892,7 +2892,7 @@ static void sub_8045458(u8 a, u8 b)
r10 = gSprites[a].data[5];
if (GetBankSide(r7) == 0)
{
- r4 = GetMonData(&gPlayerParty[gBattlePartyID[r7]], MON_DATA_STATUS);
+ r4 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r7]], MON_DATA_STATUS);
if (!IsDoubleBattle())
r8 = 0x1A;
else
@@ -2900,7 +2900,7 @@ static void sub_8045458(u8 a, u8 b)
}
else
{
- r4 = GetMonData(&gEnemyParty[gBattlePartyID[r7]], MON_DATA_STATUS);
+ r4 = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r7]], MON_DATA_STATUS);
r8 = 0x11;
}
if (r4 & 7)
@@ -3027,7 +3027,7 @@ static u8 sub_80457E8(u8 a, u8 b)
s32 r7;
u8 *addr;
- r6 = ewram520_2 + GetBankIdentity(gSprites[a].data[6]) * 0x180;
+ r6 = ewram520_2 + GetBattlerPosition(gSprites[a].data[6]) * 0x180;
r8 = 7;
sub_80034D4(r6, BattleText_SafariBalls);
for (i = 0; i < r8; i++)
@@ -3055,7 +3055,7 @@ static u8 sub_80457E8(u8 a, u8 b)
r7 = StringCopy(gDisplayedStringBattle, BattleText_SafariBallsLeft);
r7 = sub_8003504(r7, gNumSafariBalls, 10, 1);
StringAppend(r7, BattleText_HighlightRed);
- status = GetBankIdentity(gSprites[a].data[6]);
+ status = GetBattlerPosition(gSprites[a].data[6]);
r7 = ewram520_2 + status * 0x180;
r6 = 5;
sub_80034D4(r7, gDisplayedStringBattle);
@@ -3202,7 +3202,7 @@ static void sub_8045D58(u8 a, u8 b)
break;
case 1:
sub_804602C(ewram17850[a].unk4, ewram17850[a].unk8, ewram17850[a].unkC, &ewram17850[a].unk10, sp8, 8);
- r0 = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_LEVEL);
+ r0 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_LEVEL);
if (r0 == 100)
{
for (i = 0; i < 8; i++)
diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c
index c428e4edd..01cfc73dd 100644
--- a/src/battle/battle_message.c
+++ b/src/battle/battle_message.c
@@ -172,7 +172,7 @@ extern u8 gDisplayedStringBattle[];
extern u8 gStringVar1[];
extern u8 gStringVar2[];
extern u8 gStringVar3[];
-extern u16 gBattlePartyID[4];
+extern u16 gBattlerPartyIndexes[4];
extern struct BattleEnigmaBerry gEnigmaBerries[4];
extern u8 gBattleBufferA[4][0x200];
@@ -202,9 +202,9 @@ s32 sub_803FC34(u16);
void get_trainer_name(u8* dst);
u8 get_trainer_class_name_index(void);
u8 GetMultiplayerId(void);
-u8 GetBankByIdentity(u8 ID);
+u8 GetBattlerAtPosition(u8 ID);
u8 GetBankSide(u8 bank);
-u8 GetBankIdentity(u8 bank);
+u8 GetBattlerPosition(u8 bank);
#ifdef GERMAN
extern u8 *de_sub_804110C();
#endif
@@ -575,71 +575,71 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
toCpy = gBattleTextBuff3;
break;
case 2: // first player poke name
- GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(0)]], MON_DATA_NICKNAME, text);
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(0)]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 3: // first enemy poke name
- GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(1)]], MON_DATA_NICKNAME, text);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(1)]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 4: // second player poke name
- GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(2)]], MON_DATA_NICKNAME, text);
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(2)]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 5: // second enemy poke name
- GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(3)]], MON_DATA_NICKNAME, text);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(3)]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 6: // link first player poke name
- GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18]], MON_DATA_NICKNAME, text);
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 7: // link first opponent poke name
- GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], MON_DATA_NICKNAME, text);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 8: // link second player poke name
- GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], MON_DATA_NICKNAME, text);
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 9: // link second opponent poke name
- GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], MON_DATA_NICKNAME, text);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 10: // attacker name with prefix, only bank 0/1
- HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1)])
+ HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1)])
break;
case 11: // attacker partner name, only bank 0/1
if (GetBankSide(gBankAttacker) == 0)
- GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text);
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text);
else
- GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text);
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text);
StringGetEnd10(text);
toCpy = text;
break;
case 12: // attacker name with prefix
- HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[gBankAttacker])
+ HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlerPartyIndexes[gBankAttacker])
break;
case 13: // target name with prefix
- HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlePartyID[gBankTarget])
+ HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlerPartyIndexes[gBankTarget])
break;
case 14: // effect bank name with prefix
- HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlePartyID[gEffectBank])
+ HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlerPartyIndexes[gEffectBank])
break;
case 15: // active bank name with prefix
- HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlePartyID[gActiveBattler])
+ HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler])
break;
case 16: // scripting active bank name with prefix
- HANDLE_NICKNAME_STRING_CASE(gBattleStruct->scriptingActive, gBattlePartyID[gBattleStruct->scriptingActive])
+ HANDLE_NICKNAME_STRING_CASE(gBattleStruct->scriptingActive, gBattlerPartyIndexes[gBattleStruct->scriptingActive])
break;
case 17: // current move name
if (gStringInfo->currentMove > 0x162)
diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c
index ed8cf4583..9dc835d5c 100644
--- a/src/battle/battle_party_menu.c
+++ b/src/battle/battle_party_menu.c
@@ -32,7 +32,7 @@ extern u8 sub_803FBBC(void);
extern u8 gPlayerPartyCount;
extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gBankInMenu;
extern u8 gUnknown_0202E8F4;
extern u8 gUnknown_0202E8F5;
@@ -122,7 +122,7 @@ static void sub_8094998(u8 arg[3], u8 player_number)
if (!IsDoubleBattle())
{
pos = 1;
- *temp = gBattlePartyID[GetBankByIdentity(0)];
+ *temp = gBattlerPartyIndexes[GetBattlerAtPosition(0)];
for (i = 0; i <= 5; i++)
if (i != *temp)
temp[pos++] = i;
@@ -130,8 +130,8 @@ static void sub_8094998(u8 arg[3], u8 player_number)
else
{
pos = 2;
- *temp = gBattlePartyID[GetBankByIdentity(0)];
- temp[1] = gBattlePartyID[GetBankByIdentity(2)];
+ *temp = gBattlerPartyIndexes[GetBattlerAtPosition(0)];
+ temp[1] = gBattlerPartyIndexes[GetBattlerAtPosition(2)];
for (i = 0; i <= 5; i++)
if ((i != *temp) && (i != temp[1]))
temp[pos++] = i;
@@ -147,13 +147,13 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3)
u8 temp[6];
if (!GetBankSide(arg3))
{
- i = GetBankByIdentity(0);
- j = GetBankByIdentity(2);
+ i = GetBattlerAtPosition(0);
+ j = GetBattlerAtPosition(2);
}
else
{
- i = GetBankByIdentity(1);
- j = GetBankByIdentity(3);
+ i = GetBattlerAtPosition(1);
+ j = GetBattlerAtPosition(3);
}
if (IsLinkDoubleBattle() == TRUE)
{
@@ -175,7 +175,7 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3)
if (!IsDoubleBattle())
{
int pos = 1;
- *temp = gBattlePartyID[i];
+ *temp = gBattlerPartyIndexes[i];
for (i = 0; i <= 5; i++)
if (i != *temp)
temp[pos++] = i;
@@ -183,8 +183,8 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3)
else
{
int pos = 2;
- *temp = gBattlePartyID[i];
- temp[1] = gBattlePartyID[j];
+ *temp = gBattlerPartyIndexes[i];
+ temp[1] = gBattlerPartyIndexes[j];
for (i = 0; i <= 5; i++)
if ((i != *temp) && (i != temp[1]))
temp[pos++] = i;
@@ -665,7 +665,7 @@ static void Task_BattlePartyMenuShift(u8 taskId)
for (i = 0; i < gNoOfAllBanks; i++)
{
if (GetBankSide(i) == 0
- && sub_8094C20(partySelection) == gBattlePartyID[i])
+ && sub_8094C20(partySelection) == gBattlerPartyIndexes[i])
{
sub_806D5A4();
GetMonNickname(&gPlayerParty[partySelection], gStringVar1);
@@ -706,7 +706,7 @@ static void Task_BattlePartyMenuShift(u8 taskId)
u8 r4 = gBankInMenu;
sub_806D5A4();
- r0 = pokemon_order_func(gBattlePartyID[r4]);
+ r0 = pokemon_order_func(gBattlerPartyIndexes[r4]);
GetMonNickname(&gPlayerParty[r0], gStringVar1);
StringExpandPlaceholders(gStringVar4, gOtherText_CantBeSwitched);
sub_806E834(gStringVar4, 0);
@@ -715,7 +715,7 @@ static void Task_BattlePartyMenuShift(u8 taskId)
}
gUnknown_0202E8F5 = sub_8094C20(partySelection);
gUnknown_0202E8F4 = 1;
- r4 = pokemon_order_func(gBattlePartyID[gBankInMenu]);
+ r4 = pokemon_order_func(gBattlerPartyIndexes[gBankInMenu]);
sub_8094C98(r4, partySelection);
SwapPokemon(&gPlayerParty[r4], &gPlayerParty[partySelection]);
gTasks[taskId].func = Task_809527C;
diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c
index df227ab2c..43364a24a 100644
--- a/src/battle/battle_util.c
+++ b/src/battle/battle_util.c
@@ -44,17 +44,17 @@ extern u8 gBanksByTurnOrder[4];
extern u16 gSideAffecting[2];
extern u16 gBattleWeather;
extern void (*gBattleMainFunc)(void);
-extern u8 gAbsentBankFlags;
+extern u8 gAbsentBattlerFlags;
extern u8 gBattleCommunication[];
extern u32 gHitMarker;
extern u8 gEffectBank;
extern u8 gBank1;
extern s32 gBattleMoveDamage;
-extern u16 gBattlePartyID[4];
+extern u16 gBattlerPartyIndexes[4];
extern u16 gChosenMovesByBanks[4];
extern s32 gTakenDmg[4];
extern u8 gTakenDmgBanks[4];
-extern u8 gBattleMoveFlags;
+extern u8 gMoveResultFlags;
extern u8 gLastUsedAbility;
extern u8 gBattleTextBuff2[];
extern u8 gCurrentActionFuncId;
@@ -77,8 +77,8 @@ extern const u8 gStatusConditionString_LoveJpn[];
extern const BattleCmdFunc gBattleScriptingCommandsTable[];
u8 IsImprisoned(u8 bank, u16 move);
-u8 GetBankByIdentity(u8 ID);
-u8 GetBankIdentity(u8 bank);
+u8 GetBattlerAtPosition(u8 ID);
+u8 GetBattlerPosition(u8 bank);
u8 GetBankSide(u8 bank);
void SetMoveEffect(bool8 primary, u8 certainArg);
bool8 UproarWakeUpCheck(u8 bank);
@@ -416,10 +416,10 @@ void ResetSentPokesToOpponentValue(void)
gSentPokesToOpponent[1] = 0;
for (i = 0; i < gNoOfAllBanks; i += 2)
- bits |= gBitTable[gBattlePartyID[i]];
+ bits |= gBitTable[gBattlerPartyIndexes[i]];
for (i = 1; i < gNoOfAllBanks; i += 2)
- gSentPokesToOpponent[(i & BIT_MON) >> 1] = bits;
+ gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits;
}
void sub_8015740(u8 bank)
@@ -427,15 +427,15 @@ void sub_8015740(u8 bank)
s32 i = 0;
u32 bits = 0;
- if (GetBankSide(bank) == SIDE_OPPONENT)
+ if (GetBankSide(bank) == B_SIDE_OPPONENT)
{
- u8 id = ((bank & BIT_MON) >> 1);
+ u8 id = ((bank & BIT_FLANK) >> 1);
gSentPokesToOpponent[id] = 0;
for (i = 0; i < gNoOfAllBanks; i += 2)
{
- if (!(gAbsentBankFlags & gBitTable[i]))
- bits |= gBitTable[gBattlePartyID[i]];
+ if (!(gAbsentBattlerFlags & gBitTable[i]))
+ bits |= gBitTable[gBattlerPartyIndexes[i]];
}
gSentPokesToOpponent[id] = bits;
@@ -444,7 +444,7 @@ void sub_8015740(u8 bank)
void sub_80157C4(u8 bank)
{
- if (GetBankSide(bank) == SIDE_OPPONENT)
+ if (GetBankSide(bank) == B_SIDE_OPPONENT)
{
sub_8015740(bank);
}
@@ -452,7 +452,7 @@ void sub_80157C4(u8 bank)
{
s32 i;
for (i = 1; i < gNoOfAllBanks; i++)
- gSentPokesToOpponent[(i & BIT_MON) >> 1] |= gBitTable[gBattlePartyID[bank]];
+ gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlerPartyIndexes[bank]];
}
}
@@ -570,9 +570,9 @@ bool8 AreAllMovesUnusable(void)
gProtectStructs[gActiveBattler].onlyStruggle = 1;
gUnknown_02024C1C[gActiveBattler] = BattleScript_NoMovesLeft;
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- gBattleBufferB[gActiveBattler][3] = GetBankByIdentity((GetBankIdentity(gActiveBattler) ^ 1) | (Random() & 2));
+ gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) ^ 1) | (Random() & 2));
else
- gBattleBufferB[gActiveBattler][3] = GetBankByIdentity(GetBankIdentity(gActiveBattler) ^ 1);
+ gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ 1);
}
else
gProtectStructs[gActiveBattler].onlyStruggle = 0;
@@ -606,10 +606,10 @@ u8 UpdateTurnCounters(void)
u8 effect = 0;
s32 i;
- for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankAttacker]; gBankAttacker++)
+ for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks && gAbsentBattlerFlags & gBitTable[gBankAttacker]; gBankAttacker++)
{
}
- for (gBankTarget = 0; gBankTarget < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankTarget]; gBankTarget++)
+ for (gBankTarget = 0; gBankTarget < gNoOfAllBanks && gAbsentBattlerFlags & gBitTable[gBankTarget]; gBankTarget++)
{
}
@@ -857,7 +857,7 @@ u8 TurnBasedEffects(void)
while (gBattleStruct->turnEffectsBank < gNoOfAllBanks && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE)
{
gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank];
- if (gAbsentBankFlags & gBitTable[gActiveBattler])
+ if (gAbsentBattlerFlags & gBitTable[gActiveBattler])
{
gBattleStruct->turnEffectsBank++;
}
@@ -1168,7 +1168,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks)
{
gActiveBattler = gBattleStruct->sub80170DC_Bank;
- if (gAbsentBankFlags & gBitTable[gActiveBattler])
+ if (gAbsentBattlerFlags & gBitTable[gActiveBattler])
gBattleStruct->sub80170DC_Bank++;
else
{
@@ -1199,7 +1199,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks)
{
gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank];
- if (gAbsentBankFlags & gBitTable[gActiveBattler])
+ if (gAbsentBattlerFlags & gBitTable[gActiveBattler])
gBattleStruct->sub80170DC_Bank++;
else
{
@@ -1250,14 +1250,14 @@ bool8 HandleFaintedMonActions(void)
gBattleStruct->sub80173A4_Tracker++;
for (i = 0; i < gNoOfAllBanks; i++)
{
- if (gAbsentBankFlags & gBitTable[i] && !sub_8018018(i, 6, 6))
- gAbsentBankFlags &= ~(gBitTable[i]);
+ if (gAbsentBattlerFlags & gBitTable[i] && !sub_8018018(i, 6, 6))
+ gAbsentBattlerFlags &= ~(gBitTable[i]);
}
case 1:
do
{
gBank1 = gBankTarget = gBattleStruct->unk1605A;
- if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->unk16113 & gBitTable[gBattlePartyID[gBattleStruct->unk1605A]]) && !(gAbsentBankFlags & gBitTable[gBattleStruct->unk1605A]))
+ if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->unk16113 & gBitTable[gBattlerPartyIndexes[gBattleStruct->unk1605A]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A]))
{
BattleScriptExecute(BattleScript_GiveExp);
gBattleStruct->sub80173A4_Tracker = 2;
@@ -1280,7 +1280,7 @@ bool8 HandleFaintedMonActions(void)
do
{
gBank1 = gBankTarget = gBattleStruct->unk1605A; //or should banks be switched?
- if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gAbsentBankFlags & gBitTable[gBattleStruct->unk1605A]))
+ if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A]))
{
BattleScriptExecute(BattleScript_HandleFaintedMon);
gBattleStruct->sub80173A4_Tracker = 5;
@@ -1410,7 +1410,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++;
@@ -1546,7 +1546,7 @@ u8 AtkCanceller_UnableToUseMove(void)
gCurrentMove = MOVE_BIDE;
*bideDmg = gTakenDmg[gBankAttacker] * 2;
gBankTarget = gTakenDmgBanks[gBankAttacker];
- if (gAbsentBankFlags & gBitTable[gBankTarget])
+ if (gAbsentBattlerFlags & gBitTable[gBankTarget])
gBankTarget = GetMoveTarget(MOVE_BIDE, 1);
gBattlescriptCurrInstr = BattleScript_BideAttack;
}
@@ -1613,20 +1613,20 @@ bool8 sub_8018018(u8 bank, u8 r1, u8 r2)
{
if (GetBankSide(bank) == 1)
{
- r7 = GetBankByIdentity(1);
- r6 = GetBankByIdentity(3);
+ r7 = GetBattlerAtPosition(1);
+ r6 = GetBattlerAtPosition(3);
party = gEnemyParty;
}
else
{
- r7 = GetBankByIdentity(0);
- r6 = GetBankByIdentity(2);
+ r7 = GetBattlerAtPosition(0);
+ r6 = GetBattlerAtPosition(2);
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) && GetMonData(&party[i], MON_DATA_SPECIES2) && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG && i != r1 && i != r2 && i != ewram16068arr(r7) && i != ewram16068arr(r6))
@@ -1698,16 +1698,16 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
if (gBankAttacker >= gNoOfAllBanks)
gBankAttacker = bank;
if (GetBankSide(gBankAttacker) == 0)
- pokeAtk = &gPlayerParty[gBattlePartyID[gBankAttacker]];
+ pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]];
else
- pokeAtk = &gEnemyParty[gBattlePartyID[gBankAttacker]];
+ pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]];
if (gBankTarget >= gNoOfAllBanks)
gBankTarget = bank;
if (GetBankSide(gBankTarget) == 0)
- pokeDef = &gPlayerParty[gBattlePartyID[gBankTarget]];
+ pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]];
else
- pokeDef = &gEnemyParty[gBattlePartyID[gBankTarget]];
+ pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]];
speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES);
pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY);
@@ -2002,7 +2002,7 @@ 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)
@@ -2022,7 +2022,7 @@ 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)
@@ -2039,7 +2039,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
case ABILITY_EFFECT_SPORE:
if (DEBUG && (gUnknown_02023A14_50 & 4))
{
- 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)
@@ -2060,7 +2060,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
}
else
{
- 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)
@@ -2084,7 +2084,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
case ABILITY_POISON_POINT:
if (DEBUG && (gUnknown_02023A14_50 & 4))
{
- 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)
@@ -2099,7 +2099,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
}
else
{
- 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)
@@ -2117,7 +2117,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
case ABILITY_STATIC:
if (DEBUG && (gUnknown_02023A14_50 & 4))
{
- 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)
@@ -2132,7 +2132,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
}
else
{
- 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)
@@ -2150,7 +2150,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
case ABILITY_FLAME_BODY:
if (DEBUG && (gUnknown_02023A14_50 & 4))
{
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
&& gBattleMons[gBankAttacker].hp != 0
&& !gProtectStructs[gBankAttacker].confusionSelfDmg
&& (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)
@@ -2165,7 +2165,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
}
else
{
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
&& gBattleMons[gBankAttacker].hp != 0
&& !gProtectStructs[gBankAttacker].confusionSelfDmg
&& (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)
@@ -2183,7 +2183,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
case ABILITY_CUTE_CHARM:
if (DEBUG && (gUnknown_02023A14_50 & 4))
{
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
&& gBattleMons[gBankAttacker].hp != 0
&& !gProtectStructs[gBankAttacker].confusionSelfDmg
&& (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)
@@ -2203,7 +2203,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
}
else
{
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
&& gBattleMons[gBankAttacker].hp != 0
&& !gProtectStructs[gBankAttacker].confusionSelfDmg
&& (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)
@@ -2376,15 +2376,15 @@ 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) ^ 1) & 1;
- target1 = GetBankByIdentity(side);
- target2 = GetBankByIdentity(side + 2);
+ side = (GetBattlerPosition(i) ^ 1) & 1;
+ target1 = GetBattlerAtPosition(side);
+ target2 = GetBattlerAtPosition(side + 2);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0
&& gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0)
{
- gActiveBattler = GetBankByIdentity(((Random() & 1) * 2) | side);
+ gActiveBattler = GetBattlerAtPosition(((Random() & 1) * 2) | side);
gBattleMons[i].ability = gBattleMons[gActiveBattler].ability;
gLastUsedAbility = gBattleMons[gActiveBattler].ability;
effect++;
@@ -2423,7 +2423,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
gBattleTextBuff1[0] = 0xFD;
gBattleTextBuff1[1] = 4;
gBattleTextBuff1[2] = gActiveBattler;
- gBattleTextBuff1[3] = gBattlePartyID[gActiveBattler];
+ gBattleTextBuff1[3] = gBattlerPartyIndexes[gActiveBattler];
gBattleTextBuff1[4] = EOS;
gBattleTextBuff2[0] = 0xFD;
@@ -2693,9 +2693,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
u16 move;
if (GetBankSide(bank) == 0)
- poke = &gPlayerParty[gBattlePartyID[bank]];
+ poke = &gPlayerParty[gBattlerPartyIndexes[bank]];
else
- poke = &gEnemyParty[gBattlePartyID[bank]];
+ poke = &gEnemyParty[gBattlerPartyIndexes[bank]];
for (i = 0; i < 4; i++)
{
move = GetMonData(poke, MON_DATA_MOVE1 + i);
@@ -3268,7 +3268,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
switch (atkHoldEffect)
{
case HOLD_EFFECT_FLINCH:
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
&& (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special)
&& (Random() % 100) < bankQuality
&& gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED
@@ -3281,7 +3281,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn)
}
break;
case HOLD_EFFECT_SHELL_BELL:
- if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)
+ if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
&& gSpecialStatuses[gBankTarget].moveturnLostHP != 0
&& gSpecialStatuses[gBankTarget].moveturnLostHP != 0xFFFF
&& gBankAttacker != gBankTarget
@@ -3331,22 +3331,22 @@ void unref_sub_801B40C(void)
u8 bank = 0;
do
{
- u8 absent = gAbsentBankFlags;
+ u8 absent = gAbsentBattlerFlags;
if (gBitTable[bank] & absent || absent & gBitTable[bank + 2])
bank++;
else
{
if (sCombinedMoves[i].move1 == gChosenMovesByBanks[bank] && sCombinedMoves[i].move2 == gChosenMovesByBanks[bank + 2])
{
- gSideTimers[GetBankIdentity(bank) & 1].field3 = (bank) | ((bank + 2) << 4);
- gSideTimers[GetBankIdentity(bank) & 1].field4 = sCombinedMoves[i].newMove;
- gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4;
+ gSideTimers[GetBattlerPosition(bank) & 1].field3 = (bank) | ((bank + 2) << 4);
+ gSideTimers[GetBattlerPosition(bank) & 1].field4 = sCombinedMoves[i].newMove;
+ gSideAffecting[GetBattlerPosition(bank) & 1] |= SIDE_STATUS_X4;
}
if (sCombinedMoves[i].move1 == gChosenMovesByBanks[bank + 2] && sCombinedMoves[i].move2 == gChosenMovesByBanks[bank])
{
- gSideTimers[GetBankIdentity(bank) & 1].field3 = (bank + 2) | ((bank) << 4);
- gSideTimers[GetBankIdentity(bank) & 1].field4 = sCombinedMoves[i].newMove;
- gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4;
+ gSideTimers[GetBattlerPosition(bank) & 1].field3 = (bank + 2) | ((bank) << 4);
+ gSideTimers[GetBattlerPosition(bank) & 1].field4 = sCombinedMoves[i].newMove;
+ gSideAffecting[GetBattlerPosition(bank) & 1] |= SIDE_STATUS_X4;
}
bank++;
}
@@ -3385,7 +3385,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target
do
{
targetBank = Random() % gNoOfAllBanks;
- } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBankFlags & gBitTable[targetBank]);
+ } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]);
if (gBattleMoves[move].type == TYPE_ELECTRIC
&& AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0)
&& gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD)
@@ -3400,8 +3400,8 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target
case 8:
case 32:
case 64:
- targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1);
- if (gAbsentBankFlags & gBitTable[targetBank])
+ targetBank = GetBattlerAtPosition((GetBattlerPosition(gBankAttacker) & 1) ^ 1);
+ if (gAbsentBattlerFlags & gBitTable[targetBank])
targetBank ^= 2;
break;
case 4:
@@ -3413,22 +3413,22 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target
if (GetBankSide(gBankAttacker) == 0)
{
if (Random() & 1)
- targetBank = GetBankByIdentity(1);
+ targetBank = GetBattlerAtPosition(1);
else
- targetBank = GetBankByIdentity(3);
+ targetBank = GetBattlerAtPosition(3);
}
else
{
if (Random() & 1)
- targetBank = GetBankByIdentity(0);
+ targetBank = GetBattlerAtPosition(0);
else
- targetBank = GetBankByIdentity(2);
+ targetBank = GetBattlerAtPosition(2);
}
- if (gAbsentBankFlags & gBitTable[targetBank])
+ if (gAbsentBattlerFlags & gBitTable[targetBank])
targetBank ^= 2;
}
else
- targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1);
+ targetBank = GetBattlerAtPosition((GetBattlerPosition(gBankAttacker) & 1) ^ 1);
break;
case 2:
case 16:
diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c
index 15b65fa81..606bc3e50 100644
--- a/src/battle/pokeball.c
+++ b/src/battle/pokeball.c
@@ -20,7 +20,7 @@ extern struct MusicPlayerInfo gMPlay_BGM;
extern u16 gBattleTypeFlags;
extern u8 gBankTarget;
extern u8 gActiveBattler;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gBankSpriteIds[];
extern u8 gDoingBattleAnim;
extern u8 gHealthboxIDs[];
@@ -358,9 +358,9 @@ static void sub_8046464(u8 taskId)
r8 = gTasks[taskId].data[2];
r5 = gTasks[taskId].data[3];
if (GetBankSide(r5) != 0)
- ball = GetMonData(&gEnemyParty[gBattlePartyID[r5]], MON_DATA_POKEBALL);
+ ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL);
else
- ball = GetMonData(&gPlayerParty[gBattlePartyID[r5]], MON_DATA_POKEBALL);
+ ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL);
r4 = ball_number_to_ball_processing_index(ball);
sub_80478DC(r4);
spriteId = CreateSprite(&gBallSpriteTemplates[r4], 32, 80, 0x1D);
@@ -383,7 +383,7 @@ static void sub_8046464(u8 taskId)
gSprites[spriteId].callback = sub_8047254;
break;
default:
- gBankTarget = GetBankByIdentity(1);
+ gBankTarget = GetBattlerAtPosition(1);
sp0 = TRUE;
break;
}
@@ -713,16 +713,16 @@ static void sub_8046C78(struct Sprite *sprite)
if (GetBankSide(r5) != 0)
{
- pkmn = &gEnemyParty[gBattlePartyID[r5]];
+ pkmn = &gEnemyParty[gBattlerPartyIndexes[r5]];
r8 = 25;
}
else
{
- pkmn = &gPlayerParty[gBattlePartyID[r5]];
+ pkmn = &gPlayerParty[gBattlerPartyIndexes[r5]];
r8 = -25;
}
species = GetMonData(pkmn, MON_DATA_SPECIES);
- if ((r5 == GetBankByIdentity(0) || r5 == GetBankByIdentity(1))
+ if ((r5 == GetBattlerAtPosition(0) || r5 == GetBattlerAtPosition(1))
&& IsDoubleBattle() && ewram17840.unk9_0)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
@@ -737,7 +737,7 @@ static void sub_8046C78(struct Sprite *sprite)
}
if (!IsDoubleBattle() || !ewram17840.unk9_0)
r4_2 = 0;
- else if (r5 == GetBankByIdentity(0) || r5 == GetBankByIdentity(1))
+ else if (r5 == GetBattlerAtPosition(0) || r5 == GetBattlerAtPosition(1))
r4_2 = 1;
else
r4_2 = 2;
@@ -885,7 +885,7 @@ static void sub_80470C4(struct Sprite *sprite)
sprite->data[6] = sprite->oam.affineParam & 0xFF;
sprite->data[0] = 0;
if (IsDoubleBattle() && ewram17840.unk9_0
- && sprite->data[6] == GetBankByIdentity(2))
+ && sprite->data[6] == GetBattlerAtPosition(2))
sprite->callback = sub_8047230;
else
sprite->callback = sub_8046C78;
@@ -910,7 +910,7 @@ static void sub_8047254(struct Sprite *sprite)
{
sprite->data[0] = 0;
if (IsDoubleBattle() && ewram17840.unk9_0
- && sprite->data[6] == GetBankByIdentity(3))
+ && sprite->data[6] == GetBattlerAtPosition(3))
sprite->callback = sub_8047230;
else
sprite->callback = sub_8046C78;
@@ -1110,7 +1110,7 @@ void sub_804777C(u8 a)
sprite->pos2.y = -sprite->pos2.y;
}
gSprites[sprite->data[5]].callback(&gSprites[sprite->data[5]]);
- if (GetBankIdentity(a) == 2)
+ if (GetBattlerPosition(a) == 2)
sprite->callback = sub_804780C;
}
@@ -1188,7 +1188,7 @@ void sub_804794C(u8 a)
static u16 sub_8047978(u8 a)
{
if (GetBankSide(a) == 0)
- return GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_POKEBALL);
+ return GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL);
else
- return GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_POKEBALL);
+ return GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL);
}
diff --git a/src/battle/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c
index 85aa78ca0..bc25f8e15 100644
--- a/src/battle/reshow_battle_screen.c
+++ b/src/battle/reshow_battle_screen.c
@@ -22,7 +22,7 @@ extern u16 gBattle_BG0_Y;
extern u8 gReservedSpritePaletteCount;
extern u8 gActionSelectionCursor[4];
extern u8 gBankInMenu;
-extern u16 gBattlePartyID[4];
+extern u16 gBattlerPartyIndexes[4];
extern u8 gNoOfAllBanks;
extern u16 gBattleTypeFlags;
extern u8 gBankSpriteIds[4];
@@ -171,14 +171,14 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
sub_80327CC();
- opponentBank = GetBankByIdentity(1);
- species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES);
+ opponentBank = GetBattlerAtPosition(1);
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES);
sub_8032984(opponentBank, species);
if (IsDoubleBattle())
{
- opponentBank = GetBankByIdentity(3);
- species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES);
+ opponentBank = GetBattlerAtPosition(3);
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES);
sub_8032984(opponentBank, species);
}
sub_802E3E4(gActionSelectionCursor[gBankInMenu], 0);
@@ -210,7 +210,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank)
if (GetBankSide(bank))
{
if (!ewram17800[bank].substituteSprite)
- BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[bank]], bank);
+ BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[bank]], bank);
else
BattleLoadSubstituteSprite(bank, 0);
}
@@ -219,7 +219,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank)
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0)
LoadPlayerTrainerBankSprite(2, 0);
else if (!ewram17800[bank].substituteSprite)
- BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[bank]], bank);
+ BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[bank]], bank);
else
BattleLoadSubstituteSprite(bank, 0);
@@ -240,19 +240,19 @@ static void sub_807B184(u8 bank)
posY = sub_8077F68(bank);
if (GetBankSide(bank))
{
- if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0)
+ if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0)
return;
- GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank));
+ GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank));
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
gSprites[gBankSpriteIds[bank]].data[0] = bank;
- gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
+ gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES);
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
}
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0)
{
- GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(0));
+ GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(0));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50,
(8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80,
sub_8079E90(0));
@@ -262,7 +262,7 @@ static void sub_807B184(u8 bank)
}
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0)
{
- GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(0));
+ GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(0));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50,
(8 - gTrainerBackPicCoords[2].coords) * 4 + 80,
sub_8079E90(0));
@@ -272,14 +272,14 @@ static void sub_807B184(u8 bank)
}
else
{
- if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0)
+ if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0)
return;
- GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank));
+ GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank));
gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank));
gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank;
gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy;
gSprites[gBankSpriteIds[bank]].data[0] = bank;
- gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES);
+ gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES);
StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]);
}
gSprites[gBankSpriteIds[bank]].invisible = ewram17800[bank].invisible;
@@ -301,23 +301,23 @@ static void sub_807B508(u8 bank)
sub_8043F44(bank);
sub_8043DFC(healthboxID);
if (GetBankSide(bank))
- sub_8045A5C(gHealthboxIDs[bank], &gEnemyParty[gBattlePartyID[bank]], 0);
+ sub_8045A5C(gHealthboxIDs[bank], &gEnemyParty[gBattlerPartyIndexes[bank]], 0);
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
- sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlePartyID[bank]], 10);
+ sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 10);
else
- sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlePartyID[bank]], 0);
- if (GetBankIdentity(bank) == 3 || GetBankIdentity(bank) == 2)
+ sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 0);
+ if (GetBattlerPosition(bank) == 3 || GetBattlerPosition(bank) == 2)
nullsub_11(gHealthboxIDs[bank], 1);
else
nullsub_11(gHealthboxIDs[bank], 0);
if (GetBankSide(bank))
{
- if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0)
+ if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0)
sub_8043DB0(healthboxID);
}
else if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
{
- if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0)
+ if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0)
sub_8043DB0(healthboxID);
}
}
diff --git a/src/item_use.c b/src/item_use.c
index a0fbb13b2..a14abbe3e 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -48,7 +48,7 @@ extern u8 gBankInMenu;
extern u8 gUnknown_081A1654[];
extern u8 gUnknown_081A168F[];
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u16 gBattleTypeFlags;
@@ -1044,7 +1044,7 @@ void sub_80CA2BC(u8 taskId)
void ItemUseInBattle_StatIncrease(u8 taskId)
{
- u16 partyId = gBattlePartyID[gBankInMenu];
+ u16 partyId = gBattlerPartyIndexes[gBankInMenu];
Menu_EraseWindowRect(0, 0xD, 0xD, 0x14);
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index 5b3e6ddad..a618fdec5 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -28,7 +28,7 @@ extern u16 gCurrentMove;
extern u8 gLastUsedAbility;
extern u8 gBankAttacker;
extern u8 gBankTarget;
-extern u8 gAbsentBankFlags;
+extern u8 gAbsentBattlerFlags;
extern u8 gXXX_CritRelated;
extern u16 gBattleWeather;
extern struct BattleEnigmaBerry gEnigmaBerries[];
@@ -60,21 +60,21 @@ u8 CountAliveMons(u8 a1)
case 0:
for (i = 0; i < 4; i++)
{
- if (i != gActiveBattler && !(gAbsentBankFlags & gBitTable[i]))
+ if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++;
}
break;
case 1:
for (i = 0; i < 4; i++)
{
- if (GetBankSide(i) == GetBankSide(gBankAttacker) && !(gAbsentBankFlags & gBitTable[i]))
+ if (GetBankSide(i) == GetBankSide(gBankAttacker) && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++;
}
break;
case 2:
for (i = 0; i < 4; i++)
{
- if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBankFlags & gBitTable[i]))
+ if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBattlerFlags & gBitTable[i]))
retVal++;
}
break;
@@ -85,11 +85,11 @@ u8 CountAliveMons(u8 a1)
u8 sub_803C434(u8 a1)
{
- u8 status = GetBankIdentity(a1) & 1;
+ u8 status = GetBattlerPosition(a1) & 1;
status ^= 1;
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
- return GetBankByIdentity(status);
+ return GetBattlerAtPosition(status);
if (CountAliveMons(0) > 1)
{
u8 val;
@@ -98,14 +98,14 @@ u8 sub_803C434(u8 a1)
val = status ^ 2;
else
val = status;
- return GetBankByIdentity(val);
+ return GetBattlerAtPosition(val);
}
else
{
- if ((gAbsentBankFlags & gBitTable[status]))
- return GetBankByIdentity(status ^ 2);
+ if ((gAbsentBattlerFlags & gBitTable[status]))
+ return GetBattlerAtPosition(status ^ 2);
else
- return GetBankByIdentity(status);
+ return GetBattlerAtPosition(status);
}
}
diff --git a/src/pokemon_3.c b/src/pokemon_3.c
index 81a588e8e..d35551613 100644
--- a/src/pokemon_3.c
+++ b/src/pokemon_3.c
@@ -51,7 +51,7 @@ extern const u8 BattleText_Wally[];
extern s8 gPokeblockFlavorCompatibilityTable[];
extern u8 gLastUsedAbility;
extern const u8 BattleText_PreventedSwitch[];
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 BattleText_Rose[];
extern u8 BattleText_UnknownString3[];
@@ -1299,13 +1299,13 @@ void sub_8040B8C(void)
gBattleTextBuff1[2] = gBattleStruct->unk16054;
gBattleTextBuff1[4] = EOS;
if (!GetBankSide(gBattleStruct->unk16054))
- gBattleTextBuff1[3] = pokemon_order_func(gBattlePartyID[gBattleStruct->unk16054]);
+ gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->unk16054]);
else
- gBattleTextBuff1[3] = gBattlePartyID[gBattleStruct->unk16054];
+ gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->unk16054];
gBattleTextBuff2[0] = 0xFD;
gBattleTextBuff2[1] = 4;
gBattleTextBuff2[2] = gBankInMenu;
- gBattleTextBuff2[3] = pokemon_order_func(gBattlePartyID[gBankInMenu]);
+ gBattleTextBuff2[3] = pokemon_order_func(gBattlerPartyIndexes[gBankInMenu]);
gBattleTextBuff2[4] = EOS;
StrCpyDecodeBattle(BattleText_PreventedSwitch, gStringVar4);
}
diff --git a/src/pokemon_item_effect.c b/src/pokemon_item_effect.c
index 3b72ab739..6f1e9dabb 100644
--- a/src/pokemon_item_effect.c
+++ b/src/pokemon_item_effect.c
@@ -16,10 +16,10 @@
#include "util.h"
extern s32 gBattleMoveDamage;
-extern u8 gAbsentBankFlags;
+extern u8 gAbsentBattlerFlags;
extern u8 gBankInMenu;
extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gActiveBattler;
extern u8 gStringBank;
extern struct BattlePokemon gBattleMons[];
@@ -82,7 +82,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo
cmdIndex = (GetBankSide(gActiveBattler) != 0);
while (cmdIndex < gNoOfAllBanks)
{
- if (gBattlePartyID[cmdIndex] == partyIndex)
+ if (gBattlerPartyIndexes[cmdIndex] == partyIndex)
{
sp34 = cmdIndex;
break;
@@ -278,14 +278,14 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo
{
if (sp34 != 4)
{
- gAbsentBankFlags &= ~gBitTable[sp34];
- CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlePartyID[sp34]));
+ gAbsentBattlerFlags &= ~gBitTable[sp34];
+ CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlerPartyIndexes[sp34]));
if (GetBankSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255)
gBattleResults.unk4++;
}
else
{
- gAbsentBankFlags &= ~gBitTable[gActiveBattler ^ 2];
+ gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2];
if (GetBankSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255)
gBattleResults.unk4++;
}
diff --git a/src/rom3.c b/src/rom3.c
index 58b64cebd..64d7a535c 100644
--- a/src/rom3.c
+++ b/src/rom3.c
@@ -33,7 +33,7 @@ extern u8 gBattleBufferB[][0x200];
extern u8 gActiveBattler;
extern u32 gBattleExecBuffer;
extern u8 gNoOfAllBanks;
-extern u16 gBattlePartyID[];
+extern u16 gBattlerPartyIndexes[];
extern u8 gBanksBySide[];
extern u16 gCurrentMove;
extern u16 gChosenMove;
@@ -43,7 +43,7 @@ extern u8 gBankAttacker;
extern u8 gBankTarget;
extern u8 gEffectBank;
extern u8 gStringBank;
-extern u8 gAbsentBankFlags;
+extern u8 gAbsentBattlerFlags;
extern u8 gMultiHitCounter;
extern u8 gUnknown_02024C78;
extern u8 gBattleOutcome;
@@ -237,12 +237,12 @@ void sub_800BA78(void)
case 0:
case 3:
gBanksBySide[gLinkPlayers[i].lp_field_18] = 0;
- gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
+ gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksBySide[gLinkPlayers[i].lp_field_18] = 2;
- gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
+ gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3;
break;
}
}
@@ -257,12 +257,12 @@ void sub_800BA78(void)
case 0:
case 3:
gBanksBySide[gLinkPlayers[i].lp_field_18] = 0;
- gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
+ gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksBySide[gLinkPlayers[i].lp_field_18] = 2;
- gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
+ gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3;
break;
}
}
@@ -274,12 +274,12 @@ void sub_800BA78(void)
case 0:
case 3:
gBanksBySide[gLinkPlayers[i].lp_field_18] = 1;
- gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0;
+ gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0;
break;
case 1:
case 2:
gBanksBySide[gLinkPlayers[i].lp_field_18] = 3;
- gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3;
+ gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3;
break;
}
}
@@ -308,7 +308,7 @@ void sub_800BD54(void)
&& GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG
&& GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0)
{
- gBattlePartyID[i] = j;
+ gBattlerPartyIndexes[i] = j;
break;
}
}
@@ -319,7 +319,7 @@ void sub_800BD54(void)
&& GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG
&& GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0)
{
- gBattlePartyID[i] = j;
+ gBattlerPartyIndexes[i] = j;
break;
}
}
@@ -332,9 +332,9 @@ void sub_800BD54(void)
&& GetMonData(&gPlayerParty[j], MON_DATA_SPECIES) != 0 //Probably a typo by Game Freak. The rest use SPECIES2
&& GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG
&& GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0
- && gBattlePartyID[i - 2] != j)
+ && gBattlerPartyIndexes[i - 2] != j)
{
- gBattlePartyID[i] = j;
+ gBattlerPartyIndexes[i] = j;
break;
}
}
@@ -344,9 +344,9 @@ void sub_800BD54(void)
&& GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != 0
&& GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG
&& GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0
- && gBattlePartyID[i - 2] != j)
+ && gBattlerPartyIndexes[i - 2] != j)
{
- gBattlePartyID[i] = j;
+ gBattlerPartyIndexes[i] = j;
break;
}
}
@@ -421,7 +421,7 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data)
ewram14000arr(3, gTasks[gUnknown_020238C4].data[14]) = gBankTarget;
ewram14000arr(4, gTasks[gUnknown_020238C4].data[14]) = r9;
ewram14000arr(5, gTasks[gUnknown_020238C4].data[14]) = (r9 & 0x0000FF00) >> 8;
- ewram14000arr(6, gTasks[gUnknown_020238C4].data[14]) = gAbsentBankFlags;
+ ewram14000arr(6, gTasks[gUnknown_020238C4].data[14]) = gAbsentBattlerFlags;
ewram14000arr(7, gTasks[gUnknown_020238C4].data[14]) = gEffectBank;
for (i = 0; i < size; i++)
@@ -563,7 +563,7 @@ void sub_800C47C(u8 taskId)
{
gBankAttacker = ewram15000arr(2, gTasks[taskId].data[15]);
gBankTarget = ewram15000arr(3, gTasks[taskId].data[15]);
- gAbsentBankFlags = ewram15000arr(6, gTasks[taskId].data[15]);
+ gAbsentBattlerFlags = ewram15000arr(6, gTasks[taskId].data[15]);
gEffectBank = ewram15000arr(7, gTasks[taskId].data[15]);
}
break;
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index 4be3390ee..2df2360dc 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -27,7 +27,7 @@
#define NUM_BATTLE_SLOTS 4
-#define gBattleMonPartyPositions gBattlePartyID
+#define gBattleMonPartyPositions gBattlerPartyIndexes
#define gCastformElevations gUnknownCastformData_0837F5A8
#define gCastformBackSpriteYCoords gUnknown_0837F5AC
#define gTransformPersonalities gTransformedPersonalities
@@ -169,10 +169,10 @@ u8 GetBankPosition(u8 slot, u8 a2)
{
case 0:
case 2:
- var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_0;
+ var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_0;
break;
case 1:
- var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1;
+ var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_1;
break;
case 3:
case 4:
@@ -323,7 +323,7 @@ u8 sub_8077E44(u8 slot, u16 species, u8 a3)
offset = sub_8077BFC(slot, species);
offset -= sub_8077DD8(slot, species);
}
- y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1;
+ y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_1;
if (a3)
{
if (GetBankSide(slot) == 0)
@@ -825,12 +825,12 @@ u8 GetBankSide(u8 slot)
return gBanksBySide[slot] & 1;
}
-u8 GetBankIdentity(u8 slot)
+u8 GetBattlerPosition(u8 slot)
{
return gBanksBySide[slot];
}
-u8 GetBankByIdentity(u8 slot)
+u8 GetBattlerAtPosition(u8 slot)
{
u8 i;
@@ -856,7 +856,7 @@ bool8 IsBankSpritePresent(u8 slot)
{
if (gBanksBySide[slot] == 0xff)
return FALSE;
- if (GetBankSide(slot) != SIDE_PLAYER)
+ if (GetBankSide(slot) != B_SIDE_PLAYER)
{
if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0)
return TRUE;
@@ -899,7 +899,7 @@ void sub_8078954(struct Struct_sub_8078914 *unk)
unk->field_4 = (u8 *)(VRAM + 0xf000);
unk->field_8 = 0xe;
}
- else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1)
+ else if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1)
{
unk->field_0 = (u8 *)(VRAM + 0x4000);
unk->field_4 = (u8 *)(VRAM + 0xe000);
@@ -1338,25 +1338,25 @@ u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4)
}
} else {
if (a1) {
- if (IsAnimBankSpriteVisible(GetBankByIdentity(0))) {
- var |= 1 << (GetBankByIdentity(0) + 16);
+ if (IsAnimBankSpriteVisible(GetBattlerAtPosition(0))) {
+ var |= 1 << (GetBattlerAtPosition(0) + 16);
}
}
if (a2) {
- if (IsAnimBankSpriteVisible(GetBankByIdentity(2))) {
- shift = GetBankByIdentity(2) + 16;
+ if (IsAnimBankSpriteVisible(GetBattlerAtPosition(2))) {
+ shift = GetBattlerAtPosition(2) + 16;
var |= 1 << shift;
}
}
if (a3) {
- if (IsAnimBankSpriteVisible(GetBankByIdentity(1))) {
- shift = GetBankByIdentity(1) + 16;
+ if (IsAnimBankSpriteVisible(GetBattlerAtPosition(1))) {
+ shift = GetBattlerAtPosition(1) + 16;
var |= 1 << shift;
}
}
if (a4) {
- if (IsAnimBankSpriteVisible(GetBankByIdentity(3))) {
- shift = GetBankByIdentity(3) + 16;
+ if (IsAnimBankSpriteVisible(GetBattlerAtPosition(3))) {
+ shift = GetBattlerAtPosition(3) + 16;
var |= 1 << shift;
}
}
@@ -1371,7 +1371,7 @@ u8 sub_80793A8(u8 a1)
u8 unref_sub_80793B0(u8 a1)
{
- return GetBankByIdentity(a1);
+ return GetBattlerAtPosition(a1);
}
void sub_80793C4(struct Sprite *sprite)
@@ -1421,7 +1421,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
v2 = 1;
InitAnimSpritePos(sprite, v1);
- if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER)
+ if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
@@ -1896,12 +1896,12 @@ u8 sub_8079E90(u8 bank)
}
else
{
- identity = GetBankIdentity(bank);
- if (identity == IDENTITY_PLAYER_MON1)
+ identity = GetBattlerPosition(bank);
+ if (identity == B_POSITION_PLAYER_LEFT)
ret = 30;
- else if (identity == IDENTITY_PLAYER_MON2)
+ else if (identity == B_POSITION_PLAYER_RIGHT)
ret = 20;
- else if (identity == IDENTITY_OPPONENT_MON1)
+ else if (identity == B_POSITION_OPPONENT_LEFT)
ret = 40;
else
ret = 50;
@@ -1911,7 +1911,7 @@ u8 sub_8079E90(u8 bank)
u8 sub_8079ED4(u8 slot)
{
- u8 status = GetBankIdentity(slot);
+ u8 status = GetBattlerPosition(slot);
if (IsContest())
return 2;
@@ -1921,13 +1921,13 @@ u8 sub_8079ED4(u8 slot)
return BG1CNT.priority;
}
-u8 GetBankIdentity_permutated(u8 slot)
+u8 GetBattlerPosition_permutated(u8 slot)
{
u8 status;
if (!IsContest())
{
- status = GetBankIdentity(slot);
+ status = GetBattlerPosition(slot);
if (status == 0 || status == 3)
return 2;
else