diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_9.s | 2146 | ||||
-rw-r--r-- | asm/battle_anim_812C144.s | 30 | ||||
-rw-r--r-- | asm/battle_anim_813F0F4.s | 28 | ||||
-rw-r--r-- | asm/ghost.s | 4 | ||||
-rw-r--r-- | asm/ground.s | 6 | ||||
-rw-r--r-- | asm/ice.s | 2 | ||||
-rw-r--r-- | asm/normal.s | 32 | ||||
-rw-r--r-- | asm/water.s | 8 |
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] @@ -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 |