.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start sub_80A0FBC sub_80A0FBC: @ 80A0FBC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, _080A0FD8 @ =gSpecialVar_ItemId ldrh r0, [r1] cmp r0, 0xAF bne _080A0FE0 ldr r0, _080A0FDC @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r1, r0 ldrb r0, [r1, 0x10] b _080A0FE6 .align 2, 0 _080A0FD8: .4byte gSpecialVar_ItemId _080A0FDC: .4byte gTasks _080A0FE0: ldrh r0, [r1] bl ItemId_GetType _080A0FE6: subs r0, 0x1 lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1010 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 bne _080A1018 ldr r0, _080A1014 @ =gUnknown_83E2954 lsls r1, r4, 2 adds r1, r0 ldr r0, [r1] bl sub_813D934 adds r0, r5, 0 bl sub_813D808 b _080A1032 .align 2, 0 _080A1010: .4byte gSpecialVar_ItemId _080A1014: .4byte gUnknown_83E2954 _080A1018: ldr r0, _080A1038 @ =gUnknown_83E2954 lsls r1, r4, 2 adds r1, r0 ldr r0, [r1] bl sub_8108EE0 cmp r4, 0x1 bne _080A102C bl sub_8108CB4 _080A102C: adds r0, r5, 0 bl sub_8108B50 _080A1032: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A1038: .4byte gUnknown_83E2954 thumb_func_end sub_80A0FBC thumb_func_start sub_80A103C sub_80A103C: @ 80A103C push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r1, _080A1064 @ =gTasks lsls r0, r2, 2 adds r0, r2 lsls r0, 3 adds r0, r1 movs r1, 0xE ldrsh r0, [r0, r1] cmp r0, 0x1 beq _080A1070 ldr r1, _080A1068 @ =gUnknown_3005020 ldr r0, _080A106C @ =sub_80A1084 str r0, [r1] adds r0, r2, 0 bl sub_80A0FBC b _080A107A .align 2, 0 _080A1064: .4byte gTasks _080A1068: .4byte gUnknown_3005020 _080A106C: .4byte sub_80A1084 _080A1070: ldr r0, _080A1080 @ =gUnknown_2039998 ldr r1, [r0] adds r0, r2, 0 bl _call_via_r1 _080A107A: pop {r0} bx r0 .align 2, 0 _080A1080: .4byte gUnknown_2039998 thumb_func_end sub_80A103C thumb_func_start sub_80A1084 sub_80A1084: @ 80A1084 push {lr} bl sub_807DC00 ldr r0, _080A1098 @ =sub_80A109C movs r1, 0x8 bl CreateTask pop {r0} bx r0 .align 2, 0 _080A1098: .4byte sub_80A109C thumb_func_end sub_80A1084 thumb_func_start sub_80A109C sub_80A109C: @ 80A109C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_807AA70 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080A10B8 ldr r0, _080A10C0 @ =gUnknown_2039998 ldr r1, [r0] adds r0, r4, 0 bl _call_via_r1 _080A10B8: pop {r4} pop {r0} bx r0 .align 2, 0 _080A10C0: .4byte gUnknown_2039998 thumb_func_end sub_80A109C thumb_func_start sub_80A10C4 sub_80A10C4: @ 80A10C4 push {r4-r7,lr} adds r4, r1, 0 adds r1, r3, 0 lsls r0, 24 lsrs r7, r0, 24 lsls r4, 24 lsrs r4, 24 lsls r2, 24 lsrs r6, r2, 24 ldr r5, _080A10F0 @ =gStringVar4 adds r0, r5, 0 bl StringExpandPlaceholders cmp r4, 0 bne _080A10F8 ldr r3, _080A10F4 @ =sub_810A1F8 adds r0, r7, 0 adds r1, r6, 0 adds r2, r5, 0 bl sub_8108E70 b _080A1104 .align 2, 0 _080A10F0: .4byte gStringVar4 _080A10F4: .4byte sub_810A1F8 _080A10F8: ldr r3, _080A110C @ =sub_80A112C adds r0, r7, 0 adds r1, r6, 0 adds r2, r5, 0 bl DisplayItemMessageOnField _080A1104: pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080A110C: .4byte sub_80A112C thumb_func_end sub_80A10C4 thumb_func_start sub_80A1110 sub_80A1110: @ 80A1110 push {lr} lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 ldr r3, _080A1128 @ =gUnknown_8416425 movs r2, 0x4 bl sub_80A10C4 pop {r0} bx r0 .align 2, 0 _080A1128: .4byte gUnknown_8416425 thumb_func_end sub_80A1110 thumb_func_start sub_80A112C sub_80A112C: @ 80A112C push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0 movs r1, 0x1 bl sub_80F6F54 adds r0, r4, 0 bl DestroyTask bl sub_80696C0 bl ScriptContext2_Disable pop {r4} pop {r0} bx r0 thumb_func_end sub_80A112C thumb_func_start sub_80A1150 sub_80A1150: @ 80A1150 push {r4,lr} lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 bl ItemId_GetPocket lsls r0, 24 lsrs r0, 24 cmp r0, 0x4 bne _080A1168 movs r0, 0x1 b _080A117E _080A1168: adds r0, r4, 0 bl ItemId_GetFieldFunc ldr r1, _080A1178 @ =sub_80A1750 cmp r0, r1 beq _080A117C movs r0, 0 b _080A117E .align 2, 0 _080A1178: .4byte sub_80A1750 _080A117C: movs r0, 0x2 _080A117E: pop {r4} pop {r1} bx r1 thumb_func_end sub_80A1150 thumb_func_start sub_80A1184 sub_80A1184: @ 80A1184 ldr r1, _080A118C @ =gUnknown_3005024 ldr r0, _080A1190 @ =sub_80A1194 str r0, [r1] bx lr .align 2, 0 _080A118C: .4byte gUnknown_3005024 _080A1190: .4byte sub_80A1194 thumb_func_end sub_80A1184 thumb_func_start sub_80A1194 sub_80A1194: @ 80A1194 push {lr} bl player_bitmagic bl ScriptContext2_Enable bl sub_807DC00 ldr r0, _080A11B8 @ =sub_80A11C0 movs r1, 0xA bl CreateTask ldr r1, _080A11BC @ =gUnknown_2031DE0 movs r0, 0 strb r0, [r1] movs r0, 0x1 pop {r1} bx r1 .align 2, 0 _080A11B8: .4byte sub_80A11C0 _080A11BC: .4byte gUnknown_2031DE0 thumb_func_end sub_80A1194 thumb_func_start sub_80A11C0 sub_80A11C0: @ 80A11C0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_807AA70 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080A11E0 bl UnfreezeMapObjects bl ScriptContext2_Disable adds r0, r4, 0 bl DestroyTask _080A11E0: pop {r4} pop {r0} bx r0 thumb_func_end sub_80A11C0 thumb_func_start sub_80A11E8 sub_80A11E8: @ 80A11E8 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, _080A1204 @ =sub_80A1208 bl sub_8108EE0 adds r0, r4, 0 bl sub_8108B50 pop {r4} pop {r0} bx r0 .align 2, 0 _080A1204: .4byte sub_80A1208 thumb_func_end sub_80A11E8 thumb_func_start sub_80A1208 sub_80A1208: @ 80A1208 push {lr} sub sp, 0x24 mov r1, sp ldr r0, _080A1224 @ =gSpecialVar_ItemId ldrh r0, [r0] strh r0, [r1, 0x20] ldr r1, _080A1228 @ =UseFameCheckerFromMenu mov r0, sp movs r2, 0 bl sub_80BEBEC add sp, 0x24 pop {r0} bx r0 .align 2, 0 _080A1224: .4byte gSpecialVar_ItemId _080A1228: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1208 thumb_func_start sub_80A122C sub_80A122C: @ 80A122C push {r4,r5,lr} sub sp, 0x4 lsls r0, 24 lsrs r5, r0, 24 mov r4, sp adds r4, 0x2 mov r0, sp adds r1, r4, 0 bl PlayerGetDestCoords mov r0, sp movs r1, 0 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x83 lsls r0, 4 bl FlagGet lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080A129A adds r0, r4, 0 bl MetatileBehavior_ReturnFalse_17 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080A129A adds r0, r4, 0 bl MetatileBehavior_ReturnFalse_18 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080A129A adds r0, r4, 0 bl MetatileBehavior_ReturnFalse_15 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080A129A adds r0, r4, 0 bl MetatileBehavior_ReturnFalse_16 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080A12BC _080A129A: ldr r1, _080A12B4 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 ldrb r1, [r0, 0xE] ldr r3, _080A12B8 @ =gUnknown_8416451 adds r0, r5, 0 movs r2, 0x2 bl sub_80A10C4 b _080A12F6 .align 2, 0 _080A12B4: .4byte gTasks _080A12B8: .4byte gUnknown_8416451 _080A12BC: bl sub_8055C9C cmp r0, 0x1 bne _080A12E4 bl sub_80BD540 lsls r0, 24 cmp r0, 0 bne _080A12E4 ldr r1, _080A12DC @ =gUnknown_2039998 ldr r0, _080A12E0 @ =sub_80A1304 str r0, [r1] adds r0, r5, 0 bl sub_80A103C b _080A12F6 .align 2, 0 _080A12DC: .4byte gUnknown_2039998 _080A12E0: .4byte sub_80A1304 _080A12E4: ldr r0, _080A1300 @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r1, r0 ldrb r1, [r1, 0xE] adds r0, r5, 0 bl sub_80A1110 _080A12F6: add sp, 0x4 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A1300: .4byte gTasks thumb_func_end sub_80A122C thumb_func_start sub_80A1304 sub_80A1304: @ 80A1304 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x6 bl TestPlayerAvatarFlags lsls r0, 24 cmp r0, 0 bne _080A131C movs r0, 0xB bl PlaySE _080A131C: movs r0, 0x6 bl sub_80BD5C8 bl sub_80696C0 bl ScriptContext2_Disable adds r0, r4, 0 bl DestroyTask pop {r4} pop {r0} bx r0 thumb_func_end sub_80A1304 thumb_func_start sub_80A1338 sub_80A1338: @ 80A1338 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_80A137C lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080A1360 ldr r1, _080A1358 @ =gUnknown_2039998 ldr r0, _080A135C @ =ItemUseOnFieldCB_Rod str r0, [r1] adds r0, r4, 0 bl sub_80A103C b _080A1372 .align 2, 0 _080A1358: .4byte gUnknown_2039998 _080A135C: .4byte ItemUseOnFieldCB_Rod _080A1360: ldr r0, _080A1378 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 ldrb r1, [r1, 0xE] adds r0, r4, 0 bl sub_80A1110 _080A1372: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1378: .4byte gTasks thumb_func_end sub_80A1338 thumb_func_start sub_80A137C sub_80A137C: @ 80A137C push {r4-r6,lr} sub sp, 0x4 mov r4, sp adds r4, 0x2 mov r0, sp adds r1, r4, 0 bl GetXYCoordsOneStepInFrontOfPlayer mov r0, sp movs r1, 0 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] bl MapGridGetMetatileBehaviorAt lsls r0, 16 lsrs r6, r0, 16 lsls r0, r6, 24 lsrs r5, r0, 24 adds r0, r5, 0 bl MetatileBehavior_IsWaterfall lsls r0, 24 cmp r0, 0 bne _080A1404 movs r0, 0x10 bl TestPlayerAvatarFlags lsls r0, 24 cmp r0, 0 bne _080A1404 movs r0, 0x8 bl TestPlayerAvatarFlags lsls r0, 24 cmp r0, 0 bne _080A13D4 bl IsPlayerFacingSurfableFishableWater lsls r0, 24 cmp r0, 0 beq _080A1404 _080A13D0: movs r0, 0x1 b _080A1406 _080A13D4: adds r0, r5, 0 bl MetatileBehavior_IsSurfable lsls r0, 24 cmp r0, 0 beq _080A13F4 mov r0, sp movs r1, 0 ldrsh r0, [r0, r1] movs r2, 0 ldrsh r1, [r4, r2] bl sub_8058DC4 lsls r0, 24 cmp r0, 0 beq _080A13D0 _080A13F4: lsls r0, r6, 24 lsrs r0, 24 bl MetatileBehavior_ReturnFalse_6 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080A13D0 _080A1404: movs r0, 0 _080A1406: add sp, 0x4 pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_80A137C thumb_func_start ItemUseOnFieldCB_Rod ItemUseOnFieldCB_Rod: @ 80A1410 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, _080A1434 @ =gSpecialVar_ItemId ldrh r0, [r0] bl ItemId_GetSecondaryId lsls r0, 24 lsrs r0, 24 bl sub_805D2C0 adds r0, r4, 0 bl DestroyTask pop {r4} pop {r0} bx r0 .align 2, 0 _080A1434: .4byte gSpecialVar_ItemId thumb_func_end ItemUseOnFieldCB_Rod thumb_func_start ItemUseOutOfBattle_Itemfinder ItemUseOutOfBattle_Itemfinder: @ 80A1438 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x27 bl IncrementGameStat ldr r1, _080A1458 @ =gUnknown_2039998 ldr r0, _080A145C @ =sub_813EC8C str r0, [r1] adds r0, r4, 0 bl sub_80A103C pop {r4} pop {r0} bx r0 .align 2, 0 _080A1458: .4byte gUnknown_2039998 _080A145C: .4byte sub_813EC8C thumb_func_end ItemUseOutOfBattle_Itemfinder thumb_func_start sub_80A1460 sub_80A1460: @ 80A1460 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r4, _080A14B4 @ =gStringVar1 bl GetCoins adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 movs r2, 0 movs r3, 0x4 bl ConvertIntToDecimalStringN ldr r4, _080A14B8 @ =gStringVar4 ldr r1, _080A14BC @ =gUnknown_8416537 adds r0, r4, 0 bl StringExpandPlaceholders ldr r0, _080A14C0 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A14C4 @ =0x0000ffff movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldr r1, _080A14C8 @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 movs r1, 0xE ldrsh r0, [r0, r1] cmp r0, 0 bne _080A14D0 ldr r3, _080A14CC @ =sub_810A1F8 adds r0, r5, 0 movs r1, 0x2 adds r2, r4, 0 bl sub_8108E70 b _080A14DC .align 2, 0 _080A14B4: .4byte gStringVar1 _080A14B8: .4byte gStringVar4 _080A14BC: .4byte gUnknown_8416537 _080A14C0: .4byte gSpecialVar_ItemId _080A14C4: .4byte 0x0000ffff _080A14C8: .4byte gTasks _080A14CC: .4byte sub_810A1F8 _080A14D0: ldr r3, _080A14E4 @ =sub_80A112C adds r0, r5, 0 movs r1, 0x2 adds r2, r4, 0 bl DisplayItemMessageOnField _080A14DC: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A14E4: .4byte sub_80A112C thumb_func_end sub_80A1460 thumb_func_start sub_80A14E8 sub_80A14E8: @ 80A14E8 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r4, _080A1538 @ =gStringVar1 bl sub_815EFA0 adds r1, r0, 0 adds r0, r4, 0 movs r2, 0 movs r3, 0x5 bl ConvertIntToDecimalStringN ldr r4, _080A153C @ =gStringVar4 ldr r1, _080A1540 @ =gUnknown_8416644 adds r0, r4, 0 bl StringExpandPlaceholders ldr r0, _080A1544 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A1548 @ =0x0000ffff movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldr r1, _080A154C @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 movs r1, 0xE ldrsh r0, [r0, r1] cmp r0, 0 bne _080A1554 ldr r3, _080A1550 @ =sub_810A1F8 adds r0, r5, 0 movs r1, 0x2 adds r2, r4, 0 bl sub_8108E70 b _080A1560 .align 2, 0 _080A1538: .4byte gStringVar1 _080A153C: .4byte gStringVar4 _080A1540: .4byte gUnknown_8416644 _080A1544: .4byte gSpecialVar_ItemId _080A1548: .4byte 0x0000ffff _080A154C: .4byte gTasks _080A1550: .4byte sub_810A1F8 _080A1554: ldr r3, _080A1568 @ =sub_80A112C adds r0, r5, 0 movs r1, 0x2 adds r2, r4, 0 bl DisplayItemMessageOnField _080A1560: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A1568: .4byte sub_80A112C thumb_func_end sub_80A14E8 thumb_func_start sub_80A156C sub_80A156C: @ 80A156C push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 movs r4, 0 b _080A1598 _080A1578: movs r0, 0x64 muls r0, r4 ldr r1, _080A15D0 @ =gPlayerParty adds r0, r1 movs r1, 0x11 adds r2, r4, 0 movs r3, 0 bl ExecuteTableBasedItemEffect lsls r0, 24 cmp r0, 0 bne _080A1592 movs r6, 0x1 _080A1592: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 _080A1598: bl CalculatePlayerPartyCount lsls r0, 24 lsrs r0, 24 cmp r4, r0 bcc _080A1578 cmp r6, 0 beq _080A1600 ldr r0, _080A15D4 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A15D8 @ =0x0000ffff movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldr r1, _080A15DC @ =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 movs r1, 0xE ldrsh r0, [r0, r1] cmp r0, 0 bne _080A15E8 ldr r2, _080A15E0 @ =gUnknown_8416690 ldr r3, _080A15E4 @ =sub_80A1648 b _080A1616 .align 2, 0 _080A15D0: .4byte gPlayerParty _080A15D4: .4byte gSpecialVar_ItemId _080A15D8: .4byte 0x0000ffff _080A15DC: .4byte gTasks _080A15E0: .4byte gUnknown_8416690 _080A15E4: .4byte sub_80A1648 _080A15E8: ldr r2, _080A15F8 @ =gUnknown_8416690 ldr r3, _080A15FC @ =sub_80A1648 adds r0, r5, 0 movs r1, 0x2 bl DisplayItemMessageOnField b _080A1638 .align 2, 0 _080A15F8: .4byte gUnknown_8416690 _080A15FC: .4byte sub_80A1648 _080A1600: ldr r0, _080A1620 @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r1, r0 movs r2, 0xE ldrsh r0, [r1, r2] cmp r0, 0 bne _080A162C ldr r2, _080A1624 @ =gUnknown_841665C ldr r3, _080A1628 @ =sub_810A1F8 _080A1616: adds r0, r5, 0 movs r1, 0x2 bl sub_8108E70 b _080A1638 .align 2, 0 _080A1620: .4byte gTasks _080A1624: .4byte gUnknown_841665C _080A1628: .4byte sub_810A1F8 _080A162C: ldr r2, _080A1640 @ =gUnknown_841665C ldr r3, _080A1644 @ =sub_80A112C adds r0, r5, 0 movs r1, 0x2 bl DisplayItemMessageOnField _080A1638: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080A1640: .4byte gUnknown_841665C _080A1644: .4byte sub_80A112C thumb_func_end sub_80A156C thumb_func_start sub_80A1648 sub_80A1648: @ 80A1648 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0xB bl PlayFanfareByFanfareNum ldr r1, _080A166C @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, _080A1670 @ =sub_80A1674 str r1, [r0] pop {r4} pop {r0} bx r0 .align 2, 0 _080A166C: .4byte gTasks _080A1670: .4byte sub_80A1674 thumb_func_end sub_80A1648 thumb_func_start sub_80A1674 sub_80A1674: @ 80A1674 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 movs r0, 0 bl WaitFanfare lsls r0, 24 cmp r0, 0 beq _080A16C0 ldr r0, _080A16A8 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 movs r2, 0xE ldrsh r0, [r1, r2] cmp r0, 0 bne _080A16B4 ldr r2, _080A16AC @ =gUnknown_84166A7 ldr r3, _080A16B0 @ =sub_810A1F8 adds r0, r4, 0 movs r1, 0x2 bl sub_8108E70 b _080A16C0 .align 2, 0 _080A16A8: .4byte gTasks _080A16AC: .4byte gUnknown_84166A7 _080A16B0: .4byte sub_810A1F8 _080A16B4: ldr r2, _080A16C8 @ =gUnknown_84166A7 ldr r3, _080A16CC @ =sub_80A112C adds r0, r5, 0 movs r1, 0x2 bl DisplayItemMessageOnField _080A16C0: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A16C8: .4byte gUnknown_84166A7 _080A16CC: .4byte sub_80A112C thumb_func_end sub_80A1674 thumb_func_start sub_80A16D0 sub_80A16D0: @ 80A16D0 push {lr} lsls r0, 24 lsrs r0, 24 bl sub_80A0FBC pop {r0} bx r0 thumb_func_end sub_80A16D0 thumb_func_start sub_80A16E0 sub_80A16E0: @ 80A16E0 push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A16F4 @ =gUnknown_3005E98 ldr r1, _080A16F8 @ =sub_81252D0 str r1, [r2] bl sub_80A16D0 pop {r0} bx r0 .align 2, 0 _080A16F4: .4byte gUnknown_3005E98 _080A16F8: .4byte sub_81252D0 thumb_func_end sub_80A16E0 thumb_func_start sub_80A16FC sub_80A16FC: @ 80A16FC push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A1710 @ =gUnknown_3005E98 ldr r1, _080A1714 @ =sub_81256F8 str r1, [r2] bl sub_80A16D0 pop {r0} bx r0 .align 2, 0 _080A1710: .4byte gUnknown_3005E98 _080A1714: .4byte sub_81256F8 thumb_func_end sub_80A16FC thumb_func_start sub_80A1718 sub_80A1718: @ 80A1718 push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A172C @ =gUnknown_3005E98 ldr r1, _080A1730 @ =dp05_pp_up str r1, [r2] bl sub_80A16D0 pop {r0} bx r0 .align 2, 0 _080A172C: .4byte gUnknown_3005E98 _080A1730: .4byte dp05_pp_up thumb_func_end sub_80A1718 thumb_func_start sub_80A1734 sub_80A1734: @ 80A1734 push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A1748 @ =gUnknown_3005E98 ldr r1, _080A174C @ =dp05_rare_candy str r1, [r2] bl sub_80A16D0 pop {r0} bx r0 .align 2, 0 _080A1748: .4byte gUnknown_3005E98 _080A174C: .4byte dp05_rare_candy thumb_func_end sub_80A1734 thumb_func_start sub_80A1750 sub_80A1750: @ 80A1750 push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A1764 @ =gUnknown_3005E98 ldr r1, _080A1768 @ =sub_8126B60 str r1, [r2] bl sub_80A16D0 pop {r0} bx r0 .align 2, 0 _080A1764: .4byte gUnknown_3005E98 _080A1768: .4byte sub_8126B60 thumb_func_end sub_80A1750 thumb_func_start sub_80A176C sub_80A176C: @ 80A176C push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A1780 @ =gUnknown_3005E98 ldr r1, _080A1784 @ =sub_8126894 str r1, [r2] bl sub_80A0FBC pop {r0} bx r0 .align 2, 0 _080A1780: .4byte gUnknown_3005E98 _080A1784: .4byte sub_8126894 thumb_func_end sub_80A176C thumb_func_start sub_80A1788 sub_80A1788: @ 80A1788 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080A17B0 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r5, r0, r1 movs r1, 0xE ldrsh r0, [r5, r1] cmp r0, 0 bne _080A17B8 ldr r0, _080A17B4 @ =sub_80A17D4 bl sub_8108EE0 adds r0, r4, 0 bl sub_8108B50 b _080A17C8 .align 2, 0 _080A17B0: .4byte gTasks _080A17B4: .4byte sub_80A17D4 _080A17B8: bl sub_80CCB68 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r0, _080A17D0 @ =sub_80A17E8 str r0, [r5] _080A17C8: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A17D0: .4byte sub_80A17E8 thumb_func_end sub_80A1788 thumb_func_start sub_80A17D4 sub_80A17D4: @ 80A17D4 push {lr} ldr r1, _080A17E4 @ =UseFameCheckerFromMenu movs r0, 0 movs r2, 0 bl sub_81317F8 pop {r0} bx r0 .align 2, 0 _080A17E4: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A17D4 thumb_func_start sub_80A17E8 sub_80A17E8: @ 80A17E8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1818 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080A1812 bl sub_80563F0 bl sub_80A1184 ldr r1, _080A181C @ =c2_exit_to_overworld_2_switch movs r0, 0 movs r2, 0x1 bl sub_81317F8 adds r0, r4, 0 bl DestroyTask _080A1812: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1818: .4byte gPaletteFade _080A181C: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A17E8 thumb_func_start sub_80A1820 sub_80A1820: @ 80A1820 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080A1848 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r5, r0, r1 movs r1, 0xE ldrsh r0, [r5, r1] cmp r0, 0 bne _080A1850 ldr r0, _080A184C @ =sub_80A186C bl sub_8108EE0 adds r0, r4, 0 bl sub_8108B50 b _080A1860 .align 2, 0 _080A1848: .4byte gTasks _080A184C: .4byte sub_80A186C _080A1850: bl sub_80CCB68 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r0, _080A1868 @ =sub_80A1880 str r0, [r5] _080A1860: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A1868: .4byte sub_80A1880 thumb_func_end sub_80A1820 thumb_func_start sub_80A186C sub_80A186C: @ 80A186C push {lr} ldr r1, _080A187C @ =UseFameCheckerFromMenu movs r0, 0 movs r2, 0 bl sub_813CD50 pop {r0} bx r0 .align 2, 0 _080A187C: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A186C thumb_func_start sub_80A1880 sub_80A1880: @ 80A1880 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A18B0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080A18AA bl sub_80563F0 bl sub_80A1184 ldr r1, _080A18B4 @ =c2_exit_to_overworld_2_switch movs r0, 0 movs r2, 0x1 bl sub_813CD50 adds r0, r4, 0 bl DestroyTask _080A18AA: pop {r4} pop {r0} bx r0 .align 2, 0 _080A18B0: .4byte gPaletteFade _080A18B4: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A1880 thumb_func_start sub_80A18B8 sub_80A18B8: @ 80A18B8 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, _080A18D4 @ =sub_80A18D8 bl sub_8108EE0 adds r0, r4, 0 bl sub_8108B50 pop {r4} pop {r0} bx r0 .align 2, 0 _080A18D4: .4byte sub_80A18D8 thumb_func_end sub_80A18B8 thumb_func_start sub_80A18D8 sub_80A18D8: @ 80A18D8 push {lr} ldr r1, _080A18E8 @ =sub_8107ECC movs r0, 0x4 movs r2, 0 bl sub_813CD50 pop {r0} bx r0 .align 2, 0 _080A18E8: .4byte sub_8107ECC thumb_func_end sub_80A18D8 thumb_func_start sub_80A18EC sub_80A18EC: @ 80A18EC push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1920 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A1924 @ =0x0000ffff movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldr r1, _080A1928 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r5, r0, r1 movs r1, 0xE ldrsh r0, [r5, r1] cmp r0, 0 bne _080A1930 ldr r0, _080A192C @ =sub_80A194C bl sub_8108EE0 adds r0, r4, 0 bl sub_8108B50 b _080A1940 .align 2, 0 _080A1920: .4byte gSpecialVar_ItemId _080A1924: .4byte 0x0000ffff _080A1928: .4byte gTasks _080A192C: .4byte sub_80A194C _080A1930: bl sub_80CCB68 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r0, _080A1948 @ =sub_80A1960 str r0, [r5] _080A1940: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A1948: .4byte sub_80A1960 thumb_func_end sub_80A18EC thumb_func_start sub_80A194C sub_80A194C: @ 80A194C push {lr} ldr r1, _080A195C @ =UseFameCheckerFromMenu movs r0, 0 bl sub_815ABC4 pop {r0} bx r0 .align 2, 0 _080A195C: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A194C thumb_func_start sub_80A1960 sub_80A1960: @ 80A1960 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1990 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080A1988 bl sub_80563F0 bl sub_80A1184 ldr r1, _080A1994 @ =c2_exit_to_overworld_2_switch movs r0, 0 bl sub_815ABC4 adds r0, r4, 0 bl DestroyTask _080A1988: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1990: .4byte gPaletteFade _080A1994: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A1960 thumb_func_start sub_80A1998 sub_80A1998: @ 80A1998 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A19C0 @ =0x00004020 bl VarGet lsls r0, 16 cmp r0, 0 bne _080A19CC movs r0, 0x29 bl PlaySE ldr r0, _080A19C4 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 ldr r0, _080A19C8 @ =sub_80A19E8 str r0, [r1] b _080A19D8 .align 2, 0 _080A19C0: .4byte 0x00004020 _080A19C4: .4byte gTasks _080A19C8: .4byte sub_80A19E8 _080A19CC: ldr r2, _080A19E0 @ =gUnknown_841659E ldr r3, _080A19E4 @ =sub_810A1F8 adds r0, r4, 0 movs r1, 0x2 bl sub_8108E70 _080A19D8: pop {r4} pop {r0} bx r0 .align 2, 0 _080A19E0: .4byte gUnknown_841659E _080A19E4: .4byte sub_810A1F8 thumb_func_end sub_80A1998 thumb_func_start sub_80A19E8 sub_80A19E8: @ 80A19E8 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 bl IsSEPlaying lsls r0, 24 cmp r0, 0 bne _080A1A2A ldr r4, _080A1A30 @ =gSpecialVar_ItemId ldrh r2, [r4] ldr r3, _080A1A34 @ =0x0000ffff movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldr r5, _080A1A38 @ =0x00004020 ldrh r0, [r4] bl ItemId_GetHoldEffectParam adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 bl VarSet bl sub_80A1A44 ldr r2, _080A1A3C @ =gStringVar4 ldr r3, _080A1A40 @ =sub_810A1F8 adds r0, r6, 0 movs r1, 0x2 bl sub_8108E70 _080A1A2A: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080A1A30: .4byte gSpecialVar_ItemId _080A1A34: .4byte 0x0000ffff _080A1A38: .4byte 0x00004020 _080A1A3C: .4byte gStringVar4 _080A1A40: .4byte sub_810A1F8 thumb_func_end sub_80A19E8 thumb_func_start sub_80A1A44 sub_80A1A44: @ 80A1A44 push {r4,lr} ldr r4, _080A1A84 @ =gSpecialVar_ItemId ldrh r0, [r4] movs r1, 0x1 bl sub_809A1D8 ldrh r0, [r4] bl ItemId_GetPocket lsls r0, 24 lsrs r0, 24 bl sub_8108DC8 ldrh r0, [r4] bl ItemId_GetPocket lsls r0, 24 lsrs r0, 24 bl sub_81089F4 ldrh r0, [r4] ldr r1, _080A1A88 @ =gStringVar2 bl sub_8099E90 ldr r0, _080A1A8C @ =gStringVar4 ldr r1, _080A1A90 @ =gUnknown_841658C bl StringExpandPlaceholders pop {r4} pop {r0} bx r0 .align 2, 0 _080A1A84: .4byte gSpecialVar_ItemId _080A1A88: .4byte gStringVar2 _080A1A8C: .4byte gStringVar4 _080A1A90: .4byte gUnknown_841658C thumb_func_end sub_80A1A44 thumb_func_start sub_80A1A94 sub_80A1A94: @ 80A1A94 push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 ldr r5, _080A1AD4 @ =gSpecialVar_ItemId ldrh r2, [r5] ldr r3, _080A1AD8 @ =0x0000ffff movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldrh r0, [r5] cmp r0, 0x2B bne _080A1AF4 ldr r0, _080A1ADC @ =0x00000803 bl FlagSet ldr r0, _080A1AE0 @ =0x00000804 bl FlagClear ldrh r0, [r5] ldr r1, _080A1AE4 @ =gStringVar2 bl sub_8099E90 ldr r0, _080A1AE8 @ =gStringVar4 ldr r1, _080A1AEC @ =gUnknown_84165D2 bl StringExpandPlaceholders ldr r1, _080A1AF0 @ =gTasks lsls r0, r4, 2 adds r0, r4 b _080A1B1A .align 2, 0 _080A1AD4: .4byte gSpecialVar_ItemId _080A1AD8: .4byte 0x0000ffff _080A1ADC: .4byte 0x00000803 _080A1AE0: .4byte 0x00000804 _080A1AE4: .4byte gStringVar2 _080A1AE8: .4byte gStringVar4 _080A1AEC: .4byte gUnknown_84165D2 _080A1AF0: .4byte gTasks _080A1AF4: cmp r0, 0x2A bne _080A1B26 ldr r0, _080A1B2C @ =0x00000804 bl FlagSet ldr r0, _080A1B30 @ =0x00000803 bl FlagClear ldrh r0, [r5] ldr r1, _080A1B34 @ =gStringVar2 bl sub_8099E90 ldr r0, _080A1B38 @ =gStringVar4 ldr r1, _080A1B3C @ =gUnknown_8416600 bl StringExpandPlaceholders ldr r1, _080A1B40 @ =gTasks lsls r0, r6, 2 adds r0, r6 _080A1B1A: lsls r0, 3 adds r0, r1 ldr r1, _080A1B44 @ =sub_80A1B48 str r1, [r0] movs r1, 0 strh r1, [r0, 0x18] _080A1B26: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _080A1B2C: .4byte 0x00000804 _080A1B30: .4byte 0x00000803 _080A1B34: .4byte gStringVar2 _080A1B38: .4byte gStringVar4 _080A1B3C: .4byte gUnknown_8416600 _080A1B40: .4byte gTasks _080A1B44: .4byte sub_80A1B48 thumb_func_end sub_80A1A94 thumb_func_start sub_80A1B48 sub_80A1B48: @ 80A1B48 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1B80 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 ldrh r0, [r1, 0x18] adds r0, 0x1 strh r0, [r1, 0x18] lsls r0, 16 asrs r0, 16 cmp r0, 0x7 ble _080A1B78 movs r0, 0x6E bl PlaySE ldr r2, _080A1B84 @ =gStringVar4 ldr r3, _080A1B88 @ =sub_810A1F8 adds r0, r4, 0 movs r1, 0x2 bl sub_8108E70 _080A1B78: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1B80: .4byte gTasks _080A1B84: .4byte gStringVar4 _080A1B88: .4byte sub_810A1F8 thumb_func_end sub_80A1B48 thumb_func_start sub_80A1B8C sub_80A1B8C: @ 80A1B8C push {lr} ldr r0, _080A1BA0 @ =gMapHeader ldrb r1, [r0, 0x19] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080A1BA4 movs r0, 0 b _080A1BA6 .align 2, 0 _080A1BA0: .4byte gMapHeader _080A1BA4: movs r0, 0x1 _080A1BA6: pop {r1} bx r1 thumb_func_end sub_80A1B8C thumb_func_start ItemUseOutOfBattle_EscapeRope ItemUseOutOfBattle_EscapeRope: @ 80A1BAC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_80A1B8C lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080A1BEC ldr r0, _080A1BDC @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r0, _080A1BE0 @ =gMapHeader ldrb r3, [r0, 0x14] movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldr r1, _080A1BE4 @ =gUnknown_2039998 ldr r0, _080A1BE8 @ =sub_80A1C08 str r0, [r1] adds r0, r4, 0 bl sub_80A103C b _080A1BFE .align 2, 0 _080A1BDC: .4byte gSpecialVar_ItemId _080A1BE0: .4byte gMapHeader _080A1BE4: .4byte gUnknown_2039998 _080A1BE8: .4byte sub_80A1C08 _080A1BEC: ldr r0, _080A1C04 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 ldrb r1, [r1, 0xE] adds r0, r4, 0 bl sub_80A1110 _080A1BFE: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1C04: .4byte gTasks thumb_func_end ItemUseOutOfBattle_EscapeRope thumb_func_start sub_80A1C08 sub_80A1C08: @ 80A1C08 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8054D70 bl sub_80A1A44 ldr r1, _080A1C38 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0x8] ldr r2, _080A1C3C @ =gStringVar4 ldr r3, _080A1C40 @ =sub_80A1C44 adds r0, r4, 0 movs r1, 0x2 bl DisplayItemMessageOnField pop {r4} pop {r0} bx r0 .align 2, 0 _080A1C38: .4byte gTasks _080A1C3C: .4byte gStringVar4 _080A1C40: .4byte sub_80A1C44 thumb_func_end sub_80A1C08 thumb_func_start sub_80A1C44 sub_80A1C44: @ 80A1C44 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_80559E4 bl sub_8085620 adds r0, r4, 0 bl DestroyTask pop {r4} pop {r0} bx r0 thumb_func_end sub_80A1C44 thumb_func_start sub_80A1C60 sub_80A1C60: @ 80A1C60 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080A1C88 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r5, r0, r1 movs r1, 0xE ldrsh r0, [r5, r1] cmp r0, 0 bne _080A1C90 ldr r0, _080A1C8C @ =sub_80A1CAC bl sub_8108EE0 adds r0, r4, 0 bl sub_8108B50 b _080A1CA0 .align 2, 0 _080A1C88: .4byte gTasks _080A1C8C: .4byte sub_80A1CAC _080A1C90: bl sub_80CCB68 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r0, _080A1CA8 @ =sub_80A1CC0 str r0, [r5] _080A1CA0: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A1CA8: .4byte sub_80A1CC0 thumb_func_end sub_80A1C60 thumb_func_start sub_80A1CAC sub_80A1CAC: @ 80A1CAC push {lr} ldr r1, _080A1CBC @ =UseFameCheckerFromMenu movs r0, 0 bl sub_80BFF50 pop {r0} bx r0 .align 2, 0 _080A1CBC: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1CAC thumb_func_start sub_80A1CC0 sub_80A1CC0: @ 80A1CC0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1CF0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080A1CE8 bl sub_80563F0 bl sub_80A1184 ldr r1, _080A1CF4 @ =c2_exit_to_overworld_2_switch movs r0, 0 bl sub_80BFF50 adds r0, r4, 0 bl DestroyTask _080A1CE8: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1CF0: .4byte gPaletteFade _080A1CF4: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A1CC0 thumb_func_start sub_80A1CF8 sub_80A1CF8: @ 80A1CF8 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1D2C @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A1D30 @ =0x0000ffff movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldr r1, _080A1D34 @ =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r5, r0, r1 movs r1, 0xE ldrsh r0, [r5, r1] cmp r0, 0 bne _080A1D3C ldr r0, _080A1D38 @ =sub_80A1D58 bl sub_8108EE0 adds r0, r4, 0 bl sub_8108B50 b _080A1D4C .align 2, 0 _080A1D2C: .4byte gSpecialVar_ItemId _080A1D30: .4byte 0x0000ffff _080A1D34: .4byte gTasks _080A1D38: .4byte sub_80A1D58 _080A1D3C: bl sub_80CCB68 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r0, _080A1D54 @ =sub_80A1D68 str r0, [r5] _080A1D4C: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A1D54: .4byte sub_80A1D68 thumb_func_end sub_80A1CF8 thumb_func_start sub_80A1D58 sub_80A1D58: @ 80A1D58 push {lr} ldr r0, _080A1D64 @ =UseFameCheckerFromMenu bl UseFameChecker pop {r0} bx r0 .align 2, 0 _080A1D64: .4byte UseFameCheckerFromMenu thumb_func_end sub_80A1D58 thumb_func_start sub_80A1D68 sub_80A1D68: @ 80A1D68 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1D94 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _080A1D8E bl sub_80563F0 bl sub_80A1184 ldr r0, _080A1D98 @ =c2_exit_to_overworld_2_switch bl UseFameChecker adds r0, r4, 0 bl DestroyTask _080A1D8E: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1D94: .4byte gPaletteFade _080A1D98: .4byte c2_exit_to_overworld_2_switch thumb_func_end sub_80A1D68 thumb_func_start sub_80A1D9C sub_80A1D9C: @ 80A1D9C push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r0, _080A1DE8 @ =gMapHeader ldrb r0, [r0, 0x17] cmp r0, 0x3 beq _080A1DB2 cmp r0, 0x1 beq _080A1DB2 cmp r0, 0x2 bne _080A1DD2 _080A1DB2: ldr r0, _080A1DEC @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] cmp r0, 0x1 bne _080A1DF4 movs r0, 0x5 ldrsb r0, [r1, r0] cmp r0, 0 beq _080A1DD2 cmp r0, 0x61 beq _080A1DD2 cmp r0, 0x6D beq _080A1DD2 cmp r0, 0x79 bne _080A1DF4 _080A1DD2: ldr r0, _080A1DF0 @ =gTasks lsls r1, r2, 2 adds r1, r2 lsls r1, 3 adds r1, r0 ldrb r1, [r1, 0xE] adds r0, r2, 0 bl sub_80A1110 b _080A1E00 .align 2, 0 _080A1DE8: .4byte gMapHeader _080A1DEC: .4byte gSaveBlock1Ptr _080A1DF0: .4byte gTasks _080A1DF4: ldr r1, _080A1E04 @ =gUnknown_2039998 ldr r0, _080A1E08 @ =Task_VsSeeker_0 str r0, [r1] adds r0, r2, 0 bl sub_80A103C _080A1E00: pop {r0} bx r0 .align 2, 0 _080A1E04: .4byte gUnknown_2039998 _080A1E08: .4byte Task_VsSeeker_0 thumb_func_end sub_80A1D9C thumb_func_start sub_80A1E0C sub_80A1E0C: @ 80A1E0C push {lr} lsls r0, 24 lsrs r0, 24 bl sub_80A112C pop {r0} bx r0 thumb_func_end sub_80A1E0C thumb_func_start sub_80A1E1C sub_80A1E1C: @ 80A1E1C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl IsPlayerPartyAndPokemonStorageFull lsls r0, 24 cmp r0, 0 bne _080A1E48 ldr r0, _080A1E44 @ =gSpecialVar_ItemId ldrh r0, [r0] movs r1, 0x1 bl sub_809A1D8 bl sub_8108CB4 adds r0, r4, 0 bl sub_8108B50 b _080A1E54 .align 2, 0 _080A1E44: .4byte gSpecialVar_ItemId _080A1E48: ldr r2, _080A1E5C @ =gUnknown_8416631 ldr r3, _080A1E60 @ =sub_810A1F8 adds r0, r4, 0 movs r1, 0x2 bl sub_8108E70 _080A1E54: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1E5C: .4byte gUnknown_8416631 _080A1E60: .4byte sub_810A1F8 thumb_func_end sub_80A1E1C thumb_func_start sub_80A1E64 sub_80A1E64: @ 80A1E64 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8108CB4 adds r0, r4, 0 bl sub_8108B50 pop {r4} pop {r0} bx r0 thumb_func_end sub_80A1E64 thumb_func_start sub_80A1E7C sub_80A1E7C: @ 80A1E7C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080A1EBC @ =gBattlerPartyIndexes ldr r0, _080A1EC0 @ =gBattlerInMenuId ldrb r0, [r0] lsls r0, 1 adds r0, r1 ldrh r2, [r0] movs r0, 0x64 muls r0, r2 ldr r1, _080A1EC4 @ =gPlayerParty adds r0, r1 ldr r1, _080A1EC8 @ =gSpecialVar_ItemId ldrh r1, [r1] lsls r2, 24 lsrs r2, 24 movs r3, 0 bl ExecuteTableBasedItemEffect lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 beq _080A1ED4 ldr r2, _080A1ECC @ =gUnknown_84169DC ldr r3, _080A1ED0 @ =sub_810A1F8 adds r0, r4, 0 movs r1, 0x2 bl sub_8108E70 b _080A1EE4 .align 2, 0 _080A1EBC: .4byte gBattlerPartyIndexes _080A1EC0: .4byte gBattlerInMenuId _080A1EC4: .4byte gPlayerParty _080A1EC8: .4byte gSpecialVar_ItemId _080A1ECC: .4byte gUnknown_84169DC _080A1ED0: .4byte sub_810A1F8 _080A1ED4: ldr r0, _080A1EEC @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 strh r2, [r1, 0x18] ldr r0, _080A1EF0 @ =sub_80A1EF4 str r0, [r1] _080A1EE4: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1EEC: .4byte gTasks _080A1EF0: .4byte sub_80A1EF4 thumb_func_end sub_80A1E7C thumb_func_start sub_80A1EF4 sub_80A1EF4: @ 80A1EF4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r1, r5, 2 adds r1, r5 lsls r1, 3 ldr r0, _080A1F3C @ =gTasks+0x8 adds r1, r0 ldrh r0, [r1, 0x10] adds r0, 0x1 strh r0, [r1, 0x10] lsls r0, 16 asrs r0, 16 cmp r0, 0x7 ble _080A1F36 ldr r0, _080A1F40 @ =gSpecialVar_ItemId ldrh r4, [r0] movs r0, 0x1 bl PlaySE adds r0, r4, 0 movs r1, 0x1 bl sub_809A1D8 adds r0, r4, 0 bl sub_8042DA4 adds r2, r0, 0 ldr r3, _080A1F44 @ =sub_80A1F48 adds r0, r5, 0 movs r1, 0x2 bl sub_8108E70 _080A1F36: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A1F3C: .4byte gTasks+0x8 _080A1F40: .4byte gSpecialVar_ItemId _080A1F44: .4byte sub_80A1F48 thumb_func_end sub_80A1EF4 thumb_func_start sub_80A1F48 sub_80A1F48: @ 80A1F48 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1F74 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _080A1F62 movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _080A1F6C _080A1F62: bl sub_8108CB4 adds r0, r4, 0 bl sub_8108B50 _080A1F6C: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1F74: .4byte gMain thumb_func_end sub_80A1F48 thumb_func_start sub_80A1F78 sub_80A1F78: @ 80A1F78 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A1F9C @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 bne _080A1FA4 ldr r0, _080A1FA0 @ =sub_81279E0 bl sub_813D934 adds r0, r4, 0 bl sub_813D808 b _080A1FB0 .align 2, 0 _080A1F9C: .4byte gSpecialVar_ItemId _080A1FA0: .4byte sub_81279E0 _080A1FA4: ldr r0, _080A1FB8 @ =sub_81279E0 bl sub_8108EE0 adds r0, r4, 0 bl sub_8108B50 _080A1FB0: pop {r4} pop {r0} bx r0 .align 2, 0 _080A1FB8: .4byte sub_81279E0 thumb_func_end sub_80A1F78 thumb_func_start sub_80A1FBC sub_80A1FBC: @ 80A1FBC push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A1FD0 @ =gUnknown_3005E98 ldr r1, _080A1FD4 @ =ItemUseCB_Medicine str r1, [r2] bl sub_80A1F78 pop {r0} bx r0 .align 2, 0 _080A1FD0: .4byte gUnknown_3005E98 _080A1FD4: .4byte ItemUseCB_Medicine thumb_func_end sub_80A1FBC thumb_func_start sub_80A1FD8 sub_80A1FD8: @ 80A1FD8 push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A1FEC @ =gUnknown_3005E98 ldr r1, _080A1FF0 @ =sub_8126894 str r1, [r2] bl sub_80A1F78 pop {r0} bx r0 .align 2, 0 _080A1FEC: .4byte gUnknown_3005E98 _080A1FF0: .4byte sub_8126894 thumb_func_end sub_80A1FD8 thumb_func_start sub_80A1FF4 sub_80A1FF4: @ 80A1FF4 push {lr} lsls r0, 24 lsrs r0, 24 ldr r2, _080A2008 @ =gUnknown_3005E98 ldr r1, _080A200C @ =sub_81256F8 str r1, [r2] bl sub_80A1F78 pop {r0} bx r0 .align 2, 0 _080A2008: .4byte gUnknown_3005E98 _080A200C: .4byte sub_81256F8 thumb_func_end sub_80A1FF4 thumb_func_start sub_80A2010 sub_80A2010: @ 80A2010 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A2044 @ =gBattleTypeFlags ldr r0, [r0] movs r1, 0x8 ands r0, r1 cmp r0, 0 bne _080A2058 bl sub_80A1A44 ldr r0, _080A2048 @ =gSpecialVar_ItemId ldrh r2, [r0] ldr r3, _080A204C @ =0x0000ffff movs r0, 0x4 movs r1, 0 bl sub_80A2294 ldr r2, _080A2050 @ =gStringVar4 ldr r3, _080A2054 @ =sub_8108B50 adds r0, r4, 0 movs r1, 0x2 bl sub_8108E70 b _080A2060 .align 2, 0 _080A2044: .4byte gBattleTypeFlags _080A2048: .4byte gSpecialVar_ItemId _080A204C: .4byte 0x0000ffff _080A2050: .4byte gStringVar4 _080A2054: .4byte sub_8108B50 _080A2058: adds r0, r4, 0 movs r1, 0 bl sub_80A1110 _080A2060: pop {r4} pop {r0} bx r0 thumb_func_end sub_80A2010 thumb_func_start ItemUseOutOfBattle_EnigmaBerry ItemUseOutOfBattle_EnigmaBerry: @ 80A2068 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A208C @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetItemEffectType lsls r0, 24 lsrs r0, 24 subs r0, 0x1 cmp r0, 0x14 bls _080A2082 b _080A2174 _080A2082: lsls r0, 2 ldr r1, _080A2090 @ =_080A2094 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080A208C: .4byte gSpecialVar_ItemId _080A2090: .4byte _080A2094 .align 2, 0 _080A2094: .4byte _080A2120 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A2174 .4byte _080A2174 .4byte _080A2104 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A20E8 .4byte _080A2174 .4byte _080A213C .4byte _080A213C .4byte _080A2158 _080A20E8: ldr r0, _080A2100 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 movs r0, 0x1 strh r0, [r1, 0x10] adds r0, r4, 0 bl sub_80A16E0 b _080A2188 .align 2, 0 _080A2100: .4byte gTasks _080A2104: ldr r0, _080A211C @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 movs r0, 0x1 strh r0, [r1, 0x10] adds r0, r4, 0 bl sub_80A176C b _080A2188 .align 2, 0 _080A211C: .4byte gTasks _080A2120: ldr r0, _080A2138 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 movs r0, 0x1 strh r0, [r1, 0x10] adds r0, r4, 0 bl sub_80A1734 b _080A2188 .align 2, 0 _080A2138: .4byte gTasks _080A213C: ldr r0, _080A2154 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 movs r0, 0x1 strh r0, [r1, 0x10] adds r0, r4, 0 bl sub_80A1718 b _080A2188 .align 2, 0 _080A2154: .4byte gTasks _080A2158: ldr r0, _080A2170 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 movs r0, 0x1 strh r0, [r1, 0x10] adds r0, r4, 0 bl sub_80A16FC b _080A2188 .align 2, 0 _080A2170: .4byte gTasks _080A2174: ldr r0, _080A2190 @ =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 movs r0, 0x4 strh r0, [r1, 0x10] adds r0, r4, 0 bl sub_80A2238 _080A2188: pop {r4} pop {r0} bx r0 .align 2, 0 _080A2190: .4byte gTasks thumb_func_end ItemUseOutOfBattle_EnigmaBerry thumb_func_start ItemUseInBattle_EnigmaBerry ItemUseInBattle_EnigmaBerry: @ 80A2194 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, _080A21B4 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetItemEffectType lsls r0, 24 lsrs r0, 24 cmp r0, 0x15 bhi _080A222C lsls r0, 2 ldr r1, _080A21B8 @ =_080A21BC adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _080A21B4: .4byte gSpecialVar_ItemId _080A21B8: .4byte _080A21BC .align 2, 0 _080A21BC: .4byte _080A2214 .4byte _080A222C .4byte _080A221C .4byte _080A221C .4byte _080A221C .4byte _080A221C .4byte _080A221C .4byte _080A221C .4byte _080A221C .4byte _080A221C .4byte _080A222C .4byte _080A221C .4byte _080A222C .4byte _080A222C .4byte _080A222C .4byte _080A222C .4byte _080A222C .4byte _080A222C .4byte _080A222C .4byte _080A222C .4byte _080A222C .4byte _080A2224 _080A2214: adds r0, r4, 0 bl sub_80A1E7C b _080A2232 _080A221C: adds r0, r4, 0 bl sub_80A1FBC b _080A2232 _080A2224: adds r0, r4, 0 bl sub_80A1FF4 b _080A2232 _080A222C: adds r0, r4, 0 bl sub_80A2238 _080A2232: pop {r4} pop {r0} bx r0 thumb_func_end ItemUseInBattle_EnigmaBerry thumb_func_start sub_80A2238 sub_80A2238: @ 80A2238 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r0, _080A2268 @ =gSpecialVar_ItemId ldrh r0, [r0] bl GetPocketByItemId lsls r0, 24 lsrs r0, 24 cmp r0, 0x5 bne _080A2278 ldr r4, _080A226C @ =gStringVar4 ldr r1, _080A2270 @ =gUnknown_8416425 adds r0, r4, 0 bl StringExpandPlaceholders ldr r3, _080A2274 @ =sub_813E2B8 adds r0, r5, 0 movs r1, 0x4 adds r2, r4, 0 bl sub_813EB20 b _080A228A .align 2, 0 _080A2268: .4byte gSpecialVar_ItemId _080A226C: .4byte gStringVar4 _080A2270: .4byte gUnknown_8416425 _080A2274: .4byte sub_813E2B8 _080A2278: ldr r0, _080A2290 @ =gTasks lsls r1, r5, 2 adds r1, r5 lsls r1, 3 adds r1, r0 ldrb r1, [r1, 0xE] adds r0, r5, 0 bl sub_80A1110 _080A228A: pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080A2290: .4byte gTasks thumb_func_end sub_80A2238 thumb_func_start sub_80A2294 sub_80A2294: @ 80A2294 push {r4-r7,lr} mov r7, r8 push {r7} adds r7, r1, 0 adds r4, r2, 0 adds r5, r3, 0 lsls r0, 24 lsrs r0, 24 mov r8, r0 lsls r4, 16 lsrs r4, 16 lsls r5, 16 lsrs r5, 16 movs r0, 0x8 bl Alloc adds r6, r0, 0 strh r4, [r6] strh r5, [r6, 0x6] cmp r7, 0 beq _080A22C8 adds r0, r7, 0 movs r1, 0x41 bl GetMonData b _080A22CA _080A22C8: ldr r0, _080A22E4 @ =0x0000ffff _080A22CA: strh r0, [r6, 0x4] mov r0, r8 adds r1, r6, 0 bl sub_8113550 adds r0, r6, 0 bl Free pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _080A22E4: .4byte 0x0000ffff thumb_func_end sub_80A2294 .align 2, 0 @ Don't pad with nop.