diff options
Diffstat (limited to 'asm/pokemon_3.s')
-rw-r--r-- | asm/pokemon_3.s | 4503 |
1 files changed, 19 insertions, 4484 deletions
diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index b8fc0356d..42ab9387b 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -5,4471 +5,6 @@ .text - thumb_func_start sub_80423A4 -sub_80423A4: @ 80423A4 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r4, r2, 0 - lsls r3, 24 - lsrs r6, r3, 24 - movs r1, 0x37 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - ands r0, r4 - cmp r0, 0 - beq _08042408 - mvns r4, r4 - ands r1, r4 - str r1, [sp] - adds r0, r5, 0 - movs r1, 0x37 - mov r2, sp - bl sub_804037C - ldr r0, _080423FC @ =gMain - ldr r1, _08042400 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080423F6 - cmp r6, 0x4 - beq _080423F6 - ldr r0, _08042404 @ =gBattleMons - movs r1, 0x58 - muls r1, r6 - adds r0, 0x4C - adds r1, r0 - ldr r0, [r1] - ands r0, r4 - str r0, [r1] -_080423F6: - movs r0, 0 - b _0804240A - .align 2, 0 -_080423FC: .4byte gMain -_08042400: .4byte 0x00000439 -_08042404: .4byte gBattleMons -_08042408: - movs r0, 0x1 -_0804240A: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80423A4 - - thumb_func_start sub_8042414 -sub_8042414: @ 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 @ =gUnknown_2023D6F - ldr r0, _080424B4 @ =gUnknown_2024004 - 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 GetBankSide - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - str r1, [sp, 0xC] - ldr r0, _080424C4 @ =gUnknown_2023BCC - 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 gUnknown_2023D6F -_080424B4: .4byte gUnknown_2024004 -_080424B8: .4byte gMain -_080424BC: .4byte 0x00000439 -_080424C0: .4byte gActiveBattler -_080424C4: .4byte gUnknown_2023BCC -_080424C8: .4byte gBattlerPartyIndexes -_080424CC: - ldr r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0xC] - ldr r0, _080424F4 @ =gUnknown_2023BCC - 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 gUnknown_2023BCC -_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 @ =gUnknown_82528BC - 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 gUnknown_82528BC -_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 @ =gUnknown_2023F5C - adds r0, r1 - b _0804257C - .align 2, 0 -_08042550: .4byte gMain -_08042554: .4byte 0x00000439 -_08042558: .4byte gActiveBattler -_0804255C: .4byte gUnknown_2023F5C -_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 @ =gUnknown_2023DE4 - ldr r0, _0804283C @ =gActiveBattler - ldrb r0, [r0] - bl GetBankSide - 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 gUnknown_2023DE4 -_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 @ =gUnknown_825DFEA - 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 gUnknown_825DFEA -_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 sub_8042EC4 - 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 @ =gUnknown_825DFEA - 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 gUnknown_825DFEA -_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 sub_8042414 - - thumb_func_start sub_8042BE8 -sub_8042BE8: @ 8042BE8 - push {r4,lr} - adds r4, r2, 0 - movs r1, 0x37 - movs r2, 0 - bl GetMonData - ands r0, r4 - cmp r0, 0 - bne _08042BFE - movs r0, 0 - b _08042C00 -_08042BFE: - movs r0, 0x1 -_08042C00: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8042BE8 - - thumb_func_start GetItemEffectParamOffset -GetItemEffectParamOffset: @ 8042C08 - push {r4-r7,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r7, 0x6 - ldr r1, _08042C30 @ =gUnknown_82528BC - adds r0, r3, 0 - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _08042C34 - cmp r3, 0xAF - beq _08042C38 -_08042C2C: - movs r0, 0 - b _08042D48 - .align 2, 0 -_08042C30: .4byte gUnknown_82528BC -_08042C34: - cmp r3, 0xAF - bne _08042C46 -_08042C38: - ldr r0, _08042C58 @ =gActiveBattler - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _08042C5C @ =gUnknown_2023F5C - adds r0, r1 -_08042C46: - mov r12, r0 - movs r2, 0 -_08042C4A: - cmp r2, 0x4 - beq _08042C6A - cmp r2, 0x4 - ble _08042C60 - cmp r2, 0x5 - beq _08042CF4 - b _08042D3E - .align 2, 0 -_08042C58: .4byte gActiveBattler -_08042C5C: .4byte gUnknown_2023F5C -_08042C60: - cmp r2, 0 - blt _08042D3E - cmp r2, r4 - bne _08042D3E - b _08042C2C -_08042C6A: - mov r0, r12 - ldrb r3, [r0, 0x4] - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _08042C7A - movs r0, 0xDF - ands r3, r0 -_08042C7A: - movs r6, 0 - cmp r3, 0 - beq _08042D3E -_08042C80: - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08042CE0 - cmp r6, 0x7 - bhi _08042CE0 - lsls r0, r6, 2 - ldr r1, _08042C98 @ =_08042C9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08042C98: .4byte _08042C9C - .align 2, 0 -_08042C9C: - .4byte _08042CC8 - .4byte _08042CC8 - .4byte _08042CBC - .4byte _08042CC8 - .4byte _08042CE0 - .4byte _08042CE0 - .4byte _08042CE0 - .4byte _08042CDC -_08042CBC: - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _08042CC8 - movs r0, 0xEF - ands r3, r0 -_08042CC8: - cmp r2, r4 - bne _08042CD4 - adds r0, r3, 0 - ands r0, r5 - cmp r0, 0 - bne _08042D46 -_08042CD4: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - b _08042CE0 -_08042CDC: - cmp r2, r4 - beq _08042C2C -_08042CE0: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - lsrs r3, 1 - cmp r2, r4 - bne _08042CEE - lsrs r5, 1 -_08042CEE: - cmp r3, 0 - bne _08042C80 - b _08042D3E -_08042CF4: - mov r0, r12 - ldrb r3, [r0, 0x5] - movs r6, 0 -_08042CFA: - cmp r3, 0 - beq _08042D3E - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08042D2E - cmp r6, 0 - blt _08042D2E - cmp r6, 0x6 - ble _08042D14 - cmp r6, 0x7 - beq _08042D28 - b _08042D2E -_08042D14: - cmp r2, r4 - bne _08042D20 - adds r0, r3, 0 - ands r0, r5 - cmp r0, 0 - bne _08042D46 -_08042D20: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - b _08042D2E -_08042D28: - cmp r2, r4 - bne _08042D2E - b _08042C2C -_08042D2E: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - lsrs r3, 1 - cmp r2, r4 - bne _08042CFA - lsrs r5, 1 - b _08042CFA -_08042D3E: - adds r2, 0x1 - cmp r2, 0x5 - bgt _08042D46 - b _08042C4A -_08042D46: - adds r0, r7, 0 -_08042D48: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetItemEffectParamOffset - - thumb_func_start sub_8042D50 -sub_8042D50: @ 8042D50 - push {lr} - ldr r2, _08042D84 @ =gBattlerTarget - ldr r1, _08042D88 @ =gUnknown_2024004 - ldrb r1, [r1] - strb r1, [r2] - ldr r3, _08042D8C @ =gUnknown_2022AB8 - ldr r2, _08042D90 @ =gUnknown_83FD5D0 - ldr r1, _08042D94 @ =gUnknown_825DFF0 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - adds r0, r3, 0 - bl StringCopy - ldr r0, _08042D98 @ =gUnknown_2022AC8 - ldr r1, _08042D9C @ =gUnknown_83FCB4A - bl StringCopy - ldr r0, _08042DA0 @ =gUnknown_83FCB6A - bl BattleStringExpandPlaceholdersToDisplayedString - pop {r0} - bx r0 - .align 2, 0 -_08042D84: .4byte gBattlerTarget -_08042D88: .4byte gUnknown_2024004 -_08042D8C: .4byte gUnknown_2022AB8 -_08042D90: .4byte gUnknown_83FD5D0 -_08042D94: .4byte gUnknown_825DFF0 -_08042D98: .4byte gUnknown_2022AC8 -_08042D9C: .4byte gUnknown_83FCB4A -_08042DA0: .4byte gUnknown_83FCB6A - thumb_func_end sub_8042D50 - - thumb_func_start sub_8042DA4 -sub_8042DA4: @ 8042DA4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08042DF8 - ldr r0, _08042DD4 @ =gMain - ldr r1, _08042DD8 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08042DE4 - ldr r2, _08042DDC @ =gUnknown_2024004 - ldrb r1, [r2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _08042DE0 @ =gUnknown_2023F5C - adds r7, r0, r1 - b _08042E04 - .align 2, 0 -_08042DD4: .4byte gMain -_08042DD8: .4byte 0x00000439 -_08042DDC: .4byte gUnknown_2024004 -_08042DE0: .4byte gUnknown_2023F5C -_08042DE4: - ldr r0, _08042DF0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08042DF4 @ =0x00003108 - adds r7, r0, r1 - b _08042E02 - .align 2, 0 -_08042DF0: .4byte gSaveBlock1Ptr -_08042DF4: .4byte 0x00003108 -_08042DF8: - ldr r1, _08042E3C @ =gUnknown_82528BC - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r7, [r0] -_08042E02: - ldr r2, _08042E40 @ =gUnknown_2024004 -_08042E04: - ldr r1, _08042E44 @ =gUnknown_2023D6F - ldrb r0, [r2] - strb r0, [r1] - movs r5, 0 - ldr r0, _08042E48 @ =sBattler_AI - mov r8, r0 - movs r6, 0 -_08042E12: - adds r4, r7, r5 - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _08042E24 - adds r0, r6, 0 - bl sub_8042D50 -_08042E24: - ldrb r1, [r4] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _08042E5A - cmp r5, 0 - beq _08042E4C - adds r0, r6, 0x1 - bl sub_8042D50 - b _08042E5A - .align 2, 0 -_08042E3C: .4byte gUnknown_82528BC -_08042E40: .4byte gUnknown_2024004 -_08042E44: .4byte gUnknown_2023D6F -_08042E48: .4byte sBattler_AI -_08042E4C: - ldr r0, _08042E88 @ =gUnknown_2024004 - ldrb r0, [r0] - mov r1, r8 - strb r0, [r1] - ldr r0, _08042E8C @ =gUnknown_83FBBE9 - bl BattleStringExpandPlaceholdersToDisplayedString -_08042E5A: - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x2 - ble _08042E12 - ldrb r1, [r7, 0x3] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08042E7A - ldr r1, _08042E90 @ =sBattler_AI - ldr r0, _08042E88 @ =gUnknown_2024004 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _08042E94 @ =gUnknown_83FBBB4 - bl BattleStringExpandPlaceholdersToDisplayedString -_08042E7A: - ldr r0, _08042E98 @ =gUnknown_202298C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08042E88: .4byte gUnknown_2024004 -_08042E8C: .4byte gUnknown_83FBBE9 -_08042E90: .4byte sBattler_AI -_08042E94: .4byte gUnknown_83FBBB4 -_08042E98: .4byte gUnknown_202298C - thumb_func_end sub_8042DA4 - - thumb_func_start GetNature -GetNature: @ 8042E9C - push {lr} - movs r1, 0 - movs r2, 0 - bl GetMonData - movs r1, 0x19 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetNature - - thumb_func_start GetNatureFromPersonality -GetNatureFromPersonality: @ 8042EB4 - push {lr} - movs r1, 0x19 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetNatureFromPersonality - - thumb_func_start sub_8042EC4 -sub_8042EC4: @ 8042EC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r8, r0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - movs r0, 0 - mov r10, r0 - mov r0, r8 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - mov r0, r8 - movs r1, 0xC - movs r2, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - mov r0, r8 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x17 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - lsrs r4, 16 - str r4, [sp, 0x10] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0xAF - bne _08042F38 - ldr r0, _08042F30 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08042F34 @ =0x0000311a - adds r0, r1 - ldrb r0, [r0] - b _08042F40 - .align 2, 0 -_08042F30: .4byte gSaveBlock1Ptr -_08042F34: .4byte 0x0000311a -_08042F38: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_08042F40: - cmp r0, 0x26 - bne _08042F4C - cmp r5, 0x3 - beq _08042F4C - movs r0, 0 - b _080431A4 -_08042F4C: - cmp r5, 0x1 - bne _08042F52 - b _0804311E -_08042F52: - cmp r5, 0x1 - bgt _08042F5C - cmp r5, 0 - beq _08042F70 - b _080431A2 -_08042F5C: - cmp r5, 0x3 - ble _08042F62 - b _080431A2 -_08042F62: - movs r2, 0 - str r2, [sp, 0x4] - ldr r3, _08042F6C @ =gUnknown_8259754 - lsls r6, r7, 2 - b _08043182 - .align 2, 0 -_08042F6C: .4byte gUnknown_8259754 -_08042F70: - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0x4] - lsls r6, r7, 2 -_08042F96: - ldr r1, _08042FBC @ =gUnknown_8259754 - ldr r0, [sp, 0x4] - lsls r2, r0, 3 - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r0, r1 - ldrh r0, [r0] - subs r0, 0x1 - adds r3, r1, 0 - cmp r0, 0xE - bls _08042FB0 - b _08043110 -_08042FB0: - lsls r0, 2 - ldr r1, _08042FC0 @ =_08042FC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08042FBC: .4byte gUnknown_8259754 -_08042FC0: .4byte _08042FC4 - .align 2, 0 -_08042FC4: - .4byte _08043000 - .4byte _08043110 - .4byte _08043110 - .4byte _08043016 - .4byte _08043110 - .4byte _08043110 - .4byte _08043110 - .4byte _08043026 - .4byte _08043050 - .4byte _0804307A - .4byte _080430A8 - .4byte _080430C8 - .4byte _080430EC - .4byte _08043110 - .4byte _080430FC -_08043000: - ldr r1, [sp, 0x8] - cmp r1, 0xDB - bhi _08043008 - b _08043110 -_08043008: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r0, r3 - ldrh r0, [r0, 0x4] - mov r10, r0 - b _08043110 -_08043016: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - cmp r0, r9 - bhi _08043110 - b _0804310C -_08043026: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _08043110 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bls _08043110 - b _080430A2 -_08043050: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _08043110 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bne _08043110 - b _080430A2 -_0804307A: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _08043110 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bcs _08043110 -_080430A2: - ldrh r5, [r5, 0x4] - mov r10, r5 - b _08043110 -_080430A8: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r4, r0, r3 - ldrh r0, [r4, 0x2] - cmp r0, r9 - bhi _08043110 - ldr r0, [sp, 0x10] - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _08043110 - b _080430E6 -_080430C8: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r4, r0, r3 - ldrh r0, [r4, 0x2] - cmp r0, r9 - bhi _08043110 - ldr r0, [sp, 0x10] - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _08043110 -_080430E6: - ldrh r4, [r4, 0x4] - mov r10, r4 - b _08043110 -_080430EC: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - cmp r0, r9 - bhi _08043110 - b _0804310C -_080430FC: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - ldr r2, [sp, 0xC] - cmp r0, r2 - bhi _08043110 -_0804310C: - ldrh r1, [r1, 0x4] - mov r10, r1 -_08043110: - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] - cmp r0, 0x4 - bgt _0804311C - b _08042F96 -_0804311C: - b _080431A2 -_0804311E: - movs r1, 0 - str r1, [sp, 0x4] - lsls r6, r7, 2 - ldr r1, _08043138 @ =gUnknown_8259754 - adds r0, r6, r7 - lsls r0, 3 - adds r4, r0, r1 -_0804312C: - ldrh r0, [r4] - cmp r0, 0x5 - beq _0804313C - cmp r0, 0x6 - beq _08043142 - b _0804316E - .align 2, 0 -_08043138: .4byte gUnknown_8259754 -_0804313C: - ldrh r2, [r4, 0x4] - mov r10, r2 - b _0804316E -_08043142: - ldrh r1, [r4, 0x2] - mov r0, sp - ldrh r0, [r0] - cmp r1, r0 - bne _0804316E - ldrh r0, [r4, 0x4] - mov r10, r0 - bl sub_806E25C - cmp r0, 0 - bne _0804315E - mov r1, r10 - cmp r1, 0x97 - bhi _0804316E -_0804315E: - movs r1, 0 - mov r0, sp - strh r1, [r0] - mov r0, r8 - movs r1, 0xC - mov r2, sp - bl sub_804037C -_0804316E: - adds r4, 0x8 - ldr r2, [sp, 0x4] - adds r2, 0x1 - str r2, [sp, 0x4] - cmp r2, 0x4 - ble _0804312C - b _080431A2 -_0804317C: - ldrh r1, [r1, 0x4] - mov r10, r1 - b _080431A2 -_08043182: - adds r0, r6, r7 - ldr r1, [sp, 0x4] - adds r0, r1 - lsls r0, 3 - adds r1, r0, r3 - ldrh r0, [r1] - cmp r0, 0x7 - bne _08043198 - ldrh r0, [r1, 0x2] - cmp r0, r9 - beq _0804317C -_08043198: - ldr r2, [sp, 0x4] - adds r2, 0x1 - str r2, [sp, 0x4] - cmp r2, 0x4 - ble _08043182 -_080431A2: - mov r0, r10 -_080431A4: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8042EC4 - - thumb_func_start sub_80431B4 -sub_80431B4: @ 80431B4 - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _080431F8 - movs r1, 0 - ldr r3, _080431F0 @ =gUnknown_8251CB8 - ldrh r0, [r3] - cmp r0, r2 - beq _080431E0 - movs r4, 0xCD - lsls r4, 1 -_080431CC: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _080431E0 - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _080431CC -_080431E0: - ldr r0, _080431F4 @ =0x0000019b - cmp r1, r0 - beq _080431F8 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _080431FA - .align 2, 0 -_080431F0: .4byte gUnknown_8251CB8 -_080431F4: .4byte 0x0000019b -_080431F8: - movs r0, 0 -_080431FA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80431B4 - - thumb_func_start NationalPokedexNumToSpecies -NationalPokedexNumToSpecies: @ 8043200 - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08043244 - movs r1, 0 - ldr r3, _0804323C @ =gUnknown_8251FEE - ldrh r0, [r3] - cmp r0, r2 - beq _0804322C - movs r4, 0xCD - lsls r4, 1 -_08043218: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _0804322C - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _08043218 -_0804322C: - ldr r0, _08043240 @ =0x0000019b - cmp r1, r0 - beq _08043244 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _08043246 - .align 2, 0 -_0804323C: .4byte gUnknown_8251FEE -_08043240: .4byte 0x0000019b -_08043244: - movs r0, 0 -_08043246: - pop {r4} - pop {r1} - bx r1 - thumb_func_end NationalPokedexNumToSpecies - - thumb_func_start sub_804324C -sub_804324C: @ 804324C - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08043290 - movs r1, 0 - ldr r3, _08043288 @ =gUnknown_8252324 - ldrh r0, [r3] - cmp r0, r2 - beq _08043278 - movs r4, 0xCD - lsls r4, 1 -_08043264: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _08043278 - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _08043264 -_08043278: - ldr r0, _0804328C @ =0x0000019b - cmp r1, r0 - beq _08043290 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _08043292 - .align 2, 0 -_08043288: .4byte gUnknown_8252324 -_0804328C: .4byte 0x0000019b -_08043290: - movs r0, 0 -_08043292: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_804324C - - thumb_func_start SpeciesToNationalPokedexNum -SpeciesToNationalPokedexNum: @ 8043298 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080432B4 - ldr r0, _080432B0 @ =gUnknown_8251FEE - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _080432B6 - .align 2, 0 -_080432B0: .4byte gUnknown_8251FEE -_080432B4: - movs r0, 0 -_080432B6: - pop {r1} - bx r1 - thumb_func_end SpeciesToNationalPokedexNum - - thumb_func_start SpeciesToHoennPokedexNum -SpeciesToHoennPokedexNum: @ 80432BC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080432D8 - ldr r0, _080432D4 @ =gUnknown_8251CB8 - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _080432DA - .align 2, 0 -_080432D4: .4byte gUnknown_8251CB8 -_080432D8: - movs r0, 0 -_080432DA: - pop {r1} - bx r1 - thumb_func_end SpeciesToHoennPokedexNum - - thumb_func_start HoennToNationalOrder -HoennToNationalOrder: @ 80432E0 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080432FC - ldr r0, _080432F8 @ =gUnknown_8252324 - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _080432FE - .align 2, 0 -_080432F8: .4byte gUnknown_8252324 -_080432FC: - movs r0, 0 -_080432FE: - pop {r1} - bx r1 - thumb_func_end HoennToNationalOrder - - thumb_func_start SpeciesToCryId -SpeciesToCryId: @ 8043304 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0xFA - bls _08043332 - ldr r0, _08043324 @ =0x00000113 - cmp r1, r0 - bls _08043330 - ldr r0, _08043328 @ =gUnknown_82539D4 - ldr r2, _0804332C @ =0xfffffeec - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _08043332 - .align 2, 0 -_08043324: .4byte 0x00000113 -_08043328: .4byte gUnknown_82539D4 -_0804332C: .4byte 0xfffffeec -_08043330: - movs r0, 0xC8 -_08043332: - pop {r1} - bx r1 - thumb_func_end SpeciesToCryId - - thumb_func_start sub_8043338 -sub_8043338: @ 8043338 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r6, r1, 0 - mov r10, r2 - lsls r0, 16 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _08043446 - ldr r0, _08043408 @ =gUnknown_202401C - ldr r1, [r0] - ldr r0, [r1, 0x4] - cmp r10, r0 - beq _08043446 - ldr r0, [r1, 0xC] - cmp r10, r0 - beq _08043446 - movs r5, 0 -_08043364: - lsls r3, r5, 3 - adds r3, r5 - lsls r3, 2 - ldr r0, _0804340C @ =gUnknown_825265C - adds r4, r3, r0 - ldrb r1, [r4] - adds r1, 0xF8 - movs r2, 0xF - adds r0, r6, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - ldrb r1, [r4, 0x1] - adds r1, 0xF8 - movs r0, 0xF0 - ands r0, r6 - lsrs r0, 4 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - lsrs r6, 8 - str r6, [sp, 0x4] - adds r5, 0x1 - str r5, [sp] - mov r9, r3 -_0804339C: - lsls r0, r2, 1 - add r0, r9 - ldr r3, _08043410 @ =gUnknown_825265E - adds r0, r3 - ldrh r3, [r0] - mov r4, r12 - adds r0, r4, 0 - adds r0, 0x10 - adds r7, r1, 0x1 - adds r2, 0x1 - mov r8, r2 - cmp r4, r0 - bge _08043434 - lsrs r0, r1, 3 - lsls r6, r0, 8 - movs r0, 0x7 - ands r1, r0 - lsls r5, r1, 2 -_080433C0: - adds r0, r4, 0 - cmp r4, 0 - bge _080433C8 - adds r0, r4, 0x7 -_080433C8: - asrs r0, 3 - lsls r2, r0, 5 - add r2, r10 - lsls r0, 3 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - adds r2, r6 - adds r2, r5 - movs r1, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08043428 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08043414 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - bhi _08043428 - adds r0, r1, 0 - adds r0, 0x40 - b _08043426 - .align 2, 0 -_08043408: .4byte gUnknown_202401C -_0804340C: .4byte gUnknown_825265C -_08043410: .4byte gUnknown_825265E -_08043414: - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _08043428 - adds r0, r1, 0x4 -_08043426: - strb r0, [r2] -_08043428: - asrs r3, 1 - adds r4, 0x1 - mov r0, r12 - adds r0, 0x10 - cmp r4, r0 - blt _080433C0 -_08043434: - lsls r0, r7, 24 - lsrs r1, r0, 24 - mov r2, r8 - cmp r2, 0xF - ble _0804339C - ldr r6, [sp, 0x4] - ldr r5, [sp] - cmp r5, 0x3 - ble _08043364 -_08043446: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8043338 - - thumb_func_start DrawSpindaSpots -DrawSpindaSpots: @ 8043458 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r1, 0 - str r2, [sp] - lsls r0, 16 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _0804355A - cmp r3, 0 - beq _0804355A - movs r6, 0 -_0804347C: - lsls r3, r6, 3 - adds r3, r6 - lsls r3, 2 - ldr r0, _08043520 @ =gUnknown_825265C - adds r4, r3, r0 - ldrb r1, [r4] - adds r1, 0xF8 - movs r2, 0xF - adds r0, r5, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - ldrb r1, [r4, 0x1] - adds r1, 0xF8 - movs r0, 0xF0 - ands r0, r5 - lsrs r0, 4 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - lsrs r5, 8 - str r5, [sp, 0x4] - adds r6, 0x1 - mov r10, r6 - mov r9, r3 -_080434B4: - lsls r0, r2, 1 - add r0, r9 - ldr r3, _08043524 @ =gUnknown_825265E - adds r0, r3 - ldrh r3, [r0] - mov r4, r12 - adds r0, r4, 0 - adds r0, 0x10 - adds r7, r1, 0x1 - adds r2, 0x1 - mov r8, r2 - cmp r4, r0 - bge _08043548 - lsrs r0, r1, 3 - lsls r6, r0, 8 - movs r0, 0x7 - ands r1, r0 - lsls r5, r1, 2 -_080434D8: - adds r0, r4, 0 - cmp r4, 0 - bge _080434E0 - adds r0, r4, 0x7 -_080434E0: - asrs r0, 3 - lsls r2, r0, 5 - ldr r1, [sp] - adds r2, r1, r2 - lsls r0, 3 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - adds r2, r6 - adds r2, r5 - movs r1, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0804353C - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08043528 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - bhi _0804353C - adds r0, r1, 0 - adds r0, 0x40 - b _0804353A - .align 2, 0 -_08043520: .4byte gUnknown_825265C -_08043524: .4byte gUnknown_825265E -_08043528: - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _0804353C - adds r0, r1, 0x4 -_0804353A: - strb r0, [r2] -_0804353C: - asrs r3, 1 - adds r4, 0x1 - mov r0, r12 - adds r0, 0x10 - cmp r4, r0 - blt _080434D8 -_08043548: - lsls r0, r7, 24 - lsrs r1, r0, 24 - mov r2, r8 - cmp r2, 0xF - ble _080434B4 - ldr r5, [sp, 0x4] - mov r6, r10 - cmp r6, 0x3 - ble _0804347C -_0804355A: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end DrawSpindaSpots - - thumb_func_start EvolutionRenameMon -EvolutionRenameMon: @ 804356C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r0, _080435D8 @ =gStringVar1 - mov r9, r0 - adds r0, r5, 0 - movs r1, 0x2 - mov r2, r9 - bl GetMonData - mov r4, sp - adds r0, r5, 0 - movs r1, 0x3 - mov r2, sp - bl GetMonData - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080435C8 - movs r6, 0xB - adds r0, r7, 0 - muls r0, r6 - ldr r4, _080435DC @ =gUnknown_8245EE0 - adds r0, r4 - mov r1, r9 - bl StringCompare - cmp r0, 0 - bne _080435C8 - mov r2, r8 - muls r2, r6 - adds r2, r4 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_804037C -_080435C8: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080435D8: .4byte gStringVar1 -_080435DC: .4byte gUnknown_8245EE0 - thumb_func_end EvolutionRenameMon - - thumb_func_start sub_80435E0 -sub_80435E0: @ 80435E0 - push {r4,r5,lr} - movs r5, 0 - ldr r4, _08043608 @ =gUnknown_202273C - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x18] - cmp r0, 0x2 - bgt _0804360C - cmp r0, 0x1 - bge _08043614 - cmp r0, 0 - beq _08043610 - b _08043616 - .align 2, 0 -_08043608: .4byte gUnknown_202273C -_0804360C: - cmp r0, 0x3 - bne _08043616 -_08043610: - movs r5, 0 - b _08043616 -_08043614: - movs r5, 0x1 -_08043616: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80435E0 - - thumb_func_start sub_8043620 -sub_8043620: @ 8043620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r2, _08043644 @ =gUnknown_202273C - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x18] - cmp r0, 0x2 - bgt _08043648 - cmp r0, 0x1 - bge _08043650 - cmp r0, 0 - beq _0804364C - b _08043652 - .align 2, 0 -_08043644: .4byte gUnknown_202273C -_08043648: - cmp r0, 0x3 - bne _08043652 -_0804364C: - movs r3, 0 - b _08043652 -_08043650: - movs r3, 0x1 -_08043652: - adds r0, r3, 0 - pop {r1} - bx r1 - thumb_func_end sub_8043620 - - thumb_func_start GetBankMultiplayerId -GetBankMultiplayerId: @ 8043658 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, _08043664 @ =gUnknown_202273C - b _08043670 - .align 2, 0 -_08043664: .4byte gUnknown_202273C -_08043668: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - bgt _08043676 -_08043670: - ldrh r0, [r1, 0x18] - cmp r0, r3 - bne _08043668 -_08043676: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end GetBankMultiplayerId - - thumb_func_start sub_804367C -sub_804367C: @ 804367C - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08043694 @ =gTrainers - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0x2] - movs r0, 0x7F - ands r0, r1 - bx lr - .align 2, 0 -_08043694: .4byte gTrainers - thumb_func_end sub_804367C - - thumb_func_start nature_stat_mod -nature_stat_mod: @ 8043698 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0xFF - lsls r0, 24 - adds r2, r0 - lsrs r2, 24 - cmp r2, 0x4 - bls _080436B6 - adds r0, r3, 0 - b _080436F2 -_080436B6: - ldr r0, _080436D8 @ =gUnknown_8252B48 - lsls r1, r4, 2 - adds r1, r4 - subs r1, 0x1 - adds r1, r5, r1 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080436DC - cmp r1, 0x1 - bne _080436F0 - movs r0, 0x6E - b _080436DE - .align 2, 0 -_080436D8: .4byte gUnknown_8252B48 -_080436DC: - movs r0, 0x5A -_080436DE: - muls r0, r3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - b _080436F2 -_080436F0: - adds r0, r3, 0 -_080436F2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end nature_stat_mod - - thumb_func_start sub_80436F8 -sub_80436F8: @ 80436F8 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r7, 0 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08043758 - ldr r0, _08043738 @ =gMain - ldr r1, _0804373C @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08043744 - ldr r0, _08043740 @ =gUnknown_2023F54 - ldrb r4, [r0, 0x7] - b _08043760 - .align 2, 0 -_08043738: .4byte gMain -_0804373C: .4byte 0x00000439 -_08043740: .4byte gUnknown_2023F54 -_08043744: - ldr r0, _08043750 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08043754 @ =0x0000311a - adds r0, r1 - ldrb r4, [r0] - b _08043760 - .align 2, 0 -_08043750: .4byte gSaveBlock1Ptr -_08043754: .4byte 0x0000311a -_08043758: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_08043760: - cmp r6, 0 - bne _08043766 - b _08043876 -_08043766: - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - bne _08043770 - b _08043876 -_08043770: - movs r6, 0 - adds r0, r7, 0 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x63 - ble _0804378E - movs r6, 0x1 -_0804378E: - cmp r0, 0xC7 - ble _08043798 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08043798: - cmp r5, 0x5 - bne _080437A8 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _08043876 -_080437A8: - cmp r5, 0x3 - bne _080437D4 - ldr r0, _08043880 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08043876 - ldr r2, _08043884 @ =gTrainers - ldr r0, _08043888 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x54 - beq _080437D4 - cmp r0, 0x57 - beq _080437D4 - cmp r0, 0x5A - bne _08043876 -_080437D4: - ldr r1, _0804388C @ =gUnknown_825DFF6 - lsls r0, r5, 1 - adds r0, r5 - adds r0, r6, r0 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0 - ldrsb r1, [r0, r1] - cmp r1, 0 - ble _080437FA - cmp r4, 0x1B - bne _080437FA - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 24 - lsrs r2, r0, 24 -_080437FA: - lsls r2, 24 - asrs r2, 24 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, r2 - mov r1, sp - strh r0, [r1] - cmp r2, 0 - ble _0804384C - adds r0, r7, 0 - movs r1, 0x26 - movs r2, 0 - bl GetMonData - cmp r0, 0xB - bne _08043828 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x1 - mov r1, sp - strh r0, [r1] -_08043828: - adds r0, r7, 0 - movs r1, 0x23 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - bl sav1_map_get_name - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0804384C - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x1 - mov r1, sp - strh r0, [r1] -_0804384C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0804385C - movs r1, 0 - mov r0, sp - strh r1, [r0] -_0804385C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - ble _0804386C - movs r1, 0xFF - mov r0, sp - strh r1, [r0] -_0804386C: - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl sub_804037C -_08043876: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08043880: .4byte gBattleTypeFlags -_08043884: .4byte gTrainers -_08043888: .4byte gTrainerBattleOpponent_A -_0804388C: .4byte gUnknown_825DFF6 - thumb_func_end sub_80436F8 - - thumb_func_start MonGainEVs -MonGainEVs: @ 8043890 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - movs r7, 0 - movs r6, 0 -_080438A4: - adds r1, r6, 0 - adds r1, 0x1A - mov r0, r8 - movs r2, 0 - bl GetMonData - mov r2, sp - adds r1, r2, r6 - strb r0, [r1] - ldrb r0, [r1] - adds r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - adds r6, 0x1 - cmp r6, 0x5 - ble _080438A4 - movs r6, 0 - b _08043A26 -_080438C8: - mov r0, r8 - movs r1, 0 - bl CheckPartyHasHadPokerus - lsls r0, 24 - movs r2, 0x1 - cmp r0, 0 - beq _080438DA - movs r2, 0x2 -_080438DA: - cmp r6, 0x5 - bhi _0804397C - lsls r0, r6, 2 - ldr r1, _080438E8 @ =_080438EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080438E8: .4byte _080438EC - .align 2, 0 -_080438EC: - .4byte _08043904 - .4byte _08043918 - .4byte _0804392C - .4byte _08043940 - .4byte _08043954 - .4byte _08043968 -_08043904: - ldr r0, _08043914 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 30 - b _08043976 - .align 2, 0 -_08043914: .4byte gBaseStats -_08043918: - ldr r0, _08043928 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - b _08043974 - .align 2, 0 -_08043928: .4byte gBaseStats -_0804392C: - ldr r0, _0804393C @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 26 - b _08043976 - .align 2, 0 -_0804393C: .4byte gBaseStats -_08043940: - ldr r0, _08043950 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsrs r0, 6 - b _08043978 - .align 2, 0 -_08043950: .4byte gBaseStats -_08043954: - ldr r0, _08043964 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xB] - lsls r0, 30 - b _08043976 - .align 2, 0 -_08043964: .4byte gBaseStats -_08043968: - ldr r0, _080439A4 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xB] -_08043974: - lsls r0, 28 -_08043976: - lsrs r0, 30 -_08043978: - adds r4, r0, 0 - muls r4, r2 -_0804397C: - mov r0, r8 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _080439C8 - ldr r0, _080439A8 @ =gMain - ldr r1, _080439AC @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080439B4 - ldr r0, _080439B0 @ =gUnknown_2023F54 - ldrb r0, [r0, 0x7] - b _080439D0 - .align 2, 0 -_080439A4: .4byte gBaseStats -_080439A8: .4byte gMain -_080439AC: .4byte 0x00000439 -_080439B0: .4byte gUnknown_2023F54 -_080439B4: - ldr r0, _080439C0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080439C4 @ =0x0000311a - adds r0, r2 - ldrb r0, [r0] - b _080439D0 - .align 2, 0 -_080439C0: .4byte gSaveBlock1Ptr -_080439C4: .4byte 0x0000311a -_080439C8: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_080439D0: - cmp r0, 0x18 - bne _080439D8 - lsls r0, r4, 17 - lsrs r4, r0, 16 -_080439D8: - lsls r0, r4, 16 - asrs r2, r0, 16 - adds r1, r7, r2 - movs r0, 0xFF - lsls r0, 1 - cmp r1, r0 - ble _080439F0 - adds r0, r2, r0 - adds r1, r7, r4 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_080439F0: - mov r0, sp - adds r2, r0, r6 - ldrb r3, [r2] - lsls r0, r4, 16 - asrs r1, r0, 16 - adds r0, r3, r1 - cmp r0, 0xFF - ble _08043A0C - adds r0, r1, 0 - adds r0, 0xFF - adds r1, r3, r4 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_08043A0C: - adds r0, r3, r4 - strb r0, [r2] - adds r0, r7, r4 - lsls r0, 16 - lsrs r7, r0, 16 - adds r1, r6, 0 - adds r1, 0x1A - mov r0, r8 - bl sub_804037C - adds r6, 0x1 - cmp r6, 0x5 - bgt _08043A2E -_08043A26: - ldr r0, _08043A3C @ =0x000001fd - cmp r7, r0 - bhi _08043A2E - b _080438C8 -_08043A2E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08043A3C: .4byte 0x000001fd - thumb_func_end MonGainEVs - - thumb_func_start GetMonEVCount -GetMonEVCount: @ 8043A40 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_08043A48: - adds r1, r4, 0 - adds r1, 0x1A - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - adds r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, 0x1 - cmp r4, 0x5 - ble _08043A48 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMonEVCount - - thumb_func_start sub_8043A68 -sub_8043A68: @ 8043A68 - sub sp, 0x4 - add sp, 0x4 - bx lr - thumb_func_end sub_8043A68 - - thumb_func_start CheckPartyPokerus -CheckPartyPokerus: @ 8043A70 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - movs r6, 0x1 - movs r5, 0 - cmp r4, 0 - beq _08043AB8 -_08043A84: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08043AAC - movs r0, 0x64 - muls r0, r3 - adds r0, r7, r0 - movs r1, 0x22 - movs r2, 0 - str r3, [sp] - bl GetMonData - movs r1, 0xF - ands r1, r0 - ldr r3, [sp] - cmp r1, 0 - beq _08043AAC - orrs r5, r6 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_08043AAC: - adds r3, 0x1 - lsls r6, 1 - lsrs r4, 1 - cmp r4, 0 - bne _08043A84 - b _08043ACC -_08043AB8: - adds r0, r7, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - beq _08043ACC - movs r5, 0x1 -_08043ACC: - adds r0, r5, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyPokerus - - thumb_func_start CheckPartyHasHadPokerus -CheckPartyHasHadPokerus: @ 8043AD8 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - movs r6, 0x1 - movs r5, 0 - cmp r4, 0 - beq _08043B1C -_08043AEC: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08043B10 - movs r0, 0x64 - muls r0, r3 - adds r0, r7, r0 - movs r1, 0x22 - movs r2, 0 - str r3, [sp] - bl GetMonData - ldr r3, [sp] - cmp r0, 0 - beq _08043B10 - orrs r5, r6 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_08043B10: - adds r3, 0x1 - lsls r6, 1 - lsrs r4, 1 - cmp r4, 0 - bne _08043AEC - b _08043B2C -_08043B1C: - adds r0, r7, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _08043B2C - movs r5, 0x1 -_08043B2C: - adds r0, r5, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyHasHadPokerus - - thumb_func_start sub_8043B38 -sub_8043B38: @ 8043B38 - sub sp, 0x4 - add sp, 0x4 - bx lr - thumb_func_end sub_8043B38 - - thumb_func_start sub_8043B40 -sub_8043B40: @ 8043B40 - sub sp, 0x4 - add sp, 0x4 - bx lr - thumb_func_end sub_8043B40 - - thumb_func_start sub_8043B48 -sub_8043B48: @ 8043B48 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - str r3, [sp] - ldr r2, _08043B88 @ =gUnknown_8253AE4 - ldr r3, _08043B8C @ =gBaseStats - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x13] - movs r0, 0xCA - lsls r0, 1 - muls r0, r1 - movs r1, 0xC8 - lsls r1, 1 - adds r2, r1 - adds r0, r2 - ldr r1, [r0] - ldr r0, [sp] - cmp r0, r1 - bls _08043B80 - str r1, [sp] - adds r0, r4, 0 - movs r1, 0x19 - mov r2, sp - bl sub_804037C -_08043B80: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08043B88: .4byte gUnknown_8253AE4 -_08043B8C: .4byte gBaseStats - thumb_func_end sub_8043B48 - - thumb_func_start sub_8043B90 -sub_8043B90: @ 8043B90 - push {r4-r7,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r7, r0, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x19 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - cmp r7, 0x63 - bhi _08043C14 - ldr r3, _08043C0C @ =gUnknown_8253AE4 - mov r0, sp - ldrb r1, [r0] - lsls r1, 2 - ldr r2, _08043C10 @ =gBaseStats - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x13] - movs r0, 0xCA - lsls r0, 1 - muls r0, r2 - adds r1, r0 - adds r1, r3 - ldr r0, [r1] - cmp r5, r0 - bls _08043C20 - adds r0, r4, 0 - movs r1, 0x38 - mov r2, sp - bl sub_804037C - mov r0, sp - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r6, 0 - adds r3, r5, 0 - bl sub_8043B48 - movs r0, 0x1 - b _08043C22 - .align 2, 0 -_08043C0C: .4byte gUnknown_8253AE4 -_08043C10: .4byte gBaseStats -_08043C14: - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r7, 0 - adds r3, r5, 0 - bl sub_8043B48 -_08043C20: - movs r0, 0 -_08043C22: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8043B90 - - thumb_func_start CanMonLearnTMHM -CanMonLearnTMHM: @ 8043C2C - push {r4,r5,lr} - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - adds r3, r1, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _08043C4E - movs r0, 0 - b _08043C7A -_08043C4E: - cmp r4, 0x1F - bls _08043C6C - adds r0, r4, 0 - subs r0, 0x20 - movs r2, 0x1 - lsls r2, r0 - ldr r0, _08043C68 @ =gUnknown_8252BC8 - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - ands r0, r2 - b _08043C7A - .align 2, 0 -_08043C68: .4byte gUnknown_8252BC8 -_08043C6C: - movs r1, 0x1 - lsls r1, r5 - ldr r2, _08043C80 @ =gUnknown_8252BC8 - lsls r0, r3, 3 - adds r0, r2 - ldr r0, [r0] - ands r0, r1 -_08043C7A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08043C80: .4byte gUnknown_8252BC8 - thumb_func_end CanMonLearnTMHM - - thumb_func_start GetMoveRelearnerMoves -GetMoveRelearnerMoves: @ 8043C84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r6, r0, 0 - str r1, [sp, 0x8] - movs r0, 0 - mov r10, r0 - adds r0, r6, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - movs r5, 0 - mov r4, sp -_08043CBA: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08043CBA - movs r5, 0 - ldr r6, _08043DC8 @ =gUnknown_825D7B4 - lsls r1, r7, 2 - adds r2, r1, r6 - ldr r3, [r2] - ldrh r0, [r3] - ldr r4, _08043DCC @ =0x0000ffff - str r1, [sp, 0x14] - cmp r0, r4 - beq _08043DB4 - mov r9, r2 - str r3, [sp, 0x10] -_08043CE8: - lsls r2, r5, 1 - ldr r1, [sp, 0x10] - adds r0, r2, r1 - ldrh r3, [r0] - movs r0, 0xFE - lsls r0, 8 - ands r0, r3 - ldr r4, [sp, 0xC] - lsls r1, r4, 9 - adds r7, r2, 0 - adds r5, 0x1 - mov r12, r5 - cmp r0, r1 - bgt _08043D9E - movs r4, 0 - mov r0, sp - ldrh r1, [r0] - ldr r0, _08043DD0 @ =0x000001ff - ands r0, r3 - cmp r1, r0 - beq _08043D38 - ldr r0, [sp, 0x14] - ldr r1, _08043DC8 @ =gUnknown_825D7B4 - adds r6, r0, r1 - ldr r2, _08043DD0 @ =0x000001ff - mov r8, r2 - mov r3, sp - adds r5, r7, 0 -_08043D20: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - bgt _08043D38 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _08043D20 -_08043D38: - cmp r4, 0x4 - bne _08043D9E - movs r4, 0 - cmp r4, r10 - bge _08043D7C - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, [sp, 0x8] - ldrh r2, [r0] - ldr r0, _08043DD0 @ =0x000001ff - ands r0, r1 - cmp r2, r0 - beq _08043D7C - ldr r1, [sp, 0x14] - ldr r2, _08043DC8 @ =gUnknown_825D7B4 - adds r6, r1, r2 - ldr r0, _08043DD0 @ =0x000001ff - mov r8, r0 - ldr r3, [sp, 0x8] - adds r5, r7, 0 -_08043D64: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, r10 - bge _08043D7C - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _08043D64 -_08043D7C: - cmp r4, r10 - bne _08043D9E - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r2, r4, 1 - ldr r1, [sp, 0x8] - adds r2, r1 - mov r4, r9 - ldr r0, [r4] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, _08043DD0 @ =0x000001ff - ands r0, r1 - strh r0, [r2] -_08043D9E: - mov r5, r12 - cmp r5, 0x13 - bgt _08043DB4 - mov r1, r9 - ldr r0, [r1] - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r2, _08043DCC @ =0x0000ffff - cmp r0, r2 - bne _08043CE8 -_08043DB4: - mov r0, r10 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08043DC8: .4byte gUnknown_825D7B4 -_08043DCC: .4byte 0x0000ffff -_08043DD0: .4byte 0x000001ff - thumb_func_end GetMoveRelearnerMoves - - thumb_func_start GetLevelUpMovesBySpecies -GetLevelUpMovesBySpecies: @ 8043DD4 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 16 - movs r5, 0 - movs r4, 0 - ldr r1, _08043E20 @ =gUnknown_825D7B4 - lsrs r0, 14 - adds r0, r1 - ldr r2, [r0] - ldrh r0, [r2] - ldr r1, _08043E24 @ =0x0000ffff - cmp r0, r1 - beq _08043E18 - ldr r0, _08043E28 @ =0x000001ff - mov r12, r0 - adds r7, r1, 0 - adds r3, r2, 0 -_08043DF6: - adds r1, r5, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 1 - adds r1, r6 - ldrh r2, [r3] - mov r0, r12 - ands r0, r2 - strh r0, [r1] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x13 - bgt _08043E18 - ldrh r0, [r3] - cmp r0, r7 - bne _08043DF6 -_08043E18: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08043E20: .4byte gUnknown_825D7B4 -_08043E24: .4byte 0x0000ffff -_08043E28: .4byte 0x000001ff - thumb_func_end GetLevelUpMovesBySpecies - - thumb_func_start GetNumberOfRelearnableMoves -GetNumberOfRelearnableMoves: @ 8043E2C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - adds r6, r0, 0 - movs r0, 0 - mov r10, r0 - adds r0, r6, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x30] - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bne _08043E68 - movs r0, 0 - b _08043F72 -_08043E68: - movs r5, 0 - lsls r4, 2 - str r4, [sp, 0x38] - mov r4, sp -_08043E70: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08043E70 - movs r5, 0 - ldr r3, _08043F84 @ =gUnknown_825D7B4 - ldr r2, [sp, 0x38] - adds r1, r2, r3 - ldr r0, [r1] - ldrh r0, [r0] - ldr r2, _08043F88 @ =0x0000ffff - cmp r0, r2 - beq _08043F70 - mov r9, r1 - mov r4, sp - adds r4, 0x8 - str r4, [sp, 0x34] -_08043EA0: - mov r1, r9 - ldr r0, [r1] - lsls r2, r5, 1 - adds r0, r2, r0 - ldrh r3, [r0] - movs r0, 0xFE - lsls r0, 8 - ands r0, r3 - ldr r4, [sp, 0x30] - lsls r1, r4, 9 - adds r7, r2, 0 - adds r5, 0x1 - mov r12, r5 - cmp r0, r1 - bgt _08043F5A - movs r4, 0 - mov r0, sp - ldrh r1, [r0] - ldr r0, _08043F8C @ =0x000001ff - ands r0, r3 - cmp r1, r0 - beq _08043EF2 - ldr r0, [sp, 0x38] - ldr r1, _08043F84 @ =gUnknown_825D7B4 - adds r6, r0, r1 - ldr r2, _08043F8C @ =0x000001ff - mov r8, r2 - mov r3, sp - adds r5, r7, 0 -_08043EDA: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - bgt _08043EF2 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _08043EDA -_08043EF2: - cmp r4, 0x4 - bne _08043F5A - movs r4, 0 - cmp r4, r10 - bge _08043F38 - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, [sp, 0x34] - ldrh r2, [r0] - ldr r0, _08043F8C @ =0x000001ff - ands r0, r1 - add r1, sp, 0x8 - cmp r2, r0 - beq _08043F38 - ldr r2, [sp, 0x38] - ldr r0, _08043F84 @ =gUnknown_825D7B4 - adds r6, r2, r0 - ldr r2, _08043F8C @ =0x000001ff - mov r8, r2 - adds r3, r1, 0 - adds r5, r7, 0 -_08043F20: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, r10 - bge _08043F38 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _08043F20 -_08043F38: - cmp r4, r10 - bne _08043F5A - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r2, r4, 1 - ldr r4, [sp, 0x34] - adds r2, r4, r2 - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, _08043F8C @ =0x000001ff - ands r0, r1 - strh r0, [r2] -_08043F5A: - mov r5, r12 - cmp r5, 0x13 - bgt _08043F70 - mov r2, r9 - ldr r0, [r2] - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r4, _08043F88 @ =0x0000ffff - cmp r0, r4 - bne _08043EA0 -_08043F70: - mov r0, r10 -_08043F72: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08043F84: .4byte gUnknown_825D7B4 -_08043F88: .4byte 0x0000ffff -_08043F8C: .4byte 0x000001ff - thumb_func_end GetNumberOfRelearnableMoves - - thumb_func_start sub_8043F90 -sub_8043F90: @ 8043F90 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - bl sub_806E25C - cmp r0, 0 - bne _08043FB4 - cmp r4, 0x97 - bls _08043FB4 - ldr r0, _08043FB0 @ =0x0000ffff - b _08043FB6 - .align 2, 0 -_08043FB0: .4byte 0x0000ffff -_08043FB4: - adds r0, r4, 0 -_08043FB6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8043F90 - - thumb_func_start sub_8043FBC -sub_8043FBC: @ 8043FBC - push {lr} - ldr r1, _08043FD0 @ =gUnknown_2024024 - movs r2, 0 - adds r0, r1, 0x3 -_08043FC4: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _08043FC4 - pop {r0} - bx r0 - .align 2, 0 -_08043FD0: .4byte gUnknown_2024024 - thumb_func_end sub_8043FBC - - thumb_func_start sub_8043FD4 -sub_8043FD4: @ 8043FD4 - push {lr} - ldr r0, _08043FFC @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - bne _0804406C - movs r0, 0x80 - lsls r0, 7 - ands r0, r1 - cmp r0, 0 - bne _08043FF6 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08044000 -_08043FF6: - movs r0, 0x85 - lsls r0, 1 - b _08044070 - .align 2, 0 -_08043FFC: .4byte gBattleTypeFlags -_08044000: - movs r0, 0x8 - ands r1, r0 - cmp r1, 0 - beq _0804406C - ldr r2, _08044028 @ =gTrainers - ldr r0, _0804402C @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - subs r0, 0x53 - cmp r0, 0x7 - bhi _08044062 - lsls r0, 2 - ldr r1, _08044030 @ =_08044034 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08044028: .4byte gTrainers -_0804402C: .4byte gTrainerBattleOpponent_A -_08044030: .4byte _08044034 - .align 2, 0 -_08044034: - .4byte _08044062 - .4byte _0804405C - .4byte _08044062 - .4byte _08044062 - .4byte _0804405C - .4byte _08044062 - .4byte _08044062 - .4byte _08044054 -_08044054: - ldr r0, _08044058 @ =0x0000012b - b _08044070 - .align 2, 0 -_08044058: .4byte 0x0000012b -_0804405C: - movs r0, 0x94 - lsls r0, 1 - b _08044070 -_08044062: - ldr r0, _08044068 @ =0x00000129 - b _08044070 - .align 2, 0 -_08044068: .4byte 0x00000129 -_0804406C: - movs r0, 0x95 - lsls r0, 1 -_08044070: - pop {r1} - bx r1 - thumb_func_end sub_8043FD4 - - thumb_func_start PlayBattleBGM -PlayBattleBGM: @ 8044074 - push {lr} - bl ResetMapMusic - bl m4aMPlayAllStop - bl sub_8043FD4 - lsls r0, 16 - lsrs r0, 16 - bl PlayBGM - pop {r0} - bx r0 - thumb_func_end PlayBattleBGM - - thumb_func_start PlayMapChosenOrBattleBGM -PlayMapChosenOrBattleBGM: @ 8044090 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl ResetMapMusic - bl m4aMPlayAllStop - cmp r4, 0 - beq _080440AA - adds r0, r4, 0 - bl PlayNewMapMusic - b _080440B6 -_080440AA: - bl sub_8043FD4 - lsls r0, 16 - lsrs r0, 16 - bl PlayNewMapMusic -_080440B6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end PlayMapChosenOrBattleBGM - - thumb_func_start GetMonFrontSpritePal -GetMonFrontSpritePal: @ 80440BC - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl GetFrontSpritePalFromSpeciesAndPersonality - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMonFrontSpritePal - - thumb_func_start GetFrontSpritePalFromSpeciesAndPersonality -GetFrontSpritePalFromSpeciesAndPersonality: @ 80440F4 - push {r4,r5,lr} - adds r3, r2, 0 - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08044110 - ldr r0, _0804410C @ =gUnknown_823730C - ldr r0, [r0] - b _0804413C - .align 2, 0 -_0804410C: .4byte gUnknown_823730C -_08044110: - lsrs r0, r1, 16 - ldr r2, _0804412C @ =0x0000ffff - ands r1, r2 - eors r0, r1 - lsrs r1, r3, 16 - eors r0, r1 - ands r3, r2 - eors r0, r3 - cmp r0, 0x7 - bls _08044134 - ldr r0, _08044130 @ =gUnknown_823730C - lsls r1, r4, 3 - b _08044138 - .align 2, 0 -_0804412C: .4byte 0x0000ffff -_08044130: .4byte gUnknown_823730C -_08044134: - ldr r0, _08044144 @ =gUnknown_82380CC - lsls r1, r5, 3 -_08044138: - adds r1, r0 - ldr r0, [r1] -_0804413C: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08044144: .4byte gUnknown_82380CC - thumb_func_end GetFrontSpritePalFromSpeciesAndPersonality - - thumb_func_start GetMonSpritePalStruct -GetMonSpritePalStruct: @ 8044148 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl GetMonSpritePalStructFromOtIdPersonality - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMonSpritePalStruct - - thumb_func_start GetMonSpritePalStructFromOtIdPersonality -GetMonSpritePalStructFromOtIdPersonality: @ 8044180 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsrs r0, r1, 16 - ldr r3, _080441A0 @ =0x0000ffff - ands r1, r3 - eors r0, r1 - lsrs r1, r2, 16 - eors r0, r1 - ands r2, r3 - eors r0, r2 - cmp r0, 0x7 - bls _080441A8 - lsls r0, r4, 3 - ldr r1, _080441A4 @ =gUnknown_823730C - b _080441AC - .align 2, 0 -_080441A0: .4byte 0x0000ffff -_080441A4: .4byte gUnknown_823730C -_080441A8: - lsls r0, r4, 3 - ldr r1, _080441B4 @ =gUnknown_82380CC -_080441AC: - adds r0, r1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080441B4: .4byte gUnknown_82380CC - thumb_func_end GetMonSpritePalStructFromOtIdPersonality - - thumb_func_start IsHMMove2 -IsHMMove2: @ 80441B8 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, _080441DC @ =gUnknown_825E014 - ldrh r0, [r2] - ldr r1, _080441E0 @ =0x0000ffff - cmp r0, r1 - beq _080441EA - adds r4, r1, 0 - adds r1, r2, 0 -_080441CC: - ldrh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - cmp r0, r3 - bne _080441E4 - movs r0, 0x1 - b _080441EC - .align 2, 0 -_080441DC: .4byte gUnknown_825E014 -_080441E0: .4byte 0x0000ffff -_080441E4: - ldrh r0, [r1] - cmp r0, r4 - bne _080441CC -_080441EA: - movs r0, 0 -_080441EC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsHMMove2 - - thumb_func_start IsPokeSpriteNotFlipped -IsPokeSpriteNotFlipped: @ 80441F4 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08044208 @ =gBaseStats - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x19] - lsrs r0, 7 - bx lr - .align 2, 0 -_08044208: .4byte gBaseStats - thumb_func_end IsPokeSpriteNotFlipped - - thumb_func_start GetMonFlavorRelation -GetMonFlavorRelation: @ 804420C - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08044230 @ =gUnknown_825DE24 - lsls r1, r0, 2 - adds r1, r0 - adds r1, r4 - adds r1, r2 - movs r0, 0 - ldrsb r0, [r1, r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08044230: .4byte gUnknown_825DE24 - thumb_func_end GetMonFlavorRelation - - thumb_func_start GetFlavorRelationByPersonality -GetFlavorRelationByPersonality: @ 8044234 - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08044258 @ =gUnknown_825DE24 - lsls r1, r0, 2 - adds r1, r0 - adds r1, r4 - adds r1, r2 - movs r0, 0 - ldrsb r0, [r1, r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08044258: .4byte gUnknown_825DE24 - thumb_func_end GetFlavorRelationByPersonality - - thumb_func_start IsTradedMon -IsTradedMon: @ 804425C - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r1, 0x7 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - mov r1, sp - bl IsOtherTrainer - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsTradedMon - - thumb_func_start IsOtherTrainer -IsOtherTrainer: @ 8044288 - push {r4,r5,lr} - adds r5, r1, 0 - ldr r1, _080442CC @ =gSaveBlock2Ptr - ldr r3, [r1] - ldrb r2, [r3, 0xA] - ldrb r1, [r3, 0xB] - lsls r1, 8 - orrs r2, r1 - ldrb r1, [r3, 0xC] - lsls r1, 16 - orrs r2, r1 - ldrb r1, [r3, 0xD] - lsls r1, 24 - orrs r2, r1 - cmp r0, r2 - bne _080442D0 - movs r4, 0 - ldrb r0, [r5] - cmp r0, 0xFF - beq _080442C6 - adds r2, r5, 0 -_080442B2: - adds r1, r3, r4 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bne _080442D0 - adds r2, 0x1 - adds r4, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _080442B2 -_080442C6: - movs r0, 0 - b _080442D2 - .align 2, 0 -_080442CC: .4byte gSaveBlock2Ptr -_080442D0: - movs r0, 0x1 -_080442D2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsOtherTrainer - - thumb_func_start MonRestorePP -MonRestorePP: @ 80442D8 - push {lr} - bl BoxMonRestorePP - pop {r0} - bx r0 - thumb_func_end MonRestorePP - - thumb_func_start BoxMonRestorePP -BoxMonRestorePP: @ 80442E4 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r6, 0 -_080442EC: - adds r4, r6, 0 - adds r4, 0xD - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - beq _08044338 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x15 - movs r2, 0 - bl GetBoxMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r6, 24 - lsrs r2, 24 - adds r0, r4, 0 - bl CalculatePPWithBonus - mov r1, sp - strb r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r5, 0 - mov r2, sp - bl sub_80404D0 -_08044338: - adds r6, 0x1 - cmp r6, 0x3 - ble _080442EC - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end BoxMonRestorePP - - thumb_func_start sub_8044348 -sub_8044348: @ 8044348 - push {r4,r5,lr} - ldr r2, _0804438C @ =gUnknown_2023D6A - ldr r5, _08044390 @ =gBattleStruct - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0xAC - ldrb r0, [r0] - strb r0, [r2] - ldr r4, _08044394 @ =gUnknown_2022AB8 - movs r0, 0xFD - strb r0, [r4] - movs r0, 0x4 - strb r0, [r4, 0x1] - adds r1, 0x49 - ldrb r0, [r1] - strb r0, [r4, 0x2] - movs r0, 0xFF - strb r0, [r4, 0x4] - ldrb r0, [r1] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0804439C - ldr r1, _08044398 @ =gBattlerPartyIndexes - ldr r0, [r5] - adds r0, 0x49 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - b _080443AA - .align 2, 0 -_0804438C: .4byte gUnknown_2023D6A -_08044390: .4byte gBattleStruct -_08044394: .4byte gUnknown_2022AB8 -_08044398: .4byte gBattlerPartyIndexes -_0804439C: - ldr r1, _080443E0 @ =gBattlerPartyIndexes - ldr r0, [r5] - adds r0, 0x49 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] -_080443AA: - strb r0, [r4, 0x3] - ldr r4, _080443E4 @ =gUnknown_2022AC8 - movs r0, 0xFD - strb r0, [r4] - movs r0, 0x4 - strb r0, [r4, 0x1] - ldr r1, _080443E8 @ =gUnknown_2024004 - ldrb r0, [r1] - strb r0, [r4, 0x2] - ldr r2, _080443E0 @ =gBattlerPartyIndexes - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0] - bl pokemon_order_func - strb r0, [r4, 0x3] - movs r0, 0xFF - strb r0, [r4, 0x4] - ldr r0, _080443EC @ =gUnknown_83FCA2C - ldr r1, _080443F0 @ =gStringVar4 - bl sub_80D7868 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080443E0: .4byte gBattlerPartyIndexes -_080443E4: .4byte gUnknown_2022AC8 -_080443E8: .4byte gUnknown_2024004 -_080443EC: .4byte gUnknown_83FCA2C -_080443F0: .4byte gStringVar4 - thumb_func_end sub_8044348 - - thumb_func_start SetWildMonHeldItem -SetWildMonHeldItem: @ 80443F4 - push {r4,r5,lr} - ldr r0, _0804444C @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08044450 @ =0x00012008 - ands r0, r1 - cmp r0, 0 - bne _08044468 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, _08044454 @ =gEnemyParty - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08044458 @ =gBaseStats - lsls r1, r0, 3 - subs r1, r0 - lsls r3, r1, 2 - adds r1, r3, r2 - ldrh r0, [r1, 0xC] - ldrh r1, [r1, 0xE] - cmp r0, r1 - beq _0804443E - cmp r5, 0x2C - bls _08044468 - cmp r5, 0x5E - bhi _0804445C -_0804443E: - adds r2, 0xC - adds r2, r3, r2 - adds r0, r4, 0 - movs r1, 0xC - bl sub_804037C - b _08044468 - .align 2, 0 -_0804444C: .4byte gBattleTypeFlags -_08044450: .4byte 0x00012008 -_08044454: .4byte gEnemyParty -_08044458: .4byte gBaseStats -_0804445C: - adds r2, 0xE - adds r2, r3, r2 - adds r0, r4, 0 - movs r1, 0xC - bl sub_804037C -_08044468: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end SetWildMonHeldItem - - thumb_func_start IsMonShiny -IsMonShiny: @ 8044470 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r5, 0 - bl IsShinyOtIdPersonality - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsMonShiny - - thumb_func_start IsShinyOtIdPersonality -IsShinyOtIdPersonality: @ 804449C - push {r4,lr} - movs r4, 0 - lsrs r2, r0, 16 - ldr r3, _080444C0 @ =0x0000ffff - ands r0, r3 - eors r2, r0 - lsrs r0, r1, 16 - eors r2, r0 - ands r1, r3 - eors r2, r1 - cmp r2, 0x7 - bhi _080444B6 - movs r4, 0x1 -_080444B6: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080444C0: .4byte 0x0000ffff - thumb_func_end IsShinyOtIdPersonality - - thumb_func_start sub_80444C4 -sub_80444C4: @ 80444C4 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080444F4 @ =gUnknown_202273C - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x18] - movs r0, 0x2 - eors r0, r1 - bl GetBankMultiplayerId - adds r1, r0, 0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r4, 0x8 - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080444F4: .4byte gUnknown_202273C - thumb_func_end sub_80444C4 - thumb_func_start sub_80444F8 sub_80444F8: @ 80444F8 push {r4-r6,lr} @@ -4518,12 +53,12 @@ _08044548: .4byte gPlayerParty sub_804454C: @ 804454C lsls r0, 16 lsrs r0, 16 - ldr r1, _08044558 @ =gUnknown_82538A8 + ldr r1, _08044558 @ =gFacilityClassToPicIndex adds r0, r1 ldrb r0, [r0] bx lr .align 2, 0 -_08044558: .4byte gUnknown_82538A8 +_08044558: .4byte gFacilityClassToPicIndex thumb_func_end sub_804454C thumb_func_start sub_804455C @@ -4617,7 +152,7 @@ _080445F4: cmp r2, 0 beq _08044658 _0804461A: - ldr r4, _08044644 @ =gUnknown_202273C + ldr r4, _08044644 @ =gLinkPlayers bl GetMultiplayerId lsls r0, 24 lsrs r0, 24 @@ -4635,7 +170,7 @@ _08044632: _08044638: .4byte gBattleTypeFlags _0804463C: .4byte gMain _08044640: .4byte 0x00000439 -_08044644: .4byte gUnknown_202273C +_08044644: .4byte gLinkPlayers _08044648: ldr r0, _0804466C @ =gMain ldr r1, _08044670 @ =0x00000439 @@ -4647,7 +182,7 @@ _08044648: beq _08044632 _08044658: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08044632 @@ -4765,7 +300,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3B mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3C movs r2, 0 @@ -4774,7 +309,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3C mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3D movs r2, 0 @@ -4783,7 +318,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3D mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3E movs r2, 0 @@ -4792,7 +327,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3E mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3F movs r2, 0 @@ -4801,7 +336,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3F mov r2, sp - bl sub_804037C + bl SetMonData _08044798: adds r5, 0x1 cmp r5, 0x5 @@ -4822,7 +357,7 @@ sub_80447AC: @ 80447AC eors r0, r1 lsls r0, 24 lsrs r0, 24 - ldr r3, _080447E8 @ =gUnknown_202273C + ldr r3, _080447E8 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -4845,7 +380,7 @@ sub_80447AC: @ 80447AC pop {r1} bx r1 .align 2, 0 -_080447E8: .4byte gUnknown_202273C +_080447E8: .4byte gLinkPlayers _080447EC: .4byte gUnknown_825E032 thumb_func_end sub_80447AC @@ -4857,7 +392,7 @@ sub_80447F0: @ 80447F0 eors r0, r1 lsls r0, 24 lsrs r0, 24 - ldr r3, _0804482C @ =gUnknown_202273C + ldr r3, _0804482C @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -4870,7 +405,7 @@ sub_80447F0: @ 80447F0 ldrb r0, [r1, 0x13] lsls r0, 3 orrs r2, r0 - ldr r1, _08044830 @ =gUnknown_825393E + ldr r1, _08044830 @ =gFacilityClassToTrainerClass ldr r0, _08044834 @ =gUnknown_825E032 lsls r2, 1 adds r2, r0 @@ -4880,8 +415,8 @@ sub_80447F0: @ 80447F0 pop {r1} bx r1 .align 2, 0 -_0804482C: .4byte gUnknown_202273C -_08044830: .4byte gUnknown_825393E +_0804482C: .4byte gLinkPlayers +_08044830: .4byte gFacilityClassToTrainerClass _08044834: .4byte gUnknown_825E032 thumb_func_end sub_80447F0 @@ -4908,7 +443,7 @@ sub_8044838: @ 8044838 adds r1, r5, 0 adds r2, r4, 0 movs r3, 0x20 - bl sub_803E1EC + bl CreateObedientMon cmp r6, 0 beq _08044880 add r0, sp, 0x10 @@ -4919,7 +454,7 @@ sub_8044838: @ 8044838 adds r0, r7, 0 movs r1, 0xC add r2, sp, 0x10 - bl sub_804037C + bl SetMonData _08044880: add sp, 0x14 pop {r4-r7} @@ -4997,7 +532,7 @@ sub_80448F8: @ 80448F8 cmp r0, 0 beq _08044944 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08044944 |