summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_9.s2146
-rw-r--r--asm/battle_anim_812C144.s30
-rw-r--r--asm/battle_anim_813F0F4.s28
-rw-r--r--asm/ghost.s4
-rw-r--r--asm/ground.s6
-rw-r--r--asm/ice.s2
-rw-r--r--asm/normal.s32
-rw-r--r--asm/water.s8
8 files changed, 58 insertions, 2198 deletions
diff --git a/asm/battle_9.s b/asm/battle_9.s
index 46552e287..8872b1404 100644
--- a/asm/battle_9.s
+++ b/asm/battle_9.s
@@ -5,2146 +5,6 @@
.text
- thumb_func_start AI_SwitchIfWonderguard
-AI_SwitchIfWonderguard: @ 8036054
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _0803606C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080360A0
- b _080361C8
- .align 2, 0
-_0803606C: .4byte gBattleTypeFlags
-_08036070:
- ldr r0, _08036094 @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBankIdentity
- ldr r1, _08036098 @ =gSharedMem
- lsls r0, 24
- lsrs r0, 25
- ldr r2, _0803609C @ =0x000160c8
- adds r0, r2
- adds r0, r1
- strb r6, [r0]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- bl Emitcmd33
- movs r0, 0x1
- b _080361CA
- .align 2, 0
-_08036094: .4byte gActiveBattler
-_08036098: .4byte gSharedMem
-_0803609C: .4byte 0x000160c8
-_080360A0:
- ldr r4, _080361D8 @ =gBattleMons
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x19
- beq _080360BC
- b _080361C8
-_080360BC:
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r2, r0, 24
- movs r6, 0
- adds r7, r4, 0
- movs r5, 0x58
- adds r0, r2, 0
- muls r0, r5
- adds r4, r0, r7
- movs r3, 0x20
- adds r3, r4
- mov r8, r3
-_080360D8:
- lsls r1, r6, 1
- ldr r0, _080361DC @ =gActiveBattler
- ldrb r0, [r0]
- muls r0, r5
- adds r1, r0
- adds r0, r7, 0
- adds r0, 0xC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _08036104
- ldrh r1, [r4]
- mov r3, r8
- ldrb r2, [r3]
- bl AI_TypeCalc
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0x2
- ands r1, r0
- cmp r1, 0
- bne _080361C8
-_08036104:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080360D8
- movs r6, 0
- ldr r0, _080361E0 @ =gEnemyParty
- mov r9, r0
-_08036110:
- movs r0, 0x64
- adds r5, r6, 0
- muls r5, r0
- mov r2, r9
- adds r4, r5, r2
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080361C2
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _080361C2
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _080361C2
- ldr r1, _080361E4 @ =gBattlePartyID
- ldr r0, _080361DC @ =gActiveBattler
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- beq _080361C2
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r2, r0, 24
- movs r4, 0
- mov r8, r5
- ldr r1, _080361D8 @ =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r5, r0, r1
- adds r7, r5, 0
- adds r7, 0x20
-_0803617C:
- adds r1, r4, 0
- adds r1, 0xD
- mov r0, r8
- add r0, r9
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080361BC
- ldrh r1, [r5]
- ldrb r2, [r7]
- bl AI_TypeCalc
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0x2
- ands r1, r0
- cmp r1, 0
- beq _080361BC
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080361BC
- b _08036070
-_080361BC:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0803617C
-_080361C2:
- adds r6, 0x1
- cmp r6, 0x5
- ble _08036110
-_080361C8:
- movs r0, 0
-_080361CA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080361D8: .4byte gBattleMons
-_080361DC: .4byte gActiveBattler
-_080361E0: .4byte gEnemyParty
-_080361E4: .4byte gBattlePartyID
- thumb_func_end AI_SwitchIfWonderguard
-
- thumb_func_start sub_80361E8
-sub_80361E8: @ 80361E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0x1
- bl ai_has_super_effective_move_on_field
- lsls r0, 24
- cmp r0, 0
- beq _08036214
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _08036214
- b _08036400
-_08036214:
- ldr r1, _0803627C @ =gLastLandedMoves
- ldr r5, _08036280 @ =gActiveBattler
- ldrb r3, [r5]
- lsls r0, r3, 1
- adds r4, r0, r1
- ldrh r1, [r4]
- cmp r1, 0
- bne _08036226
- b _08036400
-_08036226:
- ldr r0, _08036284 @ =0x0000ffff
- cmp r1, r0
- bne _0803622E
- b _08036400
-_0803622E:
- ldr r2, _08036288 @ =gBattleMoves
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _08036242
- b _08036400
-_08036242:
- ldr r0, _0803628C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080362AE
- mov r8, r3
- mov r0, r8
- bl GetBankIdentity
- movs r4, 0x2
- eors r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByIdentity
- ldr r1, _08036290 @ =gAbsentBankFlags
- ldrb r1, [r1]
- ldr r2, _08036294 @ =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08036298
- ldrb r7, [r5]
- b _080362B2
- .align 2, 0
-_0803627C: .4byte gLastLandedMoves
-_08036280: .4byte gActiveBattler
-_08036284: .4byte 0x0000ffff
-_08036288: .4byte gBattleMoves
-_0803628C: .4byte gBattleTypeFlags
-_08036290: .4byte gAbsentBankFlags
-_08036294: .4byte gBitTable
-_08036298:
- ldrb r0, [r5]
- bl GetBankIdentity
- eors r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r7, r0, 24
- b _080362B2
-_080362AE:
- adds r7, r3, 0
- mov r8, r7
-_080362B2:
- ldr r3, _080362D4 @ =gBattleMoves
- ldr r1, _080362D8 @ =gLastLandedMoves
- ldr r2, _080362DC @ =gActiveBattler
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x2]
- adds r1, r2, 0
- cmp r0, 0xA
- bne _080362E0
- movs r0, 0x12
- b _080362F2
- .align 2, 0
-_080362D4: .4byte gBattleMoves
-_080362D8: .4byte gLastLandedMoves
-_080362DC: .4byte gActiveBattler
-_080362E0:
- cmp r0, 0xB
- bne _080362EA
- movs r2, 0xB
- mov r10, r2
- b _080362F4
-_080362EA:
- cmp r0, 0xD
- beq _080362F0
- b _08036400
-_080362F0:
- movs r0, 0xA
-_080362F2:
- mov r10, r0
-_080362F4:
- ldr r2, _08036308 @ =gBattleMons
- ldrb r1, [r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, r10
- bne _0803633C
- b _08036400
- .align 2, 0
-_08036308: .4byte gBattleMons
-_0803630C:
- ldr r0, _08036330 @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBankIdentity
- ldr r1, _08036334 @ =gSharedMem
- lsls r0, 24
- lsrs r0, 25
- ldr r2, _08036338 @ =0x000160c8
- adds r0, r2
- adds r0, r1
- strb r6, [r0]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- bl Emitcmd33
- movs r0, 0x1
- b _08036402
- .align 2, 0
-_08036330: .4byte gActiveBattler
-_08036334: .4byte gSharedMem
-_08036338: .4byte 0x000160c8
-_0803633C:
- movs r6, 0
- ldr r0, _080363CC @ =gBaseStats
- mov r9, r0
-_08036342:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _080363D0 @ =gEnemyParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080363FA
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _080363FA
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _080363FA
- ldr r1, _080363D4 @ =gBattlePartyID
- mov r2, r8
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- beq _080363FA
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- beq _080363FA
- ldr r1, _080363D8 @ =gSharedMem
- ldr r0, _080363DC @ =0x00016068
- add r0, r8
- adds r0, r1
- ldrb r0, [r0]
- cmp r6, r0
- beq _080363FA
- ldr r2, _080363DC @ =0x00016068
- adds r0, r7, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r6, r0
- beq _080363FA
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- movs r1, 0x2E
- bl GetMonData
- cmp r0, 0
- beq _080363E0
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- add r0, r9
- ldrb r0, [r0, 0x17]
- b _080363EA
- .align 2, 0
-_080363CC: .4byte gBaseStats
-_080363D0: .4byte gEnemyParty
-_080363D4: .4byte gBattlePartyID
-_080363D8: .4byte gSharedMem
-_080363DC: .4byte 0x00016068
-_080363E0:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- add r0, r9
- ldrb r0, [r0, 0x16]
-_080363EA:
- cmp r10, r0
- bne _080363FA
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _0803630C
-_080363FA:
- adds r6, 0x1
- cmp r6, 0x5
- ble _08036342
-_08036400:
- movs r0, 0
-_08036402:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80361E8
-
- thumb_func_start AI_SwitchIfNaturalCure
-AI_SwitchIfNaturalCure: @ 8036410
- push {r4,r5,lr}
- ldr r3, _08036468 @ =gBattleMons
- ldr r5, _0803646C @ =gActiveBattler
- ldrb r4, [r5]
- movs r0, 0x58
- adds r2, r4, 0
- muls r2, r0
- adds r0, r3, 0
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _080364D8
- adds r1, r2, r3
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1E
- bne _080364D8
- ldrh r0, [r1, 0x2C]
- ldrh r1, [r1, 0x28]
- lsrs r0, 1
- cmp r1, r0
- bcc _080364D8
- ldr r1, _08036470 @ =gLastLandedMoves
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, 0
- beq _08036456
- ldr r0, _08036474 @ =0x0000ffff
- cmp r1, r0
- bne _08036478
-_08036456:
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _08036478
- ldrb r0, [r5]
- b _080364E0
- .align 2, 0
-_08036468: .4byte gBattleMons
-_0803646C: .4byte gActiveBattler
-_08036470: .4byte gLastLandedMoves
-_08036474: .4byte 0x0000ffff
-_08036478:
- ldr r2, _080364A4 @ =gBattleMoves
- ldr r1, _080364A8 @ =gLastLandedMoves
- ldr r4, _080364AC @ =gActiveBattler
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _080364B0
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080364B0
- ldrb r0, [r4]
- b _080364E0
- .align 2, 0
-_080364A4: .4byte gBattleMoves
-_080364A8: .4byte gLastLandedMoves
-_080364AC: .4byte gActiveBattler
-_080364B0:
- movs r0, 0x8
- movs r1, 0x1
- bl sub_80366A4
- lsls r0, 24
- cmp r0, 0
- bne _080364FE
- movs r0, 0x4
- movs r1, 0x1
- bl sub_80366A4
- lsls r0, 24
- cmp r0, 0
- bne _080364FE
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _080364DC
-_080364D8:
- movs r0, 0
- b _08036500
-_080364DC:
- ldr r0, _08036508 @ =gActiveBattler
- ldrb r0, [r0]
-_080364E0:
- bl GetBankIdentity
- ldr r1, _0803650C @ =gSharedMem
- lsls r0, 24
- lsrs r0, 25
- ldr r2, _08036510 @ =0x000160c8
- adds r0, r2
- adds r0, r1
- movs r1, 0x6
- strb r1, [r0]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- bl Emitcmd33
-_080364FE:
- movs r0, 0x1
-_08036500:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08036508: .4byte gActiveBattler
-_0803650C: .4byte gSharedMem
-_08036510: .4byte 0x000160c8
- thumb_func_end AI_SwitchIfNaturalCure
-
- thumb_func_start ai_has_super_effective_move_on_field
-ai_has_super_effective_move_on_field: @ 8036514
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080365AC @ =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, _080365B0 @ =gBitTable
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0803659C
- movs r4, 0
- ldr r6, _080365B4 @ =gBattleMons
- movs r7, 0x58
- adds r0, r3, 0
- muls r0, r7
- adds r5, r0, r6
- movs r0, 0x20
- adds r0, r5
- mov r9, r0
-_08036550:
- lsls r1, r4, 1
- ldr r0, _080365B8 @ =gActiveBattler
- ldrb r0, [r0]
- muls r0, r7
- adds r1, r0
- adds r0, r6, 0
- adds r0, 0xC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _08036596
- ldrh r1, [r5]
- mov r3, r9
- ldrb r2, [r3]
- bl AI_TypeCalc
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0x2
- ands r1, r0
- cmp r1, 0
- beq _08036596
- mov r0, r8
- cmp r0, 0
- bne _080365C0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _080365C0
-_08036596:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08036550
-_0803659C:
- ldr r0, _080365BC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080365C4
- b _0803663E
- .align 2, 0
-_080365AC: .4byte gAbsentBankFlags
-_080365B0: .4byte gBitTable
-_080365B4: .4byte gBattleMons
-_080365B8: .4byte gActiveBattler
-_080365BC: .4byte gBattleTypeFlags
-_080365C0:
- movs r0, 0x1
- b _08036640
-_080365C4:
- movs r0, 0x2
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _0803664C @ =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, _08036650 @ =gBitTable
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0803663E
- movs r4, 0
- ldr r6, _08036654 @ =gBattleMons
- movs r7, 0x58
- adds r0, r3, 0
- muls r0, r7
- adds r5, r0, r6
- movs r3, 0x20
- adds r3, r5
- mov r9, r3
-_080365F2:
- lsls r1, r4, 1
- ldr r0, _08036658 @ =gActiveBattler
- ldrb r0, [r0]
- muls r0, r7
- adds r1, r0
- adds r0, r6, 0
- adds r0, 0xC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _08036638
- ldrh r1, [r5]
- mov r3, r9
- ldrb r2, [r3]
- bl AI_TypeCalc
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0x2
- ands r1, r0
- cmp r1, 0
- beq _08036638
- mov r0, r8
- cmp r0, 0
- bne _080365C0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _080365C0
-_08036638:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080365F2
-_0803663E:
- movs r0, 0
-_08036640:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803664C: .4byte gAbsentBankFlags
-_08036650: .4byte gBitTable
-_08036654: .4byte gBattleMons
-_08036658: .4byte gActiveBattler
- thumb_func_end ai_has_super_effective_move_on_field
-
- thumb_func_start AI_AreStatsRaised
-AI_AreStatsRaised: @ 803665C
- push {r4,lr}
- movs r4, 0
- ldr r1, _0803669C @ =gBattleMons
- ldr r0, _080366A0 @ =gActiveBattler
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x18
- adds r2, r0, r1
- movs r3, 0x7
-_08036670:
- ldrb r1, [r2]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x6
- ble _08036686
- subs r1, 0x6
- lsls r0, r4, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
-_08036686:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _08036670
- movs r0, 0
- cmp r4, 0x3
- bls _08036696
- movs r0, 0x1
-_08036696:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803669C: .4byte gBattleMons
-_080366A0: .4byte gActiveBattler
- thumb_func_end AI_AreStatsRaised
-
- thumb_func_start sub_80366A4
-sub_80366A4: @ 80366A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x4]
- ldr r1, _08036730 @ =gLastLandedMoves
- ldr r5, _08036734 @ =gActiveBattler
- ldrb r3, [r5]
- lsls r0, r3, 1
- adds r4, r0, r1
- ldrh r1, [r4]
- cmp r1, 0
- bne _080366CE
- b _080368D8
-_080366CE:
- ldr r0, _08036738 @ =0x0000ffff
- cmp r1, r0
- bne _080366D6
- b _080368D8
-_080366D6:
- ldr r0, _0803673C @ =gUnknown_02024C5C
- adds r0, r3, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080366E2
- b _080368D8
-_080366E2:
- ldr r2, _08036740 @ =gBattleMoves
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _080366F6
- b _080368D8
-_080366F6:
- ldr r0, _08036744 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08036798
- mov r9, r3
- mov r0, r9
- bl GetBankIdentity
- movs r4, 0x2
- eors r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByIdentity
- ldr r1, _08036748 @ =gAbsentBankFlags
- ldrb r1, [r1]
- ldr r2, _0803674C @ =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08036750
- ldrb r5, [r5]
- mov r10, r5
- b _0803679C
- .align 2, 0
-_08036730: .4byte gLastLandedMoves
-_08036734: .4byte gActiveBattler
-_08036738: .4byte 0x0000ffff
-_0803673C: .4byte gUnknown_02024C5C
-_08036740: .4byte gBattleMoves
-_08036744: .4byte gBattleTypeFlags
-_08036748: .4byte gAbsentBankFlags
-_0803674C: .4byte gBitTable
-_08036750:
- ldrb r0, [r5]
- bl GetBankIdentity
- eors r0, r4
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- b _0803679C
-_08036768:
- ldr r0, _0803678C @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBankIdentity
- ldr r1, _08036790 @ =gSharedMem
- lsls r0, 24
- lsrs r0, 25
- ldr r2, _08036794 @ =0x000160c8
- adds r0, r2
- adds r0, r1
- strb r6, [r0]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- bl Emitcmd33
- movs r0, 0x1
- b _080368DA
- .align 2, 0
-_0803678C: .4byte gActiveBattler
-_08036790: .4byte gSharedMem
-_08036794: .4byte 0x000160c8
-_08036798:
- mov r9, r3
- mov r10, r9
-_0803679C:
- movs r6, 0
-_0803679E:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _08036830 @ =gEnemyParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _080367B6
- b _080368D0
-_080367B6:
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- bne _080367C4
- b _080368D0
-_080367C4:
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _080368D0
- ldr r1, _08036834 @ =gBattlePartyID
- mov r2, r9
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- beq _080368D0
- mov r2, r10
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- beq _080368D0
- ldr r1, _08036838 @ =gSharedMem
- ldr r0, _0803683C @ =0x00016068
- add r0, r9
- adds r0, r1
- ldrb r0, [r0]
- cmp r6, r0
- beq _080368D0
- ldr r0, _0803683C @ =0x00016068
- add r0, r10
- adds r0, r1
- ldrb r0, [r0]
- cmp r6, r0
- beq _080368D0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- movs r1, 0x2E
- bl GetMonData
- cmp r0, 0
- beq _08036844
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _08036840 @ =gBaseStats
- adds r0, r1
- ldrb r2, [r0, 0x17]
- b _08036850
- .align 2, 0
-_08036830: .4byte gEnemyParty
-_08036834: .4byte gBattlePartyID
-_08036838: .4byte gSharedMem
-_0803683C: .4byte 0x00016068
-_08036840: .4byte gBaseStats
-_08036844:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r2, _080368EC @ =gBaseStats
- adds r0, r2
- ldrb r2, [r0, 0x16]
-_08036850:
- ldr r1, _080368F0 @ =gLastLandedMoves
- ldr r5, _080368F4 @ =gActiveBattler
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- adds r1, r4, 0
- bl AI_TypeCalc
- ldr r1, [sp]
- ands r1, r0
- cmp r1, 0
- beq _080368D0
- ldr r1, _080368F8 @ =gUnknown_02024C5C
- ldrb r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- mov r9, r0
- movs r4, 0
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- mov r8, r1
- ldr r1, _080368FC @ =gBattleMons
- movs r0, 0x58
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- adds r5, r0, r1
- adds r7, r5, 0
- adds r7, 0x20
-_0803688E:
- ldr r0, _08036900 @ =gEnemyParty
- adds r1, r4, 0
- adds r1, 0xD
- add r0, r8
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080368CA
- ldrh r1, [r5]
- ldrb r2, [r7]
- bl AI_TypeCalc
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0x2
- ands r1, r0
- cmp r1, 0
- beq _080368CA
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x4]
- bl __modsi3
- cmp r0, 0
- bne _080368CA
- b _08036768
-_080368CA:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0803688E
-_080368D0:
- adds r6, 0x1
- cmp r6, 0x5
- bgt _080368D8
- b _0803679E
-_080368D8:
- movs r0, 0
-_080368DA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080368EC: .4byte gBaseStats
-_080368F0: .4byte gLastLandedMoves
-_080368F4: .4byte gActiveBattler
-_080368F8: .4byte gUnknown_02024C5C
-_080368FC: .4byte gBattleMons
-_08036900: .4byte gEnemyParty
- thumb_func_end sub_80366A4
-
- thumb_func_start AI_ShouldSwitch
-AI_ShouldSwitch: @ 8036904
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r6, _080369E0 @ =gBattleMons
- ldr r4, _080369E4 @ =gActiveBattler
- ldrb r2, [r4]
- movs r5, 0x58
- adds r0, r2, 0
- muls r0, r5
- adds r1, r6, 0
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080369E8 @ =0x0400e000
- ands r0, r1
- cmp r0, 0
- beq _0803692A
- b _08036AFC
-_0803692A:
- ldr r0, _080369EC @ =gStatuses3
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x80
- lsls r0, 3
- ands r1, r0
- cmp r1, 0
- beq _0803693E
- b _08036AFC
-_0803693E:
- str r1, [sp]
- movs r0, 0xC
- adds r1, r2, 0
- movs r2, 0x17
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08036956
- b _08036AFC
-_08036956:
- ldrb r1, [r4]
- str r0, [sp]
- movs r0, 0xC
- movs r2, 0x47
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0803696E
- b _08036AFC
-_0803696E:
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0x2A
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _080369A0
- ldrb r0, [r4]
- muls r0, r5
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _08036994
- b _08036AFC
-_08036994:
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080369A0
- b _08036AFC
-_080369A0:
- movs r0, 0
- mov r8, r0
- ldr r0, _080369F0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08036A12
- ldr r4, _080369E4 @ =gActiveBattler
- ldrb r7, [r4]
- adds r0, r7, 0
- bl GetBankIdentity
- movs r5, 0x2
- eors r0, r5
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByIdentity
- ldr r1, _080369F4 @ =gAbsentBankFlags
- ldrb r1, [r1]
- ldr r2, _080369F8 @ =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080369FC
- ldrb r6, [r4]
- b _08036A18
- .align 2, 0
-_080369E0: .4byte gBattleMons
-_080369E4: .4byte gActiveBattler
-_080369E8: .4byte 0x0400e000
-_080369EC: .4byte gStatuses3
-_080369F0: .4byte gBattleTypeFlags
-_080369F4: .4byte gAbsentBankFlags
-_080369F8: .4byte gBitTable
-_080369FC:
- ldrb r0, [r4]
- bl GetBankIdentity
- eors r0, r5
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r6, r0, 24
- b _08036A18
-_08036A12:
- ldr r0, _08036AE8 @ =gActiveBattler
- ldrb r6, [r0]
- adds r7, r6, 0
-_08036A18:
- movs r5, 0
-_08036A1A:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08036AEC @ =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08036A7E
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08036A7E
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _08036A7E
- ldr r1, _08036AF0 @ =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r5, r0
- beq _08036A7E
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r5, r0
- beq _08036A7E
- ldr r1, _08036AF4 @ =gSharedMem
- ldr r2, _08036AF8 @ =0x00016068
- adds r0, r7, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r5, r0
- beq _08036A7E
- adds r0, r6, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r5, r0
- beq _08036A7E
- movs r0, 0x1
- add r8, r0
-_08036A7E:
- adds r5, 0x1
- cmp r5, 0x5
- ble _08036A1A
- mov r2, r8
- cmp r2, 0
- beq _08036AFC
- bl ShouldSwitchIfPerishSong
- lsls r0, 24
- cmp r0, 0
- bne _08036AE4
- bl AI_SwitchIfWonderguard
- lsls r0, 24
- cmp r0, 0
- bne _08036AE4
- bl sub_80361E8
- lsls r0, 24
- cmp r0, 0
- bne _08036AE4
- bl AI_SwitchIfNaturalCure
- lsls r0, 24
- cmp r0, 0
- bne _08036AE4
- movs r0, 0
- bl ai_has_super_effective_move_on_field
- lsls r0, 24
- cmp r0, 0
- bne _08036AFC
- bl AI_AreStatsRaised
- lsls r0, 24
- cmp r0, 0
- bne _08036AFC
- movs r0, 0x8
- movs r1, 0x2
- bl sub_80366A4
- lsls r0, 24
- cmp r0, 0
- bne _08036AE4
- movs r0, 0x4
- movs r1, 0x3
- bl sub_80366A4
- lsls r0, 24
- cmp r0, 0
- beq _08036AFC
-_08036AE4:
- movs r0, 0x1
- b _08036AFE
- .align 2, 0
-_08036AE8: .4byte gActiveBattler
-_08036AEC: .4byte gEnemyParty
-_08036AF0: .4byte gBattlePartyID
-_08036AF4: .4byte gSharedMem
-_08036AF8: .4byte 0x00016068
-_08036AFC:
- movs r0, 0
-_08036AFE:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AI_ShouldSwitch
-
-.if DEBUG
- thumb_func_start sub_8036B0C
-sub_8036B0C:
-.syntax divided
- push {r4, r5, r6, lr}
- ldr r5, ._205 @ gBattleTypeFlags
- ldrh r1, [r5]
- mov r0, #0x8
- and r0, r0, r1
- cmp r0, #0
- bne ._197 @cond_branch
- b ._216
-._197:
- bl AI_ShouldSwitch
- lsl r0, r0, #0x18
- cmp r0, #0
- bne ._199 @cond_branch
- b ._200
-._199:
- ldr r4, ._205 + 4 @ 0x2000000
- ldr r0, ._205 + 8 @ gActiveBattler
- ldrb r0, [r0]
- bl GetBankIdentity
- lsl r0, r0, #0x18
- lsr r0, r0, #0x19
- ldr r1, ._205 + 12 @ 0x160c8
- add r0, r0, r1
- add r0, r0, r4
- ldrb r0, [r0]
- cmp r0, #0x6
- bne ._201 @cond_branch
- bl sub_8036CD4
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x6
- bne ._211 @cond_branch
- ldrh r1, [r5]
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- bne ._203 @cond_branch
- mov r0, #0x1
- bl GetBankByIdentity
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r6, r5, #0
- b ._204
-._206:
- .align 2, 0
-._205:
- .word gBattleTypeFlags
- .word 0x2000000
- .word gActiveBattler
- .word 0x160c8
-._203:
- mov r0, #0x1
- bl GetBankByIdentity
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- mov r0, #0x3
- bl GetBankByIdentity
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
-._204:
- mov r4, #0x0
-._212:
- mov r0, #0x64
- mul r0, r0, r4
- ldr r1, ._214 @ gEnemyParty
- add r0, r0, r1
- mov r1, #0x39
- bl GetMonData
- cmp r0, #0
- beq ._210 @cond_branch
- ldr r1, ._214 + 4 @ gBattlePartyID
- lsl r0, r6, #0x1
- add r0, r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq ._210 @cond_branch
- lsl r0, r5, #0x1
- add r0, r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq ._210 @cond_branch
- ldr r1, ._214 + 8 @ 0x2000000
- ldr r2, ._214 + 12 @ 0x16068
- add r0, r6, r2
- add r0, r0, r1
- ldrb r0, [r0]
- cmp r4, r0
- beq ._210 @cond_branch
- add r0, r5, r2
- add r0, r0, r1
- ldrb r0, [r0]
- cmp r4, r0
- bne ._211 @cond_branch
-._210:
- add r4, r4, #0x1
- cmp r4, #0x5
- ble ._212 @cond_branch
-._211:
- ldr r0, ._214 + 16 @ gActiveBattler
- ldrb r0, [r0]
- bl GetBankIdentity
- ldr r1, ._214 + 8 @ 0x2000000
- lsl r0, r0, #0x18
- lsr r0, r0, #0x19
- ldr r3, ._214 + 20 @ 0x160c8
- add r0, r0, r3
- add r0, r0, r1
- strb r4, [r0]
-._201:
- ldr r4, ._214 + 16 @ gActiveBattler
- ldrb r0, [r4]
- bl GetBankIdentity
- ldr r2, ._214 + 8 @ 0x2000000
- ldrb r1, [r4]
- ldr r3, ._214 + 12 @ 0x16068
- add r1, r1, r3
- add r1, r1, r2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x19
- add r3, r3, #0x60
- add r0, r0, r3
- add r0, r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- b ._217
-._215:
- .align 2, 0
-._214:
- .word gEnemyParty
- .word gBattlePartyID
- .word 0x2000000
- .word 0x16068
- .word gActiveBattler
- .word 0x160c8
-._200:
- ldr r0, ._218 @ gUnknown_02023A14
- ldrb r1, [r0]
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- bne ._216 @cond_branch
- bl AI_ShouldUseItem
- lsl r0, r0, #0x18
- cmp r0, #0
- bne ._217 @cond_branch
-._216:
- ldr r0, ._218 + 4 @ gActiveBattler
- ldrb r0, [r0]
- mov r2, #0x1
- eor r2, r2, r0
- lsl r2, r2, #0x8
- mov r0, #0x1
- mov r1, #0x0
- bl Emitcmd33
-._217:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._219:
- .align 2, 0
-._218:
- .word gUnknown_02023A14+0x50
- .word gActiveBattler
-.syntax unified
- thumb_func_end sub_8036B0C
-.else
- thumb_func_start sub_8036B0C
-sub_8036B0C: @ 8036B0C
- push {r4-r6,lr}
- ldr r5, _08036B68 @ =gBattleTypeFlags
- ldrh r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08036B1C
- b _08036C2E
-_08036B1C:
- bl AI_ShouldSwitch
- lsls r0, 24
- cmp r0, 0
- bne _08036B28
- b _08036C24
-_08036B28:
- ldr r4, _08036B6C @ =gSharedMem
- ldr r0, _08036B70 @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- ldr r1, _08036B74 @ =0x000160c8
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08036BEA
- bl sub_8036CD4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bne _08036BD4
- ldrh r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08036B78
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- b _08036B8C
- .align 2, 0
-_08036B68: .4byte gBattleTypeFlags
-_08036B6C: .4byte gSharedMem
-_08036B70: .4byte gActiveBattler
-_08036B74: .4byte 0x000160c8
-_08036B78:
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x3
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r5, r0, 24
-_08036B8C:
- movs r4, 0
-_08036B8E:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _08036C0C @ =gEnemyParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08036BCE
- ldr r1, _08036C10 @ =gBattlePartyID
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _08036BCE
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _08036BCE
- ldr r1, _08036C14 @ =gSharedMem
- ldr r2, _08036C18 @ =0x00016068
- adds r0, r6, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r4, r0
- beq _08036BCE
- adds r0, r5, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r4, r0
- bne _08036BD4
-_08036BCE:
- adds r4, 0x1
- cmp r4, 0x5
- ble _08036B8E
-_08036BD4:
- ldr r0, _08036C1C @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBankIdentity
- ldr r1, _08036C14 @ =gSharedMem
- lsls r0, 24
- lsrs r0, 25
- ldr r3, _08036C20 @ =0x000160c8
- adds r0, r3
- adds r0, r1
- strb r4, [r0]
-_08036BEA:
- ldr r4, _08036C1C @ =gActiveBattler
- ldrb r0, [r4]
- bl GetBankIdentity
- ldr r2, _08036C14 @ =gSharedMem
- ldrb r1, [r4]
- ldr r3, _08036C18 @ =0x00016068
- adds r1, r3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 25
- adds r3, 0x60
- adds r0, r3
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- b _08036C40
- .align 2, 0
-_08036C0C: .4byte gEnemyParty
-_08036C10: .4byte gBattlePartyID
-_08036C14: .4byte gSharedMem
-_08036C18: .4byte 0x00016068
-_08036C1C: .4byte gActiveBattler
-_08036C20: .4byte 0x000160c8
-_08036C24:
- bl AI_ShouldUseItem
- lsls r0, 24
- cmp r0, 0
- bne _08036C40
-_08036C2E:
- ldr r0, _08036C48 @ =gActiveBattler
- ldrb r0, [r0]
- movs r2, 0x1
- eors r2, r0
- lsls r2, 8
- movs r0, 0x1
- movs r1, 0
- bl Emitcmd33
-_08036C40:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08036C48: .4byte gActiveBattler
- thumb_func_end sub_8036B0C
-.endif
-
- thumb_func_start sub_8036C4C
-sub_8036C4C: @ 8036C4C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r3, 0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- movs r7, 0
- ldr r0, _08036CD0 @ =gTypeEffectiveness
- mov r10, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08036CBE
- mov r5, r10
-_08036C7A:
- ldrb r0, [r5]
- cmp r0, 0xFE
- beq _08036CB0
- ldr r1, [sp]
- cmp r0, r1
- bne _08036CB0
- ldrb r4, [r5, 0x1]
- cmp r4, r9
- bne _08036C9A
- ldrb r1, [r6]
- ldrb r0, [r5, 0x2]
- muls r0, r1
- movs r1, 0xA
- bl __divsi3
- strb r0, [r6]
-_08036C9A:
- cmp r4, r8
- bne _08036CB0
- cmp r9, r8
- beq _08036CB0
- ldrb r1, [r6]
- ldrb r0, [r5, 0x2]
- muls r0, r1
- movs r1, 0xA
- bl __divsi3
- strb r0, [r6]
-_08036CB0:
- adds r5, 0x3
- adds r7, 0x3
- mov r1, r10
- adds r0, r7, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08036C7A
-_08036CBE:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08036CD0: .4byte gTypeEffectiveness
- thumb_func_end sub_8036C4C
-
- thumb_func_start sub_8036CD4
-sub_8036CD4: @ 8036CD4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, _08036D1C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08036D78
- ldr r4, _08036D20 @ =gActiveBattler
- ldrb r0, [r4]
- str r0, [sp, 0xC]
- bl GetBankIdentity
- movs r5, 0x2
- eors r0, r5
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByIdentity
- ldr r1, _08036D24 @ =gAbsentBankFlags
- ldrb r1, [r1]
- ldr r2, _08036D28 @ =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08036D2C
- ldrb r4, [r4]
- str r4, [sp, 0x10]
- b _08036D42
- .align 2, 0
-_08036D1C: .4byte gBattleTypeFlags
-_08036D20: .4byte gActiveBattler
-_08036D24: .4byte gAbsentBankFlags
-_08036D28: .4byte gBitTable
-_08036D2C:
- ldrb r0, [r4]
- bl GetBankIdentity
- eors r0, r5
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
-_08036D42:
- bl Random
- movs r3, 0x2
- ands r0, r3
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _08036D70 @ =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, _08036D74 @ =gBitTable
- mov r4, r10
- lsls r0, r4, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08036D8C
- eors r4, r3
- lsls r0, r4, 24
- lsrs r0, 24
- mov r10, r0
- b _08036D8C
- .align 2, 0
-_08036D70: .4byte gAbsentBankFlags
-_08036D74: .4byte gBitTable
-_08036D78:
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _08036E5C @ =gActiveBattler
- ldrb r0, [r0]
- str r0, [sp, 0x10]
- str r0, [sp, 0xC]
-_08036D8C:
- movs r0, 0
- mov r9, r0
- mov r1, sp
- str r1, [sp, 0x14]
-_08036D94:
- movs r2, 0
- str r2, [sp, 0x4]
- movs r3, 0x6
- str r3, [sp, 0x8]
- movs r7, 0
- ldr r4, _08036E60 @ =gBitTable
- mov r8, r4
-_08036DA2:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _08036E64 @ =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _08036E7C
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08036E7C
- mov r1, r8
- ldr r0, [r1]
- mov r2, r9
- ands r0, r2
- cmp r0, 0
- bne _08036E7C
- ldr r1, _08036E68 @ =gBattlePartyID
- ldr r3, [sp, 0xC]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r7
- beq _08036E7C
- ldr r4, [sp, 0x10]
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r7
- beq _08036E7C
- ldr r1, _08036E6C @ =gSharedMem
- ldr r2, _08036E70 @ =0x00016068
- adds r0, r3, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r7, r0
- beq _08036E7C
- adds r0, r4, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r7, r0
- beq _08036E7C
- ldr r1, _08036E74 @ =gBaseStats
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r5, [r0, 0x6]
- ldrb r6, [r0, 0x7]
- movs r0, 0xA
- ldr r3, [sp, 0x14]
- strb r0, [r3]
- movs r0, 0x58
- mov r4, r10
- muls r4, r0
- ldr r0, _08036E78 @ =gBattleMons
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x21
- ldrb r0, [r0]
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, sp
- bl sub_8036C4C
- adds r4, 0x22
- ldrb r0, [r4]
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, sp
- bl sub_8036C4C
- ldr r2, [sp, 0x4]
- ldr r1, [sp, 0x14]
- ldrb r1, [r1]
- cmp r2, r1
- bcs _08036E8A
- ldr r2, [sp, 0x14]
- ldrb r2, [r2]
- str r2, [sp, 0x4]
- lsls r0, r7, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- b _08036E8A
- .align 2, 0
-_08036E5C: .4byte gActiveBattler
-_08036E60: .4byte gBitTable
-_08036E64: .4byte gEnemyParty
-_08036E68: .4byte gBattlePartyID
-_08036E6C: .4byte gSharedMem
-_08036E70: .4byte 0x00016068
-_08036E74: .4byte gBaseStats
-_08036E78: .4byte gBattleMons
-_08036E7C:
- mov r3, r8
- ldr r0, [r3]
- mov r4, r9
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r0, 24
- mov r9, r0
-_08036E8A:
- movs r0, 0x4
- add r8, r0
- adds r7, 0x1
- cmp r7, 0x5
- ble _08036DA2
- ldr r1, [sp, 0x8]
- cmp r1, 0x6
- beq _08036EF8
- movs r7, 0
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r6, _08036EEC @ =gEnemyParty
-_08036EA4:
- adds r1, r7, 0
- adds r1, 0xD
- adds r0, r5, r6
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08036ECA
- ldr r0, _08036EF0 @ =gActiveBattler
- ldrb r1, [r0]
- adds r0, r4, 0
- mov r2, r10
- bl TypeCalc
- movs r1, 0x2
- ands r1, r0
- cmp r1, 0
- bne _08036ED0
-_08036ECA:
- adds r7, 0x1
- cmp r7, 0x3
- ble _08036EA4
-_08036ED0:
- cmp r7, 0x4
- beq _08036ED6
- b _08036FEE
-_08036ED6:
- ldr r2, [sp, 0x8]
- lsls r0, r2, 2
- ldr r3, _08036EF4 @ =gBitTable
- adds r0, r3
- ldr r0, [r0]
- mov r4, r9
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r0, 24
- b _08036EFA
- .align 2, 0
-_08036EEC: .4byte gEnemyParty
-_08036EF0: .4byte gActiveBattler
-_08036EF4: .4byte gBitTable
-_08036EF8:
- movs r0, 0x3F
-_08036EFA:
- mov r9, r0
- mov r1, r9
- cmp r1, 0x3F
- beq _08036F04
- b _08036D94
-_08036F04:
- ldr r0, _08037000 @ =gDynamicBasePower
- movs r2, 0
- strh r2, [r0]
- ldr r0, _08037004 @ =gSharedMem
- ldr r3, _08037008 @ =0x0001601c
- adds r1, r0, r3
- strb r2, [r1]
- ldr r4, _0803700C @ =0x0001601f
- adds r0, r4
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08037010 @ =gBattleMoveFlags
- strb r2, [r0]
- ldr r0, _08037014 @ =gCritMultiplier
- strb r1, [r0]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0x6
- str r1, [sp, 0x8]
- movs r7, 0
-_08036F2C:
- movs r0, 0x64
- adds r6, r7, 0
- muls r6, r0
- ldr r2, _08037018 @ =gEnemyParty
- adds r4, r6, r2
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- adds r3, r7, 0x1
- str r3, [sp, 0x18]
- cmp r0, 0
- beq _08036FE8
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08036FE8
- ldr r1, _0803701C @ =gBattlePartyID
- ldr r4, [sp, 0xC]
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r7
- beq _08036FE8
- ldr r2, [sp, 0x10]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r7
- beq _08036FE8
- ldr r1, _08037004 @ =gSharedMem
- ldr r3, _08037020 @ =0x00016068
- adds r0, r4, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r7, r0
- beq _08036FE8
- adds r0, r2, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r7, r0
- beq _08036FE8
- movs r5, 0
- mov r9, r6
- ldr r4, _08037024 @ =gBattleMoveDamage
- mov r8, r4
- ldr r6, _08037028 @ =gActiveBattler
-_08036F90:
- adds r1, r5, 0
- adds r1, 0xD
- ldr r0, _08037018 @ =gEnemyParty
- add r0, r9
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- mov r1, r8
- str r0, [r1]
- cmp r4, 0
- beq _08036FCC
- ldr r0, _0803702C @ =gBattleMoves
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- beq _08036FCC
- ldrb r0, [r6]
- mov r1, r10
- bl AI_CalcDmg
- ldrb r1, [r6]
- adds r0, r4, 0
- mov r2, r10
- bl TypeCalc
-_08036FCC:
- mov r2, r8
- ldr r0, [r2]
- ldr r3, [sp, 0x4]
- cmp r3, r0
- bge _08036FE2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- lsls r0, r7, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
-_08036FE2:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08036F90
-_08036FE8:
- ldr r7, [sp, 0x18]
- cmp r7, 0x5
- ble _08036F2C
-_08036FEE:
- ldr r0, [sp, 0x8]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08037000: .4byte gDynamicBasePower
-_08037004: .4byte gSharedMem
-_08037008: .4byte 0x0001601c
-_0803700C: .4byte 0x0001601f
-_08037010: .4byte gBattleMoveFlags
-_08037014: .4byte gCritMultiplier
-_08037018: .4byte gEnemyParty
-_0803701C: .4byte gBattlePartyID
-_08037020: .4byte 0x00016068
-_08037024: .4byte gBattleMoveDamage
-_08037028: .4byte gActiveBattler
-_0803702C: .4byte gBattleMoves
- thumb_func_end sub_8036CD4
-
thumb_func_start ai_identify_item_effect
ai_identify_item_effect: @ 8037030
push {r4,lr}
@@ -2202,8 +62,8 @@ _08037086:
bx r1
thumb_func_end ai_identify_item_effect
- thumb_func_start AI_ShouldUseItem
-AI_ShouldUseItem: @ 803708C
+ thumb_func_start ShouldUseItem
+ShouldUseItem: @ 803708C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -2784,6 +644,6 @@ _080374FA:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end AI_ShouldUseItem
+ thumb_func_end ShouldUseItem
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s
index d748a78f1..c9b291dd7 100644
--- a/asm/battle_anim_812C144.s
+++ b/asm/battle_anim_812C144.s
@@ -1688,7 +1688,7 @@ _0812CDF6:
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r7, r0, 24
adds r0, r6, 0
@@ -3045,7 +3045,7 @@ _0812D834:
strh r0, [r1]
ldr r0, _0812D854 @ =gAnimBankAttacker
ldrb r0, [r0]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3136,7 +3136,7 @@ _0812D8F4: .4byte gAnimBankAttacker
_0812D8F8: .4byte gAnimBankTarget
_0812D8FC:
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r1, r0, 24
_0812D906:
@@ -3330,7 +3330,7 @@ _0812DA84:
strh r0, [r1]
ldr r0, _0812DAA4 @ =gAnimBankAttacker
ldrb r0, [r0]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4293,7 +4293,7 @@ _0812E25C: .4byte gBattle_BG1_Y
_0812E260:
ldr r0, _0812E2A0 @ =gAnimBankTarget
ldrb r0, [r0]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r4, r0, 24
bl IsDoubleBattle
@@ -6071,7 +6071,7 @@ _0812F004:
beq _0812F0AC
movs r0, 0
str r0, [sp, 0x14]
- ldr r6, _0812F074 @ =gBattlePartyID
+ ldr r6, _0812F074 @ =gBattlerPartyIndexes
ldr r4, _0812F078 @ =gAnimBankTarget
ldrb r0, [r4]
lsls r0, 1
@@ -6114,7 +6114,7 @@ _0812F004:
b _0812F092
.align 2, 0
_0812F070: .4byte gAnimBankAttacker
-_0812F074: .4byte gBattlePartyID
+_0812F074: .4byte gBattlerPartyIndexes
_0812F078: .4byte gAnimBankTarget
_0812F07C: .4byte gPlayerParty
_0812F080: .4byte gSharedMem + 0x17800
@@ -6143,7 +6143,7 @@ _0812F0A6:
_0812F0AC:
movs r2, 0x1
str r2, [sp, 0x14]
- ldr r6, _0812F10C @ =gBattlePartyID
+ ldr r6, _0812F10C @ =gBattlerPartyIndexes
ldr r4, _0812F110 @ =gAnimBankTarget
ldrb r0, [r4]
lsls r0, 1
@@ -6186,7 +6186,7 @@ _0812F0AC:
adds r0, r1
b _0812F12C
.align 2, 0
-_0812F10C: .4byte gBattlePartyID
+_0812F10C: .4byte gBattlerPartyIndexes
_0812F110: .4byte gAnimBankTarget
_0812F114: .4byte gEnemyParty
_0812F118: .4byte gSharedMem + 0x17800
@@ -6508,7 +6508,7 @@ _0812F388:
lsrs r0, 24
strh r0, [r4, 0x26]
adds r0, r5, 0
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -6620,7 +6620,7 @@ sub_812F474: @ 812F474
ldr r1, _0812F4A8 @ =gTasks
adds r6, r0, r1
ldrb r0, [r6, 0x12]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -11586,7 +11586,7 @@ _08131A74:
lsls r0, 24
cmp r0, 0
bne _08131B10
- ldr r7, _08131AD8 @ =gBattlePartyID
+ ldr r7, _08131AD8 @ =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r7
@@ -11626,7 +11626,7 @@ _08131A74:
b _08131AE6
.align 2, 0
_08131AD4: .4byte gAnimBankAttacker
-_08131AD8: .4byte gBattlePartyID
+_08131AD8: .4byte gBattlerPartyIndexes
_08131ADC: .4byte gPlayerParty
_08131AE0: .4byte gSharedMem + 0x17800
_08131AE4:
@@ -11653,7 +11653,7 @@ _08131AE6:
.align 2, 0
_08131B0C: .4byte gSprites
_08131B10:
- ldr r7, _08131B64 @ =gBattlePartyID
+ ldr r7, _08131B64 @ =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r7
@@ -11692,7 +11692,7 @@ _08131B10:
lsrs r5, r0, 16
b _08131B72
.align 2, 0
-_08131B64: .4byte gBattlePartyID
+_08131B64: .4byte gBattlerPartyIndexes
_08131B68: .4byte gEnemyParty
_08131B6C: .4byte gSharedMem + 0x17800
_08131B70:
diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s
index a2e942ec9..df454dcaf 100644
--- a/asm/battle_anim_813F0F4.s
+++ b/asm/battle_anim_813F0F4.s
@@ -919,7 +919,7 @@ sub_813F844: @ 813F844
lsls r0, 24
cmp r0, 0
bne _0813F88C
- ldr r1, _0813F884 @ =gBattlePartyID
+ ldr r1, _0813F884 @ =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -931,10 +931,10 @@ sub_813F844: @ 813F844
.align 2, 0
_0813F87C: .4byte gBankSpriteIds
_0813F880: .4byte gAnimBankAttacker
-_0813F884: .4byte gBattlePartyID
+_0813F884: .4byte gBattlerPartyIndexes
_0813F888: .4byte gPlayerParty
_0813F88C:
- ldr r1, _0813F8CC @ =gBattlePartyID
+ ldr r1, _0813F8CC @ =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -965,7 +965,7 @@ _0813F89C:
beq _0813F958
b _0813F982
.align 2, 0
-_0813F8CC: .4byte gBattlePartyID
+_0813F8CC: .4byte gBattlerPartyIndexes
_0813F8D0: .4byte gEnemyParty
_0813F8D4: .4byte gTasks
_0813F8D8:
@@ -1366,7 +1366,7 @@ _0813FBE0:
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
bl sub_8079E90
@@ -1418,7 +1418,7 @@ _0813FBE0:
ldr r0, _0813FCAC @ =SpriteCallbackDummy
str r0, [r4]
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
ldr r1, _0813FCB0 @ =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
@@ -1462,7 +1462,7 @@ sub_813FCBC: @ 813FCBC
lsrs r5, r0, 24
ldr r6, _0813FD1C @ =gSprites
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
ldr r1, _0813FD20 @ =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
@@ -1519,7 +1519,7 @@ sub_813FD34: @ 813FD34
lsrs r5, r0, 24
ldr r6, _0813FD88 @ =gSprites
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
ldr r4, _0813FD8C @ =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
@@ -1535,7 +1535,7 @@ sub_813FD34: @ 813FD34
cmp r0, 0
bge _0813FD80
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -4817,7 +4817,7 @@ _081416EC:
_081416F2:
ldr r0, _08141708 @ =gAnimBankAttacker
ldrb r0, [r0]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -5483,7 +5483,7 @@ sub_8141C30: @ 8141C30
movs r0, 0x1E
strh r0, [r4, 0x2E]
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -5495,7 +5495,7 @@ sub_8141C30: @ 8141C30
adds r0, r1
strh r0, [r4, 0x32]
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -5644,11 +5644,11 @@ sub_8141D7C: @ 8141D7C
lsls r4, 24
lsrs r4, 24
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
ldr r1, _08141DA4 @ =gAnimBankAttacker
strb r0, [r1]
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
ldr r1, _08141DA8 @ =gAnimBankTarget
strb r0, [r1]
adds r0, r4, 0
diff --git a/asm/ghost.s b/asm/ghost.s
index b5620910b..4e1baab1f 100644
--- a/asm/ghost.s
+++ b/asm/ghost.s
@@ -1127,7 +1127,7 @@ sub_80DE3D4: @ 80DE3D4
adds r5, r0, r1
ldr r0, _080DE410 @ =gAnimBankTarget
ldrb r0, [r0]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r6, r0, 24
movs r1, 0x26
@@ -1487,7 +1487,7 @@ sub_80DE6B0: @ 80DE6B0
adds r4, r0, r1
ldr r0, _080DE6E4 @ =gAnimBankTarget
ldrb r0, [r0]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r6, r0, 24
movs r1, 0x26
diff --git a/asm/ground.s b/asm/ground.s
index ac3f909b5..a3347dc5f 100644
--- a/asm/ground.s
+++ b/asm/ground.s
@@ -481,7 +481,7 @@ _080E12C4:
strh r0, [r4, 0x1C]
ldr r0, _080E12EC @ =gAnimBankAttacker
ldrb r0, [r0]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1E]
@@ -689,7 +689,7 @@ sub_80E143C: @ 80E143C
strh r4, [r1, 0x26]
ldr r0, _080E1480 @ =gAnimBankAttacker
ldrb r0, [r0]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -854,7 +854,7 @@ _080E15A0:
strh r0, [r4, 0x1C]
ldr r0, _080E15C4 @ =gAnimBankAttacker
ldrb r0, [r0]
- bl GetBankIdentity_permutated
+ bl GetBattlerPosition_permutated
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1E]
diff --git a/asm/ice.s b/asm/ice.s
index 51140d998..cf79a18ab 100644
--- a/asm/ice.s
+++ b/asm/ice.s
@@ -2701,7 +2701,7 @@ sub_80D8BA8: @ 80D8BA8
ldrh r0, [r4, 0x2]
lsls r0, 20
lsrs r0, 24
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r5, r0, 24
adds r0, r5, 0
diff --git a/asm/normal.s b/asm/normal.s
index 732c049ab..4f396c573 100644
--- a/asm/normal.s
+++ b/asm/normal.s
@@ -2512,13 +2512,13 @@ _080E2FAC:
bne _080E3028
ldr r5, _080E305C @ =gAnimBankAttacker
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _080E2FDC
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
cmp r0, 0
bne _080E3028
@@ -2589,7 +2589,7 @@ _080E306C:
lsls r0, 24
cmp r0, 0
beq _080E3098
- ldr r1, _080E3090 @ =gBattlePartyID
+ ldr r1, _080E3090 @ =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -2600,10 +2600,10 @@ _080E306C:
b _080E30A8
.align 2, 0
_080E308C: .4byte gAnimBankAttacker
-_080E3090: .4byte gBattlePartyID
+_080E3090: .4byte gBattlerPartyIndexes
_080E3094: .4byte gEnemyParty
_080E3098:
- ldr r1, _080E3160 @ =gBattlePartyID
+ ldr r1, _080E3160 @ =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -2697,7 +2697,7 @@ _080E3106:
pop {r0}
bx r0
.align 2, 0
-_080E3160: .4byte gBattlePartyID
+_080E3160: .4byte gBattlerPartyIndexes
_080E3164: .4byte gPlayerParty
_080E3168: .4byte gAnimBankAttacker
_080E316C: .4byte 0x040000d4
@@ -3051,13 +3051,13 @@ _080E3432:
cmp r0, 0
bne _080E34A4
adds r0, r5, 0
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _080E345E
adds r0, r5, 0
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
cmp r0, 0
bne _080E34A4
@@ -3123,7 +3123,7 @@ _080E34E4:
lsls r0, 24
cmp r0, 0
beq _080E3508
- ldr r1, _080E3500 @ =gBattlePartyID
+ ldr r1, _080E3500 @ =gBattlerPartyIndexes
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
@@ -3132,10 +3132,10 @@ _080E34E4:
ldr r1, _080E3504 @ =gEnemyParty
b _080E3516
.align 2, 0
-_080E3500: .4byte gBattlePartyID
+_080E3500: .4byte gBattlerPartyIndexes
_080E3504: .4byte gEnemyParty
_080E3508:
- ldr r1, _080E3568 @ =gBattlePartyID
+ ldr r1, _080E3568 @ =gBattlerPartyIndexes
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
@@ -3182,7 +3182,7 @@ _080E3550:
bl LZDecompressVram
b _080E3580
.align 2, 0
-_080E3568: .4byte gBattlePartyID
+_080E3568: .4byte gBattlerPartyIndexes
_080E356C: .4byte gPlayerParty
_080E3570: .4byte gBankSpriteIds
_080E3574: .4byte gBattleStatMask1_Tilemap
@@ -4210,7 +4210,7 @@ _080E3D58:
lsls r0, 24
cmp r0, 0
beq _080E3D7C
- ldr r1, _080E3D74 @ =gBattlePartyID
+ ldr r1, _080E3D74 @ =gBattlerPartyIndexes
lsls r0, r7, 1
adds r0, r1
ldrh r1, [r0]
@@ -4219,10 +4219,10 @@ _080E3D58:
ldr r1, _080E3D78 @ =gEnemyParty
b _080E3D8A
.align 2, 0
-_080E3D74: .4byte gBattlePartyID
+_080E3D74: .4byte gBattlerPartyIndexes
_080E3D78: .4byte gEnemyParty
_080E3D7C:
- ldr r1, _080E3E48 @ =gBattlePartyID
+ ldr r1, _080E3E48 @ =gBattlerPartyIndexes
lsls r0, r7, 1
adds r0, r1
ldrh r1, [r0]
@@ -4320,7 +4320,7 @@ _080E3DE6:
pop {r0}
bx r0
.align 2, 0
-_080E3E48: .4byte gBattlePartyID
+_080E3E48: .4byte gBattlerPartyIndexes
_080E3E4C: .4byte gPlayerParty
_080E3E50: .4byte gBankSpriteIds
_080E3E54: .4byte gBattle_BG1_X
diff --git a/asm/water.s b/asm/water.s
index 2f0ebb8f8..6e1c06ba7 100644
--- a/asm/water.s
+++ b/asm/water.s
@@ -1089,7 +1089,7 @@ sub_80D4394: @ 80D4394
lsls r0, 24
cmp r0, 0
bne _080D43C8
- ldr r1, _080D43BC @ =gBattlePartyID
+ ldr r1, _080D43BC @ =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -1100,13 +1100,13 @@ sub_80D4394: @ 80D4394
b _080D43D8
.align 2, 0
_080D43B8: .4byte gAnimBankAttacker
-_080D43BC: .4byte gBattlePartyID
+_080D43BC: .4byte gBattlerPartyIndexes
_080D43C0: .4byte gPlayerParty
_080D43C4:
adds r0, r2, 0
b _080D440A
_080D43C8:
- ldr r1, _080D4410 @ =gBattlePartyID
+ ldr r1, _080D4410 @ =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -1144,7 +1144,7 @@ _080D440A:
pop {r1}
bx r1
.align 2, 0
-_080D4410: .4byte gBattlePartyID
+_080D4410: .4byte gBattlerPartyIndexes
_080D4414: .4byte gEnemyParty
thumb_func_end sub_80D4394