summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2018-10-08 18:51:14 -0400
committerProjectRevoTPP <projectrevotpp@hotmail.com>2018-10-08 18:51:14 -0400
commit967b4e6612eb7f81dfe44989c2e2c79000c7d6f3 (patch)
treedef9e67fe788da2963c41585c309b61eb109247d /asm
parent02fb51cbe7f6016d23d01d58dcbe8f4b3786bc5e (diff)
parent10fff9c6f2d29899952d1751d3de827e7e98bb60 (diff)
merge and nonmatching PokemonUseItemEffects2
Diffstat (limited to 'asm')
-rw-r--r--asm/menews_jisan.s326
-rw-r--r--asm/pokemon_3.s997
2 files changed, 0 insertions, 1323 deletions
diff --git a/asm/menews_jisan.s b/asm/menews_jisan.s
deleted file mode 100644
index abd5e44f4..000000000
--- a/asm/menews_jisan.s
+++ /dev/null
@@ -1,326 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8146C30
-sub_8146C30: @ 8146C30
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_8143D94
- adds r5, r0, 0
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r5]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- cmp r4, 0x2
- bhi _08146C56
- cmp r4, 0x1
- bcs _08146C5C
- b _08146C80
-_08146C56:
- cmp r4, 0x3
- beq _08146C6E
- b _08146C80
-_08146C5C:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- bl __umodsi3
- adds r0, 0x10
- b _08146C7E
-_08146C6E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- bl __umodsi3
- adds r0, 0x1
-_08146C7E:
- strb r0, [r5, 0x1]
-_08146C80:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8146C30
-
- thumb_func_start sub_8146C88
-sub_8146C88: @ 8146C88
- push {lr}
- bl sub_8143D94
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0, 0x1]
- ldr r0, _08146CA0 @ =0x00004028
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_08146CA0: .4byte 0x00004028
- thumb_func_end sub_8146C88
-
- thumb_func_start sub_8146CA4
-sub_8146CA4: @ 8146CA4
- push {r4,lr}
- ldr r0, _08146CE0 @ =0x00004028
- bl sub_806E454
- adds r4, r0, 0
- bl sub_8143D94
- adds r2, r0, 0
- ldr r0, [r2]
- lsls r0, 24
- lsrs r0, 29
- cmp r0, 0x4
- bls _08146CD8
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- ldr r1, _08146CE4 @ =0x01f30000
- cmp r0, r1
- bls _08146CD8
- ldrb r0, [r2]
- movs r1, 0x1F
- ands r1, r0
- strb r1, [r2]
- movs r0, 0
- strh r0, [r4]
-_08146CD8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08146CE0: .4byte 0x00004028
-_08146CE4: .4byte 0x01f30000
- thumb_func_end sub_8146CA4
-
- thumb_func_start sub_8146CE8
-sub_8146CE8: @ 8146CE8
- push {r4-r6,lr}
- ldr r6, _08146D08 @ =gUnknown_20370D0
- bl sub_8143D94
- adds r4, r0, 0
- bl sub_806E2BC
- cmp r0, 0
- beq _08146D02
- bl sub_8143E1C
- cmp r0, 0
- bne _08146D0C
-_08146D02:
- movs r0, 0
- b _08146D6E
- .align 2, 0
-_08146D08: .4byte gUnknown_20370D0
-_08146D0C:
- adds r0, r4, 0
- bl sub_8146E0C
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bhi _08146D6C
- lsls r0, r5, 2
- ldr r1, _08146D24 @ =_08146D28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08146D24: .4byte _08146D28
- .align 2, 0
-_08146D28:
- .4byte _08146D6C
- .4byte _08146D44
- .4byte _08146D44
- .4byte _08146D6C
- .4byte _08146D4E
- .4byte _08146D5E
- .4byte _08146D6C
-_08146D44:
- adds r0, r4, 0
- bl sub_8146D74
- strh r0, [r6]
- b _08146D6C
-_08146D4E:
- adds r0, r4, 0
- bl sub_8146D74
- strh r0, [r6]
- adds r0, r4, 0
- bl sub_8146DA0
- b _08146D6C
-_08146D5E:
- adds r0, r4, 0
- bl sub_8146D74
- strh r0, [r6]
- adds r0, r4, 0
- bl sub_8146D94
-_08146D6C:
- adds r0, r5, 0
-_08146D6E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8146CE8
-
- thumb_func_start sub_8146D74
-sub_8146D74: @ 8146D74
- push {r4,lr}
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r4, [r0, 0x1]
- adds r4, 0x84
- movs r1, 0
- strb r1, [r0, 0x1]
- bl sub_8146DD8
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8146D74
-
- thumb_func_start sub_8146D94
-sub_8146D94: @ 8146D94
- ldrb r2, [r0]
- movs r1, 0x1D
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_8146D94
-
- thumb_func_start sub_8146DA0
-sub_8146DA0: @ 8146DA0
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, [r3]
- lsls r0, 27
- lsrs r0, 29
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- lsls r0, 2
- ldrb r1, [r3]
- movs r4, 0x1D
- negs r4, r4
- adds r2, r4, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r3]
- ldr r0, [r3]
- lsls r0, 27
- lsrs r0, 29
- cmp r0, 0x4
- bls _08146DD2
- ands r2, r4
- movs r0, 0x10
- orrs r2, r0
- strb r2, [r3]
-_08146DD2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8146DA0
-
- thumb_func_start sub_8146DD8
-sub_8146DD8: @ 8146DD8
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, [r3]
- lsls r0, 24
- lsrs r0, 29
- adds r0, 0x1
- lsls r0, 5
- ldrb r1, [r3]
- movs r4, 0x1F
- adds r2, r4, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r3]
- ldr r0, [r3]
- lsls r0, 24
- lsrs r0, 29
- cmp r0, 0x5
- bls _08146E04
- ands r2, r4
- movs r0, 0xA0
- orrs r2, r0
- strb r2, [r3]
-_08146E04:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8146DD8
-
- thumb_func_start sub_8146E0C
-sub_8146E0C: @ 8146E0C
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2]
- movs r0, 0xE0
- ands r0, r1
- cmp r0, 0xA0
- bne _08146E1E
- movs r0, 0x6
- b _08146E66
-_08146E1E:
- ldr r1, [r2]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x1
- beq _08146E40
- cmp r0, 0x1
- bgt _08146E32
- cmp r0, 0
- beq _08146E3C
- b _08146E58
-_08146E32:
- cmp r0, 0x2
- beq _08146E44
- cmp r0, 0x3
- beq _08146E48
- b _08146E58
-_08146E3C:
- movs r0, 0x3
- b _08146E66
-_08146E40:
- movs r0, 0x1
- b _08146E66
-_08146E44:
- movs r0, 0x2
- b _08146E66
-_08146E48:
- lsls r0, r1, 27
- lsrs r0, 29
- cmp r0, 0x2
- bhi _08146E54
- movs r0, 0x4
- b _08146E66
-_08146E54:
- movs r0, 0x5
- b _08146E66
-_08146E58:
- ldr r0, _08146E6C @ =gUnknown_8468C5C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/menews_jisan.c"
- ldr r1, _08146E70 @ =0x0000017f
- ldr r2, _08146E74 @ =gUnknown_8468C94 "0"
- movs r3, 0x1
- bl AGBAssert
- movs r0, 0
-_08146E66:
- pop {r1}
- bx r1
- .align 2, 0
-_08146E6C: .4byte gUnknown_8468C5C
-_08146E70: .4byte 0x0000017f
-_08146E74: .4byte gUnknown_8468C94
- thumb_func_end sub_8146E0C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s
index 9d7d4dff0..6df2e64ad 100644
--- a/asm/pokemon_3.s
+++ b/asm/pokemon_3.s
@@ -5,1003 +5,6 @@
.text
- thumb_func_start PokemonUseItemEffects2
-PokemonUseItemEffects2: @ 8042414
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0x10]
- movs r1, 0x6
- mov r10, r1
- movs r2, 0
- str r2, [sp, 0x18]
- movs r0, 0x4
- str r0, [sp, 0x1C]
- mov r0, r8
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- beq _08042458
- bl ItemId_GetHoldEffect
-_08042458:
- ldr r1, _080424B0 @ =gPotentialItemEffectBattler
- ldr r0, _080424B4 @ =gBattlerInMenuId
- ldrb r2, [r0]
- strb r2, [r1]
- ldr r0, _080424B8 @ =gMain
- ldr r1, _080424BC @ =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080424F8
- ldr r0, _080424C0 @ =gActiveBattler
- strb r2, [r0]
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0xC]
- ldr r0, _080424C4 @ =gBattlersCount
- ldr r4, [sp]
- subs r4, 0xD
- ldrb r0, [r0]
- cmp r1, r0
- bge _08042504
- ldr r2, _080424C8 @ =gBattlerPartyIndexes
- lsls r0, r1, 1
- adds r0, r2
- ldrh r3, [r0]
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- lsrs r1, r0, 16
- adds r5, r0, 0
- cmp r3, r1
- bne _080424CC
- ldr r2, [sp, 0xC]
- str r2, [sp, 0x1C]
- b _08042504
- .align 2, 0
-_080424B0: .4byte gPotentialItemEffectBattler
-_080424B4: .4byte gBattlerInMenuId
-_080424B8: .4byte gMain
-_080424BC: .4byte 0x00000439
-_080424C0: .4byte gActiveBattler
-_080424C4: .4byte gBattlersCount
-_080424C8: .4byte gBattlerPartyIndexes
-_080424CC:
- ldr r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0xC]
- ldr r0, _080424F4 @ =gBattlersCount
- ldr r1, [sp, 0xC]
- ldrb r0, [r0]
- cmp r1, r0
- bge _08042504
- lsls r0, r1, 1
- adds r0, r2
- ldrh r1, [r0]
- lsrs r0, r5, 16
- cmp r1, r0
- bne _080424CC
- ldr r2, [sp, 0xC]
- lsls r0, r2, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- b _08042504
- .align 2, 0
-_080424F4: .4byte gBattlersCount
-_080424F8:
- ldr r0, _08042520 @ =gActiveBattler
- strb r1, [r0]
- movs r0, 0x4
- str r0, [sp, 0x1C]
- ldr r4, [sp]
- subs r4, 0xD
-_08042504:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0xA5
- bhi _08042578
- ldr r1, _08042524 @ =gItemEffectTable
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _08042528
- ldr r1, [sp]
- cmp r1, 0xAF
- beq _0804252E
- b _08042578
- .align 2, 0
-_08042520: .4byte gActiveBattler
-_08042524: .4byte gItemEffectTable
-_08042528:
- ldr r2, [sp]
- cmp r2, 0xAF
- bne _0804257C
-_0804252E:
- ldr r0, _08042550 @ =gMain
- ldr r1, _08042554 @ =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08042560
- ldr r0, _08042558 @ =gActiveBattler
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _0804255C @ =gEnigmaBerries+0x8
- adds r0, r1
- b _0804257C
- .align 2, 0
-_08042550: .4byte gMain
-_08042554: .4byte 0x00000439
-_08042558: .4byte gActiveBattler
-_0804255C: .4byte gEnigmaBerries+0x8
-_08042560:
- ldr r0, _0804256C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _08042570 @ =0x00003108
- adds r2, r0, r2
- str r2, [sp, 0x14]
- b _0804257E
- .align 2, 0
-_0804256C: .4byte gSaveBlock1Ptr
-_08042570: .4byte 0x00003108
-_08042574:
- movs r0, 0
- b _08042BD8
-_08042578:
- movs r0, 0x1
- b _08042BD8
-_0804257C:
- str r0, [sp, 0x14]
-_0804257E:
- movs r0, 0
- str r0, [sp, 0xC]
-_08042582:
- ldr r1, [sp, 0xC]
- cmp r1, 0x5
- bls _0804258A
- b _08042BCA
-_0804258A:
- lsls r0, r1, 2
- ldr r1, _08042594 @ =_08042598
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08042594: .4byte _08042598
- .align 2, 0
-_08042598:
- .4byte _080425B0
- .4byte _0804264C
- .4byte _080426A8
- .4byte _08042708
- .4byte _08042850
- .4byte _08042A6A
-_080425B0:
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0xC]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _080425F4
- ldr r0, _0804263C @ =gMain
- ldr r2, _08042640 @ =0x00000439
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080425F4
- ldr r0, [sp, 0x1C]
- cmp r0, 0x4
- beq _080425F4
- ldr r1, _08042644 @ =gBattleMons
- movs r0, 0x58
- ldr r2, [sp, 0x1C]
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xF0
- lsls r1, 12
- ands r0, r1
- cmp r0, 0
- beq _080425F4
- movs r0, 0
- str r0, [sp, 0x10]
-_080425F4:
- ldrb r1, [r5]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0804261C
- ldr r1, _08042644 @ =gBattleMons
- ldr r0, _08042648 @ =gActiveBattler
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 13
- ands r0, r1
- cmp r0, 0
- bne _0804261C
- movs r1, 0
- str r1, [sp, 0x10]
-_0804261C:
- ldrb r1, [r5]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _08042628
- b _08042BCA
-_08042628:
- ldr r2, _08042644 @ =gBattleMons
- ldr r0, _08042648 @ =gActiveBattler
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrb r0, [r0, 0x19]
- lsls r0, 24
- asrs r0, 24
- b _080426F2
- .align 2, 0
-_0804263C: .4byte gMain
-_08042640: .4byte 0x00000439
-_08042644: .4byte gBattleMons
-_08042648: .4byte gActiveBattler
-_0804264C:
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0xC]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _08042678
- ldr r2, _080426A0 @ =gBattleMons
- ldr r0, _080426A4 @ =gActiveBattler
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrb r0, [r0, 0x1A]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xB
- bgt _08042678
- movs r2, 0
- str r2, [sp, 0x10]
-_08042678:
- ldrb r1, [r5]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _08042684
- b _08042BCA
-_08042684:
- ldr r2, _080426A0 @ =gBattleMons
- ldr r0, _080426A4 @ =gActiveBattler
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrb r0, [r0, 0x1B]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xB
- ble _0804269C
- b _08042BCA
-_0804269C:
- b _08042832
- .align 2, 0
-_080426A0: .4byte gBattleMons
-_080426A4: .4byte gActiveBattler
-_080426A8:
- ldr r1, [sp, 0x14]
- ldr r0, [sp, 0xC]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _080426D4
- ldr r2, _08042700 @ =gBattleMons
- ldr r0, _08042704 @ =gActiveBattler
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrb r0, [r0, 0x1E]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xB
- bgt _080426D4
- movs r1, 0
- str r1, [sp, 0x10]
-_080426D4:
- ldrb r1, [r5]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _080426E0
- b _08042BCA
-_080426E0:
- ldr r2, _08042700 @ =gBattleMons
- ldr r0, _08042704 @ =gActiveBattler
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrb r0, [r0, 0x1C]
- lsls r0, 24
- asrs r0, 24
-_080426F2:
- cmp r0, 0xB
- ble _080426F8
- b _08042BCA
-_080426F8:
- movs r2, 0
- str r2, [sp, 0x10]
- b _08042BCA
- .align 2, 0
-_08042700: .4byte gBattleMons
-_08042704: .4byte gActiveBattler
-_08042708:
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0xC]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _0804273A
- ldr r4, _08042838 @ =gSideTimers
- ldr r0, _0804283C @ =gActiveBattler
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0804273A
- movs r2, 0
- str r2, [sp, 0x10]
-_0804273A:
- ldrb r1, [r5]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08042756
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- cmp r0, 0x64
- beq _08042756
- movs r0, 0
- str r0, [sp, 0x10]
-_08042756:
- ldrb r1, [r5]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08042776
- mov r0, r8
- ldr r1, [sp, 0x4]
- movs r2, 0x7
- ldr r3, [sp, 0x1C]
- bl sub_8042BE8
- lsls r0, 24
- cmp r0, 0
- beq _08042776
- movs r1, 0
- str r1, [sp, 0x10]
-_08042776:
- ldrb r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08042796
- ldr r2, _08042840 @ =0x00000f88
- mov r0, r8
- ldr r1, [sp, 0x4]
- ldr r3, [sp, 0x1C]
- bl sub_8042BE8
- lsls r0, 24
- cmp r0, 0
- beq _08042796
- movs r2, 0
- str r2, [sp, 0x10]
-_08042796:
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080427B6
- mov r0, r8
- ldr r1, [sp, 0x4]
- movs r2, 0x10
- ldr r3, [sp, 0x1C]
- bl sub_8042BE8
- lsls r0, 24
- cmp r0, 0
- beq _080427B6
- movs r0, 0
- str r0, [sp, 0x10]
-_080427B6:
- ldrb r1, [r5]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080427D6
- mov r0, r8
- ldr r1, [sp, 0x4]
- movs r2, 0x20
- ldr r3, [sp, 0x1C]
- bl sub_8042BE8
- lsls r0, 24
- cmp r0, 0
- beq _080427D6
- movs r1, 0
- str r1, [sp, 0x10]
-_080427D6:
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080427F6
- mov r0, r8
- ldr r1, [sp, 0x4]
- movs r2, 0x40
- ldr r3, [sp, 0x1C]
- bl sub_8042BE8
- lsls r0, 24
- cmp r0, 0
- beq _080427F6
- movs r2, 0
- str r2, [sp, 0x10]
-_080427F6:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08042802
- b _08042BCA
-_08042802:
- ldr r0, _08042844 @ =gMain
- ldr r1, _08042848 @ =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08042814
- b _08042BCA
-_08042814:
- ldr r2, [sp, 0x1C]
- cmp r2, 0x4
- bne _0804281C
- b _08042BCA
-_0804281C:
- ldr r1, _0804284C @ =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08042832
- b _08042BCA
-_08042832:
- movs r0, 0
- str r0, [sp, 0x10]
- b _08042BCA
- .align 2, 0
-_08042838: .4byte gSideTimers
-_0804283C: .4byte gActiveBattler
-_08042840: .4byte 0x00000f88
-_08042844: .4byte gMain
-_08042848: .4byte 0x00000439
-_0804284C: .4byte gBattleMons
-_08042850:
- ldr r1, [sp, 0x14]
- ldr r2, [sp, 0xC]
- adds r0, r1, r2
- ldrb r7, [r0]
- movs r0, 0x20
- ands r0, r7
- cmp r0, 0
- beq _080428B6
- movs r0, 0xDF
- ands r7, r0
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- ldr r0, _080428DC @ =gUnknown_825DEA1
- ldr r1, [sp, 0x8]
- adds r0, r1, r0
- ldrb r0, [r0]
- ands r5, r0
- lsls r0, r1, 1
- lsrs r5, r0
- adds r1, 0xD
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x8]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- cmp r5, 0x2
- bhi _080428B6
- cmp r0, 0x4
- bls _080428B6
- movs r2, 0
- str r2, [sp, 0x10]
-_080428B6:
- movs r0, 0
- mov r9, r0
- cmp r7, 0
- bne _080428C0
- b _08042BCA
-_080428C0:
- movs r0, 0x1
- ands r0, r7
- cmp r0, 0
- bne _080428CA
- b _08042A5C
-_080428CA:
- mov r1, r9
- cmp r1, 0x7
- bls _080428D2
- b _08042A5C
-_080428D2:
- lsls r0, r1, 2
- ldr r1, _080428E0 @ =_080428E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080428DC: .4byte gUnknown_825DEA1
-_080428E0: .4byte _080428E4
- .align 2, 0
-_080428E4:
- .4byte _08042904
- .4byte _08042904
- .4byte _08042934
- .4byte _08042996
- .4byte _08042A5C
- .4byte _08042A5C
- .4byte _08042A5C
- .4byte _08042A4A
-_08042904:
- mov r0, r8
- bl GetMonEVCount
- lsls r0, 16
- ldr r1, _0804292C @ =0x01fd0000
- cmp r0, r1
- bls _08042914
- b _08042578
-_08042914:
- ldr r0, _08042930 @ =sGetMonDataEVConstants
- add r0, r9
- ldrb r1, [r0]
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- cmp r5, 0x63
- bls _0804292A
- b _08042A5C
-_0804292A:
- b _08042A3A
- .align 2, 0
-_0804292C: .4byte 0x01fd0000
-_08042930: .4byte sGetMonDataEVConstants
-_08042934:
- movs r0, 0x10
- ands r0, r7
- cmp r0, 0
- beq _08042952
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _08042968
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- b _080429F4
-_08042952:
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _08042968
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- b _080429F4
-_08042968:
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- beq _08042986
- movs r0, 0
- str r0, [sp, 0x10]
-_08042986:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0xEF
- ands r7, r0
- b _08042A5C
-_08042996:
- movs r0, 0x2
- ands r0, r7
- cmp r0, 0
- bne _080429FA
- movs r6, 0
- movs r1, 0x1
- add r10, r1
-_080429A4:
- adds r1, r6, 0
- adds r1, 0x11
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- adds r1, r6, 0
- adds r1, 0xD
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r6, 24
- lsrs r2, 24
- adds r0, r4, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _080429EA
- movs r2, 0
- str r2, [sp, 0x10]
-_080429EA:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080429A4
- mov r1, r10
- lsls r0, r1, 24
-_080429F4:
- lsrs r0, 24
- mov r10, r0
- b _08042A5C
-_080429FA:
- ldr r1, [sp, 0x8]
- adds r1, 0x11
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- ldr r1, [sp, 0x8]
- adds r1, 0xD
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x8]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08042A5C
-_08042A3A:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r2, 0
- str r2, [sp, 0x10]
- b _08042A5C
-_08042A4A:
- mov r0, r8
- movs r1, 0x2
- ldr r2, [sp]
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- cmp r0, 0
- beq _08042A5C
- b _08042574
-_08042A5C:
- movs r0, 0x1
- add r9, r0
- lsrs r7, 1
- cmp r7, 0
- beq _08042A68
- b _080428C0
-_08042A68:
- b _08042BCA
-_08042A6A:
- ldr r1, [sp, 0x14]
- ldr r2, [sp, 0xC]
- adds r0, r1, r2
- ldrb r7, [r0]
- movs r0, 0
- mov r9, r0
- cmp r7, 0
- bne _08042A7C
- b _08042BCA
-_08042A7C:
- movs r0, 0x1
- ands r0, r7
- cmp r0, 0
- bne _08042A86
- b _08042BBE
-_08042A86:
- mov r1, r9
- cmp r1, 0x7
- bls _08042A8E
- b _08042BBE
-_08042A8E:
- lsls r0, r1, 2
- ldr r1, _08042A98 @ =_08042A9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08042A98: .4byte _08042A9C
- .align 2, 0
-_08042A9C:
- .4byte _08042ABC
- .4byte _08042ABC
- .4byte _08042ABC
- .4byte _08042ABC
- .4byte _08042AF4
- .4byte _08042B4C
- .4byte _08042B68
- .4byte _08042B92
-_08042ABC:
- mov r0, r8
- bl GetMonEVCount
- lsls r0, 16
- ldr r1, _08042AEC @ =0x01fd0000
- cmp r0, r1
- bls _08042ACC
- b _08042578
-_08042ACC:
- ldr r0, _08042AF0 @ =sGetMonDataEVConstants
- mov r1, r9
- adds r1, 0x2
- adds r1, r0
- ldrb r1, [r1]
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- cmp r5, 0x63
- bhi _08042BBE
- movs r2, 0
- str r2, [sp, 0x10]
- b _08042BB4
- .align 2, 0
-_08042AEC: .4byte 0x01fd0000
-_08042AF0: .4byte sGetMonDataEVConstants
-_08042AF4:
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- ldr r0, _08042B48 @ =gUnknown_825DEA1
- ldr r1, [sp, 0x8]
- adds r0, r1, r0
- ldrb r0, [r0]
- ands r5, r0
- lsls r0, r1, 1
- lsrs r5, r0
- adds r1, 0xD
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x8]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r5, 0x2
- bhi _08042BBE
- cmp r6, 0x4
- ble _08042BBE
- movs r2, 0
- str r2, [sp, 0x10]
- b _08042BBE
- .align 2, 0
-_08042B48: .4byte gUnknown_825DEA1
-_08042B4C:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0x63
- bhi _08042BB4
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _08042BB4
- ldr r1, [sp, 0x18]
- cmp r1, 0
- bne _08042BB4
- b _08042BAC
-_08042B68:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0x63
- bls _08042BB4
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0xC7
- bhi _08042BB4
- ldr r2, [sp, 0x10]
- cmp r2, 0
- bne _08042BB4
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _08042BB4
- b _08042BAC
-_08042B92:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0xC7
- bls _08042BB4
- ldr r1, [sp, 0x10]
- cmp r1, 0
- bne _08042BB4
- ldr r2, [sp, 0x18]
- cmp r2, 0
- bne _08042BB4
-_08042BAC:
- ldr r0, [sp, 0x14]
- add r0, r10
- ldrb r0, [r0]
- str r0, [sp, 0x18]
-_08042BB4:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_08042BBE:
- movs r0, 0x1
- add r9, r0
- lsrs r7, 1
- cmp r7, 0
- beq _08042BCA
- b _08042A7C
-_08042BCA:
- ldr r1, [sp, 0xC]
- adds r1, 0x1
- str r1, [sp, 0xC]
- cmp r1, 0x5
- bgt _08042BD6
- b _08042582
-_08042BD6:
- ldr r0, [sp, 0x10]
-_08042BD8:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end PokemonUseItemEffects2
-
thumb_func_start sub_8042BE8
sub_8042BE8: @ 8042BE8
push {r4,lr}