diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/cable_club.s | 4 | ||||
-rw-r--r-- | asm/daycare.s | 458 | ||||
-rw-r--r-- | asm/easy_chat.s | 334 | ||||
-rw-r--r-- | asm/egg_hatch.s | 10 | ||||
-rw-r--r-- | asm/field_map_obj.s | 595 | ||||
-rw-r--r-- | asm/party_menu.s | 3625 |
6 files changed, 16 insertions, 5010 deletions
diff --git a/asm/cable_club.s b/asm/cable_club.s index bd7a2bd5c..7e5d19c24 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1515,7 +1515,7 @@ unref_sub_8083BB0: @ 8083BB0 bl CreateTask lsls r0, 24 lsrs r0, 24 - ldr r2, _08083BD8 @ =sub_80B9484 + ldr r2, _08083BD8 @ =Task_RecordMixing_Main adds r1, r4, 0 bl SetTaskFuncWithFollowupFunc bl ScriptContext1_Stop @@ -1524,7 +1524,7 @@ unref_sub_8083BB0: @ 8083BB0 bx r0 .align 2, 0 _08083BD4: .4byte sub_80839DC -_08083BD8: .4byte sub_80B9484 +_08083BD8: .4byte Task_RecordMixing_Main thumb_func_end unref_sub_8083BB0 thumb_func_start sub_8083BDC diff --git a/asm/daycare.s b/asm/daycare.s index 47a84e8e0..2944f7565 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -6,446 +6,6 @@ .text - thumb_func_start sub_8041324 -sub_8041324: @ 8041324 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - mov r10, r1 - movs r7, 0 - movs r5, 0 - mov r6, r10 - adds r6, 0x74 - movs r0, 0x1 - mov r8, r0 -_0804133E: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - mov r1, r9 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0804136E - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - movs r1, 0xC - bl GetBoxMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0804136E - lsls r0, r5, 1 - adds r0, r6, r0 - b _08041374 -_0804136E: - lsls r0, r5, 1 - adds r0, r6, r0 - mov r1, r8 -_08041374: - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0804133E - mov r0, r10 - str r7, [r0, 0x70] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8041324 - - thumb_func_start daycare_empty_slot -daycare_empty_slot: @ 8041394 - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 -_0804139A: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - adds r0, r5, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080413B2 - lsls r0, r4, 24 - asrs r0, 24 - b _080413C0 -_080413B2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0804139A - movs r0, 0x1 - negs r0, r0 -_080413C0: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end daycare_empty_slot - - thumb_func_start sub_80413C8 -sub_80413C8: @ 80413C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - mov r8, r1 - mov r0, r8 - bl daycare_empty_slot - lsls r0, 24 - lsrs r4, r0, 24 - mov r9, r4 - adds r0, r7, 0 - bl MonHasMail - lsls r0, 24 - cmp r0, 0 - beq _0804144A - lsls r0, r4, 24 - asrs r0, 24 - lsls r4, r0, 3 - subs r4, r0 - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA0 - add r5, r8 - adds r6, r5, 0 - adds r6, 0x24 - ldr r1, _08041490 @ =gSaveBlock2 - adds r0, r6, 0 - bl StringCopy - adds r0, r6, 0 - movs r1, 0xFC - bl PadNameString - adds r6, 0x8 - adds r0, r7, 0 - adds r1, r6, 0 - bl pokemon_get_nick - adds r0, r7, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - add r4, r8 - ldr r2, _08041494 @ =gSaveBlock1 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r4, 0xA0 - ldr r0, _08041498 @ =0x00002b4c - adds r1, r0 - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - adds r0, r7, 0 - bl TakeMailFromMon -_0804144A: - mov r2, r9 - lsls r4, r2, 24 - asrs r4, 24 - lsls r5, r4, 2 - adds r4, r5, r4 - lsls r4, 4 - add r4, r8 - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - bl BoxMonRestorePP - movs r0, 0x88 - lsls r0, 1 - add r0, r8 - adds r0, r5 - movs r1, 0 - str r1, [r0] - adds r0, r7, 0 - bl ZeroMonData - bl party_compaction - bl CalculatePlayerPartyCount - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08041490: .4byte gSaveBlock2 -_08041494: .4byte gSaveBlock1 -_08041498: .4byte 0x00002b4c - thumb_func_end sub_80413C8 - - thumb_func_start daycare_send -daycare_send: @ 804149C - push {lr} - ldr r0, _080414B4 @ =gLastFieldPokeMenuOpened - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080414B8 @ =gPlayerParty - adds r0, r1 - ldr r1, _080414BC @ =gSaveBlock1 + 0x2F9C - bl sub_80413C8 - pop {r0} - bx r0 - .align 2, 0 -_080414B4: .4byte gLastFieldPokeMenuOpened -_080414B8: .4byte gPlayerParty -_080414BC: .4byte gSaveBlock1 + 0x2F9C - thumb_func_end daycare_send - - thumb_func_start sub_80414C0 -sub_80414C0: @ 80414C0 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x50 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08041516 - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - adds r6, r0, 0 - cmp r6, 0 - bne _08041516 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - bl ZeroBoxMonData - adds r0, r5, 0 - adds r0, 0xA0 - adds r4, 0x88 - adds r1, r4, 0 - movs r2, 0x38 - bl memcpy - movs r0, 0x88 - lsls r0, 1 - adds r2, r5, r0 - adds r0, 0x4 - adds r1, r5, r0 - ldr r0, [r1] - str r0, [r2] - str r6, [r1] - adds r0, r4, 0 - bl sub_80417F4 -_08041516: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80414C0 - - thumb_func_start sub_804151C -sub_804151C: @ 804151C - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - ldr r7, _08041538 @ =0x0000ffff -_08041524: - adds r0, r4, 0 - bl TryIncrementMonLevel - lsls r0, 24 - cmp r0, 0 - beq _08041560 - movs r6, 0x1 - adds r5, 0x1 - b _0804154C - .align 2, 0 -_08041538: .4byte 0x0000ffff -_0804153C: - movs r6, 0 - cmp r0, r7 - bne _0804154C - ldr r0, _0804156C @ =word_2024E82 - ldrh r1, [r0] - adds r0, r4, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_0804154C: - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_803B7C8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0804153C - cmp r5, 0x63 - ble _08041524 -_08041560: - adds r0, r4, 0 - bl CalculateMonStats - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804156C: .4byte word_2024E82 - thumb_func_end sub_804151C - - thumb_func_start sub_8041570 -sub_8041570: @ 8041570 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x68 - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r7, r4, 2 - adds r0, r7, r4 - lsls r0, 4 - adds r6, r5, r0 - ldr r1, _08041640 @ =gStringVar1 - adds r0, r6, 0 - bl pokemon_get_nick_ - adds r0, r6, 0 - movs r1, 0xB - bl GetBoxMonData - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - adds r0, r6, 0 - mov r1, sp - bl sub_803B4B4 - mov r0, sp - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _080415D8 - mov r0, sp - movs r1, 0x19 - bl GetMonData - movs r2, 0x88 - lsls r2, 1 - adds r1, r5, r2 - adds r1, r7 - ldr r1, [r1] - adds r0, r1 - str r0, [sp, 0x64] - add r2, sp, 0x64 - mov r0, sp - movs r1, 0x19 - bl SetMonData - mov r0, sp - bl sub_804151C -_080415D8: - ldr r0, _08041644 @ =gPlayerParty - movs r1, 0xFA - lsls r1, 1 - adds r1, r0 - mov r8, r1 - mov r0, r8 - mov r1, sp - movs r2, 0x64 - bl memcpy - lsls r0, r4, 3 - subs r0, r4 - lsls r1, r0, 3 - adds r0, r5, r1 - adds r0, 0xC0 - ldrh r0, [r0] - cmp r0, 0 - beq _08041610 - adds r4, r1, 0 - adds r4, 0xA0 - adds r4, r5, r4 - mov r0, r8 - adds r1, r4, 0 - bl GiveMailToMon2 - adds r0, r4, 0 - bl sub_80417F4 -_08041610: - bl party_compaction - adds r0, r6, 0 - bl ZeroBoxMonData - movs r2, 0x88 - lsls r2, 1 - adds r0, r5, r2 - adds r0, r7 - movs r1, 0 - str r1, [r0] - adds r0, r5, 0 - bl sub_80414C0 - bl CalculatePlayerPartyCount - mov r0, r9 - add sp, 0x68 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08041640: .4byte gStringVar1 -_08041644: .4byte gPlayerParty - thumb_func_end sub_8041570 - - thumb_func_start sub_8041648 -sub_8041648: @ 8041648 - push {lr} - ldr r0, _0804165C @ =gSaveBlock1 + 0x2F9C - ldr r1, _08041660 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_8041570 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0804165C: .4byte gSaveBlock1 + 0x2F9C -_08041660: .4byte gSpecialVar_0x8004 - thumb_func_end sub_8041648 - - thumb_func_start sub_8041664 -sub_8041664: @ 8041664 - push {r4,r5,lr} - sub sp, 0x54 - adds r4, r0, 0 - adds r5, r1, 0 - mov r0, sp - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - movs r1, 0x19 - bl GetBoxMonData - adds r0, r5 - str r0, [sp, 0x50] - add r2, sp, 0x50 - mov r0, sp - movs r1, 0x19 - bl SetBoxMonData - mov r0, sp - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - add sp, 0x54 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8041664 - thumb_func_start sub_80416A0 sub_80416A0: @ 80416A0 push {r4-r6,lr} @@ -470,7 +30,7 @@ sub_80416A0: @ 80416A0 add r5, r8 ldr r1, [r5] adds r0, r4, 0 - bl sub_8041664 + bl Daycare_GetLevelAfterSteps lsls r0, 24 lsrs r0, 24 subs r0, r6 @@ -500,7 +60,7 @@ sub_80416E8: @ 80416E8 adds r6, r0 ldr r1, _08041720 @ =gStringVar1 adds r0, r6, 0 - bl pokemon_get_nick_ + bl GetBoxMonNick ldr r0, _08041724 @ =gStringVar2 adds r1, r5, 0 movs r2, 0 @@ -532,7 +92,7 @@ sub_8041728: @ 8041728 adds r6, r0 ldr r1, _08041768 @ =gStringVar1 adds r0, r6, 0 - bl pokemon_get_nick_ + bl GetBoxMonNick movs r0, 0x64 adds r4, r5, 0 muls r4, r0 @@ -2065,7 +1625,7 @@ sub_80422C4: @ 80422C4 beq _080422FC ldr r1, _0804231C @ =gStringVar1 adds r0, r6, 0 - bl pokemon_get_nick_ + bl GetBoxMonNick adds r0, r6, 0 movs r1, 0x3 bl GetBoxMonData @@ -2090,7 +1650,7 @@ _080422FC: beq _08042314 ldr r1, _08042324 @ =gStringVar2 adds r0, r4, 0 - bl pokemon_get_nick_ + bl GetBoxMonNick _08042314: pop {r4-r6} pop {r0} @@ -2111,7 +1671,7 @@ sub_8042328: @ 8042328 ldr r4, _08042358 @ =gPlayerParty adds r0, r4 ldr r1, _0804235C @ =gStringVar1 - bl pokemon_get_nick_ + bl GetBoxMonNick ldrb r0, [r6] muls r0, r5 adds r0, r4 @@ -2154,7 +1714,7 @@ sp0B6_daycare: @ 8042370 _08042384: .4byte gSaveBlock1 + 0x2F9C _08042388: adds r0, r4, 0 - bl daycare_count_pokemon + bl Daycare_CountPokemon lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -2558,7 +2118,7 @@ _08042648: adds r5, r1, r0 adds r0, r4, 0 adds r1, r5, 0 - bl pokemon_get_nick_ + bl GetBoxMonNick adds r0, r5, 0 adds r1, r4, 0 bl MonAppendGenderSymbol @@ -2618,7 +2178,7 @@ _080426C6: adds r1, r6, r3 adds r1, r2 ldr r1, [r1] - bl sub_8041664 + bl Daycare_GetLevelAfterSteps adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 466d371a1..2983deea0 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -10831,338 +10831,4 @@ _080EB4AC: .4byte gEasyChatGroupWords _080EB4B0: .4byte 0x0000ffff thumb_func_end sub_80EB3FC - thumb_func_start ConvertEasyChatWordsToString -ConvertEasyChatWordsToString: @ 80EB4B4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 16 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - ldr r0, _080EB53C @ =0xffff0000 - adds r2, r0 - lsrs r7, r2, 16 - movs r0, 0 - cmp r0, r9 - bcs _080EB524 -_080EB4D6: - movs r6, 0 - adds r0, 0x1 - mov r8, r0 - cmp r6, r7 - bcs _080EB508 - ldr r2, _080EB540 @ =0x0000ffff -_080EB4E2: - ldrh r1, [r5] - adds r0, r4, 0 - str r2, [sp] - bl sub_80EB3FC - adds r4, r0, 0 - ldrh r0, [r5] - ldr r2, [sp] - cmp r0, r2 - beq _080EB4FC - movs r0, 0 - strb r0, [r4] - adds r4, 0x1 -_080EB4FC: - adds r5, 0x2 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r7 - bcc _080EB4E2 -_080EB508: - ldrh r1, [r5] - adds r5, 0x2 - adds r0, r4, 0 - bl sub_80EB3FC - adds r4, r0, 0 - movs r0, 0xFE - strb r0, [r4] - adds r4, 0x1 - mov r1, r8 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, r9 - bcc _080EB4D6 -_080EB524: - subs r4, 0x1 - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080EB53C: .4byte 0xffff0000 -_080EB540: .4byte 0x0000ffff - thumb_func_end ConvertEasyChatWordsToString - - thumb_func_start sub_80EB544 -sub_80EB544: @ 80EB544 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 16 - lsls r3, 16 - lsrs r3, 16 - mov r10, r3 - ldr r0, _080EB5B0 @ =0xffff0000 - adds r2, r0 - lsrs r2, 16 - mov r8, r2 - movs r7, 0 - cmp r7, r10 - bcs _080EB5C8 -_080EB56A: - movs r6, 0 - adds r1, r7, 0x1 - mov r9, r1 - cmp r6, r8 - bcs _080EB59C - ldr r2, _080EB5B4 @ =0x0000ffff -_080EB576: - ldrh r1, [r5] - adds r0, r4, 0 - str r2, [sp] - bl sub_80EB3FC - adds r4, r0, 0 - ldrh r0, [r5] - ldr r2, [sp] - cmp r0, r2 - beq _080EB590 - movs r0, 0 - strb r0, [r4] - adds r4, 0x1 -_080EB590: - adds r5, 0x2 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r8 - bcc _080EB576 -_080EB59C: - ldrh r1, [r5] - adds r5, 0x2 - adds r0, r4, 0 - bl sub_80EB3FC - adds r4, r0, 0 - cmp r7, 0 - bne _080EB5B8 - movs r0, 0xFE - b _080EB5BA - .align 2, 0 -_080EB5B0: .4byte 0xffff0000 -_080EB5B4: .4byte 0x0000ffff -_080EB5B8: - movs r0, 0xFA -_080EB5BA: - strb r0, [r4] - adds r4, 0x1 - mov r1, r9 - lsls r0, r1, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _080EB56A -_080EB5C8: - subs r4, 0x1 - movs r0, 0xFF - strb r0, [r4] - adds r0, r4, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80EB544 - - thumb_func_start unref_sub_80EB5E0 -unref_sub_80EB5E0: @ 80EB5E0 - push {lr} - lsls r1, r0, 16 - lsrs r3, r1, 16 - ldr r0, _080EB5F0 @ =0x0000ffff - cmp r3, r0 - bne _080EB5F4 - movs r0, 0 - b _080EB67C - .align 2, 0 -_080EB5F0: .4byte 0x0000ffff -_080EB5F4: - lsrs r1, 25 - ldr r2, _080EB608 @ =0x000001ff - ands r2, r3 - cmp r1, 0x13 - bgt _080EB60C - cmp r1, 0x12 - bge _080EB620 - cmp r1, 0 - beq _080EB610 - b _080EB630 - .align 2, 0 -_080EB608: .4byte 0x000001ff -_080EB60C: - cmp r1, 0x15 - bne _080EB630 -_080EB610: - movs r0, 0xB - adds r1, r2, 0 - muls r1, r0 - ldr r0, _080EB61C @ =gSpeciesNames - adds r1, r0 - b _080EB660 - .align 2, 0 -_080EB61C: .4byte gSpeciesNames -_080EB620: - movs r0, 0xD - adds r1, r2, 0 - muls r1, r0 - ldr r0, _080EB62C @ =gMoveNames - adds r1, r0 - b _080EB660 - .align 2, 0 -_080EB62C: .4byte gMoveNames -_080EB630: - ldr r0, _080EB664 @ =gEasyChatGroupWords - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - subs r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080EB668 @ =0x0000ffff - cmp r2, r0 - beq _080EB660 - adds r3, r0, 0 -_080EB646: - ldrb r0, [r1] - adds r1, 0x1 - subs r2, 0x1 - cmp r0, 0xFF - beq _080EB658 -_080EB650: - ldrb r0, [r1] - adds r1, 0x1 - cmp r0, 0xFF - bne _080EB650 -_080EB658: - lsls r0, r2, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bne _080EB646 -_080EB660: - movs r2, 0 - b _080EB674 - .align 2, 0 -_080EB664: .4byte gEasyChatGroupWords -_080EB668: .4byte 0x0000ffff -_080EB66C: - adds r1, 0x1 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 -_080EB674: - ldrb r0, [r1] - cmp r0, 0xFF - bne _080EB66C - adds r0, r2, 0 -_080EB67C: - pop {r1} - bx r1 - thumb_func_end unref_sub_80EB5E0 - - thumb_func_start sub_80EB680 -sub_80EB680: @ 80EB680 - movs r0, 0 - bx lr - thumb_func_end sub_80EB680 - - thumb_func_start unref_sub_80EB684 -unref_sub_80EB684: @ 80EB684 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - cmp r0, 0x7 - beq _080EB6B4 - cmp r0, 0x7 - bgt _080EB69E - cmp r0, 0x5 - beq _080EB6A4 - b _080EB6EE -_080EB69E: - cmp r2, 0x8 - beq _080EB6C4 - b _080EB6EE -_080EB6A4: - movs r2, 0x6 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080EB6B0 @ =gSaveBlock1 + 0x273C - b _080EB6CE - .align 2, 0 -_080EB6B0: .4byte gSaveBlock1 + 0x273C -_080EB6B4: - movs r2, 0x2 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080EB6C0 @ =gSaveBlock1 + 0x2754 - b _080EB6CE - .align 2, 0 -_080EB6C0: .4byte gSaveBlock1 + 0x2754 -_080EB6C4: - movs r2, 0x1 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080EB6F4 @ =gSaveBlock1 + 0x273A -_080EB6CE: - adds r1, r0, r1 - subs r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080EB6F8 @ =0x0000ffff - cmp r2, r0 - beq _080EB6EE - adds r4, r0, 0 - adds r3, r0, 0 -_080EB6E0: - strh r4, [r1] - adds r1, 0x2 - subs r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bne _080EB6E0 -_080EB6EE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EB6F4: .4byte gSaveBlock1 + 0x273A -_080EB6F8: .4byte 0x0000ffff - thumb_func_end unref_sub_80EB684 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 90ae6aaf7..2f11d4111 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -52,7 +52,7 @@ AddHatchedMonToParty: @ 80429EC bl sub_8090D90 ldr r1, _08042AA4 @ =gStringVar1 adds r0, r5, 0 - bl pokemon_get_nick + bl GetMonNick mov r2, sp adds r2, 0xE movs r0, 0x4 @@ -110,7 +110,7 @@ sub_8042ABC: @ 8042ABC lsls r0, 4 adds r0, r5, r0 mov r1, sp - bl pokemon_get_nick_ + bl GetBoxMonNick lsls r0, r4, 3 subs r0, r4 lsls r1, r0, 3 @@ -857,7 +857,7 @@ _08043124: ldr r1, _08043150 @ =gPlayerParty adds r0, r1 ldr r1, _08043154 @ =gStringVar1 - bl pokemon_get_nick + bl GetMonNick ldr r4, _08043158 @ =gStringVar4 ldr r1, _0804315C @ =gOtherText_HatchedFromEgg adds r0, r4, 0 @@ -898,7 +898,7 @@ _08043180: ldr r1, _080431A8 @ =gPlayerParty adds r0, r1 ldr r1, _080431AC @ =gStringVar1 - bl pokemon_get_nick + bl GetMonNick ldr r4, _080431B0 @ =gStringVar4 ldr r1, _080431B4 @ =gOtherText_NickHatchPrompt adds r0, r4, 0 @@ -957,7 +957,7 @@ _080431DA: adds r0, r6 ldr r1, _08043280 @ =gStringVar3 mov r10, r1 - bl pokemon_get_nick + bl GetMonNick mov r2, r9 ldr r0, [r2] ldrb r0, [r0, 0x4] diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index c3b867525..ee5aa61c0 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -6,149 +6,6 @@ .text - thumb_func_start sub_805E278 -sub_805E278: @ 805E278 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805E294 @ =gMapObjects - adds r0, r2 - ldr r2, _0805E298 @ =sub_805E29C - bl meta_step - pop {r0} - bx r0 - .align 2, 0 -_0805E294: .4byte gMapObjects -_0805E298: .4byte sub_805E29C - thumb_func_end sub_805E278 - - thumb_func_start sub_805E29C -sub_805E29C: @ 805E29C - push {r4,lr} - ldr r3, _0805E2B8 @ =gUnknown_083753E4 - movs r4, 0x30 - ldrsh r2, [r1, r4] - lsls r2, 2 - adds r2, r3 - ldr r2, [r2] - bl _call_via_r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805E2B8: .4byte gUnknown_083753E4 - thumb_func_end sub_805E29C - - thumb_func_start sub_805E2BC -sub_805E2BC: @ 805E2BC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl npc_reset - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionAnimId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl FieldObjectSetRegularAnim - movs r0, 0x1 - strh r0, [r5, 0x30] - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805E2BC - - thumb_func_start sub_805E2E8 -sub_805E2E8: @ 805E2E8 - push {r4,lr} - adds r4, r1, 0 - bl FieldObjectExecRegularAnim - lsls r0, 24 - cmp r0, 0 - beq _0805E302 - adds r0, r4, 0 - movs r1, 0x30 - bl sub_8064820 - movs r0, 0x2 - strh r0, [r4, 0x30] -_0805E302: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805E2E8 - - thumb_func_start sub_805E30C -sub_805E30C: @ 805E30C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl sub_8064824 - lsls r0, 24 - cmp r0, 0 - bne _0805E32A - adds r0, r4, 0 - bl FieldObjectIsTrainerAndCloseToPlayer - lsls r0, 24 - cmp r0, 0 - beq _0805E32E -_0805E32A: - movs r0, 0x3 - strh r0, [r5, 0x30] -_0805E32E: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805E30C - - thumb_func_start sub_805E338 -sub_805E338: @ 805E338 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _0805E378 @ =gUnknown_083753F4 - mov r0, sp - movs r2, 0x5 - bl memcpy - adds r0, r4, 0 - movs r1, 0 - bl sub_805CD60 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0805E364 - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - add r0, sp - ldrb r1, [r0] -_0805E364: - adds r0, r4, 0 - bl FieldObjectSetDirection - movs r0, 0 - strh r0, [r5, 0x30] - movs r0, 0x1 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805E378: .4byte gUnknown_083753F4 - thumb_func_end sub_805E338 - thumb_func_start sub_805E37C sub_805E37C: @ 805E37C push {lr} @@ -3660,458 +3517,6 @@ sub_805FD08: @ 805FD08 .section .text_805fd18 - thumb_func_start sub_805FE28 -sub_805FE28: @ 805FE28 - push {r4,lr} - adds r3, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r0, 0x1] - lsls r0, 27 - lsrs r4, r0, 31 - cmp r4, 0 - bne _0805FE5E - adds r0, r3, 0 - adds r0, 0x2A - strb r2, [r0] - adds r0, 0x1 - ldrb r2, [r0] - adds r1, r0, 0 - cmp r2, 0x1 - bne _0805FE50 - movs r0, 0x2 - strb r0, [r1] - b _0805FE56 -_0805FE50: - cmp r2, 0x3 - bne _0805FE56 - strb r4, [r1] -_0805FE56: - ldrb r1, [r1] - adds r0, r3, 0 - bl SeekSpriteAnim -_0805FE5E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805FE28 - - thumb_func_start sub_805FE64 -sub_805FE64: @ 805FE64 - push {lr} - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r0, 0x1] - lsls r0, 27 - cmp r0, 0 - blt _0805FE8C - adds r0, r1, 0 - adds r0, 0x2A - strb r2, [r0] - movs r2, 0x3 - adds r0, 0x1 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _0805FE84 - movs r2, 0x1 -_0805FE84: - adds r0, r1, 0 - adds r1, r2, 0 - bl SeekSpriteAnim -_0805FE8C: - pop {r0} - bx r0 - thumb_func_end sub_805FE64 - - thumb_func_start sub_805FE90 -sub_805FE90: @ 805FE90 - push {lr} - lsls r1, 16 - lsrs r1, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - asrs r0, 16 - lsls r2, 16 - asrs r2, 16 - cmp r0, r2 - ble _0805FEAA - movs r0, 0x3 - b _0805FEC0 -_0805FEAA: - cmp r0, r2 - bge _0805FEB2 - movs r0, 0x4 - b _0805FEC0 -_0805FEB2: - lsls r1, 16 - lsls r0, r3, 16 - cmp r1, r0 - bgt _0805FEBE - movs r0, 0x1 - b _0805FEC0 -_0805FEBE: - movs r0, 0x2 -_0805FEC0: - pop {r1} - bx r1 - thumb_func_end sub_805FE90 - - thumb_func_start npc_set_running_behaviour_etc -npc_set_running_behaviour_etc: @ 805FEC4 - push {r4,lr} - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - strb r1, [r0, 0x6] - adds r0, 0x21 - strb r3, [r0] - adds r0, 0x1 - strb r3, [r0] - ldr r4, _0805FF08 @ =gSprites - mov r0, r12 - ldrb r2, [r0, 0x4] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r2, r4, 0 - adds r2, 0x1C - adds r0, r2 - ldr r2, _0805FF0C @ =gUnknown_0836DA88 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [r0] - mov r0, r12 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r3, [r0, 0x30] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805FF08: .4byte gSprites -_0805FF0C: .4byte gUnknown_0836DA88 - thumb_func_end npc_set_running_behaviour_etc - - thumb_func_start npc_running_behaviour_by_direction -npc_running_behaviour_by_direction: @ 805FF10 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805FF1C @ =gUnknown_0837567B - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0805FF1C: .4byte gUnknown_0837567B - thumb_func_end npc_running_behaviour_by_direction - - thumb_func_start sub_805FF20 -sub_805FF20: @ 805FF20 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - lsls r5, r1, 24 - lsrs r5, 24 - ldrh r1, [r6, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r6, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r4, r0] - adds r0, r6, 0 - adds r3, r5, 0 - bl npc_block_way - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805FF20 - - thumb_func_start npc_block_way -npc_block_way: @ 805FF60 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - lsrs r7, r3, 24 - mov r8, r7 - lsrs r0, r1, 16 - mov r9, r0 - asrs r5, r1, 16 - lsrs r0, r2, 16 - mov r10, r0 - asrs r4, r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl IsCoordOutsideFieldObjectMovementRect - lsls r0, 24 - cmp r0, 0 - beq _0805FF96 - movs r0, 0x1 - b _08060016 -_0805FF96: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridIsImpassableAt - lsls r0, 24 - cmp r0, 0 - bne _0805FFD8 - adds r0, r5, 0 - adds r1, r4, 0 - bl GetMapBorderIdAt - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _0805FFD8 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r7, 0 - bl IsMetatileDirectionallyImpassable - lsls r0, 24 - cmp r0, 0 - bne _0805FFD8 - ldrb r0, [r6, 0x1] - lsrs r0, 7 - cmp r0, 0 - beq _0805FFDC - mov r0, r8 - bl CanCameraMoveInDirection - cmp r0, 0 - bne _0805FFDC -_0805FFD8: - movs r0, 0x2 - b _08060016 -_0805FFDC: - ldrb r0, [r6, 0xB] - lsls r0, 28 - lsrs r0, 28 - mov r2, r9 - lsls r1, r2, 16 - asrs r5, r1, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r4, r1, 16 - adds r1, r5, 0 - adds r2, r4, 0 - bl IsZCoordMismatchAt - lsls r0, 24 - cmp r0, 0 - beq _08060000 - movs r0, 0x3 - b _08060016 -_08060000: - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl CheckForCollisionBetweenFieldObjects - lsls r0, 24 - cmp r0, 0 - bne _08060014 - movs r0, 0 - b _08060016 -_08060014: - movs r0, 0x4 -_08060016: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end npc_block_way - - thumb_func_start sub_8060024 -sub_8060024: @ 8060024 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsrs r0, r1, 16 - mov r9, r0 - asrs r6, r1, 16 - lsrs r0, r2, 16 - mov r10, r0 - asrs r5, r2, 16 - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl IsCoordOutsideFieldObjectMovementRect - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r4, r1, 31 - adds r0, r6, 0 - adds r1, r5, 0 - bl MapGridIsImpassableAt - lsls r0, 24 - cmp r0, 0 - bne _0806009C - adds r0, r6, 0 - adds r1, r5, 0 - bl GetMapBorderIdAt - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _0806009C - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - mov r3, r8 - bl IsMetatileDirectionallyImpassable - lsls r0, 24 - cmp r0, 0 - bne _0806009C - ldrb r0, [r7, 0x1] - lsrs r0, 7 - cmp r0, 0 - beq _080600A0 - mov r0, r8 - bl CanCameraMoveInDirection - cmp r0, 0 - bne _080600A0 -_0806009C: - movs r0, 0x2 - orrs r4, r0 -_080600A0: - ldrb r0, [r7, 0xB] - lsls r0, 28 - lsrs r0, 28 - mov r2, r9 - lsls r1, r2, 16 - asrs r6, r1, 16 - mov r2, r10 - lsls r1, r2, 16 - asrs r5, r1, 16 - adds r1, r6, 0 - adds r2, r5, 0 - bl IsZCoordMismatchAt - lsls r0, 24 - cmp r0, 0 - beq _080600C8 - movs r0, 0x4 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080600C8: - adds r0, r7, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl CheckForCollisionBetweenFieldObjects - lsls r0, 24 - cmp r0, 0 - beq _080600E0 - movs r0, 0x8 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080600E0: - adds r0, r4, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8060024 - - thumb_func_start IsCoordOutsideFieldObjectMovementRect -IsCoordOutsideFieldObjectMovementRect: @ 80600F0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - ldrb r1, [r4, 0x19] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _08060128 - lsls r1, 28 - lsrs r2, r1, 28 - ldrh r0, [r4, 0xC] - subs r2, r0, r2 - lsrs r1, 28 - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r2, 16 - lsls r0, r3, 16 - asrs r3, r0, 16 - cmp r2, r0 - bgt _08060154 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r3 - blt _08060154 -_08060128: - ldrb r1, [r4, 0x19] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _08060158 - lsls r1, 24 - lsrs r2, r1, 28 - ldrh r0, [r4, 0xE] - subs r2, r0, r2 - lsrs r1, 28 - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - lsls r2, 16 - lsls r0, r5, 16 - asrs r3, r0, 16 - cmp r2, r0 - bgt _08060154 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r3 - bge _08060158 -_08060154: - movs r0, 0x1 - b _0806015A -_08060158: - movs r0, 0 -_0806015A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsCoordOutsideFieldObjectMovementRect - thumb_func_start IsMetatileDirectionallyImpassable IsMetatileDirectionallyImpassable: @ 8060160 push {r4-r7,lr} diff --git a/asm/party_menu.s b/asm/party_menu.s index 534d4aaa4..053d8b8b0 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -7446,3631 +7446,6 @@ PartyMenuGetPopupMenuFunc: @ 806E81C bx lr thumb_func_end PartyMenuGetPopupMenuFunc - .section .text_806E884 - - - - thumb_func_start sub_806E8D0 -sub_806E8D0: @ 806E8D0 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r4, _0806E8FC @ =0x0201c000 - str r2, [r4, 0x10] - strb r0, [r4, 0x4] - bl sub_806CA38 - strb r0, [r4, 0x5] - strh r5, [r4, 0x6] - ldrb r1, [r4, 0x5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0806E900 @ =gPlayerParty - adds r0, r1 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806E8FC: .4byte 0x0201c000 -_0806E900: .4byte gPlayerParty - thumb_func_end sub_806E8D0 - - thumb_func_start PartyMenuUpdateMonHeldItem -PartyMenuUpdateMonHeldItem: @ 806E904 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r0, r4, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E93C - adds r0, r5, 0 - adds r1, r4, 0 - bl GiveMailToMon - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0806E930 - movs r0, 0x1 - b _0806E958 -_0806E930: - ldr r1, _0806E938 @ =gUnknown_0202E8F4 - movs r0, 0x2 - b _0806E940 - .align 2, 0 -_0806E938: .4byte gUnknown_0202E8F4 -_0806E93C: - ldr r1, _0806E960 @ =gUnknown_0202E8F4 - movs r0, 0x1 -_0806E940: - strb r0, [r1] - mov r0, sp - strb r4, [r0] - mov r1, sp - lsrs r0, r4, 8 - strb r0, [r1, 0x1] - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - movs r0, 0 -_0806E958: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0806E960: .4byte gUnknown_0202E8F4 - thumb_func_end PartyMenuUpdateMonHeldItem - - thumb_func_start PartyMenuTryGiveMonHeldItem -PartyMenuTryGiveMonHeldItem: @ 806E964 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - mov r9, r5 - ldr r2, _0806E9D4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r6, r1, r2 - ldr r1, _0806E9D8 @ =TaskDummy - str r1, [r6] - adds r1, r5, 0 - mov r2, r8 - bl sub_806E8D0 - ldr r4, _0806E9DC @ =0x0201c000 - ldr r0, [r4] - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r2, r0, 16 - adds r7, r2, 0 - ldr r1, _0806E9E0 @ =gUnknown_0202E8F4 - movs r0, 0 - strb r0, [r1] - ldr r0, _0806E9E4 @ =gUnknown_0202E8F8 - mov r10, r0 - movs r0, 0 - mov r1, r10 - strh r0, [r1] - cmp r2, 0 - beq _0806EA44 - adds r0, r2, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806E9F0 - ldr r0, _0806E9E8 @ =gOtherText_MailMustBeRemoved - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806E9EC @ =party_menu_link_mon_held_item_object - movs r1, 0x5 - bl CreateTask - b _0806EA78 - .align 2, 0 -_0806E9D4: .4byte gTasks -_0806E9D8: .4byte TaskDummy -_0806E9DC: .4byte 0x0201c000 -_0806E9E0: .4byte gUnknown_0202E8F4 -_0806E9E4: .4byte gUnknown_0202E8F8 -_0806E9E8: .4byte gOtherText_MailMustBeRemoved -_0806E9EC: .4byte party_menu_link_mon_held_item_object -_0806E9F0: - ldr r0, [r4] - ldr r1, _0806EA30 @ =gStringVar1 - bl GetMonNickname - ldr r1, _0806EA34 @ =gStringVar2 - adds r0, r7, 0 - bl CopyItemName - ldr r4, _0806EA38 @ =gStringVar4 - ldr r1, _0806EA3C @ =gOtherText_AlreadyHolding - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806EA40 @ =Task_ConfirmGiveHeldItem - movs r1, 0x5 - bl CreateTask - adds r0, r5, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806EA78 - mov r0, r10 - strh r7, [r0] - b _0806EA78 - .align 2, 0 -_0806EA30: .4byte gStringVar1 -_0806EA34: .4byte gStringVar2 -_0806EA38: .4byte gStringVar4 -_0806EA3C: .4byte gOtherText_AlreadyHolding -_0806EA40: .4byte Task_ConfirmGiveHeldItem -_0806EA44: - ldr r0, [r4] - adds r1, r5, 0 - bl PartyMenuUpdateMonHeldItem - adds r0, r5, 0 - movs r1, 0x1 - bl RemoveBagItem - adds r0, r5, 0 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0806EA66 - mov r1, r8 - str r1, [r6] - b _0806EA78 -_0806EA66: - ldrb r0, [r4, 0x5] - mov r1, r9 - movs r2, 0x1 - bl DisplayGiveHeldItemMessage - ldr r0, _0806EA88 @ =party_menu_link_mon_held_item_object - movs r1, 0x5 - bl CreateTask -_0806EA78: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806EA88: .4byte party_menu_link_mon_held_item_object - thumb_func_end PartyMenuTryGiveMonHeldItem - - thumb_func_start party_menu_link_mon_held_item_object -party_menu_link_mon_held_item_object: @ 806EA8C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0806EAC0 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806EABA - ldr r4, _0806EAC4 @ =0x0201c000 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - bl SetHeldItemIconVisibility - ldr r2, _0806EAC8 @ =gTasks - ldrb r1, [r4, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r4, 0x10] - str r1, [r0] - adds r0, r5, 0 - bl DestroyTask -_0806EABA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806EAC0: .4byte gUnknown_0202E8F6 -_0806EAC4: .4byte 0x0201c000 -_0806EAC8: .4byte gTasks - thumb_func_end party_menu_link_mon_held_item_object - - thumb_func_start PartyMenuTryGiveMonHeldItem_806EACC -PartyMenuTryGiveMonHeldItem_806EACC: @ 806EACC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806EB74 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r4, _0806EB30 @ =0x0201c000 - ldr r0, [r4] - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl RemoveBagItem - adds r0, r5, 0 - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806EB5C - ldr r0, [r4] - ldrh r1, [r4, 0x6] - bl PartyMenuUpdateMonHeldItem - ldrh r0, [r4, 0x6] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0806EB34 - ldrb r0, [r4, 0x5] - adds r1, r5, 0 - movs r2, 0x1 - bl DisplayTakeHeldItemMessage - b _0806EB9A - .align 2, 0 -_0806EB30: .4byte 0x0201c000 -_0806EB34: - ldrh r0, [r4, 0x6] - ldr r1, _0806EB50 @ =gStringVar1 - bl CopyItemName - ldr r4, _0806EB54 @ =gStringVar4 - ldr r1, _0806EB58 @ =gOtherText_TakenAndReplaced - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - b _0806EB9A - .align 2, 0 -_0806EB50: .4byte gStringVar1 -_0806EB54: .4byte gStringVar4 -_0806EB58: .4byte gOtherText_TakenAndReplaced -_0806EB5C: - ldr r0, _0806EB70 @ =gOtherText_BagFullCannotRemoveItem - movs r1, 0 - bl sub_806E834 - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl AddBagItem - b _0806EB9A - .align 2, 0 -_0806EB70: .4byte gOtherText_BagFullCannotRemoveItem -_0806EB74: - cmp r1, 0x1 - beq _0806EB80 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EBA8 -_0806EB80: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EB8E - movs r0, 0x5 - bl PlaySE -_0806EB8E: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect -_0806EB9A: - ldr r0, _0806EBB0 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EBB4 @ =party_menu_link_mon_held_item_object - str r0, [r1] -_0806EBA8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806EBB0: .4byte gTasks -_0806EBB4: .4byte party_menu_link_mon_held_item_object - thumb_func_end PartyMenuTryGiveMonHeldItem_806EACC - - thumb_func_start Task_ConfirmGiveHeldItem -Task_ConfirmGiveHeldItem: @ 806EBB8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806EBE4 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806EBDE - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _0806EBE8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EBEC @ =PartyMenuTryGiveMonHeldItem_806EACC - str r0, [r1] -_0806EBDE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806EBE4: .4byte gUnknown_0202E8F6 -_0806EBE8: .4byte gTasks -_0806EBEC: .4byte PartyMenuTryGiveMonHeldItem_806EACC - thumb_func_end Task_ConfirmGiveHeldItem - - thumb_func_start DisplayGiveHeldItemMessage -DisplayGiveHeldItemMessage: @ 806EBF0 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0806EC30 @ =gPlayerParty - adds r0, r1 - ldr r1, _0806EC34 @ =gStringVar1 - bl GetMonNickname - ldr r1, _0806EC38 @ =gStringVar2 - adds r0, r4, 0 - bl CopyItemName - ldr r4, _0806EC3C @ =gStringVar4 - ldr r1, _0806EC40 @ =gOtherText_WasGivenToHold - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_806E834 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806EC30: .4byte gPlayerParty -_0806EC34: .4byte gStringVar1 -_0806EC38: .4byte gStringVar2 -_0806EC3C: .4byte gStringVar4 -_0806EC40: .4byte gOtherText_WasGivenToHold - thumb_func_end DisplayGiveHeldItemMessage - - thumb_func_start PartyMenuTryGiveMonMail -PartyMenuTryGiveMonMail: @ 806EC44 - push {r4,r5,lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806ECA0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldr r3, _0806ECA4 @ =TaskDummy - str r3, [r1] - movs r1, 0 - bl sub_806E8D0 - ldr r5, _0806ECA8 @ =0x0201c000 - ldr r0, [r5] - movs r1, 0xC - bl GetMonData - lsls r0, 16 - ldr r2, _0806ECAC @ =gUnknown_0202E8F4 - movs r1, 0 - strb r1, [r2] - movs r1, 0xF8 - lsls r1, 6 - adds r2, r5, r1 - ldrb r1, [r2] - adds r1, 0x6 - ldrb r2, [r2, 0x2] - adds r1, r2 - lsls r2, r1, 3 - adds r2, r1 - lsls r2, 2 - ldr r1, _0806ECB0 @ =gSaveBlock1 + 0x2B4C - adds r4, r2, r1 - cmp r0, 0 - beq _0806ECBC - ldr r0, _0806ECB4 @ =gOtherText_PokeHoldingItemCantMail - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806ECB8 @ =party_menu_link_mon_held_item_object - movs r1, 0x5 - bl CreateTask - b _0806ECDA - .align 2, 0 -_0806ECA0: .4byte gTasks -_0806ECA4: .4byte TaskDummy -_0806ECA8: .4byte 0x0201c000 -_0806ECAC: .4byte gUnknown_0202E8F4 -_0806ECB0: .4byte gSaveBlock1 + 0x2B4C -_0806ECB4: .4byte gOtherText_PokeHoldingItemCantMail -_0806ECB8: .4byte party_menu_link_mon_held_item_object -_0806ECBC: - ldr r0, [r5] - adds r1, r4, 0 - bl GiveMailToMon2 - adds r0, r4, 0 - bl ClearMailStruct - ldr r0, _0806ECE0 @ =gOtherText_MailTransferredMailbox - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806ECE4 @ =party_menu_link_mon_held_item_object - movs r1, 0x5 - bl CreateTask -_0806ECDA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806ECE0: .4byte gOtherText_MailTransferredMailbox -_0806ECE4: .4byte party_menu_link_mon_held_item_object - thumb_func_end PartyMenuTryGiveMonMail - - thumb_func_start PartyMenuTryGiveMonHeldItem_806ECE8 -PartyMenuTryGiveMonHeldItem_806ECE8: @ 806ECE8 - push {r4-r6,lr} - sub sp, 0x4 - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806ED38 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldr r3, _0806ED3C @ =TaskDummy - str r3, [r1] - movs r1, 0 - bl sub_806E8D0 - ldr r5, _0806ED40 @ =0x0201c000 - ldr r0, [r5] - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - cmp r4, 0 - bne _0806ED50 - ldr r4, _0806ED44 @ =gStringVar4 - ldr r1, _0806ED48 @ =gOtherText_NotHoldingAnything - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0 - bl sub_806E834 - ldr r0, _0806ED4C @ =party_menu_link_mon_held_item_object - movs r1, 0x5 - bl CreateTask - b _0806EDA2 - .align 2, 0 -_0806ED38: .4byte gTasks -_0806ED3C: .4byte TaskDummy -_0806ED40: .4byte 0x0201c000 -_0806ED44: .4byte gStringVar4 -_0806ED48: .4byte gOtherText_NotHoldingAnything -_0806ED4C: .4byte party_menu_link_mon_held_item_object -_0806ED50: - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0, 0x1] - adds r0, r4, 0 - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806ED92 - adds r0, r4, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806ED7C - ldr r0, [r5] - bl TakeMailFromMon -_0806ED7C: - ldrb r0, [r5, 0x5] - adds r1, r6, 0 - movs r2, 0 - bl DisplayTakeHeldItemMessage - ldr r0, [r5] - movs r1, 0xC - mov r2, sp - bl SetMonData - b _0806ED9A -_0806ED92: - ldr r0, _0806EDAC @ =gOtherText_BagFullCannotRemoveItem - movs r1, 0 - bl sub_806E834 -_0806ED9A: - ldr r0, _0806EDB0 @ =party_menu_link_mon_held_item_object - movs r1, 0x5 - bl CreateTask -_0806EDA2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806EDAC: .4byte gOtherText_BagFullCannotRemoveItem -_0806EDB0: .4byte party_menu_link_mon_held_item_object - thumb_func_end PartyMenuTryGiveMonHeldItem_806ECE8 - - thumb_func_start DisplayTakeHeldItemMessage -DisplayTakeHeldItemMessage: @ 806EDB4 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0806EDF4 @ =gPlayerParty - adds r0, r1 - ldr r1, _0806EDF8 @ =gStringVar1 - bl GetMonNickname - ldr r1, _0806EDFC @ =gStringVar2 - adds r0, r4, 0 - bl CopyItemName - ldr r4, _0806EE00 @ =gStringVar4 - ldr r1, _0806EE04 @ =gOtherText_ReceivedTheThingFrom - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_806E834 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806EDF4: .4byte gPlayerParty -_0806EDF8: .4byte gStringVar1 -_0806EDFC: .4byte gStringVar2 -_0806EE00: .4byte gStringVar4 -_0806EE04: .4byte gOtherText_ReceivedTheThingFrom - thumb_func_end DisplayTakeHeldItemMessage - - thumb_func_start DoTakeMail -DoTakeMail: @ 806EE08 - push {r4,lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0806EE48 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldr r3, _0806EE4C @ =TaskDummy - str r3, [r1] - movs r1, 0 - bl sub_806E8D0 - ldr r4, _0806EE50 @ =0x0201c000 - ldr r0, [r4] - movs r1, 0xC - bl GetMonData - strh r0, [r4, 0x6] - ldr r0, _0806EE54 @ =gOtherText_SendRemovedMailPrompt - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806EE58 @ =Task_ConfirmTakeHeldMail - movs r1, 0x5 - bl CreateTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806EE48: .4byte gTasks -_0806EE4C: .4byte TaskDummy -_0806EE50: .4byte 0x0201c000 -_0806EE54: .4byte gOtherText_SendRemovedMailPrompt -_0806EE58: .4byte Task_ConfirmTakeHeldMail - thumb_func_end DoTakeMail - - thumb_func_start Task_LoseMailMessage -Task_LoseMailMessage: @ 806EE5C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806EEB0 - ldr r5, _0806EE90 @ =0x0201c000 - ldrh r0, [r5, 0x6] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806EE98 - ldr r0, [r5] - bl TakeMailFromMon - ldr r0, _0806EE94 @ =gOtherText_MailTaken - movs r1, 0 - bl sub_806E834 - b _0806EEA0 - .align 2, 0 -_0806EE90: .4byte 0x0201c000 -_0806EE94: .4byte gOtherText_MailTaken -_0806EE98: - ldr r0, _0806EEAC @ =gOtherText_BagFullCannotRemoveItem - movs r1, 0 - bl sub_806E834 -_0806EEA0: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - b _0806EEDE - .align 2, 0 -_0806EEAC: .4byte gOtherText_BagFullCannotRemoveItem -_0806EEB0: - cmp r1, 0x1 - beq _0806EEBC - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EEF0 -_0806EEBC: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EECA - movs r0, 0x5 - bl PlaySE -_0806EECA: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 -_0806EEDE: - bl MenuZeroFillWindowRect - ldr r0, _0806EEF8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EEFC @ =party_menu_link_mon_held_item_object - str r0, [r1] -_0806EEF0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806EEF8: .4byte gTasks -_0806EEFC: .4byte party_menu_link_mon_held_item_object - thumb_func_end Task_LoseMailMessage - - thumb_func_start Task_ConfirmLoseMailMessage -Task_ConfirmLoseMailMessage: @ 806EF00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806EF2C @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806EF26 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _0806EF30 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EF34 @ =Task_LoseMailMessage - str r0, [r1] -_0806EF26: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806EF2C: .4byte gUnknown_0202E8F6 -_0806EF30: .4byte gTasks -_0806EF34: .4byte Task_LoseMailMessage - thumb_func_end Task_ConfirmLoseMailMessage - - thumb_func_start Task_TakeHeldMail -Task_TakeHeldMail: @ 806EF38 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806EF9C - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _0806EF70 @ =0x0201c000 - ldr r0, [r0] - bl TakeMailFromMon2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0806EF78 - ldr r0, _0806EF74 @ =gOtherText_MailWasSent - movs r1, 0 - bl sub_806E834 - b _0806EF80 - .align 2, 0 -_0806EF70: .4byte 0x0201c000 -_0806EF74: .4byte gOtherText_MailWasSent -_0806EF78: - ldr r0, _0806EF90 @ =gOtherText_MailboxIsFull - movs r1, 0 - bl sub_806E834 -_0806EF80: - ldr r0, _0806EF94 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806EF98 @ =party_menu_link_mon_held_item_object - str r0, [r1] - b _0806EFD8 - .align 2, 0 -_0806EF90: .4byte gOtherText_MailboxIsFull -_0806EF94: .4byte gTasks -_0806EF98: .4byte party_menu_link_mon_held_item_object -_0806EF9C: - cmp r1, 0x1 - beq _0806EFA8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EFD8 -_0806EFA8: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806EFB6 - movs r0, 0x5 - bl PlaySE -_0806EFB6: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _0806EFE0 @ =gOtherText_MailRemovedMessageLost - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806EFE4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806EFE8 @ =Task_ConfirmLoseMailMessage - str r1, [r0] -_0806EFD8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806EFE0: .4byte gOtherText_MailRemovedMessageLost -_0806EFE4: .4byte gTasks -_0806EFE8: .4byte Task_ConfirmLoseMailMessage - thumb_func_end Task_TakeHeldMail - - thumb_func_start Task_ConfirmTakeHeldMail -Task_ConfirmTakeHeldMail: @ 806EFEC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F018 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F012 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _0806F01C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806F020 @ =Task_TakeHeldMail - str r0, [r1] -_0806F012: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F018: .4byte gUnknown_0202E8F6 -_0806F01C: .4byte gTasks -_0806F020: .4byte Task_TakeHeldMail - thumb_func_end Task_ConfirmTakeHeldMail - - thumb_func_start ItemIdToBattleMoveId -ItemIdToBattleMoveId: @ 806F024 - lsls r0, 16 - ldr r1, _0806F034 @ =0xfedf0000 - adds r0, r1 - ldr r1, _0806F038 @ =gUnknown_08376504 - lsrs r0, 15 - adds r0, r1 - ldrh r0, [r0] - bx lr - .align 2, 0 -_0806F034: .4byte 0xfedf0000 -_0806F038: .4byte gUnknown_08376504 - thumb_func_end ItemIdToBattleMoveId - - thumb_func_start pokemon_has_move -pokemon_has_move: @ 806F03C - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 -_0806F046: - adds r1, r4, 0 - adds r1, 0xD - adds r0, r6, 0 - bl GetMonData - cmp r0, r5 - bne _0806F058 - movs r0, 0x1 - b _0806F064 -_0806F058: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0806F046 - movs r0, 0 -_0806F064: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end pokemon_has_move - - thumb_func_start TeachMonTMMove -TeachMonTMMove: @ 806F06C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - movs r0, 0x5 - bl PlaySE - ldr r1, _0806F0A8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F0AC @ =TaskDummy - str r1, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_806E8D0 - ldr r0, _0806F0B0 @ =Task_TeamMonTMMove - movs r1, 0x5 - bl CreateTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F0A8: .4byte gTasks -_0806F0AC: .4byte TaskDummy -_0806F0B0: .4byte Task_TeamMonTMMove - thumb_func_end TeachMonTMMove - - thumb_func_start Task_TeamMonTMMove -Task_TeamMonTMMove: @ 806F0B4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - ldr r5, _0806F114 @ =0x0201c000 - ldr r0, [r5] - ldr r1, _0806F118 @ =gStringVar1 - bl GetMonNickname - ldrh r0, [r5, 0x6] - bl ItemIdToBattleMoveId - movs r4, 0 - strh r0, [r5, 0x8] - ldr r0, _0806F11C @ =gStringVar2 - ldrh r2, [r5, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F120 @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r1, _0806F124 @ =0xfffff282 - adds r0, r5, r1 - strh r4, [r0] - ldr r0, [r5] - ldrh r1, [r5, 0x8] - bl pokemon_has_move - lsls r0, 24 - cmp r0, 0 - beq _0806F138 - ldr r4, _0806F128 @ =gStringVar4 - ldr r1, _0806F12C @ =gOtherText_AlreadyKnows - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F130 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F134 @ =party_menu_link_mon_held_item_object - b _0806F1B6 - .align 2, 0 -_0806F114: .4byte 0x0201c000 -_0806F118: .4byte gStringVar1 -_0806F11C: .4byte gStringVar2 -_0806F120: .4byte gMoveNames -_0806F124: .4byte 0xfffff282 -_0806F128: .4byte gStringVar4 -_0806F12C: .4byte gOtherText_AlreadyKnows -_0806F130: .4byte gTasks -_0806F134: .4byte party_menu_link_mon_held_item_object -_0806F138: - ldr r0, [r5] - ldrb r1, [r5, 0x6] - subs r1, 0x21 - lsls r1, 24 - lsrs r1, 24 - bl CanMonLearnTMHM - cmp r0, 0 - bne _0806F17C - ldr r4, _0806F16C @ =gStringVar4 - ldr r1, _0806F170 @ =gOtherText_NotCompatible - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F174 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F178 @ =party_menu_link_mon_held_item_object - b _0806F1B6 - .align 2, 0 -_0806F16C: .4byte gStringVar4 -_0806F170: .4byte gOtherText_NotCompatible -_0806F174: .4byte gTasks -_0806F178: .4byte party_menu_link_mon_held_item_object -_0806F17C: - ldr r0, [r5] - ldrh r1, [r5, 0x8] - bl GiveMoveToMon - lsls r0, 16 - ldr r1, _0806F194 @ =0xffff0000 - cmp r0, r1 - beq _0806F198 - adds r0, r6, 0 - bl Task_TeamMonTMMove2 - b _0806F1B8 - .align 2, 0 -_0806F194: .4byte 0xffff0000 -_0806F198: - ldr r4, _0806F1C0 @ =gStringVar4 - ldr r1, _0806F1C4 @ =gOtherText_WantsToLearn - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F1C8 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F1CC @ =sub_806F358 -_0806F1B6: - str r1, [r0] -_0806F1B8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0806F1C0: .4byte gStringVar4 -_0806F1C4: .4byte gOtherText_WantsToLearn -_0806F1C8: .4byte gTasks -_0806F1CC: .4byte sub_806F358 - thumb_func_end Task_TeamMonTMMove - - thumb_func_start Task_TeamMonTMMove2 -Task_TeamMonTMMove2: @ 806F1D0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0806F234 @ =gStringVar2 - ldr r5, _0806F238 @ =0x0201c000 - ldrh r2, [r5, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F23C @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _0806F240 @ =gStringVar4 - ldr r1, _0806F244 @ =gOtherText_LearnedMove - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, [r5] - movs r1, 0x4 - bl AdjustFriendship - ldr r1, _0806F248 @ =0xfffff282 - adds r0, r5, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0806F220 - ldrh r1, [r5, 0x6] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bhi _0806F220 - adds r0, r1, 0 - movs r1, 0x1 - bl RemoveBagItem -_0806F220: - ldr r0, _0806F24C @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806F250 @ =Task_TeamMonTMMove3 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F234: .4byte gStringVar2 -_0806F238: .4byte 0x0201c000 -_0806F23C: .4byte gMoveNames -_0806F240: .4byte gStringVar4 -_0806F244: .4byte gOtherText_LearnedMove -_0806F248: .4byte 0xfffff282 -_0806F24C: .4byte gTasks -_0806F250: .4byte Task_TeamMonTMMove3 - thumb_func_end Task_TeamMonTMMove2 - - thumb_func_start Task_TeamMonTMMove3 -Task_TeamMonTMMove3: @ 806F254 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F27C @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F276 - ldr r0, _0806F280 @ =0x0000016f - bl PlayFanfare - ldr r1, _0806F284 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F288 @ =Task_TeamMonTMMove4 - str r1, [r0] -_0806F276: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F27C: .4byte gUnknown_0202E8F6 -_0806F280: .4byte 0x0000016f -_0806F284: .4byte gTasks -_0806F288: .4byte Task_TeamMonTMMove4 - thumb_func_end Task_TeamMonTMMove3 - - thumb_func_start Task_TeamMonTMMove4 -Task_TeamMonTMMove4: @ 806F28C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _0806F2F2 - ldr r0, _0806F2D0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0806F2B2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806F2F2 -_0806F2B2: - ldr r4, _0806F2D4 @ =0x0201c000 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - bl SetHeldItemIconVisibility - ldr r1, _0806F2D8 @ =0xfffff282 - adds r0, r4, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _0806F2DC - adds r0, r5, 0 - bl sub_8070C54 - b _0806F2F2 - .align 2, 0 -_0806F2D0: .4byte gMain -_0806F2D4: .4byte 0x0201c000 -_0806F2D8: .4byte 0xfffff282 -_0806F2DC: - ldr r2, _0806F2F8 @ =gTasks - ldrb r1, [r4, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r4, 0x10] - str r1, [r0] - adds r0, r6, 0 - bl DestroyTask -_0806F2F2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F2F8: .4byte gTasks - thumb_func_end Task_TeamMonTMMove4 - - thumb_func_start sub_806F2FC -sub_806F2FC: @ 806F2FC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r0, _0806F32C @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F34E - ldr r4, _0806F330 @ =0x0201c000 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - bl SetHeldItemIconVisibility - ldr r1, _0806F334 @ =0xfffff282 - adds r0, r4, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _0806F338 - adds r0, r5, 0 - bl sub_8070C54 - b _0806F34E - .align 2, 0 -_0806F32C: .4byte gUnknown_0202E8F6 -_0806F330: .4byte 0x0201c000 -_0806F334: .4byte 0xfffff282 -_0806F338: - ldr r2, _0806F354 @ =gTasks - ldrb r1, [r4, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r4, 0x10] - str r1, [r0] - adds r0, r6, 0 - bl DestroyTask -_0806F34E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F354: .4byte gTasks - thumb_func_end sub_806F2FC - - thumb_func_start sub_806F358 -sub_806F358: @ 806F358 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F384 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F37E - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _0806F388 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806F38C @ =sub_806F390 - str r0, [r1] -_0806F37E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F384: .4byte gUnknown_0202E8F6 -_0806F388: .4byte gTasks -_0806F38C: .4byte sub_806F390 - thumb_func_end sub_806F358 - - thumb_func_start sub_806F390 -sub_806F390: @ 806F390 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806F3D4 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _0806F3C8 @ =gOtherText_WhichMoveToForget2 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F3CC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F3D0 @ =sub_806F44C - str r1, [r0] - b _0806F3F4 - .align 2, 0 -_0806F3C8: .4byte gOtherText_WhichMoveToForget2 -_0806F3CC: .4byte gTasks -_0806F3D0: .4byte sub_806F44C -_0806F3D4: - cmp r1, 0x1 - beq _0806F3E0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806F3F4 -_0806F3E0: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806F3EE - movs r0, 0x5 - bl PlaySE -_0806F3EE: - adds r0, r5, 0 - bl StopTryingToTeachMove_806F614 -_0806F3F4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806F390 - - thumb_func_start sub_806F3FC -sub_806F3FC: @ 806F3FC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0806F438 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806F430 - ldr r0, _0806F43C @ =gPlayerParty - ldr r4, _0806F440 @ =0x0201c000 - ldrb r1, [r4, 0x5] - ldr r2, _0806F444 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _0806F448 @ =sub_808B564 - ldrh r4, [r4, 0x8] - str r4, [sp] - bl sub_809D9F0 - adds r0, r5, 0 - bl DestroyTask -_0806F430: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806F438: .4byte gPaletteFade -_0806F43C: .4byte gPlayerParty -_0806F440: .4byte 0x0201c000 -_0806F444: .4byte gPlayerPartyCount -_0806F448: .4byte sub_808B564 - thumb_func_end sub_806F3FC - - thumb_func_start sub_806F44C -sub_806F44C: @ 806F44C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F484 @ =gUnknown_0202E8F6 - ldrb r1, [r0] - cmp r1, 0 - bne _0806F47A - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0806F488 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F48C @ =sub_806F3FC - str r1, [r0] -_0806F47A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F484: .4byte gUnknown_0202E8F6 -_0806F488: .4byte gTasks -_0806F48C: .4byte sub_806F3FC - thumb_func_end sub_806F44C - - thumb_func_start TaughtMove -TaughtMove: @ 806F490 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0806F50C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806F506 - ldr r1, _0806F510 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F514 @ =TaskDummy - str r1, [r0] - ldr r0, _0806F518 @ =gScriptItemId - ldrh r1, [r0] - ldr r2, _0806F51C @ =sub_808B508 - adds r0, r3, 0 - bl sub_806E8D0 - bl sub_809FA30 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r5, _0806F520 @ =0x0201c000 - ldr r0, [r5] - adds r1, 0xD - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, [r5] - ldr r1, _0806F524 @ =gStringVar1 - bl GetMonNickname - ldr r0, _0806F528 @ =gStringVar2 - movs r1, 0xD - muls r1, r4 - ldr r2, _0806F52C @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _0806F530 @ =gStringVar4 - ldr r1, _0806F534 @ =gOtherText_ForgetMove123_2 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806F538 @ =TMMoveUpdateMoveSlot - movs r1, 0x5 - bl CreateTask -_0806F506: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806F50C: .4byte gPaletteFade -_0806F510: .4byte gTasks -_0806F514: .4byte TaskDummy -_0806F518: .4byte gScriptItemId -_0806F51C: .4byte sub_808B508 -_0806F520: .4byte 0x0201c000 -_0806F524: .4byte gStringVar1 -_0806F528: .4byte gStringVar2 -_0806F52C: .4byte gMoveNames -_0806F530: .4byte gStringVar4 -_0806F534: .4byte gOtherText_ForgetMove123_2 -_0806F538: .4byte TMMoveUpdateMoveSlot - thumb_func_end TaughtMove - - thumb_func_start TMMoveUpdateMoveSlot -TMMoveUpdateMoveSlot: @ 806F53C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0806F580 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F57A - ldr r4, _0806F584 @ =0x0201c000 - ldr r5, [r4] - bl sub_809FA30 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl RemoveMonPPBonus - ldr r5, [r4] - ldrh r4, [r4, 0x8] - bl sub_809FA30 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl SetMonMoveSlot - adds r0, r6, 0 - bl Task_TeamMonTMMove2 -_0806F57A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F580: .4byte gUnknown_0202E8F6 -_0806F584: .4byte 0x0201c000 - thumb_func_end TMMoveUpdateMoveSlot - - thumb_func_start StopTryingToTeachMove_806F588 -StopTryingToTeachMove_806F588: @ 806F588 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0806F5E8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0806F5E0 - ldr r1, _0806F5EC @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F5F0 @ =TaskDummy - str r1, [r0] - ldr r0, _0806F5F4 @ =gScriptItemId - ldrh r1, [r0] - ldr r2, _0806F5F8 @ =sub_808B508 - adds r0, r3, 0 - bl sub_806E8D0 - ldr r0, _0806F5FC @ =gStringVar2 - ldr r1, _0806F600 @ =0x0201c000 - ldrh r2, [r1, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F604 @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _0806F608 @ =gStringVar4 - ldr r1, _0806F60C @ =gOtherText_StopTryingTo - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0806F610 @ =StopTryingToTeachMove_806F67C - movs r1, 0x5 - bl CreateTask -_0806F5E0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F5E8: .4byte gPaletteFade -_0806F5EC: .4byte gTasks -_0806F5F0: .4byte TaskDummy -_0806F5F4: .4byte gScriptItemId -_0806F5F8: .4byte sub_808B508 -_0806F5FC: .4byte gStringVar2 -_0806F600: .4byte 0x0201c000 -_0806F604: .4byte gMoveNames -_0806F608: .4byte gStringVar4 -_0806F60C: .4byte gOtherText_StopTryingTo -_0806F610: .4byte StopTryingToTeachMove_806F67C - thumb_func_end StopTryingToTeachMove_806F588 - - thumb_func_start StopTryingToTeachMove_806F614 -StopTryingToTeachMove_806F614: @ 806F614 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _0806F660 @ =gStringVar2 - ldr r1, _0806F664 @ =0x0201c000 - ldrh r2, [r1, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F668 @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _0806F66C @ =gStringVar4 - ldr r1, _0806F670 @ =gOtherText_StopTryingTo - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F674 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F678 @ =StopTryingToTeachMove_806F67C - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0806F660: .4byte gStringVar2 -_0806F664: .4byte 0x0201c000 -_0806F668: .4byte gMoveNames -_0806F66C: .4byte gStringVar4 -_0806F670: .4byte gOtherText_StopTryingTo -_0806F674: .4byte gTasks -_0806F678: .4byte StopTryingToTeachMove_806F67C - thumb_func_end StopTryingToTeachMove_806F614 - - thumb_func_start StopTryingToTeachMove_806F67C -StopTryingToTeachMove_806F67C: @ 806F67C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806F6A8 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806F6A2 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _0806F6AC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0806F6B0 @ =StopTryingToTeachMove_806F6B4 - str r0, [r1] -_0806F6A2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806F6A8: .4byte gUnknown_0202E8F6 -_0806F6AC: .4byte gTasks -_0806F6B0: .4byte StopTryingToTeachMove_806F6B4 - thumb_func_end StopTryingToTeachMove_806F67C - - thumb_func_start StopTryingToTeachMove_806F6B4 -StopTryingToTeachMove_806F6B4: @ 806F6B4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - bne _0806F730 - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r4, _0806F710 @ =0x0201c000 - ldr r0, [r4] - ldr r1, _0806F714 @ =gStringVar1 - bl GetMonNickname - ldr r0, _0806F718 @ =gStringVar2 - ldrh r2, [r4, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F71C @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _0806F720 @ =gStringVar4 - ldr r1, _0806F724 @ =gOtherText_DidNotLearnMove2 - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F728 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F72C @ =sub_806F2FC - b _0806F78E - .align 2, 0 -_0806F710: .4byte 0x0201c000 -_0806F714: .4byte gStringVar1 -_0806F718: .4byte gStringVar2 -_0806F71C: .4byte gMoveNames -_0806F720: .4byte gStringVar4 -_0806F724: .4byte gOtherText_DidNotLearnMove2 -_0806F728: .4byte gTasks -_0806F72C: .4byte sub_806F2FC -_0806F730: - cmp r1, 0x1 - beq _0806F73C - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806F790 -_0806F73C: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0806F74A - movs r0, 0x5 - bl PlaySE -_0806F74A: - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r4, _0806F798 @ =0x0201c000 - ldr r0, [r4] - ldr r1, _0806F79C @ =gStringVar1 - bl GetMonNickname - ldr r0, _0806F7A0 @ =gStringVar2 - ldrh r2, [r4, 0x8] - movs r1, 0xD - muls r1, r2 - ldr r2, _0806F7A4 @ =gMoveNames - adds r1, r2 - bl StringCopy - ldr r4, _0806F7A8 @ =gStringVar4 - ldr r1, _0806F7AC @ =gOtherText_WantsToLearn - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806F7B0 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F7B4 @ =sub_806F358 -_0806F78E: - str r1, [r0] -_0806F790: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0806F798: .4byte 0x0201c000 -_0806F79C: .4byte gStringVar1 -_0806F7A0: .4byte gStringVar2 -_0806F7A4: .4byte gMoveNames -_0806F7A8: .4byte gStringVar4 -_0806F7AC: .4byte gOtherText_WantsToLearn -_0806F7B0: .4byte gTasks -_0806F7B4: .4byte sub_806F358 - thumb_func_end StopTryingToTeachMove_806F6B4 - - thumb_func_start IsHMMove -IsHMMove: @ 806F7B8 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - ldr r3, _0806F7D4 @ =gUnknown_08376504 -_0806F7C2: - adds r0, r1, 0 - adds r0, 0x32 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _0806F7D8 - movs r0, 0x1 - b _0806F7E4 - .align 2, 0 -_0806F7D4: .4byte gUnknown_08376504 -_0806F7D8: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _0806F7C2 - movs r0, 0 -_0806F7E4: - pop {r1} - bx r1 - thumb_func_end IsHMMove - - thumb_func_start sub_806F7E8 -sub_806F7E8: @ 806F7E8 - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - ldr r0, _0806F898 @ =gTasks + 0x8 - adds r3, r0 - movs r0, 0x14 - ldrsh r1, [r3, r0] - str r1, [r5] - movs r4, 0x16 - ldrsh r0, [r3, r4] - str r0, [r5, 0x4] - movs r4, 0x18 - ldrsh r0, [r3, r4] - lsls r2, 24 - asrs r2, 24 - muls r0, r2 - str r0, [r5, 0x8] - movs r0, 0x80 - lsls r0, 1 - str r0, [r5, 0x10] - ldr r6, _0806F89C @ =0x0201b000 - ldr r2, _0806F8A0 @ =0x00000282 - adds r0, r6, r2 - movs r4, 0 - ldrsh r0, [r0, r4] - bl GetHPBarLevel - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - cmp r2, 0x2 - bls _0806F83E - ldrb r0, [r5, 0xC] - movs r1, 0x20 - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r5, 0xC] -_0806F83E: - cmp r2, 0x2 - bne _0806F850 - ldrb r0, [r5, 0xC] - movs r1, 0x20 - negs r1, r1 - ands r1, r0 - movs r0, 0x5 - orrs r1, r0 - strb r1, [r5, 0xC] -_0806F850: - cmp r3, 0x1 - bhi _0806F862 - ldrb r0, [r5, 0xC] - movs r1, 0x20 - negs r1, r1 - ands r1, r0 - movs r0, 0x6 - orrs r1, r0 - strb r1, [r5, 0xC] -_0806F862: - ldr r4, _0806F8A4 @ =gUnknown_08376858 - bl IsDoubleBattle - movs r2, 0x80 - lsls r2, 5 - adds r1, r6, r2 - ldrb r2, [r1, 0x5] - lsls r2, 2 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r2, r1 - adds r2, r4 - ldr r2, [r2] - ldr r4, _0806F8A8 @ =0x0000100c - adds r1, r6, r4 - adds r0, r5, 0 - movs r3, 0 - bl sub_80460C8 - lsls r0, 16 - asrs r0, 16 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0806F898: .4byte gTasks + 0x8 -_0806F89C: .4byte 0x0201b000 -_0806F8A0: .4byte 0x00000282 -_0806F8A4: .4byte gUnknown_08376858 -_0806F8A8: .4byte 0x0000100c - thumb_func_end sub_806F7E8 - - thumb_func_start sub_806F8AC -sub_806F8AC: @ 806F8AC - push {r4-r7,lr} - sub sp, 0x18 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0x1 - negs r4, r4 - adds r0, r6, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_806F7E8 - ldr r1, _0806F8F4 @ =0x0201b000 - ldr r2, _0806F8F8 @ =0x00000282 - adds r5, r1, r2 - strh r0, [r5] - lsls r0, 16 - asrs r0, 16 - cmp r0, r4 - beq _0806F8D4 - b _0806F9F0 -_0806F8D4: - movs r0, 0x80 - lsls r0, 5 - adds r1, r0 - movs r0, 0 - str r0, [r1, 0xC] - ldr r0, [sp, 0x8] - negs r3, r0 - ldr r2, [sp, 0x4] - adds r0, r3, r2 - ldr r1, [sp] - cmp r0, r1 - ble _0806F8FC - subs r1, r2 - add r0, sp, 0x14 - strh r1, [r0] - b _0806F900 - .align 2, 0 -_0806F8F4: .4byte 0x0201b000 -_0806F8F8: .4byte 0x00000282 -_0806F8FC: - add r0, sp, 0x14 - strh r3, [r0] -_0806F900: - adds r5, r0, 0 - ldr r1, _0806F940 @ =gBattleMoveDamage - ldrh r0, [r5] - negs r0, r0 - str r0, [r1] - ldr r0, _0806F944 @ =0x0201c000 - ldr r0, [r0] - ldr r1, _0806F948 @ =gStringVar1 - bl GetMonNickname - ldr r0, _0806F94C @ =gStringVar2 - ldrh r1, [r5] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r2, _0806F950 @ =gTasks - lsls r1, r6, 2 - adds r0, r1, r6 - lsls r0, 3 - adds r0, r2 - movs r2, 0x24 - ldrsh r0, [r0, r2] - adds r7, r1, 0 - cmp r0, 0 - bne _0806F95C - ldr r0, _0806F954 @ =gStringVar4 - ldr r1, _0806F958 @ =gOtherText_HPRestoredBy - bl StringExpandPlaceholders - b _0806F964 - .align 2, 0 -_0806F940: .4byte gBattleMoveDamage -_0806F944: .4byte 0x0201c000 -_0806F948: .4byte gStringVar1 -_0806F94C: .4byte gStringVar2 -_0806F950: .4byte gTasks -_0806F954: .4byte gStringVar4 -_0806F958: .4byte gOtherText_HPRestoredBy -_0806F95C: - ldr r0, _0806F9D4 @ =gStringVar4 - ldr r1, _0806F9D8 @ =gOtherText_RegainedHealth - bl StringExpandPlaceholders -_0806F964: - ldr r4, _0806F9DC @ =0x0201c000 - ldrb r0, [r4, 0x4] - ldrb r1, [r4, 0x5] - bl GetMonIconSpriteId_maybe - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - bl SetMonIconAnim - bl IsDoubleBattle - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldrb r1, [r4, 0x5] - lsls r1, 1 - adds r0, r1 - ldr r1, _0806F9E0 @ =gUnknown_083769A8 - adds r0, r1 - movs r1, 0x7 - bl task_pc_turn_off - ldr r0, _0806F9E4 @ =0xfffff261 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - ldr r0, _0806F9D4 @ =gStringVar4 - movs r1, 0x1 - bl sub_806E834 - ldr r1, [sp, 0x4] - ldrh r0, [r5] - adds r0, r1 - strh r0, [r5] - ldr r0, [r4] - movs r1, 0x39 - adds r2, r5, 0 - bl SetMonData - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl RemoveBagItem - bl sub_8032638 - ldr r1, _0806F9E8 @ =gTasks - adds r0, r7, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806F9EC @ =sub_806FB44 - str r1, [r0] - b _0806FA10 - .align 2, 0 -_0806F9D4: .4byte gStringVar4 -_0806F9D8: .4byte gOtherText_RegainedHealth -_0806F9DC: .4byte 0x0201c000 -_0806F9E0: .4byte gUnknown_083769A8 -_0806F9E4: .4byte 0xfffff261 -_0806F9E8: .4byte gTasks -_0806F9EC: .4byte sub_806FB44 -_0806F9F0: - movs r2, 0x80 - lsls r2, 5 - adds r0, r1, r2 - ldrb r4, [r0, 0x5] - bl IsDoubleBattle - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5] - ldr r3, [sp] - lsls r3, 16 - lsrs r3, 16 - adds r0, r4, 0 - bl PartyMenuDoPrintHP -_0806FA10: - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806F8AC - - thumb_func_start sub_806FA18 -sub_806FA18: @ 806FA18 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - mov r1, sp - movs r2, 0x1 - bl sub_806F7E8 - ldr r6, _0806FAC4 @ =0x0201b000 - ldr r1, _0806FAC8 @ =0x00000282 - adds r7, r6, r1 - strh r0, [r7] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0806FAE4 - movs r0, 0x1 - bl PlaySE - movs r0, 0x80 - lsls r0, 5 - adds r4, r6, r0 - movs r0, 0 - str r0, [r4, 0xC] - ldr r2, _0806FACC @ =gTasks - lsls r3, r5, 2 - adds r3, r5 - lsls r3, 3 - adds r5, r3, r2 - ldrh r0, [r5, 0x1E] - ldrh r1, [r5, 0x20] - subs r0, r1 - strh r0, [r5, 0x1E] - ldr r0, [r4] - adds r2, r3 - adds r2, 0x1E - movs r1, 0x39 - bl SetMonData - ldrb r0, [r4, 0x4] - ldr r1, _0806FAD0 @ =0xfffe6000 - adds r6, r1 - ldrb r1, [r6, 0x1] - bl GetMonIconSpriteId_maybe - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - bl SetMonIconAnim - ldr r2, _0806FAD4 @ =gSprites - ldrb r1, [r6, 0x2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strb r0, [r4, 0x5] - ldrb r1, [r4, 0x5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0806FAD8 @ =gPlayerParty - adds r0, r1 - str r0, [r4] - movs r1, 0x3A - bl GetMonData - strh r0, [r5, 0x1C] - ldr r0, [r4] - movs r1, 0x39 - bl GetMonData - strh r0, [r5, 0x1E] - ldr r0, _0806FADC @ =0xffff8000 - str r0, [r4, 0xC] - ldr r0, [r4, 0x10] - str r0, [r4, 0x14] - ldr r0, _0806FAE0 @ =sub_806F8AC - str r0, [r5] - ldrh r0, [r5, 0x1E] - strh r0, [r7] - b _0806FB04 - .align 2, 0 -_0806FAC4: .4byte 0x0201b000 -_0806FAC8: .4byte 0x00000282 -_0806FACC: .4byte gTasks -_0806FAD0: .4byte 0xfffe6000 -_0806FAD4: .4byte gSprites -_0806FAD8: .4byte gPlayerParty -_0806FADC: .4byte 0xffff8000 -_0806FAE0: .4byte sub_806F8AC -_0806FAE4: - movs r1, 0x80 - lsls r1, 5 - adds r0, r6, r1 - ldrb r4, [r0, 0x5] - bl IsDoubleBattle - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r7] - ldr r3, [sp] - lsls r3, 16 - lsrs r3, 16 - adds r0, r4, 0 - bl PartyMenuDoPrintHP -_0806FB04: - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806FA18 - - thumb_func_start sub_806FB0C -sub_806FB0C: @ 806FB0C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806FB38 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806FB32 - ldr r3, _0806FB3C @ =gTasks - ldr r2, _0806FB40 @ =0x0201c000 - ldrb r1, [r2, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - ldr r1, [r2, 0x10] - str r1, [r0] - adds r0, r4, 0 - bl DestroyTask -_0806FB32: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806FB38: .4byte gUnknown_0202E8F6 -_0806FB3C: .4byte gTasks -_0806FB40: .4byte 0x0201c000 - thumb_func_end sub_806FB0C - - thumb_func_start sub_806FB44 -sub_806FB44: @ 806FB44 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0806FB70 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _0806FB6A - ldr r3, _0806FB74 @ =gTasks - ldr r2, _0806FB78 @ =0x0201c000 - ldrb r1, [r2, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - ldr r1, [r2, 0x14] - str r1, [r0] - adds r0, r4, 0 - bl DestroyTask -_0806FB6A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0806FB70: .4byte gUnknown_0202E8F6 -_0806FB74: .4byte gTasks -_0806FB78: .4byte 0x0201c000 - thumb_func_end sub_806FB44 - - thumb_func_start IsHPRecoveryItem -IsHPRecoveryItem: @ 806FB7C - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0806FB90 - ldr r0, _0806FB8C @ =gSaveBlock1 + 0x3676 - b _0806FB9A - .align 2, 0 -_0806FB8C: .4byte gSaveBlock1 + 0x3676 -_0806FB90: - ldr r1, _0806FBA8 @ =gItemEffectTable - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] -_0806FB9A: - ldrb r1, [r0, 0x4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0806FBAC - movs r0, 0 - b _0806FBAE - .align 2, 0 -_0806FBA8: .4byte gItemEffectTable -_0806FBAC: - movs r0, 0x1 -_0806FBAE: - pop {r1} - bx r1 - thumb_func_end IsHPRecoveryItem - - thumb_func_start PartyMenuUpdateLevelOrStatus -PartyMenuUpdateLevelOrStatus: @ 806FBB4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl PartyMenuClearLevelStatusTilemap - adds r0, r4, 0 - adds r1, r5, 0 - bl PartyMenuPrintMonLevelOrStatus - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end PartyMenuUpdateLevelOrStatus - - thumb_func_start GetMedicineItemEffectMessage -GetMedicineItemEffectMessage: @ 806FBD0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x3 - cmp r0, 0x12 - bls _0806FBE6 - b _0806FD7C -_0806FBE6: - lsls r0, 2 - ldr r1, _0806FBF0 @ =_0806FBF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0806FBF0: .4byte _0806FBF4 - .align 2, 0 -_0806FBF4: - .4byte _0806FC40 - .4byte _0806FC54 - .4byte _0806FC68 - .4byte _0806FC7C - .4byte _0806FC90 - .4byte _0806FCA4 - .4byte _0806FCB8 - .4byte _0806FD7C - .4byte _0806FCCC - .4byte _0806FCF0 - .4byte _0806FCE0 - .4byte _0806FD20 - .4byte _0806FD30 - .4byte _0806FD10 - .4byte _0806FD00 - .4byte _0806FD7C - .4byte _0806FD54 - .4byte _0806FD54 - .4byte _0806FD68 -_0806FC40: - ldr r0, _0806FC4C @ =gStringVar4 - ldr r1, _0806FC50 @ =gOtherText_CuredPoisoning - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC4C: .4byte gStringVar4 -_0806FC50: .4byte gOtherText_CuredPoisoning -_0806FC54: - ldr r0, _0806FC60 @ =gStringVar4 - ldr r1, _0806FC64 @ =gOtherText_WokeUp - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC60: .4byte gStringVar4 -_0806FC64: .4byte gOtherText_WokeUp -_0806FC68: - ldr r0, _0806FC74 @ =gStringVar4 - ldr r1, _0806FC78 @ =gOtherText_BurnHealed - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC74: .4byte gStringVar4 -_0806FC78: .4byte gOtherText_BurnHealed -_0806FC7C: - ldr r0, _0806FC88 @ =gStringVar4 - ldr r1, _0806FC8C @ =gOtherText_ThawedOut - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC88: .4byte gStringVar4 -_0806FC8C: .4byte gOtherText_ThawedOut -_0806FC90: - ldr r0, _0806FC9C @ =gStringVar4 - ldr r1, _0806FCA0 @ =gOtherText_CuredParalysis - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FC9C: .4byte gStringVar4 -_0806FCA0: .4byte gOtherText_CuredParalysis -_0806FCA4: - ldr r0, _0806FCB0 @ =gStringVar4 - ldr r1, _0806FCB4 @ =gOtherText_SnapConfusion - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FCB0: .4byte gStringVar4 -_0806FCB4: .4byte gOtherText_SnapConfusion -_0806FCB8: - ldr r0, _0806FCC4 @ =gStringVar4 - ldr r1, _0806FCC8 @ =gOtherText_GotOverLove - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FCC4: .4byte gStringVar4 -_0806FCC8: .4byte gOtherText_GotOverLove -_0806FCCC: - ldr r0, _0806FCD8 @ =gStringVar4 - ldr r1, _0806FCDC @ =gOtherText_BecameHealthy - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FCD8: .4byte gStringVar4 -_0806FCDC: .4byte gOtherText_BecameHealthy -_0806FCE0: - ldr r0, _0806FCE8 @ =gStringVar2 - ldr r1, _0806FCEC @ =gOtherText_Hp2 - b _0806FD34 - .align 2, 0 -_0806FCE8: .4byte gStringVar2 -_0806FCEC: .4byte gOtherText_Hp2 -_0806FCF0: - ldr r0, _0806FCF8 @ =gStringVar2 - ldr r1, _0806FCFC @ =gOtherText_Attack - b _0806FD34 - .align 2, 0 -_0806FCF8: .4byte gStringVar2 -_0806FCFC: .4byte gOtherText_Attack -_0806FD00: - ldr r0, _0806FD08 @ =gStringVar2 - ldr r1, _0806FD0C @ =gOtherText_Defense - b _0806FD34 - .align 2, 0 -_0806FD08: .4byte gStringVar2 -_0806FD0C: .4byte gOtherText_Defense -_0806FD10: - ldr r0, _0806FD18 @ =gStringVar2 - ldr r1, _0806FD1C @ =gOtherText_Speed - b _0806FD34 - .align 2, 0 -_0806FD18: .4byte gStringVar2 -_0806FD1C: .4byte gOtherText_Speed -_0806FD20: - ldr r0, _0806FD28 @ =gStringVar2 - ldr r1, _0806FD2C @ =gOtherText_SpAtk2 - b _0806FD34 - .align 2, 0 -_0806FD28: .4byte gStringVar2 -_0806FD2C: .4byte gOtherText_SpAtk2 -_0806FD30: - ldr r0, _0806FD44 @ =gStringVar2 - ldr r1, _0806FD48 @ =gOtherText_SpDef2 -_0806FD34: - bl StringCopy - ldr r0, _0806FD4C @ =gStringVar4 - ldr r1, _0806FD50 @ =gOtherText_WasRaised - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FD44: .4byte gStringVar2 -_0806FD48: .4byte gOtherText_SpDef2 -_0806FD4C: .4byte gStringVar4 -_0806FD50: .4byte gOtherText_WasRaised -_0806FD54: - ldr r0, _0806FD60 @ =gStringVar4 - ldr r1, _0806FD64 @ =gOtherText_PPIncreased - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FD60: .4byte gStringVar4 -_0806FD64: .4byte gOtherText_PPIncreased -_0806FD68: - ldr r0, _0806FD74 @ =gStringVar4 - ldr r1, _0806FD78 @ =gOtherText_PPRestored - bl StringExpandPlaceholders - b _0806FD84 - .align 2, 0 -_0806FD74: .4byte gStringVar4 -_0806FD78: .4byte gOtherText_PPRestored -_0806FD7C: - ldr r0, _0806FD88 @ =gStringVar4 - ldr r1, _0806FD8C @ =gOtherText_WontHaveAnyEffect - bl StringExpandPlaceholders -_0806FD84: - pop {r0} - bx r0 - .align 2, 0 -_0806FD88: .4byte gStringVar4 -_0806FD8C: .4byte gOtherText_WontHaveAnyEffect - thumb_func_end GetMedicineItemEffectMessage - - thumb_func_start IsMedicineIneffective -IsMedicineIneffective: @ 806FD90 - push {r4,lr} - adds r4, r0, 0 - lsls r0, r1, 16 - lsrs r0, 16 - bl GetItemEffectType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bne _0806FDBC - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - ldr r1, _0806FDB8 @ =0x0000012f - cmp r0, r1 - bne _0806FDBC - movs r0, 0x1 - b _0806FDBE - .align 2, 0 -_0806FDB8: .4byte 0x0000012f -_0806FDBC: - movs r0, 0 -_0806FDBE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsMedicineIneffective - - thumb_func_start ExecuteTableBasedItemEffect__ -ExecuteTableBasedItemEffect__: @ 806FDC4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _0806FDF0 @ =gMain - ldr r1, _0806FDF4 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0806FDFC - movs r0, 0x64 - muls r0, r3 - ldr r1, _0806FDF8 @ =gPlayerParty - adds r0, r1 - adds r1, r5, 0 - adds r2, r3, 0 - b _0806FE16 - .align 2, 0 -_0806FDF0: .4byte gMain -_0806FDF4: .4byte 0x0000043d -_0806FDF8: .4byte gPlayerParty -_0806FDFC: - movs r0, 0x64 - adds r4, r3, 0 - muls r4, r0 - ldr r0, _0806FE28 @ =gPlayerParty - adds r4, r0 - adds r0, r3, 0 - bl sub_8094C20 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r5, 0 -_0806FE16: - adds r3, r6, 0 - bl ExecuteTableBasedItemEffect_ - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0806FE28: .4byte gPlayerParty - thumb_func_end ExecuteTableBasedItemEffect__ - - thumb_func_start UseMedicine -UseMedicine: @ 806FE2C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 16 - lsrs r6, r1, 16 - movs r0, 0 - mov r9, r0 - ldr r1, _0806FED4 @ =gTasks - mov r10, r1 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - add r1, r10 - ldr r0, _0806FED8 @ =TaskDummy - str r0, [r1] - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_806E8D0 - ldr r5, _0806FEDC @ =0x0201c000 - ldr r0, [r5] - adds r1, r6, 0 - bl IsMedicineIneffective - lsls r0, 24 - cmp r0, 0 - bne _0806FEE0 - adds r0, r6, 0 - bl IsHPRecoveryItem - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r2, r7, 2 - mov r8, r2 - cmp r0, 0x1 - bne _0806FEC2 - ldr r0, [r5] - movs r1, 0x3A - bl GetMonData - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - mov r2, r10 - adds r4, r1, r2 - strh r0, [r4, 0x1C] - ldr r0, [r5] - movs r1, 0x39 - bl GetMonData - strh r0, [r4, 0x1E] - movs r3, 0x1C - ldrsh r1, [r4, r3] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _0806FEC2 - movs r0, 0 - mov r9, r0 - mov r1, r9 - strh r1, [r4, 0x1C] - strh r1, [r4, 0x1E] -_0806FEC2: - ldr r0, _0806FEDC @ =0x0201c000 - ldrb r0, [r0, 0x5] - adds r1, r6, 0 - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - lsrs r0, 24 - b _0806FEE6 - .align 2, 0 -_0806FED4: .4byte gTasks -_0806FED8: .4byte TaskDummy -_0806FEDC: .4byte 0x0201c000 -_0806FEE0: - movs r0, 0x1 - lsls r2, r7, 2 - mov r8, r2 -_0806FEE6: - cmp r0, 0 - beq _0806FF14 - ldr r1, _0806FF08 @ =gUnknown_0202E8F4 - movs r0, 0 - strb r0, [r1] - movs r0, 0x5 - bl PlaySE - ldr r0, _0806FF0C @ =gOtherText_WontHaveAnyEffect - movs r1, 0x1 - bl sub_806E834 - ldr r1, _0806FF10 @ =gTasks - mov r3, r8 - adds r0, r3, r7 - b _08070002 - .align 2, 0 -_0806FF08: .4byte gUnknown_0202E8F4 -_0806FF0C: .4byte gOtherText_WontHaveAnyEffect -_0806FF10: .4byte gTasks -_0806FF14: - ldr r1, _0806FF30 @ =gUnknown_0202E8F4 - movs r0, 0x1 - strb r0, [r1] - adds r0, r6, 0 - bl IsBlueYellowRedFlute - lsls r0, 24 - cmp r0, 0 - bne _0806FF34 - movs r0, 0x1 - bl PlaySE - b _0806FF3A - .align 2, 0 -_0806FF30: .4byte gUnknown_0202E8F4 -_0806FF34: - movs r0, 0x75 - bl PlaySE -_0806FF3A: - ldr r4, _0806FF88 @ =0x0201c000 - ldr r0, [r4] - bl GetMonStatusAndPokerus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _0806FF4E - cmp r0, 0 - bne _0806FF56 -_0806FF4E: - ldr r0, [r4] - ldrb r1, [r4, 0x5] - bl PartyMenuUpdateLevelOrStatus -_0806FF56: - mov r0, r9 - cmp r0, 0x1 - bne _0806FFC8 - ldr r4, _0806FF88 @ =0x0201c000 - ldr r0, [r4] - movs r1, 0x39 - bl GetMonData - ldr r2, _0806FF8C @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r2, r1, r2 - ldrh r1, [r2, 0x1E] - subs r0, r1 - strh r0, [r2, 0x20] - ldr r0, _0806FF90 @ =0xffff8000 - str r0, [r4, 0xC] - movs r1, 0x1E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _0806FF94 - mov r3, r9 - strh r3, [r2, 0x24] - b _0806FF98 - .align 2, 0 -_0806FF88: .4byte 0x0201c000 -_0806FF8C: .4byte gTasks -_0806FF90: .4byte 0xffff8000 -_0806FF94: - movs r0, 0 - strh r0, [r2, 0x24] -_0806FF98: - ldr r2, _0806FFB8 @ =0x0201c000 - ldr r0, [r2, 0x10] - str r0, [r2, 0x14] - ldr r1, _0806FFBC @ =gTasks - mov r3, r8 - adds r0, r3, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _0806FFC0 @ =sub_806F8AC - str r1, [r0] - ldrh r0, [r0, 0x1E] - ldr r1, _0806FFC4 @ =0xfffff282 - adds r2, r1 - strh r0, [r2] - b _0807000A - .align 2, 0 -_0806FFB8: .4byte 0x0201c000 -_0806FFBC: .4byte gTasks -_0806FFC0: .4byte sub_806F8AC -_0806FFC4: .4byte 0xfffff282 -_0806FFC8: - ldr r4, _08070018 @ =0x0201c000 - ldr r0, [r4] - ldr r1, _0807001C @ =gStringVar1 - bl GetMonNickname - adds r0, r6, 0 - bl IsBlueYellowRedFlute - lsls r0, 24 - cmp r0, 0 - bne _0806FFE6 - adds r0, r6, 0 - movs r1, 0x1 - bl RemoveBagItem -_0806FFE6: - adds r0, r6, 0 - bl GetMedicineItemEffectMessage - ldrb r0, [r4, 0x5] - ldr r1, [r4] - bl TryPrintPartyMenuMonNickname - ldr r0, _08070020 @ =gStringVar4 - movs r1, 0x1 - bl sub_806E834 - ldr r1, _08070024 @ =gTasks - mov r2, r8 - adds r0, r2, r7 -_08070002: - lsls r0, 3 - adds r0, r1 - ldr r1, _08070028 @ =sub_806FB0C - str r1, [r0] -_0807000A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070018: .4byte 0x0201c000 -_0807001C: .4byte gStringVar1 -_08070020: .4byte gStringVar4 -_08070024: .4byte gTasks -_08070028: .4byte sub_806FB0C - thumb_func_end UseMedicine - - thumb_func_start IsBlueYellowRedFlute -IsBlueYellowRedFlute: @ 807002C - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x27 - beq _0807003E - cmp r0, 0x29 - beq _0807003E - cmp r0, 0x28 - bne _08070042 -_0807003E: - movs r0, 0x1 - b _08070044 -_08070042: - movs r0, 0 -_08070044: - pop {r1} - bx r1 - thumb_func_end IsBlueYellowRedFlute - - thumb_func_start sub_8070048 -sub_8070048: @ 8070048 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08070078 @ =0x0201c000 - str r2, [r3, 0x10] - movs r4, 0 - strb r0, [r3, 0x4] - movs r2, 0 - strh r1, [r3, 0x6] - strb r2, [r3, 0x5] - ldr r1, _0807007C @ =sub_80701DC - str r1, [r3, 0x14] - ldr r2, _08070080 @ =0xfffff27e - adds r1, r3, r2 - strh r4, [r1] - ldr r1, _08070084 @ =0xfffff280 - adds r3, r1 - strh r4, [r3] - bl sub_8070088 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08070078: .4byte 0x0201c000 -_0807007C: .4byte sub_80701DC -_08070080: .4byte 0xfffff27e -_08070084: .4byte 0xfffff280 - thumb_func_end sub_8070048 - - .section .text_80701DC - - thumb_func_start sub_80701DC -sub_80701DC: @ 80701DC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _08070280 @ =0x0201b000 - ldr r0, _08070284 @ =0x0000027e - adds r7, r6, r0 - movs r1, 0 - ldrsh r0, [r7, r1] - cmp r0, 0x1 - bne _0807023E - movs r0, 0x80 - lsls r0, 5 - adds r4, r6, r0 - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl AddBagItem - ldrb r1, [r4, 0x5] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08070288 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0807023A - bl IsDoubleBattle - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldrb r1, [r4, 0x5] - lsls r1, 1 - adds r0, r1 - ldr r1, _0807028C @ =gUnknown_083769A8 - adds r0, r1 - movs r1, 0x3 - bl task_pc_turn_off - ldr r0, _08070290 @ =0x00000261 - adds r1, r6, r0 - movs r0, 0x2 - strb r0, [r1] -_0807023A: - movs r0, 0 - strh r0, [r7] -_0807023E: - ldr r4, _08070294 @ =0x0201c000 - ldrb r0, [r4, 0x5] - adds r0, 0x1 - strb r0, [r4, 0x5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080702D8 - ldr r1, _08070298 @ =gUnknown_0202E8F4 - movs r0, 0 - strb r0, [r1] - ldr r1, _0807029C @ =0xfffff280 - adds r0, r4, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080702B0 - ldr r1, _080702A0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080702A4 @ =TaskDummy - str r1, [r0] - ldr r0, _080702A8 @ =gOtherText_WontHaveAnyEffect - movs r1, 0x1 - bl sub_806E834 - ldr r0, _080702AC @ =sub_806FB0C - movs r1, 0x8 - bl CreateTask - b _080702C6 - .align 2, 0 -_08070280: .4byte 0x0201b000 -_08070284: .4byte 0x0000027e -_08070288: .4byte gPlayerParty -_0807028C: .4byte gUnknown_083769A8 -_08070290: .4byte 0x00000261 -_08070294: .4byte 0x0201c000 -_08070298: .4byte gUnknown_0202E8F4 -_0807029C: .4byte 0xfffff280 -_080702A0: .4byte gTasks -_080702A4: .4byte TaskDummy -_080702A8: .4byte gOtherText_WontHaveAnyEffect -_080702AC: .4byte sub_806FB0C -_080702B0: - ldrh r0, [r4, 0x6] - movs r1, 0x1 - bl RemoveBagItem - ldr r1, _080702D0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, [r4, 0x10] - str r1, [r0] -_080702C6: - ldr r1, _080702D4 @ =gLastFieldPokeMenuOpened - movs r0, 0 - strb r0, [r1] - b _080702DE - .align 2, 0 -_080702D0: .4byte gTasks -_080702D4: .4byte gLastFieldPokeMenuOpened -_080702D8: - adds r0, r5, 0 - bl sub_8070088 -_080702DE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80701DC - - thumb_func_start CreateItemUseMoveMenu -CreateItemUseMoveMenu: @ 80702E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r6, 0 - movs r0, 0x13 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - movs r5, 0 - movs r0, 0x64 - adds r7, r4, 0 - muls r7, r0 - ldr r0, _0807036C @ =gPlayerParty - mov r8, r0 -_0807030C: - adds r1, r5, 0 - adds r1, 0xD - mov r2, r8 - adds r0, r7, r2 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0xD - muls r0, r4 - ldr r1, _08070370 @ =gMoveNames - adds r0, r1 - lsls r2, r5, 25 - movs r1, 0xB0 - lsls r1, 20 - adds r2, r1 - lsrs r2, 24 - movs r1, 0x14 - bl MenuPrint - cmp r4, 0 - beq _08070340 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08070340: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _0807030C - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x14 - movs r2, 0xB - adds r3, r6, 0 - bl InitMenu - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807036C: .4byte gPlayerParty -_08070370: .4byte gMoveNames - thumb_func_end CreateItemUseMoveMenu - - thumb_func_start Task_HandleItemUseMoveMenuInput -Task_HandleItemUseMoveMenuInput: @ 8070374 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r4, r2, 0 - ldr r0, _08070398 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0807039C - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _080703E4 - .align 2, 0 -_08070398: .4byte gMain -_0807039C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080703B2 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _080703E4 -_080703B2: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080703CC - ldr r0, _080703C8 @ =gUnknown_08376B54 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - b _080703E4 - .align 2, 0 -_080703C8: .4byte gUnknown_08376B54 -_080703CC: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080703E4 - movs r0, 0x5 - bl PlaySE - ldr r0, _080703EC @ =gUnknown_08376B54 - ldr r1, [r0, 0x4] - adds r0, r4, 0 - bl _call_via_r1 -_080703E4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080703EC: .4byte gUnknown_08376B54 - thumb_func_end Task_HandleItemUseMoveMenuInput - - thumb_func_start DoPPRecoveryItemEffect -DoPPRecoveryItemEffect: @ 80703F0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r2 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - cmp r5, 0xAF - bne _08070410 - ldr r0, _0807040C @ =gSaveBlock1 + 0x3676 - b _0807041C - .align 2, 0 -_0807040C: .4byte gSaveBlock1 + 0x3676 -_08070410: - ldr r1, _08070464 @ =gItemEffectTable - adds r0, r5, 0 - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] -_0807041C: - mov r8, r0 - ldr r7, _08070468 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r7 - ldr r0, _0807046C @ =TaskDummy - str r0, [r1] - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r5, 0 - mov r2, r9 - bl sub_806E8D0 - mov r0, r8 - ldrb r1, [r0, 0x4] - movs r0, 0x10 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08070470 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r7 - strh r1, [r0, 0x1E] - adds r0, r4, 0 - bl DoRecoverPP - b _08070498 - .align 2, 0 -_08070464: .4byte gItemEffectTable -_08070468: .4byte gTasks -_0807046C: .4byte TaskDummy -_08070470: - movs r0, 0x5 - bl PlaySE - movs r0, 0xA - movs r1, 0x3 - bl sub_806D538 - ldr r0, _080704A4 @ =0x0201c000 - ldrb r0, [r0, 0x5] - bl CreateItemUseMoveMenu - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r7 - ldr r1, _080704A8 @ =Task_HandleItemUseMoveMenuInput - str r1, [r0] - ldr r1, _080704AC @ =gMain - movs r0, 0 - strh r0, [r1, 0x2E] -_08070498: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080704A4: .4byte 0x0201c000 -_080704A8: .4byte Task_HandleItemUseMoveMenuInput -_080704AC: .4byte gMain - thumb_func_end DoPPRecoveryItemEffect - - thumb_func_start ItemUseMoveMenu_HandleMoveSelection -ItemUseMoveMenu_HandleMoveSelection: @ 80704B0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8072DEC - movs r0, 0x13 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - bl sub_806D5A4 - bl GetMenuCursorPos - ldr r2, _080704EC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x1E] - adds r0, r4, 0 - bl DoRecoverPP - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080704EC: .4byte gTasks - thumb_func_end ItemUseMoveMenu_HandleMoveSelection - - thumb_func_start ItemUseMoveMenu_HandleCancel -ItemUseMoveMenu_HandleCancel: @ 80704F0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8072DEC - movs r0, 0x13 - movs r1, 0xA - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r0, _08070528 @ =gMain - ldr r1, _0807052C @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0807053C - ldr r2, _08070530 @ =gTasks - ldr r0, _08070534 @ =0x0201c000 - ldrb r1, [r0, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _08070538 @ =SetUpBattlePokemonMenu - b _0807054C - .align 2, 0 -_08070528: .4byte gMain -_0807052C: .4byte 0x0000043d -_08070530: .4byte gTasks -_08070534: .4byte 0x0201c000 -_08070538: .4byte SetUpBattlePokemonMenu -_0807053C: - ldr r2, _08070564 @ =gTasks - ldr r0, _08070568 @ =0x0201c000 - ldrb r1, [r0, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _0807056C @ =sub_808B0C0 -_0807054C: - str r1, [r0] - movs r0, 0x3 - movs r1, 0 - bl sub_806D538 - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08070564: .4byte gTasks -_08070568: .4byte 0x0201c000 -_0807056C: .4byte sub_808B0C0 - thumb_func_end ItemUseMoveMenu_HandleCancel - - thumb_func_start DoRecoverPP -DoRecoverPP: @ 8070570 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - ldr r6, _080705A8 @ =0x0201c000 - ldrb r0, [r6, 0x5] - ldrh r1, [r6, 0x6] - ldr r3, _080705AC @ =gTasks - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - adds r7, r2, r3 - ldrb r2, [r7, 0x1E] - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - cmp r0, 0 - beq _080705B8 - ldr r0, _080705B0 @ =gUnknown_0202E8F4 - strb r5, [r0] - movs r0, 0x5 - bl PlaySE - ldr r0, _080705B4 @ =gOtherText_WontHaveAnyEffect - movs r1, 0x1 - bl sub_806E834 - b _080705F8 - .align 2, 0 -_080705A8: .4byte 0x0201c000 -_080705AC: .4byte gTasks -_080705B0: .4byte gUnknown_0202E8F4 -_080705B4: .4byte gOtherText_WontHaveAnyEffect -_080705B8: - ldr r1, _0807060C @ =gUnknown_0202E8F4 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 - bl PlaySE - ldrh r0, [r6, 0x6] - movs r1, 0x1 - bl RemoveBagItem - ldr r0, [r6] - movs r2, 0x1E - ldrsh r1, [r7, r2] - adds r1, 0xD - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _08070610 @ =gStringVar1 - movs r1, 0xD - muls r1, r5 - ldr r2, _08070614 @ =gMoveNames - adds r1, r2 - bl StringCopy - ldrh r0, [r6, 0x6] - bl GetMedicineItemEffectMessage - ldr r0, _08070618 @ =gStringVar4 - movs r1, 0x1 - bl sub_806E834 -_080705F8: - ldr r0, _0807061C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08070620 @ =sub_806FB0C - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807060C: .4byte gUnknown_0202E8F4 -_08070610: .4byte gStringVar1 -_08070614: .4byte gMoveNames -_08070618: .4byte gStringVar4 -_0807061C: .4byte gTasks -_08070620: .4byte sub_806FB0C - thumb_func_end DoRecoverPP - - thumb_func_start DoPPUpItemEffect -DoPPUpItemEffect: @ 8070624 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0807066C @ =gTasks - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - adds r3, r4 - ldr r4, _08070670 @ =TaskDummy - str r4, [r3] - bl sub_806E8D0 - movs r0, 0x5 - bl PlaySE - movs r0, 0xB - movs r1, 0x3 - bl sub_806D538 - ldr r0, _08070674 @ =0x0201c000 - ldrb r0, [r0, 0x5] - bl CreateItemUseMoveMenu - ldr r0, _08070678 @ =Task_HandleItemUseMoveMenuInput - movs r1, 0x5 - bl CreateTask - ldr r1, _0807067C @ =gMain - movs r0, 0 - strh r0, [r1, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807066C: .4byte gTasks -_08070670: .4byte TaskDummy -_08070674: .4byte 0x0201c000 -_08070678: .4byte Task_HandleItemUseMoveMenuInput -_0807067C: .4byte gMain - thumb_func_end DoPPUpItemEffect - - thumb_func_start DoRareCandyItemEffect -DoRareCandyItemEffect: @ 8070680 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r3, _080706E0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - ldr r3, _080706E4 @ =TaskDummy - str r3, [r1] - adds r1, r6, 0 - bl sub_806E8D0 - ldr r5, _080706E8 @ =0x0201c000 - ldr r0, [r5] - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _080706F4 - movs r4, 0 - ldr r0, _080706EC @ =0xfffff264 - adds r7, r5, r0 -_080706B2: - ldr r0, [r5] - ldr r1, _080706F0 @ =gUnknown_08376D1C - adds r1, r4, r1 - ldrb r1, [r1] - bl GetMonData - lsls r1, r4, 1 - adds r1, r7, r1 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _080706B2 - ldr r0, _080706E8 @ =0x0201c000 - ldrb r0, [r0, 0x5] - adds r1, r6, 0 - movs r2, 0 - bl ExecuteTableBasedItemEffect__ - lsls r0, 24 - lsrs r0, 24 - b _080706F6 - .align 2, 0 -_080706E0: .4byte gTasks -_080706E4: .4byte TaskDummy -_080706E8: .4byte 0x0201c000 -_080706EC: .4byte 0xfffff264 -_080706F0: .4byte gUnknown_08376D1C -_080706F4: - movs r0, 0x1 -_080706F6: - cmp r0, 0 - beq _08070724 - ldr r1, _08070718 @ =gUnknown_0202E8F4 - movs r0, 0 - strb r0, [r1] - movs r0, 0x5 - bl PlaySE - ldr r0, _0807071C @ =gOtherText_WontHaveAnyEffect - movs r1, 0x1 - bl sub_806E834 - ldr r0, _08070720 @ =sub_806FB0C - movs r1, 0x5 - bl CreateTask - b _0807077C - .align 2, 0 -_08070718: .4byte gUnknown_0202E8F4 -_0807071C: .4byte gOtherText_WontHaveAnyEffect -_08070720: .4byte sub_806FB0C -_08070724: - ldr r1, _08070784 @ =gUnknown_0202E8F4 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl PlayFanfareByFanfareNum - ldr r4, _08070788 @ =0x0201c000 - ldrb r0, [r4, 0x5] - ldr r1, [r4] - bl sub_8070A20 - adds r0, r6, 0 - movs r1, 0x1 - bl RemoveBagItem - ldr r0, [r4] - ldr r1, _0807078C @ =gStringVar1 - bl GetMonNickname - ldr r0, [r4] - movs r1, 0x38 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08070790 @ =gStringVar2 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _08070794 @ =gStringVar4 - ldr r1, _08070798 @ =gOtherText_ElevatedTo - adds r0, r4, 0 - bl StringExpandPlaceholders - adds r0, r4, 0 - movs r1, 0x1 - bl sub_806E834 - ldr r0, _0807079C @ =Task_RareCandy1 - movs r1, 0x5 - bl CreateTask -_0807077C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070784: .4byte gUnknown_0202E8F4 -_08070788: .4byte 0x0201c000 -_0807078C: .4byte gStringVar1 -_08070790: .4byte gStringVar2 -_08070794: .4byte gStringVar4 -_08070798: .4byte gOtherText_ElevatedTo -_0807079C: .4byte Task_RareCandy1 - thumb_func_end DoRareCandyItemEffect - - thumb_func_start Task_RareCandy1 -Task_RareCandy1: @ 80707A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl WaitFanfare - lsls r0, 24 - cmp r0, 0 - beq _080707E8 - ldr r0, _080707F0 @ =gUnknown_0202E8F6 - ldrb r0, [r0] - cmp r0, 0 - bne _080707E8 - ldr r0, _080707F4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080707CE - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080707E8 -_080707CE: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_8070848 - ldr r0, _080707F8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080707FC @ =Task_RareCandy2 - str r0, [r1] -_080707E8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080707F0: .4byte gUnknown_0202E8F6 -_080707F4: .4byte gMain -_080707F8: .4byte gTasks -_080707FC: .4byte Task_RareCandy2 - thumb_func_end Task_RareCandy1 - - thumb_func_start Task_RareCandy2 -Task_RareCandy2: @ 8070800 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0807083C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0807081A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08070834 -_0807081A: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_8070968 - ldr r0, _08070840 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08070844 @ =Task_RareCandy3 - str r0, [r1] -_08070834: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807083C: .4byte gMain -_08070840: .4byte gTasks -_08070844: .4byte Task_RareCandy3 - thumb_func_end Task_RareCandy2 - .section .text_8070968 thumb_func_start sub_8070968 |