diff options
57 files changed, 20473 insertions, 26063 deletions
diff --git a/asm-de/easy_chat.s b/asm-de/easy_chat.s index 9f5254147..2f6c28fdb 100644 --- a/asm-de/easy_chat.s +++ b/asm-de/easy_chat.s @@ -10801,105 +10801,4 @@ _080EB45A: bx r1 thumb_func_end de_sub_80EB748 - thumb_func_start sub_80EB3FC -sub_80EB3FC: @ 80EB4B4 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r6, r1, 16 - lsrs r4, r6, 16 - adds r7, r4, 0 - adds r0, r4, 0 - bl sub_80EB37C - lsls r0, 24 - cmp r0, 0 - beq _080EB4D8 - ldr r1, _080EB4D4 @ =gOtherText_ThreeQuestions - adds r0, r5, 0 - bl StringCopy - b _080EB55E - .align 2, 0 -_080EB4D4: .4byte gOtherText_ThreeQuestions -_080EB4D8: - ldr r0, _080EB4F4 @ =0x0000ffff - cmp r4, r0 - beq _080EB558 - lsrs r1, r6, 25 - ldr r2, _080EB4F8 @ =0x000001ff - ands r2, r7 - cmp r1, 0x13 - bgt _080EB4FC - cmp r1, 0x12 - bge _080EB510 - cmp r1, 0 - beq _080EB500 - b _080EB520 - .align 2, 0 -_080EB4F4: .4byte 0x0000ffff -_080EB4F8: .4byte 0x000001ff -_080EB4FC: - cmp r1, 0x15 - bne _080EB520 -_080EB500: - movs r0, 0xB - adds r1, r2, 0 - muls r1, r0 - ldr r0, _080EB50C @ =gSpeciesNames - adds r1, r0 - b _080EB550 - .align 2, 0 -_080EB50C: .4byte gSpeciesNames -_080EB510: - movs r0, 0xD - adds r1, r2, 0 - muls r1, r0 - ldr r0, _080EB51C @ =gMoveNames - adds r1, r0 - b _080EB550 - .align 2, 0 -_080EB51C: .4byte gMoveNames -_080EB520: - ldr r0, _080EB564 @ =gEasyChatGroupWords - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - subs r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080EB568 @ =0x0000ffff - cmp r2, r0 - beq _080EB550 - adds r3, r0, 0 -_080EB536: - ldrb r0, [r1] - adds r1, 0x1 - subs r2, 0x1 - cmp r0, 0xFF - beq _080EB548 -_080EB540: - ldrb r0, [r1] - adds r1, 0x1 - cmp r0, 0xFF - bne _080EB540 -_080EB548: - lsls r0, r2, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bne _080EB536 -_080EB550: - adds r0, r5, 0 - bl StringCopy - adds r5, r0, 0 -_080EB558: - movs r0, 0xFF - strb r0, [r5] - adds r0, r5, 0 -_080EB55E: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080EB564: .4byte gEasyChatGroupWords -_080EB568: .4byte 0x0000ffff - thumb_func_end sub_80EB3FC - .align 2, 0 @ Don't pad with nop. diff --git a/asm/easy_chat.s b/asm/easy_chat.s index c34212a24..6b85e1e76 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -10730,105 +10730,4 @@ _080EB3F6: bx r1 thumb_func_end sub_80EB37C - thumb_func_start sub_80EB3FC -sub_80EB3FC: @ 80EB3FC - push {r4-r7,lr} - adds r5, r0, 0 - lsls r6, r1, 16 - lsrs r4, r6, 16 - adds r7, r4, 0 - adds r0, r4, 0 - bl sub_80EB37C - lsls r0, 24 - cmp r0, 0 - beq _080EB420 - ldr r1, _080EB41C @ =gOtherText_ThreeQuestions - adds r0, r5, 0 - bl StringCopy - b _080EB4A6 - .align 2, 0 -_080EB41C: .4byte gOtherText_ThreeQuestions -_080EB420: - ldr r0, _080EB43C @ =0x0000ffff - cmp r4, r0 - beq _080EB4A0 - lsrs r1, r6, 25 - ldr r2, _080EB440 @ =0x000001ff - ands r2, r7 - cmp r1, 0x13 - bgt _080EB444 - cmp r1, 0x12 - bge _080EB458 - cmp r1, 0 - beq _080EB448 - b _080EB468 - .align 2, 0 -_080EB43C: .4byte 0x0000ffff -_080EB440: .4byte 0x000001ff -_080EB444: - cmp r1, 0x15 - bne _080EB468 -_080EB448: - movs r0, 0xB - adds r1, r2, 0 - muls r1, r0 - ldr r0, _080EB454 @ =gSpeciesNames - adds r1, r0 - b _080EB498 - .align 2, 0 -_080EB454: .4byte gSpeciesNames -_080EB458: - movs r0, 0xD - adds r1, r2, 0 - muls r1, r0 - ldr r0, _080EB464 @ =gMoveNames - adds r1, r0 - b _080EB498 - .align 2, 0 -_080EB464: .4byte gMoveNames -_080EB468: - ldr r0, _080EB4AC @ =gEasyChatGroupWords - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - subs r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080EB4B0 @ =0x0000ffff - cmp r2, r0 - beq _080EB498 - adds r3, r0, 0 -_080EB47E: - ldrb r0, [r1] - adds r1, 0x1 - subs r2, 0x1 - cmp r0, 0xFF - beq _080EB490 -_080EB488: - ldrb r0, [r1] - adds r1, 0x1 - cmp r0, 0xFF - bne _080EB488 -_080EB490: - lsls r0, r2, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bne _080EB47E -_080EB498: - adds r0, r5, 0 - bl StringCopy - adds r5, r0, 0 -_080EB4A0: - movs r0, 0xFF - strb r0, [r5] - adds r0, r5, 0 -_080EB4A6: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080EB4AC: .4byte gEasyChatGroupWords -_080EB4B0: .4byte 0x0000ffff - thumb_func_end sub_80EB3FC - .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s deleted file mode 100644 index 17e399160..000000000 --- a/asm/item_menu.s +++ /dev/null @@ -1,9873 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80A3118 -sub_80A3118: @ 80A3118 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl sub_80A740C - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80A3118 - - thumb_func_start sub_80A3134 -sub_80A3134: @ 80A3134 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r1, _080A3168 @ =gBGTilemapBuffers + 0x800 - ldr r2, _080A316C @ =0x06002000 - ldr r0, _080A3170 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r3, _080A3174 @ =0x80000400 - str r3, [r0, 0x8] - ldr r2, [r0, 0x8] - movs r2, 0x80 - lsls r2, 4 - adds r1, r2 - ldr r2, _080A3178 @ =0x06006000 - str r1, [r0] - str r2, [r0, 0x4] - str r3, [r0, 0x8] - ldr r0, [r0, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_080A3168: .4byte gBGTilemapBuffers + 0x800 -_080A316C: .4byte 0x06002000 -_080A3170: .4byte 0x040000d4 -_080A3174: .4byte 0x80000400 -_080A3178: .4byte 0x06006000 - thumb_func_end sub_80A3134 - - thumb_func_start sub_80A317C -sub_80A317C: @ 80A317C - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _080A3198 @ =gMain - ldr r1, _080A319C @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x10 - bls _080A318E - b _080A34A8 -_080A318E: - lsls r0, 2 - ldr r1, _080A31A0 @ =_080A31A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A3198: .4byte gMain -_080A319C: .4byte 0x0000043c -_080A31A0: .4byte _080A31A4 - .align 2, 0 -_080A31A4: - .4byte _080A31E8 - .4byte _080A31F2 - .4byte _080A3208 - .4byte _080A320E - .4byte _080A3228 - .4byte _080A324C - .4byte _080A3252 - .4byte _080A3270 - .4byte _080A327C - .4byte _080A3298 - .4byte _080A32A4 - .4byte _080A3328 - .4byte _080A338C - .4byte _080A33F4 - .4byte _080A3404 - .4byte _080A345C - .4byte _080A347C -_080A31E8: - bl sub_80F9438 - bl sub_80A34E8 - b _080A3464 -_080A31F2: - bl remove_some_task - ldr r1, _080A3200 @ =gMain - ldr r0, _080A3204 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3200: .4byte gMain -_080A3204: .4byte 0x0000043c -_080A3208: - bl gpu_pal_allocator_reset__manage_upper_four - b _080A3464 -_080A320E: - bl sub_80F9020 - ldr r0, _080A3220 @ =0x02000000 - ldr r1, _080A3224 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _080A3464 - .align 2, 0 -_080A3220: .4byte 0x02000000 -_080A3224: .4byte 0x0001ffff -_080A3228: - bl ResetPaletteFade - ldr r2, _080A3240 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080A3244 @ =gMain - ldr r0, _080A3248 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3240: .4byte gPaletteFade -_080A3244: .4byte gMain -_080A3248: .4byte 0x0000043c -_080A324C: - bl ResetSpriteData - b _080A3464 -_080A3252: - bl sub_80A3520 - lsls r0, 24 - cmp r0, 0 - bne _080A325E - b _080A34A8 -_080A325E: - ldr r1, _080A3268 @ =gMain - ldr r0, _080A326C @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3268: .4byte gMain -_080A326C: .4byte 0x0000043c -_080A3270: - ldr r0, _080A3278 @ =gWindowConfig_81E6DFC - bl SetUpWindowConfig - b _080A3464 - .align 2, 0 -_080A3278: .4byte gWindowConfig_81E6DFC -_080A327C: - ldr r0, _080A328C @ =gWindowConfig_81E6DFC - bl MultistepInitMenuWindowBegin - ldr r1, _080A3290 @ =gMain - ldr r0, _080A3294 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A328C: .4byte gWindowConfig_81E6DFC -_080A3290: .4byte gMain -_080A3294: .4byte 0x0000043c -_080A3298: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _080A32A2 - b _080A34A8 -_080A32A2: - b _080A3464 -_080A32A4: - bl sub_80F944C - bl LoadScrollIndicatorPalette - movs r0, 0 - movs r1, 0xAC - movs r2, 0xC - bl CreateVerticalScrollIndicators - movs r0, 0x1 - movs r1, 0xAC - movs r2, 0x94 - bl CreateVerticalScrollIndicators - movs r0, 0x2 - movs r1, 0x1C - movs r2, 0x58 - bl CreateVerticalScrollIndicators - movs r0, 0x3 - movs r1, 0x64 - movs r2, 0x58 - bl CreateVerticalScrollIndicators - movs r0, 0 - movs r1, 0x2 - bl sub_80F9988 - movs r0, 0x1 - movs r1, 0x2 - bl sub_80F9988 - movs r0, 0x2 - movs r1, 0x2 - bl sub_80F9988 - movs r0, 0x3 - movs r1, 0x2 - bl sub_80F9988 - ldr r0, _080A331C @ =gUnknown_03000701 - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A3312 - movs r0, 0x2 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0x3 - movs r1, 0x1 - bl sub_80F979C -_080A3312: - ldr r1, _080A3320 @ =gMain - ldr r0, _080A3324 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A331C: .4byte gUnknown_03000701 -_080A3320: .4byte gMain -_080A3324: .4byte 0x0000043c -_080A3328: - ldr r1, _080A3378 @ =gUnknown_0203855A - movs r0, 0x10 - strb r0, [r1] - ldr r4, _080A337C @ =gBGTilemapBuffers + 0x1000 - ldr r5, _080A3380 @ =gUnknown_02038559 - ldrb r1, [r5] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80A39B8 - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_80A3AC0 - bl sub_80A3D08 - ldr r4, _080A3384 @ =gBagPockets - ldr r0, [r4, 0x10] - ldr r1, [r4, 0x14] - bl sub_80A3C34 - ldr r0, [r4, 0x18] - ldr r1, [r4, 0x1C] - bl sub_80A3C34 - bl sub_80A3D40 - ldr r1, _080A3388 @ =gUnknown_03005D24 - movs r0, 0 - ldrsb r0, [r5, r0] - lsls r0, 3 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - bl sub_80A362C - b _080A3464 - .align 2, 0 -_080A3378: .4byte gUnknown_0203855A -_080A337C: .4byte gBGTilemapBuffers + 0x1000 -_080A3380: .4byte gUnknown_02038559 -_080A3384: .4byte gBagPockets -_080A3388: .4byte gUnknown_03005D24 -_080A338C: - ldr r0, _080A33D4 @ =0x0000ffff - movs r1, 0 - movs r2, 0x7 - bl sub_80A48E8 - ldr r1, _080A33D8 @ =gUnknown_03005D10 - ldr r4, _080A33DC @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A33E0 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - bl ItemListMenu_InitDescription - bl ItemListMenu_InitMenu - ldr r1, _080A33E4 @ =gUnknown_0203855B - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _080A33E8 @ =gUnknown_0203855C - movs r0, 0 - strb r0, [r1] - ldr r1, _080A33EC @ =gMain - ldr r0, _080A33F0 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A33D4: .4byte 0x0000ffff -_080A33D8: .4byte gUnknown_03005D10 -_080A33DC: .4byte gUnknown_02038559 -_080A33E0: .4byte gUnknown_03005D24 -_080A33E4: .4byte gUnknown_0203855B -_080A33E8: .4byte gUnknown_0203855C -_080A33EC: .4byte gMain -_080A33F0: .4byte 0x0000043c -_080A33F4: - bl CreateBagSprite - movs r0, 0 - bl CreateBagPokeballSprite - bl sub_80A3740 - b _080A3464 -_080A3404: - ldr r3, _080A3444 @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _080A3448 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _080A344C @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _080A3450 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080A3454 @ =gMain - ldr r0, _080A3458 @ =0x0000043c - adds r1, r0 - b _080A346A - .align 2, 0 -_080A3444: .4byte 0x04000208 -_080A3448: .4byte 0x04000200 -_080A344C: .4byte REG_DISPSTAT -_080A3450: .4byte gPaletteFade -_080A3454: .4byte gMain -_080A3458: .4byte 0x0000043c -_080A345C: - bl sub_8055870 - cmp r0, 0x1 - beq _080A34A8 -_080A3464: - ldr r1, _080A3474 @ =gMain - ldr r2, _080A3478 @ =0x0000043c - adds r1, r2 -_080A346A: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080A34A8 - .align 2, 0 -_080A3474: .4byte gMain -_080A3478: .4byte 0x0000043c -_080A347C: - ldr r0, _080A34A0 @ =sub_80A3134 - bl SetVBlankCallback - ldr r0, _080A34A4 @ =sub_80A3118 - bl SetMainCallback2 - bl sub_80A751C - bl sub_80A7630 - bl sub_80A770C - bl sub_80A7828 - bl sub_80A78B8 - movs r0, 0x1 - b _080A34AA - .align 2, 0 -_080A34A0: .4byte sub_80A3134 -_080A34A4: .4byte sub_80A3118 -_080A34A8: - movs r0, 0 -_080A34AA: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A317C - - thumb_func_start sub_80A34B4 -sub_80A34B4: @ 80A34B4 - push {lr} -_080A34B6: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A34D2 - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A34B6 - movs r0, 0 - b _080A34DE -_080A34D2: - ldr r1, _080A34E4 @ =gUnknown_03000700 - movs r0, 0 - strb r0, [r1] - bl ResetTasks - movs r0, 0x1 -_080A34DE: - pop {r1} - bx r1 - .align 2, 0 -_080A34E4: .4byte gUnknown_03000700 - thumb_func_end sub_80A34B4 - - thumb_func_start sub_80A34E8 -sub_80A34E8: @ 80A34E8 - push {lr} - bl sub_80F9368 - ldr r1, _080A3514 @ =REG_BG2CNT - ldr r2, _080A3518 @ =0x00000c06 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x2 - ldr r2, _080A351C @ =0x00000405 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xA - movs r2, 0xBA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x50 - movs r0, 0 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080A3514: .4byte REG_BG2CNT -_080A3518: .4byte 0x00000c06 -_080A351C: .4byte 0x00000405 - thumb_func_end sub_80A34E8 - - thumb_func_start sub_80A3520 -sub_80A3520: @ 80A3520 - push {lr} - ldr r0, _080A353C @ =0x02000000 - ldr r1, _080A3540 @ =0x0001ffff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bls _080A3530 - b _080A3624 -_080A3530: - lsls r0, 2 - ldr r1, _080A3544 @ =_080A3548 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A353C: .4byte 0x02000000 -_080A3540: .4byte 0x0001ffff -_080A3544: .4byte _080A3548 - .align 2, 0 -_080A3548: - .4byte _080A355C - .4byte _080A3570 - .4byte _080A3588 - .4byte _080A35C0 - .4byte _080A3604 -_080A355C: - ldr r0, _080A3568 @ =gBagScreen_Gfx - ldr r1, _080A356C @ =0x06004000 - bl LZDecompressVram - b _080A35EA - .align 2, 0 -_080A3568: .4byte gBagScreen_Gfx -_080A356C: .4byte 0x06004000 -_080A3570: - ldr r0, _080A3580 @ =gUnknown_08E77004 - ldr r1, _080A3584 @ =gBGTilemapBuffers + 0x1000 - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - b _080A35EA - .align 2, 0 -_080A3580: .4byte gUnknown_08E77004 -_080A3584: .4byte gBGTilemapBuffers + 0x1000 -_080A3588: - ldr r0, _080A35A4 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _080A3598 - ldr r0, _080A35A8 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x7 - bne _080A35B0 -_080A3598: - ldr r0, _080A35AC @ =gBagScreenMale_Pal - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _080A35EA - .align 2, 0 -_080A35A4: .4byte gSaveBlock2 -_080A35A8: .4byte gUnknown_03000701 -_080A35AC: .4byte gBagScreenMale_Pal -_080A35B0: - ldr r0, _080A35BC @ =gBagScreenFemale_Pal - movs r1, 0 - movs r2, 0x40 - bl LoadCompressedPalette - b _080A35EA - .align 2, 0 -_080A35BC: .4byte gBagScreenFemale_Pal -_080A35C0: - ldr r0, _080A35D8 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _080A35D0 - ldr r0, _080A35DC @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x7 - bne _080A35E4 -_080A35D0: - ldr r0, _080A35E0 @ =gUnknown_083C1CC8 - bl LoadCompressedObjectPic - b _080A35EA - .align 2, 0 -_080A35D8: .4byte gSaveBlock2 -_080A35DC: .4byte gUnknown_03000701 -_080A35E0: .4byte gUnknown_083C1CC8 -_080A35E4: - ldr r0, _080A35F8 @ =gUnknown_083C1CD0 - bl LoadCompressedObjectPic -_080A35EA: - ldr r1, _080A35FC @ =0x02000000 - ldr r0, _080A3600 @ =0x0001ffff - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080A3624 - .align 2, 0 -_080A35F8: .4byte gUnknown_083C1CD0 -_080A35FC: .4byte 0x02000000 -_080A3600: .4byte 0x0001ffff -_080A3604: - ldr r0, _080A3618 @ =gUnknown_083C1CD8 - bl LoadCompressedObjectPalette - ldr r0, _080A361C @ =0x02000000 - ldr r1, _080A3620 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _080A3626 - .align 2, 0 -_080A3618: .4byte gUnknown_083C1CD8 -_080A361C: .4byte 0x02000000 -_080A3620: .4byte 0x0001ffff -_080A3624: - movs r0, 0 -_080A3626: - pop {r1} - bx r1 - thumb_func_end sub_80A3520 - - thumb_func_start sub_80A362C -sub_80A362C: @ 80A362C - push {r4-r6,lr} - movs r4, 0 - ldr r6, _080A3648 @ =gUnknown_03000701 - ldr r5, _080A364C @ =gUnknown_03005D10 -_080A3634: - ldrb r0, [r6] - cmp r0, 0x5 - bne _080A3650 - lsls r1, r4, 2 - adds r0, r1, r5 - ldrb r0, [r0, 0x2] - subs r0, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - b _080A3656 - .align 2, 0 -_080A3648: .4byte gUnknown_03000701 -_080A364C: .4byte gUnknown_03005D10 -_080A3650: - lsls r1, r4, 2 - adds r0, r1, r5 - ldrb r3, [r0, 0x2] -_080A3656: - adds r1, r5 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _080A366C - ldrb r2, [r1, 0x3] - adds r0, r2 - cmp r0, r3 - ble _080A3674 - subs r0, r3, r2 - strb r0, [r1, 0x1] - b _080A3674 -_080A366C: - ldrb r0, [r1] - cmp r0, r3 - bls _080A3674 - strb r3, [r1] -_080A3674: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080A3634 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A362C - - thumb_func_start sub_80A3684 -sub_80A3684: @ 80A3684 - push {r4,lr} - movs r2, 0 - ldr r4, _080A36B0 @ =gUnknown_02038559 - ldr r3, _080A36B4 @ =gUnknown_03005D10 - movs r1, 0 -_080A368E: - lsls r0, r2, 2 - adds r0, r3 - strb r1, [r0] - strb r1, [r0, 0x1] - strb r1, [r0, 0x2] - strb r1, [r0, 0x3] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x4 - bls _080A368E - movs r0, 0 - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A36B0: .4byte gUnknown_02038559 -_080A36B4: .4byte gUnknown_03005D10 - thumb_func_end sub_80A3684 - - thumb_func_start sub_80A36B8 -sub_80A36B8: @ 80A36B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r0, [sp, 0x18] - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - lsls r0, 24 - lsrs r0, 24 - lsrs r2, 24 - adds r0, r2, r0 - cmp r2, r0 - bgt _080A370A - adds r7, r0, 0 -_080A36DE: - mov r1, r8 - mov r3, r12 - adds r0, r1, r3 - adds r4, r2, 0x1 - cmp r1, r0 - bgt _080A3702 - lsls r3, r2, 5 - movs r5, 0 - adds r2, r0, 0 -_080A36F0: - adds r0, r1, r3 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - ble _080A36F0 -_080A3702: - lsls r0, r4, 16 - lsrs r2, r0, 16 - cmp r2, r7 - ble _080A36DE -_080A370A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A36B8 - - thumb_func_start ClearBag -ClearBag: @ 80A3714 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080A373C @ =gBagPockets -_080A371A: - lsls r1, r4, 3 - adds r1, r5 - ldr r0, [r1] - ldrb r1, [r1, 0x4] - bl ClearItemSlots - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _080A371A - bl sub_80A3684 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A373C: .4byte gBagPockets - thumb_func_end ClearBag - - thumb_func_start sub_80A3740 -sub_80A3740: @ 80A3740 - push {lr} - sub sp, 0x4 - ldr r1, _080A376C @ =gUnknown_083C1704 - mov r0, sp - movs r2, 0x4 - bl memcpy - mov r0, sp - adds r0, 0x2 - movs r1, 0xD1 - movs r2, 0x2 - bl LoadPalette - mov r0, sp - movs r1, 0xD8 - movs r2, 0x2 - bl LoadPalette - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080A376C: .4byte gUnknown_083C1704 - thumb_func_end sub_80A3740 - - thumb_func_start sub_80A3770 -sub_80A3770: @ 80A3770 - push {lr} - ldr r0, _080A379C @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0 - bne _080A37B6 - ldr r3, _080A37A0 @ =gUnknown_03000704 - ldr r2, _080A37A4 @ =gUnknown_02038559 - movs r1, 0 - ldrsb r1, [r2, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - ldr r1, _080A37A8 @ =gUnknown_083C1690 - adds r0, r1 - str r0, [r3] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x3 - beq _080A37B0 - ldr r1, _080A37AC @ =gUnknown_02038564 - movs r0, 0x4 - b _080A37B4 - .align 2, 0 -_080A379C: .4byte gUnknown_03000701 -_080A37A0: .4byte gUnknown_03000704 -_080A37A4: .4byte gUnknown_02038559 -_080A37A8: .4byte gUnknown_083C1690 -_080A37AC: .4byte gUnknown_02038564 -_080A37B0: - ldr r1, _080A37BC @ =gUnknown_02038564 - movs r0, 0x6 -_080A37B4: - strb r0, [r1] -_080A37B6: - pop {r0} - bx r0 - .align 2, 0 -_080A37BC: .4byte gUnknown_02038564 - thumb_func_end sub_80A3770 - - thumb_func_start sub_80A37C0 -sub_80A37C0: @ 80A37C0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A37F0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080A37F4 @ =sub_80A50C8 - str r0, [r1] - movs r0, 0 - bl StartVerticalScrollIndicators - movs r0, 0x1 - bl StartVerticalScrollIndicators - movs r0, 0x2 - bl StartVerticalScrollIndicators - movs r0, 0x3 - bl StartVerticalScrollIndicators - pop {r0} - bx r0 - .align 2, 0 -_080A37F0: .4byte gTasks -_080A37F4: .4byte sub_80A50C8 - thumb_func_end sub_80A37C0 - - thumb_func_start sub_80A37F8 -sub_80A37F8: @ 80A37F8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, _080A3854 @ =gUnknown_0203855A - ldrb r5, [r6] - cmp r5, 0xF - bhi _080A3868 - adds r0, r5, 0x1 - strb r0, [r6] - ldr r4, _080A3858 @ =gBGTilemapBuffers + 0x1000 - ldrb r2, [r6] - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0x4F - bl sub_80A396C - ldr r0, _080A385C @ =gUnknown_02038559 - ldrb r1, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6] - lsrs r2, 1 - ldr r3, _080A3860 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r3 - movs r3, 0x12 - ldrsb r3, [r0, r3] - adds r0, r4, 0 - bl sub_80A39E4 - ldr r4, _080A3864 @ =gUnknown_02038558 - movs r0, 0x1 - strb r0, [r4] - lsrs r1, r5, 1 - ldrb r2, [r6] - lsrs r2, 1 - subs r2, 0x1 - adds r0, r7, 0 - bl sub_80A48E8 - movs r0, 0 - strb r0, [r4] - b _080A3932 - .align 2, 0 -_080A3854: .4byte gUnknown_0203855A -_080A3858: .4byte gBGTilemapBuffers + 0x1000 -_080A385C: .4byte gUnknown_02038559 -_080A3860: .4byte gTasks -_080A3864: .4byte gUnknown_02038558 -_080A3868: - ldr r0, _080A38A0 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A38B4 - ldr r1, _080A38A4 @ =gUnknown_03005D10 - ldr r0, _080A38A8 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A38AC @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldr r4, _080A38B0 @ =gUnknown_02038562 - ldrb r1, [r4] - bl ItemListMenu_ChangeDescription - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080A38F2 - .align 2, 0 -_080A38A0: .4byte gLinkOpen -_080A38A4: .4byte gUnknown_03005D10 -_080A38A8: .4byte gUnknown_02038559 -_080A38AC: .4byte gUnknown_03005D24 -_080A38B0: .4byte gUnknown_02038562 -_080A38B4: - ldr r1, _080A3938 @ =gUnknown_02038562 - ldrb r0, [r1] - cmp r0, 0x2 - bhi _080A38F2 - ldr r5, _080A393C @ =gUnknown_03005D10 - adds r4, r1, 0 -_080A38C0: - ldr r0, _080A3940 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A3944 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrb r1, [r4] - bl ItemListMenu_ChangeDescription - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _080A38C0 -_080A38F2: - ldr r0, _080A3938 @ =gUnknown_02038562 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080A3932 - ldr r1, _080A3948 @ =gUnknown_0203855A - movs r0, 0x10 - strb r0, [r1] - ldr r1, _080A394C @ =gUnknown_0203855B - ldr r0, _080A3940 @ =gUnknown_02038559 - ldrb r0, [r0] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _080A3950 @ =sub_80A4F68 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl sub_80A37C0 - adds r0, r7, 0 - bl DestroyTask - bl ItemListMenu_InitMenu - movs r0, 0x2 - movs r1, 0 - bl sub_80F979C - movs r0, 0x3 - movs r1, 0 - bl sub_80F979C -_080A3932: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3938: .4byte gUnknown_02038562 -_080A393C: .4byte gUnknown_03005D10 -_080A3940: .4byte gUnknown_02038559 -_080A3944: .4byte gUnknown_03005D24 -_080A3948: .4byte gUnknown_0203855A -_080A394C: .4byte gUnknown_0203855B -_080A3950: .4byte sub_80A4F68 - thumb_func_end sub_80A37F8 - - thumb_func_start sub_80A3954 -sub_80A3954: @ 80A3954 - push {lr} - adds r1, r0, 0 - ldr r0, _080A3968 @ =gUnknown_08E77004 - movs r2, 0x80 - lsls r2, 3 - bl CpuSet - pop {r0} - bx r0 - .align 2, 0 -_080A3968: .4byte gUnknown_08E77004 - thumb_func_end sub_80A3954 - - thumb_func_start sub_80A396C -sub_80A396C: @ 80A396C - push {r4-r7,lr} - lsls r1, 24 - lsrs r5, r1, 24 - adds r4, r5, 0 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - adds r1, r4, 0x2 - lsls r1, 6 - adds r1, 0x1C - adds r2, r0, r1 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r7, r4 - bls _080A39B2 -_080A398E: - movs r1, 0 - adds r3, r5, 0x1 - adds r4, r2, 0 - adds r4, 0x40 -_080A3996: - lsls r0, r1, 1 - adds r0, r2 - strh r6, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xE - bls _080A3996 - adds r2, r4, 0 - adds r1, r5, 0 - lsls r0, r3, 24 - lsrs r5, r0, 24 - cmp r7, r1 - bhi _080A398E -_080A39B2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A396C - - thumb_func_start sub_80A39B8 -sub_80A39B8: @ 80A39B8 - push {lr} - sub sp, 0x10 - lsls r1, 25 - lsrs r1, 24 - ldr r3, _080A39E0 @ =gUnknown_08E96EC8 - movs r2, 0 - str r2, [sp] - str r1, [sp, 0x4] - movs r1, 0x8 - str r1, [sp, 0x8] - movs r1, 0x2 - str r1, [sp, 0xC] - movs r1, 0x4 - movs r2, 0xA - bl sub_809D104 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_080A39E0: .4byte gUnknown_08E96EC8 - thumb_func_end sub_80A39B8 - - thumb_func_start sub_80A39E4 -sub_80A39E4: @ 80A39E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - adds r4, r1, 0 - lsls r2, 24 - lsrs r6, r2, 24 - adds r5, r6, 0 - lsls r2, r1, 1 - mov r9, r2 - lsls r3, 24 - asrs r3, 24 - movs r0, 0x1 - negs r0, r0 - cmp r3, r0 - bne _080A3A5C - adds r0, r1, 0x1 - lsls r7, r0, 1 - cmp r1, 0x5 - bne _080A3A18 - movs r7, 0x2 -_080A3A18: - ldr r0, _080A3A58 @ =gUnknown_08E96EC8 - mov r10, r0 - movs r4, 0x8 - subs r4, r6 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp] - str r2, [sp, 0x4] - str r6, [sp, 0x8] - movs r0, 0x2 - mov r9, r0 - str r0, [sp, 0xC] - mov r0, r8 - movs r1, 0x4 - movs r2, 0xA - mov r3, r10 - bl sub_809D104 - adds r1, r6, 0x4 - movs r0, 0 - str r0, [sp] - str r7, [sp, 0x4] - str r4, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - mov r0, r8 - movs r2, 0xA - mov r3, r10 - bl sub_809D104 - b _080A3AAA - .align 2, 0 -_080A3A58: .4byte gUnknown_08E96EC8 -_080A3A5C: - cmp r3, 0x1 - bne _080A3AAA - subs r0, r4, 0x1 - lsls r0, 17 - lsrs r7, r0, 16 - cmp r4, 0x1 - bne _080A3A6C - movs r7, 0xA -_080A3A6C: - ldr r6, _080A3ABC @ =gUnknown_08E96EC8 - str r5, [sp] - str r7, [sp, 0x4] - movs r0, 0x8 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - movs r4, 0x2 - str r4, [sp, 0xC] - mov r0, r8 - movs r1, 0x4 - movs r2, 0xA - adds r3, r6, 0 - bl sub_809D104 - movs r1, 0xC - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - str r0, [sp] - mov r0, r9 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r4, [sp, 0xC] - mov r0, r8 - movs r2, 0xA - adds r3, r6, 0 - bl sub_809D104 -_080A3AAA: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3ABC: .4byte gUnknown_08E96EC8 - thumb_func_end sub_80A39E4 - - thumb_func_start sub_80A3AC0 -sub_80A3AC0: @ 80A3AC0 - push {r4-r6,lr} - adds r3, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r2, 0 - ldr r1, _080A3AE4 @ =0x0000024a - ldr r0, _080A3AE8 @ =0x0000107d - adds r6, r0, 0 - subs r0, 0x1 - adds r5, r0, 0 -_080A3AD4: - cmp r2, r4 - bne _080A3AEC - lsls r0, r2, 1 - adds r0, r3 - adds r0, r1 - strh r6, [r0] - b _080A3AF4 - .align 2, 0 -_080A3AE4: .4byte 0x0000024a -_080A3AE8: .4byte 0x0000107d -_080A3AEC: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r1 - strh r5, [r0] -_080A3AF4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x4 - bls _080A3AD4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A3AC0 - - thumb_func_start sub_80A3B04 -sub_80A3B04: @ 80A3B04 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080A3BA4 @ =gUnknown_02038559 - ldrb r0, [r4] - lsls r1, 24 - asrs r6, r1, 24 - adds r0, r6, r0 - strb r0, [r4] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - ble _080A3B20 - movs r0, 0 - strb r0, [r4] -_080A3B20: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bge _080A3B2C - movs r0, 0x4 - strb r0, [r4] -_080A3B2C: - bl sub_80A76A0 - bl sub_80A7590 - ldr r2, _080A3BA8 @ =gUnknown_03005D24 - ldr r1, _080A3BAC @ =gBagPockets - movs r0, 0 - ldrsb r0, [r4, r0] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldrb r0, [r4] - bl sub_80A3D24 - ldr r0, _080A3BB0 @ =gUnknown_0203855A - movs r4, 0 - strb r4, [r0] - adds r0, r5, 0 - bl sub_80A3954 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0x3 - bl sub_80A396C - adds r0, r5, 0 - movs r1, 0 - bl sub_80A39B8 - ldr r1, _080A3BB4 @ =gUnknown_0203855B - movs r0, 0x6 - strb r0, [r1] - ldr r0, _080A3BB8 @ =gUnknown_02038562 - strb r4, [r0] - ldr r4, _080A3BBC @ =sub_80A37F8 - adds r0, r4, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080A3B90 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 -_080A3B90: - ldr r1, _080A3BC0 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x12] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A3BA4: .4byte gUnknown_02038559 -_080A3BA8: .4byte gUnknown_03005D24 -_080A3BAC: .4byte gBagPockets -_080A3BB0: .4byte gUnknown_0203855A -_080A3BB4: .4byte gUnknown_0203855B -_080A3BB8: .4byte gUnknown_02038562 -_080A3BBC: .4byte sub_80A37F8 -_080A3BC0: .4byte gTasks - thumb_func_end sub_80A3B04 - - thumb_func_start swap32 -swap32: @ 80A3BC4 - ldr r3, [r0] - ldr r2, [r1] - str r2, [r0] - str r3, [r1] - bx lr - thumb_func_end swap32 - - thumb_func_start sub_80A3BD0 -sub_80A3BD0: @ 80A3BD0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r1, 0 - adds r6, r0, 0 - movs r3, 0 - b _080A3C1A -_080A3BE0: - adds r0, r3, 0x1 - lsls r1, r0, 16 - lsrs r4, r1, 16 - lsls r1, r2, 24 - lsrs r1, 24 - mov r8, r0 - cmp r4, r1 - bcs _080A3C14 - lsls r0, r3, 2 - adds r5, r0, r6 - adds r2, r1, 0 -_080A3BF6: - ldrh r0, [r5, 0x2] - cmp r0, 0 - bne _080A3C0A - lsls r1, r4, 2 - adds r1, r6 - adds r0, r5, 0 - str r2, [sp] - bl swap32 - ldr r2, [sp] -_080A3C0A: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r2 - bcc _080A3BF6 -_080A3C14: - mov r1, r8 - lsls r0, r1, 16 - lsrs r3, r0, 16 -_080A3C1A: - adds r2, r7, 0 - lsls r0, r2, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r3, r0 - blt _080A3BE0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A3BD0 - - thumb_func_start sub_80A3C34 -sub_80A3C34: @ 80A3C34 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r1, 0 - adds r6, r0, 0 - adds r2, r7, 0 - lsls r0, r2, 24 - movs r3, 0 - cmp r0, 0 - beq _080A3C9C -_080A3C4A: - adds r0, r3, 0x1 - lsls r1, r0, 16 - lsrs r4, r1, 16 - lsls r1, r2, 24 - lsrs r1, 24 - mov r8, r0 - cmp r4, r1 - bcs _080A3C8C - lsls r0, r3, 2 - adds r5, r0, r6 - adds r2, r1, 0 -_080A3C60: - ldrh r0, [r5, 0x2] - cmp r0, 0 - beq _080A3C82 - lsls r0, r4, 2 - adds r1, r0, r6 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _080A3C82 - ldrh r0, [r5] - ldrh r3, [r1] - cmp r0, r3 - bls _080A3C82 - adds r0, r5, 0 - str r2, [sp] - bl swap32 - ldr r2, [sp] -_080A3C82: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r2 - bcc _080A3C60 -_080A3C8C: - mov r1, r8 - lsls r0, r1, 16 - lsrs r3, r0, 16 - adds r2, r7, 0 - lsls r0, r2, 24 - lsrs r0, 24 - cmp r3, r0 - bcc _080A3C4A -_080A3C9C: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A3C34 - - thumb_func_start sub_80A3CA8 -sub_80A3CA8: @ 80A3CA8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080A3D00 @ =gUnknown_03005D10 - lsls r0, r6, 2 - adds r3, r0, r1 - movs r0, 0 - strb r0, [r3, 0x2] - movs r4, 0 - ldr r0, _080A3D04 @ =gBagPockets - lsls r2, r6, 3 - adds r1, r2, r0 - mov r12, r0 - ldrb r1, [r1, 0x4] - cmp r4, r1 - bcs _080A3CEC - mov r7, r12 - adds r5, r3, 0 -_080A3CCC: - adds r3, r2, r7 - ldr r0, [r3] - lsls r1, r4, 2 - adds r1, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _080A3CE0 - ldrb r0, [r5, 0x2] - adds r0, 0x1 - strb r0, [r5, 0x2] -_080A3CE0: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r3, [r3, 0x4] - cmp r4, r3 - bcc _080A3CCC -_080A3CEC: - lsls r0, r6, 3 - add r0, r12 - ldr r1, [r0, 0x4] - ldr r0, [r0] - bl sub_80A3BD0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3D00: .4byte gUnknown_03005D10 -_080A3D04: .4byte gBagPockets - thumb_func_end sub_80A3CA8 - - thumb_func_start sub_80A3D08 -sub_80A3D08: @ 80A3D08 - push {r4,lr} - movs r4, 0 -_080A3D0C: - adds r0, r4, 0 - bl sub_80A3CA8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080A3D0C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A3D08 - - thumb_func_start sub_80A3D24 -sub_80A3D24: @ 80A3D24 - push {lr} - lsls r0, 24 - ldr r1, _080A3D3C @ =gUnknown_03005D10 - lsrs r0, 22 - adds r1, r0, r1 - ldrb r0, [r1, 0x2] - cmp r0, 0x6 - bls _080A3D36 - movs r0, 0x7 -_080A3D36: - strb r0, [r1, 0x3] - pop {r0} - bx r0 - .align 2, 0 -_080A3D3C: .4byte gUnknown_03005D10 - thumb_func_end sub_80A3D24 - - thumb_func_start sub_80A3D40 -sub_80A3D40: @ 80A3D40 - push {r4,lr} - movs r4, 0 -_080A3D44: - adds r0, r4, 0 - bl sub_80A3D24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _080A3D44 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A3D40 - - thumb_func_start sub_80A3D5C -sub_80A3D5C: @ 80A3D5C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A3DF4 @ =gUnknown_03005D10 - mov r9, r1 - ldr r2, _080A3DF8 @ =gUnknown_02038559 - mov r8, r2 - movs r1, 0 - ldrsb r1, [r2, r1] - lsls r1, 2 - add r1, r9 - ldrb r2, [r1, 0x1] - ldrb r1, [r1] - adds r2, r1 - ldr r7, _080A3DFC @ =gUnknown_03005D24 - ldr r1, [r7] - lsls r6, r2, 2 - adds r3, r6, r1 - ldr r2, _080A3E00 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r3, 0x2] - ldrh r1, [r1, 0xA] - subs r0, r1 - strh r0, [r3, 0x2] - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _080A3DE0 - ldr r0, _080A3E04 @ =gSaveBlock1 - ldr r1, _080A3E08 @ =0x00000496 - adds r5, r0, r1 - ldrh r0, [r5] - ldrh r3, [r3] - cmp r0, r3 - bne _080A3DB4 - bl sub_80A40D0 - strh r4, [r5] -_080A3DB4: - ldr r0, [r7] - adds r0, r6, r0 - strh r4, [r0] - mov r2, r8 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - mov r3, r9 - adds r2, r0, r3 - ldrb r1, [r2, 0x1] - adds r0, r1, 0x7 - ldrb r3, [r2, 0x2] - cmp r0, r3 - bne _080A3DD8 - cmp r1, 0 - beq _080A3DD8 - subs r0, r1, 0x1 - strb r0, [r2, 0x1] -_080A3DD8: - ldr r0, _080A3DF8 @ =gUnknown_02038559 - ldrb r0, [r0] - bl sub_80A3CA8 -_080A3DE0: - ldr r0, _080A3DF8 @ =gUnknown_02038559 - ldrb r0, [r0] - bl sub_80A3D24 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A3DF4: .4byte gUnknown_03005D10 -_080A3DF8: .4byte gUnknown_02038559 -_080A3DFC: .4byte gUnknown_03005D24 -_080A3E00: .4byte gTasks -_080A3E04: .4byte gSaveBlock1 -_080A3E08: .4byte 0x00000496 - thumb_func_end sub_80A3D5C - - thumb_func_start sub_80A3E0C -sub_80A3E0C: @ 80A3E0C - push {lr} - ldr r3, _080A3E60 @ =gUnknown_03005D10 - ldr r2, _080A3E64 @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A3E68 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A3E52 - strh r0, [r1] - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r2, r0, r3 - ldrb r1, [r2, 0x1] - adds r0, r1, 0x7 - ldrb r3, [r2, 0x2] - cmp r0, r3 - bne _080A3E4A - cmp r1, 0 - beq _080A3E4A - subs r0, r1, 0x1 - strb r0, [r2, 0x1] -_080A3E4A: - ldr r0, _080A3E64 @ =gUnknown_02038559 - ldrb r0, [r0] - bl sub_80A3CA8 -_080A3E52: - ldr r0, _080A3E64 @ =gUnknown_02038559 - ldrb r0, [r0] - bl sub_80A3D24 - pop {r0} - bx r0 - .align 2, 0 -_080A3E60: .4byte gUnknown_03005D10 -_080A3E64: .4byte gUnknown_02038559 -_080A3E68: .4byte gUnknown_03005D24 - thumb_func_end sub_80A3E0C - - thumb_func_start nullsub_16 -nullsub_16: @ 80A3E6C - bx lr - thumb_func_end nullsub_16 - - thumb_func_start sub_80A3E70 -sub_80A3E70: @ 80A3E70 - lsls r0, 24 - lsls r1, 24 - ldr r2, _080A3E8C @ =gUnknown_03005D24 - ldr r2, [r2] - lsrs r0, 22 - adds r0, r2 - ldr r3, [r0] - lsrs r1, 22 - adds r1, r2 - ldr r2, [r1] - str r2, [r0] - str r3, [r1] - bx lr - .align 2, 0 -_080A3E8C: .4byte gUnknown_03005D24 - thumb_func_end sub_80A3E70 - - thumb_func_start sub_80A3E90 -sub_80A3E90: @ 80A3E90 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - bl nullsub_16 - ldr r0, _080A3EE8 @ =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r0 - ldrb r0, [r5, 0x1C] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080A3EEC @ =gUnknown_03005D10 - ldr r1, _080A3EF0 @ =gUnknown_02038559 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r2, 2 - adds r2, r3 - ldrb r1, [r2, 0x1] - ldrb r2, [r2] - adds r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl sub_80A3E70 - movs r0, 0 - strh r0, [r5, 0x1C] - bl sub_80A763C - movs r0, 0 - bl sub_80A7528 - bl ItemListMenu_InitMenu - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A3EE8: .4byte gTasks -_080A3EEC: .4byte gUnknown_03005D10 -_080A3EF0: .4byte gUnknown_02038559 - thumb_func_end sub_80A3E90 - - thumb_func_start sub_80A3EF4 -sub_80A3EF4: @ 80A3EF4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x5 - bl PlaySE - bl nullsub_16 - ldr r0, _080A3F44 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r2, _080A3F48 @ =gUnknown_03005D10 - ldr r0, _080A3F4C @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - mvns r0, r0 - ldrb r2, [r1, 0x1C] - adds r0, r2 - lsls r0, 24 - lsrs r2, r0, 24 - movs r0, 0 - strh r0, [r1, 0x1C] - cmp r2, 0x7 - bhi _080A3F38 - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 -_080A3F38: - movs r0, 0 - bl sub_80A7528 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A3F44: .4byte gTasks -_080A3F48: .4byte gUnknown_03005D10 -_080A3F4C: .4byte gUnknown_02038559 - thumb_func_end sub_80A3EF4 - - thumb_func_start sub_80A3F50 -sub_80A3F50: @ 80A3F50 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A3F94 @ =gTasks - lsls r3, r0, 2 - adds r3, r0 - lsls r3, 3 - adds r3, r1 - ldr r5, _080A3F98 @ =gUnknown_03005D10 - ldr r4, _080A3F9C @ =gUnknown_02038559 - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x1] - ldrb r1, [r1] - adds r2, r1 - adds r2, 0x1 - strh r2, [r3, 0x1C] - movs r1, 0 - ldrsb r1, [r4, r1] - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1] - adds r1, r2, 0 - bl sub_80A48E8 - movs r0, 0x1 - bl sub_80A7528 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A3F94: .4byte gTasks -_080A3F98: .4byte gUnknown_03005D10 -_080A3F9C: .4byte gUnknown_02038559 - thumb_func_end sub_80A3F50 - - thumb_func_start sub_80A3FA0 -sub_80A3FA0: @ 80A3FA0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - ldr r0, [sp, 0x18] - ldr r4, [sp, 0x1C] - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r6, r4, 16 - lsrs r2, 24 - adds r0, r2, r0 - cmp r2, r0 - bge _080A3FFC - mov r8, r5 - adds r4, r5, r3 - mov r12, r0 -_080A3FCC: - adds r0, r5, 0 - lsls r3, r2, 16 - cmp r8, r4 - bge _080A3FEE - asrs r2, r3, 11 -_080A3FD6: - lsls r1, r0, 16 - asrs r1, 16 - adds r0, r1, r2 - lsls r0, 1 - adds r0, r7 - strh r6, [r0] - adds r1, 0x1 - lsls r1, 16 - lsrs r0, r1, 16 - asrs r1, 16 - cmp r1, r4 - blt _080A3FD6 -_080A3FEE: - movs r1, 0x80 - lsls r1, 9 - adds r0, r3, r1 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, r12 - blt _080A3FCC -_080A3FFC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A3FA0 - - thumb_func_start sub_80A4008 -sub_80A4008: @ 80A4008 - push {r4,lr} - sub sp, 0x8 - ldr r4, [sp, 0x10] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - bl sub_80A3FA0 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4008 - - thumb_func_start sub_80A4030 -sub_80A4030: @ 80A4030 - ldr r1, _080A4058 @ =gBGTilemapBuffers + 0x1000 + 0xB4 - lsls r0, 7 - adds r1, r0, r1 - movs r0, 0x5A - strh r0, [r1] - movs r0, 0x5B - strh r0, [r1, 0x2] - movs r0, 0x5C - strh r0, [r1, 0x4] - adds r2, r1, 0 - adds r2, 0x40 - movs r0, 0x6A - strh r0, [r2] - adds r2, 0x2 - movs r0, 0x6B - strh r0, [r2] - adds r1, 0x44 - movs r0, 0x6C - strh r0, [r1] - bx lr - .align 2, 0 -_080A4058: .4byte gBGTilemapBuffers + 0x1000 + 0xB4 - thumb_func_end sub_80A4030 - - thumb_func_start sub_80A405C -sub_80A405C: @ 80A405C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080A40A8 @ =gBGTilemapBuffers + 0x1000 + 0xB4 - movs r0, 0 - adds r4, r2, 0 - movs r1, 0x4F -_080A406A: - strh r1, [r2] - strh r1, [r2, 0x2] - strh r1, [r2, 0x4] - adds r2, 0x40 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xF - bls _080A406A - lsls r0, r3, 7 - adds r2, r0, r4 - movs r0, 0x5A - strh r0, [r2] - movs r0, 0x5B - strh r0, [r2, 0x2] - movs r0, 0x5C - strh r0, [r2, 0x4] - adds r1, r2, 0 - adds r1, 0x40 - movs r0, 0x6A - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x6B - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x6C - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A40A8: .4byte gBGTilemapBuffers + 0x1000 + 0xB4 - thumb_func_end sub_80A405C - - thumb_func_start sub_80A40AC -sub_80A40AC: @ 80A40AC - lsls r0, 24 - ldr r1, _080A40CC @ =gBGTilemapBuffers + 0x1000 + 0xB4 - lsrs r0, 17 - adds r1, r0, r1 - movs r2, 0x4F - strh r2, [r1] - strh r2, [r1, 0x2] - strh r2, [r1, 0x4] - adds r0, r1, 0 - adds r0, 0x40 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r1, 0x44 - strh r2, [r1] - bx lr - .align 2, 0 -_080A40CC: .4byte gBGTilemapBuffers + 0x1000 + 0xB4 - thumb_func_end sub_80A40AC - - thumb_func_start sub_80A40D0 -sub_80A40D0: @ 80A40D0 - push {r4-r7,lr} - movs r4, 0 - ldr r2, _080A4114 @ =gUnknown_03005D10 - ldr r3, _080A4118 @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - adds r7, r2, 0 - adds r6, r3, 0 - ldrb r0, [r0, 0x2] - cmp r1, r0 - beq _080A4136 - ldr r5, _080A411C @ =gSaveBlock1 + 0x496 -_080A40EE: - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r0, 2 - adds r3, r0, r7 - ldrb r2, [r3, 0x1] - adds r1, r2, r4 - ldr r0, _080A4120 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1] - ldrh r1, [r5] - cmp r0, r1 - bne _080A4124 - adds r0, r4, 0 - bl sub_80A40AC - b _080A4136 - .align 2, 0 -_080A4114: .4byte gUnknown_03005D10 -_080A4118: .4byte gUnknown_02038559 -_080A411C: .4byte gSaveBlock1 + 0x496 -_080A4120: .4byte gUnknown_03005D24 -_080A4124: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bhi _080A4136 - adds r0, r2, r4 - ldrb r3, [r3, 0x2] - cmp r0, r3 - bne _080A40EE -_080A4136: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A40D0 - - thumb_func_start sub_80A413C -sub_80A413C: @ 80A413C - push {lr} - bl sub_80A40D0 - ldr r1, _080A415C @ =gUnknown_03005D10 - ldr r0, _080A4160 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_80A405C - pop {r0} - bx r0 - .align 2, 0 -_080A415C: .4byte gUnknown_03005D10 -_080A4160: .4byte gUnknown_02038559 - thumb_func_end sub_80A413C - - thumb_func_start sub_80A4164 -sub_80A4164: @ 80A4164 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0xB9 - strb r4, [r0] - adds r0, 0x1 - movs r4, 0xFC - strb r4, [r0] - movs r4, 0x14 - strb r4, [r0, 0x1] - movs r4, 0x6 - strb r4, [r0, 0x2] - adds r0, 0x3 - bl ConvertIntToDecimalStringN - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4164 - - thumb_func_start sub_80A418C -sub_80A418C: @ 80A418C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - adds r4, r0, 0 - mov r9, r1 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r3, [sp, 0x18] - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _080A41D0 @ =gStringVar1 - mov r8, r0 - adds r1, r4, 0 - mov r2, r9 - bl sub_80A4164 - mov r0, r8 - adds r1, r5, 0 - adds r2, r6, 0 - bl MenuPrint - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A41D0: .4byte gStringVar1 - thumb_func_end sub_80A418C - - thumb_func_start sub_80A41D4 -sub_80A41D4: @ 80A41D4 - push {lr} - bl sub_80A763C - pop {r0} - bx r0 - thumb_func_end sub_80A41D4 - - thumb_func_start sub_80A41E0 -sub_80A41E0: @ 80A41E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - mov r9, r2 - adds r5, r3, 0 - ldr r4, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xFC - mov r8, r0 - strb r0, [r7] - movs r6, 0x13 - strb r6, [r7, 0x1] - movs r0, 0x8 - strb r0, [r7, 0x2] - adds r7, 0x3 - adds r0, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - mov r1, r8 - strb r1, [r0] - strb r6, [r0, 0x1] - movs r1, 0x18 - strb r1, [r0, 0x2] - adds r7, r0, 0x3 - adds r4, 0x1 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 1 - movs r2, 0x78 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r7, 0 - mov r1, r9 - movs r3, 0 - bl sub_8072C74 - movs r1, 0xB9 - strb r1, [r0] - adds r7, r0, 0x1 - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x78 - movs r3, 0x1 - bl sub_8072C14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A41E0 - - thumb_func_start sub_80A425C -sub_80A425C: @ 80A425C - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080A42A4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r0, 0x1C - ldrsh r1, [r1, r0] - ldr r3, _080A42A8 @ =gUnknown_03005D10 - ldr r0, _080A42AC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - subs r1, r0 - subs r1, 0x1 - cmp r1, r2 - bne _080A429C - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - movs r0, 0x2 - strb r0, [r4, 0x2] - adds r4, 0x3 -_080A429C: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A42A4: .4byte gTasks -_080A42A8: .4byte gUnknown_03005D10 -_080A42AC: .4byte gUnknown_02038559 - thumb_func_end sub_80A425C - - thumb_func_start sub_80A42B0 -sub_80A42B0: @ 80A42B0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r1, 0 - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r0, _080A4344 @ =gUnknown_02038540 - mov r8, r0 - ldr r1, _080A4348 @ =gUnknown_03005D10 - ldr r0, _080A434C @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - adds r1, r6 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bgt _080A4370 - cmp r1, r0 - bne _080A4374 - ldr r0, _080A4350 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080A4370 - lsls r0, r6, 25 - movs r1, 0x80 - lsls r1, 18 - adds r0, r1 - lsrs r5, r0, 24 - ldr r4, _080A4354 @ =gStringVar1 - ldr r1, _080A4358 @ =gOtherText_CloseBag - adds r0, r4, 0 - movs r2, 0x78 - movs r3, 0 - bl sub_8072C74 - adds r0, r4, 0 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - lsls r0, r5, 6 - ldr r1, _080A435C @ =gBGTilemapBuffers + 0x1000 + 0x1C - adds r0, r1 - movs r2, 0x4F - strh r2, [r0] - strh r2, [r0, 0x2] - adds r1, r0, 0 - adds r1, 0x40 - strh r2, [r1] - adds r0, 0x42 - strh r2, [r0] - cmp r6, 0x7 - beq _080A4370 - cmp r7, 0x1 - bne _080A432E - mov r1, r8 - ldrb r0, [r1, 0x2] - cmp r0, 0 - bne _080A4332 -_080A432E: - cmp r7, 0x2 - bne _080A4360 -_080A4332: - adds r1, r5, 0x2 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xE - movs r2, 0x1D - movs r3, 0xD - bl MenuFillWindowRectWithBlankTile - b _080A4370 - .align 2, 0 -_080A4344: .4byte gUnknown_02038540 -_080A4348: .4byte gUnknown_03005D10 -_080A434C: .4byte gUnknown_02038559 -_080A4350: .4byte gUnknown_03000701 -_080A4354: .4byte gStringVar1 -_080A4358: .4byte gOtherText_CloseBag -_080A435C: .4byte gBGTilemapBuffers + 0x1000 + 0x1C -_080A4360: - adds r1, r5, 0x2 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xE - movs r2, 0x1D - movs r3, 0x11 - bl MenuFillWindowRectWithBlankTile -_080A4370: - movs r0, 0x1 - b _080A4376 -_080A4374: - movs r0, 0 -_080A4376: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A42B0 - - thumb_func_start sub_80A4380 -sub_80A4380: @ 80A4380 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r2, [sp] - mov r10, r3 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _080A43A0 @ =gUnknown_03005D24 - mov r8, r0 - b _080A441A - .align 2, 0 -_080A43A0: .4byte gUnknown_03005D24 -_080A43A4: - ldr r1, _080A4440 @ =gUnknown_03005D10 - ldr r0, _080A4444 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - adds r4, r7, r4 - lsls r4, 24 - lsrs r4, 24 - lsls r5, r7, 25 - movs r1, 0x80 - lsls r1, 18 - adds r5, r1 - lsrs r5, 24 - ldr r6, _080A4448 @ =gStringVar1 - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_80A425C - adds r6, r0, 0 - mov r1, r8 - ldr r0, [r1] - lsls r4, 2 - adds r0, r4, r0 - ldrh r0, [r0] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r6, 0 - movs r2, 0x66 - movs r3, 0 - bl sub_8072C74 - adds r6, r0, 0 - movs r0, 0xB9 - strb r0, [r6] - adds r6, 0x1 - mov r1, r8 - ldr r0, [r1] - adds r4, r0 - ldrh r1, [r4, 0x2] - adds r0, r6, 0 - movs r2, 0x78 - movs r3, 0x1 - bl sub_8072C14 - ldr r0, _080A4448 @ =gStringVar1 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080A441A: - ldr r0, [sp] - cmp r7, r0 - bgt _080A4430 - adds r0, r7, 0 - mov r1, r10 - bl sub_80A42B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A43A4 -_080A4430: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A4440: .4byte gUnknown_03005D10 -_080A4444: .4byte gUnknown_02038559 -_080A4448: .4byte gStringVar1 - thumb_func_end sub_80A4380 - - thumb_func_start sub_80A444C -sub_80A444C: @ 80A444C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - str r2, [sp] - str r3, [sp, 0x4] - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 24 - lsrs r6, r1, 24 - ldr r0, _080A446C @ =gSaveBlock1 + 0x496 - mov r9, r0 - b _080A4520 - .align 2, 0 -_080A446C: .4byte gSaveBlock1 + 0x496 -_080A4470: - ldr r1, _080A44E8 @ =gUnknown_03005D10 - ldr r0, _080A44EC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - adds r4, r6, r4 - lsls r4, 24 - lsrs r4, 24 - lsls r5, r6, 25 - movs r1, 0x80 - lsls r1, 18 - adds r5, r1 - lsrs r5, 24 - ldr r7, _080A44F0 @ =gStringVar1 - mov r2, r10 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_80A425C - adds r7, r0, 0 - ldr r0, _080A44F4 @ =gUnknown_03005D24 - mov r8, r0 - ldr r0, [r0] - lsls r4, 2 - adds r0, r4, r0 - ldrh r0, [r0] - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r7, 0 -.ifdef ENGLISH - movs r2, 0x60 -.else - movs r2, 0x63 -.endif - movs r3, 0 - bl sub_8072C74 - ldr r0, _080A44F0 @ =gStringVar1 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - ldr r0, _080A44F8 @ =gUnknown_02038558 - ldrb r0, [r0] - cmp r0, 0 - beq _080A44FC - mov r1, r8 - ldr r0, [r1] - adds r0, r4, r0 - ldrh r0, [r0] - mov r2, r9 - ldrh r2, [r2] - cmp r0, r2 - bne _080A451A - adds r0, r6, 0 - bl sub_80A4030 - b _080A451A - .align 2, 0 -_080A44E8: .4byte gUnknown_03005D10 -_080A44EC: .4byte gUnknown_02038559 -_080A44F0: .4byte gStringVar1 -_080A44F4: .4byte gUnknown_03005D24 -_080A44F8: .4byte gUnknown_02038558 -_080A44FC: - mov r1, r8 - ldr r0, [r1] - adds r0, r4, r0 - ldrh r0, [r0] - mov r2, r9 - ldrh r2, [r2] - cmp r0, r2 - bne _080A4514 - adds r0, r6, 0 - bl sub_80A405C - b _080A451A -_080A4514: - adds r0, r6, 0 - bl sub_80A40AC -_080A451A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080A4520: - ldr r0, [sp] - cmp r6, r0 - bgt _080A4536 - adds r0, r6, 0 - ldr r1, [sp, 0x4] - bl sub_80A42B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A4470 -_080A4536: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A444C - - thumb_func_start sub_80A4548 -sub_80A4548: @ 80A4548 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - str r2, [sp, 0x8] - str r3, [sp, 0xC] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r0, _080A456C @ =gBGTilemapBuffers + 0x1000 - mov r9, r0 - b _080A46C2 - .align 2, 0 -_080A456C: .4byte gBGTilemapBuffers + 0x1000 -_080A4570: - ldr r1, _080A461C @ =gUnknown_03005D10 - ldr r0, _080A4620 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - add r4, r8 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r0, r1, 25 - movs r3, 0x80 - lsls r3, 18 - adds r0, r3 - lsrs r0, 24 - str r0, [sp, 0x10] - lsls r0, 5 - adds r0, 0xE - adds r5, r0, 0 - ldr r6, _080A4624 @ =gStringVar1 - ldr r1, [sp, 0x4] - lsls r0, r1, 24 - lsrs r0, 24 - adds r1, r6, 0 - mov r2, r8 - bl sub_80A425C - adds r6, r0, 0 - ldr r3, _080A4628 @ =gUnknown_03005D24 - mov r10, r3 - ldr r0, [r3] - lsls r7, r4, 2 - adds r3, r7, r0 - ldrh r1, [r3] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bhi _080A4634 - lsls r0, r5, 1 - add r0, r9 - movs r1, 0x59 - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r9 - movs r2, 0x4F - strh r2, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - add r0, r9 - movs r1, 0x69 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x21 - lsls r0, 1 - add r0, r9 - strh r2, [r0] - ldrh r0, [r3] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - adds r2, r0, 0 - muls r2, r1 - ldr r0, _080A462C @ =gMoveNames - adds r2, r0 - mov r1, r10 - ldr r0, [r1] - adds r0, r7, r0 - ldr r3, _080A4630 @ =0xfffffee0 - adds r1, r3, 0 - ldrh r3, [r0] - adds r1, r3 - lsls r1, 16 - lsrs r1, 16 - ldrh r3, [r0, 0x2] - movs r0, 0x2 - str r0, [sp] - adds r0, r6, 0 - bl sub_80A41E0 - b _080A46AE - .align 2, 0 -_080A461C: .4byte gUnknown_03005D10 -_080A4620: .4byte gUnknown_02038559 -_080A4624: .4byte gStringVar1 -_080A4628: .4byte gUnknown_03005D24 -_080A462C: .4byte gMoveNames -_080A4630: .4byte 0xfffffee0 -_080A4634: - lsls r0, r5, 1 - add r0, r9 - ldr r1, _080A46EC @ =0x0000105d - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 1 - add r0, r9 - adds r1, 0x1 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - add r0, r9 - adds r1, 0xF - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x21 - lsls r0, 1 - add r0, r9 - adds r1, 0x1 - strh r1, [r0] - movs r0, 0xFC - strb r0, [r6] - movs r4, 0x13 - strb r4, [r6, 0x1] - movs r0, 0x11 - strb r0, [r6, 0x2] - adds r6, 0x3 - mov r1, r10 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r3, _080A46F0 @ =0xfffffeae - adds r1, r3 - adds r0, r6, 0 - bl ConvertIntToDecimalString - adds r6, r0, 0 - movs r0, 0xFC - strb r0, [r6] - strb r4, [r6, 0x1] - movs r0, 0x18 - strb r0, [r6, 0x2] - adds r6, 0x3 - mov r1, r10 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r0, [r0] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _080A46F4 @ =gMoveNames - adds r1, r0 - adds r0, r6, 0 - movs r2, 0x78 - movs r3, 0 - bl sub_8072C74 -_080A46AE: - ldr r0, _080A46F8 @ =gStringVar1 - movs r1, 0xE - ldr r2, [sp, 0x10] - bl MenuPrint - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080A46C2: - ldr r3, [sp, 0x8] - cmp r8, r3 - bgt _080A46DA - mov r0, r8 - ldr r1, [sp, 0xC] - bl sub_80A42B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A46DA - b _080A4570 -_080A46DA: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A46EC: .4byte 0x0000105d -_080A46F0: .4byte 0xfffffeae -_080A46F4: .4byte gMoveNames -_080A46F8: .4byte gStringVar1 - thumb_func_end sub_80A4548 - - thumb_func_start sub_80A46FC -sub_80A46FC: @ 80A46FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r2, [sp, 0x8] - str r3, [sp, 0xC] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x4] - lsls r1, 24 - lsrs r6, r1, 24 - ldr r0, _080A4724 @ =gBGTilemapBuffers + 0x1000 - mov r10, r0 - ldr r1, _080A4728 @ =gStringVar2 - mov r9, r1 - ldr r0, _080A472C @ =gUnknown_03005D24 - mov r8, r0 - b _080A47B4 - .align 2, 0 -_080A4724: .4byte gBGTilemapBuffers + 0x1000 -_080A4728: .4byte gStringVar2 -_080A472C: .4byte gUnknown_03005D24 -_080A4730: - ldr r1, _080A47DC @ =gUnknown_03005D10 - ldr r0, _080A47E0 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x1] - adds r4, r6, r4 - lsls r4, 24 - lsrs r4, 24 - lsls r5, r6, 25 - movs r1, 0x80 - lsls r1, 18 - adds r5, r1 - lsrs r5, 24 - lsls r0, r5, 5 - adds r0, 0xE - lsls r1, r0, 1 - add r1, r10 - movs r2, 0x59 - strh r2, [r1] - adds r0, 0x20 - lsls r0, 1 - add r0, r10 - movs r1, 0x69 - strh r1, [r0] - ldr r7, _080A47E4 @ =gStringVar1 - ldr r1, [sp, 0x4] - lsls r0, r1, 24 - lsrs r0, 24 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_80A425C - adds r7, r0, 0 - mov r1, r8 - ldr r0, [r1] - lsls r4, 2 - adds r0, r4, r0 - ldrh r0, [r0] - mov r1, r9 - bl CopyItemName - mov r1, r8 - ldr r0, [r1] - adds r4, r0 - ldrh r1, [r4] - subs r1, 0x84 - lsls r1, 16 - lsrs r1, 16 - ldrh r3, [r4, 0x2] - movs r0, 0x3 - str r0, [sp] - adds r0, r7, 0 - mov r2, r9 - bl sub_80A41E0 - ldr r0, _080A47E4 @ =gStringVar1 - movs r1, 0xE - adds r2, r5, 0 - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080A47B4: - ldr r0, [sp, 0x8] - cmp r6, r0 - bgt _080A47CA - adds r0, r6, 0 - ldr r1, [sp, 0xC] - bl sub_80A42B0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A4730 -_080A47CA: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A47DC: .4byte gUnknown_03005D10 -_080A47E0: .4byte gUnknown_02038559 -_080A47E4: .4byte gStringVar1 - thumb_func_end sub_80A46FC - - thumb_func_start sub_80A47E8 -sub_80A47E8: @ 80A47E8 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _080A4808 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _080A4852 - lsls r0, 2 - ldr r1, _080A480C @ =_080A4810 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A4808: .4byte gUnknown_02038559 -_080A480C: .4byte _080A4810 - .align 2, 0 -_080A4810: - .4byte _080A4824 - .4byte _080A4824 - .4byte _080A483C - .4byte _080A4848 - .4byte _080A4830 -_080A4824: - adds r0, r2, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A4380 - b _080A4852 -_080A4830: - adds r0, r2, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A444C - b _080A4852 -_080A483C: - adds r0, r2, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A4548 - b _080A4852 -_080A4848: - adds r0, r2, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A46FC -_080A4852: - ldr r1, _080A4870 @ =gUnknown_03005D10 - ldr r0, _080A4874 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080A4878 - movs r0, 0 - movs r1, 0 - bl sub_80F979C - b _080A4880 - .align 2, 0 -_080A4870: .4byte gUnknown_03005D10 -_080A4874: .4byte gUnknown_02038559 -_080A4878: - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C -_080A4880: - ldr r0, _080A48A4 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080A48B0 - ldr r1, _080A48A8 @ =gUnknown_03005D10 - ldr r0, _080A48AC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - adds r1, 0x8 - ldrb r0, [r0, 0x2] - adds r0, 0x1 - cmp r1, r0 - blt _080A48C6 - b _080A48D8 - .align 2, 0 -_080A48A4: .4byte gUnknown_03000701 -_080A48A8: .4byte gUnknown_03005D10 -_080A48AC: .4byte gUnknown_02038559 -_080A48B0: - ldr r2, _080A48D0 @ =gUnknown_03005D10 - ldr r0, _080A48D4 @ =gUnknown_02038559 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - adds r0, 0x8 - ldrb r1, [r1, 0x2] - cmp r0, r1 - bge _080A48D8 -_080A48C6: - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C - b _080A48E0 - .align 2, 0 -_080A48D0: .4byte gUnknown_03005D10 -_080A48D4: .4byte gUnknown_02038559 -_080A48D8: - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C -_080A48E0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A47E8 - - thumb_func_start sub_80A48E8 -sub_80A48E8: @ 80A48E8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r3, 0 - bl sub_80A47E8 - pop {r0} - bx r0 - thumb_func_end sub_80A48E8 - - thumb_func_start sub_80A48F8 -sub_80A48F8: @ 80A48F8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - movs r2, 0x5 - movs r3, 0x2 - bl sub_80A47E8 - pop {r0} - bx r0 - thumb_func_end sub_80A48F8 - - thumb_func_start ItemListMenu_InitDescription -ItemListMenu_InitDescription: @ 80A490C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r1, _080A4960 @ =gUnknown_03005D10 - ldr r0, _080A4964 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _080A4974 - ldr r0, _080A4968 @ =gOtherText_ReturnTo - movs r4, 0x1 - str r4, [sp] - movs r1, 0x4 - movs r2, 0x68 - movs r3, 0x68 - bl sub_8072A18 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A496C @ =gUnknown_0840E740 - ldr r0, _080A4970 @ =gUnknown_03000701 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r4, [sp] - movs r1, 0x4 - movs r2, 0x78 - movs r3, 0x68 - bl sub_8072A18 - adds r0, r5, r0 - b _080A4988 - .align 2, 0 -_080A4960: .4byte gUnknown_03005D10 -_080A4964: .4byte gUnknown_02038559 -_080A4968: .4byte gOtherText_ReturnTo -_080A496C: .4byte gUnknown_0840E740 -_080A4970: .4byte gUnknown_03000701 -_080A4974: - adds r0, r3, 0 - bl ItemId_GetDescription - movs r1, 0x1 - str r1, [sp] - movs r1, 0x4 - movs r2, 0x68 - movs r3, 0x68 - bl sub_8072A18 -_080A4988: - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bhi _080A49A4 - lsls r1, r5, 25 - movs r0, 0xD0 - lsls r0, 20 - adds r1, r0 - lsrs r1, 24 - movs r0, 0 - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect -_080A49A4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ItemListMenu_InitDescription - - thumb_func_start ItemListMenu_ChangeDescription -ItemListMenu_ChangeDescription: @ 80A49AC - push {r4,r5,lr} - sub sp, 0x64 - adds r4, r1, 0 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r1, _080A49E8 @ =gUnknown_03005D10 - ldr r0, _080A49EC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _080A4A18 - cmp r4, 0 - bne _080A49F4 - movs r0, 0 - movs r1, 0xD - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect - ldr r0, _080A49F0 @ =gOtherText_ReturnTo - movs r1, 0x4 - movs r2, 0x68 - b _080A4A08 - .align 2, 0 -_080A49E8: .4byte gUnknown_03005D10 -_080A49EC: .4byte gUnknown_02038559 -_080A49F0: .4byte gOtherText_ReturnTo -_080A49F4: - cmp r4, 0x1 - bne _080A4A4C - ldr r1, _080A4A10 @ =gUnknown_0840E740 - ldr r0, _080A4A14 @ =gUnknown_03000701 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x4 - movs r2, 0x78 -_080A4A08: - movs r3, 0 - bl MenuPrint_PixelCoords - b _080A4A4C - .align 2, 0 -_080A4A10: .4byte gUnknown_0840E740 -_080A4A14: .4byte gUnknown_03000701 -_080A4A18: - cmp r4, 0 - bne _080A4A28 - movs r0, 0 - movs r1, 0xD - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect -_080A4A28: - lsls r1, r5, 16 - asrs r1, 16 - mov r0, sp - adds r2, r4, 0 - bl ItemId_CopyDescription - cmp r0, 0 - beq _080A4A4C - lsls r2, r4, 20 - movs r0, 0xD0 - lsls r0, 15 - adds r2, r0 - lsrs r2, 16 - mov r0, sp - movs r1, 0x4 - movs r3, 0 - bl MenuPrint_PixelCoords -_080A4A4C: - add sp, 0x64 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ItemListMenu_ChangeDescription - - thumb_func_start sub_80A4A54 -sub_80A4A54: @ 80A4A54 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r2, 0x1 - adds r2, r1, 0 - adds r1, r5, 0 -_080A4A5E: - ldrb r3, [r2] - adds r0, r3, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A4A8A - subs r4, 0x1 - cmp r4, 0 - bne _080A4A78 - movs r0, 0xFF - strb r0, [r1] - movs r0, 0x1 - b _080A4A92 -_080A4A78: - lsls r0, r3, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080A4A84 - movs r0, 0 - b _080A4A92 -_080A4A84: - adds r1, r5, 0 - adds r2, 0x1 - b _080A4A5E -_080A4A8A: - strb r3, [r1] - adds r2, 0x1 - adds r1, 0x1 - b _080A4A5E -_080A4A92: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A4A54 - - thumb_func_start sub_80A4A98 -sub_80A4A98: @ 80A4A98 - push {r4,r5,lr} - sub sp, 0x64 - adds r5, r0, 0 - adds r4, r1, 0 - cmp r4, 0 - bne _080A4AB0 - movs r0, 0 - movs r1, 0xD - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect -_080A4AB0: - mov r0, sp - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_80A4A54 - cmp r0, 0 - beq _080A4AD2 - lsls r2, r4, 20 - movs r0, 0xD0 - lsls r0, 15 - adds r2, r0 - lsrs r2, 16 - mov r0, sp - movs r1, 0x4 - movs r3, 0 - bl MenuPrint_PixelCoords -_080A4AD2: - add sp, 0x64 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A4A98 - - thumb_func_start sub_80A4ADC -sub_80A4ADC: @ 80A4ADC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A4B0C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x1C - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080A4AFA - movs r0, 0 - bl sub_80A7528 -_080A4AFA: - movs r0, 0x5 - bl PlaySE - ldr r1, _080A4B10 @ =gUnknown_0203855C - movs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080A4B0C: .4byte gTasks -_080A4B10: .4byte gUnknown_0203855C - thumb_func_end sub_80A4ADC - - thumb_func_start sub_80A4B14 -sub_80A4B14: @ 80A4B14 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _080A4B50 @ =gUnknown_03005D10 - ldr r1, _080A4B54 @ =gUnknown_02038559 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 2 - adds r1, r2 - lsrs r0, 24 - ldrb r2, [r1, 0x1] - adds r0, r2 - strb r0, [r1, 0x1] - movs r0, 0 - bl MoveMenuCursor - bl sub_80A73C0 - bl sub_80A763C - adds r0, r4, 0 - bl sub_80A4ADC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A4B50: .4byte gUnknown_03005D10 -_080A4B54: .4byte gUnknown_02038559 - thumb_func_end sub_80A4B14 - - thumb_func_start sub_80A4B58 -sub_80A4B58: @ 80A4B58 - push {r4,lr} - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - asrs r0, 24 - bl MoveMenuCursor - ldr r2, _080A4B88 @ =gUnknown_03005D10 - ldr r1, _080A4B8C @ =gUnknown_02038559 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 2 - adds r1, r2 - strb r0, [r1] - bl sub_80A73C0 - adds r0, r4, 0 - bl sub_80A4ADC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A4B88: .4byte gUnknown_03005D10 -_080A4B8C: .4byte gUnknown_02038559 - thumb_func_end sub_80A4B58 - - thumb_func_start sub_80A4B90 -sub_80A4B90: @ 80A4B90 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080A4BBC - ldr r0, _080A4BB4 @ =0x00000103 - cmp r4, r0 - beq _080A4BAE - adds r0, 0xD - cmp r4, r0 - bne _080A4BBC -_080A4BAE: - ldr r0, _080A4BB8 @ =gOtherText_Walk - b _080A4BE6 - .align 2, 0 -_080A4BB4: .4byte 0x00000103 -_080A4BB8: .4byte gOtherText_Walk -_080A4BBC: - adds r0, r4, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A4BE4 - ldr r1, _080A4BDC @ =gUnknown_083C1640 - ldr r0, _080A4BE0 @ =gUnknown_03000704 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - b _080A4BE6 - .align 2, 0 -_080A4BDC: .4byte gUnknown_083C1640 -_080A4BE0: .4byte gUnknown_03000704 -_080A4BE4: - ldr r0, _080A4BEC @ =gOtherText_Check -_080A4BE6: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A4BEC: .4byte gOtherText_Check - thumb_func_end sub_80A4B90 - - thumb_func_start sub_80A4BF0 -sub_80A4BF0: @ 80A4BF0 - push {r4-r7,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r7, _080A4C38 @ =gUnknown_02038564 - ldrb r4, [r7] - cmp r4, 0x4 - beq _080A4C00 - b _080A4CF8 -_080A4C00: - movs r0, 0 - movs r1, 0x7 - movs r2, 0xD - movs r3, 0xC - bl MenuDrawTextWindow - str r4, [sp] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0xC - bl sub_80A4008 - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A4C40 - ldr r0, _080A4C3C @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A4C40 - movs r0, 0x1 - movs r1, 0 - bl sub_80A7834 - b _080A4CA0 - .align 2, 0 -_080A4C38: .4byte gUnknown_02038564 -_080A4C3C: .4byte gUnknown_03000701 -_080A4C40: - movs r6, 0 - ldr r0, _080A4C5C @ =gUnknown_02038564 - ldrb r0, [r0] - cmp r6, r0 - bcs _080A4CA0 - ldr r4, _080A4C60 @ =gUnknown_083C1640 -_080A4C4C: - cmp r6, 0 - bne _080A4C68 - ldr r0, _080A4C64 @ =gScriptItemId - ldrh r0, [r0] - bl sub_80A4B90 - adds r3, r0, 0 - b _080A4C76 - .align 2, 0 -_080A4C5C: .4byte gUnknown_02038564 -_080A4C60: .4byte gUnknown_083C1640 -_080A4C64: .4byte gScriptItemId -_080A4C68: - ldr r0, _080A4CC4 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r6 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r4 - ldr r3, [r0] -_080A4C76: - lsrs r0, r6, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x1 - ands r2, r6 - lsls r2, 1 - adds r2, 0x8 - adds r0, r3, 0 - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080A4CC8 @ =gUnknown_02038564 - ldrb r0, [r0] - cmp r6, r0 - bcc _080A4C4C -_080A4CA0: - ldr r0, _080A4CCC @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A4CD4 - ldr r0, _080A4CC8 @ =gUnknown_02038564 - ldrb r3, [r0] - ldr r0, _080A4CD0 @ =gUnknown_03000700 - ldrb r0, [r0] - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x8 - bl InitMenu - b _080A4CEA - .align 2, 0 -_080A4CC4: .4byte gUnknown_03000704 -_080A4CC8: .4byte gUnknown_02038564 -_080A4CCC: .4byte gUnknown_03000701 -_080A4CD0: .4byte gUnknown_03000700 -_080A4CD4: - ldr r0, _080A4CF4 @ =gUnknown_02038564 - ldrb r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x8 - bl InitMenu -_080A4CEA: - movs r0, 0x2F - bl sub_8072DCC - b _080A4D8A - .align 2, 0 -_080A4CF4: .4byte gUnknown_02038564 -_080A4CF8: - movs r0, 0 - movs r1, 0x5 - movs r2, 0xD - movs r3, 0xC - bl MenuDrawTextWindow - movs r0, 0x6 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x6 - movs r3, 0xC - bl sub_80A4008 - movs r6, 0 - ldrb r7, [r7] - cmp r6, r7 - bcs _080A4D6E - ldr r7, _080A4D98 @ =gUnknown_083C1640 -_080A4D1E: - ldr r0, _080A4D9C @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r6 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r7 - ldr r5, [r0] - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 1 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - adds r2, r0, 0 - lsls r2, 25 - movs r0, 0xC0 - lsls r0, 19 - adds r2, r0 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _080A4DA0 @ =gUnknown_02038564 - ldrb r0, [r0] - cmp r6, r0 - bcc _080A4D1E -_080A4D6E: - ldr r0, _080A4DA0 @ =gUnknown_02038564 - ldrb r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x6 - bl InitMenu - movs r0, 0x2F - bl sub_8072DCC -_080A4D8A: - movs r0, 0x2 - bl sub_80A7528 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A4D98: .4byte gUnknown_083C1640 -_080A4D9C: .4byte gUnknown_03000704 -_080A4DA0: .4byte gUnknown_02038564 - thumb_func_end sub_80A4BF0 - - thumb_func_start sub_80A4DA4 -sub_80A4DA4: @ 80A4DA4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_80A73FC - movs r0, 0x6 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x6 - movs r3, 0xD - bl sub_80A36B8 - movs r0, 0 - movs r1, 0x5 - movs r2, 0xD - movs r3, 0xC - bl MenuZeroFillWindowRect - bl sub_80A7590 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A4DA4 - - thumb_func_start sub_80A4DD8 -sub_80A4DD8: @ 80A4DD8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - adds r4, r1, 0 - adds r1, r2, 0 - adds r6, r3, 0 - ldr r5, [sp, 0x20] - ldr r2, [sp, 0x24] - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldr r3, _080A4E84 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r3 - movs r0, 0x1 - strh r0, [r2, 0xA] - adds r0, r4, 0x2 - mov r9, r0 - strh r0, [r2, 0xC] - adds r0, r1, 0x1 - mov r8, r0 - strh r0, [r2, 0xE] - adds r2, r4, r6 - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, r5 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - bl MenuDrawTextWindow - ldr r0, _080A4E88 @ =gBGTilemapBuffers + 0x800 - adds r4, 0x1 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - subs r6, 0x1 - lsls r6, 24 - lsrs r6, 24 - subs r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - str r5, [sp] - adds r1, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_80A4008 - mov r2, r9 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - mov r0, r10 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - mov r3, r8 - bl sub_80A418C - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A4E84: .4byte gTasks -_080A4E88: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A4DD8 - - thumb_func_start sub_80A4E8C -sub_80A4E8C: @ 80A4E8C - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0x2 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0x3 - movs r1, 0x1 - bl sub_80F979C - movs r0, 0 - bl PauseVerticalScrollIndicator - movs r0, 0x1 - bl PauseVerticalScrollIndicator - movs r0, 0x2 - bl PauseVerticalScrollIndicator - movs r0, 0x3 - bl PauseVerticalScrollIndicator - ldr r5, _080A4F04 @ =gBGTilemapBuffers + 0x1000 - lsls r4, 24 - asrs r4, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80A3B04 - ldr r0, _080A4F08 @ =gUnknown_02038559 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_80A3AC0 - bl sub_80A3770 - bl sub_80A7C64 - adds r0, r6, 0 - bl CreateBagPokeballSprite - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A4F04: .4byte gBGTilemapBuffers + 0x1000 -_080A4F08: .4byte gUnknown_02038559 - thumb_func_end sub_80A4E8C - - thumb_func_start sub_80A4F0C -sub_80A4F0C: @ 80A4F0C - push {r4,lr} - ldr r0, _080A4F38 @ =gUnknown_03000701 - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080A4F60 - ldr r4, _080A4F3C @ =gMain - ldrh r0, [r4, 0x2E] - cmp r0, 0x10 - beq _080A4F30 - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080A4F40 -_080A4F30: - movs r0, 0x1 - movs r1, 0x2 - b _080A4F58 - .align 2, 0 -_080A4F38: .4byte gUnknown_03000701 -_080A4F3C: .4byte gMain -_080A4F40: - ldrh r0, [r4, 0x2E] - cmp r0, 0x20 - beq _080A4F52 - bl sub_80F9284 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A4F60 -_080A4F52: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x1 -_080A4F58: - bl sub_80A4E8C - movs r0, 0x1 - b _080A4F62 -_080A4F60: - movs r0, 0 -_080A4F62: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A4F0C - - thumb_func_start sub_80A4F68 -sub_80A4F68: @ 80A4F68 - push {lr} - bl sub_80A4F0C - pop {r0} - bx r0 - thumb_func_end sub_80A4F68 - - thumb_func_start sub_80A4F74 -sub_80A4F74: @ 80A4F74 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r2, r4, 0 - movs r5, 0 - ldr r0, _080A4FAC @ =gMain - ldrh r0, [r0, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A4FE8 - ldr r1, _080A4FB0 @ =gUnknown_03005D10 - ldr r0, _080A4FB4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - beq _080A4FB8 - movs r0, 0x1 - negs r0, r0 - adds r1, r4, 0 - bl sub_80A4B58 - b _080A4FC8 - .align 2, 0 -_080A4FAC: .4byte gMain -_080A4FB0: .4byte gUnknown_03005D10 -_080A4FB4: .4byte gUnknown_02038559 -_080A4FB8: - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _080A4FC8 - movs r0, 0x1 - negs r0, r0 - adds r1, r4, 0 - bl sub_80A4B14 -_080A4FC8: - ldr r0, _080A4FE0 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A50AE - ldr r1, _080A4FE4 @ =gMain - ldrh r0, [r1, 0x32] - cmp r0, 0x5 - bne _080A50AE - movs r0, 0xB - strh r0, [r1, 0x32] - b _080A50AE - .align 2, 0 -_080A4FE0: .4byte gLinkOpen -_080A4FE4: .4byte gMain -_080A4FE8: - cmp r1, 0x80 - bne _080A5088 - ldr r0, _080A5020 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - beq _080A502C - ldr r1, _080A5024 @ =gUnknown_03005D10 - ldr r0, _080A5028 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r2, r0, r1 - ldrb r0, [r2] - ldrb r1, [r2, 0x3] - cmp r0, r1 - bne _080A504E - ldrb r0, [r2, 0x1] - ldrb r1, [r2] - adds r0, r1 - ldrb r2, [r2, 0x2] - cmp r0, r2 - beq _080A5068 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80A4B14 - b _080A5068 - .align 2, 0 -_080A5020: .4byte gUnknown_03000701 -_080A5024: .4byte gUnknown_03005D10 -_080A5028: .4byte gUnknown_02038559 -_080A502C: - ldr r1, _080A5058 @ =gUnknown_03005D10 - ldr r0, _080A505C @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0x1] - ldrb r3, [r2] - adds r1, r3 - ldrb r0, [r2, 0x2] - subs r0, 0x1 - cmp r1, r0 - beq _080A5068 - ldrb r2, [r2, 0x3] - cmp r3, r2 - beq _080A5060 -_080A504E: - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80A4B58 - b _080A5068 - .align 2, 0 -_080A5058: .4byte gUnknown_03005D10 -_080A505C: .4byte gUnknown_02038559 -_080A5060: - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80A4B14 -_080A5068: - movs r5, 0x1 - ldr r0, _080A5080 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A50C0 - ldr r1, _080A5084 @ =gMain - ldrh r0, [r1, 0x32] - cmp r0, 0x5 - bne _080A50C0 - movs r0, 0xB - strh r0, [r1, 0x32] - b _080A50C0 - .align 2, 0 -_080A5080: .4byte gLinkOpen -_080A5084: .4byte gMain -_080A5088: - ldr r0, _080A50B4 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080A50BC - bl sub_80A4F0C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A50BC - bl sub_80A73F0 - ldr r0, _080A50B8 @ =sub_80A4F68 - str r0, [r4] -_080A50AE: - movs r5, 0x1 - b _080A50C0 - .align 2, 0 -_080A50B4: .4byte gTasks -_080A50B8: .4byte sub_80A4F68 -_080A50BC: - bl sub_80A73C0 -_080A50C0: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80A4F74 - - thumb_func_start sub_80A50C8 -sub_80A50C8: @ 80A50C8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A5148 @ =gTasks + 0x8 - adds r5, r0, r1 - ldr r0, _080A514C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080A50E6 - b _080A52BC -_080A50E6: - adds r0, r4, 0 - bl sub_80A4F74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A50F6 - b _080A526A -_080A50F6: - ldr r2, _080A5150 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080A5190 - ldr r3, _080A5154 @ =gUnknown_02038559 - ldrb r0, [r3] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080A5190 - ldr r0, _080A5158 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080A5190 - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A5160 - ldr r1, _080A515C @ =gUnknown_03005D10 - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _080A5138 - b _080A526A -_080A5138: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A3F50 - b _080A526A - .align 2, 0 -_080A5148: .4byte gTasks + 0x8 -_080A514C: .4byte gPaletteFade -_080A5150: .4byte gMain -_080A5154: .4byte gUnknown_02038559 -_080A5158: .4byte gUnknown_03000701 -_080A515C: .4byte gUnknown_03005D10 -_080A5160: - ldr r1, _080A5184 @ =gUnknown_03005D10 - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - beq _080A5188 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A3E90 - b _080A526A - .align 2, 0 -_080A5184: .4byte gUnknown_03005D10 -_080A5188: - adds r0, r4, 0 - bl sub_80A3EF4 - b _080A526A -_080A5190: - ldrh r2, [r2, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080A5272 - ldr r7, _080A51D4 @ =gUnknown_03005D10 - ldr r6, _080A51D8 @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r0, 2 - adds r0, r7 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _080A51F0 - movs r0, 0x14 - ldrsh r1, [r5, r0] - cmp r1, 0 - bne _080A51E8 - ldr r0, _080A51DC @ =gScriptItemId - strh r1, [r0] - ldr r1, _080A51E0 @ =gUnknown_083C16BC - ldr r0, _080A51E4 @ =gUnknown_03000701 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080A526A - .align 2, 0 -_080A51D4: .4byte gUnknown_03005D10 -_080A51D8: .4byte gUnknown_02038559 -_080A51DC: .4byte gScriptItemId -_080A51E0: .4byte gUnknown_083C16BC -_080A51E4: .4byte gUnknown_03000701 -_080A51E8: - adds r0, r4, 0 - bl sub_80A3EF4 - b _080A526A -_080A51F0: - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080A5264 - movs r0, 0x5 - bl PlaySE - ldr r2, _080A5250 @ =gUnknown_02038560 - movs r1, 0 - ldrsb r1, [r6, r1] - lsls r1, 2 - adds r1, r7 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - adds r0, r1 - strb r0, [r2] - ldr r3, _080A5254 @ =gScriptItemId - ldrb r0, [r2] - ldr r1, _080A5258 @ =gUnknown_03005D24 - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] - ldr r1, _080A525C @ =gUnknown_083C16BC - ldr r0, _080A5260 @ =gUnknown_03000701 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - movs r0, 0 - bl sub_80F98A4 - movs r0, 0x1 - bl sub_80F98A4 - movs r0, 0x2 - bl sub_80F98A4 - movs r0, 0x3 - bl sub_80F98A4 - bl sub_80A797C - b _080A526A - .align 2, 0 -_080A5250: .4byte gUnknown_02038560 -_080A5254: .4byte gScriptItemId -_080A5258: .4byte gUnknown_03005D24 -_080A525C: .4byte gUnknown_083C16BC -_080A5260: .4byte gUnknown_03000701 -_080A5264: - adds r0, r4, 0 - bl sub_80A3E90 -_080A526A: - adds r0, r4, 0 - bl sub_808B5B4 - b _080A52BC -_080A5272: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _080A52BC - movs r0, 0x14 - ldrsh r1, [r5, r0] - cmp r1, 0 - bne _080A52B0 - ldr r2, _080A52A4 @ =gUnknown_03000701 - ldrb r0, [r2] - cmp r0, 0x5 - beq _080A52B6 - ldr r0, _080A52A8 @ =gScriptItemId - strh r1, [r0] - ldr r1, _080A52AC @ =gUnknown_083C16BC - ldrb r0, [r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080A52B6 - .align 2, 0 -_080A52A4: .4byte gUnknown_03000701 -_080A52A8: .4byte gScriptItemId -_080A52AC: .4byte gUnknown_083C16BC -_080A52B0: - adds r0, r4, 0 - bl sub_80A3EF4 -_080A52B6: - adds r0, r4, 0 - bl sub_808B5B4 -_080A52BC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A50C8 - - thumb_func_start sub_80A52C4 -sub_80A52C4: @ 80A52C4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - adds r4, r3, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080A52F4 @ =gTasks + 0x8 - adds r1, r0 - ldr r0, _080A52F8 @ =gMain - ldrh r0, [r0, 0x30] - movs r2, 0xF0 - ands r2, r0 - cmp r2, 0x40 - bne _080A52FC - movs r2, 0x2 - ldrsh r0, [r1, r2] - cmp r0, r3 - beq _080A533E - ldrh r0, [r1, 0x2] - adds r0, 0x1 - b _080A5340 - .align 2, 0 -_080A52F4: .4byte gTasks + 0x8 -_080A52F8: .4byte gMain -_080A52FC: - cmp r2, 0x80 - bne _080A5312 - ldrh r2, [r1, 0x2] - movs r4, 0x2 - ldrsh r0, [r1, r4] - cmp r0, 0x1 - beq _080A530E - subs r0, r2, 0x1 - b _080A5340 -_080A530E: - strh r3, [r1, 0x2] - b _080A5342 -_080A5312: - cmp r2, 0x10 - bne _080A532A - movs r2, 0x2 - ldrsh r0, [r1, r2] - adds r0, 0xA - cmp r0, r3 - bge _080A5326 - ldrh r0, [r1, 0x2] - adds r0, 0xA - b _080A5340 -_080A5326: - strh r4, [r1, 0x2] - b _080A5342 -_080A532A: - cmp r2, 0x20 - bne _080A5346 - ldrh r2, [r1, 0x2] - movs r3, 0x2 - ldrsh r0, [r1, r3] - cmp r0, 0xA - ble _080A533E - adds r0, r2, 0 - subs r0, 0xA - b _080A5340 -_080A533E: - movs r0, 0x1 -_080A5340: - strh r0, [r1, 0x2] -_080A5342: - movs r0, 0x1 - b _080A5348 -_080A5346: - movs r0, 0 -_080A5348: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A52C4 - - thumb_func_start sub_80A5350 -sub_80A5350: @ 80A5350 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _080A539C @ =gTasks + 0x8 - adds r4, r1, r2 - ldr r1, _080A53A0 @ =gUnknown_02038560 - ldrb r1, [r1] - ldr r2, _080A53A4 @ =gUnknown_03005D24 - ldr r2, [r2] - lsls r1, 2 - adds r1, r2 - ldrh r1, [r1, 0x2] - bl sub_80A52C4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A53C0 - ldr r0, _080A53A8 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A53AC - ldrh r0, [r4, 0x2] - ldrb r2, [r4, 0x4] - ldrb r3, [r4, 0x6] - movs r1, 0x3 - str r1, [sp] - movs r1, 0x1 - bl sub_80A418C - b _080A53BC - .align 2, 0 -_080A539C: .4byte gTasks + 0x8 -_080A53A0: .4byte gUnknown_02038560 -_080A53A4: .4byte gUnknown_03005D24 -_080A53A8: .4byte gUnknown_02038559 -_080A53AC: - ldrh r0, [r4, 0x2] - ldrb r2, [r4, 0x4] - ldrb r3, [r4, 0x6] - movs r1, 0x2 - str r1, [sp] - movs r1, 0x1 - bl sub_80A418C -_080A53BC: - movs r0, 0x1 - b _080A53C2 -_080A53C0: - movs r0, 0 -_080A53C2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A5350 - - thumb_func_start sub_80A53CC -sub_80A53CC: @ 80A53CC - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A53EA - bl sub_80A3770 - ldr r0, _080A53F0 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A53F4 @ =gUnknown_02038563 - strb r0, [r1] -_080A53EA: - pop {r0} - bx r0 - .align 2, 0 -_080A53F0: .4byte sub_80A50C8 -_080A53F4: .4byte gUnknown_02038563 - thumb_func_end sub_80A53CC - - thumb_func_start sub_80A53F8 -sub_80A53F8: @ 80A53F8 - push {lr} - ldr r0, _080A540C @ =gUnknown_03000701 - movs r1, 0 - strb r1, [r0] - ldr r0, _080A5410 @ =sub_80A53CC - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A540C: .4byte gUnknown_03000701 -_080A5410: .4byte sub_80A53CC - thumb_func_end sub_80A53F8 - - thumb_func_start sub_80A5414 -sub_80A5414: @ 80A5414 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - bl sub_80A78A0 - cmp r0, 0 - bne _080A5426 - b _080A5552 -_080A5426: - ldr r2, _080A5460 @ =gMain - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A546C - ldr r4, _080A5464 @ =gUnknown_03000700 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5440 - b _080A5552 -_080A5440: - ldrb r1, [r4] - ldr r0, _080A5468 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - subs r1, 0x1 - ldrb r0, [r1] - cmp r0, 0x8 - bne _080A5452 - b _080A5552 -_080A5452: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080A54EE - .align 2, 0 -_080A5460: .4byte gMain -_080A5464: .4byte gUnknown_03000700 -_080A5468: .4byte gUnknown_03000704 -_080A546C: - cmp r1, 0x80 - bne _080A549C - ldr r4, _080A5494 @ =gUnknown_03000700 - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5552 - ldrb r1, [r4] - ldr r0, _080A5498 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0x8 - beq _080A5552 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - b _080A54EE - .align 2, 0 -_080A5494: .4byte gUnknown_03000700 -_080A5498: .4byte gUnknown_03000704 -_080A549C: - cmp r1, 0x20 - bne _080A54CC - ldr r4, _080A54C4 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x1 - bls _080A5552 - adds r1, r0, 0 - ldr r0, _080A54C8 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - subs r1, 0x2 - ldrb r0, [r1] - cmp r0, 0x8 - beq _080A5552 - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - negs r0, r0 - b _080A54EE - .align 2, 0 -_080A54C4: .4byte gUnknown_03000700 -_080A54C8: .4byte gUnknown_03000704 -_080A54CC: - cmp r1, 0x10 - bne _080A5500 - ldr r4, _080A54F8 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x1 - bhi _080A5552 - adds r1, r0, 0 - ldr r0, _080A54FC @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - ldrb r0, [r1, 0x2] - cmp r0, 0x8 - beq _080A5552 - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 -_080A54EE: - bl MoveMenuCursor3 - strb r0, [r4] - b _080A5552 - .align 2, 0 -_080A54F8: .4byte gUnknown_03000700 -_080A54FC: .4byte gUnknown_03000704 -_080A5500: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5590 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5552 - ldr r1, _080A5570 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r1, _080A5574 @ =gUnknown_03005D10 - ldr r0, _080A5578 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A557C @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A5580 @ =gUnknown_083C1640 - ldr r0, _080A5584 @ =gUnknown_03000704 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl _call_via_r5 -_080A5552: - cmp r5, 0 - bne _080A55FA - ldr r0, _080A5588 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A55E0 - ldr r0, _080A558C @ =gUnknown_03000700 - ldrb r0, [r0] - cmp r0, 0 - bne _080A55D4 - movs r0, 0xC - bl sub_8072DDC - b _080A55FA - .align 2, 0 -_080A5570: .4byte gTasks -_080A5574: .4byte gUnknown_03005D10 -_080A5578: .4byte gUnknown_02038559 -_080A557C: .4byte gBGTilemapBuffers + 0x800 -_080A5580: .4byte gUnknown_083C1640 -_080A5584: .4byte gUnknown_03000704 -_080A5588: .4byte gUnknown_03000701 -_080A558C: .4byte gUnknown_03000700 -_080A5590: - ldr r1, _080A55C0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r0, _080A55C4 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A55C8 @ =gUnknown_083C1640 - ldr r0, _080A55CC @ =gUnknown_03000700 - ldrb r2, [r0] - ldr r0, _080A55D0 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl _call_via_r5 - b _080A5552 - .align 2, 0 -_080A55C0: .4byte gTasks -_080A55C4: .4byte gBGTilemapBuffers + 0x800 -_080A55C8: .4byte gUnknown_083C1640 -_080A55CC: .4byte gUnknown_03000700 -_080A55D0: .4byte gUnknown_03000704 -_080A55D4: - cmp r0, 0x1 - bls _080A55E8 - movs r0, 0x30 - bl sub_8072DCC - b _080A55FA -_080A55E0: - ldr r0, _080A55F0 @ =gUnknown_03000700 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _080A55F4 -_080A55E8: - movs r0, 0x2F - bl sub_8072DCC - b _080A55FA - .align 2, 0 -_080A55F0: .4byte gUnknown_03000700 -_080A55F4: - movs r0, 0x30 - bl sub_8072DCC -_080A55FA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A5414 - - thumb_func_start sub_80A5600 -sub_80A5600: @ 80A5600 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - ldr r2, _080A563C @ =gMain - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A5648 - ldr r4, _080A5640 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0 - bne _080A561E - b _080A5736 -_080A561E: - adds r1, r0, 0 - ldr r0, _080A5644 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - subs r1, 0x1 - ldrb r0, [r1] - cmp r0, 0x8 - bne _080A5630 - b _080A5736 -_080A5630: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080A56D2 - .align 2, 0 -_080A563C: .4byte gMain -_080A5640: .4byte gUnknown_03000700 -_080A5644: .4byte gUnknown_03000704 -_080A5648: - cmp r1, 0x80 - bne _080A5680 - ldr r4, _080A5674 @ =gUnknown_03000700 - ldrb r1, [r4] - ldr r0, _080A5678 @ =gUnknown_02038564 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _080A5736 - cmp r1, 0x2 - beq _080A5736 - ldr r0, _080A567C @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r1, r0 - ldrb r0, [r0, 0x1] - cmp r0, 0x8 - beq _080A5736 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - b _080A56D2 - .align 2, 0 -_080A5674: .4byte gUnknown_03000700 -_080A5678: .4byte gUnknown_02038564 -_080A567C: .4byte gUnknown_03000704 -_080A5680: - cmp r1, 0x20 - bne _080A56B0 - ldr r4, _080A56A8 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x2 - bls _080A5736 - adds r1, r0, 0 - ldr r0, _080A56AC @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - subs r1, 0x3 - ldrb r0, [r1] - cmp r0, 0x8 - beq _080A5736 - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 - negs r0, r0 - b _080A56D2 - .align 2, 0 -_080A56A8: .4byte gUnknown_03000700 -_080A56AC: .4byte gUnknown_03000704 -_080A56B0: - cmp r1, 0x10 - bne _080A56E4 - ldr r4, _080A56DC @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x2 - bhi _080A5736 - adds r1, r0, 0 - ldr r0, _080A56E0 @ =gUnknown_03000704 - ldr r0, [r0] - adds r1, r0 - ldrb r0, [r1, 0x3] - cmp r0, 0x8 - beq _080A5736 - movs r0, 0x5 - bl PlaySE - movs r0, 0x3 -_080A56D2: - bl MoveMenuCursor3 - strb r0, [r4] - b _080A5736 - .align 2, 0 -_080A56DC: .4byte gUnknown_03000700 -_080A56E0: .4byte gUnknown_03000704 -_080A56E4: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5768 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5736 - ldr r1, _080A574C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r1, _080A5750 @ =gUnknown_03005D10 - ldr r0, _080A5754 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A5758 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A575C @ =gUnknown_083C1640 - ldr r0, _080A5760 @ =gUnknown_03000704 - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl _call_via_r5 -_080A5736: - cmp r5, 0 - bne _080A57BE - ldr r0, _080A5764 @ =gUnknown_03000700 - ldrb r0, [r0] - cmp r0, 0 - bne _080A57AC - movs r0, 0xC - bl sub_8072DDC - b _080A57BE - .align 2, 0 -_080A574C: .4byte gTasks -_080A5750: .4byte gUnknown_03005D10 -_080A5754: .4byte gUnknown_02038559 -_080A5758: .4byte gBGTilemapBuffers + 0x800 -_080A575C: .4byte gUnknown_083C1640 -_080A5760: .4byte gUnknown_03000704 -_080A5764: .4byte gUnknown_03000700 -_080A5768: - ldr r1, _080A5798 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1C] - ldr r0, _080A579C @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A57A0 @ =gUnknown_083C1640 - ldr r0, _080A57A4 @ =gUnknown_03000700 - ldrb r2, [r0] - ldr r0, _080A57A8 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r5, [r0] - adds r0, r4, 0 - bl _call_via_r5 - b _080A5736 - .align 2, 0 -_080A5798: .4byte gTasks -_080A579C: .4byte gBGTilemapBuffers + 0x800 -_080A57A0: .4byte gUnknown_083C1640 -_080A57A4: .4byte gUnknown_03000700 -_080A57A8: .4byte gUnknown_03000704 -_080A57AC: - cmp r0, 0x2 - bhi _080A57B8 - movs r0, 0x2F - bl sub_8072DCC - b _080A57BE -_080A57B8: - movs r0, 0x30 - bl sub_8072DCC -_080A57BE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A5600 - - thumb_func_start sub_80A57C4 -sub_80A57C4: @ 80A57C4 - push {r4-r6,lr} - sub sp, 0x8 - ldr r5, _080A57EC @ =gUnknown_03000704 - ldr r0, _080A57F0 @ =gUnknown_02038559 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 1 - ldr r4, _080A57F4 @ =gUnknown_083C16AE - adds r1, r4 - str r1, [r5] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bne _080A57FC - ldr r1, _080A57F8 @ =gUnknown_02038564 - movs r0, 0x1 - strb r0, [r1] - movs r5, 0x9 - b _080A582C - .align 2, 0 -_080A57EC: .4byte gUnknown_03000704 -_080A57F0: .4byte gUnknown_02038559 -_080A57F4: .4byte gUnknown_083C16AE -_080A57F8: .4byte gUnknown_02038564 -_080A57FC: - ldr r0, _080A581C @ =gScriptItemId - ldrh r0, [r0] - bl sub_80F92F4 - lsls r0, 24 - cmp r0, 0 - bne _080A5824 - adds r0, r4, 0 - adds r0, 0x8 - str r0, [r5] - ldr r1, _080A5820 @ =gUnknown_02038564 - movs r0, 0x1 - strb r0, [r1] - movs r5, 0x9 - b _080A582C - .align 2, 0 -_080A581C: .4byte gScriptItemId -_080A5820: .4byte gUnknown_02038564 -_080A5824: - ldr r1, _080A5880 @ =gUnknown_02038564 - movs r0, 0x2 - strb r0, [r1] - movs r5, 0x7 -_080A582C: - adds r6, r1, 0 - ldr r0, _080A5884 @ =gBGTilemapBuffers + 0x800 - adds r4, r5, 0x1 - ldrb r1, [r6] - lsls r1, 25 - lsrs r1, 24 - str r1, [sp] - movs r1, 0x7 - adds r2, r4, 0 - movs r3, 0x6 - bl sub_80A4008 - ldrb r3, [r6] - lsls r3, 1 - adds r3, 0x1 - adds r3, r5, r3 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x6 - adds r1, r5, 0 - movs r2, 0xD - bl MenuDrawTextWindow - movs r0, 0 - adds r1, r5, 0 - bl sub_80A7834 - ldrb r3, [r6] - movs r0, 0 - str r0, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x7 - adds r2, r4, 0 - bl InitMenu - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A5880: .4byte gUnknown_02038564 -_080A5884: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A57C4 - - thumb_func_start sub_80A5888 -sub_80A5888: @ 80A5888 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_80A78A0 - cmp r0, 0 - beq _080A5988 - ldr r2, _080A58B8 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080A58C0 - ldr r4, _080A58BC @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0 - beq _080A5988 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080A58E2 - .align 2, 0 -_080A58B8: .4byte gMain -_080A58BC: .4byte gUnknown_03000700 -_080A58C0: - movs r0, 0x80 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _080A58F4 - ldr r4, _080A58EC @ =gUnknown_03000700 - ldrb r1, [r4] - ldr r0, _080A58F0 @ =gUnknown_02038564 - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _080A5988 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080A58E2: - bl MoveMenuCursor - strb r0, [r4] - b _080A5988 - .align 2, 0 -_080A58EC: .4byte gUnknown_03000700 -_080A58F0: .4byte gUnknown_02038564 -_080A58F4: - ldrh r1, [r2, 0x2E] - movs r2, 0x1 - ands r2, r1 - cmp r2, 0 - beq _080A5964 - ldr r1, _080A5948 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x1C] - ldr r1, _080A594C @ =gUnknown_03005D10 - ldr r0, _080A5950 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A5954 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A5958 @ =gUnknown_083C1640 - ldr r0, _080A595C @ =gUnknown_03000700 - ldrb r2, [r0] - ldr r0, _080A5960 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080A5988 - .align 2, 0 -_080A5948: .4byte gTasks -_080A594C: .4byte gUnknown_03005D10 -_080A5950: .4byte gUnknown_02038559 -_080A5954: .4byte gBGTilemapBuffers + 0x800 -_080A5958: .4byte gUnknown_083C1640 -_080A595C: .4byte gUnknown_03000700 -_080A5960: .4byte gUnknown_03000704 -_080A5964: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5988 - ldr r1, _080A5990 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r0, _080A5994 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r0, _080A5998 @ =gUnknown_083C1640 - ldr r1, [r0, 0x14] - adds r0, r5, 0 - bl _call_via_r1 -_080A5988: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A5990: .4byte gTasks -_080A5994: .4byte gBGTilemapBuffers + 0x800 -_080A5998: .4byte gUnknown_083C1640 - thumb_func_end sub_80A5888 - - thumb_func_start sub_80A599C -sub_80A599C: @ 80A599C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A59C4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A59C8 @ =sub_805469C - lsrs r2, r3, 16 - movs r4, 0 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - ldr r1, _080A59CC @ =gLastFieldPokeMenuOpened - strb r4, [r1] - bl sub_80A5AE4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A59C4: .4byte gTasks -_080A59C8: .4byte sub_805469C -_080A59CC: .4byte gLastFieldPokeMenuOpened - thumb_func_end sub_80A599C - - thumb_func_start sub_80A59D0 -sub_80A59D0: @ 80A59D0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080A5A3C @ =gUnknown_03000700 - movs r0, 0 - strb r0, [r1] - ldr r7, _080A5A40 @ =gUnknown_03000701 - ldrb r0, [r7] - cmp r0, 0x5 - bne _080A59E8 - movs r0, 0x1 - strb r0, [r1] -_080A59E8: - ldr r1, _080A5A44 @ =gTasks - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r6, r0, r1 - ldr r3, _080A5A48 @ =gUnknown_03005D10 - ldr r2, _080A5A4C @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r6, 0x1C] - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5A54 - ldrb r0, [r7] - cmp r0, 0x5 - beq _080A5A54 - bl sub_80A57C4 - ldr r0, _080A5A50 @ =sub_80A5888 - str r0, [r6] - b _080A5A9C - .align 2, 0 -_080A5A3C: .4byte gUnknown_03000700 -_080A5A40: .4byte gUnknown_03000701 -_080A5A44: .4byte gTasks -_080A5A48: .4byte gUnknown_03005D10 -_080A5A4C: .4byte gUnknown_02038559 -_080A5A50: .4byte sub_80A5888 -_080A5A54: - ldr r0, _080A5A7C @ =gBGTilemapBuffers + 0x800 - bl sub_80A4BF0 - ldr r0, _080A5A80 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A5A6E - ldr r0, _080A5A84 @ =gUnknown_03000701 - ldrb r0, [r0] - cmp r0, 0x5 - bne _080A5A90 -_080A5A6E: - ldr r0, _080A5A88 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A5A8C @ =sub_80A5414 - b _080A5A9A - .align 2, 0 -_080A5A7C: .4byte gBGTilemapBuffers + 0x800 -_080A5A80: .4byte gUnknown_02038559 -_080A5A84: .4byte gUnknown_03000701 -_080A5A88: .4byte gTasks -_080A5A8C: .4byte sub_80A5414 -_080A5A90: - ldr r0, _080A5AA4 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080A5AA8 @ =sub_80A5600 -_080A5A9A: - str r0, [r1] -_080A5A9C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A5AA4: .4byte gTasks -_080A5AA8: .4byte sub_80A5600 - thumb_func_end sub_80A59D0 - - thumb_func_start sub_80A5AAC -sub_80A5AAC: @ 80A5AAC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080A5ADC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5AE0 @ =HandleItemMenuPaletteFade - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5ADC: .4byte gTasks -_080A5AE0: .4byte HandleItemMenuPaletteFade - thumb_func_end sub_80A5AAC - - thumb_func_start sub_80A5AE4 -sub_80A5AE4: @ 80A5AE4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A5AAC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5AE4 - - thumb_func_start HandleItemMenuPaletteFade -HandleItemMenuPaletteFade: @ 80A5B00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080A5B38 @ =gTasks + 0x8 - adds r2, r0, r1 - ldr r0, _080A5B3C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080A5B32 - ldrh r0, [r2, 0x10] - lsls r0, 16 - ldrh r1, [r2, 0x12] - orrs r0, r1 - bl SetMainCallback2 - bl gpu_pal_allocator_reset__manage_upper_four - adds r0, r4, 0 - bl DestroyTask -_080A5B32: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5B38: .4byte gTasks + 0x8 -_080A5B3C: .4byte gPaletteFade - thumb_func_end HandleItemMenuPaletteFade - - thumb_func_start sub_80A5B40 -sub_80A5B40: @ 80A5B40 - push {lr} -_080A5B42: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5B68 - bl ResetTasks - ldr r0, _080A5B60 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A5B64 @ =gUnknown_02038563 - strb r0, [r1] - b _080A5B74 - .align 2, 0 -_080A5B60: .4byte sub_80A50C8 -_080A5B64: .4byte gUnknown_02038563 -_080A5B68: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5B42 -_080A5B74: - pop {r0} - bx r0 - thumb_func_end sub_80A5B40 - - thumb_func_start sub_80A5B78 -sub_80A5B78: @ 80A5B78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _080A5BB0 @ =gScriptItemId - ldrh r0, [r5] - bl ItemId_GetFieldFunc - cmp r0, 0 - beq _080A5BF2 - movs r0, 0x5 - bl PlaySE - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _080A5BB4 - ldrh r0, [r5] - bl ItemId_GetType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5BB4 - adds r0, r4, 0 - bl sub_80A5BF8 - b _080A5BF2 - .align 2, 0 -_080A5BB0: .4byte gScriptItemId -_080A5BB4: - ldr r1, _080A5BE0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - ldr r0, _080A5BE4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - beq _080A5BEC - ldr r0, _080A5BE8 @ =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetFieldFunc - adds r1, r0, 0 - adds r0, r4, 0 - bl _call_via_r1 - b _080A5BF2 - .align 2, 0 -_080A5BE0: .4byte gTasks -_080A5BE4: .4byte gUnknown_02038559 -_080A5BE8: .4byte gScriptItemId -_080A5BEC: - adds r0, r4, 0 - bl sub_80C9C7C -_080A5BF2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A5B78 - - thumb_func_start sub_80A5BF8 -sub_80A5BF8: @ 80A5BF8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A73FC - bl sub_80A7590 - ldr r1, _080A5C1C @ =gOtherText_NoPokemon - ldr r2, _080A5C20 @ =CleanUpItemMenuMessage - adds r0, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5C1C: .4byte gOtherText_NoPokemon -_080A5C20: .4byte CleanUpItemMenuMessage - thumb_func_end sub_80A5BF8 - - thumb_func_start sub_80A5C24 -sub_80A5C24: @ 80A5C24 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5C24 - - thumb_func_start CleanUpItemMenuMessage -CleanUpItemMenuMessage: @ 80A5C48 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A5C90 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x1F - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl sub_80A36B8 - movs r0, 0x7 - movs r1, 0x7 - movs r2, 0xD - movs r3, 0xC - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080A5C94 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5C98 @ =sub_80A5C24 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5C90: .4byte gBGTilemapBuffers + 0x800 -_080A5C94: .4byte gTasks -_080A5C98: .4byte sub_80A5C24 - thumb_func_end CleanUpItemMenuMessage - - thumb_func_start CleanUpOverworldMessage -CleanUpOverworldMessage: @ 80A5C9C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0xD - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl DestroyTask - bl sub_8064E2C - bl ScriptContext2_Disable - pop {r4} - pop {r0} - bx r0 - thumb_func_end CleanUpOverworldMessage - - thumb_func_start ExecuteItemUseFromBlackPalette -ExecuteItemUseFromBlackPalette: @ 80A5CC4 - push {lr} - bl pal_fill_black - ldr r0, _080A5CD8 @ =Task_CallItemUseOnFieldCallback - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080A5CD8: .4byte Task_CallItemUseOnFieldCallback - thumb_func_end ExecuteItemUseFromBlackPalette - - thumb_func_start Task_CallItemUseOnFieldCallback -Task_CallItemUseOnFieldCallback: @ 80A5CDC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807D770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5CF8 - ldr r0, _080A5D00 @ =gUnknown_03005D00 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_080A5CF8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5D00: .4byte gUnknown_03005D00 - thumb_func_end Task_CallItemUseOnFieldCallback - - thumb_func_start sub_80A5D04 -sub_80A5D04: @ 80A5D04 - push {lr} -_080A5D06: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5D28 - ldr r0, _080A5D20 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A5D24 @ =gUnknown_02038563 - strb r0, [r1] - b _080A5D34 - .align 2, 0 -_080A5D20: .4byte sub_80A50C8 -_080A5D24: .4byte gUnknown_02038563 -_080A5D28: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A5D06 -_080A5D34: - pop {r0} - bx r0 - thumb_func_end sub_80A5D04 - - thumb_func_start sub_80A5D38 -sub_80A5D38: @ 80A5D38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A5D70 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xA] - ldr r0, _080A5D74 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5D70: .4byte gTasks -_080A5D74: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A5D38 - - thumb_func_start sub_80A5D78 -sub_80A5D78: @ 80A5D78 - push {lr} - sub sp, 0x4 - ldr r0, _080A5D9C @ =gBGTilemapBuffers + 0x800 - movs r1, 0x4 - str r1, [sp] - movs r1, 0x8 - movs r2, 0x8 - movs r3, 0x5 - bl sub_80A4008 - movs r0, 0x7 - movs r1, 0x7 - movs r2, 0x1 - bl DisplayYesNoMenu - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080A5D9C: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A5D78 - - thumb_func_start sub_80A5DA0 -sub_80A5DA0: @ 80A5DA0 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _080A5DC4 @ =gStringVar1 - bl CopyItemName - cmp r4, 0x63 - bls _080A5DCC - ldr r0, _080A5DC8 @ =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - b _080A5DD8 - .align 2, 0 -_080A5DC4: .4byte gStringVar1 -_080A5DC8: .4byte gStringVar2 -_080A5DCC: - ldr r0, _080A5DF0 @ =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN -_080A5DD8: - ldr r0, _080A5DF4 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - movs r0, 0x5 - bl sub_80A7528 - bl sub_80A5D78 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5DF0: .4byte gStringVar2 -_080A5DF4: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A5DA0 - - thumb_func_start sub_80A5DF8 -sub_80A5DF8: @ 80A5DF8 - push {lr} - ldr r0, _080A5E18 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xB - movs r3, 0xD - bl MenuZeroFillWindowRect - movs r0, 0x4 - bl sub_80A7528 - pop {r0} - bx r0 - .align 2, 0 -_080A5E18: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A5DF8 - - thumb_func_start sub_80A5E1C -sub_80A5E1C: @ 80A5E1C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A5E58 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A5E36 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5E50 -_080A5E36: - ldr r0, _080A5E5C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0x1C] - adds r0, r4, 0 - bl sub_80A41D4 - adds r0, r4, 0 - bl sub_80A5D38 -_080A5E50: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5E58: .4byte gMain -_080A5E5C: .4byte gTasks - thumb_func_end sub_80A5E1C - - thumb_func_start sub_80A5E60 -sub_80A5E60: @ 80A5E60 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A5DF8 - adds r0, r4, 0 - bl sub_80A3D5C - ldr r1, _080A5E88 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5E8C @ =sub_80A5E1C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A5E88: .4byte gTasks -_080A5E8C: .4byte sub_80A5E1C - thumb_func_end sub_80A5E60 - - thumb_func_start sub_80A5E90 -sub_80A5E90: @ 80A5E90 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80A5D38 - pop {r0} - bx r0 - thumb_func_end sub_80A5E90 - - thumb_func_start sub_80A5EA0 -sub_80A5EA0: @ 80A5EA0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - adds r0, r4, 0 - bl sub_80A5350 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A5F0C - ldr r0, _080A5EE8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A5EF8 - movs r0, 0x5 - bl PlaySE - ldr r0, _080A5EEC @ =gScriptItemId - ldrh r0, [r0] - ldr r2, _080A5EF0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - ldrh r1, [r1, 0xA] - bl sub_80A5DA0 - ldr r1, _080A5EF4 @ =gUnknown_083C16F4 - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - b _080A5F0C - .align 2, 0 -_080A5EE8: .4byte gMain -_080A5EEC: .4byte gScriptItemId -_080A5EF0: .4byte gTasks -_080A5EF4: .4byte gUnknown_083C16F4 -_080A5EF8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A5F0C - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_80A5D38 -_080A5F0C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A5EA0 - - thumb_func_start sub_80A5F14 -sub_80A5F14: @ 80A5F14 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r1, _080A5F58 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A5F5C @ =sub_80A5EA0 - str r1, [r0] - movs r0, 0x3 - bl sub_80A7528 - ldr r0, _080A5F60 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A5F64 - movs r0, 0x3 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x6 - movs r2, 0x9 - movs r3, 0x7 - bl sub_80A4DD8 - b _080A5F78 - .align 2, 0 -_080A5F58: .4byte gTasks -_080A5F5C: .4byte sub_80A5EA0 -_080A5F60: .4byte gUnknown_02038559 -_080A5F64: - movs r0, 0x3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x9 - movs r3, 0x6 - bl sub_80A4DD8 -_080A5F78: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5F14 - - thumb_func_start sub_80A5F80 -sub_80A5F80: @ 80A5F80 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A5F80 - - thumb_func_start sub_80A5FAC -sub_80A5FAC: @ 80A5FAC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x5 - bl PlaySE - ldr r0, _080A5FD0 @ =gSaveBlock1 - ldr r1, _080A5FD4 @ =0x00000496 - adds r4, r0, r1 - ldr r5, _080A5FD8 @ =gScriptItemId - ldrh r0, [r4] - ldrh r1, [r5] - cmp r0, r1 - bne _080A5FDC - bl sub_80A40D0 - movs r0, 0 - b _080A5FE2 - .align 2, 0 -_080A5FD0: .4byte gSaveBlock1 -_080A5FD4: .4byte 0x00000496 -_080A5FD8: .4byte gScriptItemId -_080A5FDC: - bl sub_80A413C - ldrh r0, [r5] -_080A5FE2: - strh r0, [r4] - movs r0, 0 - bl sub_80A7528 - adds r0, r6, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r6, 0 - bl sub_80A37C0 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A5FAC - - thumb_func_start sub_80A6000 -sub_80A6000: @ 80A6000 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A6000 - - thumb_func_start sub_80A6024 -sub_80A6024: @ 80A6024 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A606C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A6062 - ldr r0, _080A6070 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x1F - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl sub_80A36B8 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080A6074 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6078 @ =sub_80A6000 - str r1, [r0] -_080A6062: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A606C: .4byte gMain -_080A6070: .4byte gBGTilemapBuffers + 0x800 -_080A6074: .4byte gTasks -_080A6078: .4byte sub_80A6000 - thumb_func_end sub_80A6024 - - thumb_func_start DisplayCannotBeHeldMessage -DisplayCannotBeHeldMessage: @ 80A607C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A73FC - ldr r0, _080A60B4 @ =gScriptItemId - ldrh r0, [r0] - ldr r1, _080A60B8 @ =gStringVar1 - bl CopyItemName - ldr r5, _080A60BC @ =gStringVar4 - ldr r1, _080A60C0 @ =gOtherText_CantBeHeld - adds r0, r5, 0 - bl StringExpandPlaceholders - bl sub_80A7590 - ldr r2, _080A60C4 @ =sub_80A6024 - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A60B4: .4byte gScriptItemId -_080A60B8: .4byte gStringVar1 -_080A60BC: .4byte gStringVar4 -_080A60C0: .4byte gOtherText_CantBeHeld -_080A60C4: .4byte sub_80A6024 - thumb_func_end DisplayCannotBeHeldMessage - - thumb_func_start ItemMenu_Give -ItemMenu_Give: @ 80A60C8 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - movs r0, 0x5 - bl PlaySE - ldr r5, _080A60FC @ =gScriptItemId - ldrh r0, [r5] - bl sub_80F931C - lsls r0, 24 - cmp r0, 0 - bne _080A6108 - bl sub_80A73FC - bl sub_80A7590 - ldr r1, _080A6100 @ =gOtherText_CantWriteMail - ldr r2, _080A6104 @ =sub_80A6024 - adds r0, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - b _080A616E - .align 2, 0 -_080A60FC: .4byte gScriptItemId -_080A6100: .4byte gOtherText_CantWriteMail -_080A6104: .4byte sub_80A6024 -_080A6108: - ldrh r0, [r5] - bl ItemId_GetImportance - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080A6168 - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _080A6128 - adds r0, r4, 0 - bl sub_80A5BF8 - b _080A616E -_080A6128: - ldr r1, _080A6158 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A615C @ =sub_808B020 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - ldr r1, _080A6160 @ =HandleItemMenuPaletteFade - str r1, [r0] - ldr r1, _080A6164 @ =gUnknown_02038561 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080A616E - .align 2, 0 -_080A6158: .4byte gTasks -_080A615C: .4byte sub_808B020 -_080A6160: .4byte HandleItemMenuPaletteFade -_080A6164: .4byte gUnknown_02038561 -_080A6168: - adds r0, r6, 0 - bl DisplayCannotBeHeldMessage -_080A616E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ItemMenu_Give - - thumb_func_start sub_80A6178 -sub_80A6178: @ 80A6178 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80A5AE4 - ldr r1, _080A61A0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A61A4 @ =BerryTagScreen_814625C - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A61A0: .4byte gTasks -_080A61A4: .4byte BerryTagScreen_814625C - thumb_func_end sub_80A6178 - - thumb_func_start sub_80A61A8 -sub_80A61A8: @ 80A61A8 - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A61C2 - ldr r0, _080A61C8 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A61CC @ =gUnknown_02038563 - strb r0, [r1] -_080A61C2: - pop {r0} - bx r0 - .align 2, 0 -_080A61C8: .4byte sub_80A50C8 -_080A61CC: .4byte gUnknown_02038563 - thumb_func_end sub_80A61A8 - - thumb_func_start sub_80A61D0 -sub_80A61D0: @ 80A61D0 - push {lr} - ldr r0, _080A61E4 @ =gUnknown_03000701 - movs r1, 0x2 - strb r1, [r0] - ldr r0, _080A61E8 @ =sub_80A61A8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A61E4: .4byte gUnknown_03000701 -_080A61E8: .4byte sub_80A61A8 - thumb_func_end sub_80A61D0 - - thumb_func_start sub_80A61EC -sub_80A61EC: @ 80A61EC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A620C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6210 @ =sub_808A3F8 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A620C: .4byte gTasks -_080A6210: .4byte sub_808A3F8 - thumb_func_end sub_80A61EC - - thumb_func_start sub_80A6214 -sub_80A6214: @ 80A6214 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080A6244 @ =gUnknown_02038559 - ldrb r0, [r0] - adds r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _080A6248 @ =gScriptItemId - ldrh r0, [r4] - bl sub_80F931C - lsls r0, 24 - cmp r0, 0 - bne _080A6254 - bl sub_80A73FC - bl sub_80A7590 - ldr r1, _080A624C @ =gOtherText_CantWriteMail - ldr r2, _080A6250 @ =sub_80A6024 - adds r0, r5, 0 - b _080A6280 - .align 2, 0 -_080A6244: .4byte gUnknown_02038559 -_080A6248: .4byte gScriptItemId -_080A624C: .4byte gOtherText_CantWriteMail -_080A6250: .4byte sub_80A6024 -_080A6254: - ldrh r0, [r4] - bl sub_80F92F4 - lsls r0, 24 - cmp r0, 0 - bne _080A6298 - bl sub_80A73FC - ldrh r0, [r4] - ldr r1, _080A6288 @ =gStringVar1 - bl CopyItemName - ldr r4, _080A628C @ =gStringVar4 - ldr r1, _080A6290 @ =gOtherText_CantBeHeldHere - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80A7590 - ldr r2, _080A6294 @ =sub_80A6024 - adds r0, r5, 0 - adds r1, r4, 0 -_080A6280: - movs r3, 0x1 - bl DisplayCannotUseItemMessage - b _080A62D2 - .align 2, 0 -_080A6288: .4byte gStringVar1 -_080A628C: .4byte gStringVar4 -_080A6290: .4byte gOtherText_CantBeHeldHere -_080A6294: .4byte sub_80A6024 -_080A6298: - cmp r6, 0x5 - beq _080A62CC - ldrh r0, [r4] - bl ItemId_GetImportance - lsls r0, 24 - cmp r0, 0 - bne _080A62CC - ldr r1, _080A62C4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r2, _080A62C8 @ =sub_808A3F8 - lsrs r1, r2, 16 - strh r1, [r0, 0x18] - strh r2, [r0, 0x1A] - adds r0, r5, 0 - bl sub_80A5AAC - b _080A62D2 - .align 2, 0 -_080A62C4: .4byte gTasks -_080A62C8: .4byte sub_808A3F8 -_080A62CC: - adds r0, r5, 0 - bl DisplayCannotBeHeldMessage -_080A62D2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A6214 - - thumb_func_start sub_80A62D8 -sub_80A62D8: @ 80A62D8 - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A62F2 - ldr r0, _080A62F8 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A62FC @ =gUnknown_02038563 - strb r0, [r1] -_080A62F2: - pop {r0} - bx r0 - .align 2, 0 -_080A62F8: .4byte sub_80A50C8 -_080A62FC: .4byte gUnknown_02038563 - thumb_func_end sub_80A62D8 - - thumb_func_start sub_80A6300 -sub_80A6300: @ 80A6300 - push {lr} - ldr r0, _080A6314 @ =gUnknown_03000701 - movs r1, 0x3 - strb r1, [r0] - ldr r0, _080A6318 @ =sub_80A62D8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A6314: .4byte gUnknown_03000701 -_080A6318: .4byte sub_80A62D8 - thumb_func_end sub_80A6300 - - thumb_func_start sub_80A631C -sub_80A631C: @ 80A631C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6344 @ =gFieldCallback - ldr r1, _080A6348 @ =sub_80B3050 - str r1, [r2] - ldr r2, _080A634C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6350 @ =c2_exit_to_overworld_2_switch - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A6344: .4byte gFieldCallback -_080A6348: .4byte sub_80B3050 -_080A634C: .4byte gTasks -_080A6350: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_80A631C - - thumb_func_start sub_80A6354 -sub_80A6354: @ 80A6354 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80A7590 - ldr r0, _080A63C4 @ =gTasks - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r0 - ldr r4, _080A63C8 @ =gUnknown_03005D10 - ldr r3, _080A63CC @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r2, 0x1C] - movs r0, 0 - ldrsb r0, [r3, r0] - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - ldr r4, _080A63D0 @ =gScriptItemId - ldrh r0, [r4] - ldr r1, _080A63D4 @ =gStringVar2 - bl CopyItemName - ldrh r0, [r4] - bl ItemId_GetPrice - lsls r0, 16 - cmp r0, 0 - bne _080A63E4 - ldr r4, _080A63D8 @ =gStringVar4 - ldr r1, _080A63DC @ =gOtherText_CantBuyThat - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A63E0 @ =sub_80A6444 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - b _080A63FA - .align 2, 0 -_080A63C4: .4byte gTasks -_080A63C8: .4byte gUnknown_03005D10 -_080A63CC: .4byte gUnknown_02038559 -_080A63D0: .4byte gScriptItemId -_080A63D4: .4byte gStringVar2 -_080A63D8: .4byte gStringVar4 -_080A63DC: .4byte gOtherText_CantBuyThat -_080A63E0: .4byte sub_80A6444 -_080A63E4: - ldr r4, _080A6400 @ =gStringVar4 - ldr r1, _080A6404 @ =gOtherText_HowManyToSell - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6408 @ =sub_80A648C - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage -_080A63FA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6400: .4byte gStringVar4 -_080A6404: .4byte gOtherText_HowManyToSell -_080A6408: .4byte sub_80A648C - thumb_func_end sub_80A6354 - - thumb_func_start sub_80A640C -sub_80A640C: @ 80A640C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A6440 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6440: .4byte gTasks - thumb_func_end sub_80A640C - - thumb_func_start sub_80A6444 -sub_80A6444: @ 80A6444 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A6480 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x1F - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl sub_80A36B8 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080A6484 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6488 @ =sub_80A640C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6480: .4byte gBGTilemapBuffers + 0x800 -_080A6484: .4byte gTasks -_080A6488: .4byte sub_80A640C - thumb_func_end sub_80A6444 - - thumb_func_start sub_80A648C -sub_80A648C: @ 80A648C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A64E8 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldr r0, _080A64EC @ =Task_BuyHowManyDialogueHandleInput - str r0, [r4] - ldr r0, _080A64F0 @ =gBGTilemapBuffers + 0x800 - movs r5, 0x2 - str r5, [sp] - movs r1, 0x1 - movs r2, 0xB - movs r3, 0xC - bl sub_80A4008 - movs r0, 0 - movs r1, 0xA - movs r2, 0xD - movs r3, 0xD - bl MenuDrawTextWindow - movs r0, 0x1 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - movs r0, 0xB - strh r0, [r4, 0xE] - ldr r0, _080A64F4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080A64F8 - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xB - bl sub_80A418C - b _080A6506 - .align 2, 0 -_080A64E8: .4byte gTasks -_080A64EC: .4byte Task_BuyHowManyDialogueHandleInput -_080A64F0: .4byte gBGTilemapBuffers + 0x800 -_080A64F4: .4byte gUnknown_02038559 -_080A64F8: - str r5, [sp] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xB - bl sub_80A418C -_080A6506: - ldr r0, _080A651C @ =gScriptItemId - ldrh r0, [r0] - movs r1, 0x1 - bl BuyMenuDisplayMessage - bl sub_80A683C - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A651C: .4byte gScriptItemId - thumb_func_end sub_80A648C - - thumb_func_start sub_80A6520 -sub_80A6520: @ 80A6520 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A6544 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A653E - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl BuyMenuPrintItemQuantityAndPrice -_080A653E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6544: .4byte gMain - thumb_func_end sub_80A6520 - - thumb_func_start sub_80A6548 -sub_80A6548: @ 80A6548 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80A48F8 - ldr r1, _080A656C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A6570 @ =sub_80A6520 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A656C: .4byte gTasks -_080A6570: .4byte sub_80A6520 - thumb_func_end sub_80A6548 - - thumb_func_start sub_80A6574 -sub_80A6574: @ 80A6574 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x5F - bl PlaySE - ldr r0, _080A65A0 @ =gScriptItemId - ldrh r0, [r0] - ldr r1, _080A65A4 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r1 - ldrb r1, [r4, 0xA] - bl sub_80A6870 - ldr r0, _080A65A8 @ =sub_80A6548 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A65A0: .4byte gScriptItemId -_080A65A4: .4byte gTasks -_080A65A8: .4byte sub_80A6548 - thumb_func_end sub_80A6574 - - thumb_func_start sub_80A65AC -sub_80A65AC: @ 80A65AC - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xC - bl MenuZeroFillWindowRect - ldr r0, _080A6600 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x6 - str r1, [sp] - movs r1, 0x7 - movs r2, 0x6 - movs r3, 0x6 - bl sub_80A36B8 - ldr r0, _080A6604 @ =gScriptItemId - ldrh r0, [r0] - ldr r1, _080A6608 @ =gStringVar2 - bl CopyItemName - ldr r4, _080A660C @ =gStringVar4 - ldr r1, _080A6610 @ =gOtherText_SoldItem - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6614 @ =sub_80A6574 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - adds r0, r5, 0 - bl sub_80A3D5C - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6600: .4byte gBGTilemapBuffers + 0x800 -_080A6604: .4byte gScriptItemId -_080A6608: .4byte gStringVar2 -_080A660C: .4byte gStringVar4 -_080A6610: .4byte gOtherText_SoldItem -_080A6614: .4byte sub_80A6574 - thumb_func_end sub_80A65AC - - thumb_func_start sub_80A6618 -sub_80A6618: @ 80A6618 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xC - bl MenuZeroFillWindowRect - ldr r0, _080A664C @ =gBGTilemapBuffers + 0x800 - movs r1, 0x6 - str r1, [sp] - movs r1, 0x7 - movs r2, 0x6 - movs r3, 0x6 - bl sub_80A36B8 - adds r0, r4, 0 - bl BuyMenuPrintItemQuantityAndPrice - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A664C: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A6618 - - thumb_func_start sub_80A6650 -sub_80A6650: @ 80A6650 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80A5D78 - ldr r1, _080A666C @ =gUnknown_083C16FC - adds r0, r4, 0 - bl DoYesNoFuncWithChoice - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A666C: .4byte gUnknown_083C16FC - thumb_func_end sub_80A6650 - - thumb_func_start Task_BuyHowManyDialogueHandleInput -Task_BuyHowManyDialogueHandleInput: @ 80A6670 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - adds r0, r5, 0 - bl sub_80A5350 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A66B4 - movs r0, 0x6 - movs r1, 0xB - movs r2, 0xC - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r0, _080A66AC @ =gScriptItemId - ldrh r0, [r0] - ldr r2, _080A66B0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - ldrh r1, [r1, 0xA] - bl BuyMenuDisplayMessage - b _080A6758 - .align 2, 0 -_080A66AC: .4byte gScriptItemId -_080A66B0: .4byte gTasks -_080A66B4: - ldr r0, _080A6724 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080A6744 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0xA - movs r2, 0xD - movs r3, 0xD - bl MenuZeroFillWindowRect - ldr r0, _080A6728 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x3 - str r1, [sp] - movs r1, 0 - movs r2, 0xA - movs r3, 0xD - bl sub_80A36B8 - ldr r4, _080A672C @ =gStringVar1 - ldr r0, _080A6730 @ =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetPrice - lsls r0, 16 - lsrs r0, 17 - ldr r2, _080A6734 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - movs r2, 0xA - ldrsh r1, [r1, r2] - muls r1, r0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _080A6738 @ =gStringVar4 - ldr r1, _080A673C @ =gOtherText_CanPay - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _080A6740 @ =sub_80A6650 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0x1 - bl DisplayCannotUseItemMessage - b _080A6758 - .align 2, 0 -_080A6724: .4byte gMain -_080A6728: .4byte gBGTilemapBuffers + 0x800 -_080A672C: .4byte gStringVar1 -_080A6730: .4byte gScriptItemId -_080A6734: .4byte gTasks -_080A6738: .4byte gStringVar4 -_080A673C: .4byte gOtherText_CanPay -_080A6740: .4byte sub_80A6650 -_080A6744: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A6758 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl BuyMenuPrintItemQuantityAndPrice -_080A6758: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end Task_BuyHowManyDialogueHandleInput - - thumb_func_start sub_80A6760 -sub_80A6760: @ 80A6760 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A6794 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6794: .4byte gTasks - thumb_func_end sub_80A6760 - - thumb_func_start BuyMenuPrintItemQuantityAndPrice -BuyMenuPrintItemQuantityAndPrice: @ 80A6798 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A67E8 @ =gBGTilemapBuffers + 0x800 - movs r1, 0x1F - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x1F - bl sub_80A36B8 - movs r0, 0 - movs r1, 0 - bl RemoveMoneyLabelObject - movs r0, 0 - movs r1, 0x4 - movs r2, 0xD - movs r3, 0xD - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _080A67EC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A67F0 @ =sub_80A6760 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A67E8: .4byte gBGTilemapBuffers + 0x800 -_080A67EC: .4byte gTasks -_080A67F0: .4byte sub_80A6760 - thumb_func_end BuyMenuPrintItemQuantityAndPrice - - thumb_func_start BuyMenuDisplayMessage -BuyMenuDisplayMessage: @ 80A67F4 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - bl ItemId_GetPrice - lsls r0, 16 - lsrs r0, 17 - muls r0, r5 - movs r1, 0x6 - movs r2, 0x6 - movs r3, 0xB - bl sub_80B7A94 - ldr r6, _080A6838 @ =gStringVar1 - adds r0, r4, 0 - bl ItemId_GetPrice - lsls r0, 16 - lsrs r0, 17 - adds r1, r0, 0 - muls r1, r5 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6838: .4byte gStringVar1 - thumb_func_end BuyMenuDisplayMessage - - thumb_func_start sub_80A683C -sub_80A683C: @ 80A683C - push {lr} - sub sp, 0x4 - ldr r0, _080A6868 @ =gSaveBlock1 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80B7C14 - ldr r0, _080A686C @ =gBGTilemapBuffers + 0x800 - movs r1, 0x2 - str r1, [sp] - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0xC - bl sub_80A4008 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080A6868: .4byte gSaveBlock1 -_080A686C: .4byte gBGTilemapBuffers + 0x800 - thumb_func_end sub_80A683C - - thumb_func_start sub_80A6870 -sub_80A6870: @ 80A6870 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _080A68A0 @ =gSaveBlock1 + 0x490 - bl ItemId_GetPrice - lsls r0, 16 - lsrs r0, 17 - adds r1, r0, 0 - muls r1, r4 - adds r0, r5, 0 - bl sub_80B79B8 - ldr r0, [r5] - movs r1, 0 - movs r2, 0 - bl sub_80B7BEC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A68A0: .4byte gSaveBlock1 + 0x490 - thumb_func_end sub_80A6870 - - thumb_func_start sub_80A68A4 -sub_80A68A4: @ 80A68A4 - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A68BE - ldr r0, _080A68C4 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A68C8 @ =gUnknown_02038563 - strb r0, [r1] -_080A68BE: - pop {r0} - bx r0 - .align 2, 0 -_080A68C4: .4byte sub_80A50C8 -_080A68C8: .4byte gUnknown_02038563 - thumb_func_end sub_80A68A4 - - thumb_func_start sub_80A68CC -sub_80A68CC: @ 80A68CC - push {lr} - ldr r1, _080A68E4 @ =gUnknown_02038559 - movs r0, 0x3 - strb r0, [r1] - ldr r1, _080A68E8 @ =gUnknown_03000701 - movs r0, 0x4 - strb r0, [r1] - ldr r0, _080A68EC @ =sub_80A68A4 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A68E4: .4byte gUnknown_02038559 -_080A68E8: .4byte gUnknown_03000701 -_080A68EC: .4byte sub_80A68A4 - thumb_func_end sub_80A68CC - - thumb_func_start sub_80A68F0 -sub_80A68F0: @ 80A68F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6910 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6914 @ =sub_80546B8 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A6910: .4byte gTasks -_080A6914: .4byte sub_80546B8 - thumb_func_end sub_80A68F0 - - thumb_func_start sub_80A6918 -sub_80A6918: @ 80A6918 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6938 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A693C @ =sub_80546B8 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AAC - pop {r0} - bx r0 - .align 2, 0 -_080A6938: .4byte gTasks -_080A693C: .4byte sub_80546B8 - thumb_func_end sub_80A6918 - - thumb_func_start sub_80A6940 -sub_80A6940: @ 80A6940 - push {lr} -_080A6942: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6968 - ldr r0, _080A6960 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A6964 @ =gUnknown_02038563 - strb r0, [r1] - bl sub_80A699C - b _080A6974 - .align 2, 0 -_080A6960: .4byte sub_80A50C8 -_080A6964: .4byte gUnknown_02038563 -_080A6968: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6942 -_080A6974: - pop {r0} - bx r0 - thumb_func_end sub_80A6940 - - thumb_func_start sub_80A6978 -sub_80A6978: @ 80A6978 - push {lr} - ldr r1, _080A6990 @ =gUnknown_02038559 - movs r0, 0x3 - strb r0, [r1] - ldr r1, _080A6994 @ =gUnknown_03000701 - movs r0, 0x5 - strb r0, [r1] - ldr r0, _080A6998 @ =sub_80A6940 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A6990: .4byte gUnknown_02038559 -_080A6994: .4byte gUnknown_03000701 -_080A6998: .4byte sub_80A6940 - thumb_func_end sub_80A6978 - - thumb_func_start sub_80A699C -sub_80A699C: @ 80A699C - ldr r1, _080A69AC @ =gUnknown_03000704 - ldr r0, _080A69B0 @ =gUnknown_083C16B8 - str r0, [r1] - ldr r1, _080A69B4 @ =gUnknown_02038564 - movs r0, 0x4 - strb r0, [r1] - bx lr - .align 2, 0 -_080A69AC: .4byte gUnknown_03000704 -_080A69B0: .4byte gUnknown_083C16B8 -_080A69B4: .4byte gUnknown_02038564 - thumb_func_end sub_80A699C - - thumb_func_start sub_80A69B8 -sub_80A69B8: @ 80A69B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A69D8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A69DC @ =sub_804E990 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A69D8: .4byte gTasks -_080A69DC: .4byte sub_804E990 - thumb_func_end sub_80A69B8 - - thumb_func_start sub_80A69E0 -sub_80A69E0: @ 80A69E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6A00 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6A04 @ =sub_804E990 - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AAC - pop {r0} - bx r0 - .align 2, 0 -_080A6A00: .4byte gTasks -_080A6A04: .4byte sub_804E990 - thumb_func_end sub_80A69E0 - - thumb_func_start sub_80A6A08 -sub_80A6A08: @ 80A6A08 - push {lr} - bl sub_80A34B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6A22 - ldr r0, _080A6A28 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A6A2C @ =gUnknown_02038563 - strb r0, [r1] -_080A6A22: - pop {r0} - bx r0 - .align 2, 0 -_080A6A28: .4byte sub_80A50C8 -_080A6A2C: .4byte gUnknown_02038563 - thumb_func_end sub_80A6A08 - - thumb_func_start sub_80A6A30 -sub_80A6A30: @ 80A6A30 - push {lr} - ldr r0, _080A6A44 @ =gUnknown_03000701 - movs r1, 0x6 - strb r1, [r0] - ldr r0, _080A6A48 @ =sub_80A6A08 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A6A44: .4byte gUnknown_03000701 -_080A6A48: .4byte sub_80A6A08 - thumb_func_end sub_80A6A30 - - thumb_func_start sub_80A6A4C -sub_80A6A4C: @ 80A6A4C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6A74 @ =gFieldCallback - ldr r1, _080A6A78 @ =ItemStorage_ReturnToMenuAfterDeposit - str r1, [r2] - ldr r2, _080A6A7C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r3, _080A6A80 @ =c2_exit_to_overworld_2_switch - lsrs r2, r3, 16 - strh r2, [r1, 0x18] - strh r3, [r1, 0x1A] - bl sub_80A5AE4 - pop {r0} - bx r0 - .align 2, 0 -_080A6A74: .4byte gFieldCallback -_080A6A78: .4byte ItemStorage_ReturnToMenuAfterDeposit -_080A6A7C: .4byte gTasks -_080A6A80: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_80A6A4C - - thumb_func_start sub_80A6A84 -sub_80A6A84: @ 80A6A84 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r6, _080A6AE8 @ =gTasks + 0x8 - adds r0, r4, r6 - mov r8, r0 - ldr r0, _080A6AEC @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r0, _080A6AF0 @ =gScriptItemId - ldrh r0, [r0] - ldr r1, _080A6AF4 @ =gStringVar1 - bl CopyItemName - ldr r0, _080A6AF8 @ =gStringVar2 - mov r2, r8 - movs r3, 0x2 - ldrsh r1, [r2, r3] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xB - movs r3, 0xD - bl MenuZeroFillWindowRect - movs r0, 0x7 - bl sub_80A7528 - adds r0, r5, 0 - bl sub_80A3D5C - subs r6, 0x8 - adds r4, r6 - ldr r0, _080A6AFC @ =sub_80A5E1C - str r0, [r4] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6AE8: .4byte gTasks + 0x8 -_080A6AEC: .4byte gBGTilemapBuffers + 0x800 -_080A6AF0: .4byte gScriptItemId -_080A6AF4: .4byte gStringVar1 -_080A6AF8: .4byte gStringVar2 -_080A6AFC: .4byte sub_80A5E1C - thumb_func_end sub_80A6A84 - - thumb_func_start sub_80A6B00 -sub_80A6B00: @ 80A6B00 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A6B54 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A6B1A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A6B4C -_080A6B1A: - ldr r1, _080A6B58 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r1, _080A6B5C @ =gUnknown_03005D10 - ldr r0, _080A6B60 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A5D38 -_080A6B4C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A6B54: .4byte gMain -_080A6B58: .4byte gTasks -_080A6B5C: .4byte gUnknown_03005D10 -_080A6B60: .4byte gUnknown_02038559 - thumb_func_end sub_80A6B00 - - thumb_func_start sub_80A6B64 -sub_80A6B64: @ 80A6B64 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r5, r0, 3 - ldr r6, _080A6B9C @ =gTasks + 0x8 - adds r7, r5, r6 - ldr r0, _080A6BA0 @ =gScriptItemId - mov r8, r0 - ldrh r0, [r0] - bl ItemId_GetImportance - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080A6BA8 - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _080A6BA4 @ =sub_80A6B00 - str r1, [r0] - movs r0, 0x9 - bl sub_80A7528 - b _080A6BD2 - .align 2, 0 -_080A6B9C: .4byte gTasks + 0x8 -_080A6BA0: .4byte gScriptItemId -_080A6BA4: .4byte sub_80A6B00 -_080A6BA8: - mov r1, r8 - ldrh r0, [r1] - ldrh r1, [r7, 0x2] - bl AddPCItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6BC2 - adds r0, r4, 0 - bl sub_80A6A84 - b _080A6BD2 -_080A6BC2: - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _080A6BDC @ =sub_80A6B00 - str r1, [r0] - movs r0, 0x8 - bl sub_80A7528 -_080A6BD2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A6BDC: .4byte sub_80A6B00 - thumb_func_end sub_80A6B64 - - thumb_func_start sub_80A6BE0 -sub_80A6BE0: @ 80A6BE0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - adds r0, r4, 0 - bl sub_80A5350 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A6C58 - ldr r0, _080A6C18 @ =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - ands r2, r1 - cmp r2, 0 - beq _080A6C20 - movs r0, 0x5 - bl PlaySE - ldr r0, _080A6C1C @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - adds r0, r4, 0 - bl sub_80A6B64 - b _080A6C58 - .align 2, 0 -_080A6C18: .4byte gMain -_080A6C1C: .4byte gBGTilemapBuffers + 0x800 -_080A6C20: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A6C58 - ldr r1, _080A6C60 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r1, _080A6C64 @ =gUnknown_03005D10 - ldr r0, _080A6C68 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_80A5D38 -_080A6C58: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6C60: .4byte gTasks -_080A6C64: .4byte gUnknown_03005D10 -_080A6C68: .4byte gUnknown_02038559 - thumb_func_end sub_80A6BE0 - - thumb_func_start sub_80A6C6C -sub_80A6C6C: @ 80A6C6C - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080A6CE4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldr r2, _080A6CE8 @ =gUnknown_03005D10 - ldr r6, _080A6CEC @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r5, 0x1C] - movs r0, 0 - ldrsb r0, [r6, r0] - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - movs r0, 0x5 - bl PlaySE - bl sub_80A7590 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r0, 0x4 - beq _080A6D0A - ldr r0, _080A6CF0 @ =sub_80A6BE0 - str r0, [r5] - movs r0, 0x6 - bl sub_80A7528 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r0, 0x3 - bne _080A6CF4 - movs r0, 0x3 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x6 - movs r2, 0x9 - movs r3, 0x7 - bl sub_80A4DD8 - b _080A6D14 - .align 2, 0 -_080A6CE4: .4byte gTasks -_080A6CE8: .4byte gUnknown_03005D10 -_080A6CEC: .4byte gUnknown_02038559 -_080A6CF0: .4byte sub_80A6BE0 -_080A6CF4: - movs r0, 0x3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x7 - movs r2, 0x9 - movs r3, 0x6 - bl sub_80A4DD8 - b _080A6D14 -_080A6D0A: - movs r0, 0x1 - strh r0, [r5, 0xA] - adds r0, r4, 0 - bl sub_80A6B64 -_080A6D14: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A6C6C - - thumb_func_start sub_80A6D1C -sub_80A6D1C: @ 80A6D1C - push {r4,r5,lr} - bl HideMapNamePopup - ldr r0, _080A6D70 @ =gSaveBlock1 - ldr r1, _080A6D74 @ =0x00000496 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0 - beq _080A6D84 - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bne _080A6D80 - bl ScriptContext2_Enable - bl FreezeMapObjects - bl sub_80594C0 - bl sub_80597F4 - ldr r1, _080A6D78 @ =gScriptItemId - ldrh r0, [r4] - strh r0, [r1] - ldrh r0, [r4] - bl ItemId_GetFieldFunc - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A6D7C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0xC] - b _080A6D8A - .align 2, 0 -_080A6D70: .4byte gSaveBlock1 -_080A6D74: .4byte 0x00000496 -_080A6D78: .4byte gScriptItemId -_080A6D7C: .4byte gTasks -_080A6D80: - movs r0, 0 - strh r0, [r4] -_080A6D84: - ldr r0, _080A6D94 @ =Event_NoRegisteredItem - bl ScriptContext1_SetupScript -_080A6D8A: - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080A6D94: .4byte Event_NoRegisteredItem - thumb_func_end sub_80A6D1C - - thumb_func_start sub_80A6D98 -sub_80A6D98: @ 80A6D98 - push {lr} -_080A6D9A: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6DBC - ldr r0, _080A6DB4 @ =sub_80A50C8 - movs r1, 0 - bl CreateTask - ldr r1, _080A6DB8 @ =gUnknown_02038563 - strb r0, [r1] - b _080A6DC8 - .align 2, 0 -_080A6DB4: .4byte sub_80A50C8 -_080A6DB8: .4byte gUnknown_02038563 -_080A6DBC: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A6D9A -_080A6DC8: - pop {r0} - bx r0 - thumb_func_end sub_80A6D98 - - thumb_func_start sub_80A6DCC -sub_80A6DCC: @ 80A6DCC - push {lr} - ldr r1, _080A6DE4 @ =gUnknown_03000700 - movs r0, 0 - strb r0, [r1] - ldr r1, _080A6DE8 @ =gUnknown_03000701 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080A6DEC @ =sub_80A6D98 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080A6DE4: .4byte gUnknown_03000700 -_080A6DE8: .4byte gUnknown_03000701 -_080A6DEC: .4byte sub_80A6D98 - thumb_func_end sub_80A6DCC - - thumb_func_start sub_80A6DF0 -sub_80A6DF0: @ 80A6DF0 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - ldr r4, _080A6E4C @ =gUnknown_02038564 - ldrb r0, [r4] - subs r0, 0x1 - lsls r0, 25 - lsrs r6, r0, 24 - movs r1, 0x9 - subs r1, r6 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x7 - movs r2, 0xD - movs r3, 0xC - bl MenuDrawTextWindow - movs r2, 0xA - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - adds r0, r6, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x8 - movs r3, 0x5 - bl sub_80A4008 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A6E58 - ldr r1, _080A6E50 @ =gUnknown_083C1640 - ldr r0, _080A6E54 @ =gUnknown_03000704 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x8 - movs r2, 0xA - bl MenuPrint - b _080A6E80 - .align 2, 0 -_080A6E4C: .4byte gUnknown_02038564 -_080A6E50: .4byte gUnknown_083C1640 -_080A6E54: .4byte gUnknown_03000704 -_080A6E58: - ldr r5, _080A6EAC @ =gUnknown_083C1640 - ldr r4, _080A6EB0 @ =gUnknown_03000704 - ldr r0, [r4] - ldrb r0, [r0] - lsls r0, 3 - adds r0, r5 - ldr r0, [r0] - movs r1, 0x8 - movs r2, 0x8 - bl MenuPrint - ldr r0, [r4] - ldrb r0, [r0, 0x1] - lsls r0, 3 - adds r0, r5 - ldr r0, [r0] - movs r1, 0x8 - movs r2, 0xA - bl MenuPrint -_080A6E80: - movs r2, 0xA - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _080A6EB4 @ =gUnknown_02038564 - ldrb r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x8 - bl InitMenu - movs r0, 0x2 - bl sub_80A7528 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A6EAC: .4byte gUnknown_083C1640 -_080A6EB0: .4byte gUnknown_03000704 -_080A6EB4: .4byte gUnknown_02038564 - thumb_func_end sub_80A6DF0 - - thumb_func_start sub_80A6EB8 -sub_80A6EB8: @ 80A6EB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r2, _080A6EE0 @ =gMain - ldrh r0, [r2, 0x30] - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0x40 - bne _080A6EE8 - ldr r4, _080A6EE4 @ =gUnknown_03000700 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A6FC0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080A6F02 - .align 2, 0 -_080A6EE0: .4byte gMain -_080A6EE4: .4byte gUnknown_03000700 -_080A6EE8: - cmp r1, 0x80 - bne _080A6F14 - ldr r4, _080A6F0C @ =gUnknown_03000700 - ldrb r0, [r4] - adds r0, 0x1 - ldr r1, _080A6F10 @ =gUnknown_02038564 - ldrb r1, [r1] - cmp r0, r1 - bge _080A6FC0 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080A6F02: - bl MoveMenuCursor - strb r0, [r4] - b _080A6FC0 - .align 2, 0 -_080A6F0C: .4byte gUnknown_03000700 -_080A6F10: .4byte gUnknown_02038564 -_080A6F14: - ldrh r1, [r2, 0x2E] - movs r2, 0x1 - ands r2, r1 - cmp r2, 0 - beq _080A6F84 - ldr r1, _080A6F68 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x1C] - ldr r1, _080A6F6C @ =gUnknown_03005D10 - ldr r0, _080A6F70 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r4, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A6F74 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r1, _080A6F78 @ =gUnknown_083C1640 - ldr r0, _080A6F7C @ =gUnknown_03000700 - ldrb r2, [r0] - ldr r0, _080A6F80 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - b _080A6FC0 - .align 2, 0 -_080A6F68: .4byte gTasks -_080A6F6C: .4byte gUnknown_03005D10 -_080A6F70: .4byte gUnknown_02038559 -_080A6F74: .4byte gBGTilemapBuffers + 0x800 -_080A6F78: .4byte gUnknown_083C1640 -_080A6F7C: .4byte gUnknown_03000700 -_080A6F80: .4byte gUnknown_03000704 -_080A6F84: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080A6FC0 - ldr r1, _080A6FC8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - strh r2, [r0, 0x1C] - ldr r1, _080A6FCC @ =gUnknown_03005D10 - ldr r0, _080A6FD0 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - ldr r0, _080A6FD4 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r0, _080A6FD8 @ =gUnknown_083C1640 - ldr r1, [r0, 0x2C] - adds r0, r5, 0 - bl _call_via_r1 -_080A6FC0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A6FC8: .4byte gTasks -_080A6FCC: .4byte gUnknown_03005D10 -_080A6FD0: .4byte gUnknown_02038559 -_080A6FD4: .4byte gBGTilemapBuffers + 0x800 -_080A6FD8: .4byte gUnknown_083C1640 - thumb_func_end sub_80A6EB8 - - thumb_func_start sub_80A6FDC -sub_80A6FDC: @ 80A6FDC - push {lr} - ldr r0, _080A6FF8 @ =gScriptItemId - ldrh r0, [r0] - bl ItemId_GetBattleUsage - lsls r0, 24 - cmp r0, 0 - beq _080A7008 - ldr r1, _080A6FFC @ =gUnknown_03000704 - ldr r0, _080A7000 @ =gUnknown_083C1708 - str r0, [r1] - ldr r1, _080A7004 @ =gUnknown_02038564 - movs r0, 0x2 - b _080A7012 - .align 2, 0 -_080A6FF8: .4byte gScriptItemId -_080A6FFC: .4byte gUnknown_03000704 -_080A7000: .4byte gUnknown_083C1708 -_080A7004: .4byte gUnknown_02038564 -_080A7008: - ldr r1, _080A7018 @ =gUnknown_03000704 - ldr r0, _080A701C @ =gUnknown_083C170A - str r0, [r1] - ldr r1, _080A7020 @ =gUnknown_02038564 - movs r0, 0x1 -_080A7012: - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080A7018: .4byte gUnknown_03000704 -_080A701C: .4byte gUnknown_083C170A -_080A7020: .4byte gUnknown_02038564 - thumb_func_end sub_80A6FDC - - thumb_func_start sub_80A7024 -sub_80A7024: @ 80A7024 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080A707C @ =gUnknown_03000700 - movs r0, 0 - strb r0, [r1] - bl sub_80A6FDC - ldr r0, _080A7080 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldr r3, _080A7084 @ =gUnknown_03005D10 - ldr r2, _080A7088 @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r4, 0x1C] - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - ldr r0, _080A708C @ =gBGTilemapBuffers + 0x800 - bl sub_80A6DF0 - ldr r0, _080A7090 @ =sub_80A6EB8 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A707C: .4byte gUnknown_03000700 -_080A7080: .4byte gTasks -_080A7084: .4byte gUnknown_03005D10 -_080A7088: .4byte gUnknown_02038559 -_080A708C: .4byte gBGTilemapBuffers + 0x800 -_080A7090: .4byte sub_80A6EB8 - thumb_func_end sub_80A7024 - - thumb_func_start sub_80A7094 -sub_80A7094: @ 80A7094 - push {lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A70CC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A70D0 @ =sub_802E424 - lsrs r0, r2, 16 - movs r3, 0 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - ldr r0, _080A70D4 @ =HandleItemMenuPaletteFade - str r0, [r1] - movs r0, 0x1 - negs r0, r0 - str r3, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080A70CC: .4byte gTasks -_080A70D0: .4byte sub_802E424 -_080A70D4: .4byte HandleItemMenuPaletteFade - thumb_func_end sub_80A7094 - - thumb_func_start sub_80A70D8 -sub_80A70D8: @ 80A70D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_80A7094 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A70D8 - - thumb_func_start ItemMenu_UseInBattle -ItemMenu_UseInBattle: @ 80A70F4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080A7120 @ =gScriptItemId - ldrh r0, [r4] - bl ItemId_GetBattleFunc - cmp r0, 0 - beq _080A711A - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - bl ItemId_GetBattleFunc - adds r1, r0, 0 - adds r0, r5, 0 - bl _call_via_r1 -_080A711A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7120: .4byte gScriptItemId - thumb_func_end ItemMenu_UseInBattle - - thumb_func_start sub_80A7124 -sub_80A7124: @ 80A7124 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80A7528 - adds r0, r4, 0 - bl sub_80A41D4 - bl ItemListMenu_InitMenu - adds r0, r4, 0 - bl sub_80A37C0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7124 - - thumb_func_start sub_80A7150 -sub_80A7150: @ 80A7150 - push {r4,r5,lr} - ldr r4, _080A7158 @ =gUnknown_02038563 - ldr r5, _080A715C @ =gTasks - b _080A716C - .align 2, 0 -_080A7158: .4byte gUnknown_02038563 -_080A715C: .4byte gTasks -_080A7160: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A7190 -_080A716C: - bl sub_80A317C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A7160 - ldr r0, _080A7198 @ =sub_80A7230 - movs r1, 0 - bl CreateTask - strb r0, [r4] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0 - strh r1, [r0, 0x26] -_080A7190: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7198: .4byte sub_80A7230 - thumb_func_end sub_80A7150 - - thumb_func_start PrepareBagForWallyTutorial -PrepareBagForWallyTutorial: @ 80A719C - push {r4,r5,lr} - ldr r0, _080A7214 @ =gUnknown_03000700 - movs r1, 0 - strb r1, [r0] - ldr r0, _080A7218 @ =gUnknown_02038559 - strb r1, [r0] - movs r1, 0 - ldr r4, _080A721C @ =0x0201e000 - ldr r5, _080A7220 @ =gSaveBlock1 + 0x560 - ldr r3, _080A7224 @ =gUnknown_03005D10 - movs r2, 0 -_080A71B2: - lsls r0, r1, 2 - adds r0, r3 - strb r2, [r0] - strb r2, [r0, 0x1] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _080A71B2 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x50 - bl memcpy - movs r1, 0x80 - lsls r1, 5 - adds r0, r4, r1 - adds r4, r5, 0 - adds r4, 0xA0 - adds r1, r4, 0 - movs r2, 0x40 - bl memcpy - adds r0, r5, 0 - movs r1, 0x14 - bl ClearItemSlots - adds r0, r4, 0 - movs r1, 0x10 - bl ClearItemSlots - movs r0, 0xD - movs r1, 0x1 - bl AddBagItem - movs r0, 0x4 - movs r1, 0x1 - bl AddBagItem - ldr r1, _080A7228 @ =gUnknown_03000701 - movs r0, 0x7 - strb r0, [r1] - ldr r0, _080A722C @ =sub_80A7150 - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7214: .4byte gUnknown_03000700 -_080A7218: .4byte gUnknown_02038559 -_080A721C: .4byte 0x0201e000 -_080A7220: .4byte gSaveBlock1 + 0x560 -_080A7224: .4byte gUnknown_03005D10 -_080A7228: .4byte gUnknown_03000701 -_080A722C: .4byte sub_80A7150 - thumb_func_end PrepareBagForWallyTutorial - - thumb_func_start sub_80A7230 -sub_80A7230: @ 80A7230 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r0, _080A725C @ =gTasks + 0x8 - mov r8, r0 - adds r7, r6, r0 - movs r0, 0x1E - ldrsh r1, [r7, r0] - cmp r1, 0xCC - beq _080A727A - cmp r1, 0xCC - bgt _080A7260 - cmp r1, 0x66 - beq _080A726A - b _080A7358 - .align 2, 0 -_080A725C: .4byte gTasks + 0x8 -_080A7260: - movs r0, 0x99 - lsls r0, 1 - cmp r1, r0 - beq _080A72F4 - b _080A7358 -_080A726A: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - movs r1, 0x2 - bl sub_80A4E8C - b _080A7358 -_080A727A: - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - bl sub_80F98A4 - movs r0, 0x3 - bl sub_80F98A4 - ldr r1, _080A72D8 @ =gScriptItemId - movs r0, 0x4 - strh r0, [r1] - ldr r1, _080A72DC @ =gUnknown_03000704 - ldr r0, _080A72E0 @ =gUnknown_083C1708 - str r0, [r1] - ldr r1, _080A72E4 @ =gUnknown_02038564 - movs r0, 0x2 - strb r0, [r1] - mov r0, r8 - adds r4, r0, r6 - ldr r3, _080A72E8 @ =gUnknown_03005D10 - ldr r2, _080A72EC @ =gUnknown_02038559 - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - adds r1, 0x1 - strh r1, [r4, 0x14] - movs r0, 0 - ldrsb r0, [r2, r0] - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0] - adds r0, r5, 0 - adds r1, r2, 0 - bl sub_80A48E8 - bl sub_80A73FC - ldr r0, _080A72F0 @ =gBGTilemapBuffers + 0x800 - bl sub_80A6DF0 - b _080A7358 - .align 2, 0 -_080A72D8: .4byte gScriptItemId -_080A72DC: .4byte gUnknown_03000704 -_080A72E0: .4byte gUnknown_083C1708 -_080A72E4: .4byte gUnknown_02038564 -_080A72E8: .4byte gUnknown_03005D10 -_080A72EC: .4byte gUnknown_02038559 -_080A72F0: .4byte gBGTilemapBuffers + 0x800 -_080A72F4: - movs r0, 0x5 - bl PlaySE - ldr r0, _080A7344 @ =gBGTilemapBuffers + 0x800 - bl sub_80A4DA4 - ldr r4, _080A7348 @ =gSaveBlock1 + 0x560 - ldr r5, _080A734C @ =0x0201e000 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x50 - bl memcpy - adds r4, 0xA0 - movs r0, 0x80 - lsls r0, 5 - adds r5, r0 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x40 - bl memcpy - ldr r1, _080A7350 @ =sub_802E424 - lsrs r0, r1, 16 - strh r0, [r7, 0x10] - strh r1, [r7, 0x12] - mov r0, r8 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _080A7354 @ =HandleItemMenuPaletteFade - str r1, [r0] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080A735E - .align 2, 0 -_080A7344: .4byte gBGTilemapBuffers + 0x800 -_080A7348: .4byte gSaveBlock1 + 0x560 -_080A734C: .4byte 0x0201e000 -_080A7350: .4byte sub_802E424 -_080A7354: .4byte HandleItemMenuPaletteFade -_080A7358: - ldrh r0, [r7, 0x1E] - adds r0, 0x1 - strh r0, [r7, 0x1E] -_080A735E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A7230 - - thumb_func_start ItemListMenu_InitMenu -ItemListMenu_InitMenu: @ 80A736C - push {lr} - sub sp, 0x8 - ldr r1, _080A73B0 @ =gUnknown_03005D10 - ldr r0, _080A73B4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r0] - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0xE - movs r2, 0x2 - bl InitMenu - ldr r1, _080A73B8 @ =0x0000ffff - ldr r3, _080A73BC @ =0x00002d9f - movs r0, 0xF - str r0, [sp] - movs r0, 0x10 - movs r2, 0xC - bl CreateBlendedOutlineCursor - bl sub_80A73C0 - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080A73B0: .4byte gUnknown_03005D10 -_080A73B4: .4byte gUnknown_02038559 -_080A73B8: .4byte 0x0000ffff -_080A73BC: .4byte 0x00002d9f - thumb_func_end ItemListMenu_InitMenu - - thumb_func_start sub_80A73C0 -sub_80A73C0: @ 80A73C0 - push {lr} - ldr r1, _080A73E8 @ =gUnknown_03005D10 - ldr r0, _080A73EC @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 28 - movs r0, 0x80 - lsls r0, 21 - adds r1, r0 - lsrs r1, 24 - movs r0, 0x70 - bl sub_814AD7C - pop {r0} - bx r0 - .align 2, 0 -_080A73E8: .4byte gUnknown_03005D10 -_080A73EC: .4byte gUnknown_02038559 - thumb_func_end sub_80A73C0 - - thumb_func_start sub_80A73F0 -sub_80A73F0: @ 80A73F0 - push {lr} - bl sub_814ADC8 - pop {r0} - bx r0 - thumb_func_end sub_80A73F0 - - thumb_func_start sub_80A73FC -sub_80A73FC: @ 80A73FC - push {lr} - bl HandleDestroyMenuCursors - bl sub_814AD44 - pop {r0} - bx r0 - thumb_func_end sub_80A73FC - - thumb_func_start sub_80A740C -sub_80A740C: @ 80A740C - push {lr} - bl sub_80A75E4 - bl sub_80A7768 - bl sub_80A7420 - pop {r0} - bx r0 - thumb_func_end sub_80A740C - - thumb_func_start sub_80A7420 -sub_80A7420: @ 80A7420 - push {r4,lr} - ldr r4, _080A7438 @ =gUnknown_0203853C - ldrb r0, [r4] - cmp r0, 0x2 - beq _080A743C - cmp r0, 0x3 - beq _080A7430 - b _080A7512 -_080A7430: - movs r0, 0x2 - strb r0, [r4] - b _080A7512 - .align 2, 0 -_080A7438: .4byte gUnknown_0203853C -_080A743C: - ldrb r0, [r4, 0x2] - cmp r0, 0x9 - bhi _080A74FC - lsls r0, 2 - ldr r1, _080A744C @ =_080A7450 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A744C: .4byte _080A7450 - .align 2, 0 -_080A7450: - .4byte _080A7478 - .4byte _080A74AC - .4byte _080A74B4 - .4byte _080A74BC - .4byte _080A74C4 - .4byte _080A74CC - .4byte _080A74D4 - .4byte _080A74DC - .4byte _080A74E4 - .4byte _080A74F4 -_080A7478: - ldr r1, _080A74A0 @ =gUnknown_03005D10 - ldr r0, _080A74A4 @ =gUnknown_02038559 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _080A74A8 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - movs r2, 0 - ldrsh r0, [r1, r2] - ldrb r1, [r4, 0x1] - bl ItemListMenu_ChangeDescription - b _080A74FC - .align 2, 0 -_080A74A0: .4byte gUnknown_03005D10 -_080A74A4: .4byte gUnknown_02038559 -_080A74A8: .4byte gUnknown_03005D24 -_080A74AC: - ldr r0, _080A74B0 @ =gOtherText_SwitchWhichItem - b _080A74E6 - .align 2, 0 -_080A74B0: .4byte gOtherText_SwitchWhichItem -_080A74B4: - ldr r0, _080A74B8 @ =gOtherText_WhatWillYouDo2 - b _080A74E6 - .align 2, 0 -_080A74B8: .4byte gOtherText_WhatWillYouDo2 -_080A74BC: - ldr r0, _080A74C0 @ =gOtherText_HowManyToToss - b _080A74E6 - .align 2, 0 -_080A74C0: .4byte gOtherText_HowManyToToss -_080A74C4: - ldr r0, _080A74C8 @ =gOtherText_ThrewAwayItem - b _080A74E6 - .align 2, 0 -_080A74C8: .4byte gOtherText_ThrewAwayItem -_080A74CC: - ldr r0, _080A74D0 @ =gOtherText_OkayToThrowAwayPrompt - b _080A74E6 - .align 2, 0 -_080A74D0: .4byte gOtherText_OkayToThrowAwayPrompt -_080A74D4: - ldr r0, _080A74D8 @ =gOtherText_HowManyToDeposit - b _080A74E6 - .align 2, 0 -_080A74D8: .4byte gOtherText_HowManyToDeposit -_080A74DC: - ldr r0, _080A74E0 @ =gOtherText_DepositedItems - b _080A74E6 - .align 2, 0 -_080A74E0: .4byte gOtherText_DepositedItems -_080A74E4: - ldr r0, _080A74F0 @ =gOtherText_NoRoomForItems -_080A74E6: - ldrb r1, [r4, 0x1] - bl sub_80A4A98 - b _080A74FC - .align 2, 0 -_080A74F0: .4byte gOtherText_NoRoomForItems -_080A74F4: - ldr r0, _080A7518 @ =gOtherText_CantStoreSomeoneItem - ldrb r1, [r4, 0x1] - bl sub_80A4A98 -_080A74FC: - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080A7512 - movs r0, 0 - strb r0, [r4] - bl sub_80A7918 -_080A7512: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7518: .4byte gOtherText_CantStoreSomeoneItem - thumb_func_end sub_80A7420 - - thumb_func_start sub_80A751C -sub_80A751C: @ 80A751C - ldr r1, _080A7524 @ =gUnknown_0203853C - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7524: .4byte gUnknown_0203853C - thumb_func_end sub_80A751C - - thumb_func_start sub_80A7528 -sub_80A7528: @ 80A7528 - push {r4,lr} - ldr r4, _080A7544 @ =gUnknown_0203853C - movs r1, 0 - strb r1, [r4, 0x1] - strb r0, [r4, 0x2] - bl sub_80A78F4 - cmp r0, 0x1 - beq _080A755E - cmp r0, 0x1 - bgt _080A7548 - cmp r0, 0 - beq _080A754E - b _080A7566 - .align 2, 0 -_080A7544: .4byte gUnknown_0203853C -_080A7548: - cmp r0, 0x2 - beq _080A7562 - b _080A7566 -_080A754E: - movs r0, 0x2 - strb r0, [r4] -_080A7552: - bl sub_80A7420 - ldrb r0, [r4] - cmp r0, 0 - bne _080A7552 - b _080A7566 -_080A755E: - movs r0, 0x3 - b _080A7564 -_080A7562: - movs r0, 0x1 -_080A7564: - strb r0, [r4] -_080A7566: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7528 - - thumb_func_start sub_80A756C -sub_80A756C: @ 80A756C - push {r4,lr} - ldr r4, _080A758C @ =gUnknown_0203853C - ldrb r0, [r4] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A7580 - bl sub_80A7918 -_080A7580: - movs r0, 0 - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A758C: .4byte gUnknown_0203853C - thumb_func_end sub_80A756C - - thumb_func_start sub_80A7590 -sub_80A7590: @ 80A7590 - push {lr} - movs r0, 0 - movs r1, 0xD - movs r2, 0xD - movs r3, 0x14 - bl MenuZeroFillWindowRect - bl sub_80A756C - pop {r0} - bx r0 - thumb_func_end sub_80A7590 - - thumb_func_start sub_80A75A8 -sub_80A75A8: @ 80A75A8 - push {lr} - ldr r1, _080A75C0 @ =gUnknown_0203853C - ldrb r0, [r1] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A75BC - movs r0, 0x1 - strb r0, [r1] -_080A75BC: - pop {r0} - bx r0 - .align 2, 0 -_080A75C0: .4byte gUnknown_0203853C - thumb_func_end sub_80A75A8 - - thumb_func_start sub_80A75C4 -sub_80A75C4: @ 80A75C4 - push {lr} - ldr r1, _080A75D8 @ =gUnknown_0203853C - ldrb r0, [r1] - cmp r0, 0 - beq _080A75DC - cmp r0, 0x1 - bne _080A75E0 - movs r0, 0x3 - strb r0, [r1] - b _080A75E0 - .align 2, 0 -_080A75D8: .4byte gUnknown_0203853C -_080A75DC: - bl sub_80A7918 -_080A75E0: - pop {r0} - bx r0 - thumb_func_end sub_80A75C4 - - thumb_func_start sub_80A75E4 -sub_80A75E4: @ 80A75E4 - push {r4,r5,lr} - ldr r4, _080A7628 @ =gUnknown_02038540 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A7622 - bl sub_80A7988 - adds r5, r0, 0 - cmp r5, 0 - bne _080A7622 - ldr r0, _080A762C @ =gUnknown_02038563 - ldrb r0, [r0] - ldrb r2, [r4, 0x1] - adds r1, r2, 0 - movs r3, 0x1 - bl sub_80A47E8 - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x2] - movs r1, 0x7 - cmp r0, 0 - beq _080A7616 - movs r1, 0x5 -_080A7616: - ldrb r0, [r4, 0x1] - cmp r1, r0 - bge _080A7622 - strb r5, [r4] - bl sub_80A78E8 -_080A7622: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7628: .4byte gUnknown_02038540 -_080A762C: .4byte gUnknown_02038563 - thumb_func_end sub_80A75E4 - - thumb_func_start sub_80A7630 -sub_80A7630: @ 80A7630 - ldr r1, _080A7638 @ =gUnknown_02038540 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7638: .4byte gUnknown_02038540 - thumb_func_end sub_80A7630 - - thumb_func_start sub_80A763C -sub_80A763C: @ 80A763C - push {r4,lr} - ldr r4, _080A7650 @ =gUnknown_02038540 - bl sub_80A78C4 - adds r1, r0, 0 - cmp r1, 0 - beq _080A7654 - cmp r1, 0x1 - beq _080A7668 - b _080A7670 - .align 2, 0 -_080A7650: .4byte gUnknown_02038540 -_080A7654: - ldr r0, _080A7664 @ =gUnknown_02038563 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0x7 - bl sub_80A48E8 - b _080A7670 - .align 2, 0 -_080A7664: .4byte gUnknown_02038563 -_080A7668: - movs r0, 0 - strb r1, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] -_080A7670: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A763C - - thumb_func_start sub_80A7678 -sub_80A7678: @ 80A7678 - push {r4,lr} - ldr r4, _080A7690 @ =gUnknown_02038540 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A7686 - bl sub_80A78E8 -_080A7686: - movs r0, 0 - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7690: .4byte gUnknown_02038540 - thumb_func_end sub_80A7678 - - thumb_func_start sub_80A7694 -sub_80A7694: @ 80A7694 - ldr r1, _080A769C @ =gUnknown_02038540 - movs r0, 0x1 - strb r0, [r1, 0x2] - bx lr - .align 2, 0 -_080A769C: .4byte gUnknown_02038540 - thumb_func_end sub_80A7694 - - thumb_func_start sub_80A76A0 -sub_80A76A0: @ 80A76A0 - push {lr} - movs r0, 0xE - movs r1, 0x2 - movs r2, 0x1D - movs r3, 0x12 - bl MenuZeroFillWindowRect - bl sub_80A7678 - pop {r0} - bx r0 - thumb_func_end sub_80A76A0 - - thumb_func_start sub_80A76B8 -sub_80A76B8: @ 80A76B8 - push {lr} - ldr r0, _080A76CC @ =gUnknown_02038540 - movs r1, 0 - ldrb r0, [r0] - cmp r0, 0 - bne _080A76C6 - movs r1, 0x1 -_080A76C6: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A76CC: .4byte gUnknown_02038540 - thumb_func_end sub_80A76B8 - - thumb_func_start sub_80A76D0 -sub_80A76D0: @ 80A76D0 - push {lr} - ldr r0, _080A76E4 @ =gUnknown_02038540 - movs r1, 0 - ldrb r0, [r0, 0x1] - cmp r0, 0x5 - bls _080A76DE - movs r1, 0x1 -_080A76DE: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A76E4: .4byte gUnknown_02038540 - thumb_func_end sub_80A76D0 - - thumb_func_start sub_80A76E8 -sub_80A76E8: @ 80A76E8 - push {r4,lr} - ldr r4, _080A7708 @ =gUnknown_02038544 - ldrb r0, [r4] - cmp r0, 0x1 - bne _080A7702 - ldrb r0, [r4, 0x1] - ldr r1, [r4, 0x4] - ldr r2, [r4, 0x8] - ldrh r3, [r4, 0x2] - bl DisplayItemMessageOnField - movs r0, 0 - strb r0, [r4] -_080A7702: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7708: .4byte gUnknown_02038544 - thumb_func_end sub_80A76E8 - - thumb_func_start sub_80A770C -sub_80A770C: @ 80A770C - ldr r1, _080A7714 @ =gUnknown_02038544 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7714: .4byte gUnknown_02038544 - thumb_func_end sub_80A770C - - thumb_func_start DisplayCannotUseItemMessage -DisplayCannotUseItemMessage: @ 80A7718 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r7, r1, 0 - mov r8, r2 - adds r6, r3, 0 - ldr r4, _080A7738 @ =gUnknown_02038544 - bl sub_80A7924 - cmp r0, 0 - beq _080A773C - cmp r0, 0x2 - beq _080A774E - b _080A775C - .align 2, 0 -_080A7738: .4byte gUnknown_02038544 -_080A773C: - lsls r0, r5, 24 - lsrs r0, 24 - lsls r3, r6, 16 - lsrs r3, 16 - adds r1, r7, 0 - mov r2, r8 - bl DisplayItemMessageOnField - b _080A775C -_080A774E: - movs r0, 0x1 - strb r0, [r4] - strb r5, [r4, 0x1] - str r7, [r4, 0x4] - mov r0, r8 - str r0, [r4, 0x8] - strh r6, [r4, 0x2] -_080A775C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end DisplayCannotUseItemMessage - - thumb_func_start sub_80A7768 -sub_80A7768: @ 80A7768 - push {r4,lr} - ldr r4, _080A77A8 @ =gUnknown_02038550 - ldrb r0, [r4] - cmp r0, 0x2 - bne _080A7814 - ldrb r1, [r4, 0x1] - cmp r1, 0 - beq _080A780E - ldrb r0, [r4, 0x2] - cmp r0, 0x1 - beq _080A77B4 - ldr r2, _080A77AC @ =gUnknown_083C1640 - ldr r0, _080A77B0 @ =gUnknown_03000704 - ldr r0, [r0] - adds r0, r1, r0 - subs r0, 0x1 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r2 - ldr r0, [r0] - subs r1, 0x1 - lsls r1, 1 - adds r1, 0x1 - ldrb r2, [r4, 0x3] - adds r2, r1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x7 - bl MenuPrint - b _080A77FC - .align 2, 0 -_080A77A8: .4byte gUnknown_02038550 -_080A77AC: .4byte gUnknown_083C1640 -_080A77B0: .4byte gUnknown_03000704 -_080A77B4: - cmp r1, 0x1 - bne _080A77C8 - ldr r0, _080A77C4 @ =gScriptItemId - ldrh r0, [r0] - bl sub_80A4B90 - adds r3, r0, 0 - b _080A77DC - .align 2, 0 -_080A77C4: .4byte gScriptItemId -_080A77C8: - ldr r2, _080A781C @ =gUnknown_083C1640 - ldrb r0, [r4, 0x1] - ldr r1, _080A7820 @ =gUnknown_03000704 - ldr r1, [r1] - adds r0, r1 - subs r0, 0x1 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r2 - ldr r3, [r0] -_080A77DC: - ldrb r2, [r4, 0x1] - subs r2, 0x1 - asrs r0, r2, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - ands r2, r0 - lsls r2, 1 - adds r2, 0x8 - adds r0, r3, 0 - bl MenuPrint -_080A77FC: - ldr r1, _080A7824 @ =gUnknown_02038564 - ldrb r0, [r4, 0x1] - ldrb r1, [r1] - cmp r0, r1 - bne _080A780E - movs r0, 0 - strb r0, [r4] - bl sub_80A7970 -_080A780E: - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] -_080A7814: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A781C: .4byte gUnknown_083C1640 -_080A7820: .4byte gUnknown_03000704 -_080A7824: .4byte gUnknown_02038564 - thumb_func_end sub_80A7768 - - thumb_func_start sub_80A7828 -sub_80A7828: @ 80A7828 - ldr r1, _080A7830 @ =gUnknown_02038550 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7830: .4byte gUnknown_02038550 - thumb_func_end sub_80A7828 - - thumb_func_start sub_80A7834 -sub_80A7834: @ 80A7834 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, _080A784C @ =gUnknown_02038550 - bl sub_80A7958 - cmp r0, 0x1 - beq _080A7850 - cmp r0, 0x2 - beq _080A7856 - b _080A7862 - .align 2, 0 -_080A784C: .4byte gUnknown_02038550 -_080A7850: - movs r1, 0 - movs r0, 0x2 - b _080A785A -_080A7856: - movs r1, 0 - movs r0, 0x1 -_080A785A: - strb r0, [r4] - strb r1, [r4, 0x1] - strb r5, [r4, 0x2] - strb r6, [r4, 0x3] -_080A7862: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80A7834 - - thumb_func_start sub_80A7868 -sub_80A7868: @ 80A7868 - push {lr} - ldr r1, _080A787C @ =gUnknown_02038550 - ldrb r0, [r1] - cmp r0, 0x2 - bne _080A7876 - movs r0, 0x1 - strb r0, [r1] -_080A7876: - pop {r0} - bx r0 - .align 2, 0 -_080A787C: .4byte gUnknown_02038550 - thumb_func_end sub_80A7868 - - thumb_func_start sub_80A7880 -sub_80A7880: @ 80A7880 - push {lr} - ldr r1, _080A7894 @ =gUnknown_02038550 - ldrb r0, [r1] - cmp r0, 0 - beq _080A7898 - cmp r0, 0x1 - bne _080A789C - movs r0, 0x2 - strb r0, [r1] - b _080A789C - .align 2, 0 -_080A7894: .4byte gUnknown_02038550 -_080A7898: - bl sub_80A7970 -_080A789C: - pop {r0} - bx r0 - thumb_func_end sub_80A7880 - - thumb_func_start sub_80A78A0 -sub_80A78A0: @ 80A78A0 - push {lr} - ldr r0, _080A78B4 @ =gUnknown_02038550 - movs r1, 0 - ldrb r0, [r0] - cmp r0, 0 - bne _080A78AE - movs r1, 0x1 -_080A78AE: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A78B4: .4byte gUnknown_02038550 - thumb_func_end sub_80A78A0 - - thumb_func_start sub_80A78B8 -sub_80A78B8: @ 80A78B8 - ldr r1, _080A78C0 @ =gUnknown_02038554 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080A78C0: .4byte gUnknown_02038554 - thumb_func_end sub_80A78B8 - - thumb_func_start sub_80A78C4 -sub_80A78C4: @ 80A78C4 - push {lr} - ldr r0, _080A78DC @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A78E0 - bl sub_80A7868 - bl sub_80A75A8 - movs r0, 0x1 - b _080A78E2 - .align 2, 0 -_080A78DC: .4byte gLinkOpen -_080A78E0: - movs r0, 0 -_080A78E2: - pop {r1} - bx r1 - thumb_func_end sub_80A78C4 - - thumb_func_start sub_80A78E8 -sub_80A78E8: @ 80A78E8 - push {lr} - bl sub_80A7880 - pop {r0} - bx r0 - thumb_func_end sub_80A78E8 - - thumb_func_start sub_80A78F4 -sub_80A78F4: @ 80A78F4 - push {lr} - ldr r0, _080A790C @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A7910 - bl sub_80A76B8 - movs r1, 0x2 - cmp r0, 0 - beq _080A7912 - movs r1, 0x1 - b _080A7912 - .align 2, 0 -_080A790C: .4byte gLinkOpen -_080A7910: - movs r1, 0 -_080A7912: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_80A78F4 - - thumb_func_start sub_80A7918 -sub_80A7918: @ 80A7918 - push {lr} - bl sub_80A76E8 - pop {r0} - bx r0 - thumb_func_end sub_80A7918 - - thumb_func_start sub_80A7924 -sub_80A7924: @ 80A7924 - push {lr} - ldr r0, _080A7948 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0x1 - bne _080A7942 - bl sub_80A76B8 - cmp r0, 0 - bne _080A7942 - bl sub_80A76D0 - cmp r0, 0 - beq _080A794C - bl sub_80A7678 -_080A7942: - movs r0, 0 - b _080A7952 - .align 2, 0 -_080A7948: .4byte gLinkOpen -_080A794C: - bl sub_80A7694 - movs r0, 0x2 -_080A7952: - pop {r1} - bx r1 - thumb_func_end sub_80A7924 - - thumb_func_start sub_80A7958 -sub_80A7958: @ 80A7958 - push {lr} - bl sub_80A76B8 - cmp r0, 0 - beq _080A796A - bl sub_80A75A8 - movs r0, 0x1 - b _080A796C -_080A796A: - movs r0, 0x2 -_080A796C: - pop {r1} - bx r1 - thumb_func_end sub_80A7958 - - thumb_func_start sub_80A7970 -sub_80A7970: @ 80A7970 - push {lr} - bl sub_80A75C4 - pop {r0} - bx r0 - thumb_func_end sub_80A7970 - - thumb_func_start sub_80A797C -sub_80A797C: @ 80A797C - ldr r1, _080A7984 @ =gUnknown_02038554 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_080A7984: .4byte gUnknown_02038554 - thumb_func_end sub_80A797C - - thumb_func_start sub_80A7988 -sub_80A7988: @ 80A7988 - ldr r1, _080A7994 @ =gUnknown_02038554 - ldrb r0, [r1] - movs r2, 0 - strb r2, [r1] - bx lr - .align 2, 0 -_080A7994: .4byte gUnknown_02038554 - thumb_func_end sub_80A7988 - - thumb_func_start sub_80A7998 -sub_80A7998: @ 80A7998 - adds r2, r0, 0 - adds r2, 0x2A - movs r1, 0 - strb r1, [r2] - strh r1, [r0, 0x2E] - strh r1, [r0, 0x30] - strh r1, [r0, 0x32] - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - ldr r1, _080A79B0 @ =sub_80A79B4 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080A79B0: .4byte sub_80A79B4 - thumb_func_end sub_80A7998 - - thumb_func_start sub_80A79B4 -sub_80A79B4: @ 80A79B4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080A79E4 @ =gUnknown_0203855B - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A79CC - adds r0, r4, 0 - bl sub_80A79EC -_080A79CC: - ldr r0, _080A79E8 @ =gUnknown_0203855C - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080A79DE - adds r0, r4, 0 - bl sub_80A7A94 -_080A79DE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A79E4: .4byte gUnknown_0203855B -_080A79E8: .4byte gUnknown_0203855C - thumb_func_end sub_80A79B4 - - thumb_func_start sub_80A79EC -sub_80A79EC: @ 80A79EC - push {r4-r6,lr} - adds r2, r0, 0 - movs r0, 0x34 - ldrsh r4, [r2, r0] - cmp r4, 0 - beq _080A79FE - cmp r4, 0x1 - beq _080A7A54 - b _080A7A8A -_080A79FE: - ldr r5, _080A7A28 @ =gUnknown_0203855B - ldrb r6, [r5] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0x6 - beq _080A7A2C - adds r3, r2, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - adds r0, r2, 0 - adds r0, 0x2A - strb r6, [r0] - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - strb r0, [r5] - b _080A7A8A - .align 2, 0 -_080A7A28: .4byte gUnknown_0203855B -_080A7A2C: - adds r3, r2, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - adds r0, r2, 0 - adds r0, 0x2A - strb r4, [r0] - ldrh r0, [r2, 0x22] - subs r0, 0x4 - strh r0, [r2, 0x22] - movs r0, 0x4 - strh r0, [r2, 0x2E] - movs r0, 0x1 - strh r0, [r2, 0x34] - adds r0, r2, 0 - bl sub_80A7AE4 - b _080A7A8A -_080A7A54: - ldrh r4, [r2, 0x2E] - movs r0, 0x2E - ldrsh r3, [r2, r0] - cmp r3, 0 - beq _080A7A7C - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080A7A72 - ldrh r0, [r2, 0x22] - adds r0, 0x1 - strh r0, [r2, 0x22] - subs r0, r4, 0x1 - strh r0, [r2, 0x2E] -_080A7A72: - adds r0, r1, 0x1 - movs r1, 0x1 - ands r0, r1 - strh r0, [r2, 0x30] - b _080A7A8A -_080A7A7C: - ldr r1, _080A7A90 @ =gUnknown_0203855B - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - strb r0, [r1] - strh r3, [r2, 0x30] - strh r3, [r2, 0x34] -_080A7A8A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A7A90: .4byte gUnknown_0203855B - thumb_func_end sub_80A79EC - - thumb_func_start sub_80A7A94 -sub_80A7A94: @ 80A7A94 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A7AA6 - cmp r0, 0x1 - beq _080A7AC8 - b _080A7ADC -_080A7AA6: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _080A7AC4 @ =gSpriteAffineAnimTable_83C1CC4 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x36] - b _080A7ADC - .align 2, 0 -_080A7AC4: .4byte gSpriteAffineAnimTable_83C1CC4 -_080A7AC8: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _080A7ADC - adds r0, r4, 0 - bl sub_80A7AE4 -_080A7ADC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80A7A94 - - thumb_func_start sub_80A7AE4 -sub_80A7AE4: @ 80A7AE4 - push {lr} - ldr r2, _080A7B0C @ =gUnknown_0203855C - movs r1, 0 - strb r1, [r2] - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x1] - movs r1, 0 - strh r1, [r0, 0x32] - strh r1, [r0, 0x36] - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - pop {r0} - bx r0 - .align 2, 0 -_080A7B0C: .4byte gUnknown_0203855C - thumb_func_end sub_80A7AE4 - - thumb_func_start CreateBagSprite -CreateBagSprite: @ 80A7B10 - push {lr} - ldr r0, _080A7B24 @ =gSpriteTemplate_83C1CE0 - movs r1, 0x3A - movs r2, 0x28 - movs r3, 0 - bl CreateSprite - pop {r0} - bx r0 - .align 2, 0 -_080A7B24: .4byte gSpriteTemplate_83C1CE0 - thumb_func_end CreateBagSprite - - thumb_func_start sub_80A7B28 -sub_80A7B28: @ 80A7B28 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - strh r0, [r4, 0x34] - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80A7B6C - ldr r0, _080A7B44 @ =sub_80A7B6C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7B44: .4byte sub_80A7B6C - thumb_func_end sub_80A7B28 - - thumb_func_start sub_80A7B48 -sub_80A7B48: @ 80A7B48 - ldrh r2, [r0, 0x38] - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - movs r3, 0x1 - ands r1, r3 - subs r2, r1 - adds r1, r0, 0 - adds r1, 0x28 - strb r2, [r1] - ldrh r2, [r0, 0x3A] - ldrh r1, [r0, 0x2E] - adds r1, 0x1 - ands r1, r3 - subs r2, r1 - adds r0, 0x29 - strb r2, [r0] - bx lr - thumb_func_end sub_80A7B48 - - thumb_func_start sub_80A7B6C -sub_80A7B6C: @ 80A7B6C - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r2, [r4, r0] - cmp r2, 0 - beq _080A7C16 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A7B86 - cmp r0, 0x1 - beq _080A7BD4 - b _080A7C16 -_080A7B86: - ldrb r0, [r4, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r4, 0x1] - cmp r2, 0x1 - bne _080A7BA0 - ldr r0, _080A7B9C @ =gSpriteAffineAnimTable_83C1D20 - b _080A7BA2 - .align 2, 0 -_080A7B9C: .4byte gSpriteAffineAnimTable_83C1D20 -_080A7BA0: - ldr r0, _080A7BD0 @ =gSpriteAffineAnimTable_83C1D20 + 0x4 -_080A7BA2: - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x38] - adds r0, r4, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x3A] - adds r0, r4, 0 - bl sub_80A7B48 - b _080A7C16 - .align 2, 0 -_080A7BD0: .4byte gSpriteAffineAnimTable_83C1D20 + 0x4 -_080A7BD4: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80A7B48 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x20 - bne _080A7C16 - strh r5, [r4, 0x2E] - strh r5, [r4, 0x34] - ldrh r1, [r4, 0x38] - adds r0, r4, 0 - adds r0, 0x28 - strb r1, [r0] - ldrh r0, [r4, 0x3A] - adds r1, r4, 0 - adds r1, 0x29 - strb r0, [r1] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - ldr r0, _080A7C1C @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080A7C16: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7C1C: .4byte SpriteCallbackDummy - thumb_func_end sub_80A7B6C - - thumb_func_start CreateBagPokeballSprite -CreateBagPokeballSprite: @ 80A7C20 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080A7C54 @ =gUnknown_083C1D30 - bl LoadSpritePalette - ldr r0, _080A7C58 @ =gSpriteTemplate_83C1D38 - movs r1, 0x10 - movs r2, 0x58 - movs r3, 0 - bl CreateSprite - ldr r1, _080A7C5C @ =gUnknown_02038568 - strb r0, [r1] - ldr r2, _080A7C60 @ =gSprites - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r4, [r0, 0x3C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A7C54: .4byte gUnknown_083C1D30 -_080A7C58: .4byte gSpriteTemplate_83C1D38 -_080A7C5C: .4byte gUnknown_02038568 -_080A7C60: .4byte gSprites - thumb_func_end CreateBagPokeballSprite - - thumb_func_start sub_80A7C64 -sub_80A7C64: @ 80A7C64 - push {r4,r5,lr} - movs r0, 0x8 - bl FreeSpritePaletteByTag - ldr r5, _080A7C98 @ =gSprites - ldr r4, _080A7C9C @ =gUnknown_02038568 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7C98: .4byte gSprites -_080A7C9C: .4byte gUnknown_02038568 - thumb_func_end sub_80A7C64 - - thumb_func_start sub_80A7CA0 -sub_80A7CA0: @ 80A7CA0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - movs r2, 0x80 - lsls r2, 4 - adds r0, r4, 0 - movs r1, 0 - bl memset - movs r0, 0x80 - lsls r0, 1 - adds r4, r0 - movs r7, 0 -_080A7CBE: - adds r4, 0x20 - movs r5, 0 - adds r1, r7, 0x1 - mov r8, r1 -_080A7CC6: - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x20 - bl memcpy - adds r4, 0x20 - adds r6, 0x20 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080A7CC6 - cmp r7, 0x5 - beq _080A7CE4 - adds r4, 0x20 -_080A7CE4: - mov r1, r8 - lsls r0, r1, 24 - lsrs r7, r0, 24 - cmp r7, 0x5 - bls _080A7CBE - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A7CA0 - - thumb_func_start sub_80A7CF8 -sub_80A7CF8: @ 80A7CF8 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2A - bne _080A7D44 - bl IsEnigmaBerryValid - cmp r0, 0x1 - bne _080A7D44 - ldr r4, _080A7D34 @ =gSaveBlock1 + 0x317C - ldr r1, _080A7D38 @ =0x02000000 - adds r0, r4, 0 - bl sub_80A7CA0 - movs r0, 0x90 - lsls r0, 3 - adds r4, r0 - str r4, [sp] - ldr r1, _080A7D3C @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - ldr r1, _080A7D40 @ =0x00007544 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpritePalette - b _080A7D72 - .align 2, 0 -_080A7D34: .4byte gSaveBlock1 + 0x317C -_080A7D38: .4byte 0x02000000 -_080A7D3C: .4byte 0xffff0000 -_080A7D40: .4byte 0x00007544 -_080A7D44: - ldr r5, _080A7D7C @ =gBerryGraphicsTable - lsls r4, 3 - adds r0, r5, 0x4 - adds r0, r4, r0 - ldr r0, [r0] - str r0, [sp] - mov r1, sp - ldr r0, _080A7D80 @ =0x00007544 - strh r0, [r1, 0x4] - mov r0, sp - bl LoadCompressedObjectPalette - adds r4, r5 - ldr r0, [r4] - ldr r4, _080A7D84 @ =0x02001000 - adds r1, r4, 0 - bl sub_800D238 - ldr r0, _080A7D88 @ =0xfffff000 - adds r1, r4, r0 - adds r0, r4, 0 - bl sub_80A7CA0 -_080A7D72: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A7D7C: .4byte gBerryGraphicsTable -_080A7D80: .4byte 0x00007544 -_080A7D84: .4byte 0x02001000 -_080A7D88: .4byte 0xfffff000 - thumb_func_end sub_80A7CF8 - - thumb_func_start sub_80A7D8C -sub_80A7D8C: @ 80A7D8C - 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, 16 - lsrs r5, 16 - bl sub_80A7CF8 - ldr r0, _080A7DC0 @ =gSpriteTemplate_83C1D74 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080A7DC0: .4byte gSpriteTemplate_83C1D74 - thumb_func_end sub_80A7D8C - - thumb_func_start sub_80A7DC4 -sub_80A7DC4: @ 80A7DC4 - ldr r1, _080A7DD0 @ =gUnknown_030041B4 - ldrh r1, [r1] - negs r1, r1 - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_080A7DD0: .4byte gUnknown_030041B4 - thumb_func_end sub_80A7DC4 - - thumb_func_start sub_80A7DD4 -sub_80A7DD4: @ 80A7DD4 - push {lr} - ldr r0, _080A7DE8 @ =0x00007544 - bl FreeSpritePaletteByTag - movs r0, 0x8 - bl FreeSpritePaletteByTag - pop {r0} - bx r0 - .align 2, 0 -_080A7DE8: .4byte 0x00007544 - thumb_func_end sub_80A7DD4 - - thumb_func_start sub_80A7DEC -sub_80A7DEC: @ 80A7DEC - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _080A7E50 @ =0x00007544 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl sub_80A7CF8 - ldr r0, _080A7E54 @ =gSpriteTemplate_83C1E04 - adds r1, r5, 0 - adds r2, r6, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - adds r4, r1, 0 - mov r0, r8 - cmp r0, 0x1 - bne _080A7E42 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080A7E58 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080A7E42: - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080A7E50: .4byte 0x00007544 -_080A7E54: .4byte gSpriteTemplate_83C1E04 -_080A7E58: .4byte gSprites - thumb_func_end sub_80A7DEC - - thumb_func_start sub_80A7E5C -sub_80A7E5C: @ 80A7E5C - push {lr} - adds r1, r0, 0 - ldr r0, _080A7E78 @ =gSpriteTemplate_83C1F98 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x63 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080A7E78: .4byte gSpriteTemplate_83C1F98 - thumb_func_end sub_80A7E5C - - .align 2, 0 @ Don't pad with nop. diff --git a/data-de/items.inc b/data-de/items.inc deleted file mode 100644 index ab23ef5a0..000000000 --- a/data-de/items.inc +++ /dev/null @@ -1,5236 +0,0 @@ - .align 2 -gItems:: @ 83C5564 - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MEISTERBALL$", 14 - .2byte ITEM_MASTER_BALL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MasterBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 0 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 0 - - .string "HYPERBALL$", 14 - .2byte ITEM_ULTRA_BALL - .2byte 1200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_UltraBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 1 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 1 - - .string "SUPERBALL$", 14 - .2byte ITEM_GREAT_BALL - .2byte 600 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GreatBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 2 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 2 - - .string "POKéBALL$", 14 - .2byte ITEM_POKE_BALL - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PokeBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 3 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 3 - - .string "SAFARIBALL$", 14 - .2byte ITEM_SAFARI_BALL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SafariBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 4 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 4 - - .string "NETZBALL$", 14 - .2byte ITEM_NET_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_NetBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 5 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 5 - - .string "TAUCHBALL$", 14 - .2byte ITEM_DIVE_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DiveBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 6 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 6 - - .string "NESTBALL$", 14 - .2byte ITEM_NEST_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_NestBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 7 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 7 - - .string "WIEDERBALL$", 14 - .2byte ITEM_REPEAT_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RepeatBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 8 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 8 - - .string "TIMERBALL$", 14 - .2byte ITEM_TIMER_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TimerBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 9 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 9 - - .string "LUXUSBALL$", 14 - .2byte ITEM_LUXURY_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_LuxuryBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 10 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 10 - - .string "PREMIERBALL$", 14 - .2byte ITEM_PREMIER_BALL - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PremierBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 11 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 11 - - .string "TRANK$", 14 - .2byte ITEM_POTION - .2byte 300 @ price - .byte HOLD_EFFECT_NONE - .byte 20 - .4byte gItemDescription_Potion - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "GEGENGIFT$", 14 - .2byte ITEM_ANTIDOTE - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Antidote - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "FEUERHEILER$", 14 - .2byte ITEM_BURN_HEAL - .2byte 250 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BurnHeal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "EISHEILER$", 14 - .2byte ITEM_ICE_HEAL - .2byte 250 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_IceHeal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "AUFWECKER$", 14 - .2byte ITEM_AWAKENING - .2byte 250 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Awakening - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "PARA-HEILER$", 14 - .2byte ITEM_PARALYZE_HEAL - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ParalyzeHeal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "TOP-GENESUNG$", 14 - .2byte ITEM_FULL_RESTORE - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 255 - .4byte gItemDescription_FullRestore - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "TOP-TRANK$", 14 - .2byte ITEM_MAX_POTION - .2byte 2500 @ price - .byte HOLD_EFFECT_NONE - .byte 255 - .4byte gItemDescription_MaxPotion - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "HYPERTRANK$", 14 - .2byte ITEM_HYPER_POTION - .2byte 1200 @ price - .byte HOLD_EFFECT_NONE - .byte 200 - .4byte gItemDescription_HyperPotion - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "SUPERTRANK$", 14 - .2byte ITEM_SUPER_POTION - .2byte 700 @ price - .byte HOLD_EFFECT_NONE - .byte 50 - .4byte gItemDescription_SuperPotion - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "HYPERHEILER$", 14 - .2byte ITEM_FULL_HEAL - .2byte 600 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_FullHeal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "BELEBER$", 14 - .2byte ITEM_REVIVE - .2byte 1500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Revive - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "TOP-BELEBER$", 14 - .2byte ITEM_MAX_REVIVE - .2byte 4000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MaxRevive - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "TAFELWASSER$", 14 - .2byte ITEM_FRESH_WATER - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 50 - .4byte gItemDescription_FreshWater - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "SPRUDEL$", 14 - .2byte ITEM_SODA_POP - .2byte 300 @ price - .byte HOLD_EFFECT_NONE - .byte 60 - .4byte gItemDescription_SodaPop - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "LIMONADE$", 14 - .2byte ITEM_LEMONADE - .2byte 350 @ price - .byte HOLD_EFFECT_NONE - .byte 80 - .4byte gItemDescription_Lemonade - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "KUHMUH-MILCH$", 14 - .2byte ITEM_MOOMOO_MILK - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 100 - .4byte gItemDescription_MoomooMilk - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ENERGIESTAUB$", 14 - .2byte ITEM_ENERGY_POWDER - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EnergyPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "KRAFTWURZEL$", 14 - .2byte ITEM_ENERGY_ROOT - .2byte 800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EnergyRoot - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "HEILPUDER$", 14 - .2byte ITEM_HEAL_POWDER - .2byte 450 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HealPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "VITALKRAUT$", 14 - .2byte ITEM_REVIVAL_HERB - .2byte 2800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RevivalHerb - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ÄTHER$", 14 - .2byte ITEM_ETHER - .2byte 1200 @ price - .byte HOLD_EFFECT_NONE - .byte 10 - .4byte gItemDescription_Ether - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "TOP-ÄTHER$", 14 - .2byte ITEM_MAX_ETHER - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 255 - .4byte gItemDescription_MaxEther - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "ELIXIER$", 14 - .2byte ITEM_ELIXIR - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 10 - .4byte gItemDescription_Elixir - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "TOP-ELIXIER$", 14 - .2byte ITEM_MAX_ELIXIR - .2byte 4500 @ price - .byte HOLD_EFFECT_NONE - .byte 255 - .4byte gItemDescription_MaxElixir - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "LAVAKEKS$", 14 - .2byte ITEM_LAVA_COOKIE - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_LavaCookie - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "BLAUE FLÖTE$", 14 - .2byte ITEM_BLUE_FLUTE - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlueFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "GELBE FLÖTE$", 14 - .2byte ITEM_YELLOW_FLUTE - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_YellowFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ROTE FLÖTE$", 14 - .2byte ITEM_RED_FLUTE - .2byte 300 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RedFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "SCHW. FLÖTE$", 14 - .2byte ITEM_BLACK_FLUTE - .2byte 400 @ price - .byte HOLD_EFFECT_NONE - .byte 50 - .4byte gItemDescription_BlackFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_BlackWhiteFlute - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WEISSE FLÖTE$", 14 - .2byte ITEM_WHITE_FLUTE - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 150 - .4byte gItemDescription_WhiteFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_BlackWhiteFlute - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BEERENSAFT$", 14 - .2byte ITEM_BERRY_JUICE - .2byte 100 @ price - .byte HOLD_EFFECT_RESTORE_HP - .byte 20 - .4byte gItemDescription_BerryJuice - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ZAUBERASCHE$", 14 - .2byte ITEM_SACRED_ASH - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SacredAsh - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_SacredAsh - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KÜSTENSALZ$", 14 - .2byte ITEM_SHOAL_SALT - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ShoalSalt - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KÜSTENSCHALE$", 14 - .2byte ITEM_SHOAL_SHELL - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ShoalShell - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PURPURSTÜCK$", 14 - .2byte ITEM_RED_SHARD - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RedShard - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "INDIGOSTÜCK$", 14 - .2byte ITEM_BLUE_SHARD - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlueShard - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GELBSTÜCK$", 14 - .2byte ITEM_YELLOW_SHARD - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_YellowShard - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GRÜNSTÜCK$", 14 - .2byte ITEM_GREEN_SHARD - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GreenShard - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KP-PLUS$", 14 - .2byte ITEM_HP_UP - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HPUp - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PROTEIN$", 14 - .2byte ITEM_PROTEIN - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Protein - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "EISEN$", 14 - .2byte ITEM_IRON - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Iron - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CARBON$", 14 - .2byte ITEM_CARBOS - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Carbos - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KALZIUM$", 14 - .2byte ITEM_CALCIUM - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Calcium - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SONDERBONBON$", 14 - .2byte ITEM_RARE_CANDY - .2byte 4800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RareCandy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_RareCandy - .4byte 0 - .4byte NULL - .4byte 0 - - .string "AP-PLUS$", 14 - .2byte ITEM_PP_UP - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PPUp - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPUp - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ZINK$", 14 - .2byte ITEM_ZINC - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Zinc - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "AP-TOP$", 14 - .2byte ITEM_PP_MAX - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PPMax - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPUp - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MEGABLOCK$", 14 - .2byte ITEM_GUARD_SPEC - .2byte 700 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GuardSpec - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "ANGRIFFPLUS$", 14 - .2byte ITEM_DIRE_HIT - .2byte 650 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DireHit - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X-ANGRIFF$", 14 - .2byte ITEM_X_ATTACK - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XAttack - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X-ABWEHR$", 14 - .2byte ITEM_X_DEFEND - .2byte 550 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XDefend - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X-TEMPO$", 14 - .2byte ITEM_X_SPEED - .2byte 350 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XSpeed - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X-TREFFER$", 14 - .2byte ITEM_X_ACCURACY - .2byte 950 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XAccuracy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X-SPEZIAL$", 14 - .2byte ITEM_X_SPECIAL - .2byte 350 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XSpecial - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "POKéPUPPE$", 14 - .2byte ITEM_POKE_DOLL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PokeDoll - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_Escape - .4byte 0 - - .string "ENECO-RUTE$", 14 - .2byte ITEM_FLUFFY_TAIL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_FluffyTail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_Escape - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SUPERSCHUTZ$", 14 - .2byte ITEM_SUPER_REPEL - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 200 - .4byte gItemDescription_SuperRepel - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_Repel - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TOP-SCHUTZ$", 14 - .2byte ITEM_MAX_REPEL - .2byte 700 @ price - .byte HOLD_EFFECT_NONE - .byte 250 - .4byte gItemDescription_MaxRepel - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_Repel - .4byte 0 - .4byte NULL - .4byte 0 - - .string "FLUCHTSEIL$", 14 - .2byte ITEM_ESCAPE_ROPE - .2byte 550 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EscapeRope - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_EscapeRope - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCHUTZ$", 14 - .2byte ITEM_REPEL - .2byte 350 @ price - .byte HOLD_EFFECT_NONE - .byte 100 - .4byte gItemDescription_Repel - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_Repel - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SONNENSTEIN$", 14 - .2byte ITEM_SUN_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SunStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MONDSTEIN$", 14 - .2byte ITEM_MOON_STONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MoonStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "FEUERSTEIN$", 14 - .2byte ITEM_FIRE_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_FireStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DONNERSTEIN$", 14 - .2byte ITEM_THUNDER_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ThunderStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WASSERSTEIN$", 14 - .2byte ITEM_WATER_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WaterStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLATTSTEIN$", 14 - .2byte ITEM_LEAF_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_LeafStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MINIPILZ$", 14 - .2byte ITEM_TINY_MUSHROOM - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TinyMushroom - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RIESENPILZ$", 14 - .2byte ITEM_BIG_MUSHROOM - .2byte 5000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BigMushroom - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PERLE$", 14 - .2byte ITEM_PEARL - .2byte 1400 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Pearl - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RIESENPERLE$", 14 - .2byte ITEM_BIG_PEARL - .2byte 7500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BigPearl - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "STERNENSTAUB$", 14 - .2byte ITEM_STARDUST - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Stardust - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "STERNENSTÜCK$", 14 - .2byte ITEM_STAR_PIECE - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_StarPiece - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "NUGGET$", 14 - .2byte ITEM_NUGGET - .2byte 10000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Nugget - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HERZSCHUPPE$", 14 - .2byte ITEM_HEART_SCALE - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HeartScale - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ZIGZAGBRIEF$", 14 - .2byte ITEM_ORANGE_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_OrangeMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HAFENBRIEF$", 14 - .2byte ITEM_HARBOR_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HarborMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 1 - - .string "GLITZERBRIEF$", 14 - .2byte ITEM_GLITTER_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GlitterMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 2 - - .string "EILBRIEF$", 14 - .2byte ITEM_MECH_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MechMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 3 - - .string "WALDBRIEF$", 14 - .2byte ITEM_WOOD_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WoodMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 4 - - .string "WELLENBRIEF$", 14 - .2byte ITEM_WAVE_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WaveMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 5 - - .string "PERLENBRIEF$", 14 - .2byte ITEM_BEAD_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BeadMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 6 - - .string "DUNKELBRIEF$", 14 - .2byte ITEM_SHADOW_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ShadowMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 7 - - .string "TROPENBRIEF$", 14 - .2byte ITEM_TROPIC_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TropicMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 8 - - .string "TRAUMBRIEF$", 14 - .2byte ITEM_DREAM_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DreamMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 9 - - .string "EDELBRIEF$", 14 - .2byte ITEM_FAB_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_FabMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 10 - - .string "RETROBRIEF$", 14 - .2byte ITEM_RETRO_MAIL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RetroMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 11 - - .string "AMRENABEERE$", 14 - .2byte ITEM_CHERI_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_PAR - .byte 0 - .4byte gItemDescription_CheriBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "MARONBEERE$", 14 - .2byte ITEM_CHESTO_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_SLP - .byte 0 - .4byte gItemDescription_ChestoBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "PIRSIFBEERE$", 14 - .2byte ITEM_PECHA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_PSN - .byte 0 - .4byte gItemDescription_PechaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "FRAGIABEERE$", 14 - .2byte ITEM_RAWST_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_BRN - .byte 0 - .4byte gItemDescription_RawstBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "WILBIRBEERE$", 14 - .2byte ITEM_ASPEAR_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_FRZ - .byte 0 - .4byte gItemDescription_AspearBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "JONAGOBEERE$", 14 - .2byte ITEM_LEPPA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_RESTORE_PP - .byte 10 - .4byte gItemDescription_LeppaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "SINELBEERE$", 14 - .2byte ITEM_ORAN_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_RESTORE_HP - .byte 10 - .4byte gItemDescription_OranBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "PERSIMBEERE$", 14 - .2byte ITEM_PERSIM_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_CONFUSION - .byte 0 - .4byte gItemDescription_PersimBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "PRUNUSBEERE$", 14 - .2byte ITEM_LUM_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_STATUS - .byte 0 - .4byte gItemDescription_LumBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "TSITRUBEERE$", 14 - .2byte ITEM_SITRUS_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_RESTORE_HP - .byte 30 - .4byte gItemDescription_SitrusBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "GIEFEBEERE$", 14 - .2byte ITEM_FIGY_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_SPICY - .byte 8 - .4byte gItemDescription_FigyBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WIKIBEERE$", 14 - .2byte ITEM_WIKI_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_DRY - .byte 8 - .4byte gItemDescription_WikiBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MAGOBEERE$", 14 - .2byte ITEM_MAGO_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_SWEET - .byte 8 - .4byte gItemDescription_MagoBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GAUVEBEERE$", 14 - .2byte ITEM_AGUAV_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_BITTER - .byte 8 - .4byte gItemDescription_AguavBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "YAPABEERE$", 14 - .2byte ITEM_IAPAPA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_SOUR - .byte 8 - .4byte gItemDescription_IapapaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HIMMIHBEERE$", 14 - .2byte ITEM_RAZZ_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RazzBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MORBBEERE$", 14 - .2byte ITEM_BLUK_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlukBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "NANABBEERE$", 14 - .2byte ITEM_NANAB_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_NanabBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "NIRBEBEERE$", 14 - .2byte ITEM_WEPEAR_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WepearBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SANANABEERE$", 14 - .2byte ITEM_PINAP_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PinapBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GRANABEERE$", 14 - .2byte ITEM_POMEG_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PomegBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SETANGBEERE$", 14 - .2byte ITEM_KELPSY_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_KelpsyBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "QUALOTBEERE$", 14 - .2byte ITEM_QUALOT_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_QualotBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HONMELBEERE$", 14 - .2byte ITEM_HONDEW_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HondewBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LABRUSBEERE$", 14 - .2byte ITEM_GREPA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GrepaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TAMOTBEERE$", 14 - .2byte ITEM_TAMATO_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TamatoBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SAIMBEERE$", 14 - .2byte ITEM_CORNN_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_CornnBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MAGOSTBEERE$", 14 - .2byte ITEM_MAGOST_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MagostBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RABUTABEERE$", 14 - .2byte ITEM_RABUTA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RabutaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TRONZIBEERE$", 14 - .2byte ITEM_NOMEL_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_NomelBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KIWANBEERE$", 14 - .2byte ITEM_SPELON_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SpelonBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PALLMBEERE$", 14 - .2byte ITEM_PAMTRE_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PamtreBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WASMELBEERE$", 14 - .2byte ITEM_WATMEL_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WatmelBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DURINBEERE$", 14 - .2byte ITEM_DURIN_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DurinBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MYRTILBEERE$", 14 - .2byte ITEM_BELUE_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BelueBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LYDZIBEERE$", 14 - .2byte ITEM_LIECHI_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_ATTACK_UP - .byte 4 - .4byte gItemDescription_LiechiBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LINGANBEERE$", 14 - .2byte ITEM_GANLON_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_DEFENSE_UP - .byte 4 - .4byte gItemDescription_GanlonBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SALKABEERE$", 14 - .2byte ITEM_SALAC_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_SPEED_UP - .byte 4 - .4byte gItemDescription_SalacBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TAHAYBEERE$", 14 - .2byte ITEM_PETAYA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_SP_ATTACK_UP - .byte 4 - .4byte gItemDescription_PetayaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "APIKOBEERE$", 14 - .2byte ITEM_APICOT_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_SP_DEFENSE_UP - .byte 4 - .4byte gItemDescription_ApicotBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LANSATBEERE$", 14 - .2byte ITEM_LANSAT_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CRITICAL_UP - .byte 4 - .4byte gItemDescription_LansatBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KRAMBOBEERE$", 14 - .2byte ITEM_STARF_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_RANDOM_STAT_UP - .byte 4 - .4byte gItemDescription_StarfBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ENIGMABEERE$", 14 - .2byte ITEM_ENIGMA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EnigmaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_EnigmaBerry - .4byte 1 - .4byte ItemUseInBattle_EnigmaBerry - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLENDPUDER$", 14 - .2byte ITEM_BRIGHT_POWDER - .2byte 10 @ price - .byte HOLD_EFFECT_EVASION_UP - .byte 10 - .4byte gItemDescription_BrightPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCHLOHKRAUT$", 14 - .2byte ITEM_WHITE_HERB - .2byte 100 @ price - .byte HOLD_EFFECT_RESTORE_STATS - .byte 0 - .4byte gItemDescription_WhiteHerb - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MACHOBAND$", 14 - .2byte ITEM_MACHO_BRACE - .2byte 3000 @ price - .byte HOLD_EFFECT_MACHO_BRACE - .byte 0 - .4byte gItemDescription_MachoBrace - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "EP-TEILER$", 14 - .2byte ITEM_EXP_SHARE - .2byte 3000 @ price - .byte HOLD_EFFECT_EXP_SHARE - .byte 0 - .4byte gItemDescription_ExpShare - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "FLINKKLAUE$", 14 - .2byte ITEM_QUICK_CLAW - .2byte 100 @ price - .byte HOLD_EFFECT_QUICK_CLAW - .byte 20 - .4byte gItemDescription_QuickClaw - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SANFTGLOCKE$", 14 - .2byte ITEM_SOOTHE_BELL - .2byte 100 @ price - .byte HOLD_EFFECT_HAPPINESS_UP - .byte 0 - .4byte gItemDescription_SootheBell - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MENTALKRAUT$", 14 - .2byte ITEM_MENTAL_HERB - .2byte 100 @ price - .byte HOLD_EFFECT_CURE_ATTRACT - .byte 0 - .4byte gItemDescription_MentalHerb - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WAHLBAND$", 14 - .2byte ITEM_CHOICE_BAND - .2byte 100 @ price - .byte HOLD_EFFECT_CHOICE_BAND - .byte 0 - .4byte gItemDescription_ChoiceBand - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KING-STEIN$", 14 - .2byte ITEM_KINGS_ROCK - .2byte 100 @ price - .byte HOLD_EFFECT_FLINCH - .byte 10 - .4byte gItemDescription_KingsRock - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SILBERSTAUB$", 14 - .2byte ITEM_SILVER_POWDER - .2byte 100 @ price - .byte HOLD_EFFECT_BUG_POWER - .byte 10 - .4byte gItemDescription_SilverPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MÜNZAMULETT$", 14 - .2byte ITEM_AMULET_COIN - .2byte 100 @ price - .byte HOLD_EFFECT_DOUBLE_PRIZE - .byte 10 - .4byte gItemDescription_AmuletCoin - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCHUTZBAND$", 14 - .2byte ITEM_CLEANSE_TAG - .2byte 200 @ price - .byte HOLD_EFFECT_REPEL - .byte 0 - .4byte gItemDescription_CleanseTag - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SEELENTAU$", 14 - .2byte ITEM_SOUL_DEW - .2byte 200 @ price - .byte HOLD_EFFECT_SOUL_DEW - .byte 0 - .4byte gItemDescription_SoulDew - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ABYSSZAHN$", 14 - .2byte ITEM_DEEP_SEA_TOOTH - .2byte 200 @ price - .byte HOLD_EFFECT_DEEP_SEA_TOOTH - .byte 0 - .4byte gItemDescription_DeepSeaTooth - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ABYSSPLATTE$", 14 - .2byte ITEM_DEEP_SEA_SCALE - .2byte 200 @ price - .byte HOLD_EFFECT_DEEP_SEA_SCALE - .byte 0 - .4byte gItemDescription_DeepSeaScale - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RAUCHBALL$", 14 - .2byte ITEM_SMOKE_BALL - .2byte 200 @ price - .byte HOLD_EFFECT_CAN_ALWAYS_RUN - .byte 0 - .4byte gItemDescription_SmokeBall - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "EWIGSTEIN$", 14 - .2byte ITEM_EVERSTONE - .2byte 200 @ price - .byte HOLD_EFFECT_PREVENT_EVOLVE - .byte 0 - .4byte gItemDescription_Everstone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "FOKUS-BAND$", 14 - .2byte ITEM_FOCUS_BAND - .2byte 200 @ price - .byte HOLD_EFFECT_FOCUS_BAND - .byte 10 - .4byte gItemDescription_FocusBand - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GLÜCKS-EI$", 14 - .2byte ITEM_LUCKY_EGG - .2byte 200 @ price - .byte HOLD_EFFECT_LUCKY_EGG - .byte 0 - .4byte gItemDescription_LuckyEgg - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCOPE-LINSE$", 14 - .2byte ITEM_SCOPE_LENS - .2byte 200 @ price - .byte HOLD_EFFECT_SCOPE_LENS - .byte 0 - .4byte gItemDescription_ScopeLens - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "METALLMANTEL$", 14 - .2byte ITEM_METAL_COAT - .2byte 100 @ price - .byte HOLD_EFFECT_STEEL_POWER - .byte 10 - .4byte gItemDescription_MetalCoat - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ÜBERRESTE$", 14 - .2byte ITEM_LEFTOVERS - .2byte 200 @ price - .byte HOLD_EFFECT_LEFTOVERS - .byte 10 - .4byte gItemDescription_Leftovers - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DRACHENHAUT$", 14 - .2byte ITEM_DRAGON_SCALE - .2byte 2100 @ price - .byte HOLD_EFFECT_DRAGON_SCALE - .byte 10 - .4byte gItemDescription_DragonScale - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KUGELBLITZ$", 14 - .2byte ITEM_LIGHT_BALL - .2byte 100 @ price - .byte HOLD_EFFECT_LIGHT_BALL - .byte 0 - .4byte gItemDescription_LightBall - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PUDERSAND$", 14 - .2byte ITEM_SOFT_SAND - .2byte 100 @ price - .byte HOLD_EFFECT_GROUND_POWER - .byte 10 - .4byte gItemDescription_SoftSand - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GRANITSTEIN$", 14 - .2byte ITEM_HARD_STONE - .2byte 100 @ price - .byte HOLD_EFFECT_ROCK_POWER - .byte 10 - .4byte gItemDescription_HardStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WUNDERSAAT$", 14 - .2byte ITEM_MIRACLE_SEED - .2byte 100 @ price - .byte HOLD_EFFECT_GRASS_POWER - .byte 10 - .4byte gItemDescription_MiracleSeed - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCHATTENGLAS$", 14 - .2byte ITEM_BLACK_GLASSES - .2byte 100 @ price - .byte HOLD_EFFECT_DARK_POWER - .byte 10 - .4byte gItemDescription_BlackGlasses - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCHWARZGURT$", 14 - .2byte ITEM_BLACK_BELT - .2byte 100 @ price - .byte HOLD_EFFECT_FIGHTING_POWER - .byte 10 - .4byte gItemDescription_BlackBelt - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MAGNET$", 14 - .2byte ITEM_MAGNET - .2byte 100 @ price - .byte HOLD_EFFECT_ELECTRIC_POWER - .byte 10 - .4byte gItemDescription_Magnet - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ZAUBERWASSER$", 14 - .2byte ITEM_MYSTIC_WATER - .2byte 100 @ price - .byte HOLD_EFFECT_WATER_POWER - .byte 10 - .4byte gItemDescription_MysticWater - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HACKATTACK$", 14 - .2byte ITEM_SHARP_BEAK - .2byte 100 @ price - .byte HOLD_EFFECT_FLYING_POWER - .byte 10 - .4byte gItemDescription_SharpBeak - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GIFTSTICH$", 14 - .2byte ITEM_POISON_BARB - .2byte 100 @ price - .byte HOLD_EFFECT_POISON_POWER - .byte 10 - .4byte gItemDescription_PoisonBarb - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "EWIGES EIS$", 14 - .2byte ITEM_NEVER_MELT_ICE - .2byte 100 @ price - .byte HOLD_EFFECT_ICE_POWER - .byte 10 - .4byte gItemDescription_NeverMeltIce - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BANNSTICKER$", 14 - .2byte ITEM_SPELL_TAG - .2byte 100 @ price - .byte HOLD_EFFECT_GHOST_POWER - .byte 10 - .4byte gItemDescription_SpellTag - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KRÜMMLÖFFEL$", 14 - .2byte ITEM_TWISTED_SPOON - .2byte 100 @ price - .byte HOLD_EFFECT_PSYCHIC_POWER - .byte 10 - .4byte gItemDescription_TwistedSpoon - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HOLZKOHLE$", 14 - .2byte ITEM_CHARCOAL - .2byte 9800 @ price - .byte HOLD_EFFECT_FIRE_POWER - .byte 10 - .4byte gItemDescription_Charcoal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DRACHENZAHN$", 14 - .2byte ITEM_DRAGON_FANG - .2byte 100 @ price - .byte HOLD_EFFECT_DRAGON_POWER - .byte 10 - .4byte gItemDescription_DragonFang - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SEIDENSCHAL$", 14 - .2byte ITEM_SILK_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NORMAL_POWER - .byte 10 - .4byte gItemDescription_SilkScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "UP-GRADE$", 14 - .2byte ITEM_UP_GRADE - .2byte 2100 @ price - .byte HOLD_EFFECT_UP_GRADE - .byte 0 - .4byte gItemDescription_UpGrade - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SEEGESANG$", 14 - .2byte ITEM_SHELL_BELL - .2byte 200 @ price - .byte HOLD_EFFECT_SHELL_BELL - .byte 8 - .4byte gItemDescription_ShellBell - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SEERAUCH$", 14 - .2byte ITEM_SEA_INCENSE - .2byte 9600 @ price - .byte HOLD_EFFECT_WATER_POWER - .byte 5 - .4byte gItemDescription_SeaIncense - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LAXRAUCH$", 14 - .2byte ITEM_LAX_INCENSE - .2byte 9600 @ price - .byte HOLD_EFFECT_EVASION_UP - .byte 5 - .4byte gItemDescription_LaxIncense - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LUCKY PUNCH$", 14 - .2byte ITEM_LUCKY_PUNCH - .2byte 10 @ price - .byte HOLD_EFFECT_LUCKY_PUNCH - .byte 0 - .4byte gItemDescription_LuckyPunch - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "METALLSTAUB$", 14 - .2byte ITEM_METAL_POWDER - .2byte 10 @ price - .byte HOLD_EFFECT_METAL_POWDER - .byte 0 - .4byte gItemDescription_MetalPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KAMPFKNOCHEN$", 14 - .2byte ITEM_THICK_CLUB - .2byte 500 @ price - .byte HOLD_EFFECT_THICK_CLUB - .byte 0 - .4byte gItemDescription_ThickClub - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LAUCHSTANGE$", 14 - .2byte ITEM_STICK - .2byte 200 @ price - .byte HOLD_EFFECT_STICK - .byte 0 - .4byte gItemDescription_Stick - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ROTER SCHAL$", 14 - .2byte ITEM_RED_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RedScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLAUER SCHAL$", 14 - .2byte ITEM_BLUE_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlueScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ROSA SCHAL$", 14 - .2byte ITEM_PINK_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PinkScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GRÜNER SCHAL$", 14 - .2byte ITEM_GREEN_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GreenScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GELBER SCHAL$", 14 - .2byte ITEM_YELLOW_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_YellowScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "EILRAD$", 14 - .2byte ITEM_MACH_BIKE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MachBike - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Bike - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MÜNZKORB$", 14 - .2byte ITEM_COIN_CASE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_CoinCase - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CoinCase - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DETEKTOR$", 14 - .2byte ITEM_ITEMFINDER - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Itemfinder - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Itemfinder - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ANGEL$", 14 - .2byte ITEM_OLD_ROD - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_OldRod - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Rod - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PROFIANGEL$", 14 - .2byte ITEM_GOOD_ROD - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GoodRod - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Rod - .4byte 0 - .4byte NULL - .4byte 1 - - .string "SUPERANGEL$", 14 - .2byte ITEM_SUPER_ROD - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SuperRod - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Rod - .4byte 0 - .4byte NULL - .4byte 2 - - .string "BOOTSTICKET$", 14 - .2byte ITEM_SS_TICKET - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SSTicket - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WETTB.-KARTE$", 14 - .2byte ITEM_CONTEST_PASS - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ContestPass - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WAILMERKANNE$", 14 - .2byte ITEM_WAILMER_PAIL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WailmerPail - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_WailmerPail - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DEVON-WAREN$", 14 - .2byte ITEM_DEVON_GOODS - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DevonGoods - .byte 2 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ASCHETASCHE$", 14 - .2byte ITEM_SOOT_SACK - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SootSack - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KELLERÖFFNER$", 14 - .2byte ITEM_BASEMENT_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BasementKey - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KUNSTRAD$", 14 - .2byte ITEM_ACRO_BIKE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_AcroBike - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Bike - .4byte 0 - .4byte NULL - .4byte 1 - - .string "{POKEBLOCK}BOX$", 14 - .2byte ITEM_POKEBLOCK_CASE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PokeblockCase - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 3 - .4byte ItemUseOutOfBattle_PokeblockCase - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BRIEF$", 14 - .2byte ITEM_LETTER - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Letter - .byte 2 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ÄON-TICKET$", 14 - .2byte ITEM_EON_TICKET - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EonTicket - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 1 - - .string "ROTE KUGEL$", 14 - .2byte ITEM_RED_ORB - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RedOrb - .byte 2 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLAUE KUGEL$", 14 - .2byte ITEM_BLUE_ORB - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlueOrb - .byte 2 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCANNER$", 14 - .2byte ITEM_SCANNER - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Scanner - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WÜSTENGLAS$", 14 - .2byte ITEM_GO_GOGGLES - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GoGoggles - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "METEORIT$", 14 - .2byte ITEM_METEORITE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Meteorite - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "K1-SCHLÜSSEL$", 14 - .2byte ITEM_ROOM_1_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Room1Key - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "K2-SCHLÜSSEL$", 14 - .2byte ITEM_ROOM_2_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Room2Key - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "K4-SCHLÜSSEL$", 14 - .2byte ITEM_ROOM_4_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Room4Key - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "K6-SCHLÜSSEL$", 14 - .2byte ITEM_ROOM_6_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Room6Key - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "L.-SCHLÜSSEL$", 14 - .2byte ITEM_STORAGE_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_StorageKey - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WURZELFOSSIL$", 14 - .2byte ITEM_ROOT_FOSSIL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RootFossil - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KLAUENFOSSIL$", 14 - .2byte ITEM_CLAW_FOSSIL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ClawFossil - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DEVON-SCOPE$", 14 - .2byte ITEM_DEVON_SCOPE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DevonScope - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM01$", 14 - .2byte ITEM_TM01 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM01 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM02$", 14 - .2byte ITEM_TM02 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM02 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM03$", 14 - .2byte ITEM_TM03 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM03 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM04$", 14 - .2byte ITEM_TM04 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM04 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM05$", 14 - .2byte ITEM_TM05 - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM05 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM06$", 14 - .2byte ITEM_TM06 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM06 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM07$", 14 - .2byte ITEM_TM07 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM07 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM08$", 14 - .2byte ITEM_TM08 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM08 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM09$", 14 - .2byte ITEM_TM09 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM09 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM10$", 14 - .2byte ITEM_TM10 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM10 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM11$", 14 - .2byte ITEM_TM11 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM11 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM12$", 14 - .2byte ITEM_TM12 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM12 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM13$", 14 - .2byte ITEM_TM13 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM13 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM14$", 14 - .2byte ITEM_TM14 - .2byte 5500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM14 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM15$", 14 - .2byte ITEM_TM15 - .2byte 7500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM15 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM16$", 14 - .2byte ITEM_TM16 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM16 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM17$", 14 - .2byte ITEM_TM17 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM17 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM18$", 14 - .2byte ITEM_TM18 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM18 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM19$", 14 - .2byte ITEM_TM19 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM19 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM20$", 14 - .2byte ITEM_TM20 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM20 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM21$", 14 - .2byte ITEM_TM21 - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM21 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM22$", 14 - .2byte ITEM_TM22 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM22 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM23$", 14 - .2byte ITEM_TM23 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM23 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM24$", 14 - .2byte ITEM_TM24 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM24 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM25$", 14 - .2byte ITEM_TM25 - .2byte 5500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM25 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM26$", 14 - .2byte ITEM_TM26 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM26 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM27$", 14 - .2byte ITEM_TM27 - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM27 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM28$", 14 - .2byte ITEM_TM28 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM28 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM29$", 14 - .2byte ITEM_TM29 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM29 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM30$", 14 - .2byte ITEM_TM30 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM30 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM31$", 14 - .2byte ITEM_TM31 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM31 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM32$", 14 - .2byte ITEM_TM32 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM32 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM33$", 14 - .2byte ITEM_TM33 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM33 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM34$", 14 - .2byte ITEM_TM34 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM34 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM35$", 14 - .2byte ITEM_TM35 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM35 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM36$", 14 - .2byte ITEM_TM36 - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM36 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM37$", 14 - .2byte ITEM_TM37 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM37 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM38$", 14 - .2byte ITEM_TM38 - .2byte 5500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM38 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM39$", 14 - .2byte ITEM_TM39 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM39 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM40$", 14 - .2byte ITEM_TM40 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM40 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM41$", 14 - .2byte ITEM_TM41 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM41 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM42$", 14 - .2byte ITEM_TM42 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM42 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM43$", 14 - .2byte ITEM_TM43 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM43 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM44$", 14 - .2byte ITEM_TM44 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM44 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM45$", 14 - .2byte ITEM_TM45 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM45 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM46$", 14 - .2byte ITEM_TM46 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM46 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM47$", 14 - .2byte ITEM_TM47 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM47 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM48$", 14 - .2byte ITEM_TM48 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM48 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM49$", 14 - .2byte ITEM_TM49 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM49 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM50$", 14 - .2byte ITEM_TM50 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM50 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "VM01$", 14 - .2byte ITEM_HM01 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM01 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "VM02$", 14 - .2byte ITEM_HM02 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM02 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "VM03$", 14 - .2byte ITEM_HM03 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM03 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "VM04$", 14 - .2byte ITEM_HM04 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM04 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "VM05$", 14 - .2byte ITEM_HM05 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM05 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "VM06$", 14 - .2byte ITEM_HM06 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM06 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "VM07$", 14 - .2byte ITEM_HM07 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM07 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "VM08$", 14 - .2byte ITEM_HM08 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM08 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 diff --git a/data-de/text/item_descriptions.inc b/data-de/text/item_descriptions.inc deleted file mode 100644 index cde8cfdc8..000000000 --- a/data-de/text/item_descriptions.inc +++ /dev/null @@ -1,1393 +0,0 @@ -gItemDescription_MasterBall: @ 83C2028 - .string "Der beste BALL.\n" - .string "Fängt das POKéMON\n" - .string "garantiert.$" - -gItemDescription_UltraBall: @ 83C205B - .string "BALL mit hoher Er-\n" - .string "folgsquote. Besser\n" - .string "als ein SUPERBALL.$" - -gItemDescription_GreatBall: @ 83C2095 - .string "BALL mit guter Er-\n" - .string "folgsquote. Besser\n" - .string "als ein POKéBALL.$" - -gItemDescription_PokeBall: @ 83C20CC - .string "Damit fängst\n" - .string "du wilde\n" - .string "POKéMON.$" - -gItemDescription_SafariBall: @ 83C20F3 - .string "Ein BALL, der nur\n" - .string "in der SAFARI-ZONE\n" - .string "eingesetzt wird.$" - -gItemDescription_NetBall: @ 83C2128 - .string "BALL fängt POKéMON\n" - .string "des Typs WASSER\n" - .string "und KÄFER besser.$" - -gItemDescription_DiveBall: @ 83C215F - .string "BALL fängt besser\n" - .string "POKéMON auf\n" - .string "dem Meeresgrund.$" - -gItemDescription_NestBall: @ 83C2197 - .string "BALL mit höherer\n" - .string "Erfolgsquote bei\n" - .string "schwachen POKéMON.$" - -gItemDescription_RepeatBall: @ 83C21C3 - .string "BALL fängt besser\n" - .string "bereits gefangene\n" - .string "POKéMON.$" - -gItemDescription_TimerBall: @ 83C21F6 - .string "BALL wird effekti-\n" - .string "ver, je länger der\n" - .string "Kampf dauert.$" - -gItemDescription_LuxuryBall: @ 83C2228 - .string "Behaglicher BALL,\n" - .string "der POKéMON\n" - .string "freundlicher macht.$" - -gItemDescription_PremierBall: @ 83C2256 - .string "Seltener BALL, als\n" - .string "Reminiszenz an ir-\n" - .string "gendein Ereignis.$" - -gItemDescription_Potion: @ 83C2287 - .string "Füllt die KP eines\n" - .string "POKéMON um\n" - .string "20 Punkte auf.$" - -gItemDescription_Antidote: @ 83C22B2 - .string "Heilt Vergiftungen\n" - .string "bei POKéMON.$" - -gItemDescription_BurnHeal: @ 83C22CC - .string "Heilt Verbrennun-\n" - .string "gen bei POKéMON.$" - -gItemDescription_IceHeal: @ 83C22E5 - .string "Taut POKéMON\n" - .string "wieder auf.$" - -gItemDescription_Awakening: @ 83C2300 - .string "Weckt schlafendes\n" - .string "POKéMON auf.$" - -gItemDescription_ParalyzeHeal: @ 83C231C - .string "Heilt Paralyse\n" - .string "eines POKéMON.$" - -gItemDescription_FullRestore: @ 83C2337 - .string "Stellt KP und\n" - .string "Status eines\n" - .string "POKéMON wieder her.$" - -gItemDescription_MaxPotion: @ 83C2366 - .string "Füllt die KP\n" - .string "vollständig auf.$" - -gItemDescription_HyperPotion: @ 83C238A - .string "Füllt die KP eines\n" - .string "POKéMON um\n" - .string "200 Punkte auf.$" - -gItemDescription_SuperPotion: @ 83C23B6 - .string "Füllt die KP eines\n" - .string "POKéMON um\n" - .string "50 Punkte auf.$" - -gItemDescription_FullHeal: @ 83C23E1 - .string "Beseitigt alle\n" - .string "Statusprobleme\n" - .string "eines POKéMON.$" - -gItemDescription_Revive: @ 83C240F - .string "Belebt POKéMON\n" - .string "und füllt die KP zur\n" - .string "Hälfte wieder auf.$" - -gItemDescription_MaxRevive: @ 83C243B - .string "Belebt POKéMON\n" - .string "und füllt KP voll-\n" - .string "ständig wieder auf.$" - -gItemDescription_FreshWater: @ 83C2466 - .string "Ein stilles Wasser,\n" - .string "das die KP um 50\n" - .string "Punkte auffüllt.$" - -gItemDescription_SodaPop: @ 83C2495 - .string "Ein Mineralwasser,\n" - .string "das die KP um 60\n" - .string "Punkte auffüllt.$" - -gItemDescription_Lemonade: @ 83C24C7 - .string "Ein süßes Getränk,\n" - .string "das die KP um 80\n" - .string "Punkte auffüllt.$" - -gItemDescription_MoomooMilk: @ 83C24F9 - .string "Vitaminreiche Milch,\n" - .string "die die KP um 100\n" - .string "Punkte auffüllt.$" - -gItemDescription_EnergyPowder: @ 83C252B - .string "Ein bitteres Pulver,\n" - .string "das die KP um\n" - .string "50 Punkte auffüllt.$" - -gItemDescription_EnergyRoot: @ 83C255A - .string "Eine bittere Wurzel,\n" - .string "die die KP um 200\n" - .string "Punkte auffüllt.$" - -gItemDescription_HealPowder: @ 83C2588 - .string "Ein bitteres Pulver,\n" - .string "das alle Statuspro-\n" - .string "bleme heilt.$" - -gItemDescription_RevivalHerb: @ 83C25B8 - .string "Ein bitteres Kraut,\n" - .string "das besiegte\n" - .string "POKéMON belebt.$" - -gItemDescription_Ether: @ 83C25EB - .string "Füllt AP einer aus-\n" - .string "gewählten Attacke\n" - .string "um 10 Punkte auf.$" - -gItemDescription_MaxEther: @ 83C2615 - .string "Füllt AP einer aus-\n" - .string "gewählten Attacke\n" - .string "vollständig auf.$" - -gItemDescription_Elixir: @ 83C263F - .string "Füllt alle AP\n" - .string "um 10 Punkte auf.$" - -gItemDescription_MaxElixir: @ 83C2663 - .string "Füllt alle AP eines\n" - .string "POKéMON voll-\n" - .string "ständig auf.$" - -gItemDescription_LavaCookie: @ 83C268F - .string "Eine regionale Spe-\n" - .string "zialität. Heilt alle\n" - .string "Statusprobleme.$" - -gItemDescription_BlueFlute: @ 83C26C1 - .string "Eine gläserne Flöte,\n" - .string "die schlafende\n" - .string "POKéMON aufweckt.$" - -gItemDescription_YellowFlute: @ 83C26EE - .string "Eine gläserne Flöte,\n" - .string "die verwirrte\n" - .string "POKéMON heilt.$" - -gItemDescription_RedFlute: @ 83C2721 - .string "Eine gläserne Flöte,\n" - .string "die POKéMON von\n" - .string "Anziehung heilt.$" - -gItemDescription_BlackFlute: @ 83C2755 - .string "Eine gläserne Flöte,\n" - .string "die wilde\n" - .string "POKéMON abhält.$" - -gItemDescription_WhiteFlute: @ 83C2781 - .string "Eine gläserne Flöte,\n" - .string "die wilde\n" - .string "POKéMON anzieht.$" - -gItemDescription_BerryJuice: @ 83C27A8 - .string "Reiner Fruchtsaft,\n" - .string "der die KP um\n" - .string "20 Punkte auffüllt.$" - -gItemDescription_SacredAsh: @ 83C27D9 - .string "Belebt und\n" - .string "erfrischt alle\n" - .string "besiegten POKéMON.$" - -gItemDescription_ShoalSalt: @ 83C2809 - .string "Salz, das sich tief\n" - .string "in der KÜSTEN- \n" - .string "HÖHLE befand.$" - -gItemDescription_ShoalShell: @ 83C2838 - .string "Muschelschale, die\n" - .string "sich in der KÜSTEN- \n" - .string "HÖHLE befand.$" - -gItemDescription_RedShard: @ 83C2865 - .string "Scherbe eines\n" - .string "antiken Relikts\n" - .string "von geringem Wert.$" - -gItemDescription_BlueShard: @ 83C2898 - .string "Scherbe eines\n" - .string "antiken Relikts\n" - .string "von geringem Wert.$" - -gItemDescription_YellowShard: @ 83C28CB - .string "Scherbe eines\n" - .string "antiken Relikts\n" - .string "von geringem Wert.$" - -gItemDescription_GreenShard: @ 83C28FE - .string "Scherbe eines\n" - .string "antiken Relikts\n" - .string "von geringem Wert.$" - -gItemDescription_HPUp: @ 83C2931 - .string "Hebt die KP\n" - .string "eines POKéMON.$" - -gItemDescription_Protein: @ 83C294F - .string "Hebt den\n" - .string "ANGR.-Wert\n" - .string "eines POKéMON.$" - -gItemDescription_Iron: @ 83C2976 - .string "Hebt den\n" - .string "VERT.-Wert\n" - .string "eines POKéMON.$" - -gItemDescription_Carbos: @ 83C299E - .string "Hebt den\n" - .string "INIT.-Wert\n" - .string "eines POKéMON.$" - -gItemDescription_Calcium: @ 83C29C4 - .string "Hebt den\n" - .string "SP. ANGR.-Wert\n" - .string "eines POKéMON.$" - -gItemDescription_RareCandy: @ 83C29EC - .string "Hebt den Level\n" - .string "eines POKéMON\n" - .string "um eins an.$" - -gItemDescription_PPUp: @ 83C2A12 - .string "Hebt die maximale\n" - .string "Anzahl der AP\n" - .string "einer Attacke.$" - -gItemDescription_Zinc: @ 83C2A3C - .string "Hebt den\n" - .string "SP. VERT.-Wert\n" - .string "eines POKéMON.$" - -gItemDescription_PPMax: @ 83C2A64 - .string "Maximiert die\n" - .string "Anzahl der AP\n" - .string "einer Attacke.$" - -gItemDescription_GuardSpec: @ 83C2A93 - .string "Statusänderung\n" - .string "wird für einen\n" - .string "Kampf verhindert.$" - -gItemDescription_DireHit: @ 83C2AC0 - .string "Hebt die\n" - .string "Volltrefferquote\n" - .string "für einen Kampf.$" - -gItemDescription_XAttack: @ 83C2AF1 - .string "Hebt den\n" - .string "ANGR.-Wert\n" - .string "für einen Kampf.$" - -gItemDescription_XDefend: @ 83C2B1B - .string "Hebt den\n" - .string "VERT.-Wert\n" - .string "für einen Kampf.$" - -gItemDescription_XSpeed: @ 83C2B46 - .string "Hebt den\n" - .string "INIT.-Wert\n" - .string "für einen Kampf.$" - -gItemDescription_XAccuracy: @ 83C2B6F - .string "Hebt die\n" - .string "GENAUIGKEIT\n" - .string "für einen Kampf.$" - -gItemDescription_XSpecial: @ 83C2BA2 - .string "Hebt den\n" - .string "SP. ANGR.-Wert\n" - .string "für einen Kampf.$" - -gItemDescription_PokeDoll: @ 83C2BCD - .string "Ermöglicht Flucht\n" - .string "im Kampf gegen\n" - .string "wilde POKéMON.$" - -gItemDescription_FluffyTail: @ 83C2BFE - .string "Entfliehe damit\n" - .string "jedem Kampf mit ei-\n" - .string "nem wilden POKéMON.$" - -gItemDescription_SuperRepel: @ 83C2C2F - .string "Hält 200 Schritte\n" - .string "lang schwache,\n" - .string "wilde POKéMON ab.$" - -gItemDescription_MaxRepel: @ 83C2C57 - .string "Hält 250 Schritte\n" - .string "lang schwache,\n" - .string "wilde POKéMON ab.$" - -gItemDescription_EscapeRope: @ 83C2C7F - .string "Ermöglicht die\n" - .string "Flucht aus Höhlen\n" - .string "oder Ähnlichem.$" - -gItemDescription_Repel: @ 83C2CB1 - .string "Hält 100 Schritte\n" - .string "lang schwache,\n" - .string "wilde POKéMON ab.$" - -gItemDescription_SunStone: @ 83C2CD9 - .string "Löst bei bestimm-\n" - .string "ten POKéMON die\n" - .string "Entwicklung aus.$" - -gItemDescription_MoonStone: @ 83C2D02 - .string "Löst bei bestimm-\n" - .string "ten POKéMON die\n" - .string "Entwicklung aus.$" - -gItemDescription_FireStone: @ 83C2D2B - .string "Löst bei bestimm-\n" - .string "ten POKéMON die\n" - .string "Entwicklung aus.$" - -gItemDescription_ThunderStone: @ 83C2D54 - .string "Löst bei bestimm-\n" - .string "ten POKéMON die\n" - .string "Entwicklung aus.$" - -gItemDescription_WaterStone: @ 83C2D7D - .string "Löst bei bestimm-\n" - .string "ten POKéMON die\n" - .string "Entwicklung aus.$" - -gItemDescription_LeafStone: @ 83C2DA6 - .string "Löst bei bestimm-\n" - .string "ten POKéMON die\n" - .string "Entwicklung aus.$" - -gItemDescription_TinyMushroom: @ 83C2DCF - .string "Ein gemeiner\n" - .string "Pilz von \n" - .string "geringem Wert.$" - -gItemDescription_BigMushroom: @ 83C2E00 - .string "Ein seltener\n" - .string "Pilz von \n" - .string "hohem Wert.$" - -gItemDescription_Pearl: @ 83C2E31 - .string "Eine hübsche Perle\n" - .string "von geringem Wert.$" - -gItemDescription_BigPearl: @ 83C2E56 - .string "Schöne, große Per-\n" - .string "le, die einen hohen\n" - .string "Preis erzielen kann.$" - -gItemDescription_Stardust: @ 83C2E8C - .string "Schöner, roter\n" - .string "Sand, der von\n" - .string "großem Wert ist.$" - -gItemDescription_StarPiece: @ 83C2EBD - .string "Roter Edelstein,\n" - .string "der einen hohen\n" - .string "Preis erzielen kann.$" - -gItemDescription_Nugget: @ 83C2EF3 - .string "Ein Barren aus pu-\n" - .string "rem Gold, der von\n" - .string "großem Wert ist.$" - -gItemDescription_HeartScale: @ 83C2F27 - .string "Hübsche Schuppe,\n" - .string "höchst begehrt\n" - .string "bei Sammlern.$" - -gItemDescription_OrangeMail: @ 83C2F54 - .string "BRIEF (Tragen) mit \n" - .string "ZIGZACHS-\n" - .string "Aufdruck.$" - -gItemDescription_HarborMail: @ 83C2F84 - .string "BRIEF (Tragen) mit \n" - .string "WINGULL-\n" - .string "Aufdruck.$" - -gItemDescription_GlitterMail: @ 83C2FB2 - .string "BRIEF (Tragen) mit \n" - .string "PIKACHU-\n" - .string "Aufdruck.$" - -gItemDescription_MechMail: @ 83C2FE0 - .string "BRIEF (Tragen) mit \n" - .string "MAGNETILO-\n" - .string "Aufdruck.$" - -gItemDescription_WoodMail: @ 83C3010 - .string "BRIEF (Tragen) mit \n" - .string "BUMMELZ-\n" - .string "Aufdruck.$" - -gItemDescription_WaveMail: @ 83C303E - .string "BRIEF (Tragen) mit \n" - .string "WAILMER-\n" - .string "Aufdruck.$" - -gItemDescription_BeadMail: @ 83C306C - .string "BRIEF mit Abbildung\n" - .string "des POKéMON, das\n" - .string "ihn trägt.$" - -gItemDescription_ShadowMail: @ 83C309C - .string "BRIEF (Tragen) mit \n" - .string "ZWIRRLICHT-\n" - .string "Aufdruck.$" - -gItemDescription_TropicMail: @ 83C30CA - .string "BRIEF (Tragen) mit \n" - .string "BLUBELLA-\n" - .string "Aufdruck.$" - -gItemDescription_DreamMail: @ 83C30FA - .string "BRIEF mit Abbildung\n" - .string "des POKéMON, das\n" - .string "ihn trägt.$" - -gItemDescription_FabMail: @ 83C312A - .string "BRIEF (Tragen) mit \n" - .string "edlem Aufdruck.$" - -gItemDescription_RetroMail: @ 83C3159 - .string "BRIEF mit den Ab-\n" - .string "bildungen dreier\n" - .string "POKéMON-Gesichter.$" - -gItemDescription_CheriBerry: @ 83C3187 - .string "Item (Tragen) be-\n" - .string "wirkt Selbstheilung\n" - .string "bei Paralyse.$" - -gItemDescription_ChestoBerry: @ 83C31B3 - .string "Item (Tragen)\n" - .string "weckt schlafendes\n" - .string "POKéMON im Kampf.$" - -gItemDescription_PechaBerry: @ 83C31DF - .string "Item (Tragen) be-\n" - .string "wirkt Selbstheilung\n" - .string "bei Vergiftung.$" - -gItemDescription_RawstBerry: @ 83C320B - .string "Item (Tragen) be-\n" - .string "wirkt Selbstheilung\n" - .string "bei Verbrennung.$" - -gItemDescription_AspearBerry: @ 83C3234 - .string "Item (Tragen) be-\n" - .string "wirkt Selbstheilung\n" - .string "bei Frost.$" - -gItemDescription_LeppaBerry: @ 83C3261 - .string "Item (Tragen) füllt\n" - .string "AP im Kampf um\n" - .string "10 Punkte auf.$" - -gItemDescription_OranBerry: @ 83C328C - .string "Item (Tragen) füllt\n" - .string "KP im Kampf um\n" - .string "10 Punkte auf.$" - -gItemDescription_PersimBerry: @ 83C32B7 - .string "Item (Tragen) be-\n" - .string "wirkt Selbstheilung\n" - .string "bei Verwirrung.$" - -gItemDescription_LumBerry: @ 83C32E3 - .string "Item (Tragen) be-\n" - .string "wirkt Selbstheilung\n" - .string "bei Statusproblem.$" - -gItemDescription_SitrusBerry: @ 83C330C - .string "Item (Tragen) füllt\n" - .string "KP im Kampf um\n" - .string "30 Punkte auf.$" - -gItemDescription_FigyBerry: @ 83C3337 - .string "Item (Tragen) füllt\n" - .string "im Kampf KP auf, be-\n" - .string "wirkt evtl. Verwirr.$" - -gItemDescription_WikiBerry: @ 83C3365 - .string "Item (Tragen) füllt\n" - .string "KP auf, bewirkt\n" - .string "evtl. Verwirrung.$" - -gItemDescription_MagoBerry: @ 83C3393 - .string "Item (Tragen) füllt\n" - .string "KP auf, bewirkt\n" - .string "evtl. Verwirrung.$" - -gItemDescription_AguavBerry: @ 83C33C1 - .string "Item (Tragen) füllt\n" - .string "KP auf, bewirkt\n" - .string "evtl. Verwirrung.$" - -gItemDescription_IapapaBerry: @ 83C33EF - .string "Item (Tragen) füllt\n" - .string "KP auf, bewirkt\n" - .string "evtl. Verwirrung.$" - -gItemDescription_RazzBerry: @ 83C341D - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "HIMMIH wächst.$" - -gItemDescription_BlukBerry: @ 83C3451 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "MORB wächst.$" - -gItemDescription_NanabBerry: @ 83C3485 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "NANAB wächst.$" - -gItemDescription_WepearBerry: @ 83C34BA - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "NIRBE wächst.$" - -gItemDescription_PinapBerry: @ 83C34F0 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "SANANA wächst.$" - -gItemDescription_PomegBerry: @ 83C3525 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "GRANA wächst.$" - -gItemDescription_KelpsyBerry: @ 83C355A - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "SETANG wächst.$" - -gItemDescription_QualotBerry: @ 83C3590 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "QUALOT wächst.$" - -gItemDescription_HondewBerry: @ 83C35C6 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "HONMEL wächst.$" - -gItemDescription_GrepaBerry: @ 83C35FC - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "LABRUS wächst.$" - -gItemDescription_TamatoBerry: @ 83C3631 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "TAMOT wächst.$" - -gItemDescription_CornnBerry: @ 83C3667 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "SAIM wächst.$" - -gItemDescription_MagostBerry: @ 83C369C - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "MAGOST wächst.$" - -gItemDescription_RabutaBerry: @ 83C36D2 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "RABUTA wächst.$" - -gItemDescription_NomelBerry: @ 83C3708 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "TRONZI wächst.$" - -gItemDescription_SpelonBerry: @ 83C373D - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "KIWAN wächst.$" - -gItemDescription_PamtreBerry: @ 83C3773 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "PALLM wächst.$" - -gItemDescription_WatmelBerry: @ 83C37A9 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "WASMEL wächst.$" - -gItemDescription_DurinBerry: @ 83C37DF - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "DURIN wächst.$" - -gItemDescription_BelueBerry: @ 83C3814 - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "MYRTIL wächst.$" - -gItemDescription_LiechiBerry: @ 83C3849 - .string "Item (Tragen) hebt\n" - .string "ANGR.-Wert in einer\n" - .string "Notlage.$" - -gItemDescription_GanlonBerry: @ 83C3874 - .string "Item (Tragen) hebt\n" - .string "VERT.-Wert in einer\n" - .string "Notlage.$" - -gItemDescription_SalacBerry: @ 83C38A0 - .string "Item (Tragen) hebt\n" - .string "INIT.-Wert in einer\n" - .string "Notlage.$" - -gItemDescription_PetayaBerry: @ 83C38CA - .string "Item (Tragen) hebt\n" - .string "SP. ANGR.-Wert\n" - .string "in einer Notlage.$" - -gItemDescription_ApicotBerry: @ 83C38F6 - .string "Item (Tragen) hebt\n" - .string "SP. VERT.-Wert\n" - .string "in einer Notlage.$" - -gItemDescription_LansatBerry: @ 83C3922 - .string "Item (Tragen) hebt\n" - .string "Volltrefferquote\n" - .string "in einer Notlage.$" - -gItemDescription_StarfBerry: @ 83C395A - .string "Item (Tragen) hebt\n" - .string "einen Statuswert\n" - .string "in einer Notlage.$" - -gItemDescription_EnigmaBerry: @ 83C398D - .string "Säe {POKEBLOCK}-Zutat\n" - .string "in Lehmboden, damit\n" - .string "Mysterium wächst.$" - -gItemDescription_BrightPowder: @ 83C39C6 - .string "Item (Tragen)\n" - .string "senkt die Genauig-\n" - .string "keit des Gegners.$" - -gItemDescription_WhiteHerb: @ 83C39F9 - .string "Item (Tragen) hebt\n" - .string "jede Statusverän-\n" - .string "derung auf.$" - -gItemDescription_MachoBrace: @ 83C3A25 - .string "Item (Tragen) för-\n" - .string "dert Wachstum,\n" - .string "aber senkt INIT.$" - -gItemDescription_ExpShare: @ 83C3A5A - .string "Item (Tragen) teilt\n" - .string "die Kampf-EP.$" - -gItemDescription_QuickClaw: @ 83C3A8A - .string "Item (Tragen) hebt\n" - .string "die Erstschlag-\n" - .string "quote.$" - -gItemDescription_SootheBell: @ 83C3AC1 - .string "Item (Tragen) be-\n" - .string "sänftigt und för-\n" - .string "dert Sympathie.$" - -gItemDescription_MentalHerb: @ 83C3AF8 - .string "Item (Tragen) er-\n" - .string "löst POKéMON von\n" - .string "der Anziehung.$" - -gItemDescription_ChoiceBand: @ 83C3B2B - .string "Stärkt eine Atta-\n" - .string "cke. Aber nur diese\n" - .string "ist einsetzbar.$" - -gItemDescription_KingsRock: @ 83C3B5E - .string "Item (Tragen) kann\n" - .string "Gegner zurück-\n" - .string "weichen lassen.$" - -gItemDescription_SilverPowder: @ 83C3B98 - .string "Item (Tragen) ver-\n" - .string "bessert KÄFER-\n" - .string "Attacken.$" - -gItemDescription_AmuletCoin: @ 83C3BCD - .string "Doppelter Geldbe-\n" - .string "trag, wenn Träger \n" - .string "am Kampf teilnimmt.$" - -gItemDescription_CleanseTag: @ 83C3BFF - .string "Item (Tragen) kann\n" - .string "wilde POKéMON\n" - .string "abhalten.$" - -gItemDescription_SoulDew: @ 83C3C2A - .string "Item (Tragen) hebt\n" - .string "SP.ANG & SP.VER von\n" - .string "LATIOS & LATIAS.$" - -gItemDescription_DeepSeaTooth: @ 83C3C62 - .string "Item (Tragen) hebt\n" - .string "SP. ANGR. von\n" - .string "PERLU.$" - -gItemDescription_DeepSeaScale: @ 83C3C93 - .string "Item (Tragen) hebt\n" - .string "SP. VERT. von\n" - .string "PERLU.$" - -gItemDescription_SmokeBall: @ 83C3CC4 - .string "Item (Tragen) er-\n" - .string "möglicht Flucht vor\n" - .string "wilden POKéMON.$" - -gItemDescription_Everstone: @ 83C3CFE - .string "Wundersamer Stein\n" - .string "zum Tragen. Bewirkt\n" - .string "Entwicklungsstopp.$" - -gItemDescription_FocusBand: @ 83C3D36 - .string "Item (Tragen) kann\n" - .string "manchmal K.O.\n" - .string "verhindern.$" - -gItemDescription_LuckyEgg: @ 83C3D67 - .string "Item (Tragen)\n" - .string "erhöht im Kampf er-\n" - .string "haltene Extra-EP.$" - -gItemDescription_ScopeLens: @ 83C3D9D - .string "Item (Tragen)\n" - .string "erhöht die\n" - .string "Volltrefferquote.$" - -gItemDescription_MetalCoat: @ 83C3DCD - .string "Item (Tragen)\n" - .string "verstärkt STAHL-\n" - .string "Attacken.$" - -gItemDescription_Leftovers: @ 83C3E04 - .string "Item (Tragen) füllt\n" - .string "im Kampf langsam\n" - .string "KP wieder auf.$" - -gItemDescription_DragonScale: @ 83C3E36 - .string "Seltsame Haut zum\n" - .string "Tragen für POKéMON\n" - .string "des Typs DRACHEN.$" - -gItemDescription_LightBall: @ 83C3E64 - .string "Item (Tragen)\n" - .string "erhöht PIKACHUS\n" - .string "SP. ANGR.$" - -gItemDescription_SoftSand: @ 83C3E94 - .string "Item (Tragen)\n" - .string "verstärkt BODEN-\n" - .string "Attacken.$" - -gItemDescription_HardStone: @ 83C3ECC - .string "Item (Tragen)\n" - .string "verstärkt GESTEIN-\n" - .string "Attacken.$" - -gItemDescription_MiracleSeed: @ 83C3F02 - .string "Item (Tragen)\n" - .string "verstärkt PFLAN-\n" - .string "ZEN-Attacken.$" - -gItemDescription_BlackGlasses: @ 83C3F39 - .string "Item (Tragen)\n" - .string "verstärkt UNLICHT-\n" - .string "Attacken.$" - -gItemDescription_BlackBelt: @ 83C3F6F - .string "Item (Tragen)\n" - .string "verstärkt KAMPF-\n" - .string "Attacken.$" - -gItemDescription_Magnet: @ 83C3F9D - .string "Item (Tragen)\n" - .string "verstärkt ELEKTRO-\n" - .string "Attacken.$" - -gItemDescription_MysticWater: @ 83C3FCB - .string "Item (Tragen)\n" - .string "verstärkt WASSER-\n" - .string "Attacken.$" - -gItemDescription_SharpBeak: @ 83C4002 - .string "Item (Tragen)\n" - .string "verstärkt FLUG-\n" - .string "Attacken.$" - -gItemDescription_PoisonBarb: @ 83C403A - .string "Item (Tragen)\n" - .string "verstärkt GIFT-\n" - .string "Attacken.$" - -gItemDescription_NeverMeltIce: @ 83C4072 - .string "Item (Tragen)\n" - .string "verstärkt EIS-\n" - .string "Attacken.$" - -gItemDescription_SpellTag: @ 83C40A7 - .string "Item (Tragen)\n" - .string "verstärkt GEIST-\n" - .string "Attacken.$" - -gItemDescription_TwistedSpoon: @ 83C40DE - .string "Item (Tragen)\n" - .string "verstärkt PSYCHO-\n" - .string "Attacken.$" - -gItemDescription_Charcoal: @ 83C410B - .string "Item (Tragen)\n" - .string "verstärkt FEUER-\n" - .string "Attacken.$" - -gItemDescription_DragonFang: @ 83C4141 - .string "Item (Tragen)\n" - .string "verstärkt DRACHEN-\n" - .string "Attacken.$" - -gItemDescription_SilkScarf: @ 83C4179 - .string "Item (Tragen)\n" - .string "verstärkt NORMAL-\n" - .string "Attacken.$" - -gItemDescription_UpGrade: @ 83C41B1 - .string "Eine mysteriöse\n" - .string "Box der SILPH CO.$" - -gItemDescription_ShellBell: @ 83C41D2 - .string "Item (Tragen) füllt\n" - .string "im Kampf langsam \n" - .string "KP wieder auf.$" - -gItemDescription_SeaIncense: @ 83C4206 - .string "Item (Tragen)\n" - .string "verstärkt WASSER-\n" - .string "Attacken.$" - -gItemDescription_LaxIncense: @ 83C4239 - .string "Item (Tragen)\n" - .string "senkt Genauigkeit\n" - .string "des Gegners.$" - -gItemDescription_LuckyPunch: @ 83C426E - .string "Item (Tragen)\n" - .string "erhöht CHANEIRAS\n" - .string "Volltrefferquote.$" - -gItemDescription_MetalPowder: @ 83C42A3 - .string "Item (Tragen)\n" - .string "erhöht VERT.-Wert\n" - .string "von DITTO.$" - -gItemDescription_ThickClub: @ 83C42C4 - .string "Irgendeine Art\n" - .string "Knochen von\n" - .string "geringem Wert.$" - -gItemDescription_Stick: @ 83C42F1 - .string "Gemeiner Lauch,\n" - .string "der nur von\n" - .string "geringem Wert ist.$" - -gItemDescription_RedScarf: @ 83C431A - .string "Item (Tragen) hebt\n" - .string "COOL.-Wert für den\n" - .string "WETTBEWERB.$" - -gItemDescription_BlueScarf: @ 83C4344 - .string "Item (Tragen) hebt\n" - .string "SCHÖN.-Wert für den\n" - .string "WETTBEWERB.$" - -gItemDescription_PinkScarf: @ 83C4370 - .string "Item (Tragen) hebt\n" - .string "ANMUT-Wert für den\n" - .string "WETTBEWERB.$" - -gItemDescription_GreenScarf: @ 83C439A - .string "Item (Tragen) hebt\n" - .string "KLUG.-Wert für den\n" - .string "WETTBEWERB.$" - -gItemDescription_YellowScarf: @ 83C43C5 - .string "Item (Tragen) hebt\n" - .string "STÄRKE-Wert für\n" - .string "den WETTBEWERB.$" - -gItemDescription_MachBike: @ 83C43F0 - .string "Klapprad, das dop-\n" - .string "pelt so schnell ist\n" - .string "wie ein Fußgänger.$" - -gItemDescription_CoinCase: @ 83C4425 - .string "Kann bis zu 9.999\n" - .string "MÜNZEN aufnehmen.$" - -gItemDescription_Itemfinder: @ 83C444A - .string "Ein Gerät, das ver-\n" - .string "borgene Items via \n" - .string "Schallwellen ortet.$" - -gItemDescription_OldRod: @ 83C447C - .string "Damit kannst du in\n" - .string "jedem Gewässer\n" - .string "POKéMON angeln.$" - -gItemDescription_GoodRod: @ 83C44AF - .string "Eine recht gute\n" - .string "Angel zum\n" - .string "POKéMON-Fischen.$" - -gItemDescription_SuperRod: @ 83C44DF - .string "Die beste Angel,\n" - .string "um nach POKéMON\n" - .string "zu fischen.$" - -gItemDescription_SSTicket: @ 83C450F - .string "Ein Ticket zur\n" - .string "Fahrt auf\n" - .string "einer Fähre.$" - -gItemDescription_ContestPass: @ 83C453B - .string "Ausweis zur Teil-\n" - .string "nahme an POKéMON- \n" - .string "WETTBEWERBEN.$" - -gItemDescription_WailmerPail: @ 83C456C - .string "Ein Gegenstand zum\n" - .string "Gießen von Pflan-\n" - .string "zen wie BEEREN.$" - -gItemDescription_DevonGoods: @ 83C4599 - .string "Päckchen, das Ma-\n" - .string "schinenteile von\n" - .string "DEVON enthält.$" - -gItemDescription_SootSack: @ 83C45C8 - .string "Beutel zum Sammeln\n" - .string "und Aufbewahren\n" - .string "von Vulkanasche.$" - -gItemDescription_BasementKey: @ 83C45F5 - .string "Schlüssel für NEU\n" - .string "MALVENFROH unter\n" - .string "MALVENFROH CITY.$" - -gItemDescription_AcroBike: @ 83C4625 - .string "Klapprad ermög-\n" - .string "licht Sprünge und\n" - .string "Wheelies.$" - -gItemDescription_PokeblockCase: @ 83C4656 - .string "Box für {POKEBLOCK},\n" - .string "die im BEERENMIXER\n" - .string "hergestellt werden.$" - -gItemDescription_Letter: @ 83C468B - .string "Brief an TROY\n" - .string "vom PRÄSIDENTEN\n" - .string "der DEVON CORP.$" - -gItemDescription_EonTicket: @ 83C46C4 - .string "Bootsticket zu\n" - .string "einer fernen Insel\n" - .string "im Süden.$" - -gItemDescription_RedOrb: @ 83C46F9 - .string "Rot glühende Kugel,\n" - .string "die eine uralte\n" - .string "Macht bergen soll.$" - -gItemDescription_BlueOrb: @ 83C472E - .string "Blau glühende Kugel,\n" - .string "die eine uralte\n" - .string "Macht bergen soll.$" - -gItemDescription_Scanner: @ 83C4764 - .string "Ein Gerät, das\n" - .string "im SCHIFFSWRACK\n" - .string "gefunden wurde.$" - -gItemDescription_GoGoggles: @ 83C478E - .string "Schicke Brille, die\n" - .string "die Augen vor Sand-\n" - .string "stürmen schützt.$" - -gItemDescription_Meteorite: @ 83C47C6 - .string "Meteorit. Fundort:\n" - .string "METEORFÄLLE.$" - -gItemDescription_Room1Key: @ 83C47E9 - .string "Schlüssel zur Tür\n" - .string "einer Kabine auf\n" - .string "dem SCHIFFSWRACK.$" - -gItemDescription_Room2Key: @ 83C481C - .string "Schlüssel zur Tür\n" - .string "einer Kabine auf\n" - .string "dem SCHIFFSWRACK.$" - -gItemDescription_Room4Key: @ 83C484F - .string "Schlüssel zur Tür\n" - .string "einer Kabine auf\n" - .string "dem SCHIFFSWRACK.$" - -gItemDescription_Room6Key: @ 83C4882 - .string "Schlüssel zur Tür\n" - .string "einer Kabine auf\n" - .string "dem SCHIFFSWRACK.$" - -gItemDescription_StorageKey: @ 83C48B5 - .string "Schlüssel zum\n" - .string "Lagerraum auf\n" - .string "dem SCHIFFSWRACK.$" - -gItemDescription_RootFossil: @ 83C48E7 - .string "Fossil eines ural-\n" - .string "ten POKéMON, das in\n" - .string "der Tiefsee lebte.$" - -gItemDescription_ClawFossil: @ 83C491B - .string "Fossil eines ural-\n" - .string "ten POKéMON, das in\n" - .string "der Tiefsee lebte.$" - -gItemDescription_DevonScope: @ 83C494F - .string "Gerät von DEVON, \n" - .string "das unsichtbare\n" - .string "POKéMON entlarvt.$" - -gItemDescription_TM01: @ 83C4985 - .string "Stark. POKéMON er-\n" - .string "schrickt vielleicht\n" - .string "bei gegn. Attacke.$" - -gItemDescription_TM02: @ 83C49BC - .string "Gegner wird mit\n" - .string "langen, scharfen\n" - .string "Krallen attackiert.$" - -gItemDescription_TM03: @ 83C49EE - .string "Eine Ultraschall-\n" - .string "welle, die den Geg-\n" - .string "ner verwirren kann.$" - -gItemDescription_TM04: @ 83C4A1D - .string "Verstärkt SP. ANGR.\n" - .string "und SP. VERT. durch\n" - .string "Konzentration.$" - -gItemDescription_TM05: @ 83C4A4E - .string "Brüller schlägt Geg-\n" - .string "ner in die Flucht \n" - .string "und beendet Kampf.$" - -gItemDescription_TM06: @ 83C4A88 - .string "Vergiftet den Geg-\n" - .string "ner und schadet \n" - .string "ihm zunehmend.$" - -gItemDescription_TM07: @ 83C4ABD - .string "Hagelsturm schadet\n" - .string "allen POKéMON außer\n" - .string "denen des Typs EIS.$" - -gItemDescription_TM08: @ 83C4AF2 - .string "Stärkt den Körper.\n" - .string "So steigt ANGR.-\n" - .string "und VERT.-Wert.$" - -gItemDescription_TM09: @ 83C4B24 - .string "Bepflanzt den\n" - .string "Gegner mit 2 bis 5\n" - .string "Samen auf einmal.$" - -gItemDescription_TM10: @ 83C4B54 - .string "Die Stärke dieser\n" - .string "Attacke hängt vom \n" - .string "jew. POKéMON ab.$" - -gItemDescription_TM11: @ 83C4B85 - .string "Verstärkt FEUER-\n" - .string "Attacken über \n" - .string "5 Runden.$" - -gItemDescription_TM12: @ 83C4BB6 - .string "Reizt Geg. so, dass\n" - .string "er nur Angriffs-\n" - .string "attacken einsetzt.$" - -gItemDescription_TM13: @ 83C4BE7 - .string "Eisig kalter Strahl,\n" - .string "der den Gegner\n" - .string "einfrieren kann.$" - -gItemDescription_TM14: @ 83C4C17 - .string "Eis- und Schnee- \n" - .string "Attacke, die Gegner\n" - .string "einfrieren kann.$" - -gItemDescription_TM15: @ 83C4C50 - .string "Stark, muss sich\n" - .string "aber in der nächs-\n" - .string "ten Runde aufladen.$" - -gItemDescription_TM16: @ 83C4C7E - .string "Wand aus Licht, die\n" - .string "Senkung des SP.\n" - .string "ANGR. verringert.$" - -gItemDescription_TM17: @ 83C4CB2 - .string "Schützt, könnte\n" - .string "aber bei häufigem\n" - .string "Einsatz versagen.$" - -gItemDescription_TM18: @ 83C4CEA - .string "Verstärkt WASSER-\n" - .string "Attacken über\n" - .string "5 Runden.$" - -gItemDescription_TM19: @ 83C4D1C - .string "Füllt KP um die Hälf-\n" - .string "te der zugefügten\n" - .string "Schadenspunkte.$" - -gItemDescription_TM20: @ 83C4D54 - .string "Mystische Macht\n" - .string "verhindert Status-\n" - .string "veränderungen.$" - -gItemDescription_TM21: @ 83C4D87 - .string "Je unbeliebter der\n" - .string "Trainer, desto grö-\n" - .string "ßer die Wirkung.$" - -gItemDescription_TM22: @ 83C4DC1 - .string "Erst wird Sonnen-\n" - .string "licht absorbiert,\n" - .string "dann erfolgt Angr.$" - -gItemDescription_TM23: @ 83C4DFB - .string "Schlag mit harter\n" - .string "Rute. Kann gleichz.\n" - .string "VERT.-Wert senken.$" - -gItemDescription_TM24: @ 83C4E31 - .string "Starke Elektro-\n" - .string "Attacke kann\n" - .string "Paralyse bewirken.$" - -gItemDescription_TM25: @ 83C4E66 - .string "Mächtiger Donner-\n" - .string "schlag, der Paraly-\n" - .string "se bewirken kann.$" - -gItemDescription_TM26: @ 83C4E9B - .string "Starkes Beben hat\n" - .string "keinen Einfluss auf\n" - .string "fliegende Gegner.$" - -gItemDescription_TM27: @ 83C4ECD - .string "Je beliebter der\n" - .string "Trainer, desto grö-\n" - .string "ßer die Wirkung.$" - -gItemDescription_TM28: @ 83C4F07 - .string "Erst gräbt sich An-\n" - .string "greifer ein, dann\n" - .string "erfolgt Angriff.$" - -gItemDescription_TM29: @ 83C4F3E - .string "Starke PSYCHO-At-\n" - .string "tacke, die SP. VERT.\n" - .string "senken kann.$" - -gItemDescription_TM30: @ 83C4F70 - .string "Dunkler Klumpen,\n" - .string "der SP. VERT.\n" - .string "senken kann.$" - -gItemDescription_TM31: @ 83C4FA4 - .string "Zerstört Barrieren\n" - .string "wie SCHUTZSCHILD,\n" - .string "fügt Schaden zu.$" - -gItemDescription_TM32: @ 83C4FDB - .string "Virtueller Doppel-\n" - .string "gänger erhöht\n" - .string "den Flucht-Wert.$" - -gItemDescription_TM33: @ 83C500B - .string "Wand aus Licht, die\n" - .string "physische Atta-\n" - .string "cken schwächt.$" - -gItemDescription_TM34: @ 83C5042 - .string "Fügt Gegner einen\n" - .string "Stromschlag zu,\n" - .string "der nie verfehlt.$" - -gItemDescription_TM35: @ 83C507D - .string "Entfesselt Feuer-\n" - .string "strahl, der Gegner\n" - .string "verbrennen kann.$" - -gItemDescription_TM36: @ 83C50AC - .string "Bewirft Gegner mit\n" - .string "Matsch, der ihn\n" - .string "vergiften kann.$" - -gItemDescription_TM37: @ 83C50DC - .string "Sandsturm trifft\n" - .string "etliche Runden lang\n" - .string "die Kämpfenden.$" - -gItemDescription_TM38: @ 83C5115 - .string "Kraftvolle FEUER-\n" - .string "Attacke, die Gegner\n" - .string "verbrennen kann.$" - -gItemDescription_TM39: @ 83C5143 - .string "Stoppt GESTEIN-\n" - .string "Attacken. Kann\n" - .string "INIT.-Wert senken.$" - -gItemDescription_TM40: @ 83C517A - .string "Eine extrem schnel-\n" - .string "le Attacke, die\n" - .string "unausweichlich ist.$" - -gItemDescription_TM41: @ 83C51AA - .string "Blockiert gerade\n" - .string "verwendete Atta-\n" - .string "cke des Gegners.$" - -gItemDescription_TM42: @ 83C51DE - .string "Stärkt ANGR.-Wert\n" - .string "bei Gift, Brand oder\n" - .string "Paralyse.$" - -gItemDescription_TM43: @ 83C5211 - .string "Die Umgebung\n" - .string "beeinflusst die Art\n" - .string "der Attacke.$" - -gItemDescription_TM44: @ 83C5245 - .string "POKéMON schläft\n" - .string "2 Runden. Füllt KP\n" - .string "und heilt Status.$" - -gItemDescription_TM45: @ 83C527F - .string "Erschwert Angriff\n" - .string "auf Gegner des an-\n" - .string "deren Geschlechts.$" - -gItemDescription_TM46: @ 83C52B6 - .string "Beim Angriff wird\n" - .string "Item des Gegners\n" - .string "evtl. gestohlen.$" - -gItemDescription_TM47: @ 83C52E9 - .string "Den Gegner\n" - .string "treffen stählerne\n" - .string "Flügelschläge.$" - -gItemDescription_TM48: @ 83C531A - .string "Austausch der\n" - .string "Fähigkeiten bei der\n" - .string "nächsten Attacke.$" - -gItemDescription_TM49: @ 83C5354 - .string "Stiehlt die\n" - .string "Effekte der gegne-\n" - .string "rischen Attacke.$" - -gItemDescription_TM50: @ 83C538D - .string "Höchste Kraft,\n" - .string "aber senkt SP.\n" - .string "ANGR. enorm.$" - -gItemDescription_HM01: @ 83C53C4 - .string "Gegner wird mit\n" - .string "klingenscharfen\n" - .string "Krallen attackiert.$" - -gItemDescription_HM02: @ 83C53F0 - .string "PKMN fliegt hoch,\n" - .string "dann erfolgt rasan-\n" - .string "ter Luftangriff.$" - -gItemDescription_HM03: @ 83C5424 - .string "Eine riesige Flut-\n" - .string "welle ergießt sich\n" - .string "über dem Gegner.$" - -gItemDescription_HM04: @ 83C545A - .string "Den Gegner trifft \n" - .string "ein energiegelade-\n" - .string "ner Kraftschlag.$" - -gItemDescription_HM05: @ 83C5485 - .string "Ein gleißender\n" - .string "Lichtstrahl, der\n" - .string "Genau. senken kann.$" - -gItemDescription_HM06: @ 83C54BD - .string "Steinbrecherische\n" - .string "Attacke, die VERT.-\n" - .string "Wert senken kann.$" - -gItemDescription_HM07: @ 83C54F4 - .string "Mächtige Attacke,\n" - .string "die Wasserfälle\n" - .string "bezwingbar macht.$" - -gItemDescription_HM08: @ 83C552B - .string "PKMN taucht ab,\n" - .string "dann erfolgt An-\n" - .string "griff aus der Tiefe.$" - -gItemDescription_Dummy: @ 83C5562 - .string "$" diff --git a/data/berry_tag_screen.s b/data/berry_tag_screen.s deleted file mode 100644 index d1be8a9d7..000000000 --- a/data/berry_tag_screen.s +++ /dev/null @@ -1,12 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_0841192C:: @ 841192C - .4byte ContestStatsText_VerySoft - .4byte ContestStatsText_Soft - .4byte ContestStatsText_Hard - .4byte ContestStatsText_VeryHard - .4byte ContestStatsText_SuperHard diff --git a/data/crc16_table.inc b/data/crc16_table.inc deleted file mode 100644 index a1f8babd0..000000000 --- a/data/crc16_table.inc +++ /dev/null @@ -1,34 +0,0 @@ - .align 1 -gCrc16Table:: @ 82087DC - .2byte 0x0000, 0x1189, 0x2312, 0x329B, 0x4624, 0x57AD, 0x6536, 0x74BF - .2byte 0x8C48, 0x9DC1, 0xAF5A, 0xBED3, 0xCA6C, 0xDBE5, 0xE97E, 0xF8F7 - .2byte 0x1081, 0x0108, 0x3393, 0x221A, 0x56A5, 0x472C, 0x75B7, 0x643E - .2byte 0x9CC9, 0x8D40, 0xBFDB, 0xAE52, 0xDAED, 0xCB64, 0xF9FF, 0xE876 - .2byte 0x2102, 0x308B, 0x0210, 0x1399, 0x6726, 0x76AF, 0x4434, 0x55BD - .2byte 0xAD4A, 0xBCC3, 0x8E58, 0x9FD1, 0xEB6E, 0xFAE7, 0xC87C, 0xD9F5 - .2byte 0x3183, 0x200A, 0x1291, 0x0318, 0x77A7, 0x662E, 0x54B5, 0x453C - .2byte 0xBDCB, 0xAC42, 0x9ED9, 0x8F50, 0xFBEF, 0xEA66, 0xD8FD, 0xC974 - .2byte 0x4204, 0x538D, 0x6116, 0x709F, 0x0420, 0x15A9, 0x2732, 0x36BB - .2byte 0xCE4C, 0xDFC5, 0xED5E, 0xFCD7, 0x8868, 0x99E1, 0xAB7A, 0xBAF3 - .2byte 0x5285, 0x430C, 0x7197, 0x601E, 0x14A1, 0x0528, 0x37B3, 0x263A - .2byte 0xDECD, 0xCF44, 0xFDDF, 0xEC56, 0x98E9, 0x8960, 0xBBFB, 0xAA72 - .2byte 0x6306, 0x728F, 0x4014, 0x519D, 0x2522, 0x34AB, 0x0630, 0x17B9 - .2byte 0xEF4E, 0xFEC7, 0xCC5C, 0xDDD5, 0xA96A, 0xB8E3, 0x8A78, 0x9BF1 - .2byte 0x7387, 0x620E, 0x5095, 0x411C, 0x35A3, 0x242A, 0x16B1, 0x0738 - .2byte 0xFFCF, 0xEE46, 0xDCDD, 0xCD54, 0xB9EB, 0xA862, 0x9AF9, 0x8B70 - .2byte 0x8408, 0x9581, 0xA71A, 0xB693, 0xC22C, 0xD3A5, 0xE13E, 0xF0B7 - .2byte 0x0840, 0x19C9, 0x2B52, 0x3ADB, 0x4E64, 0x5FED, 0x6D76, 0x7CFF - .2byte 0x9489, 0x8500, 0xB79B, 0xA612, 0xD2AD, 0xC324, 0xF1BF, 0xE036 - .2byte 0x18C1, 0x0948, 0x3BD3, 0x2A5A, 0x5EE5, 0x4F6C, 0x7DF7, 0x6C7E - .2byte 0xA50A, 0xB483, 0x8618, 0x9791, 0xE32E, 0xF2A7, 0xC03C, 0xD1B5 - .2byte 0x2942, 0x38CB, 0x0A50, 0x1BD9, 0x6F66, 0x7EEF, 0x4C74, 0x5DFD - .2byte 0xB58B, 0xA402, 0x9699, 0x8710, 0xF3AF, 0xE226, 0xD0BD, 0xC134 - .2byte 0x39C3, 0x284A, 0x1AD1, 0x0B58, 0x7FE7, 0x6E6E, 0x5CF5, 0x4D7C - .2byte 0xC60C, 0xD785, 0xE51E, 0xF497, 0x8028, 0x91A1, 0xA33A, 0xB2B3 - .2byte 0x4A44, 0x5BCD, 0x6956, 0x78DF, 0x0C60, 0x1DE9, 0x2F72, 0x3EFB - .2byte 0xD68D, 0xC704, 0xF59F, 0xE416, 0x90A9, 0x8120, 0xB3BB, 0xA232 - .2byte 0x5AC5, 0x4B4C, 0x79D7, 0x685E, 0x1CE1, 0x0D68, 0x3FF3, 0x2E7A - .2byte 0xE70E, 0xF687, 0xC41C, 0xD595, 0xA12A, 0xB0A3, 0x8238, 0x93B1 - .2byte 0x6B46, 0x7ACF, 0x4854, 0x59DD, 0x2D62, 0x3CEB, 0x0E70, 0x1FF9 - .2byte 0xF78F, 0xE606, 0xD49D, 0xC514, 0xB1AB, 0xA022, 0x92B9, 0x8330 - .2byte 0x7BC7, 0x6A4E, 0x58D5, 0x495C, 0x3DE3, 0x2C6A, 0x1EF1, 0x0F78 diff --git a/data/diploma.s b/data/diploma.s deleted file mode 100644 index 508e86c63..000000000 --- a/data/diploma.s +++ /dev/null @@ -1,5 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - diff --git a/data/graphics/berries/graphics_table.inc b/data/graphics/berries/graphics_table.inc deleted file mode 100644 index 78af1c48b..000000000 --- a/data/graphics/berries/graphics_table.inc +++ /dev/null @@ -1,45 +0,0 @@ - .align 2 -gBerryGraphicsTable:: @ 83C1E1C - .4byte gBerryPic_Cheri, gBerryPalette_Cheri - .4byte gBerryPic_Chesto, gBerryPalette_Chesto - .4byte gBerryPic_Pecha, gBerryPalette_Pecha - .4byte gBerryPic_Rawst, gBerryPalette_Rawst - .4byte gBerryPic_Aspear, gBerryPalette_Aspear - .4byte gBerryPic_Leppa, gBerryPalette_Leppa - .4byte gBerryPic_Oran, gBerryPalette_Oran - .4byte gBerryPic_Persim, gBerryPalette_Persim - .4byte gBerryPic_Lum, gBerryPalette_Lum - .4byte gBerryPic_Sitrus, gBerryPalette_Sitrus - .4byte gBerryPic_Figy, gBerryPalette_Figy - .4byte gBerryPic_Wiki, gBerryPalette_Wiki - .4byte gBerryPic_Mago, gBerryPalette_Mago - .4byte gBerryPic_Aguav, gBerryPalette_Aguav - .4byte gBerryPic_Iapapa, gBerryPalette_Iapapa - .4byte gBerryPic_Razz, gBerryPalette_Razz - .4byte gBerryPic_Bluk, gBerryPalette_Bluk - .4byte gBerryPic_Nanab, gBerryPalette_Nanab - .4byte gBerryPic_Wepear, gBerryPalette_Wepear - .4byte gBerryPic_Pinap, gBerryPalette_Pinap - .4byte gBerryPic_Pomeg, gBerryPalette_Pomeg - .4byte gBerryPic_Kelpsy, gBerryPalette_Kelpsy - .4byte gBerryPic_Qualot, gBerryPalette_Qualot - .4byte gBerryPic_Hondew, gBerryPalette_Hondew - .4byte gBerryPic_Grepa, gBerryPalette_Grepa - .4byte gBerryPic_Tamato, gBerryPalette_Tamato - .4byte gBerryPic_Cornn, gBerryPalette_Cornn - .4byte gBerryPic_Magost, gBerryPalette_Magost - .4byte gBerryPic_Rabuta, gBerryPalette_Rabuta - .4byte gBerryPic_Nomel, gBerryPalette_Nomel - .4byte gBerryPic_Spelon, gBerryPalette_Spelon - .4byte gBerryPic_Pamtre, gBerryPalette_Pamtre - .4byte gBerryPic_Watmel, gBerryPalette_Watmel - .4byte gBerryPic_Durin, gBerryPalette_Durin - .4byte gBerryPic_Belue, gBerryPalette_Belue - .4byte gBerryPic_Liechi, gBerryPalette_Liechi - .4byte gBerryPic_Ganlon, gBerryPalette_Ganlon - .4byte gBerryPic_Salac, gBerryPalette_Salac - .4byte gBerryPic_Petaya, gBerryPalette_Petaya - .4byte gBerryPic_Apicot, gBerryPalette_Apicot - .4byte gBerryPic_Lansat, gBerryPalette_Lansat - .4byte gBerryPic_Starf, gBerryPalette_Starf - .4byte gBerryPic_Enigma, gBerryPalette_Enigma diff --git a/data/item.s b/data/item.s deleted file mode 100644 index 0c2aa8593..000000000 --- a/data/item.s +++ /dev/null @@ -1,10 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ 83C2028 - .include "data/text/item_descriptions.inc" - -@ 83C5564 - .include "data/items.inc" diff --git a/data/item_menu.s b/data/item_menu.s deleted file mode 100644 index f66961b46..000000000 --- a/data/item_menu.s +++ /dev/null @@ -1,289 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ pointer to items, capacity - .align 2 -gBagPockets:: @ 83C1618 - .4byte gSaveBlock1 + 0x560, 20 @ Items - .4byte gSaveBlock1 + 0x600, 16 @ Poké Balls - .4byte gSaveBlock1 + 0x640, 64 @ TMs & HMs - .4byte gSaveBlock1 + 0x740, 46 @ Berries - .4byte gSaveBlock1 + 0x5B0, 20 @ Key Items - - .align 2 -gUnknown_083C1640:: @ 83C1640 - .4byte OtherText_Use, sub_80A5B78 - .4byte OtherText_Toss, sub_80A5F14 - .4byte gOtherText_CancelNoTerminator, sub_80A5F80 - .4byte OtherText_Register, sub_80A5FAC - .4byte OtherText_Use, ItemMenu_UseInBattle - .4byte gOtherText_CancelNoTerminator, sub_80A7124 - .4byte OtherText_Give2, ItemMenu_Give - .4byte OtherText_CheckTag, sub_80A6178 - .4byte gOtherText_CancelWithTerminator, 0x0 - .4byte OtherText_Confirm, sub_80A69E0 - -@ 6-byte entries; format of entry is unknown -gUnknown_083C1690:: @ 83C1690 - .byte 0, 1, 6, 2, 0, 0 - .byte 6, 1, 8, 2, 0, 0 - .byte 0, 8, 6, 2, 0, 0 - .byte 7, 0, 1, 8, 6, 2 - .byte 0, 8, 3, 2, 0, 0 - -gUnknown_083C16AE:: @ 83C16AE - .byte 6, 2 - .byte 6, 2 - .byte 6, 2 - .byte 6, 2 - .byte 2, 0 - -gUnknown_083C16B8:: @ 83C16B8 - .byte 7, 9, 8, 2 - - .align 2 -gUnknown_083C16BC:: @ 83C16BC - .4byte sub_80A59D0 - .4byte sub_80A599C - .4byte sub_80A7024 - .4byte sub_80A70D8 - .4byte sub_80A6214 - .4byte sub_80A61EC - .4byte sub_80A6354 - .4byte sub_80A631C - .4byte sub_80A6918 - .4byte sub_80A68F0 - .4byte sub_80A59D0 - .4byte sub_80A69B8 - .4byte sub_80A6C6C - .4byte sub_80A6A4C - - .align 2 -gUnknown_083C16F4:: @ 83C16F4 - .4byte sub_80A5E60 - .4byte sub_80A5E90 - - .align 2 -gUnknown_083C16FC:: @ 83C16FC - .4byte sub_80A65AC - .4byte sub_80A6618 - - .align 1 -gUnknown_083C1704:: @ 83C1704 - .2byte 0x41EE, 0x7FFF - -gUnknown_083C1708:: @ 83C1708 - .byte 4, 5 - -gUnknown_083C170A:: @ 83C170A - .byte 5, 0 - - .align 2 -gPalette_83C170C:: @ 83C170C - .incbin "graphics/unknown/83C170C.gbapal" - - .align 2 -gSpriteImage_83C172C:: @ 83C172C - .incbin "graphics/unknown_sprites/83C172C.4bpp" - - .align 2 - .incbin "graphics/unused/cherry.4bpp" - - .align 2 - .incbin "graphics/unused/cherry.gbapal" - - .align 2 -gOamData_83C1C4C:: @ 83C1C4C - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x7800 - - .align 2 -gSpriteAnim_83C1C54:: @ 83C1C54 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C5C:: @ 83C1C5C - obj_image_anim_frame 64, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C64:: @ 83C1C64 - obj_image_anim_frame 128, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C6C:: @ 83C1C6C - obj_image_anim_frame 192, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C74:: @ 83C1C74 - obj_image_anim_frame 256, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C7C:: @ 83C1C7C - obj_image_anim_frame 320, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1C84:: @ 83C1C84 - .4byte gSpriteAnim_83C1C54 - .4byte gSpriteAnim_83C1C5C - .4byte gSpriteAnim_83C1C6C - .4byte gSpriteAnim_83C1C74 - .4byte gSpriteAnim_83C1C7C - .4byte gSpriteAnim_83C1C64 - - .align 2 -gSpriteAffineAnim_83C1C9C:: @ 83C1C9C - obj_rot_scal_anim_frame 0x0, 0x0, -2, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83C1CC4:: @ 83C1CC4 - .4byte gSpriteAffineAnim_83C1C9C - - .align 2 -gUnknown_083C1CC8:: @ 83C1CC8 - obj_tiles gBagMaleTiles, 0x3000, 30000 - - .align 2 -gUnknown_083C1CD0:: @ 83C1CD0 - obj_tiles gBagFemaleTiles, 0x3000, 30000 - - .align 2 -gUnknown_083C1CD8:: @ 83C1CD8 - obj_pal gBagPalette, 30000 - - .align 2 -gSpriteTemplate_83C1CE0:: @ 83C1CE0 - spr_template 30000, 30000, gOamData_83C1C4C, gSpriteAnimTable_83C1C84, NULL, gSpriteAffineAnimTable_83C1CC4, sub_80A7998 - - .align 2 -gOamData_83C1CF8:: @ 83C1CF8 - .2byte 0x0000 - .2byte 0x4800 - .2byte 0x8800 - - .align 2 -gSpriteAffineAnim_83C1D00:: @ 83C1D00 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 32 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83C1D10:: @ 83C1D10 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 32 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83C1D20:: @ 83C1D20 - .4byte gSpriteAffineAnim_83C1D00 - .4byte gSpriteAffineAnim_83C1D10 - - .align 2 -gSpriteImageTable_83C1D28:: @ 83C1D28 - obj_frame_tiles gSpriteImage_83C172C, 0x80 - - .align 2 -gUnknown_083C1D30:: @ 83C1D30 - obj_pal gPalette_83C170C, 8 - - .align 2 -gSpriteTemplate_83C1D38:: @ 83C1D38 - spr_template 0xFFFF, 8, gOamData_83C1CF8, gSpriteAnimTable_83C1C84, gSpriteImageTable_83C1D28, gSpriteAffineAnimTable_83C1D20, sub_80A7B28 - - .align 2 -gOamData_83C1D50:: @ 83C1D50 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x7400 - - .align 2 -gOamData_83C1D58:: @ 83C1D58 - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x7000 - - .align 2 -gSpriteAnim_83C1D60:: @ 83C1D60 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1D68:: @ 83C1D68 - .4byte gSpriteAnim_83C1D60 - - .align 2 -gSpriteImageTable_83C1D6C:: @ 83C1D6C - obj_frame_tiles 0x02000000, 0x800 - - .align 2 -gSpriteTemplate_83C1D74:: @ 83C1D74 - spr_template 0xFFFF, 30020, gOamData_83C1D50, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gDummySpriteAffineAnimTable, sub_80A7DC4 - - .align 2 -gSpriteAffineAnim_83C1D8C:: @ 83C1D8C - obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, -3, 96 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -1, 64 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83C1DC4:: @ 83C1DC4 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, 3, 96 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 1, 64 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83C1DFC:: @ 83C1DFC - .4byte gSpriteAffineAnim_83C1D8C - .4byte gSpriteAffineAnim_83C1DC4 - - .align 2 -gSpriteTemplate_83C1E04:: @ 83C1E04 - spr_template 0xFFFF, 30020, gOamData_83C1D58, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gSpriteAffineAnimTable_83C1DFC, SpriteCallbackDummy - -@ 83C1E1C - .include "data/graphics/berries/graphics_table.inc" - - .align 2 -gUnknown_083C1F74:: @ 83C1F74 - obj_tiles gBerryCheckCircle_Gfx, 2048, 0x2710 - - .align 2 -gUnknown_083C1F7C:: @ 83C1F7C - obj_pal gBerryCheck_Pal, 0x2710 - - .align 2 -gOamData_83C1F84:: @ 83C1F84 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83C1F8C:: @ 83C1F8C - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1F94:: @ 83C1F94 - .4byte gSpriteAnim_83C1F8C - - .align 2 -gSpriteTemplate_83C1F98:: @ 83C1F98 - spr_template 10000, 10000, gOamData_83C1F84, gSpriteAnimTable_83C1F94, NULL, gDummySpriteAffineAnimTable, sub_80A7DC4 diff --git a/data/items.inc b/data/items.inc deleted file mode 100644 index 0074a6bfa..000000000 --- a/data/items.inc +++ /dev/null @@ -1,5236 +0,0 @@ - .align 2 -gItems:: @ 83C5564 - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MASTER BALL$", 14 - .2byte ITEM_MASTER_BALL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MasterBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 0 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 0 - - .string "ULTRA BALL$", 14 - .2byte ITEM_ULTRA_BALL - .2byte 1200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_UltraBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 1 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 1 - - .string "GREAT BALL$", 14 - .2byte ITEM_GREAT_BALL - .2byte 600 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GreatBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 2 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 2 - - .string "POKé BALL$", 14 - .2byte ITEM_POKE_BALL - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PokeBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 3 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 3 - - .string "SAFARI BALL$", 14 - .2byte ITEM_SAFARI_BALL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SafariBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 4 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 4 - - .string "NET BALL$", 14 - .2byte ITEM_NET_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_NetBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 5 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 5 - - .string "DIVE BALL$", 14 - .2byte ITEM_DIVE_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DiveBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 6 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 6 - - .string "NEST BALL$", 14 - .2byte ITEM_NEST_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_NestBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 7 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 7 - - .string "REPEAT BALL$", 14 - .2byte ITEM_REPEAT_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RepeatBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 8 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 8 - - .string "TIMER BALL$", 14 - .2byte ITEM_TIMER_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TimerBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 9 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 9 - - .string "LUXURY BALL$", 14 - .2byte ITEM_LUXURY_BALL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_LuxuryBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 10 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 10 - - .string "PREMIER BALL$", 14 - .2byte ITEM_PREMIER_BALL - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PremierBall - .byte 0 - .byte 0 - .byte POCKET_POKE_BALLS - .byte 11 - .4byte NULL - .4byte 2 - .4byte ItemUseInBattle_PokeBall - .4byte 11 - - .string "POTION$", 14 - .2byte ITEM_POTION - .2byte 300 @ price - .byte HOLD_EFFECT_NONE - .byte 20 - .4byte gItemDescription_Potion - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ANTIDOTE$", 14 - .2byte ITEM_ANTIDOTE - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Antidote - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "BURN HEAL$", 14 - .2byte ITEM_BURN_HEAL - .2byte 250 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BurnHeal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ICE HEAL$", 14 - .2byte ITEM_ICE_HEAL - .2byte 250 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_IceHeal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "AWAKENING$", 14 - .2byte ITEM_AWAKENING - .2byte 250 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Awakening - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "PARLYZ HEAL$", 14 - .2byte ITEM_PARALYZE_HEAL - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ParalyzeHeal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "FULL RESTORE$", 14 - .2byte ITEM_FULL_RESTORE - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 255 - .4byte gItemDescription_FullRestore - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "MAX POTION$", 14 - .2byte ITEM_MAX_POTION - .2byte 2500 @ price - .byte HOLD_EFFECT_NONE - .byte 255 - .4byte gItemDescription_MaxPotion - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "HYPER POTION$", 14 - .2byte ITEM_HYPER_POTION - .2byte 1200 @ price - .byte HOLD_EFFECT_NONE - .byte 200 - .4byte gItemDescription_HyperPotion - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "SUPER POTION$", 14 - .2byte ITEM_SUPER_POTION - .2byte 700 @ price - .byte HOLD_EFFECT_NONE - .byte 50 - .4byte gItemDescription_SuperPotion - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "FULL HEAL$", 14 - .2byte ITEM_FULL_HEAL - .2byte 600 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_FullHeal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "REVIVE$", 14 - .2byte ITEM_REVIVE - .2byte 1500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Revive - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "MAX REVIVE$", 14 - .2byte ITEM_MAX_REVIVE - .2byte 4000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MaxRevive - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "FRESH WATER$", 14 - .2byte ITEM_FRESH_WATER - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 50 - .4byte gItemDescription_FreshWater - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "SODA POP$", 14 - .2byte ITEM_SODA_POP - .2byte 300 @ price - .byte HOLD_EFFECT_NONE - .byte 60 - .4byte gItemDescription_SodaPop - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "LEMONADE$", 14 - .2byte ITEM_LEMONADE - .2byte 350 @ price - .byte HOLD_EFFECT_NONE - .byte 80 - .4byte gItemDescription_Lemonade - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "MOOMOO MILK$", 14 - .2byte ITEM_MOOMOO_MILK - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 100 - .4byte gItemDescription_MoomooMilk - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ENERGYPOWDER$", 14 - .2byte ITEM_ENERGY_POWDER - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EnergyPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ENERGY ROOT$", 14 - .2byte ITEM_ENERGY_ROOT - .2byte 800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EnergyRoot - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "HEAL POWDER$", 14 - .2byte ITEM_HEAL_POWDER - .2byte 450 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HealPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "REVIVAL HERB$", 14 - .2byte ITEM_REVIVAL_HERB - .2byte 2800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RevivalHerb - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ETHER$", 14 - .2byte ITEM_ETHER - .2byte 1200 @ price - .byte HOLD_EFFECT_NONE - .byte 10 - .4byte gItemDescription_Ether - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "MAX ETHER$", 14 - .2byte ITEM_MAX_ETHER - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 255 - .4byte gItemDescription_MaxEther - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "ELIXIR$", 14 - .2byte ITEM_ELIXIR - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 10 - .4byte gItemDescription_Elixir - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "MAX ELIXIR$", 14 - .2byte ITEM_MAX_ELIXIR - .2byte 4500 @ price - .byte HOLD_EFFECT_NONE - .byte 255 - .4byte gItemDescription_MaxElixir - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "LAVA COOKIE$", 14 - .2byte ITEM_LAVA_COOKIE - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_LavaCookie - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "BLUE FLUTE$", 14 - .2byte ITEM_BLUE_FLUTE - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlueFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "YELLOW FLUTE$", 14 - .2byte ITEM_YELLOW_FLUTE - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_YellowFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "RED FLUTE$", 14 - .2byte ITEM_RED_FLUTE - .2byte 300 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RedFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "BLACK FLUTE$", 14 - .2byte ITEM_BLACK_FLUTE - .2byte 400 @ price - .byte HOLD_EFFECT_NONE - .byte 50 - .4byte gItemDescription_BlackFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_BlackWhiteFlute - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WHITE FLUTE$", 14 - .2byte ITEM_WHITE_FLUTE - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 150 - .4byte gItemDescription_WhiteFlute - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_BlackWhiteFlute - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BERRY JUICE$", 14 - .2byte ITEM_BERRY_JUICE - .2byte 100 @ price - .byte HOLD_EFFECT_RESTORE_HP - .byte 20 - .4byte gItemDescription_BerryJuice - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "SACRED ASH$", 14 - .2byte ITEM_SACRED_ASH - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SacredAsh - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_SacredAsh - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SHOAL SALT$", 14 - .2byte ITEM_SHOAL_SALT - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ShoalSalt - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SHOAL SHELL$", 14 - .2byte ITEM_SHOAL_SHELL - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ShoalShell - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RED SHARD$", 14 - .2byte ITEM_RED_SHARD - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RedShard - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLUE SHARD$", 14 - .2byte ITEM_BLUE_SHARD - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlueShard - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "YELLOW SHARD$", 14 - .2byte ITEM_YELLOW_SHARD - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_YellowShard - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GREEN SHARD$", 14 - .2byte ITEM_GREEN_SHARD - .2byte 200 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GreenShard - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HP UP$", 14 - .2byte ITEM_HP_UP - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HPUp - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PROTEIN$", 14 - .2byte ITEM_PROTEIN - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Protein - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "IRON$", 14 - .2byte ITEM_IRON - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Iron - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CARBOS$", 14 - .2byte ITEM_CARBOS - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Carbos - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CALCIUM$", 14 - .2byte ITEM_CALCIUM - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Calcium - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RARE CANDY$", 14 - .2byte ITEM_RARE_CANDY - .2byte 4800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RareCandy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_RareCandy - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PP UP$", 14 - .2byte ITEM_PP_UP - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PPUp - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPUp - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ZINC$", 14 - .2byte ITEM_ZINC - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Zinc - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PP MAX$", 14 - .2byte ITEM_PP_MAX - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PPMax - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_PPUp - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GUARD SPEC.$", 14 - .2byte ITEM_GUARD_SPEC - .2byte 700 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GuardSpec - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "DIRE HIT$", 14 - .2byte ITEM_DIRE_HIT - .2byte 650 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DireHit - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X ATTACK$", 14 - .2byte ITEM_X_ATTACK - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XAttack - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X DEFEND$", 14 - .2byte ITEM_X_DEFEND - .2byte 550 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XDefend - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X SPEED$", 14 - .2byte ITEM_X_SPEED - .2byte 350 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XSpeed - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X ACCURACY$", 14 - .2byte ITEM_X_ACCURACY - .2byte 950 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XAccuracy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "X SPECIAL$", 14 - .2byte ITEM_X_SPECIAL - .2byte 350 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_XSpecial - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_StatIncrease - .4byte 0 - - .string "POKé DOLL$", 14 - .2byte ITEM_POKE_DOLL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PokeDoll - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_Escape - .4byte 0 - - .string "FLUFFY TAIL$", 14 - .2byte ITEM_FLUFFY_TAIL - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_FluffyTail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 2 - .4byte ItemUseInBattle_Escape - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SUPER REPEL$", 14 - .2byte ITEM_SUPER_REPEL - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 200 - .4byte gItemDescription_SuperRepel - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_Repel - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MAX REPEL$", 14 - .2byte ITEM_MAX_REPEL - .2byte 700 @ price - .byte HOLD_EFFECT_NONE - .byte 250 - .4byte gItemDescription_MaxRepel - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_Repel - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ESCAPE ROPE$", 14 - .2byte ITEM_ESCAPE_ROPE - .2byte 550 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EscapeRope - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_EscapeRope - .4byte 0 - .4byte NULL - .4byte 0 - - .string "REPEL$", 14 - .2byte ITEM_REPEL - .2byte 350 @ price - .byte HOLD_EFFECT_NONE - .byte 100 - .4byte gItemDescription_Repel - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_Repel - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SUN STONE$", 14 - .2byte ITEM_SUN_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SunStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MOON STONE$", 14 - .2byte ITEM_MOON_STONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MoonStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "FIRE STONE$", 14 - .2byte ITEM_FIRE_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_FireStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "THUNDERSTONE$", 14 - .2byte ITEM_THUNDER_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ThunderStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WATER STONE$", 14 - .2byte ITEM_WATER_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WaterStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LEAF STONE$", 14 - .2byte ITEM_LEAF_STONE - .2byte 2100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_LeafStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 1 - .4byte ItemUseOutOfBattle_EvolutionStone - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TINYMUSHROOM$", 14 - .2byte ITEM_TINY_MUSHROOM - .2byte 500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TinyMushroom - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BIG MUSHROOM$", 14 - .2byte ITEM_BIG_MUSHROOM - .2byte 5000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BigMushroom - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PEARL$", 14 - .2byte ITEM_PEARL - .2byte 1400 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Pearl - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BIG PEARL$", 14 - .2byte ITEM_BIG_PEARL - .2byte 7500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BigPearl - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "STARDUST$", 14 - .2byte ITEM_STARDUST - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Stardust - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "STAR PIECE$", 14 - .2byte ITEM_STAR_PIECE - .2byte 9800 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_StarPiece - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "NUGGET$", 14 - .2byte ITEM_NUGGET - .2byte 10000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Nugget - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HEART SCALE$", 14 - .2byte ITEM_HEART_SCALE - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HeartScale - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ORANGE MAIL$", 14 - .2byte ITEM_ORANGE_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_OrangeMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HARBOR MAIL$", 14 - .2byte ITEM_HARBOR_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HarborMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 1 - - .string "GLITTER MAIL$", 14 - .2byte ITEM_GLITTER_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GlitterMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 2 - - .string "MECH MAIL$", 14 - .2byte ITEM_MECH_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MechMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 3 - - .string "WOOD MAIL$", 14 - .2byte ITEM_WOOD_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WoodMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 4 - - .string "WAVE MAIL$", 14 - .2byte ITEM_WAVE_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WaveMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 5 - - .string "BEAD MAIL$", 14 - .2byte ITEM_BEAD_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BeadMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 6 - - .string "SHADOW MAIL$", 14 - .2byte ITEM_SHADOW_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ShadowMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 7 - - .string "TROPIC MAIL$", 14 - .2byte ITEM_TROPIC_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TropicMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 8 - - .string "DREAM MAIL$", 14 - .2byte ITEM_DREAM_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DreamMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 9 - - .string "FAB MAIL$", 14 - .2byte ITEM_FAB_MAIL - .2byte 50 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_FabMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 10 - - .string "RETRO MAIL$", 14 - .2byte ITEM_RETRO_MAIL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RetroMail - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 0 - .4byte ItemUseOutOfBattle_Mail - .4byte 0 - .4byte NULL - .4byte 11 - - .string "CHERI BERRY$", 14 - .2byte ITEM_CHERI_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_PAR - .byte 0 - .4byte gItemDescription_CheriBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "CHESTO BERRY$", 14 - .2byte ITEM_CHESTO_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_SLP - .byte 0 - .4byte gItemDescription_ChestoBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "PECHA BERRY$", 14 - .2byte ITEM_PECHA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_PSN - .byte 0 - .4byte gItemDescription_PechaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "RAWST BERRY$", 14 - .2byte ITEM_RAWST_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_BRN - .byte 0 - .4byte gItemDescription_RawstBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "ASPEAR BERRY$", 14 - .2byte ITEM_ASPEAR_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_FRZ - .byte 0 - .4byte gItemDescription_AspearBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "LEPPA BERRY$", 14 - .2byte ITEM_LEPPA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_RESTORE_PP - .byte 10 - .4byte gItemDescription_LeppaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_PPRecovery - .4byte 1 - .4byte ItemUseInBattle_PPRecovery - .4byte 0 - - .string "ORAN BERRY$", 14 - .2byte ITEM_ORAN_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_RESTORE_HP - .byte 10 - .4byte gItemDescription_OranBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "PERSIM BERRY$", 14 - .2byte ITEM_PERSIM_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_CONFUSION - .byte 0 - .4byte gItemDescription_PersimBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "LUM BERRY$", 14 - .2byte ITEM_LUM_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CURE_STATUS - .byte 0 - .4byte gItemDescription_LumBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "SITRUS BERRY$", 14 - .2byte ITEM_SITRUS_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_RESTORE_HP - .byte 30 - .4byte gItemDescription_SitrusBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 1 - .4byte ItemUseOutOfBattle_Medicine - .4byte 1 - .4byte ItemUseInBattle_Medicine - .4byte 0 - - .string "FIGY BERRY$", 14 - .2byte ITEM_FIGY_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_SPICY - .byte 8 - .4byte gItemDescription_FigyBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WIKI BERRY$", 14 - .2byte ITEM_WIKI_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_DRY - .byte 8 - .4byte gItemDescription_WikiBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MAGO BERRY$", 14 - .2byte ITEM_MAGO_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_SWEET - .byte 8 - .4byte gItemDescription_MagoBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "AGUAV BERRY$", 14 - .2byte ITEM_AGUAV_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_BITTER - .byte 8 - .4byte gItemDescription_AguavBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "IAPAPA BERRY$", 14 - .2byte ITEM_IAPAPA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CONFUSE_SOUR - .byte 8 - .4byte gItemDescription_IapapaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RAZZ BERRY$", 14 - .2byte ITEM_RAZZ_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RazzBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLUK BERRY$", 14 - .2byte ITEM_BLUK_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlukBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "NANAB BERRY$", 14 - .2byte ITEM_NANAB_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_NanabBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WEPEAR BERRY$", 14 - .2byte ITEM_WEPEAR_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WepearBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PINAP BERRY$", 14 - .2byte ITEM_PINAP_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PinapBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "POMEG BERRY$", 14 - .2byte ITEM_POMEG_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PomegBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KELPSY BERRY$", 14 - .2byte ITEM_KELPSY_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_KelpsyBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "QUALOT BERRY$", 14 - .2byte ITEM_QUALOT_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_QualotBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HONDEW BERRY$", 14 - .2byte ITEM_HONDEW_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HondewBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GREPA BERRY$", 14 - .2byte ITEM_GREPA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GrepaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TAMATO BERRY$", 14 - .2byte ITEM_TAMATO_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TamatoBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CORNN BERRY$", 14 - .2byte ITEM_CORNN_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_CornnBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MAGOST BERRY$", 14 - .2byte ITEM_MAGOST_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MagostBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RABUTA BERRY$", 14 - .2byte ITEM_RABUTA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RabutaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "NOMEL BERRY$", 14 - .2byte ITEM_NOMEL_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_NomelBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SPELON BERRY$", 14 - .2byte ITEM_SPELON_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SpelonBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PAMTRE BERRY$", 14 - .2byte ITEM_PAMTRE_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PamtreBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WATMEL BERRY$", 14 - .2byte ITEM_WATMEL_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WatmelBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DURIN BERRY$", 14 - .2byte ITEM_DURIN_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DurinBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BELUE BERRY$", 14 - .2byte ITEM_BELUE_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BelueBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LIECHI BERRY$", 14 - .2byte ITEM_LIECHI_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_ATTACK_UP - .byte 4 - .4byte gItemDescription_LiechiBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GANLON BERRY$", 14 - .2byte ITEM_GANLON_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_DEFENSE_UP - .byte 4 - .4byte gItemDescription_GanlonBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SALAC BERRY$", 14 - .2byte ITEM_SALAC_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_SPEED_UP - .byte 4 - .4byte gItemDescription_SalacBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PETAYA BERRY$", 14 - .2byte ITEM_PETAYA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_SP_ATTACK_UP - .byte 4 - .4byte gItemDescription_PetayaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "APICOT BERRY$", 14 - .2byte ITEM_APICOT_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_SP_DEFENSE_UP - .byte 4 - .4byte gItemDescription_ApicotBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LANSAT BERRY$", 14 - .2byte ITEM_LANSAT_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_CRITICAL_UP - .byte 4 - .4byte gItemDescription_LansatBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "STARF BERRY$", 14 - .2byte ITEM_STARF_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_RANDOM_STAT_UP - .byte 4 - .4byte gItemDescription_StarfBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ENIGMA BERRY$", 14 - .2byte ITEM_ENIGMA_BERRY - .2byte 20 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EnigmaBerry - .byte 0 - .byte 0 - .byte POCKET_BERRIES - .byte 4 - .4byte ItemUseOutOfBattle_EnigmaBerry - .4byte 1 - .4byte ItemUseInBattle_EnigmaBerry - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BRIGHTPOWDER$", 14 - .2byte ITEM_BRIGHT_POWDER - .2byte 10 @ price - .byte HOLD_EFFECT_EVASION_UP - .byte 10 - .4byte gItemDescription_BrightPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WHITE HERB$", 14 - .2byte ITEM_WHITE_HERB - .2byte 100 @ price - .byte HOLD_EFFECT_RESTORE_STATS - .byte 0 - .4byte gItemDescription_WhiteHerb - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MACHO BRACE$", 14 - .2byte ITEM_MACHO_BRACE - .2byte 3000 @ price - .byte HOLD_EFFECT_MACHO_BRACE - .byte 0 - .4byte gItemDescription_MachoBrace - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "EXP. SHARE$", 14 - .2byte ITEM_EXP_SHARE - .2byte 3000 @ price - .byte HOLD_EFFECT_EXP_SHARE - .byte 0 - .4byte gItemDescription_ExpShare - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "QUICK CLAW$", 14 - .2byte ITEM_QUICK_CLAW - .2byte 100 @ price - .byte HOLD_EFFECT_QUICK_CLAW - .byte 20 - .4byte gItemDescription_QuickClaw - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SOOTHE BELL$", 14 - .2byte ITEM_SOOTHE_BELL - .2byte 100 @ price - .byte HOLD_EFFECT_HAPPINESS_UP - .byte 0 - .4byte gItemDescription_SootheBell - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MENTAL HERB$", 14 - .2byte ITEM_MENTAL_HERB - .2byte 100 @ price - .byte HOLD_EFFECT_CURE_ATTRACT - .byte 0 - .4byte gItemDescription_MentalHerb - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CHOICE BAND$", 14 - .2byte ITEM_CHOICE_BAND - .2byte 100 @ price - .byte HOLD_EFFECT_CHOICE_BAND - .byte 0 - .4byte gItemDescription_ChoiceBand - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "KING’S ROCK$", 14 - .2byte ITEM_KINGS_ROCK - .2byte 100 @ price - .byte HOLD_EFFECT_FLINCH - .byte 10 - .4byte gItemDescription_KingsRock - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SILVERPOWDER$", 14 - .2byte ITEM_SILVER_POWDER - .2byte 100 @ price - .byte HOLD_EFFECT_BUG_POWER - .byte 10 - .4byte gItemDescription_SilverPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "AMULET COIN$", 14 - .2byte ITEM_AMULET_COIN - .2byte 100 @ price - .byte HOLD_EFFECT_DOUBLE_PRIZE - .byte 10 - .4byte gItemDescription_AmuletCoin - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CLEANSE TAG$", 14 - .2byte ITEM_CLEANSE_TAG - .2byte 200 @ price - .byte HOLD_EFFECT_REPEL - .byte 0 - .4byte gItemDescription_CleanseTag - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SOUL DEW$", 14 - .2byte ITEM_SOUL_DEW - .2byte 200 @ price - .byte HOLD_EFFECT_SOUL_DEW - .byte 0 - .4byte gItemDescription_SoulDew - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DEEPSEATOOTH$", 14 - .2byte ITEM_DEEP_SEA_TOOTH - .2byte 200 @ price - .byte HOLD_EFFECT_DEEP_SEA_TOOTH - .byte 0 - .4byte gItemDescription_DeepSeaTooth - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DEEPSEASCALE$", 14 - .2byte ITEM_DEEP_SEA_SCALE - .2byte 200 @ price - .byte HOLD_EFFECT_DEEP_SEA_SCALE - .byte 0 - .4byte gItemDescription_DeepSeaScale - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SMOKE BALL$", 14 - .2byte ITEM_SMOKE_BALL - .2byte 200 @ price - .byte HOLD_EFFECT_CAN_ALWAYS_RUN - .byte 0 - .4byte gItemDescription_SmokeBall - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "EVERSTONE$", 14 - .2byte ITEM_EVERSTONE - .2byte 200 @ price - .byte HOLD_EFFECT_PREVENT_EVOLVE - .byte 0 - .4byte gItemDescription_Everstone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "FOCUS BAND$", 14 - .2byte ITEM_FOCUS_BAND - .2byte 200 @ price - .byte HOLD_EFFECT_FOCUS_BAND - .byte 10 - .4byte gItemDescription_FocusBand - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LUCKY EGG$", 14 - .2byte ITEM_LUCKY_EGG - .2byte 200 @ price - .byte HOLD_EFFECT_LUCKY_EGG - .byte 0 - .4byte gItemDescription_LuckyEgg - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCOPE LENS$", 14 - .2byte ITEM_SCOPE_LENS - .2byte 200 @ price - .byte HOLD_EFFECT_SCOPE_LENS - .byte 0 - .4byte gItemDescription_ScopeLens - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "METAL COAT$", 14 - .2byte ITEM_METAL_COAT - .2byte 100 @ price - .byte HOLD_EFFECT_STEEL_POWER - .byte 10 - .4byte gItemDescription_MetalCoat - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LEFTOVERS$", 14 - .2byte ITEM_LEFTOVERS - .2byte 200 @ price - .byte HOLD_EFFECT_LEFTOVERS - .byte 10 - .4byte gItemDescription_Leftovers - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DRAGON SCALE$", 14 - .2byte ITEM_DRAGON_SCALE - .2byte 2100 @ price - .byte HOLD_EFFECT_DRAGON_SCALE - .byte 10 - .4byte gItemDescription_DragonScale - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LIGHT BALL$", 14 - .2byte ITEM_LIGHT_BALL - .2byte 100 @ price - .byte HOLD_EFFECT_LIGHT_BALL - .byte 0 - .4byte gItemDescription_LightBall - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SOFT SAND$", 14 - .2byte ITEM_SOFT_SAND - .2byte 100 @ price - .byte HOLD_EFFECT_GROUND_POWER - .byte 10 - .4byte gItemDescription_SoftSand - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HARD STONE$", 14 - .2byte ITEM_HARD_STONE - .2byte 100 @ price - .byte HOLD_EFFECT_ROCK_POWER - .byte 10 - .4byte gItemDescription_HardStone - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MIRACLE SEED$", 14 - .2byte ITEM_MIRACLE_SEED - .2byte 100 @ price - .byte HOLD_EFFECT_GRASS_POWER - .byte 10 - .4byte gItemDescription_MiracleSeed - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLACKGLASSES$", 14 - .2byte ITEM_BLACK_GLASSES - .2byte 100 @ price - .byte HOLD_EFFECT_DARK_POWER - .byte 10 - .4byte gItemDescription_BlackGlasses - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLACK BELT$", 14 - .2byte ITEM_BLACK_BELT - .2byte 100 @ price - .byte HOLD_EFFECT_FIGHTING_POWER - .byte 10 - .4byte gItemDescription_BlackBelt - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MAGNET$", 14 - .2byte ITEM_MAGNET - .2byte 100 @ price - .byte HOLD_EFFECT_ELECTRIC_POWER - .byte 10 - .4byte gItemDescription_Magnet - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MYSTIC WATER$", 14 - .2byte ITEM_MYSTIC_WATER - .2byte 100 @ price - .byte HOLD_EFFECT_WATER_POWER - .byte 10 - .4byte gItemDescription_MysticWater - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SHARP BEAK$", 14 - .2byte ITEM_SHARP_BEAK - .2byte 100 @ price - .byte HOLD_EFFECT_FLYING_POWER - .byte 10 - .4byte gItemDescription_SharpBeak - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "POISON BARB$", 14 - .2byte ITEM_POISON_BARB - .2byte 100 @ price - .byte HOLD_EFFECT_POISON_POWER - .byte 10 - .4byte gItemDescription_PoisonBarb - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "NEVERMELTICE$", 14 - .2byte ITEM_NEVER_MELT_ICE - .2byte 100 @ price - .byte HOLD_EFFECT_ICE_POWER - .byte 10 - .4byte gItemDescription_NeverMeltIce - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SPELL TAG$", 14 - .2byte ITEM_SPELL_TAG - .2byte 100 @ price - .byte HOLD_EFFECT_GHOST_POWER - .byte 10 - .4byte gItemDescription_SpellTag - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TWISTEDSPOON$", 14 - .2byte ITEM_TWISTED_SPOON - .2byte 100 @ price - .byte HOLD_EFFECT_PSYCHIC_POWER - .byte 10 - .4byte gItemDescription_TwistedSpoon - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CHARCOAL$", 14 - .2byte ITEM_CHARCOAL - .2byte 9800 @ price - .byte HOLD_EFFECT_FIRE_POWER - .byte 10 - .4byte gItemDescription_Charcoal - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DRAGON FANG$", 14 - .2byte ITEM_DRAGON_FANG - .2byte 100 @ price - .byte HOLD_EFFECT_DRAGON_POWER - .byte 10 - .4byte gItemDescription_DragonFang - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SILK SCARF$", 14 - .2byte ITEM_SILK_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NORMAL_POWER - .byte 10 - .4byte gItemDescription_SilkScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "UP-GRADE$", 14 - .2byte ITEM_UP_GRADE - .2byte 2100 @ price - .byte HOLD_EFFECT_UP_GRADE - .byte 0 - .4byte gItemDescription_UpGrade - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SHELL BELL$", 14 - .2byte ITEM_SHELL_BELL - .2byte 200 @ price - .byte HOLD_EFFECT_SHELL_BELL - .byte 8 - .4byte gItemDescription_ShellBell - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SEA INCENSE$", 14 - .2byte ITEM_SEA_INCENSE - .2byte 9600 @ price - .byte HOLD_EFFECT_WATER_POWER - .byte 5 - .4byte gItemDescription_SeaIncense - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LAX INCENSE$", 14 - .2byte ITEM_LAX_INCENSE - .2byte 9600 @ price - .byte HOLD_EFFECT_EVASION_UP - .byte 5 - .4byte gItemDescription_LaxIncense - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LUCKY PUNCH$", 14 - .2byte ITEM_LUCKY_PUNCH - .2byte 10 @ price - .byte HOLD_EFFECT_LUCKY_PUNCH - .byte 0 - .4byte gItemDescription_LuckyPunch - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "METAL POWDER$", 14 - .2byte ITEM_METAL_POWDER - .2byte 10 @ price - .byte HOLD_EFFECT_METAL_POWDER - .byte 0 - .4byte gItemDescription_MetalPowder - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "THICK CLUB$", 14 - .2byte ITEM_THICK_CLUB - .2byte 500 @ price - .byte HOLD_EFFECT_THICK_CLUB - .byte 0 - .4byte gItemDescription_ThickClub - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "STICK$", 14 - .2byte ITEM_STICK - .2byte 200 @ price - .byte HOLD_EFFECT_STICK - .byte 0 - .4byte gItemDescription_Stick - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RED SCARF$", 14 - .2byte ITEM_RED_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RedScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLUE SCARF$", 14 - .2byte ITEM_BLUE_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlueScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "PINK SCARF$", 14 - .2byte ITEM_PINK_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PinkScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GREEN SCARF$", 14 - .2byte ITEM_GREEN_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GreenScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "YELLOW SCARF$", 14 - .2byte ITEM_YELLOW_SCARF - .2byte 100 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_YellowScarf - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "MACH BIKE$", 14 - .2byte ITEM_MACH_BIKE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_MachBike - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Bike - .4byte 0 - .4byte NULL - .4byte 0 - - .string "COIN CASE$", 14 - .2byte ITEM_COIN_CASE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_CoinCase - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CoinCase - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ITEMFINDER$", 14 - .2byte ITEM_ITEMFINDER - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Itemfinder - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Itemfinder - .4byte 0 - .4byte NULL - .4byte 0 - - .string "OLD ROD$", 14 - .2byte ITEM_OLD_ROD - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_OldRod - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Rod - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GOOD ROD$", 14 - .2byte ITEM_GOOD_ROD - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GoodRod - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Rod - .4byte 0 - .4byte NULL - .4byte 1 - - .string "SUPER ROD$", 14 - .2byte ITEM_SUPER_ROD - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SuperRod - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Rod - .4byte 0 - .4byte NULL - .4byte 2 - - .string "S.S. TICKET$", 14 - .2byte ITEM_SS_TICKET - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SSTicket - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CONTEST PASS$", 14 - .2byte ITEM_CONTEST_PASS - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ContestPass - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "WAILMER PAIL$", 14 - .2byte ITEM_WAILMER_PAIL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_WailmerPail - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_WailmerPail - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DEVON GOODS$", 14 - .2byte ITEM_DEVON_GOODS - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DevonGoods - .byte 2 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SOOT SACK$", 14 - .2byte ITEM_SOOT_SACK - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_SootSack - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BASEMENT KEY$", 14 - .2byte ITEM_BASEMENT_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BasementKey - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ACRO BIKE$", 14 - .2byte ITEM_ACRO_BIKE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_AcroBike - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 2 - .4byte ItemUseOutOfBattle_Bike - .4byte 0 - .4byte NULL - .4byte 1 - - .string "{POKEBLOCK} CASE$", 14 - .2byte ITEM_POKEBLOCK_CASE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_PokeblockCase - .byte 1 - .byte 1 - .byte POCKET_KEY_ITEMS - .byte 3 - .4byte ItemUseOutOfBattle_PokeblockCase - .4byte 0 - .4byte NULL - .4byte 0 - - .string "LETTER$", 14 - .2byte ITEM_LETTER - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Letter - .byte 2 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "EON TICKET$", 14 - .2byte ITEM_EON_TICKET - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_EonTicket - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 1 - - .string "RED ORB$", 14 - .2byte ITEM_RED_ORB - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RedOrb - .byte 2 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "BLUE ORB$", 14 - .2byte ITEM_BLUE_ORB - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_BlueOrb - .byte 2 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "SCANNER$", 14 - .2byte ITEM_SCANNER - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Scanner - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "GO-GOGGLES$", 14 - .2byte ITEM_GO_GOGGLES - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_GoGoggles - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "METEORITE$", 14 - .2byte ITEM_METEORITE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Meteorite - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RM. 1 KEY$", 14 - .2byte ITEM_ROOM_1_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Room1Key - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RM. 2 KEY$", 14 - .2byte ITEM_ROOM_2_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Room2Key - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RM. 4 KEY$", 14 - .2byte ITEM_ROOM_4_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Room4Key - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "RM. 6 KEY$", 14 - .2byte ITEM_ROOM_6_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Room6Key - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "STORAGE KEY$", 14 - .2byte ITEM_STORAGE_KEY - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_StorageKey - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "ROOT FOSSIL$", 14 - .2byte ITEM_ROOT_FOSSIL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_RootFossil - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "CLAW FOSSIL$", 14 - .2byte ITEM_CLAW_FOSSIL - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_ClawFossil - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "DEVON SCOPE$", 14 - .2byte ITEM_DEVON_SCOPE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_DevonScope - .byte 1 - .byte 0 - .byte POCKET_KEY_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM01$", 14 - .2byte ITEM_TM01 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM01 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM02$", 14 - .2byte ITEM_TM02 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM02 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM03$", 14 - .2byte ITEM_TM03 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM03 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM04$", 14 - .2byte ITEM_TM04 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM04 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM05$", 14 - .2byte ITEM_TM05 - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM05 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM06$", 14 - .2byte ITEM_TM06 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM06 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM07$", 14 - .2byte ITEM_TM07 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM07 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM08$", 14 - .2byte ITEM_TM08 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM08 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM09$", 14 - .2byte ITEM_TM09 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM09 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM10$", 14 - .2byte ITEM_TM10 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM10 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM11$", 14 - .2byte ITEM_TM11 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM11 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM12$", 14 - .2byte ITEM_TM12 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM12 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM13$", 14 - .2byte ITEM_TM13 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM13 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM14$", 14 - .2byte ITEM_TM14 - .2byte 5500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM14 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM15$", 14 - .2byte ITEM_TM15 - .2byte 7500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM15 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM16$", 14 - .2byte ITEM_TM16 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM16 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM17$", 14 - .2byte ITEM_TM17 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM17 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM18$", 14 - .2byte ITEM_TM18 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM18 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM19$", 14 - .2byte ITEM_TM19 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM19 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM20$", 14 - .2byte ITEM_TM20 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM20 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM21$", 14 - .2byte ITEM_TM21 - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM21 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM22$", 14 - .2byte ITEM_TM22 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM22 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM23$", 14 - .2byte ITEM_TM23 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM23 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM24$", 14 - .2byte ITEM_TM24 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM24 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM25$", 14 - .2byte ITEM_TM25 - .2byte 5500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM25 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM26$", 14 - .2byte ITEM_TM26 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM26 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM27$", 14 - .2byte ITEM_TM27 - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM27 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM28$", 14 - .2byte ITEM_TM28 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM28 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM29$", 14 - .2byte ITEM_TM29 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM29 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM30$", 14 - .2byte ITEM_TM30 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM30 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM31$", 14 - .2byte ITEM_TM31 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM31 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM32$", 14 - .2byte ITEM_TM32 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM32 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM33$", 14 - .2byte ITEM_TM33 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM33 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM34$", 14 - .2byte ITEM_TM34 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM34 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM35$", 14 - .2byte ITEM_TM35 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM35 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM36$", 14 - .2byte ITEM_TM36 - .2byte 1000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM36 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM37$", 14 - .2byte ITEM_TM37 - .2byte 2000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM37 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM38$", 14 - .2byte ITEM_TM38 - .2byte 5500 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM38 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM39$", 14 - .2byte ITEM_TM39 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM39 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM40$", 14 - .2byte ITEM_TM40 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM40 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM41$", 14 - .2byte ITEM_TM41 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM41 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM42$", 14 - .2byte ITEM_TM42 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM42 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM43$", 14 - .2byte ITEM_TM43 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM43 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM44$", 14 - .2byte ITEM_TM44 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM44 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM45$", 14 - .2byte ITEM_TM45 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM45 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM46$", 14 - .2byte ITEM_TM46 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM46 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM47$", 14 - .2byte ITEM_TM47 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM47 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM48$", 14 - .2byte ITEM_TM48 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM48 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM49$", 14 - .2byte ITEM_TM49 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM49 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "TM50$", 14 - .2byte ITEM_TM50 - .2byte 3000 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_TM50 - .byte 0 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HM01$", 14 - .2byte ITEM_HM01 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM01 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HM02$", 14 - .2byte ITEM_HM02 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM02 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HM03$", 14 - .2byte ITEM_HM03 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM03 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HM04$", 14 - .2byte ITEM_HM04 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM04 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HM05$", 14 - .2byte ITEM_HM05 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM05 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HM06$", 14 - .2byte ITEM_HM06 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM06 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HM07$", 14 - .2byte ITEM_HM07 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM07 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "HM08$", 14 - .2byte ITEM_HM08 - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_HM08 - .byte 1 - .byte 0 - .byte POCKET_TM_HM - .byte 1 - .4byte ItemUseOutOfBattle_TMHM - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 - - .string "????????$", 14 - .2byte ITEM_NONE - .2byte 0 @ price - .byte HOLD_EFFECT_NONE - .byte 0 - .4byte gItemDescription_Dummy - .byte 0 - .byte 0 - .byte POCKET_ITEMS - .byte 4 - .4byte ItemUseOutOfBattle_CannotUse - .4byte 0 - .4byte NULL - .4byte 0 diff --git a/data/option_menu.s b/data/option_menu.s deleted file mode 100644 index cb517cc89..000000000 --- a/data/option_menu.s +++ /dev/null @@ -1,13 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_0839F5FC:: @ 839F5FC - .incbin "graphics/misc/option_menu_text.gbapal" - -@ note: this is only used in the Japanese release - .align 2 -gUnknown_0839F63C:: @ 839F63C - .incbin "graphics/misc/option_menu_equals_sign.4bpp" diff --git a/data/task.s b/data/task.s deleted file mode 100644 index e87c5b1fc..000000000 --- a/data/task.s +++ /dev/null @@ -1,7 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .string "TASK OVER\n" - .string "タスクがオーバーしました$" diff --git a/data/text/item_descriptions.inc b/data/text/item_descriptions.inc deleted file mode 100644 index 6fda439b0..000000000 --- a/data/text/item_descriptions.inc +++ /dev/null @@ -1,1393 +0,0 @@ -gItemDescription_MasterBall: @ 83C2028 - .string "The best BALL that\n" - .string "catches a POKéMON\n" - .string "without fail.$" - -gItemDescription_UltraBall: @ 83C205B - .string "A better BALL with\n" - .string "a higher catch rate\n" - .string "than a GREAT BALL.$" - -gItemDescription_GreatBall: @ 83C2095 - .string "A good BALL with a\n" - .string "higher catch rate\n" - .string "than a POKé BALL.$" - -gItemDescription_PokeBall: @ 83C20CC - .string "A tool used for\n" - .string "catching wild\n" - .string "POKéMON.$" - -gItemDescription_SafariBall: @ 83C20F3 - .string "A special BALL that\n" - .string "is used only in the\n" - .string "SAFARI ZONE.$" - -gItemDescription_NetBall: @ 83C2128 - .string "A BALL that works\n" - .string "well on WATER- and\n" - .string "BUG-type POKéMON.$" - -gItemDescription_DiveBall: @ 83C215F - .string "A BALL that works\n" - .string "better on POKéMON\n" - .string "on the ocean floor.$" - -gItemDescription_NestBall: @ 83C2197 - .string "A BALL that works\n" - .string "better on weaker\n" - .string "POKéMON.$" - -gItemDescription_RepeatBall: @ 83C21C3 - .string "A BALL that works\n" - .string "better on POKéMON\n" - .string "caught before.$" - -gItemDescription_TimerBall: @ 83C21F6 - .string "More effective as\n" - .string "more turns are\n" - .string "taken in battle.$" - -gItemDescription_LuxuryBall: @ 83C2228 - .string "A cozy BALL that\n" - .string "makes POKéMON\n" - .string "more friendly.$" - -gItemDescription_PremierBall: @ 83C2256 - .string "A rare BALL made\n" - .string "in commemoration\n" - .string "of some event.$" - -gItemDescription_Potion: @ 83C2287 - .string "Restores the HP of\n" - .string "a POKéMON by\n" - .string "20 points.$" - -gItemDescription_Antidote: @ 83C22B2 - .string "Heals a poisoned\n" - .string "POKéMON.$" - -gItemDescription_BurnHeal: @ 83C22CC - .string "Heals POKéMON\n" - .string "of a burn.$" - -gItemDescription_IceHeal: @ 83C22E5 - .string "Defrosts a frozen\n" - .string "POKéMON.$" - -gItemDescription_Awakening: @ 83C2300 - .string "Awakens a sleeping\n" - .string "POKéMON.$" - -gItemDescription_ParalyzeHeal: @ 83C231C - .string "Heals a paralyzed\n" - .string "POKéMON.$" - -gItemDescription_FullRestore: @ 83C2337 - .string "Fully restores the\n" - .string "HP and status of a\n" - .string "POKéMON.$" - -gItemDescription_MaxPotion: @ 83C2366 - .string "Fully restores the\n" - .string "HP of a POKéMON.$" - -gItemDescription_HyperPotion: @ 83C238A - .string "Restores the HP of\n" - .string "a POKéMON by\n" - .string "200 points.$" - -gItemDescription_SuperPotion: @ 83C23B6 - .string "Restores the HP of\n" - .string "a POKéMON by\n" - .string "50 points.$" - -gItemDescription_FullHeal: @ 83C23E1 - .string "Heals all the status\n" - .string "problems of one\n" - .string "POKéMON.$" - -gItemDescription_Revive: @ 83C240F - .string "Revives a fainted\n" - .string "POKéMON with half\n" - .string "its HP.$" - -gItemDescription_MaxRevive: @ 83C243B - .string "Revives a fainted\n" - .string "POKéMON with all\n" - .string "its HP.$" - -gItemDescription_FreshWater: @ 83C2466 - .string "A mineral water\n" - .string "that restores HP\n" - .string "by 50 points.$" - -gItemDescription_SodaPop: @ 83C2495 - .string "A fizzy soda drink\n" - .string "that restores HP\n" - .string "by 60 points.$" - -gItemDescription_Lemonade: @ 83C24C7 - .string "A very sweet drink\n" - .string "that restores HP\n" - .string "by 80 points.$" - -gItemDescription_MoomooMilk: @ 83C24F9 - .string "A nutritious milk\n" - .string "that restores HP\n" - .string "by 100 points.$" - -gItemDescription_EnergyPowder: @ 83C252B - .string "A bitter powder\n" - .string "that restores HP\n" - .string "by 50 points.$" - -gItemDescription_EnergyRoot: @ 83C255A - .string "A bitter root\n" - .string "that restores HP\n" - .string "by 200 points.$" - -gItemDescription_HealPowder: @ 83C2588 - .string "A bitter powder\n" - .string "that heals all\n" - .string "status problems.$" - -gItemDescription_RevivalHerb: @ 83C25B8 - .string "A very bitter herb\n" - .string "that revives a\n" - .string "fainted POKéMON.$" - -gItemDescription_Ether: @ 83C25EB - .string "Restores the PP\n" - .string "of a selected move\n" - .string "by 10.$" - -gItemDescription_MaxEther: @ 83C2615 - .string "Fully restores the\n" - .string "PP of a selected\n" - .string "move.$" - -gItemDescription_Elixir: @ 83C263F - .string "Restores the PP\n" - .string "of all moves by 10.$" - -gItemDescription_MaxElixir: @ 83C2663 - .string "Fully restores the\n" - .string "PP of a POKéMON’s\n" - .string "moves.$" - -gItemDescription_LavaCookie: @ 83C268F - .string "A local specialty\n" - .string "that heals all\n" - .string "status problems.$" - -gItemDescription_BlueFlute: @ 83C26C1 - .string "A glass flute that\n" - .string "awakens sleeping\n" - .string "POKéMON.$" - -gItemDescription_YellowFlute: @ 83C26EE - .string "A glass flute that\n" - .string "snaps POKéMON\n" - .string "out of confusion.$" - -gItemDescription_RedFlute: @ 83C2721 - .string "A glass flute that\n" - .string "snaps POKéMON\n" - .string "out of attraction.$" - -gItemDescription_BlackFlute: @ 83C2755 - .string "A glass flute that\n" - .string "keeps away wild\n" - .string "POKéMON.$" - -gItemDescription_WhiteFlute: @ 83C2781 - .string "A glass flute that\n" - .string "lures wild POKéMON.$" - -gItemDescription_BerryJuice: @ 83C27A8 - .string "A 100% pure juice\n" - .string "that restores HP\n" - .string "by 20 points.$" - -gItemDescription_SacredAsh: @ 83C27D9 - .string "Fully revives and\n" - .string "restores all\n" - .string "fainted POKéMON.$" - -gItemDescription_ShoalSalt: @ 83C2809 - .string "Salt obtained from\n" - .string "deep inside the\n" - .string "SHOAL CAVE.$" - -gItemDescription_ShoalShell: @ 83C2838 - .string "A seashell found\n" - .string "deep inside the\n" - .string "SHOAL CAVE.$" - -gItemDescription_RedShard: @ 83C2865 - .string "A shard from an\n" - .string "ancient item.\n" - .string "Can be sold cheaply.$" - -gItemDescription_BlueShard: @ 83C2898 - .string "A shard from an\n" - .string "ancient item.\n" - .string "Can be sold cheaply.$" - -gItemDescription_YellowShard: @ 83C28CB - .string "A shard from an\n" - .string "ancient item.\n" - .string "Can be sold cheaply.$" - -gItemDescription_GreenShard: @ 83C28FE - .string "A shard from an\n" - .string "ancient item.\n" - .string "Can be sold cheaply.$" - -gItemDescription_HPUp: @ 83C2931 - .string "Raises the HP of\n" - .string "one POKéMON.$" - -gItemDescription_Protein: @ 83C294F - .string "Raises the stat\n" - .string "ATTACK of one\n" - .string "POKéMON.$" - -gItemDescription_Iron: @ 83C2976 - .string "Raises the stat\n" - .string "DEFENSE of one\n" - .string "POKéMON.$" - -gItemDescription_Carbos: @ 83C299E - .string "Raises the stat\n" - .string "SPEED of one\n" - .string "POKéMON.$" - -gItemDescription_Calcium: @ 83C29C4 - .string "Raises the stat\n" - .string "SP. ATK of one\n" - .string "POKéMON.$" - -gItemDescription_RareCandy: @ 83C29EC - .string "Raises the level\n" - .string "of a POKéMON by\n" - .string "one.$" - -gItemDescription_PPUp: @ 83C2A12 - .string "Raises the maximum\n" - .string "PP of a selected\n" - .string "move.$" - -gItemDescription_Zinc: @ 83C2A3C - .string "Raises the stat\n" - .string "SP. DEF of one\n" - .string "POKéMON.$" - -gItemDescription_PPMax: @ 83C2A64 - .string "Raises the PP of a\n" - .string "move to its maximum\n" - .string "points.$" - -gItemDescription_GuardSpec: @ 83C2A93 - .string "Prevents stat\n" - .string "reduction when\n" - .string "used in battle.$" - -gItemDescription_DireHit: @ 83C2AC0 - .string "Raises the\n" - .string "critical-hit ratio\n" - .string "during one battle.$" - -gItemDescription_XAttack: @ 83C2AF1 - .string "Raises the stat\n" - .string "ATTACK during one\n" - .string "battle.$" - -gItemDescription_XDefend: @ 83C2B1B - .string "Raises the stat\n" - .string "DEFENSE during one\n" - .string "battle.$" - -gItemDescription_XSpeed: @ 83C2B46 - .string "Raises the stat\n" - .string "SPEED during one\n" - .string "battle.$" - -gItemDescription_XAccuracy: @ 83C2B6F - .string "Raises accuracy\n" - .string "of attack moves\n" - .string "during one battle.$" - -gItemDescription_XSpecial: @ 83C2BA2 - .string "Raises the stat\n" - .string "SP. ATK during one\n" - .string "battle.$" - -gItemDescription_PokeDoll: @ 83C2BCD - .string "Use to flee from\n" - .string "any battle with\n" - .string "a wild POKéMON.$" - -gItemDescription_FluffyTail: @ 83C2BFE - .string "Use to flee from\n" - .string "any battle with\n" - .string "a wild POKéMON.$" - -gItemDescription_SuperRepel: @ 83C2C2F - .string "Repels weak wild\n" - .string "POKéMON for 200\n" - .string "steps.$" - -gItemDescription_MaxRepel: @ 83C2C57 - .string "Repels weak wild\n" - .string "POKéMON for 250\n" - .string "steps.$" - -gItemDescription_EscapeRope: @ 83C2C7F - .string "Use to escape\n" - .string "instantly from a\n" - .string "cave or a dungeon.$" - -gItemDescription_Repel: @ 83C2CB1 - .string "Repels weak wild\n" - .string "POKéMON for 100\n" - .string "steps.$" - -gItemDescription_SunStone: @ 83C2CD9 - .string "Makes certain\n" - .string "species of POKéMON\n" - .string "evolve.$" - -gItemDescription_MoonStone: @ 83C2D02 - .string "Makes certain\n" - .string "species of POKéMON\n" - .string "evolve.$" - -gItemDescription_FireStone: @ 83C2D2B - .string "Makes certain\n" - .string "species of POKéMON\n" - .string "evolve.$" - -gItemDescription_ThunderStone: @ 83C2D54 - .string "Makes certain\n" - .string "species of POKéMON\n" - .string "evolve.$" - -gItemDescription_WaterStone: @ 83C2D7D - .string "Makes certain\n" - .string "species of POKéMON\n" - .string "evolve.$" - -gItemDescription_LeafStone: @ 83C2DA6 - .string "Makes certain\n" - .string "species of POKéMON\n" - .string "evolve.$" - -gItemDescription_TinyMushroom: @ 83C2DCF - .string "A plain, ordinary\n" - .string "mushroom.\n" - .string "Can be sold cheaply.$" - -gItemDescription_BigMushroom: @ 83C2E00 - .string "A rare mushroom\n" - .string "that would sell at a\n" - .string "high price.$" - -gItemDescription_Pearl: @ 83C2E31 - .string "A pretty pearl.\n" - .string "Can be sold cheaply.$" - -gItemDescription_BigPearl: @ 83C2E56 - .string "A lovely large pearl\n" - .string "that would sell at a\n" - .string "high price.$" - -gItemDescription_Stardust: @ 83C2E8C - .string "Beautiful red sand.\n" - .string "Can be sold at a\n" - .string "high price.$" - -gItemDescription_StarPiece: @ 83C2EBD - .string "A red gem shard.\n" - .string "It would sell for a\n" - .string "very high price.$" - -gItemDescription_Nugget: @ 83C2EF3 - .string "A nugget of pure\n" - .string "gold. Can be sold at\n" - .string "a high price.$" - -gItemDescription_HeartScale: @ 83C2F27 - .string "A lovely scale.\n" - .string "It is coveted by\n" - .string "collectors.$" - -gItemDescription_OrangeMail: @ 83C2F54 - .string "A ZIGZAGOON-print\n" - .string "MAIL to be held by\n" - .string "a POKéMON.$" - -gItemDescription_HarborMail: @ 83C2F84 - .string "A WINGULL-print\n" - .string "MAIL to be held by\n" - .string "a POKéMON.$" - -gItemDescription_GlitterMail: @ 83C2FB2 - .string "A PIKACHU-print\n" - .string "MAIL to be held by\n" - .string "a POKéMON.$" - -gItemDescription_MechMail: @ 83C2FE0 - .string "A MAGNEMITE-print\n" - .string "MAIL to be held by\n" - .string "a POKéMON.$" - -gItemDescription_WoodMail: @ 83C3010 - .string "A SLAKOTH-print\n" - .string "MAIL to be held by\n" - .string "a POKéMON.$" - -gItemDescription_WaveMail: @ 83C303E - .string "A WAILMER-print\n" - .string "MAIL to be held by\n" - .string "a POKéMON.$" - -gItemDescription_BeadMail: @ 83C306C - .string "MAIL featuring a\n" - .string "sketch of the\n" - .string "holding POKéMON.$" - -gItemDescription_ShadowMail: @ 83C309C - .string "A DUSKULL-print\n" - .string "MAIL to be held by\n" - .string "a POKéMON.$" - -gItemDescription_TropicMail: @ 83C30CA - .string "A BELLOSSOM-print\n" - .string "MAIL to be held by\n" - .string "a POKéMON.$" - -gItemDescription_DreamMail: @ 83C30FA - .string "MAIL featuring a\n" - .string "sketch of the\n" - .string "holding POKéMON.$" - -gItemDescription_FabMail: @ 83C312A - .string "A gorgeous-print\n" - .string "MAIL to be held\n" - .string "by a POKéMON.$" - -gItemDescription_RetroMail: @ 83C3159 - .string "MAIL featuring the\n" - .string "drawings of three\n" - .string "POKéMON.$" - -gItemDescription_CheriBerry: @ 83C3187 - .string "A hold item that\n" - .string "heals paralysis\n" - .string "in battle.$" - -gItemDescription_ChestoBerry: @ 83C31B3 - .string "A hold item that\n" - .string "awakens POKéMON\n" - .string "in battle.$" - -gItemDescription_PechaBerry: @ 83C31DF - .string "A hold item that\n" - .string "heals poisoning\n" - .string "in battle.$" - -gItemDescription_RawstBerry: @ 83C320B - .string "A hold item that\n" - .string "heals a burn in\n" - .string "battle.$" - -gItemDescription_AspearBerry: @ 83C3234 - .string "A hold item that\n" - .string "defrosts POKéMON\n" - .string "in battle.$" - -gItemDescription_LeppaBerry: @ 83C3261 - .string "A hold item that\n" - .string "restores 10 PP in\n" - .string "battle.$" - -gItemDescription_OranBerry: @ 83C328C - .string "A hold item that\n" - .string "restores 10 HP in\n" - .string "battle.$" - -gItemDescription_PersimBerry: @ 83C32B7 - .string "A hold item that\n" - .string "heals confusion\n" - .string "in battle.$" - -gItemDescription_LumBerry: @ 83C32E3 - .string "A hold item that\n" - .string "heals status in\n" - .string "battle.$" - -gItemDescription_SitrusBerry: @ 83C330C - .string "A hold item that\n" - .string "restores 30 HP in\n" - .string "battle.$" - -gItemDescription_FigyBerry: @ 83C3337 - .string "A hold item that\n" - .string "restores HP but\n" - .string "may confuse.$" - -gItemDescription_WikiBerry: @ 83C3365 - .string "A hold item that\n" - .string "restores HP but\n" - .string "may confuse.$" - -gItemDescription_MagoBerry: @ 83C3393 - .string "A hold item that\n" - .string "restores HP but\n" - .string "may confuse.$" - -gItemDescription_AguavBerry: @ 83C33C1 - .string "A hold item that\n" - .string "restores HP but\n" - .string "may confuse.$" - -gItemDescription_IapapaBerry: @ 83C33EF - .string "A hold item that\n" - .string "restores HP but\n" - .string "may confuse.$" - -gItemDescription_RazzBerry: @ 83C341D - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow RAZZ.$" - -gItemDescription_BlukBerry: @ 83C3451 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow BLUK.$" - -gItemDescription_NanabBerry: @ 83C3485 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow NANAB.$" - -gItemDescription_WepearBerry: @ 83C34BA - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow WEPEAR.$" - -gItemDescription_PinapBerry: @ 83C34F0 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow PINAP.$" - -gItemDescription_PomegBerry: @ 83C3525 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow POMEG.$" - -gItemDescription_KelpsyBerry: @ 83C355A - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow KELPSY.$" - -gItemDescription_QualotBerry: @ 83C3590 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow QUALOT.$" - -gItemDescription_HondewBerry: @ 83C35C6 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow HONDEW.$" - -gItemDescription_GrepaBerry: @ 83C35FC - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow GREPA.$" - -gItemDescription_TamatoBerry: @ 83C3631 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow TAMATO.$" - -gItemDescription_CornnBerry: @ 83C3667 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow CORNN.$" - -gItemDescription_MagostBerry: @ 83C369C - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow MAGOST.$" - -gItemDescription_RabutaBerry: @ 83C36D2 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow RABUTA.$" - -gItemDescription_NomelBerry: @ 83C3708 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow NOMEL.$" - -gItemDescription_SpelonBerry: @ 83C373D - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow SPELON.$" - -gItemDescription_PamtreBerry: @ 83C3773 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow PAMTRE.$" - -gItemDescription_WatmelBerry: @ 83C37A9 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow WATMEL.$" - -gItemDescription_DurinBerry: @ 83C37DF - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow DURIN.$" - -gItemDescription_BelueBerry: @ 83C3814 - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow BELUE.$" - -gItemDescription_LiechiBerry: @ 83C3849 - .string "A hold item that\n" - .string "raises ATTACK in\n" - .string "a pinch.$" - -gItemDescription_GanlonBerry: @ 83C3874 - .string "A hold item that\n" - .string "raises DEFENSE in\n" - .string "a pinch.$" - -gItemDescription_SalacBerry: @ 83C38A0 - .string "A hold item that\n" - .string "raises SPEED in\n" - .string "a pinch.$" - -gItemDescription_PetayaBerry: @ 83C38CA - .string "A hold item that\n" - .string "raises SP. ATK in\n" - .string "a pinch.$" - -gItemDescription_ApicotBerry: @ 83C38F6 - .string "A hold item that\n" - .string "raises SP. DEF in\n" - .string "a pinch.$" - -gItemDescription_LansatBerry: @ 83C3922 - .string "A hold item that\n" - .string "ups the critical-\n" - .string "hit rate in a pinch.$" - -gItemDescription_StarfBerry: @ 83C395A - .string "A hold item that\n" - .string "sharply boosts a\n" - .string "stat in a pinch.$" - -gItemDescription_EnigmaBerry: @ 83C398D - .string "{POKEBLOCK} ingredient.\n" - .string "Plant in loamy soil\n" - .string "to grow a mystery.$" - -gItemDescription_BrightPowder: @ 83C39C6 - .string "A hold item that\n" - .string "casts a glare to\n" - .string "reduce accuracy.$" - -gItemDescription_WhiteHerb: @ 83C39F9 - .string "A hold item that\n" - .string "restores any\n" - .string "lowered stat.$" - -gItemDescription_MachoBrace: @ 83C3A25 - .string "A hold item that\n" - .string "promotes growth,\n" - .string "but reduces SPEED.$" - -gItemDescription_ExpShare: @ 83C3A5A - .string "A hold item that\n" - .string "gets EXP. points\n" - .string "from battles.$" - -gItemDescription_QuickClaw: @ 83C3A8A - .string "A hold item that\n" - .string "occasionally allows\n" - .string "the first strike.$" - -gItemDescription_SootheBell: @ 83C3AC1 - .string "A hold item that\n" - .string "calms spirits and\n" - .string "fosters friendship.$" - -gItemDescription_MentalHerb: @ 83C3AF8 - .string "A hold item that\n" - .string "snaps POKéMON out\n" - .string "of infatuation.$" - -gItemDescription_ChoiceBand: @ 83C3B2B - .string "Raises a move’s\n" - .string "power, but permits\n" - .string "only that move.$" - -gItemDescription_KingsRock: @ 83C3B5E - .string "A hold item that\n" - .string "may cause flinching\n" - .string "when the foe is hit.$" - -gItemDescription_SilverPowder: @ 83C3B98 - .string "A hold item that\n" - .string "raises the power of\n" - .string "BUG-type moves.$" - -gItemDescription_AmuletCoin: @ 83C3BCD - .string "Doubles money in\n" - .string "battle if the holder\n" - .string "takes part.$" - -gItemDescription_CleanseTag: @ 83C3BFF - .string "A hold item that\n" - .string "helps repel wild\n" - .string "POKéMON.$" - -gItemDescription_SoulDew: @ 83C3C2A - .string "Hold item: Raises\n" - .string "SP. ATK & SP. DEF\n" - .string "of LATIOS & LATIAS.$" - -gItemDescription_DeepSeaTooth: @ 83C3C62 - .string "A hold item that\n" - .string "raises the SP. ATK\n" - .string "of CLAMPERL.$" - -gItemDescription_DeepSeaScale: @ 83C3C93 - .string "A hold item that\n" - .string "raises the SP. DEF\n" - .string "of CLAMPERL.$" - -gItemDescription_SmokeBall: @ 83C3CC4 - .string "A hold item that\n" - .string "can be used to flee\n" - .string "from a wild POKéMON.$" - -gItemDescription_Everstone: @ 83C3CFE - .string "A wondrous stone\n" - .string "& a hold item that\n" - .string "prevents evolution.$" - -gItemDescription_FocusBand: @ 83C3D36 - .string "A hold item that\n" - .string "occasionally\n" - .string "prevents fainting.$" - -gItemDescription_LuckyEgg: @ 83C3D67 - .string "A hold item that\n" - .string "boosts EXP. points\n" - .string "earned in battle.$" - -gItemDescription_ScopeLens: @ 83C3D9D - .string "A hold item that\n" - .string "raises the critical-\n" - .string "hit rate.$" - -gItemDescription_MetalCoat: @ 83C3DCD - .string "A hold item that\n" - .string "raises the power of\n" - .string "STEEL-type moves.$" - -gItemDescription_Leftovers: @ 83C3E04 - .string "A hold item that\n" - .string "gradually restores\n" - .string "HP in battle.$" - -gItemDescription_DragonScale: @ 83C3E36 - .string "A strange scale\n" - .string "held by DRAGON-\n" - .string "type POKéMON.$" - -gItemDescription_LightBall: @ 83C3E64 - .string "A hold item that\n" - .string "raises the SP. ATK\n" - .string "of PIKACHU.$" - -gItemDescription_SoftSand: @ 83C3E94 - .string "A hold item that\n" - .string "raises the power of\n" - .string "GROUND-type moves.$" - -gItemDescription_HardStone: @ 83C3ECC - .string "A hold item that\n" - .string "raises the power of\n" - .string "ROCK-type moves.$" - -gItemDescription_MiracleSeed: @ 83C3F02 - .string "A hold item that\n" - .string "raises the power of\n" - .string "GRASS-type moves.$" - -gItemDescription_BlackGlasses: @ 83C3F39 - .string "A hold item that\n" - .string "raises the power of\n" - .string "DARK-type moves.$" - -gItemDescription_BlackBelt: @ 83C3F6F - .string "A hold item that\n" - .string "boosts FIGHTING-\n" - .string "type moves.$" - -gItemDescription_Magnet: @ 83C3F9D - .string "A hold item that\n" - .string "boosts ELECTRIC-\n" - .string "type moves.$" - -gItemDescription_MysticWater: @ 83C3FCB - .string "A hold item that\n" - .string "raises the power of\n" - .string "WATER-type moves.$" - -gItemDescription_SharpBeak: @ 83C4002 - .string "A hold item that\n" - .string "raises the power of\n" - .string "FLYING-type moves.$" - -gItemDescription_PoisonBarb: @ 83C403A - .string "A hold item that\n" - .string "raises the power of\n" - .string "POISON-type moves.$" - -gItemDescription_NeverMeltIce: @ 83C4072 - .string "A hold item that\n" - .string "raises the power of\n" - .string "ICE-type moves.$" - -gItemDescription_SpellTag: @ 83C40A7 - .string "A hold item that\n" - .string "raises the power of\n" - .string "GHOST-type moves.$" - -gItemDescription_TwistedSpoon: @ 83C40DE - .string "A hold item that\n" - .string "boosts PSYCHIC-\n" - .string "type moves.$" - -gItemDescription_Charcoal: @ 83C410B - .string "A hold item that\n" - .string "raises the power of\n" - .string "FIRE-type moves.$" - -gItemDescription_DragonFang: @ 83C4141 - .string "A hold item that\n" - .string "raises the power of\n" - .string "DRAGON-type moves.$" - -gItemDescription_SilkScarf: @ 83C4179 - .string "A hold item that\n" - .string "raises the power of\n" - .string "NORMAL-type moves.$" - -gItemDescription_UpGrade: @ 83C41B1 - .string "A peculiar box made\n" - .string "by SILPH CO.$" - -gItemDescription_ShellBell: @ 83C41D2 - .string "A hold item that\n" - .string "restores HP upon\n" - .string "striking the foe.$" - -gItemDescription_SeaIncense: @ 83C4206 - .string "A hold item that\n" - .string "slightly boosts\n" - .string "WATER-type moves.$" - -gItemDescription_LaxIncense: @ 83C4239 - .string "A hold item that\n" - .string "slightly lowers the\n" - .string "foe’s accuracy.$" - -gItemDescription_LuckyPunch: @ 83C426E - .string "A hold item that\n" - .string "raises CHANSEY’s\n" - .string "critical-hit rate.$" - -gItemDescription_MetalPowder: @ 83C42A3 - .string "A hold item that\n" - .string "raises DEFENSE.$" - -gItemDescription_ThickClub: @ 83C42C4 - .string "A bone of some\n" - .string "sort. It can be sold\n" - .string "cheaply.$" - -gItemDescription_Stick: @ 83C42F1 - .string "A stick of leek.\n" - .string "It can be sold\n" - .string "cheaply.$" - -gItemDescription_RedScarf: @ 83C431A - .string "A hold item that\n" - .string "raises COOL in\n" - .string "CONTESTS.$" - -gItemDescription_BlueScarf: @ 83C4344 - .string "A hold item that\n" - .string "raises BEAUTY in\n" - .string "CONTESTS.$" - -gItemDescription_PinkScarf: @ 83C4370 - .string "A hold item that\n" - .string "raises CUTE in\n" - .string "CONTESTS.$" - -gItemDescription_GreenScarf: @ 83C439A - .string "A hold item that\n" - .string "raises SMART in\n" - .string "CONTESTS.$" - -gItemDescription_YellowScarf: @ 83C43C5 - .string "A hold item that\n" - .string "raises TOUGH in\n" - .string "CONTESTS.$" - -gItemDescription_MachBike: @ 83C43F0 - .string "A folding bicycle\n" - .string "that more than\n" - .string "doubles foot speed.$" - -gItemDescription_CoinCase: @ 83C4425 - .string "A case that holds\n" - .string "up to 9,999 COINS.$" - -gItemDescription_Itemfinder: @ 83C444A - .string "A device that\n" - .string "signals an invisible\n" - .string "item by sound.$" - -gItemDescription_OldRod: @ 83C447C - .string "Use by any body of\n" - .string "water to fish for\n" - .string "wild POKéMON.$" - -gItemDescription_GoodRod: @ 83C44AF - .string "A decent fishing\n" - .string "rod for catching\n" - .string "wild POKéMON.$" - -gItemDescription_SuperRod: @ 83C44DF - .string "The best fishing\n" - .string "rod for catching\n" - .string "wild POKéMON.$" - -gItemDescription_SSTicket: @ 83C450F - .string "The ticket required\n" - .string "for sailing on a\n" - .string "ferry.$" - -gItemDescription_ContestPass: @ 83C453B - .string "The pass required\n" - .string "for entering\n" - .string "POKéMON CONTESTS.$" - -gItemDescription_WailmerPail: @ 83C456C - .string "A tool used for\n" - .string "watering BERRIES\n" - .string "and plants.$" - -gItemDescription_DevonGoods: @ 83C4599 - .string "A package that\n" - .string "contains DEVON’s\n" - .string "machine parts.$" - -gItemDescription_SootSack: @ 83C45C8 - .string "A sack used to\n" - .string "gather and hold\n" - .string "volcanic ash.$" - -gItemDescription_BasementKey: @ 83C45F5 - .string "The key for NEW\n" - .string "MAUVILLE beneath\n" - .string "MAUVILLE CITY.$" - -gItemDescription_AcroBike: @ 83C4625 - .string "A folding bicycle\n" - .string "capable of jumps\n" - .string "and wheelies.$" - -gItemDescription_PokeblockCase: @ 83C4656 - .string "A case for holding\n" - .string "{POKEBLOCK}S made with\n" - .string "a BERRY BLENDER.$" - -gItemDescription_Letter: @ 83C468B - .string "A letter to STEVEN\n" - .string "from the PRESIDENT\n" - .string "of the DEVON CORP.$" - -gItemDescription_EonTicket: @ 83C46C4 - .string "The ticket for a\n" - .string "ferry to a distant\n" - .string "southern island.$" - -gItemDescription_RedOrb: @ 83C46F9 - .string "A red, glowing orb\n" - .string "said to contain an\n" - .string "ancient power.$" - -gItemDescription_BlueOrb: @ 83C472E - .string "A blue, glowing orb\n" - .string "said to contain an\n" - .string "ancient power.$" - -gItemDescription_Scanner: @ 83C4764 - .string "A device found\n" - .string "inside the\n" - .string "ABANDONED SHIP.$" - -gItemDescription_GoGoggles: @ 83C478E - .string "Nifty goggles that\n" - .string "protect eyes from\n" - .string "desert sandstorms.$" - -gItemDescription_Meteorite: @ 83C47C6 - .string "A meteorite found\n" - .string "at METEOR FALLS.$" - -gItemDescription_Room1Key: @ 83C47E9 - .string "A key that opens a\n" - .string "door inside the\n" - .string "ABANDONED SHIP.$" - -gItemDescription_Room2Key: @ 83C481C - .string "A key that opens a\n" - .string "door inside the\n" - .string "ABANDONED SHIP.$" - -gItemDescription_Room4Key: @ 83C484F - .string "A key that opens a\n" - .string "door inside the\n" - .string "ABANDONED SHIP.$" - -gItemDescription_Room6Key: @ 83C4882 - .string "A key that opens a\n" - .string "door inside the\n" - .string "ABANDONED SHIP.$" - -gItemDescription_StorageKey: @ 83C48B5 - .string "The key to the\n" - .string "storage inside the\n" - .string "ABANDONED SHIP.$" - -gItemDescription_RootFossil: @ 83C48E7 - .string "A fossil of an\n" - .string "ancient, seafloor-\n" - .string "dwelling POKéMON.$" - -gItemDescription_ClawFossil: @ 83C491B - .string "A fossil of an\n" - .string "ancient, seafloor-\n" - .string "dwelling POKéMON.$" - -gItemDescription_DevonScope: @ 83C494F - .string "A device by DEVON\n" - .string "that signals any\n" - .string "unseeable POKéMON.$" - -gItemDescription_TM01: @ 83C4985 - .string "Powerful, but makes\n" - .string "the user flinch if\n" - .string "hit by the foe.$" - -gItemDescription_TM02: @ 83C49BC - .string "Hooks and slashes\n" - .string "the foe with long,\n" - .string "sharp claws.$" - -gItemDescription_TM03: @ 83C49EE - .string "Generates an\n" - .string "ultrasonic wave\n" - .string "that may confuse.$" - -gItemDescription_TM04: @ 83C4A1D - .string "Raises SP. ATK and\n" - .string "SP. DEF by focusing\n" - .string "the mind.$" - -gItemDescription_TM05: @ 83C4A4E - .string "A savage roar that\n" - .string "makes the foe flee \n" - .string "to end the battle.$" - -gItemDescription_TM06: @ 83C4A88 - .string "Poisons the foe\n" - .string "with a toxin that\n" - .string "gradually worsens.$" - -gItemDescription_TM07: @ 83C4ABD - .string "Summons a hailstorm\n" - .string "that hurts all\n" - .string "types except ICE.$" - -gItemDescription_TM08: @ 83C4AF2 - .string "Bulks up the body\n" - .string "to boost both\n" - .string "ATTACK & DEFENSE.$" - -gItemDescription_TM09: @ 83C4B24 - .string "Shoots 2 to 5 seeds\n" - .string "in a row to strike\n" - .string "the foe.$" - -gItemDescription_TM10: @ 83C4B54 - .string "The attack power\n" - .string "varies among\n" - .string "different POKéMON.$" - -gItemDescription_TM11: @ 83C4B85 - .string "Raises the power of\n" - .string "FIRE-type moves\n" - .string "for 5 turns.$" - -gItemDescription_TM12: @ 83C4BB6 - .string "Enrages the foe so\n" - .string "it can only use\n" - .string "attack moves.$" - -gItemDescription_TM13: @ 83C4BE7 - .string "Fires an icy cold\n" - .string "beam that may\n" - .string "freeze the foe.$" - -gItemDescription_TM14: @ 83C4C17 - .string "A vicious snow-and-\n" - .string "wind attack that\n" - .string "may freeze the foe.$" - -gItemDescription_TM15: @ 83C4C50 - .string "Powerful, but needs\n" - .string "recharging the\n" - .string "next turn.$" - -gItemDescription_TM16: @ 83C4C7E - .string "Creates a wall of\n" - .string "light that lowers\n" - .string "SP. ATK damage.$" - -gItemDescription_TM17: @ 83C4CB2 - .string "Negates all damage,\n" - .string "but may fail if used\n" - .string "in succession.$" - -gItemDescription_TM18: @ 83C4CEA - .string "Raises the power of\n" - .string "WATER-type moves\n" - .string "for 5 turns.$" - -gItemDescription_TM19: @ 83C4D1C - .string "Recovers half the\n" - .string "HP of the damage \n" - .string "this move inflicts.$" - -gItemDescription_TM20: @ 83C4D54 - .string "Prevents status\n" - .string "abnormality with a\n" - .string "mystical power.$" - -gItemDescription_TM21: @ 83C4D87 - .string "The less the user\n" - .string "likes you, the more\n" - .string "powerful this move.$" - -gItemDescription_TM22: @ 83C4DC1 - .string "Absorbs sunlight in\n" - .string "the 1st turn, then\n" - .string "attacks next turn.$" - -gItemDescription_TM23: @ 83C4DFB - .string "Slams the foe with\n" - .string "a hard tail. It may\n" - .string "lower DEFENSE.$" - -gItemDescription_TM24: @ 83C4E31 - .string "A powerful electric\n" - .string "attack that may\n" - .string "cause paralysis.$" - -gItemDescription_TM25: @ 83C4E66 - .string "Strikes the foe\n" - .string "with a thunderbolt.\n" - .string "It may paralyze.$" - -gItemDescription_TM26: @ 83C4E9B - .string "Causes a quake\n" - .string "that has no effect\n" - .string "on flying foes.$" - -gItemDescription_TM27: @ 83C4ECD - .string "The more the user\n" - .string "likes you, the more\n" - .string "powerful this move.$" - -gItemDescription_TM28: @ 83C4F07 - .string "Digs underground\n" - .string "the 1st turn, then\n" - .string "strikes next turn.$" - -gItemDescription_TM29: @ 83C4F3E - .string "A powerful psychic\n" - .string "attack that may\n" - .string "lower SP. DEF.$" - -gItemDescription_TM30: @ 83C4F70 - .string "Hurls a dark lump\n" - .string "at the foe. It may\n" - .string "lower SP. DEF.$" - -gItemDescription_TM31: @ 83C4FA4 - .string "Destroys barriers\n" - .string "like LIGHT SCREEN\n" - .string "and causes damage.$" - -gItemDescription_TM32: @ 83C4FDB - .string "Creates illusory\n" - .string "copies to enhance\n" - .string "elusiveness.$" - -gItemDescription_TM33: @ 83C500B - .string "Creates a wall of\n" - .string "light that weakens\n" - .string "physical attacks.$" - -gItemDescription_TM34: @ 83C5042 - .string "Zaps the foe with a\n" - .string "jolt of electricity\n" - .string "that never misses.$" - -gItemDescription_TM35: @ 83C507D - .string "Looses a stream of\n" - .string "fire that may burn\n" - .string "the foe.$" - -gItemDescription_TM36: @ 83C50AC - .string "Hurls sludge at the\n" - .string "foe. It may poison\n" - .string "the foe.$" - -gItemDescription_TM37: @ 83C50DC - .string "Causes a sandstorm\n" - .string "that hits the foe\n" - .string "over several turns.$" - -gItemDescription_TM38: @ 83C5115 - .string "A powerful fire\n" - .string "attack that may\n" - .string "burn the foe.$" - -gItemDescription_TM39: @ 83C5143 - .string "Stops the foe from\n" - .string "moving with rocks.\n" - .string "May lower SPEED.$" - -gItemDescription_TM40: @ 83C517A - .string "An extremely fast\n" - .string "attack that can’t\n" - .string "be avoided.$" - -gItemDescription_TM41: @ 83C51AA - .string "Prevents the foe\n" - .string "from using the same\n" - .string "move in a row.$" - -gItemDescription_TM42: @ 83C51DE - .string "Raises ATTACK when\n" - .string "poisoned, burned,\n" - .string "or paralyzed.$" - -gItemDescription_TM43: @ 83C5211 - .string "Adds an effect to\n" - .string "attack depending\n" - .string "on the location.$" - -gItemDescription_TM44: @ 83C5245 - .string "The user sleeps for\n" - .string "2 turns to restore\n" - .string "health and status.$" - -gItemDescription_TM45: @ 83C527F - .string "Makes it tough to\n" - .string "attack a foe of the\n" - .string "opposite gender.$" - -gItemDescription_TM46: @ 83C52B6 - .string "While attacking,\n" - .string "it may steal the\n" - .string "foe’s held item.$" - -gItemDescription_TM47: @ 83C52E9 - .string "Spreads hard-edged\n" - .string "wings and slams\n" - .string "into the foe.$" - -gItemDescription_TM48: @ 83C531A - .string "Switches abilities\n" - .string "with the foe on the\n" - .string "turn this is used.$" - -gItemDescription_TM49: @ 83C5354 - .string "Steals the effects\n" - .string "of the move the foe\n" - .string "is trying to use.$" - -gItemDescription_TM50: @ 83C538D - .string "Enables full-power\n" - .string "attack, but sharply\n" - .string "lowers SP. ATK.$" - -gItemDescription_HM01: @ 83C53C4 - .string "Attacks the foe\n" - .string "with sharp blades\n" - .string "or claws.$" - -gItemDescription_HM02: @ 83C53F0 - .string "Flies up on the\n" - .string "first turn, then\n" - .string "attacks next turn.$" - -gItemDescription_HM03: @ 83C5424 - .string "Creates a huge\n" - .string "wave, then crashes\n" - .string "it down on the foe.$" - -gItemDescription_HM04: @ 83C545A - .string "Builds enormous\n" - .string "power, then slams\n" - .string "the foe.$" - -gItemDescription_HM05: @ 83C5485 - .string "Looses a powerful\n" - .string "blast of light that\n" - .string "reduces accuracy.$" - -gItemDescription_HM06: @ 83C54BD - .string "A rock-crushingly\n" - .string "tough attack that\n" - .string "may lower DEFENSE.$" - -gItemDescription_HM07: @ 83C54F4 - .string "Attacks the foe\n" - .string "with enough power\n" - .string "to climb waterfalls.$" - -gItemDescription_HM08: @ 83C552B - .string "Dives underwater\n" - .string "the 1st turn, then\n" - .string "attacks next turn.$" - -gItemDescription_Dummy: @ 83C5562 - .string "$" diff --git a/data/util.s b/data/util.s deleted file mode 100644 index 03c92a988..000000000 --- a/data/util.s +++ /dev/null @@ -1,70 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gBitTable:: @ 820872C - .4byte 0x00000001 - .4byte 0x00000002 - .4byte 0x00000004 - .4byte 0x00000008 - .4byte 0x00000010 - .4byte 0x00000020 - .4byte 0x00000040 - .4byte 0x00000080 - .4byte 0x00000100 - .4byte 0x00000200 - .4byte 0x00000400 - .4byte 0x00000800 - .4byte 0x00001000 - .4byte 0x00002000 - .4byte 0x00004000 - .4byte 0x00008000 - .4byte 0x00010000 - .4byte 0x00020000 - .4byte 0x00040000 - .4byte 0x00080000 - .4byte 0x00100000 - .4byte 0x00200000 - .4byte 0x00400000 - .4byte 0x00800000 - .4byte 0x01000000 - .4byte 0x02000000 - .4byte 0x04000000 - .4byte 0x08000000 - .4byte 0x10000000 - .4byte 0x20000000 - .4byte 0x40000000 - .4byte 0x80000000 - - .align 2 -gInvisibleSpriteTemplate:: @ 82087AC - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteDimensions:: @ 82087C4 - @ square - .byte 1, 1 - .byte 2, 2 - .byte 4, 4 - .byte 8, 8 - - @ horizontal rectangle - .byte 2, 1 - .byte 4, 1 - .byte 4, 2 - .byte 8, 4 - - @ vertical rectangle - .byte 1, 2 - .byte 1, 4 - .byte 2, 4 - .byte 4, 8 - -@ 82087DC - .include "data/crc16_table.inc" - - .align 2 -gMiscBlank_Gfx:: @ 82089DC - .incbin "graphics/interface/blank.4bpp" diff --git a/include/battle_setup.h b/include/battle_setup.h index e88aefe6d..c8c463f6d 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -87,7 +87,7 @@ bool32 battle_exit_is_player_defeat(u32 a1); //void sub_80822BC(void); //void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, u8 *data); //void battle_80801F0(void); -u8 *TrainerBattleConfigure(u8 *data); +u8 *TrainerBattleConfigure(const u8 *data); void TrainerWantsBattle(u8, u8 *); bool32 GetTrainerFlagFromScriptPointer(u8 *data); //void sub_8082524(void); diff --git a/include/global.h b/include/global.h index 0f5bcde6d..4d20ea4fc 100644 --- a/include/global.h +++ b/include/global.h @@ -115,11 +115,6 @@ enum BAG_KEYITEMS }; -struct TextStruct -{ - const u8 *text; -}; - struct Coords16 { s16 x; diff --git a/include/graphics.h b/include/graphics.h index 36b11fd0a..fb9781147 100755..100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2435,12 +2435,118 @@ extern const u8 gMonFrontPic_UnownQuestionMark[]; extern const u8 gMonBackPic_UnownQuestionMark[]; extern const u8 gMonIcon_UnownQuestionMark[]; -// src/pokeblock.c +// data/graphics.s +extern const u8 gBagMaleTiles[]; +extern const u8 gBagFemaleTiles[]; +extern const u8 gBagPalette[]; +extern const u8 gBagScreen_Gfx[]; +extern const u8 gBagScreenMale_Pal[]; +extern const u8 gBagScreenFemale_Pal[]; +extern const u16 gUnknown_08E77004[]; +extern const u8 gBuyMenuFrame_Gfx[]; +extern const u8 gMenuMoneyPal[]; +extern const u8 gBuyMenuFrame_Tilemap[]; +extern const u8 gMenuMoneyGfx[]; extern const u8 gMenuPokeblock_Gfx[]; -extern const u8 gMenuPokeblock_Tilemap[]; extern const u8 gMenuPokeblock_Pal[]; - extern const u8 gMenuPokeblockDevice_Gfx[]; extern const u8 gMenuPokeblockDevice_Pal[]; +extern const u8 gMenuPokeblock_Tilemap[]; + +extern const u8 gBerryCheck_Gfx[]; +extern const u8 gBerryCheck_Pal[]; +extern const u8 gUnknown_08E788E4[]; +extern const u8 gUnknown_08E78A84[]; +extern const u8 gBerryCheckCircle_Gfx[]; + +// data/graphics/berries/graphics.inc +extern const u8 gBerryPic_Cheri[]; +extern const u8 gBerryPic_Oran[]; +extern const u8 gBerryPic_Pecha[]; +extern const u8 gBerryPic_Rawst[]; +extern const u8 gBerryPic_Aspear[]; +extern const u8 gBerryPic_Leppa[]; +extern const u8 gBerryPic_Chesto[]; +extern const u8 gBerryPic_Persim[]; +extern const u8 gBerryPic_Lum[]; +extern const u8 gBerryPic_Sitrus[]; +extern const u8 gBerryPic_Figy[]; +extern const u8 gBerryPic_Wiki[]; +extern const u8 gBerryPic_Mago[]; +extern const u8 gBerryPic_Aguav[]; +extern const u8 gBerryPic_Iapapa[]; +extern const u8 gBerryPic_Razz[]; +extern const u8 gBerryPic_Bluk[]; +extern const u8 gBerryPic_Nanab[]; +extern const u8 gBerryPic_Wepear[]; +extern const u8 gBerryPic_Pinap[]; +extern const u8 gBerryPic_Pomeg[]; +extern const u8 gBerryPic_Kelpsy[]; +extern const u8 gBerryPic_Qualot[]; +extern const u8 gBerryPic_Hondew[]; +extern const u8 gBerryPic_Grepa[]; +extern const u8 gBerryPic_Tamato[]; +extern const u8 gBerryPic_Cornn[]; +extern const u8 gBerryPic_Magost[]; +extern const u8 gBerryPic_Rabuta[]; +extern const u8 gBerryPic_Nomel[]; +extern const u8 gBerryPic_Spelon[]; +extern const u8 gBerryPic_Pamtre[]; +extern const u8 gBerryPic_Watmel[]; +extern const u8 gBerryPic_Durin[]; +extern const u8 gBerryPic_Belue[]; +extern const u8 gBerryPic_Liechi[]; +extern const u8 gBerryPic_Ganlon[]; +extern const u8 gBerryPic_Salac[]; +extern const u8 gBerryPic_Petaya[]; +extern const u8 gBerryPic_Apicot[]; +extern const u8 gBerryPic_Lansat[]; +extern const u8 gBerryPic_Starf[]; +extern const u8 gBerryPic_Enigma[]; +extern const u8 gBerryPalette_Cheri[]; +extern const u8 gBerryPalette_Oran[]; +extern const u8 gBerryPalette_Pecha[]; +extern const u8 gBerryPalette_Rawst[]; +extern const u8 gBerryPalette_Aspear[]; +extern const u8 gBerryPalette_Leppa[]; +extern const u8 gBerryPalette_Chesto[]; +extern const u8 gBerryPalette_Persim[]; +extern const u8 gBerryPalette_Lum[]; +extern const u8 gBerryPalette_Sitrus[]; +extern const u8 gBerryPalette_Figy[]; +extern const u8 gBerryPalette_Wiki[]; +extern const u8 gBerryPalette_Mago[]; +extern const u8 gBerryPalette_Aguav[]; +extern const u8 gBerryPalette_Iapapa[]; +extern const u8 gBerryPalette_Razz[]; +extern const u8 gBerryPalette_Bluk[]; +extern const u8 gBerryPalette_Nanab[]; +extern const u8 gBerryPalette_Wepear[]; +extern const u8 gBerryPalette_Pinap[]; +extern const u8 gBerryPalette_Pomeg[]; +extern const u8 gBerryPalette_Kelpsy[]; +extern const u8 gBerryPalette_Qualot[]; +extern const u8 gBerryPalette_Hondew[]; +extern const u8 gBerryPalette_Grepa[]; +extern const u8 gBerryPalette_Tamato[]; +extern const u8 gBerryPalette_Cornn[]; +extern const u8 gBerryPalette_Magost[]; +extern const u8 gBerryPalette_Rabuta[]; +extern const u8 gBerryPalette_Nomel[]; +extern const u8 gBerryPalette_Spelon[]; +extern const u8 gBerryPalette_Pamtre[]; +extern const u8 gBerryPalette_Watmel[]; +extern const u8 gBerryPalette_Durin[]; +extern const u8 gBerryPalette_Belue[]; +extern const u8 gBerryPalette_Liechi[]; +extern const u8 gBerryPalette_Ganlon[]; +extern const u8 gBerryPalette_Salac[]; +extern const u8 gBerryPalette_Petaya[]; +extern const u8 gBerryPalette_Apicot[]; +extern const u8 gBerryPalette_Lansat[]; +extern const u8 gBerryPalette_Starf[]; +extern const u8 gBerryPalette_Enigma[]; + +extern const u8 gUnknown_08E96EC8[]; #endif // GUARD_GRAPHICS_H diff --git a/include/item.h b/include/item.h index 47af11940..8f6cc883b 100644 --- a/include/item.h +++ b/include/item.h @@ -11,7 +11,7 @@ struct Item u16 price; u8 holdEffect; u8 holdEffectParam; - u8 *description; + const u8 *description; u8 importance; u8 unk19; u8 pocket; @@ -22,6 +22,16 @@ struct Item u8 secondaryId; }; +struct BagPocket +{ + struct ItemSlot *itemSlots; + u8 capacity; +}; + +#define NUM_BAG_POCKETS 5 + +extern const struct BagPocket gBagPockets[NUM_BAG_POCKETS]; + void CopyItemName(u16 itemId, u8 *string); bool8 IsBagPocketNonEmpty(u8 pocket); bool8 CheckBagHasItem(u16 itemId, u16 count); @@ -35,13 +45,13 @@ bool8 CheckPCHasItem(u16 itemId, u16 count); bool8 AddPCItem(u16 itemId, u16 count); void RemovePCItem(u8 index, u16 count); void SwapRegisteredBike(void); -struct Item *ItemId_GetItem(u16 itemId); +const struct Item *ItemId_GetItem(u16 itemId); u16 ItemId_GetId(u16 itemId); u16 ItemId_GetPrice(u16 itemId); u8 ItemId_GetHoldEffect(u16 itemId); u8 ItemId_GetHoldEffectParam(u16 itemId); -u8 *ItemId_GetDescription(u16 itemId); -bool8 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c); +const u8 *ItemId_GetDescription(u16 itemId); +bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c); u8 ItemId_GetImportance(u16 itemId); u8 ItemId_GetUnknownValue(u16 itemId); u8 ItemId_GetPocket(u16 itemId); diff --git a/include/item_menu.h b/include/item_menu.h index 301836ac8..6950ed0ff 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -3,12 +3,12 @@ #include "string_util.h" -void sub_80A3684(void); +void ResetBagScrollPositions(void); void ClearBag(void); void sub_80A3E0C(void); -void sub_80A3FA0(u16 *, u32, u32, u32, u32, u32); +void sub_80A3FA0(u16 *a, u8 b, u8 c, u8 d, u8 e, u16 f); void sub_80A4164(u8 *, u16, enum StringConvertMode, u8); -void sub_80A418C(u16, enum StringConvertMode, int, int, int); +void sub_80A418C(u16 a, enum StringConvertMode b, u8 c, u8 d, u8 e); void sub_80A53F8(void); void HandleItemMenuPaletteFade(u8); void sub_80A5B40(void); @@ -19,11 +19,11 @@ void sub_80A5D04(void); void sub_80A6300(void); void sub_80A68CC(); void sub_80A6A30(void); -int sub_80A6D1C(void); +bool32 sub_80A6D1C(void); void sub_80A6DCC(void); void sub_80A7094(u8); -u8 sub_80A7D8C(u8 berry, int i, int i1); +u8 CreateBerrySprite(u8, s16, s16); void sub_80A7DD4(void); -u8 sub_80A7E5C(u8); +u8 sub_80A7E5C(s16); #endif // GUARD_ITEM_MENU_H diff --git a/include/item_use.h b/include/item_use.h index 61a3b4f7a..1558f7691 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -3,28 +3,51 @@ extern u16 gScriptItemId; +void ItemUseOutOfBattle_Mail(u8); +void ItemUseOutOfBattle_Bike(u8); void ItemUseOnFieldCB_Bike(u8); +void ItemUseOutOfBattle_Rod(u8); void ItemUseOnFieldCB_Rod(u8); +void ItemUseOutOfBattle_Itemfinder(u8); void ItemUseOnFieldCB_Itemfinder(u8); void RunItemfinderResults(u8); void ExitItemfinder(u8); -bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, u8 taskId); +bool8 ItemfinderCheckForHiddenItems(struct MapEvents *, u8); void sub_80C9720(u8); void sub_80C9838(u8, s16, s16); u8 GetPlayerDirectionTowardsHiddenItem(s16, s16); void SetPlayerDirectionTowardsItem(u8); void DisplayItemRespondingMessageAndExitItemfinder(u8); void RotatePlayerAndExitItemfinder(u8); +void ItemUseOutOfBattle_PokeblockCase(u8); +void ItemUseOutOfBattle_CoinCase(u8); +void ItemUseOutOfBattle_SSTicket(u8); void sub_80C9D00(u8); +void ItemUseOutOfBattle_WailmerPail(u8); void sub_80C9D74(u8); +void ItemUseOutOfBattle_Medicine(u8); +void ItemUseOutOfBattle_SacredAsh(u8); +void ItemUseOutOfBattle_PPRecovery(u8); +void ItemUseOutOfBattle_PPUp(u8); +void ItemUseOutOfBattle_RareCandy(u8); void ItemUseOutOfBattle_TMHM(u8); void sub_80C9EE4(u8); void sub_80C9F10(u8); void sub_80C9F80(u8); void sub_80C9FC0(u8); +void ItemUseOutOfBattle_Repel(u8); +void ItemUseOutOfBattle_BlackWhiteFlute(u8); void task08_080A1C44(u8); u8 sub_80CA1C8(void); +void ItemUseOutOfBattle_EscapeRope(u8); void ItemUseOutOfBattle_EvolutionStone(u8); +void ItemUseInBattle_PokeBall(u8); +void ItemUseInBattle_StatIncrease(u8); +void ItemUseInBattle_Medicine(u8); +void ItemUseInBattle_PPRecovery(u8); +void ItemUseInBattle_Escape(u8); +void ItemUseOutOfBattle_EnigmaBerry(u8); +void ItemUseInBattle_EnigmaBerry(u8); void ItemUseOutOfBattle_CannotUse(u8); #endif // GUARD_ITEM_USE_H diff --git a/include/items.h b/include/items.h index f3c506b43..69515f18e 100644 --- a/include/items.h +++ b/include/items.h @@ -1,7 +1,8 @@ #ifndef GUARD_ITEMS_H #define GUARD_ITEMS_H -enum { +enum +{ ITEM_NONE, // 0x000 ITEM_MASTER_BALL, // 0x001 ITEM_ULTRA_BALL, // 0x002 diff --git a/include/link.h b/include/link.h index f80f2bc58..367add625 100644 --- a/include/link.h +++ b/include/link.h @@ -144,6 +144,7 @@ extern u8 deUnkValue2; extern struct LinkPlayer gLinkPlayers[]; extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; +extern bool8 gLinkOpen; void Task_DestroySelf(u8); void sub_8007270(u8); diff --git a/include/script.h b/include/script.h index 5577fcb01..e35ec7608 100644 --- a/include/script.h +++ b/include/script.h @@ -12,8 +12,8 @@ struct ScriptContext u8 mode; u8 comparisonResult; u8 (*nativePtr)(void); - u8 *scriptPtr; - u8 *stack[20]; + const u8 *scriptPtr; + const u8 *stack[20]; ScrCmdFunc *cmdTable; ScrCmdFunc *cmdTableEnd; u32 data[4]; @@ -22,12 +22,12 @@ struct ScriptContext #define ScriptReadByte(ctx) (*(ctx->scriptPtr++)) void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd); -u8 SetupBytecodeScript(struct ScriptContext *ctx, void *ptr); +u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr); void SetupNativeScript(struct ScriptContext *ctx, void *ptr); void StopScript(struct ScriptContext *ctx); u8 RunScript(struct ScriptContext *ctx); -u8 ScriptPush(struct ScriptContext *ctx, u8 *ptr); -u8 *ScriptPop(struct ScriptContext *ctx); +u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr); +const u8 *ScriptPop(struct ScriptContext *ctx); void ScriptJump(struct ScriptContext *ctx, u8 *ptr); void ScriptCall(struct ScriptContext *ctx, u8 *ptr); void ScriptReturn(struct ScriptContext *ctx); @@ -38,10 +38,10 @@ void ScriptContext2_Disable(void); bool8 ScriptContext2_IsEnabled(void); void ScriptContext1_Init(void); bool8 ScriptContext2_RunScript(void); -void ScriptContext1_SetupScript(u8 *ptr); +void ScriptContext1_SetupScript(const u8 *ptr); void ScriptContext1_Stop(void); void EnableBothScriptContexts(void); -void ScriptContext2_RunNewScript(u8 *ptr); +void ScriptContext2_RunNewScript(const u8 *ptr); u8 *mapheader_get_tagged_pointer(u8 tag); void mapheader_run_script_by_tag(u8 tag); u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag); diff --git a/include/script_menu.h b/include/script_menu.h index 458aad13d..cc5c442ec 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -7,7 +7,7 @@ struct MultichoiceListStruct u8 count; }; -extern const struct TextStruct gUnknown_083CE048[]; +extern const u8 *const gUnknown_083CE048[]; bool8 sub_80B5054(u8 left, u8 top, u8 var3, u8 var4); bool8 sub_80B50B0(u8 left, u8 top, u8 var3, u8 var4, u8 var5); diff --git a/include/songs.h b/include/songs.h index a813cc785..8cf7ee5e9 100644 --- a/include/songs.h +++ b/include/songs.h @@ -94,11 +94,11 @@ enum SE_T_KAMI2, SE_ELEBETA, /*0x5A*/ SE_HINSI, - SE_EXPMAX, - SE_TAMAKORO, - SE_TAMAKORO_E, - SE_BASABASA, - SE_REGI, + /*0x5B*/ SE_EXPMAX, + /*0x5C*/ SE_TAMAKORO, + /*0x5D*/ SE_TAMAKORO_E, + /*0x5E*/ SE_BASABASA, + /*0x5F*/ SE_REGI, SE_C_GAJI, SE_C_MAKU_U, SE_C_MAKU_D, diff --git a/include/sprite.h b/include/sprite.h index a65e71bd9..733231eb5 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -19,7 +19,7 @@ struct CompressedSpriteSheet struct SpriteFrameImage { - u8 *data; + const u8 *data; u16 size; }; diff --git a/include/strings.h b/include/strings.h index 89a78e478..fe9cfc6ba 100755 --- a/include/strings.h +++ b/include/strings.h @@ -188,7 +188,7 @@ extern const u8 OtherText_TheField[]; extern const u8 OtherText_TheField2[]; extern const u8 OtherText_ThePC[]; -extern const struct TextStruct gUnknown_0840E740[]; +extern const u8 *const gUnknown_0840E740[7]; extern const u8 gOtherText_ReturnTo[]; extern const u8 gOtherText_WhatWillYouDo2[]; diff --git a/include/text.h b/include/text.h index cf413644b..99987d2c3 100644 --- a/include/text.h +++ b/include/text.h @@ -9,8 +9,9 @@ #define CHAR_ELLIPSIS 0xB0 #define CHAR_MALE 0xB5 #define CHAR_FEMALE 0xB6 -#define CHAR_COMMA 0xB8 #define CHAR_CURRENCY 0xB7 +#define CHAR_COMMA 0xB8 +#define CHAR_MULT_SIGN 0xB9 #define CHAR_SLASH 0xBA #define CHAR_A 0xBB #define CHAR_B 0xBC @@ -65,6 +66,8 @@ #define CHAR_y 0xED #define CHAR_z 0xEE #define CHAR_COLON 0xF0 +#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog +#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog #define EXT_CTRL_CODE_BEGIN 0xFC // extended control code #define PLACEHOLDER_BEGIN 0xFD // string placeholder #define CHAR_NEWLINE 0xFE diff --git a/ld_script.txt b/ld_script.txt index a51f50947..e4c680e96 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -155,7 +155,7 @@ SECTIONS { src/fldeff_cut.o(.text); src/mail_data.o(.text); src/map_name_popup.o(.text); - asm/item_menu.o(.text); + src/item_menu.o(.text); src/battle_anim_80A7E7C.o(.text); src/item.o(.text); src/matsuda_debug_menu.o(.text); @@ -338,7 +338,7 @@ SECTIONS { src/pokemon_data.o(.rodata); . = ALIGN(4); src/trig.o(.rodata); - data/util.o(.rodata); + src/util.o(.rodata); data/daycare.o(.rodata); data/egg_hatch.o(.rodata); data/battle_interface.o(.rodata); @@ -374,7 +374,7 @@ SECTIONS { src/rom_8077ABC.o(.rodata); data/map_events.o(.rodata); data/data_8393054.o(.rodata); - data/task.o(.rodata); + src/task.o(.rodata); data/battle_anim_807B69C.o(.rodata); src/title_screen.o(.rodata); data/field_weather.o(.rodata); @@ -387,7 +387,7 @@ SECTIONS { data/wild_encounter.o(.rodata); src/field_effect.o(.rodata); data/pokemon_menu.o(.rodata); - data/option_menu.o(.rodata); + src/option_menu.o(.rodata); src/pokedex.o(.rodata); src/trainer_card.o(.rodata); data/trainer_card.o(.rodata); @@ -396,9 +396,9 @@ SECTIONS { data/pokemon_icon.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/fldeff_cut.o(.rodata); - data/item_menu.o(.rodata); + src/item_menu.o(.rodata); data/battle_anim_80A7E7C.o(.rodata); - data/item.o(.rodata); + src/item.o(.rodata); data/matsuda_debug_menu.o(.rodata); data/contest.o(.rodata); data/shop.o(.rodata); @@ -471,7 +471,7 @@ SECTIONS { src/lottery_corner.o(.rodata); src/diploma.o(.rodata); src/strings.o(.rodata); - data/berry_tag_screen.o(.rodata); + src/berry_tag_screen.o(.rodata); src/save_failed_screen.o(.rodata); data/pokeblock_feed.o(.rodata); data/intro_credits_graphics.o(.rodata); diff --git a/src/battle_setup.c b/src/battle_setup.c index adcbe8eaa..04674e739 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -845,17 +845,17 @@ void HandleFirstBattleEnd(void) SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); } -u32 TrainerBattleLoadArg32(u8 *ptr) +u32 TrainerBattleLoadArg32(const u8 *ptr) { return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24); } -u16 TrainerBattleLoadArg16(u8 *ptr) +u16 TrainerBattleLoadArg16(const u8 *ptr) { return ptr[0] | (ptr[1] << 8); } -u8 TrainerBattleLoadArg8(u8 *ptr) +u8 TrainerBattleLoadArg8(const u8 *ptr) { return ptr[0]; } @@ -867,16 +867,16 @@ u16 trainerflag_opponent(void) bool32 battle_exit_is_player_defeat(u32 a1) { - switch (a1 - 1) + switch (a1) { - case 1: case 2: - return TRUE; - case 0: case 3: + return TRUE; + case 1: case 4: case 5: case 6: + case 7: return FALSE; } return FALSE; @@ -895,7 +895,7 @@ void sub_80822BC(void) gTrainerBattleEndScript = 0; } -void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, u8 *data) +void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, const u8 *data) { while (1) { @@ -923,7 +923,7 @@ void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, u8 *data) *(u32 *)specs->ptr = 0; break; case 6: - *(u8 **)specs->ptr = data; + *(const u8 **)specs->ptr = data; return; } specs++; @@ -939,7 +939,7 @@ void battle_80801F0(void) } } -u8 *TrainerBattleConfigure(u8 *data) +u8 *TrainerBattleConfigure(const u8 *data) { sub_80822BC(); gTrainerBattleMode = TrainerBattleLoadArg8(data); diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 0e81e4fec..6cbc38ecc 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -41,13 +41,20 @@ extern u16 gUnknown_030041B4; extern const struct CompressedSpriteSheet gUnknown_083C1F74; extern const struct CompressedSpritePalette gUnknown_083C1F7C; -extern u8 *gUnknown_0841192C[]; - extern u8 gBerryCheck_Gfx[]; extern u8 gBerryCheck_Pal[]; extern u8 gUnknown_08E788E4[]; extern u8 gUnknown_08E78A84[]; +static const u8 *const gUnknown_0841192C[] = +{ + ContestStatsText_VerySoft, + ContestStatsText_Soft, + ContestStatsText_Hard, + ContestStatsText_VeryHard, + ContestStatsText_SuperHard, +}; + static void sub_8146014(void); static void sub_814602C(void); static bool8 sub_8146058(void); @@ -131,7 +138,7 @@ static bool8 sub_8146058(void) break; case 8: berry = gScriptItemId + OFFSET_7B; - gUnknown_0203932C = sub_80A7D8C(berry, 56, 64); + gUnknown_0203932C = CreateBerrySprite(berry, 56, 64); gMain.state += 1; break; case 9: @@ -374,7 +381,7 @@ static void sub_81466E8(u8 taskId, s8 direction) lsls r0, 3\n\ ldr r1, _08146748 @ =gTasks + 0x8\n\ adds r6, r0, r1\n\ - ldr r4, _0814674C @ =gUnknown_03005D10\n\ + ldr r4, _0814674C @ =gBagPocketScrollStates\n\ movs r0, 0xC\n\ adds r0, r4\n\ mov r8, r0\n\ @@ -412,7 +419,7 @@ _08146728:\n\ b _08146766\n\ .align 2, 0\n\ _08146748: .4byte gTasks + 0x8\n\ -_0814674C: .4byte gUnknown_03005D10\n\ +_0814674C: .4byte gBagPocketScrollStates\n\ _08146750:\n\ mov r4, r8\n\ ldrb r0, [r4, 0x2]\n\ @@ -487,7 +494,7 @@ static void sub_8146810(s8 berry) asrs r1, r0, 24\n\ cmp r1, 0\n\ ble _08146848\n\ - ldr r0, _08146840 @ =gUnknown_03005D10\n\ + ldr r0, _08146840 @ =gBagPocketScrollStates\n\ adds r4, r0, 0\n\ adds r4, 0xC\n\ ldrb r2, [r0, 0xC]\n\ @@ -504,12 +511,12 @@ static void sub_8146810(s8 berry) movs r0, 0x7\n\ b _0814686E\n\ .align 2, 0\n\ -_08146840: .4byte gUnknown_03005D10\n\ +_08146840: .4byte gBagPocketScrollStates\n\ _08146844:\n\ adds r0, r2, r3\n\ b _0814686E\n\ _08146848:\n\ - ldr r0, _08146868 @ =gUnknown_03005D10\n\ + ldr r0, _08146868 @ =gBagPocketScrollStates\n\ adds r5, r0, 0\n\ adds r5, 0xC\n\ ldrb r2, [r0, 0xC]\n\ @@ -525,7 +532,7 @@ _08146848:\n\ strb r1, [r6, 0xC]\n\ b _08146870\n\ .align 2, 0\n\ -_08146868: .4byte gUnknown_03005D10\n\ +_08146868: .4byte gBagPocketScrollStates\n\ _0814686C:\n\ adds r0, r2, r4\n\ _0814686E:\n\ @@ -538,7 +545,7 @@ _08146870:\n\ ldrb r1, [r0, 0x1]\n\ ldrb r0, [r0]\n\ adds r1, r0\n\ - ldr r0, _081468B0 @ =gUnknown_03005D24\n\ + ldr r0, _081468B0 @ =gCurrentBagPocketItemSlots\n\ ldr r0, [r0]\n\ lsls r1, 2\n\ adds r1, r0\n\ @@ -559,7 +566,7 @@ _08146870:\n\ bx r0\n\ .align 2, 0\n\ _081468AC: .4byte gScriptItemId\n\ -_081468B0: .4byte gUnknown_03005D24\n\ +_081468B0: .4byte gCurrentBagPocketItemSlots\n\ _081468B4: .4byte gUnknown_0203932C\n\ _081468B8: .4byte gSprites\n\ .syntax divided\n"); @@ -571,7 +578,7 @@ static void sub_81468BC(void) sub_81464E4(); // center of berry sprite - gUnknown_0203932C = sub_80A7D8C(gScriptItemId + OFFSET_7B, 56, 64); + gUnknown_0203932C = CreateBerrySprite(gScriptItemId + OFFSET_7B, 56, 64); sub_8146600(gScriptItemId + OFFSET_7B); } diff --git a/src/credits.c b/src/credits.c index 8ec126a41..8c4cfb84d 100644 --- a/src/credits.c +++ b/src/credits.c @@ -250,27 +250,17 @@ static void sub_814395C(void) BuildOamBuffer(); UpdatePaletteFade(); - if (!(gMain.heldKeys & B_BUTTON)) + if ((gMain.heldKeys & B_BUTTON) + && gUnknown_02039324 != 0 + && gTasks[gUnknown_02039322].func == task_a_8143B68) { - return; - } - - if (!gUnknown_02039324) - { - return; - } - - if (gTasks[gUnknown_02039322].func != task_a_8143B68) - { - return; + vblank_8143948(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + gUnknown_02039325 = 1; } - - vblank_8143948(); - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); - gUnknown_02039325 = 1; } void sub_81439D0(void) @@ -296,9 +286,7 @@ void sub_81439D0(void) while (TRUE) { if (sub_8144ECC(0, taskIdA)) - { break; - } } taskIdC = gTasks[taskIdA].data[TDA_TASK_C_ID]; @@ -344,12 +332,8 @@ void sub_81439D0(void) static void task_a_8143B38(u8 taskIdA) { - if (gPaletteFade.active) - { - return; - } - - gTasks[taskIdA].func = task_a_8143B68; + if (!gPaletteFade.active) + gTasks[taskIdA].func = task_a_8143B68; } static void task_a_8143B68(u8 taskIdA) @@ -389,14 +373,12 @@ static void task_a_8143B68(u8 taskIdA) static void task_a_8143BFC(u8 taskIdA) { - if (gPaletteFade.active) + if (!gPaletteFade.active) { - return; + REG_DISPCNT = 0; + sub_81450AC(taskIdA); + gTasks[taskIdA].func = task_a_80C9BFC; } - - REG_DISPCNT = 0; - sub_81450AC(taskIdA); - gTasks[taskIdA].func = task_a_80C9BFC; } static void task_a_80C9BFC(u8 taskIdA) @@ -405,33 +387,29 @@ static void task_a_80C9BFC(u8 taskIdA) SetVBlankCallback(NULL); - if (!sub_8144ECC(gTasks[taskIdA].data[TDA_7], taskIdA)) + if (sub_8144ECC(gTasks[taskIdA].data[TDA_7], taskIdA)) { - return; - } - - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(-1, 0, 16, 0, 0); - backup = REG_IME; - REG_IME = 0; - REG_IE |= INTR_FLAG_VBLANK; - REG_IME = backup; - REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; + backup = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = backup; + REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; - SetVBlankCallback(vblank_8143948); - gTasks[taskIdA].func = task_a_8143B38; + SetVBlankCallback(vblank_8143948); + gTasks[taskIdA].func = task_a_8143B38; + } } static void task_a_8143CC0(u8 taskIdA) { - if (gPaletteFade.active) + if (!gPaletteFade.active) { - return; + REG_DISPCNT = 0; + sub_81450AC(taskIdA); + gTasks[taskIdA].func = task_a_8143D04; } - - REG_DISPCNT = 0; - sub_81450AC(taskIdA); - gTasks[taskIdA].func = task_a_8143D04; } void task_a_8143D04(u8 taskIdA) @@ -501,13 +479,11 @@ static void task_a_8143EBC(u8 taskIdA) static void task_a_8143F04(u8 taskIdA) { - if (gPaletteFade.active) + if (!gPaletteFade.active) { - return; + sub_81450AC(taskIdA); + gTasks[taskIdA].func = task_a_8143F3C; } - - sub_81450AC(taskIdA); - gTasks[taskIdA].func = task_a_8143F3C; } static void task_a_8143F3C(u8 taskIdA) @@ -547,62 +523,52 @@ static void task_a_8143FDC(u8 taskIdA) static void task_a_8144024(u8 taskIdA) { - if (gPaletteFade.active) + if (!gPaletteFade.active) { - return; - } + sub_81452D0(0x3800, 0); - sub_81452D0(0x3800, 0); - - BeginNormalPaletteFade(-1, 0, 0, 0, 0); - gTasks[taskIdA].data[TDA_0] = 7200; - gTasks[taskIdA].func = task_a_8144080; + BeginNormalPaletteFade(-1, 0, 0, 0, 0); + gTasks[taskIdA].data[TDA_0] = 7200; + gTasks[taskIdA].func = task_a_8144080; + } } static void task_a_8144080(u8 taskIdA) { - if (gPaletteFade.active) + if (!gPaletteFade.active) { - return; - } + if (gTasks[taskIdA].data[TDA_0] == 0) + { + FadeOutBGM(4); + BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF); + gTasks[taskIdA].func = task_a_8144114; + return; + } - if (gTasks[taskIdA].data[TDA_0] == 0) - { - FadeOutBGM(4); - BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF); - gTasks[taskIdA].func = task_a_8144114; - return; - } + if (gMain.newKeys) + { + FadeOutBGM(4); + BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF); + gTasks[taskIdA].func = task_a_8144114; + return; + } - if (gMain.newKeys) - { - FadeOutBGM(4); - BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF); - gTasks[taskIdA].func = task_a_8144114; - return; - } + if (gTasks[taskIdA].data[TDA_0] == 7144) + { + FadeOutBGM(8); + } - if (gTasks[taskIdA].data[TDA_0] == 7144) - { - FadeOutBGM(8); - } + if (gTasks[taskIdA].data[TDA_0] == 6840) + m4aSongNumStart(BGM_END); - if (gTasks[taskIdA].data[TDA_0] == 6840) - { - m4aSongNumStart(BGM_END); + gTasks[taskIdA].data[TDA_0] -= 1; } - - gTasks[taskIdA].data[TDA_0] -= 1; } static void task_a_8144114(u8 taskIdA) { - if (gPaletteFade.active) - { - return; - } - - SoftReset(0xFF); + if (!gPaletteFade.active) + SoftReset(0xFF); } static void sub_8144130(void) @@ -639,38 +605,30 @@ static void task_b_81441B8(u8 taskIdB) case 8: case 9: default: - if (gPaletteFade.active) + if (!gPaletteFade.active) { - return; + gTasks[taskIdB].data[TDB_0] = 1; + gTasks[taskIdB].data[TDB_3] = 0x58; + gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_14] = 0; + gUnknown_02039320 = 0; } - gTasks[taskIdB].data[TDB_0] = 1; - gTasks[taskIdB].data[TDB_3] = 0x58; - gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_14] = 0; - gUnknown_02039320 = 0; return; - case 1: if (gTasks[taskIdB].data[TDB_3] != 0) { gTasks[taskIdB].data[TDB_3] -= 1; return; } - gTasks[taskIdB].data[TDB_0] += 1; return; - case 2: REG_DISPCNT &= ~DISPCNT_BG0_ON; - if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].func == task_a_8143B68) { if (gTasks[taskIdB].data[TDB_CURRENT_PAGE] < PAGE_COUNT) { - for (i = 0; i < 5; i++) - { sub_8072BD8(gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->text, 0, 9 + i * 2, 240); - } gTasks[taskIdB].data[TDB_CURRENT_PAGE] += 1; gTasks[taskIdB].data[TDB_0] += 1; @@ -678,36 +636,24 @@ static void task_b_81441B8(u8 taskIdB) gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_14] = 1; if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_13] == 1) - { BeginNormalPaletteFade(0x300, 0, 16, 0, COLOR_LIGHT_GREEN); - } else - { BeginNormalPaletteFade(0x300, 0, 16, 0, COLOR_DARK_GREEN); - } return; } - - gTasks[taskIdB].data[TDB_0] = 10; return; } - gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_14] = 0; return; - case 3: REG_DISPCNT |= DISPCNT_BG0_ON; - - if (gPaletteFade.active) + if (!gPaletteFade.active) { - return; + gTasks[taskIdB].data[TDB_3] = UNK_DEFINE_82; + gTasks[taskIdB].data[TDB_0] += 1; } - - gTasks[taskIdB].data[TDB_3] = UNK_DEFINE_82; - gTasks[taskIdB].data[TDB_0] += 1; return; - case 4: if (gTasks[taskIdB].data[TDB_3] != 0) { @@ -720,28 +666,18 @@ static void task_b_81441B8(u8 taskIdB) gTasks[taskIdB].data[TDB_0] += 1; return; } - gTasks[taskIdB].data[TDB_0] += 1; - if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].data[TDA_13] == 1) - { BeginNormalPaletteFade(0x300, 0, 0, 16, COLOR_LIGHT_GREEN); - } else - { BeginNormalPaletteFade(0x300, 0, 0, 16, COLOR_DARK_GREEN); - } - return; - case 5: - if (gPaletteFade.active) + if (!gPaletteFade.active) { - return; + MenuZeroFillWindowRect(0, 9, 29, 19); + gTasks[taskIdB].data[TDB_0] = 2; } - - MenuZeroFillWindowRect(0, 9, 29, 19); - gTasks[taskIdB].data[TDB_0] = 2; return; case 10: @@ -962,14 +898,11 @@ void task_e_8144934(u8 taskIdE) gTasks[taskIdE].data[TDE_1] = 0x7FFF; } } - sub_8149020(0); break; - case 1: sub_8149020(0); break; - case 2: if (gTasks[taskIdE].data[TDE_1] != 0x7FFF) { @@ -984,7 +917,6 @@ void task_e_8144934(u8 taskIdE) } sub_8149020(1); break; - case 3: if (gTasks[taskIdE].data[TDE_1] != 0x7FFF) { @@ -999,10 +931,8 @@ void task_e_8144934(u8 taskIdE) gTasks[taskIdE].data[TDE_1] += 1; } } - sub_8149020(1); break; - case 4: sub_8149020(2); break; @@ -1024,7 +954,6 @@ static void sub_8144A68(u8 data, u8 taskIdA) gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data0 = 0; gTasks[taskIdA].data[TDA_0] = sub_8148EC0(0, 0x2000, 0x20, 8); break; - case 1: gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; @@ -1036,7 +965,6 @@ static void sub_8144A68(u8 data, u8 taskIdA) gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data0 = 0; gTasks[taskIdA].data[TDA_0] = sub_8148EC0(0, 0x2000, 0x20, 8); break; - case 2: gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; @@ -1048,7 +976,6 @@ static void sub_8144A68(u8 data, u8 taskIdA) gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data0 = 0; gTasks[taskIdA].data[TDA_0] = sub_8148EC0(1, 0x2000, 0x200, 8); break; - case 3: gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; @@ -1060,7 +987,6 @@ static void sub_8144A68(u8 data, u8 taskIdA) gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].data0 = 0; gTasks[taskIdA].data[TDA_0] = sub_8148EC0(1, 0x2000, 0x200, 8); break; - case 4: gSprites[gTasks[taskIdA].data[TDA_PLAYER_CYCLIST]].invisible = 0; gSprites[gTasks[taskIdA].data[TDA_RIVAL_CYCLIST]].invisible = 0; @@ -1087,9 +1013,7 @@ static void sub_8144A68(u8 data, u8 taskIdA) gTasks[gTasks[taskIdA].data[TDA_TASK_C_ID]].data[TDC_4] = 0; if (data == 2) - { gTasks[gTasks[taskIdA].data[TDA_TASK_C_ID]].data[TDC_5] = UNK_DEFINE_45; - } } static bool8 sub_8144ECC(u8 data, u8 taskIdA) @@ -1113,14 +1037,12 @@ static bool8 sub_8144ECC(u8 data, u8 taskIdA) FreeAllSpritePalettes(); gMain.state = 1; break; - case 1: gUnknown_02039358 = 34; gUnknown_0203935A = 0; sub_8148CB0(data); gMain.state += 1; break; - case 2: if (gSaveBlock2.playerGender == MALE) { @@ -1156,17 +1078,14 @@ static bool8 sub_8144ECC(u8 data, u8 taskIdA) gSprites[spriteId].callback = spritecb_rival_8145420; gSprites[spriteId].anims = gSpriteAnimTable_0840CA94; }; - gMain.state += 1; break; - case 3: sub_8144A68(data, taskIdA); sub_8148E90(data); gMain.state = 0; return TRUE; } - return FALSE; } @@ -1199,7 +1118,8 @@ static void sub_81450AC(u8 taskIdA) gUnknown_0203935C = 1; } -static void sub_8145128(u16 arg0, u16 arg1, u16 arg2) { +static void sub_8145128(u16 arg0, u16 arg1, u16 arg2) +{ u16 baseTile; u16 i; @@ -1209,65 +1129,45 @@ static void sub_8145128(u16 arg0, u16 arg1, u16 arg2) { baseTile = (arg2 / 16) << 12; for (i = 0; i < 32 * 32; i++) - { ((u16 *) (VRAM + arg1))[i] = baseTile + 1; - } for (i = 0; i < 21; i++) - { ((u16 *) (VRAM + arg1))[7 * 32 + 4 + i] = i + 2 + baseTile; - } for (i = 0; i < 20; i++) - { ((u16 *) (VRAM + arg1))[9 * 32 + 4 + i] = i + 23 + baseTile; - } for (i = 0; i < 23; i++) - { ((u16 *) (VRAM + arg1))[11 * 32 + 4 + i] = i + 43 + baseTile; - } for (i = 0; i < 12; i++) - { ((u16 *) (VRAM + arg1))[13 * 32 + 4 + i] = i + 66 + baseTile; - } } u16 sub_8145208(u8 arg0) { - u16 out = (arg0 & 0x3F) + 80; if (arg0 == 0xFF) - { return 1; - } if (arg0 & (1 << 7)) - { out |= 1 << 11; - } - if (arg0 & (1 << 6)) - { out |= 1 << 10; - } return out; } -void sub_814524C(u8 arg0[], u8 baseX, u8 baseY, u16 arg3, u16 palette) { +void sub_814524C(u8 arg0[], u8 baseX, u8 baseY, u16 arg3, u16 palette) +{ u8 y, x; - const u16 tileOffset = (palette / 16) << 12; for (y = 0; y < 5; y++) { for (x = 0; x < 3; x++) - { ((u16 *) (VRAM + arg3 + (baseY + y) * 64))[baseX + x] = tileOffset + sub_8145208(arg0[y * 3 + x]); - } } } @@ -1307,37 +1207,26 @@ static void spritecb_player_8145378(struct Sprite *sprite) case 0: StartSpriteAnimIfDifferent(sprite, 0); break; - case 1: StartSpriteAnimIfDifferent(sprite, 1); if (sprite->pos1.x > -32) - { sprite->pos1.x -= 1; - } break; - case 2: StartSpriteAnimIfDifferent(sprite, 2); break; - case 3: StartSpriteAnimIfDifferent(sprite, 3); break; - case 4: StartSpriteAnimIfDifferent(sprite, 0); if (sprite->pos1.x > 120) - { sprite->pos1.x -= 1; - } break; - case 5: StartSpriteAnimIfDifferent(sprite, 0); if (sprite->pos1.x > -32) - { sprite->pos1.x -= 1; - } break; } } @@ -1356,49 +1245,31 @@ static void spritecb_rival_8145420(struct Sprite *sprite) sprite->pos2.y = 0; StartSpriteAnimIfDifferent(sprite, 0); break; - case 1: if (sprite->pos1.x > 200) - { StartSpriteAnimIfDifferent(sprite, 1); - } else - { StartSpriteAnimIfDifferent(sprite, 2); - } - if (sprite->pos1.x > -32) - { sprite->pos1.x -= 2; - } - sprite->pos2.y = -gUnknown_0203935A; break; - case 2: sprite->data7 += 1; StartSpriteAnimIfDifferent(sprite, 0); - if ((sprite->data7 & 3) == 0) - { sprite->pos1.x += 1; - } break; - case 3: StartSpriteAnimIfDifferent(sprite, 0); - if (sprite->pos1.x > -32) - { sprite->pos1.x -= 1; - } break; - - } } -void spritecb_81454E0(struct Sprite *sprite) { +void spritecb_81454E0(struct Sprite *sprite) +{ if (gUnknown_0203935C) { DestroySprite(sprite); @@ -1417,7 +1288,6 @@ void spritecb_81454E0(struct Sprite *sprite) { sprite->invisible = FALSE; sprite->data0 = 1; break; - case 1: if (sprite->data2 < 256) { @@ -1432,23 +1302,18 @@ void spritecb_81454E0(struct Sprite *sprite) { { case 1: if ((sprite->data7 & 3) == 0) - { sprite->pos1.y += 1; - } sprite->pos1.x -= 2; break; case 2: break; case 3: if ((sprite->data7 & 3) == 0) - { sprite->pos1.y += 1; - } sprite->pos1.x += 2; break; } break; - case 2: if (sprite->data3 != 0) { @@ -1463,7 +1328,6 @@ void spritecb_81454E0(struct Sprite *sprite) { sprite->data0 += 1; } break; - case 3: if (sprite->data3 != 0) { @@ -1482,13 +1346,11 @@ void spritecb_81454E0(struct Sprite *sprite) { sprite->data0 = 10; } break; - case 10: REG_BLDCNT = 0; REG_BLDALPHA = 0; DestroySprite(sprite); break; - } } @@ -1500,17 +1362,14 @@ static u8 sub_81456B4(u16 species, u16 x, u16 y, u16 position) u8 spriteId2; species = NationalPokedexNumToSpecies(species); - switch (species) { default: personality = 0; break; - case SPECIES_SPINDA: personality = gSaveBlock2.pokedex.spindaPersonality; break; - case SPECIES_UNOWN: personality = gSaveBlock2.pokedex.unownPersonality; break; @@ -1562,7 +1421,8 @@ void spritecb_814580C(struct Sprite *sprite) sprite->pos1.y = gSprites[sprite->data0].pos1.y; } -static void sub_81458DC(void) { +static void sub_81458DC(void) +{ struct Unk201C000 *unk201C000 = &ewram1c000; u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_FIRST_POKE))); u16 seenTypesCount; @@ -1580,19 +1440,13 @@ static void sub_81458DC(void) { } for (dexNum = seenTypesCount; dexNum < 386; dexNum++) - { unk201C000->unk90[dexNum] = 0; - } unk201C000->unk394 = seenTypesCount; if (unk201C000->unk394 < POKEMON_TILE_COUNT) - { unk201C000->unk8E = seenTypesCount; - } else - { unk201C000->unk8E = POKEMON_TILE_COUNT; - } j = 0; do @@ -1625,7 +1479,6 @@ static void sub_81458DC(void) { } else { - for (dexNum = 0; unk201C000->unk0[dexNum] != starter && dexNum < POKEMON_TILE_COUNT; dexNum++); if (dexNum < unk201C000->unk8E - 1) @@ -1634,7 +1487,9 @@ static void sub_81458DC(void) { unk201C000->unk0[POKEMON_TILE_COUNT - 1] = starter; } else + { unk201C000->unk0[POKEMON_TILE_COUNT - 1] = starter; + } } unk201C000->unk8E = POKEMON_TILE_COUNT; } diff --git a/src/data/item_descriptions_de.h b/src/data/item_descriptions_de.h new file mode 100644 index 000000000..ba1147f9b --- /dev/null +++ b/src/data/item_descriptions_de.h @@ -0,0 +1,1392 @@ +static const u8 gItemDescription_MasterBall[] = _( + "Der beste BALL.\n" + "Fängt das POKéMON\n" + "garantiert."); + +static const u8 gItemDescription_UltraBall[] = _( + "BALL mit hoher Er-\n" + "folgsquote. Besser\n" + "als ein SUPERBALL."); + +static const u8 gItemDescription_GreatBall[] = _( + "BALL mit guter Er-\n" + "folgsquote. Besser\n" + "als ein POKéBALL."); + +static const u8 gItemDescription_PokeBall[] = _( + "Damit fängst\n" + "du wilde\n" + "POKéMON."); + +static const u8 gItemDescription_SafariBall[] = _( + "Ein BALL, der nur\n" + "in der SAFARI-ZONE\n" + "eingesetzt wird."); + +static const u8 gItemDescription_NetBall[] = _( + "BALL fängt POKéMON\n" + "des Typs WASSER\n" + "und KÄFER besser."); + +static const u8 gItemDescription_DiveBall[] = _( + "BALL fängt besser\n" + "POKéMON auf\n" + "dem Meeresgrund."); + +static const u8 gItemDescription_NestBall[] = _( + "BALL mit höherer\n" + "Erfolgsquote bei\n" + "schwachen POKéMON."); + +static const u8 gItemDescription_RepeatBall[] = _( + "BALL fängt besser\n" + "bereits gefangene\n" + "POKéMON."); + +static const u8 gItemDescription_TimerBall[] = _( + "BALL wird effekti-\n" + "ver, je länger der\n" + "Kampf dauert."); + +static const u8 gItemDescription_LuxuryBall[] = _( + "Behaglicher BALL,\n" + "der POKéMON\n" + "freundlicher macht."); + +static const u8 gItemDescription_PremierBall[] = _( + "Seltener BALL, als\n" + "Reminiszenz an ir-\n" + "gendein Ereignis."); + +static const u8 gItemDescription_Potion[] = _( + "Füllt die KP eines\n" + "POKéMON um\n" + "20 Punkte auf."); + +static const u8 gItemDescription_Antidote[] = _( + "Heilt Vergiftungen\n" + "bei POKéMON."); + +static const u8 gItemDescription_BurnHeal[] = _( + "Heilt Verbrennun-\n" + "gen bei POKéMON."); + +static const u8 gItemDescription_IceHeal[] = _( + "Taut POKéMON\n" + "wieder auf."); + +static const u8 gItemDescription_Awakening[] = _( + "Weckt schlafendes\n" + "POKéMON auf."); + +static const u8 gItemDescription_ParalyzeHeal[] = _( + "Heilt Paralyse\n" + "eines POKéMON."); + +static const u8 gItemDescription_FullRestore[] = _( + "Stellt KP und\n" + "Status eines\n" + "POKéMON wieder her."); + +static const u8 gItemDescription_MaxPotion[] = _( + "Füllt die KP\n" + "vollständig auf."); + +static const u8 gItemDescription_HyperPotion[] = _( + "Füllt die KP eines\n" + "POKéMON um\n" + "200 Punkte auf."); + +static const u8 gItemDescription_SuperPotion[] = _( + "Füllt die KP eines\n" + "POKéMON um\n" + "50 Punkte auf."); + +static const u8 gItemDescription_FullHeal[] = _( + "Beseitigt alle\n" + "Statusprobleme\n" + "eines POKéMON."); + +static const u8 gItemDescription_Revive[] = _( + "Belebt POKéMON\n" + "und füllt die KP zur\n" + "Hälfte wieder auf."); + +static const u8 gItemDescription_MaxRevive[] = _( + "Belebt POKéMON\n" + "und füllt KP voll-\n" + "ständig wieder auf."); + +static const u8 gItemDescription_FreshWater[] = _( + "Ein stilles Wasser,\n" + "das die KP um 50\n" + "Punkte auffüllt."); + +static const u8 gItemDescription_SodaPop[] = _( + "Ein Mineralwasser,\n" + "das die KP um 60\n" + "Punkte auffüllt."); + +static const u8 gItemDescription_Lemonade[] = _( + "Ein süßes Getränk,\n" + "das die KP um 80\n" + "Punkte auffüllt."); + +static const u8 gItemDescription_MoomooMilk[] = _( + "Vitaminreiche Milch,\n" + "die die KP um 100\n" + "Punkte auffüllt."); + +static const u8 gItemDescription_EnergyPowder[] = _( + "Ein bitteres Pulver,\n" + "das die KP um\n" + "50 Punkte auffüllt."); + +static const u8 gItemDescription_EnergyRoot[] = _( + "Eine bittere Wurzel,\n" + "die die KP um 200\n" + "Punkte auffüllt."); + +static const u8 gItemDescription_HealPowder[] = _( + "Ein bitteres Pulver,\n" + "das alle Statuspro-\n" + "bleme heilt."); + +static const u8 gItemDescription_RevivalHerb[] = _( + "Ein bitteres Kraut,\n" + "das besiegte\n" + "POKéMON belebt."); + +static const u8 gItemDescription_Ether[] = _( + "Füllt AP einer aus-\n" + "gewählten Attacke\n" + "um 10 Punkte auf."); + +static const u8 gItemDescription_MaxEther[] = _( + "Füllt AP einer aus-\n" + "gewählten Attacke\n" + "vollständig auf."); + +static const u8 gItemDescription_Elixir[] = _( + "Füllt alle AP\n" + "um 10 Punkte auf."); + +static const u8 gItemDescription_MaxElixir[] = _( + "Füllt alle AP eines\n" + "POKéMON voll-\n" + "ständig auf."); + +static const u8 gItemDescription_LavaCookie[] = _( + "Eine regionale Spe-\n" + "zialität. Heilt alle\n" + "Statusprobleme."); + +static const u8 gItemDescription_BlueFlute[] = _( + "Eine gläserne Flöte,\n" + "die schlafende\n" + "POKéMON aufweckt."); + +static const u8 gItemDescription_YellowFlute[] = _( + "Eine gläserne Flöte,\n" + "die verwirrte\n" + "POKéMON heilt."); + +static const u8 gItemDescription_RedFlute[] = _( + "Eine gläserne Flöte,\n" + "die POKéMON von\n" + "Anziehung heilt."); + +static const u8 gItemDescription_BlackFlute[] = _( + "Eine gläserne Flöte,\n" + "die wilde\n" + "POKéMON abhält."); + +static const u8 gItemDescription_WhiteFlute[] = _( + "Eine gläserne Flöte,\n" + "die wilde\n" + "POKéMON anzieht."); + +static const u8 gItemDescription_BerryJuice[] = _( + "Reiner Fruchtsaft,\n" + "der die KP um\n" + "20 Punkte auffüllt."); + +static const u8 gItemDescription_SacredAsh[] = _( + "Belebt und\n" + "erfrischt alle\n" + "besiegten POKéMON."); + +static const u8 gItemDescription_ShoalSalt[] = _( + "Salz, das sich tief\n" + "in der KÜSTEN- \n" + "HÖHLE befand."); + +static const u8 gItemDescription_ShoalShell[] = _( + "Muschelschale, die\n" + "sich in der KÜSTEN- \n" + "HÖHLE befand."); + +static const u8 gItemDescription_RedShard[] = _( + "Scherbe eines\n" + "antiken Relikts\n" + "von geringem Wert."); + +static const u8 gItemDescription_BlueShard[] = _( + "Scherbe eines\n" + "antiken Relikts\n" + "von geringem Wert."); + +static const u8 gItemDescription_YellowShard[] = _( + "Scherbe eines\n" + "antiken Relikts\n" + "von geringem Wert."); + +static const u8 gItemDescription_GreenShard[] = _( + "Scherbe eines\n" + "antiken Relikts\n" + "von geringem Wert."); + +static const u8 gItemDescription_HPUp[] = _( + "Hebt die KP\n" + "eines POKéMON."); + +static const u8 gItemDescription_Protein[] = _( + "Hebt den\n" + "ANGR.-Wert\n" + "eines POKéMON."); + +static const u8 gItemDescription_Iron[] = _( + "Hebt den\n" + "VERT.-Wert\n" + "eines POKéMON."); + +static const u8 gItemDescription_Carbos[] = _( + "Hebt den\n" + "INIT.-Wert\n" + "eines POKéMON."); + +static const u8 gItemDescription_Calcium[] = _( + "Hebt den\n" + "SP. ANGR.-Wert\n" + "eines POKéMON."); + +static const u8 gItemDescription_RareCandy[] = _( + "Hebt den Level\n" + "eines POKéMON\n" + "um eins an."); + +static const u8 gItemDescription_PPUp[] = _( + "Hebt die maximale\n" + "Anzahl der AP\n" + "einer Attacke."); + +static const u8 gItemDescription_Zinc[] = _( + "Hebt den\n" + "SP. VERT.-Wert\n" + "eines POKéMON."); + +static const u8 gItemDescription_PPMax[] = _( + "Maximiert die\n" + "Anzahl der AP\n" + "einer Attacke."); + +static const u8 gItemDescription_GuardSpec[] = _( + "Statusänderung\n" + "wird für einen\n" + "Kampf verhindert."); + +static const u8 gItemDescription_DireHit[] = _( + "Hebt die\n" + "Volltrefferquote\n" + "für einen Kampf."); + +static const u8 gItemDescription_XAttack[] = _( + "Hebt den\n" + "ANGR.-Wert\n" + "für einen Kampf."); + +static const u8 gItemDescription_XDefend[] = _( + "Hebt den\n" + "VERT.-Wert\n" + "für einen Kampf."); + +static const u8 gItemDescription_XSpeed[] = _( + "Hebt den\n" + "INIT.-Wert\n" + "für einen Kampf."); + +static const u8 gItemDescription_XAccuracy[] = _( + "Hebt die\n" + "GENAUIGKEIT\n" + "für einen Kampf."); + +static const u8 gItemDescription_XSpecial[] = _( + "Hebt den\n" + "SP. ANGR.-Wert\n" + "für einen Kampf."); + +static const u8 gItemDescription_PokeDoll[] = _( + "Ermöglicht Flucht\n" + "im Kampf gegen\n" + "wilde POKéMON."); + +static const u8 gItemDescription_FluffyTail[] = _( + "Entfliehe damit\n" + "jedem Kampf mit ei-\n" + "nem wilden POKéMON."); + +static const u8 gItemDescription_SuperRepel[] = _( + "Hält 200 Schritte\n" + "lang schwache,\n" + "wilde POKéMON ab."); + +static const u8 gItemDescription_MaxRepel[] = _( + "Hält 250 Schritte\n" + "lang schwache,\n" + "wilde POKéMON ab."); + +static const u8 gItemDescription_EscapeRope[] = _( + "Ermöglicht die\n" + "Flucht aus Höhlen\n" + "oder Ähnlichem."); + +static const u8 gItemDescription_Repel[] = _( + "Hält 100 Schritte\n" + "lang schwache,\n" + "wilde POKéMON ab."); + +static const u8 gItemDescription_SunStone[] = _( + "Löst bei bestimm-\n" + "ten POKéMON die\n" + "Entwicklung aus."); + +static const u8 gItemDescription_MoonStone[] = _( + "Löst bei bestimm-\n" + "ten POKéMON die\n" + "Entwicklung aus."); + +static const u8 gItemDescription_FireStone[] = _( + "Löst bei bestimm-\n" + "ten POKéMON die\n" + "Entwicklung aus."); + +static const u8 gItemDescription_ThunderStone[] = _( + "Löst bei bestimm-\n" + "ten POKéMON die\n" + "Entwicklung aus."); + +static const u8 gItemDescription_WaterStone[] = _( + "Löst bei bestimm-\n" + "ten POKéMON die\n" + "Entwicklung aus."); + +static const u8 gItemDescription_LeafStone[] = _( + "Löst bei bestimm-\n" + "ten POKéMON die\n" + "Entwicklung aus."); + +static const u8 gItemDescription_TinyMushroom[] = _( + "Ein gemeiner\n" + "Pilz von \n" + "geringem Wert."); + +static const u8 gItemDescription_BigMushroom[] = _( + "Ein seltener\n" + "Pilz von \n" + "hohem Wert."); + +static const u8 gItemDescription_Pearl[] = _( + "Eine hübsche Perle\n" + "von geringem Wert."); + +static const u8 gItemDescription_BigPearl[] = _( + "Schöne, große Per-\n" + "le, die einen hohen\n" + "Preis erzielen kann."); + +static const u8 gItemDescription_Stardust[] = _( + "Schöner, roter\n" + "Sand, der von\n" + "großem Wert ist."); + +static const u8 gItemDescription_StarPiece[] = _( + "Roter Edelstein,\n" + "der einen hohen\n" + "Preis erzielen kann."); + +static const u8 gItemDescription_Nugget[] = _( + "Ein Barren aus pu-\n" + "rem Gold, der von\n" + "großem Wert ist."); + +static const u8 gItemDescription_HeartScale[] = _( + "Hübsche Schuppe,\n" + "höchst begehrt\n" + "bei Sammlern."); + +static const u8 gItemDescription_OrangeMail[] = _( + "BRIEF (Tragen) mit \n" + "ZIGZACHS-\n" + "Aufdruck."); + +static const u8 gItemDescription_HarborMail[] = _( + "BRIEF (Tragen) mit \n" + "WINGULL-\n" + "Aufdruck."); + +static const u8 gItemDescription_GlitterMail[] = _( + "BRIEF (Tragen) mit \n" + "PIKACHU-\n" + "Aufdruck."); + +static const u8 gItemDescription_MechMail[] = _( + "BRIEF (Tragen) mit \n" + "MAGNETILO-\n" + "Aufdruck."); + +static const u8 gItemDescription_WoodMail[] = _( + "BRIEF (Tragen) mit \n" + "BUMMELZ-\n" + "Aufdruck."); + +static const u8 gItemDescription_WaveMail[] = _( + "BRIEF (Tragen) mit \n" + "WAILMER-\n" + "Aufdruck."); + +static const u8 gItemDescription_BeadMail[] = _( + "BRIEF mit Abbildung\n" + "des POKéMON, das\n" + "ihn trägt."); + +static const u8 gItemDescription_ShadowMail[] = _( + "BRIEF (Tragen) mit \n" + "ZWIRRLICHT-\n" + "Aufdruck."); + +static const u8 gItemDescription_TropicMail[] = _( + "BRIEF (Tragen) mit \n" + "BLUBELLA-\n" + "Aufdruck."); + +static const u8 gItemDescription_DreamMail[] = _( + "BRIEF mit Abbildung\n" + "des POKéMON, das\n" + "ihn trägt."); + +static const u8 gItemDescription_FabMail[] = _( + "BRIEF (Tragen) mit \n" + "edlem Aufdruck."); + +static const u8 gItemDescription_RetroMail[] = _( + "BRIEF mit den Ab-\n" + "bildungen dreier\n" + "POKéMON-Gesichter."); + +static const u8 gItemDescription_CheriBerry[] = _( + "Item (Tragen) be-\n" + "wirkt Selbstheilung\n" + "bei Paralyse."); + +static const u8 gItemDescription_ChestoBerry[] = _( + "Item (Tragen)\n" + "weckt schlafendes\n" + "POKéMON im Kampf."); + +static const u8 gItemDescription_PechaBerry[] = _( + "Item (Tragen) be-\n" + "wirkt Selbstheilung\n" + "bei Vergiftung."); + +static const u8 gItemDescription_RawstBerry[] = _( + "Item (Tragen) be-\n" + "wirkt Selbstheilung\n" + "bei Verbrennung."); + +static const u8 gItemDescription_AspearBerry[] = _( + "Item (Tragen) be-\n" + "wirkt Selbstheilung\n" + "bei Frost."); + +static const u8 gItemDescription_LeppaBerry[] = _( + "Item (Tragen) füllt\n" + "AP im Kampf um\n" + "10 Punkte auf."); + +static const u8 gItemDescription_OranBerry[] = _( + "Item (Tragen) füllt\n" + "KP im Kampf um\n" + "10 Punkte auf."); + +static const u8 gItemDescription_PersimBerry[] = _( + "Item (Tragen) be-\n" + "wirkt Selbstheilung\n" + "bei Verwirrung."); + +static const u8 gItemDescription_LumBerry[] = _( + "Item (Tragen) be-\n" + "wirkt Selbstheilung\n" + "bei Statusproblem."); + +static const u8 gItemDescription_SitrusBerry[] = _( + "Item (Tragen) füllt\n" + "KP im Kampf um\n" + "30 Punkte auf."); + +static const u8 gItemDescription_FigyBerry[] = _( + "Item (Tragen) füllt\n" + "im Kampf KP auf, be-\n" + "wirkt evtl. Verwirr."); + +static const u8 gItemDescription_WikiBerry[] = _( + "Item (Tragen) füllt\n" + "KP auf, bewirkt\n" + "evtl. Verwirrung."); + +static const u8 gItemDescription_MagoBerry[] = _( + "Item (Tragen) füllt\n" + "KP auf, bewirkt\n" + "evtl. Verwirrung."); + +static const u8 gItemDescription_AguavBerry[] = _( + "Item (Tragen) füllt\n" + "KP auf, bewirkt\n" + "evtl. Verwirrung."); + +static const u8 gItemDescription_IapapaBerry[] = _( + "Item (Tragen) füllt\n" + "KP auf, bewirkt\n" + "evtl. Verwirrung."); + +static const u8 gItemDescription_RazzBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "HIMMIH wächst."); + +static const u8 gItemDescription_BlukBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "MORB wächst."); + +static const u8 gItemDescription_NanabBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "NANAB wächst."); + +static const u8 gItemDescription_WepearBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "NIRBE wächst."); + +static const u8 gItemDescription_PinapBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "SANANA wächst."); + +static const u8 gItemDescription_PomegBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "GRANA wächst."); + +static const u8 gItemDescription_KelpsyBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "SETANG wächst."); + +static const u8 gItemDescription_QualotBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "QUALOT wächst."); + +static const u8 gItemDescription_HondewBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "HONMEL wächst."); + +static const u8 gItemDescription_GrepaBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "LABRUS wächst."); + +static const u8 gItemDescription_TamatoBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "TAMOT wächst."); + +static const u8 gItemDescription_CornnBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "SAIM wächst."); + +static const u8 gItemDescription_MagostBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "MAGOST wächst."); + +static const u8 gItemDescription_RabutaBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "RABUTA wächst."); + +static const u8 gItemDescription_NomelBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "TRONZI wächst."); + +static const u8 gItemDescription_SpelonBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "KIWAN wächst."); + +static const u8 gItemDescription_PamtreBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "PALLM wächst."); + +static const u8 gItemDescription_WatmelBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "WASMEL wächst."); + +static const u8 gItemDescription_DurinBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "DURIN wächst."); + +static const u8 gItemDescription_BelueBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "MYRTIL wächst."); + +static const u8 gItemDescription_LiechiBerry[] = _( + "Item (Tragen) hebt\n" + "ANGR.-Wert in einer\n" + "Notlage."); + +static const u8 gItemDescription_GanlonBerry[] = _( + "Item (Tragen) hebt\n" + "VERT.-Wert in einer\n" + "Notlage."); + +static const u8 gItemDescription_SalacBerry[] = _( + "Item (Tragen) hebt\n" + "INIT.-Wert in einer\n" + "Notlage."); + +static const u8 gItemDescription_PetayaBerry[] = _( + "Item (Tragen) hebt\n" + "SP. ANGR.-Wert\n" + "in einer Notlage."); + +static const u8 gItemDescription_ApicotBerry[] = _( + "Item (Tragen) hebt\n" + "SP. VERT.-Wert\n" + "in einer Notlage."); + +static const u8 gItemDescription_LansatBerry[] = _( + "Item (Tragen) hebt\n" + "Volltrefferquote\n" + "in einer Notlage."); + +static const u8 gItemDescription_StarfBerry[] = _( + "Item (Tragen) hebt\n" + "einen Statuswert\n" + "in einer Notlage."); + +static const u8 gItemDescription_EnigmaBerry[] = _( + "Säe {POKEBLOCK}-Zutat\n" + "in Lehmboden, damit\n" + "Mysterium wächst."); + +static const u8 gItemDescription_BrightPowder[] = _( + "Item (Tragen)\n" + "senkt die Genauig-\n" + "keit des Gegners."); + +static const u8 gItemDescription_WhiteHerb[] = _( + "Item (Tragen) hebt\n" + "jede Statusverän-\n" + "derung auf."); + +static const u8 gItemDescription_MachoBrace[] = _( + "Item (Tragen) för-\n" + "dert Wachstum,\n" + "aber senkt INIT."); + +static const u8 gItemDescription_ExpShare[] = _( + "Item (Tragen) teilt\n" + "die Kampf-EP."); + +static const u8 gItemDescription_QuickClaw[] = _( + "Item (Tragen) hebt\n" + "die Erstschlag-\n" + "quote."); + +static const u8 gItemDescription_SootheBell[] = _( + "Item (Tragen) be-\n" + "sänftigt und för-\n" + "dert Sympathie."); + +static const u8 gItemDescription_MentalHerb[] = _( + "Item (Tragen) er-\n" + "löst POKéMON von\n" + "der Anziehung."); + +static const u8 gItemDescription_ChoiceBand[] = _( + "Stärkt eine Atta-\n" + "cke. Aber nur diese\n" + "ist einsetzbar."); + +static const u8 gItemDescription_KingsRock[] = _( + "Item (Tragen) kann\n" + "Gegner zurück-\n" + "weichen lassen."); + +static const u8 gItemDescription_SilverPowder[] = _( + "Item (Tragen) ver-\n" + "bessert KÄFER-\n" + "Attacken."); + +static const u8 gItemDescription_AmuletCoin[] = _( + "Doppelter Geldbe-\n" + "trag, wenn Träger \n" + "am Kampf teilnimmt."); + +static const u8 gItemDescription_CleanseTag[] = _( + "Item (Tragen) kann\n" + "wilde POKéMON\n" + "abhalten."); + +static const u8 gItemDescription_SoulDew[] = _( + "Item (Tragen) hebt\n" + "SP.ANG & SP.VER von\n" + "LATIOS & LATIAS."); + +static const u8 gItemDescription_DeepSeaTooth[] = _( + "Item (Tragen) hebt\n" + "SP. ANGR. von\n" + "PERLU."); + +static const u8 gItemDescription_DeepSeaScale[] = _( + "Item (Tragen) hebt\n" + "SP. VERT. von\n" + "PERLU."); + +static const u8 gItemDescription_SmokeBall[] = _( + "Item (Tragen) er-\n" + "möglicht Flucht vor\n" + "wilden POKéMON."); + +static const u8 gItemDescription_Everstone[] = _( + "Wundersamer Stein\n" + "zum Tragen. Bewirkt\n" + "Entwicklungsstopp."); + +static const u8 gItemDescription_FocusBand[] = _( + "Item (Tragen) kann\n" + "manchmal K.O.\n" + "verhindern."); + +static const u8 gItemDescription_LuckyEgg[] = _( + "Item (Tragen)\n" + "erhöht im Kampf er-\n" + "haltene Extra-EP."); + +static const u8 gItemDescription_ScopeLens[] = _( + "Item (Tragen)\n" + "erhöht die\n" + "Volltrefferquote."); + +static const u8 gItemDescription_MetalCoat[] = _( + "Item (Tragen)\n" + "verstärkt STAHL-\n" + "Attacken."); + +static const u8 gItemDescription_Leftovers[] = _( + "Item (Tragen) füllt\n" + "im Kampf langsam\n" + "KP wieder auf."); + +static const u8 gItemDescription_DragonScale[] = _( + "Seltsame Haut zum\n" + "Tragen für POKéMON\n" + "des Typs DRACHEN."); + +static const u8 gItemDescription_LightBall[] = _( + "Item (Tragen)\n" + "erhöht PIKACHUS\n" + "SP. ANGR."); + +static const u8 gItemDescription_SoftSand[] = _( + "Item (Tragen)\n" + "verstärkt BODEN-\n" + "Attacken."); + +static const u8 gItemDescription_HardStone[] = _( + "Item (Tragen)\n" + "verstärkt GESTEIN-\n" + "Attacken."); + +static const u8 gItemDescription_MiracleSeed[] = _( + "Item (Tragen)\n" + "verstärkt PFLAN-\n" + "ZEN-Attacken."); + +static const u8 gItemDescription_BlackGlasses[] = _( + "Item (Tragen)\n" + "verstärkt UNLICHT-\n" + "Attacken."); + +static const u8 gItemDescription_BlackBelt[] = _( + "Item (Tragen)\n" + "verstärkt KAMPF-\n" + "Attacken."); + +static const u8 gItemDescription_Magnet[] = _( + "Item (Tragen)\n" + "verstärkt ELEKTRO-\n" + "Attacken."); + +static const u8 gItemDescription_MysticWater[] = _( + "Item (Tragen)\n" + "verstärkt WASSER-\n" + "Attacken."); + +static const u8 gItemDescription_SharpBeak[] = _( + "Item (Tragen)\n" + "verstärkt FLUG-\n" + "Attacken."); + +static const u8 gItemDescription_PoisonBarb[] = _( + "Item (Tragen)\n" + "verstärkt GIFT-\n" + "Attacken."); + +static const u8 gItemDescription_NeverMeltIce[] = _( + "Item (Tragen)\n" + "verstärkt EIS-\n" + "Attacken."); + +static const u8 gItemDescription_SpellTag[] = _( + "Item (Tragen)\n" + "verstärkt GEIST-\n" + "Attacken."); + +static const u8 gItemDescription_TwistedSpoon[] = _( + "Item (Tragen)\n" + "verstärkt PSYCHO-\n" + "Attacken."); + +static const u8 gItemDescription_Charcoal[] = _( + "Item (Tragen)\n" + "verstärkt FEUER-\n" + "Attacken."); + +static const u8 gItemDescription_DragonFang[] = _( + "Item (Tragen)\n" + "verstärkt DRACHEN-\n" + "Attacken."); + +static const u8 gItemDescription_SilkScarf[] = _( + "Item (Tragen)\n" + "verstärkt NORMAL-\n" + "Attacken."); + +static const u8 gItemDescription_UpGrade[] = _( + "Eine mysteriöse\n" + "Box der SILPH CO."); + +static const u8 gItemDescription_ShellBell[] = _( + "Item (Tragen) füllt\n" + "im Kampf langsam \n" + "KP wieder auf."); + +static const u8 gItemDescription_SeaIncense[] = _( + "Item (Tragen)\n" + "verstärkt WASSER-\n" + "Attacken."); + +static const u8 gItemDescription_LaxIncense[] = _( + "Item (Tragen)\n" + "senkt Genauigkeit\n" + "des Gegners."); + +static const u8 gItemDescription_LuckyPunch[] = _( + "Item (Tragen)\n" + "erhöht CHANEIRAS\n" + "Volltrefferquote."); + +static const u8 gItemDescription_MetalPowder[] = _( + "Item (Tragen)\n" + "erhöht VERT.-Wert\n" + "von DITTO."); + +static const u8 gItemDescription_ThickClub[] = _( + "Irgendeine Art\n" + "Knochen von\n" + "geringem Wert."); + +static const u8 gItemDescription_Stick[] = _( + "Gemeiner Lauch,\n" + "der nur von\n" + "geringem Wert ist."); + +static const u8 gItemDescription_RedScarf[] = _( + "Item (Tragen) hebt\n" + "COOL.-Wert für den\n" + "WETTBEWERB."); + +static const u8 gItemDescription_BlueScarf[] = _( + "Item (Tragen) hebt\n" + "SCHÖN.-Wert für den\n" + "WETTBEWERB."); + +static const u8 gItemDescription_PinkScarf[] = _( + "Item (Tragen) hebt\n" + "ANMUT-Wert für den\n" + "WETTBEWERB."); + +static const u8 gItemDescription_GreenScarf[] = _( + "Item (Tragen) hebt\n" + "KLUG.-Wert für den\n" + "WETTBEWERB."); + +static const u8 gItemDescription_YellowScarf[] = _( + "Item (Tragen) hebt\n" + "STÄRKE-Wert für\n" + "den WETTBEWERB."); + +static const u8 gItemDescription_MachBike[] = _( + "Klapprad, das dop-\n" + "pelt so schnell ist\n" + "wie ein Fußgänger."); + +static const u8 gItemDescription_CoinCase[] = _( + "Kann bis zu 9.999\n" + "MÜNZEN aufnehmen."); + +static const u8 gItemDescription_Itemfinder[] = _( + "Ein Gerät, das ver-\n" + "borgene Items via \n" + "Schallwellen ortet."); + +static const u8 gItemDescription_OldRod[] = _( + "Damit kannst du in\n" + "jedem Gewässer\n" + "POKéMON angeln."); + +static const u8 gItemDescription_GoodRod[] = _( + "Eine recht gute\n" + "Angel zum\n" + "POKéMON-Fischen."); + +static const u8 gItemDescription_SuperRod[] = _( + "Die beste Angel,\n" + "um nach POKéMON\n" + "zu fischen."); + +static const u8 gItemDescription_SSTicket[] = _( + "Ein Ticket zur\n" + "Fahrt auf\n" + "einer Fähre."); + +static const u8 gItemDescription_ContestPass[] = _( + "Ausweis zur Teil-\n" + "nahme an POKéMON- \n" + "WETTBEWERBEN."); + +static const u8 gItemDescription_WailmerPail[] = _( + "Ein Gegenstand zum\n" + "Gießen von Pflan-\n" + "zen wie BEEREN."); + +static const u8 gItemDescription_DevonGoods[] = _( + "Päckchen, das Ma-\n" + "schinenteile von\n" + "DEVON enthält."); + +static const u8 gItemDescription_SootSack[] = _( + "Beutel zum Sammeln\n" + "und Aufbewahren\n" + "von Vulkanasche."); + +static const u8 gItemDescription_BasementKey[] = _( + "Schlüssel für NEU\n" + "MALVENFROH unter\n" + "MALVENFROH CITY."); + +static const u8 gItemDescription_AcroBike[] = _( + "Klapprad ermög-\n" + "licht Sprünge und\n" + "Wheelies."); + +static const u8 gItemDescription_PokeblockCase[] = _( + "Box für {POKEBLOCK},\n" + "die im BEERENMIXER\n" + "hergestellt werden."); + +static const u8 gItemDescription_Letter[] = _( + "Brief an TROY\n" + "vom PRÄSIDENTEN\n" + "der DEVON CORP."); + +static const u8 gItemDescription_EonTicket[] = _( + "Bootsticket zu\n" + "einer fernen Insel\n" + "im Süden."); + +static const u8 gItemDescription_RedOrb[] = _( + "Rot glühende Kugel,\n" + "die eine uralte\n" + "Macht bergen soll."); + +static const u8 gItemDescription_BlueOrb[] = _( + "Blau glühende Kugel,\n" + "die eine uralte\n" + "Macht bergen soll."); + +static const u8 gItemDescription_Scanner[] = _( + "Ein Gerät, das\n" + "im SCHIFFSWRACK\n" + "gefunden wurde."); + +static const u8 gItemDescription_GoGoggles[] = _( + "Schicke Brille, die\n" + "die Augen vor Sand-\n" + "stürmen schützt."); + +static const u8 gItemDescription_Meteorite[] = _( + "Meteorit. Fundort:\n" + "METEORFÄLLE."); + +static const u8 gItemDescription_Room1Key[] = _( + "Schlüssel zur Tür\n" + "einer Kabine auf\n" + "dem SCHIFFSWRACK."); + +static const u8 gItemDescription_Room2Key[] = _( + "Schlüssel zur Tür\n" + "einer Kabine auf\n" + "dem SCHIFFSWRACK."); + +static const u8 gItemDescription_Room4Key[] = _( + "Schlüssel zur Tür\n" + "einer Kabine auf\n" + "dem SCHIFFSWRACK."); + +static const u8 gItemDescription_Room6Key[] = _( + "Schlüssel zur Tür\n" + "einer Kabine auf\n" + "dem SCHIFFSWRACK."); + +static const u8 gItemDescription_StorageKey[] = _( + "Schlüssel zum\n" + "Lagerraum auf\n" + "dem SCHIFFSWRACK."); + +static const u8 gItemDescription_RootFossil[] = _( + "Fossil eines ural-\n" + "ten POKéMON, das in\n" + "der Tiefsee lebte."); + +static const u8 gItemDescription_ClawFossil[] = _( + "Fossil eines ural-\n" + "ten POKéMON, das in\n" + "der Tiefsee lebte."); + +static const u8 gItemDescription_DevonScope[] = _( + "Gerät von DEVON, \n" + "das unsichtbare\n" + "POKéMON entlarvt."); + +static const u8 gItemDescription_TM01[] = _( + "Stark. POKéMON er-\n" + "schrickt vielleicht\n" + "bei gegn. Attacke."); + +static const u8 gItemDescription_TM02[] = _( + "Gegner wird mit\n" + "langen, scharfen\n" + "Krallen attackiert."); + +static const u8 gItemDescription_TM03[] = _( + "Eine Ultraschall-\n" + "welle, die den Geg-\n" + "ner verwirren kann."); + +static const u8 gItemDescription_TM04[] = _( + "Verstärkt SP. ANGR.\n" + "und SP. VERT. durch\n" + "Konzentration."); + +static const u8 gItemDescription_TM05[] = _( + "Brüller schlägt Geg-\n" + "ner in die Flucht \n" + "und beendet Kampf."); + +static const u8 gItemDescription_TM06[] = _( + "Vergiftet den Geg-\n" + "ner und schadet \n" + "ihm zunehmend."); + +static const u8 gItemDescription_TM07[] = _( + "Hagelsturm schadet\n" + "allen POKéMON außer\n" + "denen des Typs EIS."); + +static const u8 gItemDescription_TM08[] = _( + "Stärkt den Körper.\n" + "So steigt ANGR.-\n" + "und VERT.-Wert."); + +static const u8 gItemDescription_TM09[] = _( + "Bepflanzt den\n" + "Gegner mit 2 bis 5\n" + "Samen auf einmal."); + +static const u8 gItemDescription_TM10[] = _( + "Die Stärke dieser\n" + "Attacke hängt vom \n" + "jew. POKéMON ab."); + +static const u8 gItemDescription_TM11[] = _( + "Verstärkt FEUER-\n" + "Attacken über \n" + "5 Runden."); + +static const u8 gItemDescription_TM12[] = _( + "Reizt Geg. so, dass\n" + "er nur Angriffs-\n" + "attacken einsetzt."); + +static const u8 gItemDescription_TM13[] = _( + "Eisig kalter Strahl,\n" + "der den Gegner\n" + "einfrieren kann."); + +static const u8 gItemDescription_TM14[] = _( + "Eis- und Schnee- \n" + "Attacke, die Gegner\n" + "einfrieren kann."); + +static const u8 gItemDescription_TM15[] = _( + "Stark, muss sich\n" + "aber in der nächs-\n" + "ten Runde aufladen."); + +static const u8 gItemDescription_TM16[] = _( + "Wand aus Licht, die\n" + "Senkung des SP.\n" + "ANGR. verringert."); + +static const u8 gItemDescription_TM17[] = _( + "Schützt, könnte\n" + "aber bei häufigem\n" + "Einsatz versagen."); + +static const u8 gItemDescription_TM18[] = _( + "Verstärkt WASSER-\n" + "Attacken über\n" + "5 Runden."); + +static const u8 gItemDescription_TM19[] = _( + "Füllt KP um die Hälf-\n" + "te der zugefügten\n" + "Schadenspunkte."); + +static const u8 gItemDescription_TM20[] = _( + "Mystische Macht\n" + "verhindert Status-\n" + "veränderungen."); + +static const u8 gItemDescription_TM21[] = _( + "Je unbeliebter der\n" + "Trainer, desto grö-\n" + "ßer die Wirkung."); + +static const u8 gItemDescription_TM22[] = _( + "Erst wird Sonnen-\n" + "licht absorbiert,\n" + "dann erfolgt Angr."); + +static const u8 gItemDescription_TM23[] = _( + "Schlag mit harter\n" + "Rute. Kann gleichz.\n" + "VERT.-Wert senken."); + +static const u8 gItemDescription_TM24[] = _( + "Starke Elektro-\n" + "Attacke kann\n" + "Paralyse bewirken."); + +static const u8 gItemDescription_TM25[] = _( + "Mächtiger Donner-\n" + "schlag, der Paraly-\n" + "se bewirken kann."); + +static const u8 gItemDescription_TM26[] = _( + "Starkes Beben hat\n" + "keinen Einfluss auf\n" + "fliegende Gegner."); + +static const u8 gItemDescription_TM27[] = _( + "Je beliebter der\n" + "Trainer, desto grö-\n" + "ßer die Wirkung."); + +static const u8 gItemDescription_TM28[] = _( + "Erst gräbt sich An-\n" + "greifer ein, dann\n" + "erfolgt Angriff."); + +static const u8 gItemDescription_TM29[] = _( + "Starke PSYCHO-At-\n" + "tacke, die SP. VERT.\n" + "senken kann."); + +static const u8 gItemDescription_TM30[] = _( + "Dunkler Klumpen,\n" + "der SP. VERT.\n" + "senken kann."); + +static const u8 gItemDescription_TM31[] = _( + "Zerstört Barrieren\n" + "wie SCHUTZSCHILD,\n" + "fügt Schaden zu."); + +static const u8 gItemDescription_TM32[] = _( + "Virtueller Doppel-\n" + "gänger erhöht\n" + "den Flucht-Wert."); + +static const u8 gItemDescription_TM33[] = _( + "Wand aus Licht, die\n" + "physische Atta-\n" + "cken schwächt."); + +static const u8 gItemDescription_TM34[] = _( + "Fügt Gegner einen\n" + "Stromschlag zu,\n" + "der nie verfehlt."); + +static const u8 gItemDescription_TM35[] = _( + "Entfesselt Feuer-\n" + "strahl, der Gegner\n" + "verbrennen kann."); + +static const u8 gItemDescription_TM36[] = _( + "Bewirft Gegner mit\n" + "Matsch, der ihn\n" + "vergiften kann."); + +static const u8 gItemDescription_TM37[] = _( + "Sandsturm trifft\n" + "etliche Runden lang\n" + "die Kämpfenden."); + +static const u8 gItemDescription_TM38[] = _( + "Kraftvolle FEUER-\n" + "Attacke, die Gegner\n" + "verbrennen kann."); + +static const u8 gItemDescription_TM39[] = _( + "Stoppt GESTEIN-\n" + "Attacken. Kann\n" + "INIT.-Wert senken."); + +static const u8 gItemDescription_TM40[] = _( + "Eine extrem schnel-\n" + "le Attacke, die\n" + "unausweichlich ist."); + +static const u8 gItemDescription_TM41[] = _( + "Blockiert gerade\n" + "verwendete Atta-\n" + "cke des Gegners."); + +static const u8 gItemDescription_TM42[] = _( + "Stärkt ANGR.-Wert\n" + "bei Gift, Brand oder\n" + "Paralyse."); + +static const u8 gItemDescription_TM43[] = _( + "Die Umgebung\n" + "beeinflusst die Art\n" + "der Attacke."); + +static const u8 gItemDescription_TM44[] = _( + "POKéMON schläft\n" + "2 Runden. Füllt KP\n" + "und heilt Status."); + +static const u8 gItemDescription_TM45[] = _( + "Erschwert Angriff\n" + "auf Gegner des an-\n" + "deren Geschlechts."); + +static const u8 gItemDescription_TM46[] = _( + "Beim Angriff wird\n" + "Item des Gegners\n" + "evtl. gestohlen."); + +static const u8 gItemDescription_TM47[] = _( + "Den Gegner\n" + "treffen stählerne\n" + "Flügelschläge."); + +static const u8 gItemDescription_TM48[] = _( + "Austausch der\n" + "Fähigkeiten bei der\n" + "nächsten Attacke."); + +static const u8 gItemDescription_TM49[] = _( + "Stiehlt die\n" + "Effekte der gegne-\n" + "rischen Attacke."); + +static const u8 gItemDescription_TM50[] = _( + "Höchste Kraft,\n" + "aber senkt SP.\n" + "ANGR. enorm."); + +static const u8 gItemDescription_HM01[] = _( + "Gegner wird mit\n" + "klingenscharfen\n" + "Krallen attackiert."); + +static const u8 gItemDescription_HM02[] = _( + "PKMN fliegt hoch,\n" + "dann erfolgt rasan-\n" + "ter Luftangriff."); + +static const u8 gItemDescription_HM03[] = _( + "Eine riesige Flut-\n" + "welle ergießt sich\n" + "über dem Gegner."); + +static const u8 gItemDescription_HM04[] = _( + "Den Gegner trifft \n" + "ein energiegelade-\n" + "ner Kraftschlag."); + +static const u8 gItemDescription_HM05[] = _( + "Ein gleißender\n" + "Lichtstrahl, der\n" + "Genau. senken kann."); + +static const u8 gItemDescription_HM06[] = _( + "Steinbrecherische\n" + "Attacke, die VERT.-\n" + "Wert senken kann."); + +static const u8 gItemDescription_HM07[] = _( + "Mächtige Attacke,\n" + "die Wasserfälle\n" + "bezwingbar macht."); + +static const u8 gItemDescription_HM08[] = _( + "PKMN taucht ab,\n" + "dann erfolgt An-\n" + "griff aus der Tiefe."); + +static const u8 gItemDescription_Dummy[] = _(""); diff --git a/src/data/item_descriptions_en.h b/src/data/item_descriptions_en.h new file mode 100644 index 000000000..e07a5fc19 --- /dev/null +++ b/src/data/item_descriptions_en.h @@ -0,0 +1,1392 @@ +static const u8 gItemDescription_MasterBall[] = _( + "The best BALL that\n" + "catches a POKéMON\n" + "without fail."); + +static const u8 gItemDescription_UltraBall[] = _( + "A better BALL with\n" + "a higher catch rate\n" + "than a GREAT BALL."); + +static const u8 gItemDescription_GreatBall[] = _( + "A good BALL with a\n" + "higher catch rate\n" + "than a POKé BALL."); + +static const u8 gItemDescription_PokeBall[] = _( + "A tool used for\n" + "catching wild\n" + "POKéMON."); + +static const u8 gItemDescription_SafariBall[] = _( + "A special BALL that\n" + "is used only in the\n" + "SAFARI ZONE."); + +static const u8 gItemDescription_NetBall[] = _( + "A BALL that works\n" + "well on WATER- and\n" + "BUG-type POKéMON."); + +static const u8 gItemDescription_DiveBall[] = _( + "A BALL that works\n" + "better on POKéMON\n" + "on the ocean floor."); + +static const u8 gItemDescription_NestBall[] = _( + "A BALL that works\n" + "better on weaker\n" + "POKéMON."); + +static const u8 gItemDescription_RepeatBall[] = _( + "A BALL that works\n" + "better on POKéMON\n" + "caught before."); + +static const u8 gItemDescription_TimerBall[] = _( + "More effective as\n" + "more turns are\n" + "taken in battle."); + +static const u8 gItemDescription_LuxuryBall[] = _( + "A cozy BALL that\n" + "makes POKéMON\n" + "more friendly."); + +static const u8 gItemDescription_PremierBall[] = _( + "A rare BALL made\n" + "in commemoration\n" + "of some event."); + +static const u8 gItemDescription_Potion[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "20 points."); + +static const u8 gItemDescription_Antidote[] = _( + "Heals a poisoned\n" + "POKéMON."); + +static const u8 gItemDescription_BurnHeal[] = _( + "Heals POKéMON\n" + "of a burn."); + +static const u8 gItemDescription_IceHeal[] = _( + "Defrosts a frozen\n" + "POKéMON."); + +static const u8 gItemDescription_Awakening[] = _( + "Awakens a sleeping\n" + "POKéMON."); + +static const u8 gItemDescription_ParalyzeHeal[] = _( + "Heals a paralyzed\n" + "POKéMON."); + +static const u8 gItemDescription_FullRestore[] = _( + "Fully restores the\n" + "HP and status of a\n" + "POKéMON."); + +static const u8 gItemDescription_MaxPotion[] = _( + "Fully restores the\n" + "HP of a POKéMON."); + +static const u8 gItemDescription_HyperPotion[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "200 points."); + +static const u8 gItemDescription_SuperPotion[] = _( + "Restores the HP of\n" + "a POKéMON by\n" + "50 points."); + +static const u8 gItemDescription_FullHeal[] = _( + "Heals all the status\n" + "problems of one\n" + "POKéMON."); + +static const u8 gItemDescription_Revive[] = _( + "Revives a fainted\n" + "POKéMON with half\n" + "its HP."); + +static const u8 gItemDescription_MaxRevive[] = _( + "Revives a fainted\n" + "POKéMON with all\n" + "its HP."); + +static const u8 gItemDescription_FreshWater[] = _( + "A mineral water\n" + "that restores HP\n" + "by 50 points."); + +static const u8 gItemDescription_SodaPop[] = _( + "A fizzy soda drink\n" + "that restores HP\n" + "by 60 points."); + +static const u8 gItemDescription_Lemonade[] = _( + "A very sweet drink\n" + "that restores HP\n" + "by 80 points."); + +static const u8 gItemDescription_MoomooMilk[] = _( + "A nutritious milk\n" + "that restores HP\n" + "by 100 points."); + +static const u8 gItemDescription_EnergyPowder[] = _( + "A bitter powder\n" + "that restores HP\n" + "by 50 points."); + +static const u8 gItemDescription_EnergyRoot[] = _( + "A bitter root\n" + "that restores HP\n" + "by 200 points."); + +static const u8 gItemDescription_HealPowder[] = _( + "A bitter powder\n" + "that heals all\n" + "status problems."); + +static const u8 gItemDescription_RevivalHerb[] = _( + "A very bitter herb\n" + "that revives a\n" + "fainted POKéMON."); + +static const u8 gItemDescription_Ether[] = _( + "Restores the PP\n" + "of a selected move\n" + "by 10."); + +static const u8 gItemDescription_MaxEther[] = _( + "Fully restores the\n" + "PP of a selected\n" + "move."); + +static const u8 gItemDescription_Elixir[] = _( + "Restores the PP\n" + "of all moves by 10."); + +static const u8 gItemDescription_MaxElixir[] = _( + "Fully restores the\n" + "PP of a POKéMON’s\n" + "moves."); + +static const u8 gItemDescription_LavaCookie[] = _( + "A local specialty\n" + "that heals all\n" + "status problems."); + +static const u8 gItemDescription_BlueFlute[] = _( + "A glass flute that\n" + "awakens sleeping\n" + "POKéMON."); + +static const u8 gItemDescription_YellowFlute[] = _( + "A glass flute that\n" + "snaps POKéMON\n" + "out of confusion."); + +static const u8 gItemDescription_RedFlute[] = _( + "A glass flute that\n" + "snaps POKéMON\n" + "out of attraction."); + +static const u8 gItemDescription_BlackFlute[] = _( + "A glass flute that\n" + "keeps away wild\n" + "POKéMON."); + +static const u8 gItemDescription_WhiteFlute[] = _( + "A glass flute that\n" + "lures wild POKéMON."); + +static const u8 gItemDescription_BerryJuice[] = _( + "A 100% pure juice\n" + "that restores HP\n" + "by 20 points."); + +static const u8 gItemDescription_SacredAsh[] = _( + "Fully revives and\n" + "restores all\n" + "fainted POKéMON."); + +static const u8 gItemDescription_ShoalSalt[] = _( + "Salt obtained from\n" + "deep inside the\n" + "SHOAL CAVE."); + +static const u8 gItemDescription_ShoalShell[] = _( + "A seashell found\n" + "deep inside the\n" + "SHOAL CAVE."); + +static const u8 gItemDescription_RedShard[] = _( + "A shard from an\n" + "ancient item.\n" + "Can be sold cheaply."); + +static const u8 gItemDescription_BlueShard[] = _( + "A shard from an\n" + "ancient item.\n" + "Can be sold cheaply."); + +static const u8 gItemDescription_YellowShard[] = _( + "A shard from an\n" + "ancient item.\n" + "Can be sold cheaply."); + +static const u8 gItemDescription_GreenShard[] = _( + "A shard from an\n" + "ancient item.\n" + "Can be sold cheaply."); + +static const u8 gItemDescription_HPUp[] = _( + "Raises the HP of\n" + "one POKéMON."); + +static const u8 gItemDescription_Protein[] = _( + "Raises the stat\n" + "ATTACK of one\n" + "POKéMON."); + +static const u8 gItemDescription_Iron[] = _( + "Raises the stat\n" + "DEFENSE of one\n" + "POKéMON."); + +static const u8 gItemDescription_Carbos[] = _( + "Raises the stat\n" + "SPEED of one\n" + "POKéMON."); + +static const u8 gItemDescription_Calcium[] = _( + "Raises the stat\n" + "SP. ATK of one\n" + "POKéMON."); + +static const u8 gItemDescription_RareCandy[] = _( + "Raises the level\n" + "of a POKéMON by\n" + "one."); + +static const u8 gItemDescription_PPUp[] = _( + "Raises the maximum\n" + "PP of a selected\n" + "move."); + +static const u8 gItemDescription_Zinc[] = _( + "Raises the stat\n" + "SP. DEF of one\n" + "POKéMON."); + +static const u8 gItemDescription_PPMax[] = _( + "Raises the PP of a\n" + "move to its maximum\n" + "points."); + +static const u8 gItemDescription_GuardSpec[] = _( + "Prevents stat\n" + "reduction when\n" + "used in battle."); + +static const u8 gItemDescription_DireHit[] = _( + "Raises the\n" + "critical-hit ratio\n" + "during one battle."); + +static const u8 gItemDescription_XAttack[] = _( + "Raises the stat\n" + "ATTACK during one\n" + "battle."); + +static const u8 gItemDescription_XDefend[] = _( + "Raises the stat\n" + "DEFENSE during one\n" + "battle."); + +static const u8 gItemDescription_XSpeed[] = _( + "Raises the stat\n" + "SPEED during one\n" + "battle."); + +static const u8 gItemDescription_XAccuracy[] = _( + "Raises accuracy\n" + "of attack moves\n" + "during one battle."); + +static const u8 gItemDescription_XSpecial[] = _( + "Raises the stat\n" + "SP. ATK during one\n" + "battle."); + +static const u8 gItemDescription_PokeDoll[] = _( + "Use to flee from\n" + "any battle with\n" + "a wild POKéMON."); + +static const u8 gItemDescription_FluffyTail[] = _( + "Use to flee from\n" + "any battle with\n" + "a wild POKéMON."); + +static const u8 gItemDescription_SuperRepel[] = _( + "Repels weak wild\n" + "POKéMON for 200\n" + "steps."); + +static const u8 gItemDescription_MaxRepel[] = _( + "Repels weak wild\n" + "POKéMON for 250\n" + "steps."); + +static const u8 gItemDescription_EscapeRope[] = _( + "Use to escape\n" + "instantly from a\n" + "cave or a dungeon."); + +static const u8 gItemDescription_Repel[] = _( + "Repels weak wild\n" + "POKéMON for 100\n" + "steps."); + +static const u8 gItemDescription_SunStone[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 gItemDescription_MoonStone[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 gItemDescription_FireStone[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 gItemDescription_ThunderStone[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 gItemDescription_WaterStone[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 gItemDescription_LeafStone[] = _( + "Makes certain\n" + "species of POKéMON\n" + "evolve."); + +static const u8 gItemDescription_TinyMushroom[] = _( + "A plain, ordinary\n" + "mushroom.\n" + "Can be sold cheaply."); + +static const u8 gItemDescription_BigMushroom[] = _( + "A rare mushroom\n" + "that would sell at a\n" + "high price."); + +static const u8 gItemDescription_Pearl[] = _( + "A pretty pearl.\n" + "Can be sold cheaply."); + +static const u8 gItemDescription_BigPearl[] = _( + "A lovely large pearl\n" + "that would sell at a\n" + "high price."); + +static const u8 gItemDescription_Stardust[] = _( + "Beautiful red sand.\n" + "Can be sold at a\n" + "high price."); + +static const u8 gItemDescription_StarPiece[] = _( + "A red gem shard.\n" + "It would sell for a\n" + "very high price."); + +static const u8 gItemDescription_Nugget[] = _( + "A nugget of pure\n" + "gold. Can be sold at\n" + "a high price."); + +static const u8 gItemDescription_HeartScale[] = _( + "A lovely scale.\n" + "It is coveted by\n" + "collectors."); + +static const u8 gItemDescription_OrangeMail[] = _( + "A ZIGZAGOON-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 gItemDescription_HarborMail[] = _( + "A WINGULL-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 gItemDescription_GlitterMail[] = _( + "A PIKACHU-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 gItemDescription_MechMail[] = _( + "A MAGNEMITE-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 gItemDescription_WoodMail[] = _( + "A SLAKOTH-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 gItemDescription_WaveMail[] = _( + "A WAILMER-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 gItemDescription_BeadMail[] = _( + "MAIL featuring a\n" + "sketch of the\n" + "holding POKéMON."); + +static const u8 gItemDescription_ShadowMail[] = _( + "A DUSKULL-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 gItemDescription_TropicMail[] = _( + "A BELLOSSOM-print\n" + "MAIL to be held by\n" + "a POKéMON."); + +static const u8 gItemDescription_DreamMail[] = _( + "MAIL featuring a\n" + "sketch of the\n" + "holding POKéMON."); + +static const u8 gItemDescription_FabMail[] = _( + "A gorgeous-print\n" + "MAIL to be held\n" + "by a POKéMON."); + +static const u8 gItemDescription_RetroMail[] = _( + "MAIL featuring the\n" + "drawings of three\n" + "POKéMON."); + +static const u8 gItemDescription_CheriBerry[] = _( + "A hold item that\n" + "heals paralysis\n" + "in battle."); + +static const u8 gItemDescription_ChestoBerry[] = _( + "A hold item that\n" + "awakens POKéMON\n" + "in battle."); + +static const u8 gItemDescription_PechaBerry[] = _( + "A hold item that\n" + "heals poisoning\n" + "in battle."); + +static const u8 gItemDescription_RawstBerry[] = _( + "A hold item that\n" + "heals a burn in\n" + "battle."); + +static const u8 gItemDescription_AspearBerry[] = _( + "A hold item that\n" + "defrosts POKéMON\n" + "in battle."); + +static const u8 gItemDescription_LeppaBerry[] = _( + "A hold item that\n" + "restores 10 PP in\n" + "battle."); + +static const u8 gItemDescription_OranBerry[] = _( + "A hold item that\n" + "restores 10 HP in\n" + "battle."); + +static const u8 gItemDescription_PersimBerry[] = _( + "A hold item that\n" + "heals confusion\n" + "in battle."); + +static const u8 gItemDescription_LumBerry[] = _( + "A hold item that\n" + "heals status in\n" + "battle."); + +static const u8 gItemDescription_SitrusBerry[] = _( + "A hold item that\n" + "restores 30 HP in\n" + "battle."); + +static const u8 gItemDescription_FigyBerry[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 gItemDescription_WikiBerry[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 gItemDescription_MagoBerry[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 gItemDescription_AguavBerry[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 gItemDescription_IapapaBerry[] = _( + "A hold item that\n" + "restores HP but\n" + "may confuse."); + +static const u8 gItemDescription_RazzBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow RAZZ."); + +static const u8 gItemDescription_BlukBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow BLUK."); + +static const u8 gItemDescription_NanabBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow NANAB."); + +static const u8 gItemDescription_WepearBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow WEPEAR."); + +static const u8 gItemDescription_PinapBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow PINAP."); + +static const u8 gItemDescription_PomegBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow POMEG."); + +static const u8 gItemDescription_KelpsyBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow KELPSY."); + +static const u8 gItemDescription_QualotBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow QUALOT."); + +static const u8 gItemDescription_HondewBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow HONDEW."); + +static const u8 gItemDescription_GrepaBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow GREPA."); + +static const u8 gItemDescription_TamatoBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow TAMATO."); + +static const u8 gItemDescription_CornnBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow CORNN."); + +static const u8 gItemDescription_MagostBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow MAGOST."); + +static const u8 gItemDescription_RabutaBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow RABUTA."); + +static const u8 gItemDescription_NomelBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow NOMEL."); + +static const u8 gItemDescription_SpelonBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow SPELON."); + +static const u8 gItemDescription_PamtreBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow PAMTRE."); + +static const u8 gItemDescription_WatmelBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow WATMEL."); + +static const u8 gItemDescription_DurinBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow DURIN."); + +static const u8 gItemDescription_BelueBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow BELUE."); + +static const u8 gItemDescription_LiechiBerry[] = _( + "A hold item that\n" + "raises ATTACK in\n" + "a pinch."); + +static const u8 gItemDescription_GanlonBerry[] = _( + "A hold item that\n" + "raises DEFENSE in\n" + "a pinch."); + +static const u8 gItemDescription_SalacBerry[] = _( + "A hold item that\n" + "raises SPEED in\n" + "a pinch."); + +static const u8 gItemDescription_PetayaBerry[] = _( + "A hold item that\n" + "raises SP. ATK in\n" + "a pinch."); + +static const u8 gItemDescription_ApicotBerry[] = _( + "A hold item that\n" + "raises SP. DEF in\n" + "a pinch."); + +static const u8 gItemDescription_LansatBerry[] = _( + "A hold item that\n" + "ups the critical-\n" + "hit rate in a pinch."); + +static const u8 gItemDescription_StarfBerry[] = _( + "A hold item that\n" + "sharply boosts a\n" + "stat in a pinch."); + +static const u8 gItemDescription_EnigmaBerry[] = _( + "{POKEBLOCK} ingredient.\n" + "Plant in loamy soil\n" + "to grow a mystery."); + +static const u8 gItemDescription_BrightPowder[] = _( + "A hold item that\n" + "casts a glare to\n" + "reduce accuracy."); + +static const u8 gItemDescription_WhiteHerb[] = _( + "A hold item that\n" + "restores any\n" + "lowered stat."); + +static const u8 gItemDescription_MachoBrace[] = _( + "A hold item that\n" + "promotes growth,\n" + "but reduces SPEED."); + +static const u8 gItemDescription_ExpShare[] = _( + "A hold item that\n" + "gets EXP. points\n" + "from battles."); + +static const u8 gItemDescription_QuickClaw[] = _( + "A hold item that\n" + "occasionally allows\n" + "the first strike."); + +static const u8 gItemDescription_SootheBell[] = _( + "A hold item that\n" + "calms spirits and\n" + "fosters friendship."); + +static const u8 gItemDescription_MentalHerb[] = _( + "A hold item that\n" + "snaps POKéMON out\n" + "of infatuation."); + +static const u8 gItemDescription_ChoiceBand[] = _( + "Raises a move’s\n" + "power, but permits\n" + "only that move."); + +static const u8 gItemDescription_KingsRock[] = _( + "A hold item that\n" + "may cause flinching\n" + "when the foe is hit."); + +static const u8 gItemDescription_SilverPowder[] = _( + "A hold item that\n" + "raises the power of\n" + "BUG-type moves."); + +static const u8 gItemDescription_AmuletCoin[] = _( + "Doubles money in\n" + "battle if the holder\n" + "takes part."); + +static const u8 gItemDescription_CleanseTag[] = _( + "A hold item that\n" + "helps repel wild\n" + "POKéMON."); + +static const u8 gItemDescription_SoulDew[] = _( + "Hold item: Raises\n" + "SP. ATK & SP. DEF\n" + "of LATIOS & LATIAS."); + +static const u8 gItemDescription_DeepSeaTooth[] = _( + "A hold item that\n" + "raises the SP. ATK\n" + "of CLAMPERL."); + +static const u8 gItemDescription_DeepSeaScale[] = _( + "A hold item that\n" + "raises the SP. DEF\n" + "of CLAMPERL."); + +static const u8 gItemDescription_SmokeBall[] = _( + "A hold item that\n" + "can be used to flee\n" + "from a wild POKéMON."); + +static const u8 gItemDescription_Everstone[] = _( + "A wondrous stone\n" + "& a hold item that\n" + "prevents evolution."); + +static const u8 gItemDescription_FocusBand[] = _( + "A hold item that\n" + "occasionally\n" + "prevents fainting."); + +static const u8 gItemDescription_LuckyEgg[] = _( + "A hold item that\n" + "boosts EXP. points\n" + "earned in battle."); + +static const u8 gItemDescription_ScopeLens[] = _( + "A hold item that\n" + "raises the critical-\n" + "hit rate."); + +static const u8 gItemDescription_MetalCoat[] = _( + "A hold item that\n" + "raises the power of\n" + "STEEL-type moves."); + +static const u8 gItemDescription_Leftovers[] = _( + "A hold item that\n" + "gradually restores\n" + "HP in battle."); + +static const u8 gItemDescription_DragonScale[] = _( + "A strange scale\n" + "held by DRAGON-\n" + "type POKéMON."); + +static const u8 gItemDescription_LightBall[] = _( + "A hold item that\n" + "raises the SP. ATK\n" + "of PIKACHU."); + +static const u8 gItemDescription_SoftSand[] = _( + "A hold item that\n" + "raises the power of\n" + "GROUND-type moves."); + +static const u8 gItemDescription_HardStone[] = _( + "A hold item that\n" + "raises the power of\n" + "ROCK-type moves."); + +static const u8 gItemDescription_MiracleSeed[] = _( + "A hold item that\n" + "raises the power of\n" + "GRASS-type moves."); + +static const u8 gItemDescription_BlackGlasses[] = _( + "A hold item that\n" + "raises the power of\n" + "DARK-type moves."); + +static const u8 gItemDescription_BlackBelt[] = _( + "A hold item that\n" + "boosts FIGHTING-\n" + "type moves."); + +static const u8 gItemDescription_Magnet[] = _( + "A hold item that\n" + "boosts ELECTRIC-\n" + "type moves."); + +static const u8 gItemDescription_MysticWater[] = _( + "A hold item that\n" + "raises the power of\n" + "WATER-type moves."); + +static const u8 gItemDescription_SharpBeak[] = _( + "A hold item that\n" + "raises the power of\n" + "FLYING-type moves."); + +static const u8 gItemDescription_PoisonBarb[] = _( + "A hold item that\n" + "raises the power of\n" + "POISON-type moves."); + +static const u8 gItemDescription_NeverMeltIce[] = _( + "A hold item that\n" + "raises the power of\n" + "ICE-type moves."); + +static const u8 gItemDescription_SpellTag[] = _( + "A hold item that\n" + "raises the power of\n" + "GHOST-type moves."); + +static const u8 gItemDescription_TwistedSpoon[] = _( + "A hold item that\n" + "boosts PSYCHIC-\n" + "type moves."); + +static const u8 gItemDescription_Charcoal[] = _( + "A hold item that\n" + "raises the power of\n" + "FIRE-type moves."); + +static const u8 gItemDescription_DragonFang[] = _( + "A hold item that\n" + "raises the power of\n" + "DRAGON-type moves."); + +static const u8 gItemDescription_SilkScarf[] = _( + "A hold item that\n" + "raises the power of\n" + "NORMAL-type moves."); + +static const u8 gItemDescription_UpGrade[] = _( + "A peculiar box made\n" + "by SILPH CO."); + +static const u8 gItemDescription_ShellBell[] = _( + "A hold item that\n" + "restores HP upon\n" + "striking the foe."); + +static const u8 gItemDescription_SeaIncense[] = _( + "A hold item that\n" + "slightly boosts\n" + "WATER-type moves."); + +static const u8 gItemDescription_LaxIncense[] = _( + "A hold item that\n" + "slightly lowers the\n" + "foe’s accuracy."); + +static const u8 gItemDescription_LuckyPunch[] = _( + "A hold item that\n" + "raises CHANSEY’s\n" + "critical-hit rate."); + +static const u8 gItemDescription_MetalPowder[] = _( + "A hold item that\n" + "raises DEFENSE."); + +static const u8 gItemDescription_ThickClub[] = _( + "A bone of some\n" + "sort. It can be sold\n" + "cheaply."); + +static const u8 gItemDescription_Stick[] = _( + "A stick of leek.\n" + "It can be sold\n" + "cheaply."); + +static const u8 gItemDescription_RedScarf[] = _( + "A hold item that\n" + "raises COOL in\n" + "CONTESTS."); + +static const u8 gItemDescription_BlueScarf[] = _( + "A hold item that\n" + "raises BEAUTY in\n" + "CONTESTS."); + +static const u8 gItemDescription_PinkScarf[] = _( + "A hold item that\n" + "raises CUTE in\n" + "CONTESTS."); + +static const u8 gItemDescription_GreenScarf[] = _( + "A hold item that\n" + "raises SMART in\n" + "CONTESTS."); + +static const u8 gItemDescription_YellowScarf[] = _( + "A hold item that\n" + "raises TOUGH in\n" + "CONTESTS."); + +static const u8 gItemDescription_MachBike[] = _( + "A folding bicycle\n" + "that more than\n" + "doubles foot speed."); + +static const u8 gItemDescription_CoinCase[] = _( + "A case that holds\n" + "up to 9,999 COINS."); + +static const u8 gItemDescription_Itemfinder[] = _( + "A device that\n" + "signals an invisible\n" + "item by sound."); + +static const u8 gItemDescription_OldRod[] = _( + "Use by any body of\n" + "water to fish for\n" + "wild POKéMON."); + +static const u8 gItemDescription_GoodRod[] = _( + "A decent fishing\n" + "rod for catching\n" + "wild POKéMON."); + +static const u8 gItemDescription_SuperRod[] = _( + "The best fishing\n" + "rod for catching\n" + "wild POKéMON."); + +static const u8 gItemDescription_SSTicket[] = _( + "The ticket required\n" + "for sailing on a\n" + "ferry."); + +static const u8 gItemDescription_ContestPass[] = _( + "The pass required\n" + "for entering\n" + "POKéMON CONTESTS."); + +static const u8 gItemDescription_WailmerPail[] = _( + "A tool used for\n" + "watering BERRIES\n" + "and plants."); + +static const u8 gItemDescription_DevonGoods[] = _( + "A package that\n" + "contains DEVON’s\n" + "machine parts."); + +static const u8 gItemDescription_SootSack[] = _( + "A sack used to\n" + "gather and hold\n" + "volcanic ash."); + +static const u8 gItemDescription_BasementKey[] = _( + "The key for NEW\n" + "MAUVILLE beneath\n" + "MAUVILLE CITY."); + +static const u8 gItemDescription_AcroBike[] = _( + "A folding bicycle\n" + "capable of jumps\n" + "and wheelies."); + +static const u8 gItemDescription_PokeblockCase[] = _( + "A case for holding\n" + "{POKEBLOCK}S made with\n" + "a BERRY BLENDER."); + +static const u8 gItemDescription_Letter[] = _( + "A letter to STEVEN\n" + "from the PRESIDENT\n" + "of the DEVON CORP."); + +static const u8 gItemDescription_EonTicket[] = _( + "The ticket for a\n" + "ferry to a distant\n" + "southern island."); + +static const u8 gItemDescription_RedOrb[] = _( + "A red, glowing orb\n" + "said to contain an\n" + "ancient power."); + +static const u8 gItemDescription_BlueOrb[] = _( + "A blue, glowing orb\n" + "said to contain an\n" + "ancient power."); + +static const u8 gItemDescription_Scanner[] = _( + "A device found\n" + "inside the\n" + "ABANDONED SHIP."); + +static const u8 gItemDescription_GoGoggles[] = _( + "Nifty goggles that\n" + "protect eyes from\n" + "desert sandstorms."); + +static const u8 gItemDescription_Meteorite[] = _( + "A meteorite found\n" + "at METEOR FALLS."); + +static const u8 gItemDescription_Room1Key[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 gItemDescription_Room2Key[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 gItemDescription_Room4Key[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 gItemDescription_Room6Key[] = _( + "A key that opens a\n" + "door inside the\n" + "ABANDONED SHIP."); + +static const u8 gItemDescription_StorageKey[] = _( + "The key to the\n" + "storage inside the\n" + "ABANDONED SHIP."); + +static const u8 gItemDescription_RootFossil[] = _( + "A fossil of an\n" + "ancient, seafloor-\n" + "dwelling POKéMON."); + +static const u8 gItemDescription_ClawFossil[] = _( + "A fossil of an\n" + "ancient, seafloor-\n" + "dwelling POKéMON."); + +static const u8 gItemDescription_DevonScope[] = _( + "A device by DEVON\n" + "that signals any\n" + "unseeable POKéMON."); + +static const u8 gItemDescription_TM01[] = _( + "Powerful, but makes\n" + "the user flinch if\n" + "hit by the foe."); + +static const u8 gItemDescription_TM02[] = _( + "Hooks and slashes\n" + "the foe with long,\n" + "sharp claws."); + +static const u8 gItemDescription_TM03[] = _( + "Generates an\n" + "ultrasonic wave\n" + "that may confuse."); + +static const u8 gItemDescription_TM04[] = _( + "Raises SP. ATK and\n" + "SP. DEF by focusing\n" + "the mind."); + +static const u8 gItemDescription_TM05[] = _( + "A savage roar that\n" + "makes the foe flee \n" + "to end the battle."); + +static const u8 gItemDescription_TM06[] = _( + "Poisons the foe\n" + "with a toxin that\n" + "gradually worsens."); + +static const u8 gItemDescription_TM07[] = _( + "Summons a hailstorm\n" + "that hurts all\n" + "types except ICE."); + +static const u8 gItemDescription_TM08[] = _( + "Bulks up the body\n" + "to boost both\n" + "ATTACK & DEFENSE."); + +static const u8 gItemDescription_TM09[] = _( + "Shoots 2 to 5 seeds\n" + "in a row to strike\n" + "the foe."); + +static const u8 gItemDescription_TM10[] = _( + "The attack power\n" + "varies among\n" + "different POKéMON."); + +static const u8 gItemDescription_TM11[] = _( + "Raises the power of\n" + "FIRE-type moves\n" + "for 5 turns."); + +static const u8 gItemDescription_TM12[] = _( + "Enrages the foe so\n" + "it can only use\n" + "attack moves."); + +static const u8 gItemDescription_TM13[] = _( + "Fires an icy cold\n" + "beam that may\n" + "freeze the foe."); + +static const u8 gItemDescription_TM14[] = _( + "A vicious snow-and-\n" + "wind attack that\n" + "may freeze the foe."); + +static const u8 gItemDescription_TM15[] = _( + "Powerful, but needs\n" + "recharging the\n" + "next turn."); + +static const u8 gItemDescription_TM16[] = _( + "Creates a wall of\n" + "light that lowers\n" + "SP. ATK damage."); + +static const u8 gItemDescription_TM17[] = _( + "Negates all damage,\n" + "but may fail if used\n" + "in succession."); + +static const u8 gItemDescription_TM18[] = _( + "Raises the power of\n" + "WATER-type moves\n" + "for 5 turns."); + +static const u8 gItemDescription_TM19[] = _( + "Recovers half the\n" + "HP of the damage \n" + "this move inflicts."); + +static const u8 gItemDescription_TM20[] = _( + "Prevents status\n" + "abnormality with a\n" + "mystical power."); + +static const u8 gItemDescription_TM21[] = _( + "The less the user\n" + "likes you, the more\n" + "powerful this move."); + +static const u8 gItemDescription_TM22[] = _( + "Absorbs sunlight in\n" + "the 1st turn, then\n" + "attacks next turn."); + +static const u8 gItemDescription_TM23[] = _( + "Slams the foe with\n" + "a hard tail. It may\n" + "lower DEFENSE."); + +static const u8 gItemDescription_TM24[] = _( + "A powerful electric\n" + "attack that may\n" + "cause paralysis."); + +static const u8 gItemDescription_TM25[] = _( + "Strikes the foe\n" + "with a thunderbolt.\n" + "It may paralyze."); + +static const u8 gItemDescription_TM26[] = _( + "Causes a quake\n" + "that has no effect\n" + "on flying foes."); + +static const u8 gItemDescription_TM27[] = _( + "The more the user\n" + "likes you, the more\n" + "powerful this move."); + +static const u8 gItemDescription_TM28[] = _( + "Digs underground\n" + "the 1st turn, then\n" + "strikes next turn."); + +static const u8 gItemDescription_TM29[] = _( + "A powerful psychic\n" + "attack that may\n" + "lower SP. DEF."); + +static const u8 gItemDescription_TM30[] = _( + "Hurls a dark lump\n" + "at the foe. It may\n" + "lower SP. DEF."); + +static const u8 gItemDescription_TM31[] = _( + "Destroys barriers\n" + "like LIGHT SCREEN\n" + "and causes damage."); + +static const u8 gItemDescription_TM32[] = _( + "Creates illusory\n" + "copies to enhance\n" + "elusiveness."); + +static const u8 gItemDescription_TM33[] = _( + "Creates a wall of\n" + "light that weakens\n" + "physical attacks."); + +static const u8 gItemDescription_TM34[] = _( + "Zaps the foe with a\n" + "jolt of electricity\n" + "that never misses."); + +static const u8 gItemDescription_TM35[] = _( + "Looses a stream of\n" + "fire that may burn\n" + "the foe."); + +static const u8 gItemDescription_TM36[] = _( + "Hurls sludge at the\n" + "foe. It may poison\n" + "the foe."); + +static const u8 gItemDescription_TM37[] = _( + "Causes a sandstorm\n" + "that hits the foe\n" + "over several turns."); + +static const u8 gItemDescription_TM38[] = _( + "A powerful fire\n" + "attack that may\n" + "burn the foe."); + +static const u8 gItemDescription_TM39[] = _( + "Stops the foe from\n" + "moving with rocks.\n" + "May lower SPEED."); + +static const u8 gItemDescription_TM40[] = _( + "An extremely fast\n" + "attack that can’t\n" + "be avoided."); + +static const u8 gItemDescription_TM41[] = _( + "Prevents the foe\n" + "from using the same\n" + "move in a row."); + +static const u8 gItemDescription_TM42[] = _( + "Raises ATTACK when\n" + "poisoned, burned,\n" + "or paralyzed."); + +static const u8 gItemDescription_TM43[] = _( + "Adds an effect to\n" + "attack depending\n" + "on the location."); + +static const u8 gItemDescription_TM44[] = _( + "The user sleeps for\n" + "2 turns to restore\n" + "health and status."); + +static const u8 gItemDescription_TM45[] = _( + "Makes it tough to\n" + "attack a foe of the\n" + "opposite gender."); + +static const u8 gItemDescription_TM46[] = _( + "While attacking,\n" + "it may steal the\n" + "foe’s held item."); + +static const u8 gItemDescription_TM47[] = _( + "Spreads hard-edged\n" + "wings and slams\n" + "into the foe."); + +static const u8 gItemDescription_TM48[] = _( + "Switches abilities\n" + "with the foe on the\n" + "turn this is used."); + +static const u8 gItemDescription_TM49[] = _( + "Steals the effects\n" + "of the move the foe\n" + "is trying to use."); + +static const u8 gItemDescription_TM50[] = _( + "Enables full-power\n" + "attack, but sharply\n" + "lowers SP. ATK."); + +static const u8 gItemDescription_HM01[] = _( + "Attacks the foe\n" + "with sharp blades\n" + "or claws."); + +static const u8 gItemDescription_HM02[] = _( + "Flies up on the\n" + "first turn, then\n" + "attacks next turn."); + +static const u8 gItemDescription_HM03[] = _( + "Creates a huge\n" + "wave, then crashes\n" + "it down on the foe."); + +static const u8 gItemDescription_HM04[] = _( + "Builds enormous\n" + "power, then slams\n" + "the foe."); + +static const u8 gItemDescription_HM05[] = _( + "Looses a powerful\n" + "blast of light that\n" + "reduces accuracy."); + +static const u8 gItemDescription_HM06[] = _( + "A rock-crushingly\n" + "tough attack that\n" + "may lower DEFENSE."); + +static const u8 gItemDescription_HM07[] = _( + "Attacks the foe\n" + "with enough power\n" + "to climb waterfalls."); + +static const u8 gItemDescription_HM08[] = _( + "Dives underwater\n" + "the 1st turn, then\n" + "attacks next turn."); + +static const u8 gItemDescription_Dummy[] = _(""); diff --git a/src/data/items_de.h b/src/data/items_de.h new file mode 100644 index 000000000..0453a95d0 --- /dev/null +++ b/src/data/items_de.h @@ -0,0 +1,5587 @@ +const struct Item gItems[] = +{ + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MEISTERBALL"), + .itemId = ITEM_MASTER_BALL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MasterBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 0, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 0, + }, + { + .name = _("HYPERBALL"), + .itemId = ITEM_ULTRA_BALL, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_UltraBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 1, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 1, + }, + { + .name = _("SUPERBALL"), + .itemId = ITEM_GREAT_BALL, + .price = 600, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GreatBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 2, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 2, + }, + { + .name = _("POKéBALL"), + .itemId = ITEM_POKE_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PokeBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 3, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 3, + }, + { + .name = _("SAFARIBALL"), + .itemId = ITEM_SAFARI_BALL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SafariBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 4, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 4, + }, + { + .name = _("NETZBALL"), + .itemId = ITEM_NET_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_NetBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 5, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 5, + }, + { + .name = _("TAUCHBALL"), + .itemId = ITEM_DIVE_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DiveBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 6, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 6, + }, + { + .name = _("NESTBALL"), + .itemId = ITEM_NEST_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_NestBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 7, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 7, + }, + { + .name = _("WIEDERBALL"), + .itemId = ITEM_REPEAT_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RepeatBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 8, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 8, + }, + { + .name = _("TIMERBALL"), + .itemId = ITEM_TIMER_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TimerBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 9, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 9, + }, + { + .name = _("LUXUSBALL"), + .itemId = ITEM_LUXURY_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_LuxuryBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 10, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 10, + }, + { + .name = _("PREMIERBALL"), + .itemId = ITEM_PREMIER_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PremierBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 11, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 11, + }, + { + .name = _("TRANK"), + .itemId = ITEM_POTION, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 20, + .description = gItemDescription_Potion, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("GEGENGIFT"), + .itemId = ITEM_ANTIDOTE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Antidote, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FEUERHEILER"), + .itemId = ITEM_BURN_HEAL, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BurnHeal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("EISHEILER"), + .itemId = ITEM_ICE_HEAL, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_IceHeal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("AUFWECKER"), + .itemId = ITEM_AWAKENING, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Awakening, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PARA-HEILER"), + .itemId = ITEM_PARALYZE_HEAL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ParalyzeHeal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("TOP-GENESUNG"), + .itemId = ITEM_FULL_RESTORE, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gItemDescription_FullRestore, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("TOP-TRANK"), + .itemId = ITEM_MAX_POTION, + .price = 2500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gItemDescription_MaxPotion, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("HYPERTRANK"), + .itemId = ITEM_HYPER_POTION, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 200, + .description = gItemDescription_HyperPotion, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SUPERTRANK"), + .itemId = ITEM_SUPER_POTION, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gItemDescription_SuperPotion, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("HYPERHEILER"), + .itemId = ITEM_FULL_HEAL, + .price = 600, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_FullHeal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("BELEBER"), + .itemId = ITEM_REVIVE, + .price = 1500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Revive, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("TOP-BELEBER"), + .itemId = ITEM_MAX_REVIVE, + .price = 4000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MaxRevive, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("TAFELWASSER"), + .itemId = ITEM_FRESH_WATER, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gItemDescription_FreshWater, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SPRUDEL"), + .itemId = ITEM_SODA_POP, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 60, + .description = gItemDescription_SodaPop, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("LIMONADE"), + .itemId = ITEM_LEMONADE, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 80, + .description = gItemDescription_Lemonade, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("KUHMUH-MILCH"), + .itemId = ITEM_MOOMOO_MILK, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 100, + .description = gItemDescription_MoomooMilk, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ENERGIESTAUB"), + .itemId = ITEM_ENERGY_POWDER, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EnergyPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("KRAFTWURZEL"), + .itemId = ITEM_ENERGY_ROOT, + .price = 800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EnergyRoot, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("HEILPUDER"), + .itemId = ITEM_HEAL_POWDER, + .price = 450, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HealPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("VITALKRAUT"), + .itemId = ITEM_REVIVAL_HERB, + .price = 2800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RevivalHerb, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ÄTHER"), + .itemId = ITEM_ETHER, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 10, + .description = gItemDescription_Ether, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("TOP-ÄTHER"), + .itemId = ITEM_MAX_ETHER, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gItemDescription_MaxEther, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("ELIXIER"), + .itemId = ITEM_ELIXIR, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 10, + .description = gItemDescription_Elixir, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("TOP-ELIXIER"), + .itemId = ITEM_MAX_ELIXIR, + .price = 4500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gItemDescription_MaxElixir, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("LAVAKEKS"), + .itemId = ITEM_LAVA_COOKIE, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_LavaCookie, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("BLAUE FLÖTE"), + .itemId = ITEM_BLUE_FLUTE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlueFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("GELBE FLÖTE"), + .itemId = ITEM_YELLOW_FLUTE, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_YellowFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ROTE FLÖTE"), + .itemId = ITEM_RED_FLUTE, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RedFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SCHW. FLÖTE"), + .itemId = ITEM_BLACK_FLUTE, + .price = 400, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gItemDescription_BlackFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WEISSE FLÖTE"), + .itemId = ITEM_WHITE_FLUTE, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 150, + .description = gItemDescription_WhiteFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BEERENSAFT"), + .itemId = ITEM_BERRY_JUICE, + .price = 100, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 20, + .description = gItemDescription_BerryJuice, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ZAUBERASCHE"), + .itemId = ITEM_SACRED_ASH, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SacredAsh, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_SacredAsh, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KÜSTENSALZ"), + .itemId = ITEM_SHOAL_SALT, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ShoalSalt, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KÜSTENSCHALE"), + .itemId = ITEM_SHOAL_SHELL, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ShoalShell, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PURPURSTÜCK"), + .itemId = ITEM_RED_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RedShard, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("INDIGOSTÜCK"), + .itemId = ITEM_BLUE_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlueShard, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GELBSTÜCK"), + .itemId = ITEM_YELLOW_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_YellowShard, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GRÜNSTÜCK"), + .itemId = ITEM_GREEN_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GreenShard, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KP-PLUS"), + .itemId = ITEM_HP_UP, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HPUp, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PROTEIN"), + .itemId = ITEM_PROTEIN, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Protein, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EISEN"), + .itemId = ITEM_IRON, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Iron, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CARBON"), + .itemId = ITEM_CARBOS, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Carbos, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KALZIUM"), + .itemId = ITEM_CALCIUM, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Calcium, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SONDERBONBON"), + .itemId = ITEM_RARE_CANDY, + .price = 4800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RareCandy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_RareCandy, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("AP-PLUS"), + .itemId = ITEM_PP_UP, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PPUp, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPUp, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ZINK"), + .itemId = ITEM_ZINC, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Zinc, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("AP-TOP"), + .itemId = ITEM_PP_MAX, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PPMax, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPUp, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MEGABLOCK"), + .itemId = ITEM_GUARD_SPEC, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GuardSpec, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("ANGRIFFPLUS"), + .itemId = ITEM_DIRE_HIT, + .price = 650, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DireHit, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X-ANGRIFF"), + .itemId = ITEM_X_ATTACK, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XAttack, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X-ABWEHR"), + .itemId = ITEM_X_DEFEND, + .price = 550, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XDefend, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X-TEMPO"), + .itemId = ITEM_X_SPEED, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XSpeed, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X-TREFFER"), + .itemId = ITEM_X_ACCURACY, + .price = 950, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XAccuracy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X-SPEZIAL"), + .itemId = ITEM_X_SPECIAL, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XSpecial, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("POKéPUPPE"), + .itemId = ITEM_POKE_DOLL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PokeDoll, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_Escape, + .secondaryId = 0, + }, + { + .name = _("ENECO-RUTE"), + .itemId = ITEM_FLUFFY_TAIL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_FluffyTail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_Escape, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SUPERSCHUTZ"), + .itemId = ITEM_SUPER_REPEL, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 200, + .description = gItemDescription_SuperRepel, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TOP-SCHUTZ"), + .itemId = ITEM_MAX_REPEL, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 250, + .description = gItemDescription_MaxRepel, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FLUCHTSEIL"), + .itemId = ITEM_ESCAPE_ROPE, + .price = 550, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EscapeRope, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCHUTZ"), + .itemId = ITEM_REPEL, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 100, + .description = gItemDescription_Repel, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SONNENSTEIN"), + .itemId = ITEM_SUN_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SunStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MONDSTEIN"), + .itemId = ITEM_MOON_STONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MoonStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FEUERSTEIN"), + .itemId = ITEM_FIRE_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_FireStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DONNERSTEIN"), + .itemId = ITEM_THUNDER_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ThunderStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WASSERSTEIN"), + .itemId = ITEM_WATER_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WaterStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLATTSTEIN"), + .itemId = ITEM_LEAF_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_LeafStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MINIPILZ"), + .itemId = ITEM_TINY_MUSHROOM, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TinyMushroom, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RIESENPILZ"), + .itemId = ITEM_BIG_MUSHROOM, + .price = 5000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BigMushroom, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PERLE"), + .itemId = ITEM_PEARL, + .price = 1400, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Pearl, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RIESENPERLE"), + .itemId = ITEM_BIG_PEARL, + .price = 7500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BigPearl, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STERNENSTAUB"), + .itemId = ITEM_STARDUST, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Stardust, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STERNENSTÜCK"), + .itemId = ITEM_STAR_PIECE, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_StarPiece, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NUGGET"), + .itemId = ITEM_NUGGET, + .price = 10000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Nugget, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HERZSCHUPPE"), + .itemId = ITEM_HEART_SCALE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HeartScale, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ZIGZAGBRIEF"), + .itemId = ITEM_ORANGE_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_OrangeMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HAFENBRIEF"), + .itemId = ITEM_HARBOR_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HarborMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("GLITZERBRIEF"), + .itemId = ITEM_GLITTER_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GlitterMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 2, + }, + { + .name = _("EILBRIEF"), + .itemId = ITEM_MECH_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MechMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 3, + }, + { + .name = _("WALDBRIEF"), + .itemId = ITEM_WOOD_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WoodMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 4, + }, + { + .name = _("WELLENBRIEF"), + .itemId = ITEM_WAVE_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WaveMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 5, + }, + { + .name = _("PERLENBRIEF"), + .itemId = ITEM_BEAD_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BeadMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 6, + }, + { + .name = _("DUNKELBRIEF"), + .itemId = ITEM_SHADOW_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ShadowMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 7, + }, + { + .name = _("TROPENBRIEF"), + .itemId = ITEM_TROPIC_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TropicMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 8, + }, + { + .name = _("TRAUMBRIEF"), + .itemId = ITEM_DREAM_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DreamMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 9, + }, + { + .name = _("EDELBRIEF"), + .itemId = ITEM_FAB_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_FabMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 10, + }, + { + .name = _("RETROBRIEF"), + .itemId = ITEM_RETRO_MAIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RetroMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 11, + }, + { + .name = _("AMRENABEERE"), + .itemId = ITEM_CHERI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_PAR, + .holdEffectParam = 0, + .description = gItemDescription_CheriBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("MARONBEERE"), + .itemId = ITEM_CHESTO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_SLP, + .holdEffectParam = 0, + .description = gItemDescription_ChestoBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PIRSIFBEERE"), + .itemId = ITEM_PECHA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_PSN, + .holdEffectParam = 0, + .description = gItemDescription_PechaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FRAGIABEERE"), + .itemId = ITEM_RAWST_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_BRN, + .holdEffectParam = 0, + .description = gItemDescription_RawstBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("WILBIRBEERE"), + .itemId = ITEM_ASPEAR_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_FRZ, + .holdEffectParam = 0, + .description = gItemDescription_AspearBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("JONAGOBEERE"), + .itemId = ITEM_LEPPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_PP, + .holdEffectParam = 10, + .description = gItemDescription_LeppaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("SINELBEERE"), + .itemId = ITEM_ORAN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 10, + .description = gItemDescription_OranBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PERSIMBEERE"), + .itemId = ITEM_PERSIM_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_CONFUSION, + .holdEffectParam = 0, + .description = gItemDescription_PersimBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PRUNUSBEERE"), + .itemId = ITEM_LUM_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_STATUS, + .holdEffectParam = 0, + .description = gItemDescription_LumBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("TSITRUBEERE"), + .itemId = ITEM_SITRUS_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 30, + .description = gItemDescription_SitrusBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("GIEFEBEERE"), + .itemId = ITEM_FIGY_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SPICY, + .holdEffectParam = 8, + .description = gItemDescription_FigyBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WIKIBEERE"), + .itemId = ITEM_WIKI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_DRY, + .holdEffectParam = 8, + .description = gItemDescription_WikiBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGOBEERE"), + .itemId = ITEM_MAGO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SWEET, + .holdEffectParam = 8, + .description = gItemDescription_MagoBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GAUVEBEERE"), + .itemId = ITEM_AGUAV_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_BITTER, + .holdEffectParam = 8, + .description = gItemDescription_AguavBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("YAPABEERE"), + .itemId = ITEM_IAPAPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SOUR, + .holdEffectParam = 8, + .description = gItemDescription_IapapaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HIMMIHBEERE"), + .itemId = ITEM_RAZZ_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RazzBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MORBBEERE"), + .itemId = ITEM_BLUK_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlukBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NANABBEERE"), + .itemId = ITEM_NANAB_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_NanabBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NIRBEBEERE"), + .itemId = ITEM_WEPEAR_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WepearBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SANANABEERE"), + .itemId = ITEM_PINAP_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PinapBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GRANABEERE"), + .itemId = ITEM_POMEG_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PomegBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SETANGBEERE"), + .itemId = ITEM_KELPSY_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_KelpsyBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("QUALOTBEERE"), + .itemId = ITEM_QUALOT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_QualotBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HONMELBEERE"), + .itemId = ITEM_HONDEW_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HondewBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LABRUSBEERE"), + .itemId = ITEM_GREPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GrepaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TAMOTBEERE"), + .itemId = ITEM_TAMATO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TamatoBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SAIMBEERE"), + .itemId = ITEM_CORNN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_CornnBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGOSTBEERE"), + .itemId = ITEM_MAGOST_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MagostBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RABUTABEERE"), + .itemId = ITEM_RABUTA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RabutaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TRONZIBEERE"), + .itemId = ITEM_NOMEL_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_NomelBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KIWANBEERE"), + .itemId = ITEM_SPELON_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SpelonBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PALLMBEERE"), + .itemId = ITEM_PAMTRE_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PamtreBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WASMELBEERE"), + .itemId = ITEM_WATMEL_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WatmelBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DURINBEERE"), + .itemId = ITEM_DURIN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DurinBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MYRTILBEERE"), + .itemId = ITEM_BELUE_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BelueBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LYDZIBEERE"), + .itemId = ITEM_LIECHI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_ATTACK_UP, + .holdEffectParam = 4, + .description = gItemDescription_LiechiBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LINGANBEERE"), + .itemId = ITEM_GANLON_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_DEFENSE_UP, + .holdEffectParam = 4, + .description = gItemDescription_GanlonBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SALKABEERE"), + .itemId = ITEM_SALAC_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SPEED_UP, + .holdEffectParam = 4, + .description = gItemDescription_SalacBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TAHAYBEERE"), + .itemId = ITEM_PETAYA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SP_ATTACK_UP, + .holdEffectParam = 4, + .description = gItemDescription_PetayaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("APIKOBEERE"), + .itemId = ITEM_APICOT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SP_DEFENSE_UP, + .holdEffectParam = 4, + .description = gItemDescription_ApicotBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LANSATBEERE"), + .itemId = ITEM_LANSAT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CRITICAL_UP, + .holdEffectParam = 4, + .description = gItemDescription_LansatBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KRAMBOBEERE"), + .itemId = ITEM_STARF_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RANDOM_STAT_UP, + .holdEffectParam = 4, + .description = gItemDescription_StarfBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ENIGMABEERE"), + .itemId = ITEM_ENIGMA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EnigmaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_EnigmaBerry, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLENDPUDER"), + .itemId = ITEM_BRIGHT_POWDER, + .price = 10, + .holdEffect = HOLD_EFFECT_EVASION_UP, + .holdEffectParam = 10, + .description = gItemDescription_BrightPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCHLOHKRAUT"), + .itemId = ITEM_WHITE_HERB, + .price = 100, + .holdEffect = HOLD_EFFECT_RESTORE_STATS, + .holdEffectParam = 0, + .description = gItemDescription_WhiteHerb, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MACHOBAND"), + .itemId = ITEM_MACHO_BRACE, + .price = 3000, + .holdEffect = HOLD_EFFECT_MACHO_BRACE, + .holdEffectParam = 0, + .description = gItemDescription_MachoBrace, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EP-TEILER"), + .itemId = ITEM_EXP_SHARE, + .price = 3000, + .holdEffect = HOLD_EFFECT_EXP_SHARE, + .holdEffectParam = 0, + .description = gItemDescription_ExpShare, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FLINKKLAUE"), + .itemId = ITEM_QUICK_CLAW, + .price = 100, + .holdEffect = HOLD_EFFECT_QUICK_CLAW, + .holdEffectParam = 20, + .description = gItemDescription_QuickClaw, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SANFTGLOCKE"), + .itemId = ITEM_SOOTHE_BELL, + .price = 100, + .holdEffect = HOLD_EFFECT_HAPPINESS_UP, + .holdEffectParam = 0, + .description = gItemDescription_SootheBell, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MENTALKRAUT"), + .itemId = ITEM_MENTAL_HERB, + .price = 100, + .holdEffect = HOLD_EFFECT_CURE_ATTRACT, + .holdEffectParam = 0, + .description = gItemDescription_MentalHerb, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WAHLBAND"), + .itemId = ITEM_CHOICE_BAND, + .price = 100, + .holdEffect = HOLD_EFFECT_CHOICE_BAND, + .holdEffectParam = 0, + .description = gItemDescription_ChoiceBand, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KING-STEIN"), + .itemId = ITEM_KINGS_ROCK, + .price = 100, + .holdEffect = HOLD_EFFECT_FLINCH, + .holdEffectParam = 10, + .description = gItemDescription_KingsRock, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SILBERSTAUB"), + .itemId = ITEM_SILVER_POWDER, + .price = 100, + .holdEffect = HOLD_EFFECT_BUG_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SilverPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MÜNZAMULETT"), + .itemId = ITEM_AMULET_COIN, + .price = 100, + .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE, + .holdEffectParam = 10, + .description = gItemDescription_AmuletCoin, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCHUTZBAND"), + .itemId = ITEM_CLEANSE_TAG, + .price = 200, + .holdEffect = HOLD_EFFECT_REPEL, + .holdEffectParam = 0, + .description = gItemDescription_CleanseTag, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SEELENTAU"), + .itemId = ITEM_SOUL_DEW, + .price = 200, + .holdEffect = HOLD_EFFECT_SOUL_DEW, + .holdEffectParam = 0, + .description = gItemDescription_SoulDew, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ABYSSZAHN"), + .itemId = ITEM_DEEP_SEA_TOOTH, + .price = 200, + .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, + .holdEffectParam = 0, + .description = gItemDescription_DeepSeaTooth, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ABYSSPLATTE"), + .itemId = ITEM_DEEP_SEA_SCALE, + .price = 200, + .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, + .holdEffectParam = 0, + .description = gItemDescription_DeepSeaScale, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RAUCHBALL"), + .itemId = ITEM_SMOKE_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_CAN_ALWAYS_RUN, + .holdEffectParam = 0, + .description = gItemDescription_SmokeBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EWIGSTEIN"), + .itemId = ITEM_EVERSTONE, + .price = 200, + .holdEffect = HOLD_EFFECT_PREVENT_EVOLVE, + .holdEffectParam = 0, + .description = gItemDescription_Everstone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FOKUS-BAND"), + .itemId = ITEM_FOCUS_BAND, + .price = 200, + .holdEffect = HOLD_EFFECT_FOCUS_BAND, + .holdEffectParam = 10, + .description = gItemDescription_FocusBand, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GLÜCKS-EI"), + .itemId = ITEM_LUCKY_EGG, + .price = 200, + .holdEffect = HOLD_EFFECT_LUCKY_EGG, + .holdEffectParam = 0, + .description = gItemDescription_LuckyEgg, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCOPE-LINSE"), + .itemId = ITEM_SCOPE_LENS, + .price = 200, + .holdEffect = HOLD_EFFECT_SCOPE_LENS, + .holdEffectParam = 0, + .description = gItemDescription_ScopeLens, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METALLMANTEL"), + .itemId = ITEM_METAL_COAT, + .price = 100, + .holdEffect = HOLD_EFFECT_STEEL_POWER, + .holdEffectParam = 10, + .description = gItemDescription_MetalCoat, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ÜBERRESTE"), + .itemId = ITEM_LEFTOVERS, + .price = 200, + .holdEffect = HOLD_EFFECT_LEFTOVERS, + .holdEffectParam = 10, + .description = gItemDescription_Leftovers, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DRACHENHAUT"), + .itemId = ITEM_DRAGON_SCALE, + .price = 2100, + .holdEffect = HOLD_EFFECT_DRAGON_SCALE, + .holdEffectParam = 10, + .description = gItemDescription_DragonScale, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KUGELBLITZ"), + .itemId = ITEM_LIGHT_BALL, + .price = 100, + .holdEffect = HOLD_EFFECT_LIGHT_BALL, + .holdEffectParam = 0, + .description = gItemDescription_LightBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PUDERSAND"), + .itemId = ITEM_SOFT_SAND, + .price = 100, + .holdEffect = HOLD_EFFECT_GROUND_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SoftSand, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GRANITSTEIN"), + .itemId = ITEM_HARD_STONE, + .price = 100, + .holdEffect = HOLD_EFFECT_ROCK_POWER, + .holdEffectParam = 10, + .description = gItemDescription_HardStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WUNDERSAAT"), + .itemId = ITEM_MIRACLE_SEED, + .price = 100, + .holdEffect = HOLD_EFFECT_GRASS_POWER, + .holdEffectParam = 10, + .description = gItemDescription_MiracleSeed, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCHATTENGLAS"), + .itemId = ITEM_BLACK_GLASSES, + .price = 100, + .holdEffect = HOLD_EFFECT_DARK_POWER, + .holdEffectParam = 10, + .description = gItemDescription_BlackGlasses, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCHWARZGURT"), + .itemId = ITEM_BLACK_BELT, + .price = 100, + .holdEffect = HOLD_EFFECT_FIGHTING_POWER, + .holdEffectParam = 10, + .description = gItemDescription_BlackBelt, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGNET"), + .itemId = ITEM_MAGNET, + .price = 100, + .holdEffect = HOLD_EFFECT_ELECTRIC_POWER, + .holdEffectParam = 10, + .description = gItemDescription_Magnet, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ZAUBERWASSER"), + .itemId = ITEM_MYSTIC_WATER, + .price = 100, + .holdEffect = HOLD_EFFECT_WATER_POWER, + .holdEffectParam = 10, + .description = gItemDescription_MysticWater, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HACKATTACK"), + .itemId = ITEM_SHARP_BEAK, + .price = 100, + .holdEffect = HOLD_EFFECT_FLYING_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SharpBeak, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GIFTSTICH"), + .itemId = ITEM_POISON_BARB, + .price = 100, + .holdEffect = HOLD_EFFECT_POISON_POWER, + .holdEffectParam = 10, + .description = gItemDescription_PoisonBarb, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EWIGES EIS"), + .itemId = ITEM_NEVER_MELT_ICE, + .price = 100, + .holdEffect = HOLD_EFFECT_ICE_POWER, + .holdEffectParam = 10, + .description = gItemDescription_NeverMeltIce, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BANNSTICKER"), + .itemId = ITEM_SPELL_TAG, + .price = 100, + .holdEffect = HOLD_EFFECT_GHOST_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SpellTag, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KRÜMMLÖFFEL"), + .itemId = ITEM_TWISTED_SPOON, + .price = 100, + .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, + .holdEffectParam = 10, + .description = gItemDescription_TwistedSpoon, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HOLZKOHLE"), + .itemId = ITEM_CHARCOAL, + .price = 9800, + .holdEffect = HOLD_EFFECT_FIRE_POWER, + .holdEffectParam = 10, + .description = gItemDescription_Charcoal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DRACHENZAHN"), + .itemId = ITEM_DRAGON_FANG, + .price = 100, + .holdEffect = HOLD_EFFECT_DRAGON_POWER, + .holdEffectParam = 10, + .description = gItemDescription_DragonFang, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SEIDENSCHAL"), + .itemId = ITEM_SILK_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NORMAL_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SilkScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("UP-GRADE"), + .itemId = ITEM_UP_GRADE, + .price = 2100, + .holdEffect = HOLD_EFFECT_UP_GRADE, + .holdEffectParam = 0, + .description = gItemDescription_UpGrade, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SEEGESANG"), + .itemId = ITEM_SHELL_BELL, + .price = 200, + .holdEffect = HOLD_EFFECT_SHELL_BELL, + .holdEffectParam = 8, + .description = gItemDescription_ShellBell, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SEERAUCH"), + .itemId = ITEM_SEA_INCENSE, + .price = 9600, + .holdEffect = HOLD_EFFECT_WATER_POWER, + .holdEffectParam = 5, + .description = gItemDescription_SeaIncense, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LAXRAUCH"), + .itemId = ITEM_LAX_INCENSE, + .price = 9600, + .holdEffect = HOLD_EFFECT_EVASION_UP, + .holdEffectParam = 5, + .description = gItemDescription_LaxIncense, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LUCKY PUNCH"), + .itemId = ITEM_LUCKY_PUNCH, + .price = 10, + .holdEffect = HOLD_EFFECT_LUCKY_PUNCH, + .holdEffectParam = 0, + .description = gItemDescription_LuckyPunch, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METALLSTAUB"), + .itemId = ITEM_METAL_POWDER, + .price = 10, + .holdEffect = HOLD_EFFECT_METAL_POWDER, + .holdEffectParam = 0, + .description = gItemDescription_MetalPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KAMPFKNOCHEN"), + .itemId = ITEM_THICK_CLUB, + .price = 500, + .holdEffect = HOLD_EFFECT_THICK_CLUB, + .holdEffectParam = 0, + .description = gItemDescription_ThickClub, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LAUCHSTANGE"), + .itemId = ITEM_STICK, + .price = 200, + .holdEffect = HOLD_EFFECT_STICK, + .holdEffectParam = 0, + .description = gItemDescription_Stick, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ROTER SCHAL"), + .itemId = ITEM_RED_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RedScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLAUER SCHAL"), + .itemId = ITEM_BLUE_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlueScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ROSA SCHAL"), + .itemId = ITEM_PINK_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PinkScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GRÜNER SCHAL"), + .itemId = ITEM_GREEN_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GreenScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GELBER SCHAL"), + .itemId = ITEM_YELLOW_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_YellowScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EILRAD"), + .itemId = ITEM_MACH_BIKE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MachBike, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Bike, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MÜNZKORB"), + .itemId = ITEM_COIN_CASE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_CoinCase, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CoinCase, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DETEKTOR"), + .itemId = ITEM_ITEMFINDER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Itemfinder, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ANGEL"), + .itemId = ITEM_OLD_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_OldRod, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PROFIANGEL"), + .itemId = ITEM_GOOD_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GoodRod, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("SUPERANGEL"), + .itemId = ITEM_SUPER_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SuperRod, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 2, + }, + { + .name = _("BOOTSTICKET"), + .itemId = ITEM_SS_TICKET, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SSTicket, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WETTB.-KARTE"), + .itemId = ITEM_CONTEST_PASS, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ContestPass, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WAILMERKANNE"), + .itemId = ITEM_WAILMER_PAIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WailmerPail, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEVON-WAREN"), + .itemId = ITEM_DEVON_GOODS, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DevonGoods, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ASCHETASCHE"), + .itemId = ITEM_SOOT_SACK, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SootSack, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KELLERÖFFNER"), + .itemId = ITEM_BASEMENT_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BasementKey, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KUNSTRAD"), + .itemId = ITEM_ACRO_BIKE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_AcroBike, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Bike, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("{POKEBLOCK}BOX"), + .itemId = ITEM_POKEBLOCK_CASE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PokeblockCase, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 3, + .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BRIEF"), + .itemId = ITEM_LETTER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Letter, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ÄON-TICKET"), + .itemId = ITEM_EON_TICKET, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EonTicket, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("ROTE KUGEL"), + .itemId = ITEM_RED_ORB, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RedOrb, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLAUE KUGEL"), + .itemId = ITEM_BLUE_ORB, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlueOrb, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCANNER"), + .itemId = ITEM_SCANNER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Scanner, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WÜSTENGLAS"), + .itemId = ITEM_GO_GOGGLES, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GoGoggles, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METEORIT"), + .itemId = ITEM_METEORITE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Meteorite, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("K1-SCHLÜSSEL"), + .itemId = ITEM_ROOM_1_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Room1Key, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("K2-SCHLÜSSEL"), + .itemId = ITEM_ROOM_2_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Room2Key, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("K4-SCHLÜSSEL"), + .itemId = ITEM_ROOM_4_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Room4Key, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("K6-SCHLÜSSEL"), + .itemId = ITEM_ROOM_6_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Room6Key, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("L.-SCHLÜSSEL"), + .itemId = ITEM_STORAGE_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_StorageKey, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WURZELFOSSIL"), + .itemId = ITEM_ROOT_FOSSIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RootFossil, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KLAUENFOSSIL"), + .itemId = ITEM_CLAW_FOSSIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ClawFossil, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEVON-SCOPE"), + .itemId = ITEM_DEVON_SCOPE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DevonScope, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM01"), + .itemId = ITEM_TM01, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM01, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM02"), + .itemId = ITEM_TM02, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM02, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM03"), + .itemId = ITEM_TM03, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM03, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM04"), + .itemId = ITEM_TM04, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM04, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM05"), + .itemId = ITEM_TM05, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM05, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM06"), + .itemId = ITEM_TM06, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM06, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM07"), + .itemId = ITEM_TM07, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM07, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM08"), + .itemId = ITEM_TM08, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM08, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM09"), + .itemId = ITEM_TM09, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM09, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM10"), + .itemId = ITEM_TM10, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM10, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM11"), + .itemId = ITEM_TM11, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM11, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM12"), + .itemId = ITEM_TM12, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM12, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM13"), + .itemId = ITEM_TM13, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM13, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM14"), + .itemId = ITEM_TM14, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM14, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM15"), + .itemId = ITEM_TM15, + .price = 7500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM15, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM16"), + .itemId = ITEM_TM16, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM16, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM17"), + .itemId = ITEM_TM17, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM17, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM18"), + .itemId = ITEM_TM18, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM18, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM19"), + .itemId = ITEM_TM19, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM19, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM20"), + .itemId = ITEM_TM20, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM20, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM21"), + .itemId = ITEM_TM21, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM21, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM22"), + .itemId = ITEM_TM22, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM22, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM23"), + .itemId = ITEM_TM23, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM23, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM24"), + .itemId = ITEM_TM24, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM24, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM25"), + .itemId = ITEM_TM25, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM25, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM26"), + .itemId = ITEM_TM26, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM26, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM27"), + .itemId = ITEM_TM27, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM27, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM28"), + .itemId = ITEM_TM28, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM28, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM29"), + .itemId = ITEM_TM29, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM29, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM30"), + .itemId = ITEM_TM30, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM30, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM31"), + .itemId = ITEM_TM31, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM31, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM32"), + .itemId = ITEM_TM32, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM32, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM33"), + .itemId = ITEM_TM33, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM33, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM34"), + .itemId = ITEM_TM34, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM34, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM35"), + .itemId = ITEM_TM35, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM35, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM36"), + .itemId = ITEM_TM36, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM36, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM37"), + .itemId = ITEM_TM37, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM37, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM38"), + .itemId = ITEM_TM38, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM38, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM39"), + .itemId = ITEM_TM39, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM39, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM40"), + .itemId = ITEM_TM40, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM40, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM41"), + .itemId = ITEM_TM41, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM41, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM42"), + .itemId = ITEM_TM42, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM42, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM43"), + .itemId = ITEM_TM43, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM43, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM44"), + .itemId = ITEM_TM44, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM44, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM45"), + .itemId = ITEM_TM45, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM45, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM46"), + .itemId = ITEM_TM46, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM46, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM47"), + .itemId = ITEM_TM47, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM47, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM48"), + .itemId = ITEM_TM48, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM48, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM49"), + .itemId = ITEM_TM49, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM49, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM50"), + .itemId = ITEM_TM50, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM50, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VM01"), + .itemId = ITEM_HM01, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM01, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VM02"), + .itemId = ITEM_HM02, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM02, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VM03"), + .itemId = ITEM_HM03, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM03, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VM04"), + .itemId = ITEM_HM04, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM04, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VM05"), + .itemId = ITEM_HM05, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM05, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VM06"), + .itemId = ITEM_HM06, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM06, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VM07"), + .itemId = ITEM_HM07, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM07, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VM08"), + .itemId = ITEM_HM08, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM08, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, +}; diff --git a/src/data/items_en.h b/src/data/items_en.h new file mode 100644 index 000000000..a3e822370 --- /dev/null +++ b/src/data/items_en.h @@ -0,0 +1,5587 @@ +const struct Item gItems[] = +{ + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MASTER BALL"), + .itemId = ITEM_MASTER_BALL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MasterBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 0, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 0, + }, + { + .name = _("ULTRA BALL"), + .itemId = ITEM_ULTRA_BALL, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_UltraBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 1, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 1, + }, + { + .name = _("GREAT BALL"), + .itemId = ITEM_GREAT_BALL, + .price = 600, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GreatBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 2, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 2, + }, + { + .name = _("POKé BALL"), + .itemId = ITEM_POKE_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PokeBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 3, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 3, + }, + { + .name = _("SAFARI BALL"), + .itemId = ITEM_SAFARI_BALL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SafariBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 4, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 4, + }, + { + .name = _("NET BALL"), + .itemId = ITEM_NET_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_NetBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 5, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 5, + }, + { + .name = _("DIVE BALL"), + .itemId = ITEM_DIVE_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DiveBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 6, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 6, + }, + { + .name = _("NEST BALL"), + .itemId = ITEM_NEST_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_NestBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 7, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 7, + }, + { + .name = _("REPEAT BALL"), + .itemId = ITEM_REPEAT_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RepeatBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 8, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 8, + }, + { + .name = _("TIMER BALL"), + .itemId = ITEM_TIMER_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TimerBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 9, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 9, + }, + { + .name = _("LUXURY BALL"), + .itemId = ITEM_LUXURY_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_LuxuryBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 10, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 10, + }, + { + .name = _("PREMIER BALL"), + .itemId = ITEM_PREMIER_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PremierBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 11, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 11, + }, + { + .name = _("POTION"), + .itemId = ITEM_POTION, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 20, + .description = gItemDescription_Potion, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ANTIDOTE"), + .itemId = ITEM_ANTIDOTE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Antidote, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("BURN HEAL"), + .itemId = ITEM_BURN_HEAL, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BurnHeal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ICE HEAL"), + .itemId = ITEM_ICE_HEAL, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_IceHeal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("AWAKENING"), + .itemId = ITEM_AWAKENING, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Awakening, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PARLYZ HEAL"), + .itemId = ITEM_PARALYZE_HEAL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ParalyzeHeal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FULL RESTORE"), + .itemId = ITEM_FULL_RESTORE, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gItemDescription_FullRestore, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("MAX POTION"), + .itemId = ITEM_MAX_POTION, + .price = 2500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gItemDescription_MaxPotion, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("HYPER POTION"), + .itemId = ITEM_HYPER_POTION, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 200, + .description = gItemDescription_HyperPotion, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SUPER POTION"), + .itemId = ITEM_SUPER_POTION, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gItemDescription_SuperPotion, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FULL HEAL"), + .itemId = ITEM_FULL_HEAL, + .price = 600, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_FullHeal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("REVIVE"), + .itemId = ITEM_REVIVE, + .price = 1500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Revive, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("MAX REVIVE"), + .itemId = ITEM_MAX_REVIVE, + .price = 4000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MaxRevive, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FRESH WATER"), + .itemId = ITEM_FRESH_WATER, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gItemDescription_FreshWater, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SODA POP"), + .itemId = ITEM_SODA_POP, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 60, + .description = gItemDescription_SodaPop, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("LEMONADE"), + .itemId = ITEM_LEMONADE, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 80, + .description = gItemDescription_Lemonade, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("MOOMOO MILK"), + .itemId = ITEM_MOOMOO_MILK, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 100, + .description = gItemDescription_MoomooMilk, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ENERGYPOWDER"), + .itemId = ITEM_ENERGY_POWDER, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EnergyPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ENERGY ROOT"), + .itemId = ITEM_ENERGY_ROOT, + .price = 800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EnergyRoot, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("HEAL POWDER"), + .itemId = ITEM_HEAL_POWDER, + .price = 450, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HealPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("REVIVAL HERB"), + .itemId = ITEM_REVIVAL_HERB, + .price = 2800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RevivalHerb, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ETHER"), + .itemId = ITEM_ETHER, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 10, + .description = gItemDescription_Ether, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("MAX ETHER"), + .itemId = ITEM_MAX_ETHER, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gItemDescription_MaxEther, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("ELIXIR"), + .itemId = ITEM_ELIXIR, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 10, + .description = gItemDescription_Elixir, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("MAX ELIXIR"), + .itemId = ITEM_MAX_ELIXIR, + .price = 4500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gItemDescription_MaxElixir, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("LAVA COOKIE"), + .itemId = ITEM_LAVA_COOKIE, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_LavaCookie, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("BLUE FLUTE"), + .itemId = ITEM_BLUE_FLUTE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlueFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("YELLOW FLUTE"), + .itemId = ITEM_YELLOW_FLUTE, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_YellowFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("RED FLUTE"), + .itemId = ITEM_RED_FLUTE, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RedFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("BLACK FLUTE"), + .itemId = ITEM_BLACK_FLUTE, + .price = 400, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gItemDescription_BlackFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WHITE FLUTE"), + .itemId = ITEM_WHITE_FLUTE, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 150, + .description = gItemDescription_WhiteFlute, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BERRY JUICE"), + .itemId = ITEM_BERRY_JUICE, + .price = 100, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 20, + .description = gItemDescription_BerryJuice, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SACRED ASH"), + .itemId = ITEM_SACRED_ASH, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SacredAsh, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_SacredAsh, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SHOAL SALT"), + .itemId = ITEM_SHOAL_SALT, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ShoalSalt, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SHOAL SHELL"), + .itemId = ITEM_SHOAL_SHELL, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ShoalShell, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RED SHARD"), + .itemId = ITEM_RED_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RedShard, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLUE SHARD"), + .itemId = ITEM_BLUE_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlueShard, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("YELLOW SHARD"), + .itemId = ITEM_YELLOW_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_YellowShard, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GREEN SHARD"), + .itemId = ITEM_GREEN_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GreenShard, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HP UP"), + .itemId = ITEM_HP_UP, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HPUp, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PROTEIN"), + .itemId = ITEM_PROTEIN, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Protein, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("IRON"), + .itemId = ITEM_IRON, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Iron, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CARBOS"), + .itemId = ITEM_CARBOS, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Carbos, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CALCIUM"), + .itemId = ITEM_CALCIUM, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Calcium, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RARE CANDY"), + .itemId = ITEM_RARE_CANDY, + .price = 4800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RareCandy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_RareCandy, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PP UP"), + .itemId = ITEM_PP_UP, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PPUp, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPUp, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ZINC"), + .itemId = ITEM_ZINC, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Zinc, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PP MAX"), + .itemId = ITEM_PP_MAX, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PPMax, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPUp, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GUARD SPEC."), + .itemId = ITEM_GUARD_SPEC, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GuardSpec, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("DIRE HIT"), + .itemId = ITEM_DIRE_HIT, + .price = 650, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DireHit, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X ATTACK"), + .itemId = ITEM_X_ATTACK, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XAttack, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X DEFEND"), + .itemId = ITEM_X_DEFEND, + .price = 550, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XDefend, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X SPEED"), + .itemId = ITEM_X_SPEED, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XSpeed, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X ACCURACY"), + .itemId = ITEM_X_ACCURACY, + .price = 950, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XAccuracy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X SPECIAL"), + .itemId = ITEM_X_SPECIAL, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_XSpecial, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("POKé DOLL"), + .itemId = ITEM_POKE_DOLL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PokeDoll, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_Escape, + .secondaryId = 0, + }, + { + .name = _("FLUFFY TAIL"), + .itemId = ITEM_FLUFFY_TAIL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_FluffyTail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_Escape, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SUPER REPEL"), + .itemId = ITEM_SUPER_REPEL, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 200, + .description = gItemDescription_SuperRepel, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAX REPEL"), + .itemId = ITEM_MAX_REPEL, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 250, + .description = gItemDescription_MaxRepel, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ESCAPE ROPE"), + .itemId = ITEM_ESCAPE_ROPE, + .price = 550, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EscapeRope, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("REPEL"), + .itemId = ITEM_REPEL, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 100, + .description = gItemDescription_Repel, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SUN STONE"), + .itemId = ITEM_SUN_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SunStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MOON STONE"), + .itemId = ITEM_MOON_STONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MoonStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FIRE STONE"), + .itemId = ITEM_FIRE_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_FireStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("THUNDERSTONE"), + .itemId = ITEM_THUNDER_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ThunderStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WATER STONE"), + .itemId = ITEM_WATER_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WaterStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LEAF STONE"), + .itemId = ITEM_LEAF_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_LeafStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TINYMUSHROOM"), + .itemId = ITEM_TINY_MUSHROOM, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TinyMushroom, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BIG MUSHROOM"), + .itemId = ITEM_BIG_MUSHROOM, + .price = 5000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BigMushroom, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PEARL"), + .itemId = ITEM_PEARL, + .price = 1400, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Pearl, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BIG PEARL"), + .itemId = ITEM_BIG_PEARL, + .price = 7500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BigPearl, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STARDUST"), + .itemId = ITEM_STARDUST, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Stardust, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STAR PIECE"), + .itemId = ITEM_STAR_PIECE, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_StarPiece, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NUGGET"), + .itemId = ITEM_NUGGET, + .price = 10000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Nugget, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HEART SCALE"), + .itemId = ITEM_HEART_SCALE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HeartScale, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ORANGE MAIL"), + .itemId = ITEM_ORANGE_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_OrangeMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HARBOR MAIL"), + .itemId = ITEM_HARBOR_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HarborMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("GLITTER MAIL"), + .itemId = ITEM_GLITTER_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GlitterMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 2, + }, + { + .name = _("MECH MAIL"), + .itemId = ITEM_MECH_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MechMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 3, + }, + { + .name = _("WOOD MAIL"), + .itemId = ITEM_WOOD_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WoodMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 4, + }, + { + .name = _("WAVE MAIL"), + .itemId = ITEM_WAVE_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WaveMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 5, + }, + { + .name = _("BEAD MAIL"), + .itemId = ITEM_BEAD_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BeadMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 6, + }, + { + .name = _("SHADOW MAIL"), + .itemId = ITEM_SHADOW_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ShadowMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 7, + }, + { + .name = _("TROPIC MAIL"), + .itemId = ITEM_TROPIC_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TropicMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 8, + }, + { + .name = _("DREAM MAIL"), + .itemId = ITEM_DREAM_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DreamMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 9, + }, + { + .name = _("FAB MAIL"), + .itemId = ITEM_FAB_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_FabMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 10, + }, + { + .name = _("RETRO MAIL"), + .itemId = ITEM_RETRO_MAIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RetroMail, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 11, + }, + { + .name = _("CHERI BERRY"), + .itemId = ITEM_CHERI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_PAR, + .holdEffectParam = 0, + .description = gItemDescription_CheriBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("CHESTO BERRY"), + .itemId = ITEM_CHESTO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_SLP, + .holdEffectParam = 0, + .description = gItemDescription_ChestoBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PECHA BERRY"), + .itemId = ITEM_PECHA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_PSN, + .holdEffectParam = 0, + .description = gItemDescription_PechaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("RAWST BERRY"), + .itemId = ITEM_RAWST_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_BRN, + .holdEffectParam = 0, + .description = gItemDescription_RawstBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ASPEAR BERRY"), + .itemId = ITEM_ASPEAR_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_FRZ, + .holdEffectParam = 0, + .description = gItemDescription_AspearBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("LEPPA BERRY"), + .itemId = ITEM_LEPPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_PP, + .holdEffectParam = 10, + .description = gItemDescription_LeppaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("ORAN BERRY"), + .itemId = ITEM_ORAN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 10, + .description = gItemDescription_OranBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PERSIM BERRY"), + .itemId = ITEM_PERSIM_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_CONFUSION, + .holdEffectParam = 0, + .description = gItemDescription_PersimBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("LUM BERRY"), + .itemId = ITEM_LUM_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_STATUS, + .holdEffectParam = 0, + .description = gItemDescription_LumBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SITRUS BERRY"), + .itemId = ITEM_SITRUS_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 30, + .description = gItemDescription_SitrusBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FIGY BERRY"), + .itemId = ITEM_FIGY_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SPICY, + .holdEffectParam = 8, + .description = gItemDescription_FigyBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WIKI BERRY"), + .itemId = ITEM_WIKI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_DRY, + .holdEffectParam = 8, + .description = gItemDescription_WikiBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGO BERRY"), + .itemId = ITEM_MAGO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SWEET, + .holdEffectParam = 8, + .description = gItemDescription_MagoBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("AGUAV BERRY"), + .itemId = ITEM_AGUAV_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_BITTER, + .holdEffectParam = 8, + .description = gItemDescription_AguavBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("IAPAPA BERRY"), + .itemId = ITEM_IAPAPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SOUR, + .holdEffectParam = 8, + .description = gItemDescription_IapapaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RAZZ BERRY"), + .itemId = ITEM_RAZZ_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RazzBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLUK BERRY"), + .itemId = ITEM_BLUK_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlukBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NANAB BERRY"), + .itemId = ITEM_NANAB_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_NanabBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WEPEAR BERRY"), + .itemId = ITEM_WEPEAR_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WepearBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PINAP BERRY"), + .itemId = ITEM_PINAP_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PinapBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("POMEG BERRY"), + .itemId = ITEM_POMEG_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PomegBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KELPSY BERRY"), + .itemId = ITEM_KELPSY_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_KelpsyBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("QUALOT BERRY"), + .itemId = ITEM_QUALOT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_QualotBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HONDEW BERRY"), + .itemId = ITEM_HONDEW_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HondewBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GREPA BERRY"), + .itemId = ITEM_GREPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GrepaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TAMATO BERRY"), + .itemId = ITEM_TAMATO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TamatoBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CORNN BERRY"), + .itemId = ITEM_CORNN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_CornnBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGOST BERRY"), + .itemId = ITEM_MAGOST_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MagostBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RABUTA BERRY"), + .itemId = ITEM_RABUTA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RabutaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NOMEL BERRY"), + .itemId = ITEM_NOMEL_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_NomelBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SPELON BERRY"), + .itemId = ITEM_SPELON_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SpelonBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PAMTRE BERRY"), + .itemId = ITEM_PAMTRE_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PamtreBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WATMEL BERRY"), + .itemId = ITEM_WATMEL_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WatmelBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DURIN BERRY"), + .itemId = ITEM_DURIN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DurinBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BELUE BERRY"), + .itemId = ITEM_BELUE_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BelueBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LIECHI BERRY"), + .itemId = ITEM_LIECHI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_ATTACK_UP, + .holdEffectParam = 4, + .description = gItemDescription_LiechiBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GANLON BERRY"), + .itemId = ITEM_GANLON_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_DEFENSE_UP, + .holdEffectParam = 4, + .description = gItemDescription_GanlonBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SALAC BERRY"), + .itemId = ITEM_SALAC_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SPEED_UP, + .holdEffectParam = 4, + .description = gItemDescription_SalacBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PETAYA BERRY"), + .itemId = ITEM_PETAYA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SP_ATTACK_UP, + .holdEffectParam = 4, + .description = gItemDescription_PetayaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("APICOT BERRY"), + .itemId = ITEM_APICOT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SP_DEFENSE_UP, + .holdEffectParam = 4, + .description = gItemDescription_ApicotBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LANSAT BERRY"), + .itemId = ITEM_LANSAT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CRITICAL_UP, + .holdEffectParam = 4, + .description = gItemDescription_LansatBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STARF BERRY"), + .itemId = ITEM_STARF_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RANDOM_STAT_UP, + .holdEffectParam = 4, + .description = gItemDescription_StarfBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ENIGMA BERRY"), + .itemId = ITEM_ENIGMA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EnigmaBerry, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_EnigmaBerry, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BRIGHTPOWDER"), + .itemId = ITEM_BRIGHT_POWDER, + .price = 10, + .holdEffect = HOLD_EFFECT_EVASION_UP, + .holdEffectParam = 10, + .description = gItemDescription_BrightPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WHITE HERB"), + .itemId = ITEM_WHITE_HERB, + .price = 100, + .holdEffect = HOLD_EFFECT_RESTORE_STATS, + .holdEffectParam = 0, + .description = gItemDescription_WhiteHerb, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MACHO BRACE"), + .itemId = ITEM_MACHO_BRACE, + .price = 3000, + .holdEffect = HOLD_EFFECT_MACHO_BRACE, + .holdEffectParam = 0, + .description = gItemDescription_MachoBrace, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EXP. SHARE"), + .itemId = ITEM_EXP_SHARE, + .price = 3000, + .holdEffect = HOLD_EFFECT_EXP_SHARE, + .holdEffectParam = 0, + .description = gItemDescription_ExpShare, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("QUICK CLAW"), + .itemId = ITEM_QUICK_CLAW, + .price = 100, + .holdEffect = HOLD_EFFECT_QUICK_CLAW, + .holdEffectParam = 20, + .description = gItemDescription_QuickClaw, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SOOTHE BELL"), + .itemId = ITEM_SOOTHE_BELL, + .price = 100, + .holdEffect = HOLD_EFFECT_HAPPINESS_UP, + .holdEffectParam = 0, + .description = gItemDescription_SootheBell, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MENTAL HERB"), + .itemId = ITEM_MENTAL_HERB, + .price = 100, + .holdEffect = HOLD_EFFECT_CURE_ATTRACT, + .holdEffectParam = 0, + .description = gItemDescription_MentalHerb, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CHOICE BAND"), + .itemId = ITEM_CHOICE_BAND, + .price = 100, + .holdEffect = HOLD_EFFECT_CHOICE_BAND, + .holdEffectParam = 0, + .description = gItemDescription_ChoiceBand, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KING’S ROCK"), + .itemId = ITEM_KINGS_ROCK, + .price = 100, + .holdEffect = HOLD_EFFECT_FLINCH, + .holdEffectParam = 10, + .description = gItemDescription_KingsRock, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SILVERPOWDER"), + .itemId = ITEM_SILVER_POWDER, + .price = 100, + .holdEffect = HOLD_EFFECT_BUG_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SilverPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("AMULET COIN"), + .itemId = ITEM_AMULET_COIN, + .price = 100, + .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE, + .holdEffectParam = 10, + .description = gItemDescription_AmuletCoin, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CLEANSE TAG"), + .itemId = ITEM_CLEANSE_TAG, + .price = 200, + .holdEffect = HOLD_EFFECT_REPEL, + .holdEffectParam = 0, + .description = gItemDescription_CleanseTag, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SOUL DEW"), + .itemId = ITEM_SOUL_DEW, + .price = 200, + .holdEffect = HOLD_EFFECT_SOUL_DEW, + .holdEffectParam = 0, + .description = gItemDescription_SoulDew, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEEPSEATOOTH"), + .itemId = ITEM_DEEP_SEA_TOOTH, + .price = 200, + .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, + .holdEffectParam = 0, + .description = gItemDescription_DeepSeaTooth, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEEPSEASCALE"), + .itemId = ITEM_DEEP_SEA_SCALE, + .price = 200, + .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, + .holdEffectParam = 0, + .description = gItemDescription_DeepSeaScale, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SMOKE BALL"), + .itemId = ITEM_SMOKE_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_CAN_ALWAYS_RUN, + .holdEffectParam = 0, + .description = gItemDescription_SmokeBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EVERSTONE"), + .itemId = ITEM_EVERSTONE, + .price = 200, + .holdEffect = HOLD_EFFECT_PREVENT_EVOLVE, + .holdEffectParam = 0, + .description = gItemDescription_Everstone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FOCUS BAND"), + .itemId = ITEM_FOCUS_BAND, + .price = 200, + .holdEffect = HOLD_EFFECT_FOCUS_BAND, + .holdEffectParam = 10, + .description = gItemDescription_FocusBand, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LUCKY EGG"), + .itemId = ITEM_LUCKY_EGG, + .price = 200, + .holdEffect = HOLD_EFFECT_LUCKY_EGG, + .holdEffectParam = 0, + .description = gItemDescription_LuckyEgg, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCOPE LENS"), + .itemId = ITEM_SCOPE_LENS, + .price = 200, + .holdEffect = HOLD_EFFECT_SCOPE_LENS, + .holdEffectParam = 0, + .description = gItemDescription_ScopeLens, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METAL COAT"), + .itemId = ITEM_METAL_COAT, + .price = 100, + .holdEffect = HOLD_EFFECT_STEEL_POWER, + .holdEffectParam = 10, + .description = gItemDescription_MetalCoat, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LEFTOVERS"), + .itemId = ITEM_LEFTOVERS, + .price = 200, + .holdEffect = HOLD_EFFECT_LEFTOVERS, + .holdEffectParam = 10, + .description = gItemDescription_Leftovers, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DRAGON SCALE"), + .itemId = ITEM_DRAGON_SCALE, + .price = 2100, + .holdEffect = HOLD_EFFECT_DRAGON_SCALE, + .holdEffectParam = 10, + .description = gItemDescription_DragonScale, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LIGHT BALL"), + .itemId = ITEM_LIGHT_BALL, + .price = 100, + .holdEffect = HOLD_EFFECT_LIGHT_BALL, + .holdEffectParam = 0, + .description = gItemDescription_LightBall, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SOFT SAND"), + .itemId = ITEM_SOFT_SAND, + .price = 100, + .holdEffect = HOLD_EFFECT_GROUND_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SoftSand, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HARD STONE"), + .itemId = ITEM_HARD_STONE, + .price = 100, + .holdEffect = HOLD_EFFECT_ROCK_POWER, + .holdEffectParam = 10, + .description = gItemDescription_HardStone, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MIRACLE SEED"), + .itemId = ITEM_MIRACLE_SEED, + .price = 100, + .holdEffect = HOLD_EFFECT_GRASS_POWER, + .holdEffectParam = 10, + .description = gItemDescription_MiracleSeed, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLACKGLASSES"), + .itemId = ITEM_BLACK_GLASSES, + .price = 100, + .holdEffect = HOLD_EFFECT_DARK_POWER, + .holdEffectParam = 10, + .description = gItemDescription_BlackGlasses, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLACK BELT"), + .itemId = ITEM_BLACK_BELT, + .price = 100, + .holdEffect = HOLD_EFFECT_FIGHTING_POWER, + .holdEffectParam = 10, + .description = gItemDescription_BlackBelt, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGNET"), + .itemId = ITEM_MAGNET, + .price = 100, + .holdEffect = HOLD_EFFECT_ELECTRIC_POWER, + .holdEffectParam = 10, + .description = gItemDescription_Magnet, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MYSTIC WATER"), + .itemId = ITEM_MYSTIC_WATER, + .price = 100, + .holdEffect = HOLD_EFFECT_WATER_POWER, + .holdEffectParam = 10, + .description = gItemDescription_MysticWater, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SHARP BEAK"), + .itemId = ITEM_SHARP_BEAK, + .price = 100, + .holdEffect = HOLD_EFFECT_FLYING_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SharpBeak, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("POISON BARB"), + .itemId = ITEM_POISON_BARB, + .price = 100, + .holdEffect = HOLD_EFFECT_POISON_POWER, + .holdEffectParam = 10, + .description = gItemDescription_PoisonBarb, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NEVERMELTICE"), + .itemId = ITEM_NEVER_MELT_ICE, + .price = 100, + .holdEffect = HOLD_EFFECT_ICE_POWER, + .holdEffectParam = 10, + .description = gItemDescription_NeverMeltIce, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SPELL TAG"), + .itemId = ITEM_SPELL_TAG, + .price = 100, + .holdEffect = HOLD_EFFECT_GHOST_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SpellTag, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TWISTEDSPOON"), + .itemId = ITEM_TWISTED_SPOON, + .price = 100, + .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, + .holdEffectParam = 10, + .description = gItemDescription_TwistedSpoon, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CHARCOAL"), + .itemId = ITEM_CHARCOAL, + .price = 9800, + .holdEffect = HOLD_EFFECT_FIRE_POWER, + .holdEffectParam = 10, + .description = gItemDescription_Charcoal, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DRAGON FANG"), + .itemId = ITEM_DRAGON_FANG, + .price = 100, + .holdEffect = HOLD_EFFECT_DRAGON_POWER, + .holdEffectParam = 10, + .description = gItemDescription_DragonFang, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SILK SCARF"), + .itemId = ITEM_SILK_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NORMAL_POWER, + .holdEffectParam = 10, + .description = gItemDescription_SilkScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("UP-GRADE"), + .itemId = ITEM_UP_GRADE, + .price = 2100, + .holdEffect = HOLD_EFFECT_UP_GRADE, + .holdEffectParam = 0, + .description = gItemDescription_UpGrade, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SHELL BELL"), + .itemId = ITEM_SHELL_BELL, + .price = 200, + .holdEffect = HOLD_EFFECT_SHELL_BELL, + .holdEffectParam = 8, + .description = gItemDescription_ShellBell, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SEA INCENSE"), + .itemId = ITEM_SEA_INCENSE, + .price = 9600, + .holdEffect = HOLD_EFFECT_WATER_POWER, + .holdEffectParam = 5, + .description = gItemDescription_SeaIncense, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LAX INCENSE"), + .itemId = ITEM_LAX_INCENSE, + .price = 9600, + .holdEffect = HOLD_EFFECT_EVASION_UP, + .holdEffectParam = 5, + .description = gItemDescription_LaxIncense, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LUCKY PUNCH"), + .itemId = ITEM_LUCKY_PUNCH, + .price = 10, + .holdEffect = HOLD_EFFECT_LUCKY_PUNCH, + .holdEffectParam = 0, + .description = gItemDescription_LuckyPunch, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METAL POWDER"), + .itemId = ITEM_METAL_POWDER, + .price = 10, + .holdEffect = HOLD_EFFECT_METAL_POWDER, + .holdEffectParam = 0, + .description = gItemDescription_MetalPowder, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("THICK CLUB"), + .itemId = ITEM_THICK_CLUB, + .price = 500, + .holdEffect = HOLD_EFFECT_THICK_CLUB, + .holdEffectParam = 0, + .description = gItemDescription_ThickClub, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STICK"), + .itemId = ITEM_STICK, + .price = 200, + .holdEffect = HOLD_EFFECT_STICK, + .holdEffectParam = 0, + .description = gItemDescription_Stick, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RED SCARF"), + .itemId = ITEM_RED_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RedScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLUE SCARF"), + .itemId = ITEM_BLUE_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlueScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PINK SCARF"), + .itemId = ITEM_PINK_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PinkScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GREEN SCARF"), + .itemId = ITEM_GREEN_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GreenScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("YELLOW SCARF"), + .itemId = ITEM_YELLOW_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_YellowScarf, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MACH BIKE"), + .itemId = ITEM_MACH_BIKE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_MachBike, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Bike, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("COIN CASE"), + .itemId = ITEM_COIN_CASE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_CoinCase, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CoinCase, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ITEMFINDER"), + .itemId = ITEM_ITEMFINDER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Itemfinder, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("OLD ROD"), + .itemId = ITEM_OLD_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_OldRod, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GOOD ROD"), + .itemId = ITEM_GOOD_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GoodRod, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("SUPER ROD"), + .itemId = ITEM_SUPER_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SuperRod, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 2, + }, + { + .name = _("S.S. TICKET"), + .itemId = ITEM_SS_TICKET, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SSTicket, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CONTEST PASS"), + .itemId = ITEM_CONTEST_PASS, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ContestPass, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WAILMER PAIL"), + .itemId = ITEM_WAILMER_PAIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_WailmerPail, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEVON GOODS"), + .itemId = ITEM_DEVON_GOODS, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DevonGoods, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SOOT SACK"), + .itemId = ITEM_SOOT_SACK, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_SootSack, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BASEMENT KEY"), + .itemId = ITEM_BASEMENT_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BasementKey, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ACRO BIKE"), + .itemId = ITEM_ACRO_BIKE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_AcroBike, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Bike, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("{POKEBLOCK} CASE"), + .itemId = ITEM_POKEBLOCK_CASE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_PokeblockCase, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 3, + .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LETTER"), + .itemId = ITEM_LETTER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Letter, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EON TICKET"), + .itemId = ITEM_EON_TICKET, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_EonTicket, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("RED ORB"), + .itemId = ITEM_RED_ORB, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RedOrb, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLUE ORB"), + .itemId = ITEM_BLUE_ORB, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_BlueOrb, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCANNER"), + .itemId = ITEM_SCANNER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Scanner, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GO-GOGGLES"), + .itemId = ITEM_GO_GOGGLES, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_GoGoggles, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METEORITE"), + .itemId = ITEM_METEORITE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Meteorite, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RM. 1 KEY"), + .itemId = ITEM_ROOM_1_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Room1Key, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RM. 2 KEY"), + .itemId = ITEM_ROOM_2_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Room2Key, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RM. 4 KEY"), + .itemId = ITEM_ROOM_4_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Room4Key, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RM. 6 KEY"), + .itemId = ITEM_ROOM_6_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Room6Key, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STORAGE KEY"), + .itemId = ITEM_STORAGE_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_StorageKey, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ROOT FOSSIL"), + .itemId = ITEM_ROOT_FOSSIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_RootFossil, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CLAW FOSSIL"), + .itemId = ITEM_CLAW_FOSSIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_ClawFossil, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEVON SCOPE"), + .itemId = ITEM_DEVON_SCOPE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_DevonScope, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM01"), + .itemId = ITEM_TM01, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM01, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM02"), + .itemId = ITEM_TM02, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM02, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM03"), + .itemId = ITEM_TM03, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM03, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM04"), + .itemId = ITEM_TM04, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM04, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM05"), + .itemId = ITEM_TM05, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM05, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM06"), + .itemId = ITEM_TM06, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM06, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM07"), + .itemId = ITEM_TM07, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM07, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM08"), + .itemId = ITEM_TM08, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM08, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM09"), + .itemId = ITEM_TM09, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM09, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM10"), + .itemId = ITEM_TM10, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM10, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM11"), + .itemId = ITEM_TM11, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM11, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM12"), + .itemId = ITEM_TM12, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM12, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM13"), + .itemId = ITEM_TM13, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM13, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM14"), + .itemId = ITEM_TM14, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM14, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM15"), + .itemId = ITEM_TM15, + .price = 7500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM15, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM16"), + .itemId = ITEM_TM16, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM16, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM17"), + .itemId = ITEM_TM17, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM17, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM18"), + .itemId = ITEM_TM18, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM18, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM19"), + .itemId = ITEM_TM19, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM19, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM20"), + .itemId = ITEM_TM20, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM20, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM21"), + .itemId = ITEM_TM21, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM21, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM22"), + .itemId = ITEM_TM22, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM22, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM23"), + .itemId = ITEM_TM23, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM23, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM24"), + .itemId = ITEM_TM24, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM24, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM25"), + .itemId = ITEM_TM25, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM25, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM26"), + .itemId = ITEM_TM26, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM26, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM27"), + .itemId = ITEM_TM27, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM27, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM28"), + .itemId = ITEM_TM28, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM28, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM29"), + .itemId = ITEM_TM29, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM29, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM30"), + .itemId = ITEM_TM30, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM30, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM31"), + .itemId = ITEM_TM31, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM31, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM32"), + .itemId = ITEM_TM32, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM32, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM33"), + .itemId = ITEM_TM33, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM33, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM34"), + .itemId = ITEM_TM34, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM34, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM35"), + .itemId = ITEM_TM35, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM35, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM36"), + .itemId = ITEM_TM36, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM36, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM37"), + .itemId = ITEM_TM37, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM37, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM38"), + .itemId = ITEM_TM38, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM38, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM39"), + .itemId = ITEM_TM39, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM39, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM40"), + .itemId = ITEM_TM40, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM40, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM41"), + .itemId = ITEM_TM41, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM41, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM42"), + .itemId = ITEM_TM42, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM42, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM43"), + .itemId = ITEM_TM43, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM43, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM44"), + .itemId = ITEM_TM44, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM44, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM45"), + .itemId = ITEM_TM45, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM45, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM46"), + .itemId = ITEM_TM46, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM46, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM47"), + .itemId = ITEM_TM47, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM47, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM48"), + .itemId = ITEM_TM48, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM48, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM49"), + .itemId = ITEM_TM49, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM49, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM50"), + .itemId = ITEM_TM50, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_TM50, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM01"), + .itemId = ITEM_HM01, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM01, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM02"), + .itemId = ITEM_HM02, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM02, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM03"), + .itemId = ITEM_HM03, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM03, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM04"), + .itemId = ITEM_HM04, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM04, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM05"), + .itemId = ITEM_HM05, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM05, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM06"), + .itemId = ITEM_HM06, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM06, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM07"), + .itemId = ITEM_HM07, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM07, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM08"), + .itemId = ITEM_HM08, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_HM08, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemDescription_Dummy, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, +}; diff --git a/src/easy_chat.c b/src/easy_chat.c index cc2cd7030..cca8c1355 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -19,19 +19,23 @@ extern const u8 gEasyChatGroupSizes[]; extern u16 gSpecialVar_0x8004; -#ifdef NONMATCHING -u8 *sub_80EB3FC(u8 *dst, u16 word) { - int group, wordIndex; + +u8 *sub_80EB3FC(u8 *dst, u16 word) +{ + u16 group; + u16 wordIndex; u8 *src; u16 i; - if (sub_80EB37C(word)) - { return StringCopy(dst, gOtherText_ThreeQuestions); - } - if (word != 0xFFFF) + if (word == 0xFFFF) + { + dst[0] = EOS; + return dst; + } + else { group = word >> 9; wordIndex = word & 0x1FF; @@ -41,34 +45,27 @@ u8 *sub_80EB3FC(u8 *dst, u16 word) { case EC_GROUP_POKEMON_2: // 21 dst = StringCopy(dst, gSpeciesNames[wordIndex]); break; - case EC_GROUP_MOVE_1: // 18 case EC_GROUP_MOVE_2: // 19 dst = StringCopy(dst, gMoveNames[wordIndex]); break; - default: src = gEasyChatGroupWords[group]; - - i = wordIndex - 1; - while (i != 0xFFFF) + for (i = wordIndex - 1; i != 0xFFFF; i--) { while (*src++ != EOS) - { - } - i--; + ; } dst = StringCopy(dst, src); break; } + dst[0] = EOS; + return dst; } - - dst[0] = EOS; - return dst; } -#endif -u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16 arg2, u16 arg3) { +u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16 arg2, u16 arg3) +{ u16 i; u16 n; @@ -95,7 +92,7 @@ u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16 arg2, u16 arg3) { words++; dst = sub_80EB3FC(dst, word); - dst[0] = 0xFE; + dst[0] = CHAR_NEWLINE; dst++; } @@ -105,7 +102,8 @@ u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16 arg2, u16 arg3) { return dst; } -u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3) { +u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3) +{ u16 i; u16 n; @@ -133,7 +131,7 @@ u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3) { dst = sub_80EB3FC(dst, word); // Only difference with ConvertEasyChatWordsToString - dst[0] = (i == 0) ? 0xFE : 0xFA; + dst[0] = (i == 0) ? CHAR_NEWLINE : CHAR_PROMPT_SCROLL; dst++; } @@ -144,17 +142,16 @@ u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3) { } -u16 unref_sub_80EB5E0(u16 arg0) { +u16 unref_sub_80EB5E0(u16 arg0) +{ u8 *chars; u16 i; - u16 strlen; + u16 length; int group, word; if (arg0 == 0xFFFF) - { return 0; - } group = arg0 >> 9; word = arg0 & 0x1FF; @@ -164,41 +161,37 @@ u16 unref_sub_80EB5E0(u16 arg0) { case EC_GROUP_POKEMON_2: // 21 chars = (u8 *) gSpeciesNames[word]; break; - case EC_GROUP_MOVE_1: // 18 case EC_GROUP_MOVE_2: // 19 chars = gMoveNames[word]; break; - default: chars = gEasyChatGroupWords[group]; - - i = word - 1; - while (i != 0xFFFF) + for (i = word - 1; i != 0xFFFF; i--) { while (*chars++ != EOS) - { - } - i--; + ; } break; } - strlen = 0; + length = 0; while (*chars != EOS) { chars++; - strlen += 1; + length++; } - return strlen; + return length; } -static bool8 sub_80EB680(u16 *arg0, u16 arg1, u16 arg2, u16 arg3) { +static bool8 sub_80EB680(u16 *arg0, u16 arg1, u16 arg2, u16 arg3) +{ return FALSE; } -void unref_sub_80EB684(u8 arg0, u16 arg1) { +void unref_sub_80EB684(u8 arg0, u16 arg1) +{ u16 *ptr; u16 c; @@ -217,7 +210,6 @@ void unref_sub_80EB684(u8 arg0, u16 arg1) { c = 1; ptr = (u16*)((void *)&gSaveBlock1.tvShows[arg1] + 0x02); break; - default: return; } @@ -231,7 +223,8 @@ void unref_sub_80EB684(u8 arg0, u16 arg1) { } } -void sub_80EB6FC(u16 *arg0, u16 arg1) { +void sub_80EB6FC(u16 *arg0, u16 arg1) +{ u16 i; for (i = arg1 - 1; i != 0xFFFF; i--) @@ -242,35 +235,30 @@ void sub_80EB6FC(u16 *arg0, u16 arg1) { } -u16 sub_80EB72C(u16 group) { - u16 local1; - - local1 = Random() % gEasyChatGroupSizes[group]; +u16 sub_80EB72C(u16 group) +{ + u16 local1 = Random() % gEasyChatGroupSizes[group]; - if (group == EC_GROUP_POKEMON || - group == EC_GROUP_POKEMON_2 || - group == EC_GROUP_MOVE_1 || - group == EC_GROUP_MOVE_2) + if (group == EC_GROUP_POKEMON + || group == EC_GROUP_POKEMON_2 + || group == EC_GROUP_MOVE_1 + || group == EC_GROUP_MOVE_2) { local1 = ((u16 *) gEasyChatGroupWords[group])[local1]; } - return ((group & 0x7F) << 9) | (local1 & 0x1FF); } -u16 sub_80EB784(u16 group) { +u16 sub_80EB784(u16 group) +{ if (!sub_80EAD7C(group)) - { return -1; - } if (group != EC_GROUP_POKEMON) { if (group == EC_GROUP_TRENDY_SAYING) - { return sub_80EB960(); - } } else { @@ -280,11 +268,11 @@ u16 sub_80EB784(u16 group) { return sub_80EB72C(group); } -void sub_80EB7C4(void) { +void sub_80EB7C4(void) +{ u16 *words; u16 arg1, arg2; - switch (gSpecialVar_0x8004) { case 0: @@ -292,7 +280,6 @@ void sub_80EB7C4(void) { arg1 = 2; arg2 = 2; break; - case 1: words = gSaveBlock1.unk2B28; if (sub_80EB680(gSaveBlock1.unk2B28, 3, 2, 20)) @@ -306,19 +293,16 @@ void sub_80EB7C4(void) { arg2 = 2; } break; - case 2: words = gSaveBlock1.unk2B34; arg1 = 3; arg2 = 2; break; - case 3: words = gSaveBlock1.unk2B40; arg1 = 3; arg2 = 2; break; - default: return; } @@ -327,74 +311,65 @@ void sub_80EB7C4(void) { ShowFieldAutoScrollMessage(gStringVar4); } -void sub_80EB83C(void) { +void sub_80EB83C(void) +{ u16 group, local2; if (Random() & 1) - { group = EC_GROUP_HOBBIES; - } else - { group = EC_GROUP_LIFESTYLE; - } local2 = sub_80EB784(group); sub_80EB3FC(gStringVar2, local2); } -u8 sub_80EB868(u8 arg0) { +u8 sub_80EB868(u8 arg0) +{ int offset; int index; index = arg0 / 8; - offset = arg0 & 7; + offset = arg0 % 8; return (gSaveBlock1.unk2D8C[index] >> offset) & 1; } -void sub_80EB890(u8 arg0) { +void sub_80EB890(u8 arg0) +{ int offset; int index; - if (arg0 > 32) + if (arg0 < 33) { - return; + index = arg0 / 8; + offset = arg0 % 8; + gSaveBlock1.unk2D8C[index] |= 1 << offset; } - - index = arg0 / 8; - offset = arg0 & 7; - gSaveBlock1.unk2D8C[index] |= 1 << offset; } -u8 sub_80EB8C0(void) { - u8 i, retval; +u8 sub_80EB8C0(void) +{ + u8 i, count; - i = 0; - retval = 0; - for (; i < 33; i++) + for (i = 0, count = 0; i < 33; i++) { if (sub_80EB868(i)) - { - retval += 1; - } + count++; } - - return retval; + return count; } -u16 sub_80EB8EC(void) { +u16 sub_80EB8EC(void) +{ u16 i; u16 local1, local2; local1 = sub_80EB8C0(); if (local1 == 33) - { return -1; - } local2 = Random() % (33 - local1); - - for (i = 0; i <= 0x20; i++) + for (i = 0; i < 33; i++) { if (sub_80EB868(i) == 0) { @@ -403,35 +378,28 @@ u16 sub_80EB8EC(void) { sub_80EB890(i); return (i & 0x1FF) | 0x2800; } - local2--; } } - return -1; } -static u16 sub_80EB960(void) { +static u16 sub_80EB960(void) +{ u16 i; u16 local1; local1 = sub_80EB8C0(); if (local1 == 0) - { return -1; - } local1 = Random() % local1; - - for (i = 0; i <= 0x20; i++) + for (i = 0; i < 33; i++) { if (sub_80EB868(i)) { if (local1 == 0) - { return (i & 0x1FF) | 0x2800; - } - local1--; } } @@ -439,11 +407,13 @@ static u16 sub_80EB960(void) { return -1; } -u8 sub_80EB9C8(void) { +u8 sub_80EB9C8(void) +{ return IsNationalPokedexEnabled(); } -static u16 sub_80EB9D8(void) { +static u16 sub_80EB9D8(void) +{ u16 *speciesList; u16 local1; u16 i; @@ -451,32 +421,22 @@ static u16 sub_80EB9D8(void) { local1 = sub_80EAE88(0); if (local1 == 0) - { return -1; - } local1 = Random() % local1; speciesList = (u16 *) gEasyChatGroupWords[EC_GROUP_POKEMON]; - for (i = 0; i < gEasyChatGroupSizes[EC_GROUP_POKEMON]; i++) { const u16 dexNum = SpeciesToNationalPokedexNum(*speciesList); - const u8 local2 = GetNationalPokedexFlag(dexNum, 0); if (local2) { if (local1 == 0) - { return *speciesList & 0x1FF; - } - local1--; } - speciesList++; } - return -1; } - diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 2d8140be5..a4f52f4b9 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -206,7 +206,7 @@ int sub_8068024(struct FieldInput *input) sub_8071310(); return TRUE; } - if (input->pressedSelectButton && sub_80A6D1C() == 1) + if (input->pressedSelectButton && sub_80A6D1C() == TRUE) return TRUE; return FALSE; } diff --git a/src/field_map_obj_helpers.c b/src/field_map_obj_helpers.c index 17584c96a..46784cff3 100644 --- a/src/field_map_obj_helpers.c +++ b/src/field_map_obj_helpers.c @@ -34,7 +34,7 @@ bool8 FreezeMapObject(struct MapObject *mapObject) } } -void FreezeMapObjects() +void FreezeMapObjects(void) { u8 i; for (i = 0; i < 16; i++) diff --git a/src/item.c b/src/item.c index 2eb013490..36871285a 100644 --- a/src/item.c +++ b/src/item.c @@ -1,21 +1,25 @@ #include "global.h" +#include "hold_effects.h" #include "item.h" #include "items.h" +#include "item_use.h" #include "berry.h" #include "string_util.h" #include "strings.h" extern u8 gUnknown_02038560; -extern struct Item gItems[]; -struct BagPocket +// These constants are used in gItems +enum { - struct ItemSlot *itemSlots; - u8 capacity; + POCKET_NONE, + POCKET_ITEMS, + POCKET_POKE_BALLS, + POCKET_TM_HM, + POCKET_BERRIES, + POCKET_KEY_ITEMS, }; -extern struct BagPocket gBagPockets[5]; - enum { ITEMS_POCKET, @@ -25,6 +29,14 @@ enum KEYITEMS_POCKET }; +#if ENGLISH +#include "data/item_descriptions_en.h" +#include "data/items_en.h" +#elif GERMAN +#include "data/item_descriptions_de.h" +#include "data/items_de.h" +#endif + static void CompactPCItems(void); void CopyItemName(u16 itemId, u8 *string) @@ -137,6 +149,9 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) return TRUE; } +// This function matches if gBagPockets is declared non-const, +// but it should be fixed anyway. +#ifdef NONMATCHING bool8 AddBagItem(u16 itemId, u16 count) { u8 i; @@ -201,6 +216,158 @@ bool8 AddBagItem(u16 itemId, u16 count) memcpy(gBagPockets[pocket].itemSlots, newItems, gBagPockets[pocket].capacity * sizeof(struct ItemSlot)); return TRUE; } +#else +__attribute__((naked)) +bool8 AddBagItem(u16 itemId, u16 count) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + sub sp, 0x100\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + lsls r1, 16\n\ + lsrs r4, r1, 16\n\ + bl ItemId_GetPocket\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080A9510\n\ + mov r0, r8\n\ + bl ItemId_GetPocket\n\ + subs r0, 0x1\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + ldr r1, _080A94F8 @ =gBagPockets\n\ + lsls r0, r6, 3\n\ + adds r5, r0, r1\n\ + ldr r1, [r5]\n\ + ldrb r2, [r5, 0x4]\n\ + lsls r2, 2\n\ + mov r0, sp\n\ + bl memcpy\n\ + ldr r7, _080A94FC @ =0x000003e7\n\ + cmp r6, 0x3\n\ + beq _080A9468\n\ + movs r7, 0x63\n\ +_080A9468:\n\ + movs r1, 0\n\ + ldrb r0, [r5, 0x4]\n\ + cmp r1, r0\n\ + bcs _080A94B2\n\ + subs r0, r6, 0x2\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r12, r0\n\ +_080A9478:\n\ + lsls r0, r1, 2\n\ + mov r2, sp\n\ + adds r3, r2, r0\n\ + ldrh r0, [r3]\n\ + cmp r0, r8\n\ + bne _080A94A6\n\ + ldrh r2, [r3, 0x2]\n\ + adds r0, r2, r4\n\ + cmp r0, r7\n\ + ble _080A9500\n\ + mov r0, r12\n\ + cmp r0, 0x1\n\ + bls _080A9510\n\ + subs r0, r7, r2\n\ + subs r0, r4, r0\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + strh r7, [r3, 0x2]\n\ + ldr r2, _080A94F8 @ =gBagPockets\n\ + mov r9, r2\n\ + lsls r3, r6, 3\n\ + cmp r4, 0\n\ + beq _080A9516\n\ +_080A94A6:\n\ + adds r0, r1, 0x1\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + ldrb r0, [r5, 0x4]\n\ + cmp r1, r0\n\ + bcc _080A9478\n\ +_080A94B2:\n\ + ldr r2, _080A94F8 @ =gBagPockets\n\ + mov r9, r2\n\ + lsls r3, r6, 3\n\ + cmp r4, 0\n\ + beq _080A9516\n\ + movs r1, 0\n\ + adds r0, r3, r2\n\ + ldrb r0, [r0, 0x4]\n\ + cmp r1, r0\n\ + bcs _080A94F2\n\ + mov r6, r9\n\ + adds r5, r3, r6\n\ +_080A94CA:\n\ + lsls r0, r1, 2\n\ + mov r6, sp\n\ + adds r2, r6, r0\n\ + ldrh r0, [r2]\n\ + cmp r0, 0\n\ + bne _080A94E6\n\ + mov r0, r8\n\ + strh r0, [r2]\n\ + cmp r4, r7\n\ + bls _080A9514\n\ + subs r0, r4, r7\n\ + lsls r0, 16\n\ + lsrs r4, r0, 16\n\ + strh r7, [r2, 0x2]\n\ +_080A94E6:\n\ + adds r0, r1, 0x1\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + ldrb r2, [r5, 0x4]\n\ + cmp r1, r2\n\ + bcc _080A94CA\n\ +_080A94F2:\n\ + cmp r4, 0\n\ + beq _080A9516\n\ + b _080A9510\n\ + .align 2, 0\n\ +_080A94F8: .4byte gBagPockets\n\ +_080A94FC: .4byte 0x000003e7\n\ +_080A9500:\n\ + strh r0, [r3, 0x2]\n\ + ldr r0, _080A950C @ =gBagPockets\n\ + lsls r1, r6, 3\n\ + adds r1, r0\n\ + b _080A951A\n\ + .align 2, 0\n\ +_080A950C: .4byte gBagPockets\n\ +_080A9510:\n\ + movs r0, 0\n\ + b _080A9528\n\ +_080A9514:\n\ + strh r4, [r2, 0x2]\n\ +_080A9516:\n\ + mov r6, r9\n\ + adds r1, r3, r6\n\ +_080A951A:\n\ + ldr r0, [r1]\n\ + ldrb r2, [r1, 0x4]\n\ + lsls r2, 2\n\ + mov r1, sp\n\ + bl memcpy\n\ + movs r0, 0x1\n\ +_080A9528:\n\ + add sp, 0x100\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .syntax divided\n"); +} +#endif bool8 RemoveBagItem(u16 itemId, u16 count) { @@ -410,7 +577,7 @@ static u16 SanitizeItemId(u16 itemId) return itemId; } -struct Item *ItemId_GetItem(u16 itemId) +const struct Item *ItemId_GetItem(u16 itemId) { return &gItems[SanitizeItemId(itemId)]; } @@ -435,15 +602,15 @@ u8 ItemId_GetHoldEffectParam(u16 itemId) return gItems[SanitizeItemId(itemId)].holdEffectParam; } -u8 *ItemId_GetDescription(u16 itemId) +const u8 *ItemId_GetDescription(u16 itemId) { return gItems[SanitizeItemId(itemId)].description; } -bool8 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c) +bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c) { u32 r5 = c + 1; - u8 *description = gItems[SanitizeItemId(itemId)].description; + const u8 *description = gItems[SanitizeItemId(itemId)].description; u8 *str = a; for (;;) diff --git a/src/item_menu.c b/src/item_menu.c new file mode 100644 index 000000000..350ba3db4 --- /dev/null +++ b/src/item_menu.c @@ -0,0 +1,4583 @@ +#include "global.h" +#include "berry.h" +#include "berry_tag_screen.h" +#include "data2.h" +#include "decompress.h" +#include "field_effect.h" +#include "field_map_obj_helpers.h" +#include "field_player_avatar.h" +#include "graphics.h" +#include "item.h" +#include "items.h" +#include "item_menu.h" +#include "item_use.h" +#include "link.h" +#include "mail_data.h" +#include "main.h" +#include "map_name_popup.h" +#include "menu.h" +#include "menu_cursor.h" +#include "menu_helpers.h" +#include "money.h" +#include "palette.h" +#include "party_menu.h" +#include "player_pc.h" +#include "pokemon_menu.h" +#include "rom4.h" +#include "script.h" +#include "songs.h" +#include "sound.h" +#include "sprite.h" +#include "strings.h" +#include "strings2.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "unknown_task.h" + +// External stuff +extern u8 ewram[]; +extern void gpu_pal_allocator_reset__manage_upper_four(void); +extern void sub_80F9020(void); +extern void sub_80F9988(); +extern void sub_809D104(u16 *, u16, u16, const u8 *, u16, u16, u16, u16); +extern void PauseVerticalScrollIndicator(); +extern u8 sub_80F9284(void); +extern void sub_808B5B4(); +extern u8 sub_80F92F4(); +extern void sub_80C9C7C(u8); +extern void pal_fill_black(void); +extern bool8 sub_807D770(void); +extern u8 sub_80F931C(); +extern void sub_808A3F8(u8); +extern void sub_80B3050(void); +extern void sub_80546B8(u8); +extern void sub_804E990(u8); +extern void sub_802E424(u8); +extern void sub_8064E2C(void); + +struct PocketScrollState +{ + u8 cursorPos; + u8 scrollTop; + u8 numSlots; + u8 cursorMax; +}; + +struct UnknownStruct2 +{ + u8 unk0; + u8 textLine; + u8 unk2; +}; + +struct UnknownStruct3 +{ + u8 unk0; + u8 unk1; + u8 unk2; +}; + +struct UnknownStruct4 +{ + u8 unk0; + u8 unk1; + u16 unk2; + const u8 *unk4; + TaskFunc unk8; +}; + +struct UnknownStruct5 +{ + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; +}; + +struct UnknownStruct6 +{ + u8 unk0; +}; + +enum +{ + BAG_POCKET_ITEMS, // 0 + BAG_POCKET_POKE_BALLS, // 1 + BAG_POCKET_TMs_HMs, // 2 + BAG_POCKET_BERRIES, // 3 + BAG_POCKET_KEY_ITEMS, // 4 +}; + +enum +{ + RETURN_TO_FIELD_0, + RETURN_TO_BATTLE, + RETURN_TO_PKMN_LIST, + RETURN_TO_SHOP, + RETURN_TO_FIELD_4, + RETURN_TO_FIELD_5, + RETURN_TO_PC, + RETURN_TO_WALLY_BATTLE, +}; + +enum +{ + ITEM_ACTION_USE_0, // 0 + ITEM_ACTION_TOSS, // 1 + ITEM_ACTION_CANCEL_2, // 2 + ITEM_ACTION_REGISTER, // 3 + ITEM_ACTION_USE_4, // 4 + ITEM_ACTION_CANCEL_5, // 5 + ITEM_ACTION_GIVE, // 6 + ITEM_ACTION_CHECK_TAG, // 7 + ITEM_ACTION_NONE, // 8 + ITEM_ACTION_CONFIRM, // 9 +}; + +// ewram +EWRAM_DATA static struct UnknownStruct2 gUnknown_0203853C = {0}; +EWRAM_DATA static struct UnknownStruct3 gUnknown_02038540 = {0}; +EWRAM_DATA static struct UnknownStruct4 gUnknown_02038544 = {0}; +EWRAM_DATA static struct UnknownStruct5 gUnknown_02038550 = {0}; +EWRAM_DATA static struct UnknownStruct6 gUnknown_02038554 = {0}; // There are 3 bytes of padding after this, so I assume it's a struct +EWRAM_DATA static u8 gUnknown_02038558 = 0; +EWRAM_DATA static s8 sCurrentBagPocket = 0; +EWRAM_DATA static u8 gUnknown_0203855A = 0; +EWRAM_DATA static s8 gUnknown_0203855B = 0; +EWRAM_DATA static s8 gUnknown_0203855C = 0; +EWRAM_DATA u16 gScriptItemId = 0; +EWRAM_DATA u8 gUnknown_02038560 = 0; +EWRAM_DATA u8 gUnknown_02038561 = 0; +EWRAM_DATA static u8 gUnknown_02038562 = 0; +EWRAM_DATA static u8 gUnknown_02038563 = 0; +EWRAM_DATA static u8 gUnknown_02038564 = 0; +EWRAM_DATA static u8 sPokeballSpriteId ALIGNED(4) = 0; // HACK: why is there a space before this variable? + +// bss +static u8 sPopupMenuSelection; +static u8 sReturnLocation; +static const u8 *sPopupMenuActionList; + +// common +void (*gUnknown_03005D00)(u8) = NULL; +extern u16 gUnknown_030041B4; +extern struct PocketScrollState gBagPocketScrollStates[]; +extern struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots +extern const u8 Event_NoRegisteredItem[]; + +#define ewramBerryPic (ewram + 0) +#define ewramBerryPicTemp (ewram + 0x1000) +#define ewramSavedItemsPocket ((struct ItemSlot *)(ewram + 0x1E000)) // saved items pocket (for Wally battle) +#define ewramSavedPokeballsPocket ((struct ItemSlot *)(ewram + 0x1F000)) // saved Pokeballs pocket (for Wally battle) +#define ewramBagSetupStep (ewram[0x1FFFF]) + +extern const struct CompressedSpriteSheet sMaleBagSpriteSheet; +extern const struct CompressedSpriteSheet sFemaleBagSpriteSheet; +extern const struct CompressedSpritePalette sBagSpritePalette; + +const struct BagPocket gBagPockets[NUM_BAG_POCKETS] = +{ + {gSaveBlock1.bagPocket_Items, 20}, + {gSaveBlock1.bagPocket_PokeBalls, 16}, + {gSaveBlock1.bagPocket_TMHM, 64}, + {gSaveBlock1.bagPocket_Berries, 46}, + {gSaveBlock1.bagPocket_KeyItems, 20}, +}; + +static void HandlePopupMenuAction_UseOnField(u8); +static void HandlePopupMenuAction_Toss(u8); +static void sub_80A5F80(u8); +static void HandlePopupMenuAction_Register(u8); +static void HandlePopupMenuAction_UseInBattle(u8); +static void sub_80A7124(u8); +static void HandlePopupMenuAction_Give(u8); +static void HandlePopupMenuAction_CheckTag(u8); +static void HandlePopupMenuAction_Confirm(u8); + +static const struct MenuAction2 sItemPopupMenuActions[] = +{ + {OtherText_Use, HandlePopupMenuAction_UseOnField}, + {OtherText_Toss, HandlePopupMenuAction_Toss}, + {gOtherText_CancelNoTerminator, sub_80A5F80}, + {OtherText_Register, HandlePopupMenuAction_Register}, + {OtherText_Use, HandlePopupMenuAction_UseInBattle}, + {gOtherText_CancelNoTerminator, sub_80A7124}, + {OtherText_Give2, HandlePopupMenuAction_Give}, + {OtherText_CheckTag, HandlePopupMenuAction_CheckTag}, + {gOtherText_CancelWithTerminator, NULL}, + {OtherText_Confirm, HandlePopupMenuAction_Confirm}, +}; + +static const u8 sItemPopupMenuChoicesTable[][6] = +{ + [BAG_POCKET_ITEMS] = + { + ITEM_ACTION_USE_0, + ITEM_ACTION_TOSS, + ITEM_ACTION_GIVE, + ITEM_ACTION_CANCEL_2, + }, + + [BAG_POCKET_POKE_BALLS] = + { + ITEM_ACTION_GIVE, + ITEM_ACTION_TOSS, + ITEM_ACTION_NONE, + ITEM_ACTION_CANCEL_2, + }, + + [BAG_POCKET_TMs_HMs] = + { + ITEM_ACTION_USE_0, + ITEM_ACTION_NONE, + ITEM_ACTION_GIVE, + ITEM_ACTION_CANCEL_2, + }, + + [BAG_POCKET_BERRIES] = + { + ITEM_ACTION_CHECK_TAG, + ITEM_ACTION_USE_0, + ITEM_ACTION_TOSS, + ITEM_ACTION_NONE, + ITEM_ACTION_GIVE, + ITEM_ACTION_CANCEL_2 + }, + + [BAG_POCKET_KEY_ITEMS] = + { + ITEM_ACTION_USE_0, + ITEM_ACTION_NONE, + ITEM_ACTION_REGISTER, + ITEM_ACTION_CANCEL_2, + }, +}; + +const u8 gUnknown_083C16AE[][2] = +{ + {6, 2}, + {6, 2}, + {6, 2}, + {6, 2}, + {2, 0}, +}; + +const u8 gUnknown_083C16B8[] = {7, 9, 8, 2}; + +static void OnItemSelect_Field05(u8); +static void OnBagClose_Field0(u8); +static void OnBagClose_PkmnList(u8); +static void OnItemSelect_PkmnList(u8); +static void OnBagClose_Shop(u8); +static void OnItemSelect_Shop(u8); +static void OnBagClose_Field4(u8); +static void OnItemSelect_Field4(u8); +static void OnBagClose_Field5(u8); +static void OnBagClose_PC(u8); +static void OnItemSelect_PC(u8); +static void OnItemSelect_Battle(u8); +static void OnBagClose_Battle(u8); + +static const struct {TaskFunc onItemSelect; TaskFunc onBagClose;} gUnknown_083C16BC[] = +{ + [RETURN_TO_FIELD_0] = {OnItemSelect_Field05, OnBagClose_Field0}, + [RETURN_TO_BATTLE] = {OnItemSelect_Battle, OnBagClose_Battle}, + [RETURN_TO_PKMN_LIST] = {OnItemSelect_PkmnList, OnBagClose_PkmnList}, + [RETURN_TO_SHOP] = {OnItemSelect_Shop, OnBagClose_Shop}, + [RETURN_TO_FIELD_4] = {OnItemSelect_Field4, OnBagClose_Field4}, + [RETURN_TO_FIELD_5] = {OnItemSelect_Field05, OnBagClose_Field5}, + [RETURN_TO_PC] = {OnItemSelect_PC, OnBagClose_PC}, +}; + +static void sub_80A5E60(u8); +static void sub_80A5E90(u8); + +static const struct YesNoFuncTable gUnknown_083C16F4 = {sub_80A5E60, sub_80A5E90}; + +static void sub_80A65AC(u8); +static void sub_80A6618(u8); + +const struct YesNoFuncTable gUnknown_083C16FC = {sub_80A65AC, sub_80A6618}; + +void sub_80A34E8(void); +static bool8 LoadBagGraphicsMultistep(void); +static void sub_80A362C(void); +static void sub_80A3740(void); +static void sub_80A396C(u16 *, u8, u8, u8); +static void sub_80A39B8(u16 *, u8); +static void sub_80A39E4(u16 *, u8, u8, s8); +static void DrawPocketIndicatorDots(u16 *, u8); +static void SortItemSlots(struct BagPocket); +static void UpdateAllBagPockets(void); +static void sub_80A3D24(u8); +static void sub_80A3D40(void); +static void RemoveSelectIconFromRegisteredItem(void); +static void sub_80A48E8(u16, int, int); +static void ItemListMenu_InitDescription(s16); +static void ItemListMenu_ChangeDescription(s16, int); +static void sub_80A4F68(u8); +static void sub_80A50C8(u8); +static void sub_80A5AE4(u8); +static void sub_80A5BF8(u8); +static void Task_CallItemUseOnFieldCallback(u8); +static void sub_80A6444(u8); +static void sub_80A648C(u8); +static void Task_BuyHowManyDialogueHandleInput(u8); +static void BuyMenuPrintItemQuantityAndPrice(u8); +static void BuyMenuDisplayMessage(u16, u16); +static void sub_80A683C(void); +static void sub_80A6870(u16, u8); +static void sub_80A699C(void); +static void sub_80A7230(u8); +static void ItemListMenu_InitMenu(void); +static void sub_80A73C0(void); +static void sub_80A73F0(void); +static void sub_80A73FC(void); +static void sub_80A740C(void); +static void sub_80A7420(void); +static void sub_80A751C(void); +static void sub_80A7528(u8); +static void sub_80A7590(void); +static void sub_80A75E4(void); +static void sub_80A7630(void); +static void sub_80A763C(void); +static void sub_80A76A0(void); +static void sub_80A770C(void); +static void DisplayCannotUseItemMessage(int, const u8 *, TaskFunc, int); +static void sub_80A7768(void); +static void sub_80A7828(void); +static void sub_80A7834(int, int); +static bool32 sub_80A78A0(void); +static void sub_80A78B8(void); +static bool32 sub_80A78C4(void); +static void sub_80A78E8(void); +static int sub_80A78F4(void); +static void sub_80A7918(void); +static int sub_80A7924(void); +static int sub_80A7958(void); +static void sub_80A7970(void); +static void sub_80A797C(void); +static int sub_80A7988(void); +static void sub_80A79B4(struct Sprite *); +static void sub_80A79EC(struct Sprite *); +static void sub_80A7A94(struct Sprite *); +static void sub_80A7AE4(struct Sprite *); +static void CreateBagSprite(void); +static void sub_80A7B6C(struct Sprite *); +static void CreateBagPokeballSprite(u8); +static void sub_80A7C64(void); + +static void sub_80A3118(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTasks(); + sub_80A740C(); + UpdatePaletteFade(); +} + +static void sub_80A3134(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + + { + const void *src = gBGTilemapBuffers[1]; + void *dst = (void *)(VRAM + 0x2000); + + DmaCopy16(3, src, dst, 0x800); + } + + { + const void *src = gBGTilemapBuffers[2]; + void *dst = (void *)(VRAM + 0x6000); + + DmaCopy16(3, src, dst, 0x800); + } +} + +static bool8 SetupBagMultistep(void) +{ + u32 index; + u16 savedIme; + + switch (gMain.state) + { + case 0: + sub_80F9438(); + sub_80A34E8(); + gMain.state++; + break; + case 1: + remove_some_task(); + gMain.state++; + break; + case 2: + gpu_pal_allocator_reset__manage_upper_four(); + gMain.state++; + break; + case 3: + sub_80F9020(); + ewramBagSetupStep = 0; + gMain.state++; + break; + case 4: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + gMain.state++; + break; + case 5: + ResetSpriteData(); + gMain.state++; + break; + case 6: + if (LoadBagGraphicsMultistep() == FALSE) + break; + gMain.state++; + break; + case 7: + SetUpWindowConfig(&gWindowConfig_81E6DFC); + gMain.state++; + break; + case 8: + MultistepInitMenuWindowBegin(&gWindowConfig_81E6DFC); + gMain.state++; + break; + case 9: + if (!MultistepInitMenuWindowContinue()) + break; + gMain.state++; + break; + case 10: + sub_80F944C(); + LoadScrollIndicatorPalette(); + CreateVerticalScrollIndicators(0, 172, 12); + CreateVerticalScrollIndicators(1, 172, 148); + CreateVerticalScrollIndicators(2, 28, 88); + CreateVerticalScrollIndicators(3, 100, 88); + sub_80F9988(0, 2); + sub_80F9988(1, 2); + sub_80F9988(2, 2); + sub_80F9988(3, 2); + if (sReturnLocation == RETURN_TO_FIELD_4 || sReturnLocation == RETURN_TO_FIELD_5) + { + sub_80F979C(2, 1); + sub_80F979C(3, 1); + } + gMain.state++; + break; + case 11: + gUnknown_0203855A = 16; + sub_80A39B8(gBGTilemapBuffers[2], sCurrentBagPocket + 1); + DrawPocketIndicatorDots(gBGTilemapBuffers[2], sCurrentBagPocket); + UpdateAllBagPockets(); + SortItemSlots(gBagPockets[2]); + SortItemSlots(gBagPockets[3]); + sub_80A3D40(); + gCurrentBagPocketItemSlots = gBagPockets[sCurrentBagPocket].itemSlots; + sub_80A362C(); + gMain.state++; + break; + case 12: + sub_80A48E8(0xFFFF, 0, 7); + index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + ItemListMenu_InitDescription(gCurrentBagPocketItemSlots[index].itemId); + ItemListMenu_InitMenu(); + gUnknown_0203855B = sCurrentBagPocket + 1; + gUnknown_0203855C = 0; + gMain.state++; + break; + case 13: + CreateBagSprite(); + CreateBagPokeballSprite(0); + sub_80A3740(); + gMain.state++; + break; + case 14: + savedIme = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = savedIme; + REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + gPaletteFade.bufferTransferDisabled = FALSE; + gMain.state++; + break; + case 15: + if (sub_8055870() == TRUE) + break; + gMain.state++; + break; + case 16: + SetVBlankCallback(sub_80A3134); + SetMainCallback2(sub_80A3118); + sub_80A751C(); + sub_80A7630(); + sub_80A770C(); + sub_80A7828(); + sub_80A78B8(); + return TRUE; + } + return FALSE; +} + +static bool8 sub_80A34B4(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + sPopupMenuSelection = 0; + ResetTasks(); + return TRUE; + } + if (sub_80F9344() == TRUE) + break; + } + return FALSE; +} + + +void sub_80A34E8(void) +{ + sub_80F9368(); + REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(12) | BGCNT_16COLOR | BGCNT_TXT256x256; + REG_BG1CNT = BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(4) | BGCNT_16COLOR | BGCNT_TXT256x256; + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + REG_BLDCNT = 0; +} + +static bool8 LoadBagGraphicsMultistep(void) +{ + switch (ewramBagSetupStep) + { + case 0: + LZDecompressVram(gBagScreen_Gfx, (void *)(VRAM + 0x4000)); + ewramBagSetupStep++; + break; + case 1: + CpuCopy16(gUnknown_08E77004, gBGTilemapBuffers[2], 0x800); + ewramBagSetupStep++; + break; + case 2: + if (gSaveBlock2.playerGender == MALE || sReturnLocation == RETURN_TO_WALLY_BATTLE) + LoadCompressedPalette(gBagScreenMale_Pal, 0, 64); + else + LoadCompressedPalette(gBagScreenFemale_Pal, 0, 64); + ewramBagSetupStep++; + break; + case 3: + if (gSaveBlock2.playerGender == MALE || sReturnLocation == RETURN_TO_WALLY_BATTLE) + LoadCompressedObjectPic(&sMaleBagSpriteSheet); + else + LoadCompressedObjectPic(&sFemaleBagSpriteSheet); + ewramBagSetupStep++; + break; + case 4: + LoadCompressedObjectPalette(&sBagSpritePalette); + ewramBagSetupStep = 0; + return TRUE; + } + return FALSE; +} + +static void sub_80A362C(void) +{ + u8 i; + + for (i = 0; i < 5; i++) + { + u8 r3; + + if (sReturnLocation == RETURN_TO_FIELD_5) + r3 = gBagPocketScrollStates[i].numSlots - 1; + else + r3 = gBagPocketScrollStates[i].numSlots; + + if (gBagPocketScrollStates[i].scrollTop != 0) + { + if (gBagPocketScrollStates[i].scrollTop + gBagPocketScrollStates[i].cursorMax > r3) + gBagPocketScrollStates[i].scrollTop = r3 - gBagPocketScrollStates[i].cursorMax; + } + else + { + if (gBagPocketScrollStates[i].cursorPos > r3) + gBagPocketScrollStates[i].cursorPos = r3; + } + } +} + +void ResetBagScrollPositions(void) +{ + u16 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + { + gBagPocketScrollStates[i].cursorPos = 0; + gBagPocketScrollStates[i].scrollTop = 0; + gBagPocketScrollStates[i].numSlots = 0; + gBagPocketScrollStates[i].cursorMax = 0; + } + sCurrentBagPocket = 0; +} + +static void sub_80A36B8(u16 *a, u8 b, u8 c, u8 d, u8 e) +{ + u16 i; + u16 j; + + for (i = c; i <= c + e; i++) + { + for (j = b; j <= b + d; j++) + { + u32 index = j + i * 32; + + a[index] = 0; + } + } +} + +void ClearBag(void) +{ + u16 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + ClearItemSlots(gBagPockets[i].itemSlots, gBagPockets[i].capacity); + ResetBagScrollPositions(); +} + +static void sub_80A3740(void) +{ + const u16 colors[2] = {RGB(14, 15, 16), RGB_WHITE}; + + LoadPalette(&colors[1], 0xD1, sizeof(colors[1])); + LoadPalette(&colors[0], 0xD8, sizeof(colors[0])); +} + +static void sub_80A3770(void) +{ + if (sReturnLocation == RETURN_TO_FIELD_0) + { + sPopupMenuActionList = sItemPopupMenuChoicesTable[sCurrentBagPocket]; + if (sCurrentBagPocket != BAG_POCKET_BERRIES) + gUnknown_02038564 = 4; + else + gUnknown_02038564 = 6; + } +} + +static void sub_80A37C0(u8 taskId) +{ + gTasks[taskId].func = sub_80A50C8; + StartVerticalScrollIndicators(0); + StartVerticalScrollIndicators(1); + StartVerticalScrollIndicators(2); + StartVerticalScrollIndicators(3); +} + +static void sub_80A37F8(u8 taskId) +{ + u8 r5 = gUnknown_0203855A; + + if (r5 < 16) + { + gUnknown_0203855A++; + sub_80A396C(gBGTilemapBuffers[2], r5, gUnknown_0203855A, 0x4F); + sub_80A39E4(gBGTilemapBuffers[2], sCurrentBagPocket + 1, gUnknown_0203855A / 2, gTasks[taskId].data[5]); + gUnknown_02038558 = 1; + sub_80A48E8(taskId, r5 / 2, gUnknown_0203855A / 2 - 1); + gUnknown_02038558 = 0; + return; + } + + if (gLinkOpen == TRUE) + { + u32 index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + + ItemListMenu_ChangeDescription(gCurrentBagPocketItemSlots[index].itemId, gUnknown_02038562); + gUnknown_02038562++; + } + else + { + while (gUnknown_02038562 < 3) + { + u32 index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + + ItemListMenu_ChangeDescription(gCurrentBagPocketItemSlots[index].itemId, gUnknown_02038562); + gUnknown_02038562++; + } + } + if (gUnknown_02038562 == 3) + { + gUnknown_0203855A = 16; + gUnknown_0203855B = sCurrentBagPocket + 1; + sub_80A37C0(FindTaskIdByFunc(sub_80A4F68)); + DestroyTask(taskId); + ItemListMenu_InitMenu(); + sub_80F979C(2, 0); + sub_80F979C(3, 0); + } +} + +static void sub_80A3954(u16 *a) +{ + CpuCopy16(gUnknown_08E77004, a, 0x800); +} + +static void sub_80A396C(u16 *a, u8 b, u8 c, u8 d) +{ + u16 *dst = a + 14 + (b + 2) * 32; + u16 i; + + while (c > b++) + { + for (i = 0; i < 15; i++) + dst[i] = d; + dst += 32; + } +} + +static void sub_80A39B8(u16 *a, u8 b) +{ + u8 var = b * 2; + + sub_809D104(a, 4, 10, gUnknown_08E96EC8, 0, var, 8, 2); +} + +static void sub_80A39E4(u16 *a, u8 b, u8 c, s8 d) +{ + u16 r2 = b * 2; + u16 r7; + + if (d == -1) + { + r7 = (b + 1) * 2; + if (b == 5) + r7 = 2; + + sub_809D104(a, 4, 10, gUnknown_08E96EC8, 8 - c, r2, c, 2); + sub_809D104(a, c + 4, 10, gUnknown_08E96EC8, 0, r7, 8 - c, 2); + } + else if (d == 1) + { + r7 = (b - 1) * 2; + if (b == 1) + r7 = 10; + + sub_809D104(a, 4, 10, gUnknown_08E96EC8, c, r7, 8 - c, 2); + sub_809D104(a, 12 - c, 10, gUnknown_08E96EC8, 0, r2, c, 2); + } +} + +// Draws dots under the bag sprite, showing which pocket is selected +static void DrawPocketIndicatorDots(u16 *tileMapBuffer, u8 selectedPocket) +{ + u8 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + { + if (i == selectedPocket) + tileMapBuffer[0x125 + i] = 0x107D; + else + tileMapBuffer[0x125 + i] = 0x107C; + } +} + +static void ChangePocket(u16 *tileMapBuffer, s8 delta) +{ + u8 taskId; + + sCurrentBagPocket += delta; + // Wrap around + if (sCurrentBagPocket >= NUM_BAG_POCKETS) + sCurrentBagPocket = 0; + if (sCurrentBagPocket < 0) + sCurrentBagPocket = NUM_BAG_POCKETS - 1; + + sub_80A76A0(); + sub_80A7590(); + gCurrentBagPocketItemSlots = gBagPockets[sCurrentBagPocket].itemSlots; + sub_80A3D24(sCurrentBagPocket); + gUnknown_0203855A = 0; + sub_80A3954(tileMapBuffer); + sub_80A396C(tileMapBuffer, 0, 16, 3); + sub_80A39B8(tileMapBuffer, 0); + gUnknown_0203855B = 6; + gUnknown_02038562 = 0; + taskId = FindTaskIdByFunc(sub_80A37F8); + if (taskId == 0xFF) + taskId = CreateTask(sub_80A37F8, 8); + gTasks[taskId].data[5] = delta; +} + +static void SwapItemSlots(struct ItemSlot *a, struct ItemSlot *b) +{ + struct ItemSlot temp = *a; + + *a = *b; + *b = temp; +} + +static void RemoveEmptyItemSlots(struct BagPocket pocket) +{ + u16 i; + u16 j; + + for (i = 0; i < pocket.capacity - 1; i++) + { + for (j = i + 1; j < pocket.capacity; j++) + { + if (pocket.itemSlots[i].quantity == 0) + SwapItemSlots(&pocket.itemSlots[i], &pocket.itemSlots[j]); + } + } +} + +static void SortItemSlots(struct BagPocket pocket) +{ + u16 i; + u16 j; + + for (i = 0; i < pocket.capacity; i++) + { + for (j = i + 1; j < pocket.capacity; j++) + { + if (pocket.itemSlots[i].quantity != 0 && pocket.itemSlots[j].quantity != 0 + && pocket.itemSlots[i].itemId > pocket.itemSlots[j].itemId) + SwapItemSlots(&pocket.itemSlots[i], &pocket.itemSlots[j]); + } + } +} + +static void UpdateBagPocket(u8 pocketNum) +{ + u16 i; + + gBagPocketScrollStates[pocketNum].numSlots = 0; + for (i = 0; i < gBagPockets[pocketNum].capacity; i++) + { + if (gBagPockets[pocketNum].itemSlots[i].quantity != 0) + gBagPocketScrollStates[pocketNum].numSlots++; + } + RemoveEmptyItemSlots(gBagPockets[pocketNum]); +} + +static void UpdateAllBagPockets(void) +{ + u8 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + UpdateBagPocket(i); +} + +static void sub_80A3D24(u8 pocketNum) +{ + if (gBagPocketScrollStates[pocketNum].numSlots >= 7) + gBagPocketScrollStates[pocketNum].cursorMax = 7; + else + gBagPocketScrollStates[pocketNum].cursorMax = gBagPocketScrollStates[pocketNum].numSlots; +} + +static void sub_80A3D40(void) +{ + u8 i; + + for (i = 0; i < NUM_BAG_POCKETS; i++) + sub_80A3D24(i); +} + +static void sub_80A3D5C(u8 taskId) +{ + u32 index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + + gCurrentBagPocketItemSlots[index].quantity -= gTasks[taskId].data[1]; + if (gCurrentBagPocketItemSlots[index].quantity == 0) // item slot will be removed if the quantity is zero + { + // Un-register the item if registered + if (gSaveBlock1.registeredItem == gCurrentBagPocketItemSlots[index].itemId) + { + RemoveSelectIconFromRegisteredItem(); + gSaveBlock1.registeredItem = ITEM_NONE; + } + + gCurrentBagPocketItemSlots[index].itemId = ITEM_NONE; + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + 7 == gBagPocketScrollStates[sCurrentBagPocket].numSlots + && gBagPocketScrollStates[sCurrentBagPocket].scrollTop != 0) + gBagPocketScrollStates[sCurrentBagPocket].scrollTop--; + UpdateBagPocket(sCurrentBagPocket); + } + sub_80A3D24(sCurrentBagPocket); +} + +void sub_80A3E0C(void) +{ + u32 index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + + if (gCurrentBagPocketItemSlots[index].quantity == 0) + { + gCurrentBagPocketItemSlots[index].itemId = 0; + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + 7 == gBagPocketScrollStates[sCurrentBagPocket].numSlots + && gBagPocketScrollStates[sCurrentBagPocket].scrollTop != 0) + gBagPocketScrollStates[sCurrentBagPocket].scrollTop--; + UpdateBagPocket(sCurrentBagPocket); + } + sub_80A3D24(sCurrentBagPocket); +} + +static void nullsub_16(void) +{ +} + +static void sub_80A3E70(u8 a, u8 b) +{ + struct ItemSlot temp = gCurrentBagPocketItemSlots[a]; + + gCurrentBagPocketItemSlots[a] = gCurrentBagPocketItemSlots[b]; + gCurrentBagPocketItemSlots[b] = temp; +} + +static void sub_80A3E90(u8 taskId) +{ + PlaySE(SE_SELECT); + nullsub_16(); + sub_80A3E70( + gTasks[taskId].data[10] - 1, + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + gBagPocketScrollStates[sCurrentBagPocket].scrollTop); + gTasks[taskId].data[10] = 0; + sub_80A763C(); + sub_80A7528(0); + ItemListMenu_InitMenu(); +} + +static void sub_80A3EF4(u8 taskId) +{ + u8 r2; + + PlaySE(SE_SELECT); + nullsub_16(); + r2 = gTasks[taskId].data[10] - gBagPocketScrollStates[sCurrentBagPocket].scrollTop - 1; + gTasks[taskId].data[10] = 0; + if (r2 < 8) + sub_80A48E8(taskId, r2, r2); + sub_80A7528(0); +} + +static void sub_80A3F50(u8 taskId) +{ + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A7528(1); +} + +void sub_80A3FA0(u16 *a, u8 b, u8 c, u8 d, u8 e, u16 f) +{ + s16 i; + s16 j; + + for (i = c; i < c + e; i++) + { + for (j = b; j < b + d; j++) + { + u32 index = j + i * 32; + + a[index] = f; + } + } +} + +static void sub_80A4008(u16 *a, u8 b, u8 c, u8 d, u8 e) +{ + sub_80A3FA0(a, b, c, d, e, 1); +} + +static void DrawSelectIcon(u32 itemPos) +{ + u16 *ptr1 = gBGTilemapBuffers[2] + 0x5A; + + ptr1 += itemPos * 64; + ptr1[0] = 0x5A; + ptr1[1] = 0x5B; + ptr1[2] = 0x5C; + ptr1[32] = 0x6A; + ptr1[33] = 0x6B; + ptr1[34] = 0x6C; +} + +static void MoveSelectIcon(u8 itemPos) +{ + u16 i; + u16 *ptr; + + ptr = gBGTilemapBuffers[2] + 0x5A; + for (i = 0; i < 16; i++) + { + ptr[0] = 0x4F; + ptr[1] = 0x4F; + ptr[2] = 0x4F; + ptr += 32; + } + + ptr = gBGTilemapBuffers[2] + 0x5A + itemPos * 64; + ptr[0] = 0x5A; + ptr[1] = 0x5B; + ptr[2] = 0x5C; + ptr[32] = 0x6A; + ptr[33] = 0x6B; + ptr[34] = 0x6C; +} + +static void EraseSelectIcon(u8 itemPos) +{ + u16 *ptr = gBGTilemapBuffers[2] + 0x5A; + + ptr += itemPos * 64; + ptr[0] = 0x4F; + ptr[1] = 0x4F; + ptr[2] = 0x4F; + ptr[32] = 0x4F; + ptr[33] = 0x4F; + ptr[34] = 0x4F; +} + +static void RemoveSelectIconFromRegisteredItem(void) +{ + u8 i; + + for (i = 0; i < 8; i++) + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + break; + if (gCurrentBagPocketItemSlots[gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i].itemId == gSaveBlock1.registeredItem) + { + EraseSelectIcon(i); + break; + } + } +} + +static void AddSelectIconToRegisteredItem(void) +{ + RemoveSelectIconFromRegisteredItem(); + MoveSelectIcon(gBagPocketScrollStates[sCurrentBagPocket].cursorPos); +} + +void sub_80A4164(u8 *dest, u16 value, enum StringConvertMode mode, u8 digits) +{ + *dest++ = CHAR_MULT_SIGN; + dest[0] = EXT_CTRL_CODE_BEGIN; + dest[1] = 0x14; + dest[2] = 6; + dest += 3; + ConvertIntToDecimalStringN(dest, value, mode, digits); +} + +void sub_80A418C(u16 value, enum StringConvertMode mode, u8 c, u8 d, u8 digits) +{ + sub_80A4164(gStringVar1, value, mode, digits); + MenuPrint(gStringVar1, c, d); +} + +static void sub_80A41D4(u8 taskId) +{ + sub_80A763C(); +} + +static void sub_80A41E0(u8 *a, u16 b, const u8 *c, u16 d, u8 e) +{ + a[0] = EXT_CTRL_CODE_BEGIN; + a[1] = 0x13; + a[2] = 8; + a += 3; + a = ConvertIntToDecimalStringN(a, b, STR_CONV_MODE_LEADING_ZEROS, 2); + a[0] = EXT_CTRL_CODE_BEGIN; + a[1] = 0x13; + a[2] = 0x18; + a += 3; + a = sub_8072C74(a, c, 0x78 - (e + 1) * 6, 0); + *a++ = CHAR_MULT_SIGN; + sub_8072C14(a, d, 0x78, 1); +} + +static u8 *sub_80A425C(u8 taskId, u8 *text, u8 c) +{ + if (gTasks[taskId].data[10] - gBagPocketScrollStates[sCurrentBagPocket].scrollTop - 1 == c) + { + text[0] = EXT_CTRL_CODE_BEGIN; + text[1] = 1; + text[2] = 2; + text += 3; + } + return text; +} + +static bool8 sub_80A42B0(u8 itemPos, int b) +{ + u8 r5; + u16 *ptr; + struct UnknownStruct3 *r8 = &gUnknown_02038540; + + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + itemPos > gBagPocketScrollStates[sCurrentBagPocket].numSlots) + return TRUE; + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + itemPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + if (sReturnLocation == RETURN_TO_FIELD_5) + return TRUE; + r5 = itemPos * 2 + 2; + sub_8072C74(gStringVar1, gOtherText_CloseBag, 0x78, 0); + MenuPrint(gStringVar1, 14, r5); + ptr = gBGTilemapBuffers[2] + 14 + r5 * 32; + ptr[0] = 0x4F; + ptr[1] = 0x4F; + ptr[32] = 0x4F; + ptr[33] = 0x4F; + if (itemPos == 7) + return TRUE; + if ((b == 1 && r8->unk2 != 0) || b == 2) + MenuFillWindowRectWithBlankTile(14, r5 + 2, 29, 13); + else + MenuFillWindowRectWithBlankTile(14, r5 + 2, 29, 17); + return TRUE; + } + return FALSE; +} + +static void sub_80A4380(u16 a, int b, int c, int d) +{ + u8 i; + + for (i = b; i <= c; i++) + { + u8 r4; + u8 r5; + u8 *text; + + if (sub_80A42B0(i, d) == TRUE) + break; + r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + r5 = i * 2 + 2; + text = gStringVar1; + text = sub_80A425C(a, text, i); + text = sub_8072C74(text, ItemId_GetItem(gCurrentBagPocketItemSlots[r4].itemId)->name, 0x66, 0); + *text++ = CHAR_MULT_SIGN; + sub_8072C14(text, gCurrentBagPocketItemSlots[r4].quantity, 0x78, 1); + MenuPrint(gStringVar1, 14, r5); + } +} + +static void sub_80A444C(u16 a, int b, int c, int d) +{ + u8 i; + + for (i = b; i <= c; i++) + { + u8 r4; + u8 r5; + u8 *text; + + if (sub_80A42B0(i, d) == TRUE) + break; + r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + r5 = i * 2 + 2; + text = gStringVar1; + text = sub_80A425C(a, text, i); +#if ENGLISH + sub_8072C74(text, ItemId_GetItem(gCurrentBagPocketItemSlots[r4].itemId)->name, 0x60, 0); +#else + sub_8072C74(text, ItemId_GetItem(gCurrentBagPocketItemSlots[r4].itemId)->name, 0x63, 0); +#endif + MenuPrint(gStringVar1, 14, r5); + if (gUnknown_02038558 != 0) + { + if (gCurrentBagPocketItemSlots[r4].itemId == gSaveBlock1.registeredItem) + DrawSelectIcon(i); + } + else + { + if (gCurrentBagPocketItemSlots[r4].itemId == gSaveBlock1.registeredItem) + MoveSelectIcon(i); + else + EraseSelectIcon(i); + } + } +} + +// more gBGTilemapBuffers shenanigans +#ifdef NONMATCHING +static void sub_80A4548(u16 a, int b, int c, int d) +{ + u8 i; + + for (i = b; i <= c; i++) + { + u8 r4; + u8 sp10; + u32 r5; + u8 *text; + + if (sub_80A42B0(i, d) == TRUE) + break; + r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + sp10 = i * 2 + 2; + r5 = sp10 * 32 + 14; + text = gStringVar1; + text = sub_80A425C(a, text, i); + if (gCurrentBagPocketItemSlots[r4].itemId < 0x153) + { + const u8 *r2; + + gBGTilemapBuffers[2][r5 + 0] = 0x59; + gBGTilemapBuffers[2][r5 + 1] = 0x4F; + gBGTilemapBuffers[2][r5 + 32] = 0x69; + gBGTilemapBuffers[2][r5 + 33] = 0x4F; + r2 = gMoveNames[ItemIdToBattleMoveId(gCurrentBagPocketItemSlots[r4].itemId)]; + sub_80A41E0(text, gCurrentBagPocketItemSlots[r4].itemId - 288, r2, gCurrentBagPocketItemSlots[r4].quantity, 2); + } + else + { + const u8 *moveName; + + gBGTilemapBuffers[2][r5 + 0] = 0x105D; + gBGTilemapBuffers[2][r5 + 1] = 0x105E; + gBGTilemapBuffers[2][r5 + 32] = 0x106D; + gBGTilemapBuffers[2][r5 + 33] = 0x106E; + text[0] = EXT_CTRL_CODE_BEGIN; + text[1] = 0x13; + text[2] = 0x11; + text += 3; + text = ConvertIntToDecimalString(text, gCurrentBagPocketItemSlots[r4].itemId); + text[0] = EXT_CTRL_CODE_BEGIN; + text[1] = 0x13; + text[2] = 0x18; + text += 3; + moveName = gMoveNames[ItemIdToBattleMoveId(gCurrentBagPocketItemSlots[r4].itemId)]; + sub_8072C74(text, moveName, 0x78, 0); + } + MenuPrint(gStringVar1, 14, sp10); + } +} +#else +__attribute__((naked)) +static void sub_80A4548(u16 a, int b, int c, int d) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x14\n\ + str r2, [sp, 0x8]\n\ + str r3, [sp, 0xC]\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x4]\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + mov r8, r1\n\ + ldr r0, _080A456C @ =gBGTilemapBuffers + 0x1000\n\ + mov r9, r0\n\ + b _080A46C2\n\ + .align 2, 0\n\ +_080A456C: .4byte gBGTilemapBuffers + 0x1000\n\ +_080A4570:\n\ + ldr r1, _080A461C @ =gBagPocketScrollStates\n\ + ldr r0, _080A4620 @ =sCurrentBagPocket\n\ + ldrb r0, [r0]\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r4, [r0, 0x1]\n\ + add r4, r8\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + mov r1, r8\n\ + lsls r0, r1, 25\n\ + movs r3, 0x80\n\ + lsls r3, 18\n\ + adds r0, r3\n\ + lsrs r0, 24\n\ + str r0, [sp, 0x10]\n\ + lsls r0, 5\n\ + adds r0, 0xE\n\ + adds r5, r0, 0\n\ + ldr r6, _080A4624 @ =gStringVar1\n\ + ldr r1, [sp, 0x4]\n\ + lsls r0, r1, 24\n\ + lsrs r0, 24\n\ + adds r1, r6, 0\n\ + mov r2, r8\n\ + bl sub_80A425C\n\ + adds r6, r0, 0\n\ + ldr r3, _080A4628 @ =gCurrentBagPocketItemSlots\n\ + mov r10, r3\n\ + ldr r0, [r3]\n\ + lsls r7, r4, 2\n\ + adds r3, r7, r0\n\ + ldrh r1, [r3]\n\ + movs r0, 0xA9\n\ + lsls r0, 1\n\ + cmp r1, r0\n\ + bhi _080A4634\n\ + lsls r0, r5, 1\n\ + add r0, r9\n\ + movs r1, 0x59\n\ + strh r1, [r0]\n\ + adds r0, r5, 0x1\n\ + lsls r0, 1\n\ + add r0, r9\n\ + movs r2, 0x4F\n\ + strh r2, [r0]\n\ + adds r0, r5, 0\n\ + adds r0, 0x20\n\ + lsls r0, 1\n\ + add r0, r9\n\ + movs r1, 0x69\n\ + strh r1, [r0]\n\ + adds r0, r5, 0\n\ + adds r0, 0x21\n\ + lsls r0, 1\n\ + add r0, r9\n\ + strh r2, [r0]\n\ + ldrh r0, [r3]\n\ + bl ItemIdToBattleMoveId\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xD\n\ + adds r2, r0, 0\n\ + muls r2, r1\n\ + ldr r0, _080A462C @ =gMoveNames\n\ + adds r2, r0\n\ + mov r1, r10\n\ + ldr r0, [r1]\n\ + adds r0, r7, r0\n\ + ldr r3, _080A4630 @ =0xfffffee0\n\ + adds r1, r3, 0\n\ + ldrh r3, [r0]\n\ + adds r1, r3\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + ldrh r3, [r0, 0x2]\n\ + movs r0, 0x2\n\ + str r0, [sp]\n\ + adds r0, r6, 0\n\ + bl sub_80A41E0\n\ + b _080A46AE\n\ + .align 2, 0\n\ +_080A461C: .4byte gBagPocketScrollStates\n\ +_080A4620: .4byte sCurrentBagPocket\n\ +_080A4624: .4byte gStringVar1\n\ +_080A4628: .4byte gCurrentBagPocketItemSlots\n\ +_080A462C: .4byte gMoveNames\n\ +_080A4630: .4byte 0xfffffee0\n\ +_080A4634:\n\ + lsls r0, r5, 1\n\ + add r0, r9\n\ + ldr r1, _080A46EC @ =0x0000105d\n\ + strh r1, [r0]\n\ + adds r0, r5, 0x1\n\ + lsls r0, 1\n\ + add r0, r9\n\ + adds r1, 0x1\n\ + strh r1, [r0]\n\ + adds r0, r5, 0\n\ + adds r0, 0x20\n\ + lsls r0, 1\n\ + add r0, r9\n\ + adds r1, 0xF\n\ + strh r1, [r0]\n\ + adds r0, r5, 0\n\ + adds r0, 0x21\n\ + lsls r0, 1\n\ + add r0, r9\n\ + adds r1, 0x1\n\ + strh r1, [r0]\n\ + movs r0, 0xFC\n\ + strb r0, [r6]\n\ + movs r4, 0x13\n\ + strb r4, [r6, 0x1]\n\ + movs r0, 0x11\n\ + strb r0, [r6, 0x2]\n\ + adds r6, 0x3\n\ + mov r1, r10\n\ + ldr r0, [r1]\n\ + adds r0, r7, r0\n\ + ldrh r1, [r0]\n\ + ldr r3, _080A46F0 @ =0xfffffeae\n\ + adds r1, r3\n\ + adds r0, r6, 0\n\ + bl ConvertIntToDecimalString\n\ + adds r6, r0, 0\n\ + movs r0, 0xFC\n\ + strb r0, [r6]\n\ + strb r4, [r6, 0x1]\n\ + movs r0, 0x18\n\ + strb r0, [r6, 0x2]\n\ + adds r6, 0x3\n\ + mov r1, r10\n\ + ldr r0, [r1]\n\ + adds r0, r7, r0\n\ + ldrh r0, [r0]\n\ + bl ItemIdToBattleMoveId\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0xD\n\ + muls r1, r0\n\ + ldr r0, _080A46F4 @ =gMoveNames\n\ + adds r1, r0\n\ + adds r0, r6, 0\n\ + movs r2, 0x78\n\ + movs r3, 0\n\ + bl sub_8072C74\n\ +_080A46AE:\n\ + ldr r0, _080A46F8 @ =gStringVar1\n\ + movs r1, 0xE\n\ + ldr r2, [sp, 0x10]\n\ + bl MenuPrint\n\ + mov r0, r8\n\ + adds r0, 0x1\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ +_080A46C2:\n\ + ldr r3, [sp, 0x8]\n\ + cmp r8, r3\n\ + bgt _080A46DA\n\ + mov r0, r8\n\ + ldr r1, [sp, 0xC]\n\ + bl sub_80A42B0\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x1\n\ + beq _080A46DA\n\ + b _080A4570\n\ +_080A46DA:\n\ + add sp, 0x14\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080A46EC: .4byte 0x0000105d\n\ +_080A46F0: .4byte 0xfffffeae\n\ +_080A46F4: .4byte gMoveNames\n\ +_080A46F8: .4byte gStringVar1\n\ + .syntax divided\n"); +} +#endif + +static void sub_80A46FC(u16 a, int b, int c, int d) +{ + u8 i; + + for (i = b; i <= c; i++) + { + u8 r4; + u8 r5; + u8 *text; + register int var asm("r0"); + + if (sub_80A42B0(i, d) == TRUE) + break; + r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + r5 = i * 2 + 2; + + var = 14 + r5 * 32; + gBGTilemapBuffers[2][var] = 0x59; + var += 32; + gBGTilemapBuffers[2][var] = 0x69; + + text = gStringVar1; + text = sub_80A425C(a, text, i); + CopyItemName(gCurrentBagPocketItemSlots[r4].itemId, gStringVar2); + sub_80A41E0(text, gCurrentBagPocketItemSlots[r4].itemId - 0x84, gStringVar2, gCurrentBagPocketItemSlots[r4].quantity, 3); + MenuPrint(gStringVar1, 14, r5); + } +} + +static void sub_80A47E8(u16 a, int b, int c, int d) +{ + switch (sCurrentBagPocket) + { + case BAG_POCKET_ITEMS: + case BAG_POCKET_POKE_BALLS: + sub_80A4380(a, b, c, d); + break; + case BAG_POCKET_KEY_ITEMS: + sub_80A444C(a, b, c, d); + break; + case BAG_POCKET_TMs_HMs: + sub_80A4548(a, b, c, d); + break; + case BAG_POCKET_BERRIES: + sub_80A46FC(a, b, c, d); + break; + } + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop != 0) + sub_80F979C(0, 0); + else + sub_80F979C(0, 1); + if ((sReturnLocation != RETURN_TO_FIELD_5 && gBagPocketScrollStates[sCurrentBagPocket].scrollTop + 8 < gBagPocketScrollStates[sCurrentBagPocket].numSlots + 1) + || (sReturnLocation == RETURN_TO_FIELD_5 && gBagPocketScrollStates[sCurrentBagPocket].scrollTop + 8 < gBagPocketScrollStates[sCurrentBagPocket].numSlots)) + sub_80F979C(1, 0); + else + sub_80F979C(1, 1); +} + +static void sub_80A48E8(u16 taskId, int b, int c) +{ + sub_80A47E8(taskId, b, c, 0); +} + +static void sub_80A48F8(u16 taskId) +{ + sub_80A47E8(taskId, 0, 5, 2); +} + +static void ItemListMenu_InitDescription(s16 itemId) +{ + u8 r5; + + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + r5 = sub_8072A18(gOtherText_ReturnTo, 4, 0x68, 0x68, 1); + r5 += sub_8072A18(gUnknown_0840E740[sReturnLocation], 4, 0x78, 0x68, 1); + } + else + { + r5 = sub_8072A18(ItemId_GetDescription(itemId), 4, 0x68, 0x68, 1); + } + + if (r5 < 3) + MenuZeroFillWindowRect(0, 13 + r5 * 2, 13, 20); +} + +static void ItemListMenu_ChangeDescription(s16 itemId, int b) +{ + u8 description[100]; + + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + if (b == 0) + { + MenuZeroFillWindowRect(0, 13, 13, 20); + MenuPrint_PixelCoords(gOtherText_ReturnTo, 4, 0x68, 0); + } + else if (b == 1) + { + MenuPrint_PixelCoords(gUnknown_0840E740[sReturnLocation], 4, 0x78, 0); + } + } + else + { + if (b == 0) + MenuZeroFillWindowRect(0, 13, 13, 20); + if (ItemId_CopyDescription(description, itemId, b)) + MenuPrint_PixelCoords(description, 4, 104 + b * 16, 0); + } +} + +static bool32 CopyTextLine(u8 *destination, const u8 *source, u32 c) +{ + u32 r4 = c + 1; + const u8 *src = source; + u8 *dst = destination; + + while (1) + { + if (*src == CHAR_NEWLINE || *src == EOS) + { + r4--; + if (r4 == 0) + { + *dst = EOS; + return TRUE; + } + if (*src == EOS) + return FALSE; + // got a new line - reset dst pointer + dst = destination; + src++; + } + else + { + *dst++ = *src++; + } + } +} + +static void sub_80A4A98(const u8 *text, u32 line) +{ + u8 buffer[100]; + + if (line == 0) + MenuZeroFillWindowRect(0, 13, 13, 20); + if (CopyTextLine(buffer, text, line)) + MenuPrint_PixelCoords(buffer, 4, 104 + line * 16, 0); +} + +static void sub_80A4ADC(u8 taskId) +{ + if (gTasks[taskId].data[10] == 0) + sub_80A7528(0); + PlaySE(SE_SELECT); + gUnknown_0203855C = 1; +} + +static void sub_80A4B14(s8 a, u8 b) +{ + gBagPocketScrollStates[sCurrentBagPocket].scrollTop += a; + MoveMenuCursor(0); + sub_80A73C0(); + sub_80A763C(); + sub_80A4ADC(b); +} + +static void sub_80A4B58(s8 delta, u8 b) +{ + gBagPocketScrollStates[sCurrentBagPocket].cursorPos = MoveMenuCursor(delta); + sub_80A73C0(); + sub_80A4ADC(b); +} + +static const u8 *sub_80A4B90(u16 itemId) +{ + if (TestPlayerAvatarFlags(6)) + { + if (itemId == ITEM_MACH_BIKE || itemId == ITEM_ACRO_BIKE) + return gOtherText_Walk; + } + if (ItemIsMail(itemId) == TRUE) + return gOtherText_Check; + return sItemPopupMenuActions[sPopupMenuActionList[0]].text; +} + +static void sub_80A4BF0(u16 *a) +{ + u8 i; + + if (gUnknown_02038564 == 4) + { + MenuDrawTextWindow(0, 7, 13, 12); + sub_80A4008(a, 1, 8, 12, 4); + if (sub_80F9344() == TRUE && sReturnLocation == RETURN_TO_FIELD_5) + { + sub_80A7834(1, 0); + } + else + { + for (i = 0; i < gUnknown_02038564; i++) + { + const u8 *text; + + if (i == 0) + text = sub_80A4B90(gScriptItemId); + else + text = sItemPopupMenuActions[sPopupMenuActionList[i]].text; + MenuPrint(text, 1 + (i / 2) * 6, 8 + (i % 2) * 2); + } + } + if (sReturnLocation == RETURN_TO_FIELD_5) + InitMenu(0, 1, 8, gUnknown_02038564, sPopupMenuSelection, 1); + else + InitMenu(0, 1, 8, gUnknown_02038564, 0, 1); + sub_8072DCC(0x2F); + } + else + { + MenuDrawTextWindow(0, 5, 13, 12); + sub_80A4008(a, 1, 6, 12, 6); + for (i = 0; i < gUnknown_02038564; i++) + MenuPrint(sItemPopupMenuActions[sPopupMenuActionList[i]].text, 1 + (i / 3) * 6, 6 + (i % 3) * 2); + InitMenu(0, 1, 6, gUnknown_02038564, 0, 1); + sub_8072DCC(0x2F); + } + sub_80A7528(2); +} + +static void sub_80A4DA4(u16 *a) +{ + sub_80A73FC(); + sub_80A36B8(a, 0, 6, 13, 6); + MenuZeroFillWindowRect(0, 5, 13, 12); + sub_80A7590(); +} + +static void sub_80A4DD8(u8 taskId, u8 b, u8 c, u8 d, u8 e, u8 digits) +{ + gTasks[taskId].data[1] = 1; + gTasks[taskId].data[2] = b + 2; + gTasks[taskId].data[3] = c + 1; + MenuDrawTextWindow(b, c, b + d, c + e); + sub_80A4008(gBGTilemapBuffers[1], b + 1, c + 1, d - 1, e - 1); + sub_80A418C(1, 1, b + 2, c + 1, digits); +} + +static void sub_80A4E8C(s8 delta, u8 b) +{ + PlaySE(SE_SELECT); + sub_80F979C(0, 1); + sub_80F979C(1, 1); + sub_80F979C(2, 1); + sub_80F979C(3, 1); + PauseVerticalScrollIndicator(0); + PauseVerticalScrollIndicator(1); + PauseVerticalScrollIndicator(2); + PauseVerticalScrollIndicator(3); + ChangePocket(gBGTilemapBuffers[2], delta); + DrawPocketIndicatorDots(gBGTilemapBuffers[2], sCurrentBagPocket); + sub_80A3770(); + sub_80A7C64(); + CreateBagPokeballSprite(b); +} + +static bool8 sub_80A4F0C(void) +{ + if (sReturnLocation == RETURN_TO_FIELD_5 || sReturnLocation == RETURN_TO_FIELD_4) + return FALSE; + if (gMain.newKeys == DPAD_RIGHT || sub_80F9284() == 2) + { + sub_80A4E8C(1, 2); + return TRUE; + } + if (gMain.newKeys == DPAD_LEFT || sub_80F9284() == 1) + { + sub_80A4E8C(-1, 1); + return TRUE; + } + return FALSE; +} + +static void sub_80A4F68(u8 taskId) +{ + sub_80A4F0C(); +} + +static bool8 sub_80A4F74(u8 a) +{ + bool8 retVal = FALSE; + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if (gBagPocketScrollStates[sCurrentBagPocket].cursorPos != 0) + sub_80A4B58(-1, a); + else if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop != 0) + sub_80A4B14(-1, a); + if (gLinkOpen == TRUE && gMain.keyRepeatCounter == 5) + gMain.keyRepeatCounter = 11; + retVal = TRUE; + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if (sReturnLocation != RETURN_TO_FIELD_5) + { + if (gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].cursorMax) + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots) + sub_80A4B14(1, a); + } + else + { + sub_80A4B58(1, a); + } + } + else + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots - 1) + { + if (gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].cursorMax) + sub_80A4B58(1, a); + else + sub_80A4B14(1, a); + } + } + retVal = TRUE; + if (gLinkOpen == TRUE && gMain.keyRepeatCounter == 5) + gMain.keyRepeatCounter = 11; + } + else + { + if (gTasks[a].data[10] == 0 && sub_80A4F0C() == TRUE) + { + sub_80A73F0(); + gTasks[a].func = sub_80A4F68; + retVal = TRUE; + } + else + { + sub_80A73C0(); + } + } + return retVal; +} + +static void sub_80A50C8(u8 taskId) +{ + s16 *r5 = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + if (sub_80A4F74(taskId) == TRUE) + { + sub_808B5B4(taskId); + return; + } + + if ((gMain.newKeys & SELECT_BUTTON) + && !(sCurrentBagPocket == BAG_POCKET_BERRIES || sCurrentBagPocket == BAG_POCKET_TMs_HMs) + && (sReturnLocation == RETURN_TO_FIELD_0 || sReturnLocation == RETURN_TO_BATTLE)) + { + if (r5[10] == 0) + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + PlaySE(SE_SELECT); + sub_80A3F50(taskId); + } + sub_808B5B4(taskId); + } + else + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + PlaySE(SE_SELECT); + sub_80A3E90(taskId); + } + else + { + sub_80A3EF4(taskId); + } + sub_808B5B4(taskId); + } + return; + } + + if (gMain.newKeys & A_BUTTON) + { + if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) + { + if (r5[10] == 0) + { + gScriptItemId = 0; + gUnknown_083C16BC[sReturnLocation].onBagClose(taskId); + } + else + { + sub_80A3EF4(taskId); + } + sub_808B5B4(taskId); + } + else + { + if (r5[10] == 0) + { + PlaySE(SE_SELECT); + gUnknown_02038560 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + gScriptItemId = gCurrentBagPocketItemSlots[gUnknown_02038560].itemId; + gUnknown_083C16BC[sReturnLocation].onItemSelect(taskId); + sub_80F98A4(0); + sub_80F98A4(1); + sub_80F98A4(2); + sub_80F98A4(3); + sub_80A797C(); + } + else + { + sub_80A3E90(taskId); + } + sub_808B5B4(taskId); + } + return; + } + + if (gMain.newKeys & B_BUTTON) + { + if (r5[10] == 0) + { + if (sReturnLocation != RETURN_TO_FIELD_5) + { + gScriptItemId = 0; + gUnknown_083C16BC[sReturnLocation].onBagClose(taskId); + } + } + else + { + sub_80A3EF4(taskId); + } + sub_808B5B4(taskId); + return; + } + } +} + +bool8 sub_80A52C4(u8 taskId, u16 b) +{ + s16 *taskData = gTasks[taskId].data; + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if (taskData[1] != b) + taskData[1]++; + else + taskData[1] = 1; + return TRUE; + } + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if (taskData[1] != 1) + taskData[1]--; + else + taskData[1] = b; + return TRUE; + } + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT) + { + if (taskData[1] + 10 < b) + taskData[1] += 10; + else + taskData[1] = b; + return TRUE; + } + + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT) + { + if (taskData[1] > 10) + taskData[1] -= 10; + else + taskData[1] = 1; + return TRUE; + } + + return FALSE; +} + +static bool8 sub_80A5350(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + if (sub_80A52C4(taskId, gCurrentBagPocketItemSlots[gUnknown_02038560].quantity) == TRUE) + { + // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way + if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) + sub_80A418C(taskData[1], 1, taskData[2], taskData[3], 3); + else + sub_80A418C(taskData[1], 1, taskData[2], taskData[3], 2); + return TRUE; + } + return FALSE; +} + +static void sub_80A53CC(void) +{ + if (sub_80A34B4() == TRUE) + { + sub_80A3770(); + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + } +} + +void sub_80A53F8(void) +{ + sReturnLocation = RETURN_TO_FIELD_0; + SetMainCallback2(sub_80A53CC); +} + +#ifdef NONMATCHING +static void sub_80A5414(u8 taskId) +{ + TaskFunc r5 = NULL; + + if (sub_80A78A0() != 0) + { + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x40) + { + if ((sPopupMenuSelection & 1) && sPopupMenuActionList[sPopupMenuSelection - 1] == 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(-1); + } + } + //_080A546C + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x80) + { + if (!(sPopupMenuSelection & 1) && sPopupMenuActionList[sPopupMenuSelection + 1] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(1); + } + } + //_080A549C + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x20) + { + if (sPopupMenuSelection > 1 && sPopupMenuActionList[sPopupMenuSelection - 2] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(-2); + } + } + //_080A54CC + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x10) + { + if (sPopupMenuSelection <= 1 && sPopupMenuActionList[sPopupMenuSelection + 2] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(2); + } + } + //_080A5500 + else if (!(gMain.newKeys & A_BUTTON)) + { + if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + r5 = sItemPopupMenuActions[sPopupMenuActionList[3]].func; + r5(taskId); + } + } + else + { + //_080A5590 + gTasks[taskId].data[10] = 0; + sub_80A4DA4(gBGTilemapBuffers[1]); + r5 = sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func; + r5(taskId); + } + } + //_080A5552 + if (r5 == NULL) + { + if (sReturnLocation == RETURN_TO_FIELD_5) + { + if (sPopupMenuSelection == 0) + { + sub_8072DDC(12); + return; + } + //_080A55D4 + //else + //{ + if (sPopupMenuSelection == 0 || sPopupMenuSelection == 1) + sub_8072DCC(0x2F); + else + sub_8072DCC(0x30); + //} + } + //_080A55E0 + else + { + if (sPopupMenuSelection == 0 || sPopupMenuSelection == 1) + sub_8072DCC(0x2F); + else + sub_8072DCC(0x30); + } + } +} +#else +__attribute__((naked)) +static void sub_80A5414(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + movs r5, 0\n\ + bl sub_80A78A0\n\ + cmp r0, 0\n\ + bne _080A5426\n\ + b _080A5552\n\ +_080A5426:\n\ + ldr r2, _080A5460 @ =gMain\n\ + ldrh r0, [r2, 0x30]\n\ + movs r1, 0xF0\n\ + ands r1, r0\n\ + cmp r1, 0x40\n\ + bne _080A546C\n\ + ldr r4, _080A5464 @ =sPopupMenuSelection\n\ + ldrb r1, [r4]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080A5440\n\ + b _080A5552\n\ +_080A5440:\n\ + ldrb r1, [r4]\n\ + ldr r0, _080A5468 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + subs r1, 0x1\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x8\n\ + bne _080A5452\n\ + b _080A5552\n\ +_080A5452:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + b _080A54EE\n\ + .align 2, 0\n\ +_080A5460: .4byte gMain\n\ +_080A5464: .4byte sPopupMenuSelection\n\ +_080A5468: .4byte sPopupMenuActionList\n\ +_080A546C:\n\ + cmp r1, 0x80\n\ + bne _080A549C\n\ + ldr r4, _080A5494 @ =sPopupMenuSelection\n\ + ldrb r1, [r4]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080A5552\n\ + ldrb r1, [r4]\n\ + ldr r0, _080A5498 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + ldrb r0, [r1, 0x1]\n\ + cmp r0, 0x8\n\ + beq _080A5552\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + b _080A54EE\n\ + .align 2, 0\n\ +_080A5494: .4byte sPopupMenuSelection\n\ +_080A5498: .4byte sPopupMenuActionList\n\ +_080A549C:\n\ + cmp r1, 0x20\n\ + bne _080A54CC\n\ + ldr r4, _080A54C4 @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x1\n\ + bls _080A5552\n\ + adds r1, r0, 0\n\ + ldr r0, _080A54C8 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + subs r1, 0x2\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x8\n\ + beq _080A5552\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + b _080A54EE\n\ + .align 2, 0\n\ +_080A54C4: .4byte sPopupMenuSelection\n\ +_080A54C8: .4byte sPopupMenuActionList\n\ +_080A54CC:\n\ + cmp r1, 0x10\n\ + bne _080A5500\n\ + ldr r4, _080A54F8 @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x1\n\ + bhi _080A5552\n\ + adds r1, r0, 0\n\ + ldr r0, _080A54FC @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + ldrb r0, [r1, 0x2]\n\ + cmp r0, 0x8\n\ + beq _080A5552\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x2\n\ +_080A54EE:\n\ + bl MoveMenuCursor3\n\ + strb r0, [r4]\n\ + b _080A5552\n\ + .align 2, 0\n\ +_080A54F8: .4byte sPopupMenuSelection\n\ +_080A54FC: .4byte sPopupMenuActionList\n\ +_080A5500:\n\ + ldrh r1, [r2, 0x2E]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080A5590\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080A5552\n\ + ldr r1, _080A5570 @ =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r5, [r0, 0x1C]\n\ + ldr r1, _080A5574 @ =gBagPocketScrollStates\n\ + ldr r0, _080A5578 @ =sCurrentBagPocket\n\ + ldrb r0, [r0]\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r2, [r0]\n\ + adds r0, r4, 0\n\ + adds r1, r2, 0\n\ + bl sub_80A48E8\n\ + ldr r0, _080A557C @ =gBGTilemapBuffers + 0x800\n\ + bl sub_80A4DA4\n\ + ldr r1, _080A5580 @ =sItemPopupMenuActions\n\ + ldr r0, _080A5584 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + ldrb r0, [r0, 0x3]\n\ + lsls r0, 3\n\ + adds r1, 0x4\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + adds r0, r4, 0\n\ + bl _call_via_r5\n\ +_080A5552:\n\ + cmp r5, 0\n\ + bne _080A55FA\n\ + ldr r0, _080A5588 @ =sReturnLocation\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x5\n\ + bne _080A55E0\n\ + ldr r0, _080A558C @ =sPopupMenuSelection\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080A55D4\n\ + movs r0, 0xC\n\ + bl sub_8072DDC\n\ + b _080A55FA\n\ + .align 2, 0\n\ +_080A5570: .4byte gTasks\n\ +_080A5574: .4byte gBagPocketScrollStates\n\ +_080A5578: .4byte sCurrentBagPocket\n\ +_080A557C: .4byte gBGTilemapBuffers + 0x800\n\ +_080A5580: .4byte sItemPopupMenuActions\n\ +_080A5584: .4byte sPopupMenuActionList\n\ +_080A5588: .4byte sReturnLocation\n\ +_080A558C: .4byte sPopupMenuSelection\n\ +_080A5590:\n\ + ldr r1, _080A55C0 @ =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r5, [r0, 0x1C]\n\ + ldr r0, _080A55C4 @ =gBGTilemapBuffers + 0x800\n\ + bl sub_80A4DA4\n\ + ldr r1, _080A55C8 @ =sItemPopupMenuActions\n\ + ldr r0, _080A55CC @ =sPopupMenuSelection\n\ + ldrb r2, [r0]\n\ + ldr r0, _080A55D0 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r0, r2\n\ + ldrb r0, [r0]\n\ + lsls r0, 3\n\ + adds r1, 0x4\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + adds r0, r4, 0\n\ + bl _call_via_r5\n\ + b _080A5552\n\ + .align 2, 0\n\ +_080A55C0: .4byte gTasks\n\ +_080A55C4: .4byte gBGTilemapBuffers + 0x800\n\ +_080A55C8: .4byte sItemPopupMenuActions\n\ +_080A55CC: .4byte sPopupMenuSelection\n\ +_080A55D0: .4byte sPopupMenuActionList\n\ +_080A55D4:\n\ + cmp r0, 0x1\n\ + bls _080A55E8\n\ + movs r0, 0x30\n\ + bl sub_8072DCC\n\ + b _080A55FA\n\ +_080A55E0:\n\ + ldr r0, _080A55F0 @ =sPopupMenuSelection\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x1\n\ + bhi _080A55F4\n\ +_080A55E8:\n\ + movs r0, 0x2F\n\ + bl sub_8072DCC\n\ + b _080A55FA\n\ + .align 2, 0\n\ +_080A55F0: .4byte sPopupMenuSelection\n\ +_080A55F4:\n\ + movs r0, 0x30\n\ + bl sub_8072DCC\n\ +_080A55FA:\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided\n"); +} +#endif + +__attribute__((naked)) +static void sub_80A5600(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + movs r5, 0\n\ + ldr r2, _080A563C @ =gMain\n\ + ldrh r0, [r2, 0x30]\n\ + movs r1, 0xF0\n\ + ands r1, r0\n\ + cmp r1, 0x40\n\ + bne _080A5648\n\ + ldr r4, _080A5640 @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0\n\ + bne _080A561E\n\ + b _080A5736\n\ +_080A561E:\n\ + adds r1, r0, 0\n\ + ldr r0, _080A5644 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + subs r1, 0x1\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x8\n\ + bne _080A5630\n\ + b _080A5736\n\ +_080A5630:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + b _080A56D2\n\ + .align 2, 0\n\ +_080A563C: .4byte gMain\n\ +_080A5640: .4byte sPopupMenuSelection\n\ +_080A5644: .4byte sPopupMenuActionList\n\ +_080A5648:\n\ + cmp r1, 0x80\n\ + bne _080A5680\n\ + ldr r4, _080A5674 @ =sPopupMenuSelection\n\ + ldrb r1, [r4]\n\ + ldr r0, _080A5678 @ =gUnknown_02038564\n\ + ldrb r0, [r0]\n\ + subs r0, 0x1\n\ + cmp r1, r0\n\ + beq _080A5736\n\ + cmp r1, 0x2\n\ + beq _080A5736\n\ + ldr r0, _080A567C @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r0, r1, r0\n\ + ldrb r0, [r0, 0x1]\n\ + cmp r0, 0x8\n\ + beq _080A5736\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + b _080A56D2\n\ + .align 2, 0\n\ +_080A5674: .4byte sPopupMenuSelection\n\ +_080A5678: .4byte gUnknown_02038564\n\ +_080A567C: .4byte sPopupMenuActionList\n\ +_080A5680:\n\ + cmp r1, 0x20\n\ + bne _080A56B0\n\ + ldr r4, _080A56A8 @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x2\n\ + bls _080A5736\n\ + adds r1, r0, 0\n\ + ldr r0, _080A56AC @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + subs r1, 0x3\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x8\n\ + beq _080A5736\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x3\n\ + negs r0, r0\n\ + b _080A56D2\n\ + .align 2, 0\n\ +_080A56A8: .4byte sPopupMenuSelection\n\ +_080A56AC: .4byte sPopupMenuActionList\n\ +_080A56B0:\n\ + cmp r1, 0x10\n\ + bne _080A56E4\n\ + ldr r4, _080A56DC @ =sPopupMenuSelection\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x2\n\ + bhi _080A5736\n\ + adds r1, r0, 0\n\ + ldr r0, _080A56E0 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r1, r0\n\ + ldrb r0, [r1, 0x3]\n\ + cmp r0, 0x8\n\ + beq _080A5736\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x3\n\ +_080A56D2:\n\ + bl MoveMenuCursor3\n\ + strb r0, [r4]\n\ + b _080A5736\n\ + .align 2, 0\n\ +_080A56DC: .4byte sPopupMenuSelection\n\ +_080A56E0: .4byte sPopupMenuActionList\n\ +_080A56E4:\n\ + ldrh r1, [r2, 0x2E]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080A5768\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080A5736\n\ + ldr r1, _080A574C @ =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r5, [r0, 0x1C]\n\ + ldr r1, _080A5750 @ =gBagPocketScrollStates\n\ + ldr r0, _080A5754 @ =sCurrentBagPocket\n\ + ldrb r0, [r0]\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r2, [r0]\n\ + adds r0, r4, 0\n\ + adds r1, r2, 0\n\ + bl sub_80A48E8\n\ + ldr r0, _080A5758 @ =gBGTilemapBuffers + 0x800\n\ + bl sub_80A4DA4\n\ + ldr r1, _080A575C @ =sItemPopupMenuActions\n\ + ldr r0, _080A5760 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + ldrb r0, [r0, 0x5]\n\ + lsls r0, 3\n\ + adds r1, 0x4\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + adds r0, r4, 0\n\ + bl _call_via_r5\n\ +_080A5736:\n\ + cmp r5, 0\n\ + bne _080A57BE\n\ + ldr r0, _080A5764 @ =sPopupMenuSelection\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080A57AC\n\ + movs r0, 0xC\n\ + bl sub_8072DDC\n\ + b _080A57BE\n\ + .align 2, 0\n\ +_080A574C: .4byte gTasks\n\ +_080A5750: .4byte gBagPocketScrollStates\n\ +_080A5754: .4byte sCurrentBagPocket\n\ +_080A5758: .4byte gBGTilemapBuffers + 0x800\n\ +_080A575C: .4byte sItemPopupMenuActions\n\ +_080A5760: .4byte sPopupMenuActionList\n\ +_080A5764: .4byte sPopupMenuSelection\n\ +_080A5768:\n\ + ldr r1, _080A5798 @ =gTasks\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + strh r5, [r0, 0x1C]\n\ + ldr r0, _080A579C @ =gBGTilemapBuffers + 0x800\n\ + bl sub_80A4DA4\n\ + ldr r1, _080A57A0 @ =sItemPopupMenuActions\n\ + ldr r0, _080A57A4 @ =sPopupMenuSelection\n\ + ldrb r2, [r0]\n\ + ldr r0, _080A57A8 @ =sPopupMenuActionList\n\ + ldr r0, [r0]\n\ + adds r0, r2\n\ + ldrb r0, [r0]\n\ + lsls r0, 3\n\ + adds r1, 0x4\n\ + adds r0, r1\n\ + ldr r5, [r0]\n\ + adds r0, r4, 0\n\ + bl _call_via_r5\n\ + b _080A5736\n\ + .align 2, 0\n\ +_080A5798: .4byte gTasks\n\ +_080A579C: .4byte gBGTilemapBuffers + 0x800\n\ +_080A57A0: .4byte sItemPopupMenuActions\n\ +_080A57A4: .4byte sPopupMenuSelection\n\ +_080A57A8: .4byte sPopupMenuActionList\n\ +_080A57AC:\n\ + cmp r0, 0x2\n\ + bhi _080A57B8\n\ + movs r0, 0x2F\n\ + bl sub_8072DCC\n\ + b _080A57BE\n\ +_080A57B8:\n\ + movs r0, 0x30\n\ + bl sub_8072DCC\n\ +_080A57BE:\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided\n"); +} + +static void sub_80A57C4(void) +{ + u8 r5; + + sPopupMenuActionList = gUnknown_083C16AE[sCurrentBagPocket]; + if (sCurrentBagPocket == BAG_POCKET_KEY_ITEMS) + { + gUnknown_02038564 = 1; + r5 = 9; + } + else if (sub_80F92F4(gScriptItemId) == 0) + { + sPopupMenuActionList = gUnknown_083C16AE[4]; + gUnknown_02038564 = 1; + r5 = 9; + } + else + { + gUnknown_02038564 = 2; + r5 = 7; + } + sub_80A4008(gBGTilemapBuffers[1], 7, r5 + 1, 6, gUnknown_02038564 * 2); + MenuDrawTextWindow(6, r5, 13, gUnknown_02038564 * 2 + 1 + r5); + sub_80A7834(0, r5); + InitMenu(0, 7, r5 + 1, gUnknown_02038564, 0, 6); +} + +static void sub_80A5888(u8 taskId) +{ + if (sub_80A78A0() != 0) + { + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (sPopupMenuSelection != 0) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor(-1); + } + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (sPopupMenuSelection != gUnknown_02038564 - 1) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor(1); + } + } + else if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A4DA4(gBGTilemapBuffers[1]); + sItemPopupMenuActions[2].func(taskId); + } + } +} + +static void OnBagClose_Field0(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_805469C >> 16; + gTasks[taskId].data[9] = (u32)sub_805469C; + gLastFieldPokeMenuOpened = 0; + sub_80A5AE4(taskId); +} + +static void OnItemSelect_Field05(u8 taskId) +{ + sPopupMenuSelection = 0; + if (sReturnLocation == RETURN_TO_FIELD_5) + sPopupMenuSelection = 1; + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + if (sub_80F9344() == TRUE && sReturnLocation != RETURN_TO_FIELD_5) + { + sub_80A57C4(); + gTasks[taskId].func = sub_80A5888; + } + else + { + sub_80A4BF0(gBGTilemapBuffers[1]); + if (sCurrentBagPocket != BAG_POCKET_BERRIES || sReturnLocation == RETURN_TO_FIELD_5) + gTasks[taskId].func = sub_80A5414; + else + gTasks[taskId].func = sub_80A5600; + } +} + +static void sub_80A5AAC(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = HandleItemMenuPaletteFade; +} + +static void sub_80A5AE4(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_80A5AAC(taskId); +} + +void HandleItemMenuPaletteFade(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + MainCallback cb = (MainCallback)((u16)taskData[8] << 16 | (u16)taskData[9]); + + SetMainCallback2(cb); + gpu_pal_allocator_reset__manage_upper_four(); + DestroyTask(taskId); + } +} + +void sub_80A5B40(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + ResetTasks(); + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +static void HandlePopupMenuAction_UseOnField(u8 taskId) +{ + if (ItemId_GetFieldFunc(gScriptItemId) != NULL) + { + PlaySE(SE_SELECT); + if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gScriptItemId) == 1) + { + sub_80A5BF8(taskId); + } + else + { + gTasks[taskId].data[2] = 0; + if (sCurrentBagPocket != BAG_POCKET_BERRIES) + ItemId_GetFieldFunc(gScriptItemId)(taskId); + else + sub_80C9C7C(taskId); + } + } +} + +static void sub_80A5BF8(u8 taskId) +{ + sub_80A73FC(); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gOtherText_NoPokemon, CleanUpItemMenuMessage, 1); +} + +static void sub_80A5C24(u8 taskId) +{ + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +void CleanUpItemMenuMessage(u8 taskId) +{ + sub_80A36B8(gBGTilemapBuffers[1], 0, 0, 31, 31); + MenuZeroFillWindowRect(7, 7, 13, 12); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = sub_80A5C24; +} + +void CleanUpOverworldMessage(u8 taskId) +{ + MenuZeroFillWindowRect(0, 13, 29, 19); + DestroyTask(taskId); + sub_8064E2C(); + ScriptContext2_Disable(); +} + +void ExecuteItemUseFromBlackPalette(void) +{ + pal_fill_black(); + CreateTask(Task_CallItemUseOnFieldCallback, 8); +} + +static void Task_CallItemUseOnFieldCallback(u8 taskId) +{ + if (sub_807D770() == TRUE) + gUnknown_03005D00(taskId); +} + +void sub_80A5D04(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +static void sub_80A5D38(u8 taskId) +{ + gTasks[taskId].data[1] = 0; + sub_80A4DA4(gBGTilemapBuffers[1]); + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A5D78(void) +{ + sub_80A4008(gBGTilemapBuffers[1], 8, 8, 5, 4); + DisplayYesNoMenu(7, 7, 1); +} + +static void sub_80A5DA0(u16 itemId, u16 quantity) +{ + CopyItemName(itemId, gStringVar1); + if (quantity >= 100) + ConvertIntToDecimalStringN(gStringVar2, quantity, STR_CONV_MODE_LEFT_ALIGN, 3); + else + ConvertIntToDecimalStringN(gStringVar2, quantity, STR_CONV_MODE_LEFT_ALIGN, 2); + sub_80A4DA4(gBGTilemapBuffers[1]); + sub_80A7528(5); + sub_80A5D78(); +} + +static void sub_80A5DF8(void) +{ + sub_80A4DA4(gBGTilemapBuffers[1]); + MenuZeroFillWindowRect(7, 6, 11, 13); + sub_80A7528(4); +} + +static void sub_80A5E1C(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + gTasks[taskId].data[10] = 0; + sub_80A41D4(taskId); + sub_80A5D38(taskId); + } +} + +static void sub_80A5E60(u8 taskId) +{ + sub_80A5DF8(); + sub_80A3D5C(taskId); + gTasks[taskId].func = sub_80A5E1C; +} + +static void sub_80A5E90(u8 taskId) +{ + sub_80A5D38(taskId); +} + +static void sub_80A5EA0(u8 taskId) +{ + if (sub_80A5350(taskId) == TRUE) + return; + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80A5DA0(gScriptItemId, gTasks[taskId].data[1]); + DoYesNoFuncWithChoice(taskId, &gUnknown_083C16F4); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sub_80A5D38(taskId); + } +} + +static void HandlePopupMenuAction_Toss(u8 taskId) +{ + PlaySE(SE_SELECT); + gTasks[taskId].func = sub_80A5EA0; + sub_80A7528(3); + // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way + if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) + sub_80A4DD8(taskId, 6, 9, 7, 3, 3); + else + sub_80A4DD8(taskId, 7, 9, 6, 3, 2); +} + +static void sub_80A5F80(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void HandlePopupMenuAction_Register(u8 taskId) +{ + PlaySE(SE_SELECT); + if (gSaveBlock1.registeredItem == gScriptItemId) + { + // Un-register the registered item + RemoveSelectIconFromRegisteredItem(); + gSaveBlock1.registeredItem = 0; + } + else + { + AddSelectIconToRegisteredItem(); + gSaveBlock1.registeredItem = gScriptItemId; + } + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A6000(u8 taskId) +{ + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A6024(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + sub_80A36B8(gBGTilemapBuffers[1], 0, 0, 31, 31); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = sub_80A6000; + } +} + +static void DisplayCannotBeHeldMessage(u8 taskId) +{ + sub_80A73FC(); + CopyItemName(gScriptItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gOtherText_CantBeHeld); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6024, 1); +} + +static void HandlePopupMenuAction_Give(u8 taskId) +{ + PlaySE(SE_SELECT); + if (sub_80F931C(gScriptItemId) == 0) + { + sub_80A73FC(); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gOtherText_CantWriteMail, sub_80A6024, 1); + } + else if (ItemId_GetImportance(gScriptItemId) == 0) + { + if (CalculatePlayerPartyCount() == 0) + { + sub_80A5BF8(taskId); + } + else + { + gTasks[taskId].data[8] = (u32)sub_808B020 >> 16; + gTasks[taskId].data[9] = (u32)sub_808B020; + gTasks[taskId].func = HandleItemMenuPaletteFade; + gUnknown_02038561 = 1; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + } + } + else + { + DisplayCannotBeHeldMessage(taskId); + } +} + +static void HandlePopupMenuAction_CheckTag(u8 taskId) +{ + sub_80A5AE4(taskId); + gTasks[taskId].data[8] = (u32)BerryTagScreen_814625C >> 16; + gTasks[taskId].data[9] = (u32)BerryTagScreen_814625C; +} + +static void sub_80A61A8(void) +{ + if (sub_80A34B4() == TRUE) + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); +} + +void sub_80A61D0(void) +{ + sReturnLocation = RETURN_TO_PKMN_LIST; + SetMainCallback2(sub_80A61A8); +} + +static void OnBagClose_PkmnList(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_808A3F8 >> 16; + gTasks[taskId].data[9] = (u32)sub_808A3F8; + sub_80A5AE4(taskId); +} + +static void OnItemSelect_PkmnList(u8 taskId) +{ + u8 r6 = sCurrentBagPocket + 1; + + if (sub_80F931C(gScriptItemId) == 0) + { + sub_80A73FC(); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gOtherText_CantWriteMail, sub_80A6024, 1); + } + else if (sub_80F92F4(gScriptItemId) == 0) + { + sub_80A73FC(); + CopyItemName(gScriptItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gOtherText_CantBeHeldHere); + sub_80A7590(); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6024, 1); + } + else if (r6 != 5 && ItemId_GetImportance(gScriptItemId) == 0) + { + gTasks[taskId].data[8] = (u32)sub_808A3F8 >> 16; + gTasks[taskId].data[9] = (u32)sub_808A3F8; + sub_80A5AAC(taskId); + } + else + { + DisplayCannotBeHeldMessage(taskId); + } +} + +static void sub_80A62D8(void) +{ + if (sub_80A34B4() == TRUE) + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); +} + +void sub_80A6300(void) +{ + sReturnLocation = RETURN_TO_SHOP; + SetMainCallback2(sub_80A62D8); +} + +static void OnBagClose_Shop(u8 taskId) +{ + gFieldCallback = sub_80B3050; + gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16; + gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch; + sub_80A5AE4(taskId); +} + +static void OnItemSelect_Shop(u8 taskId) +{ + sub_80A7590(); + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + CopyItemName(gScriptItemId, gStringVar2); + if (ItemId_GetPrice(gScriptItemId) == 0) + { + StringExpandPlaceholders(gStringVar4, gOtherText_CantBuyThat); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6444, 1); + } + else + { + StringExpandPlaceholders(gStringVar4, gOtherText_HowManyToSell); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A648C, 1); + } +} + +static void sub_80A640C(u8 taskId) +{ + gTasks[taskId].data[10] = 0; + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A6444(u8 taskId) +{ + sub_80A36B8(gBGTilemapBuffers[1], 0, 0, 31, 31); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = sub_80A640C; +} + +static void sub_80A648C(u8 taskId) +{ + gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput; + sub_80A4008(gBGTilemapBuffers[1], 1, 11, 12, 2); + MenuDrawTextWindow(0, 10, 13, 13); + gTasks[taskId].data[1] = 1; + gTasks[taskId].data[2] = 1; + gTasks[taskId].data[3] = 11; + // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way + if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) + sub_80A418C(1, 1, 1, 11, 3); + else + sub_80A418C(1, 1, 1, 11, 2); + BuyMenuDisplayMessage(gScriptItemId, 1); + sub_80A683C(); +} + +static void sub_80A6520(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + BuyMenuPrintItemQuantityAndPrice(taskId); + } +} + +static void sub_80A6548(u8 taskId) +{ + sub_80A48F8(taskId); + gTasks[taskId].func = sub_80A6520; +} + +static void sub_80A6574(u8 taskId) +{ + PlaySE(SE_REGI); + sub_80A6870(gScriptItemId, gTasks[taskId].data[1]); + gTasks[taskId].func = sub_80A6548; +} + +static void sub_80A65AC(u8 taskId) +{ + MenuZeroFillWindowRect(7, 6, 13, 12); + sub_80A36B8(gBGTilemapBuffers[1], 7, 6, 6, 6); + CopyItemName(gScriptItemId, gStringVar2); + StringExpandPlaceholders(gStringVar4, gOtherText_SoldItem); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6574, 1); + sub_80A3D5C(taskId); +} + +static void sub_80A6618(u8 taskId) +{ + MenuZeroFillWindowRect(7, 6, 13, 12); + sub_80A36B8(gBGTilemapBuffers[1], 7, 6, 6, 6); + BuyMenuPrintItemQuantityAndPrice(taskId); +} + +static void sub_80A6650(u8 taskId) +{ + sub_80A5D78(); + DoYesNoFuncWithChoice(taskId, &gUnknown_083C16FC); +} + +static void Task_BuyHowManyDialogueHandleInput(u8 taskId) +{ + if (sub_80A5350(taskId) == TRUE) + { + MenuZeroFillWindowRect(6, 11, 12, 11); + BuyMenuDisplayMessage(gScriptItemId, gTasks[taskId].data[1]); + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + MenuZeroFillWindowRect(0, 10, 13, 13); + sub_80A36B8(gBGTilemapBuffers[1], 0, 10, 13, 3); + ConvertIntToDecimalStringN(gStringVar1, ItemId_GetPrice(gScriptItemId) / 2 * gTasks[taskId].data[1], STR_CONV_MODE_LEFT_ALIGN, 6); + StringExpandPlaceholders(gStringVar4, gOtherText_CanPay); + DisplayCannotUseItemMessage(taskId, gStringVar4, sub_80A6650, 1); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + BuyMenuPrintItemQuantityAndPrice(taskId); + } +} + +static void sub_80A6760(u8 taskId) +{ + gTasks[taskId].data[10] = 0; + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) +{ + sub_80A36B8(gBGTilemapBuffers[1], 0, 0, 31, 31); + RemoveMoneyLabelObject(0, 0); + MenuZeroFillWindowRect(0, 4, 13, 13); + MenuZeroFillWindowRect(0, 14, 29, 19); + gTasks[taskId].func = sub_80A6760; +} + +static void BuyMenuDisplayMessage(u16 itemId, u16 quantity) +{ + sub_80B7A94(ItemId_GetPrice(itemId) / 2 * quantity, 6, 6, 11); + ConvertIntToDecimalStringN(gStringVar1, ItemId_GetPrice(itemId) / 2 * quantity, STR_CONV_MODE_LEFT_ALIGN, 6); +} + +static void sub_80A683C(void) +{ + sub_80B7C14(gSaveBlock1.money, 0, 0); + sub_80A4008(gBGTilemapBuffers[1], 1, 1, 12, 2); +} + +static void sub_80A6870(u16 itemId, u8 quantity) +{ + sub_80B79B8(&gSaveBlock1.money, ItemId_GetPrice(itemId) / 2 * quantity); + sub_80B7BEC(gSaveBlock1.money, 0, 0); +} + +static void sub_80A68A4(void) +{ + if (sub_80A34B4() == TRUE) + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); +} + +void sub_80A68CC(void) +{ + sCurrentBagPocket = BAG_POCKET_BERRIES; + sReturnLocation = RETURN_TO_FIELD_4; + SetMainCallback2(sub_80A68A4); +} + +static void OnBagClose_Field4(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_80546B8 >> 16; + gTasks[taskId].data[9] = (u32)sub_80546B8; + sub_80A5AE4(taskId); +} + +static void OnItemSelect_Field4(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_80546B8 >> 16; + gTasks[taskId].data[9] = (u32)sub_80546B8; + sub_80A5AAC(taskId); +} + +static void sub_80A6940(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + sub_80A699C(); + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +void sub_80A6978(void) +{ + sCurrentBagPocket = BAG_POCKET_BERRIES; + sReturnLocation = RETURN_TO_FIELD_5; + SetMainCallback2(sub_80A6940); +} + +static void sub_80A699C(void) +{ + sPopupMenuActionList = gUnknown_083C16B8; + gUnknown_02038564 = 4; +} + +static void OnBagClose_Field5(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_804E990 >> 16; + gTasks[taskId].data[9] = (u32)sub_804E990; + sub_80A5AE4(taskId); +} + +static void HandlePopupMenuAction_Confirm(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_804E990 >> 16; + gTasks[taskId].data[9] = (u32)sub_804E990; + sub_80A5AAC(taskId); +} + +static void sub_80A6A08(void) +{ + if (sub_80A34B4() == TRUE) + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); +} + +void sub_80A6A30(void) +{ + sReturnLocation = RETURN_TO_PC; + SetMainCallback2(sub_80A6A08); +} + +static void OnBagClose_PC(u8 taskId) +{ + gFieldCallback = ItemStorage_ReturnToMenuAfterDeposit; + gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16; + gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch; + sub_80A5AE4(taskId); +} + +static void sub_80A6A84(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + sub_80A4DA4(gBGTilemapBuffers[1]); + CopyItemName(gScriptItemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, taskData[1], STR_CONV_MODE_LEFT_ALIGN, 3); + MenuZeroFillWindowRect(7, 6, 11, 13); + sub_80A7528(7); + sub_80A3D5C(taskId); + gTasks[taskId].func = sub_80A5E1C; +} + +static void sub_80A6B00(u8 taskId) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + PlaySE(SE_SELECT); + sub_80A5D38(taskId); + } +} + +static void sub_80A6B64(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + if (ItemId_GetImportance(gScriptItemId) == 2) + { + gTasks[taskId].func = sub_80A6B00; + sub_80A7528(9); + } + else + { + if (AddPCItem(gScriptItemId, taskData[1]) == TRUE) + { + sub_80A6A84(taskId); + } + else + { + gTasks[taskId].func = sub_80A6B00; + sub_80A7528(8); + } + } +} + +static void sub_80A6BE0(u8 taskId) +{ + if (sub_80A5350(taskId) == TRUE) + return; + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_80A4DA4(gBGTilemapBuffers[1]); + sub_80A6B64(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + PlaySE(SE_SELECT); + sub_80A5D38(taskId); + } +} + +static void OnItemSelect_PC(u8 taskId) +{ + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + PlaySE(SE_SELECT); + sub_80A7590(); + if (sCurrentBagPocket != BAG_POCKET_KEY_ITEMS) + { + gTasks[taskId].func = sub_80A6BE0; + sub_80A7528(6); + // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way + if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) + sub_80A4DD8(taskId, 6, 9, 7, 3, 3); + else + sub_80A4DD8(taskId, 7, 9, 6, 3, 2); + } + else + { + gTasks[taskId].data[1] = 1; + sub_80A6B64(taskId); + } +} + +bool32 sub_80A6D1C(void) +{ + HideMapNamePopup(); + if (gSaveBlock1.registeredItem != 0) + { + if (CheckBagHasItem(gSaveBlock1.registeredItem, 1) == TRUE) + { + u8 taskId; + + ScriptContext2_Enable(); + FreezeMapObjects(); + sub_80594C0(); + sub_80597F4(); + gScriptItemId = gSaveBlock1.registeredItem; + taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1.registeredItem), 8); + gTasks[taskId].data[2] = 1; + return TRUE; + } + gSaveBlock1.registeredItem = 0; + } + ScriptContext1_SetupScript(Event_NoRegisteredItem); + return TRUE; +} + +static void sub_80A6D98(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + gUnknown_02038563 = CreateTask(sub_80A50C8, 0); + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +void sub_80A6DCC(void) +{ + sPopupMenuSelection = 0; + sReturnLocation = RETURN_TO_BATTLE; + SetMainCallback2(sub_80A6D98); +} + +static void sub_80A6DF0(u16 *a) +{ + u8 r6 = (gUnknown_02038564 - 1) * 2; + + MenuDrawTextWindow(7, 9 - r6, 13, 12); + sub_80A4008(a, 8, 10 - r6, 5, r6 + 2); + if (gUnknown_02038564 == 1) + { + MenuPrint(sItemPopupMenuActions[sPopupMenuActionList[0]].text, 8, 10); + } + else + { + MenuPrint(sItemPopupMenuActions[sPopupMenuActionList[0]].text, 8, 8); + MenuPrint(sItemPopupMenuActions[sPopupMenuActionList[1]].text, 8, 10); + } + InitMenu(0, 8, 10 - r6, gUnknown_02038564, 0, 5); + sub_80A7528(2); +} + +static void sub_80A6EB8(u8 taskId) +{ + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if (sPopupMenuSelection == 1) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor(-1); + } + } + else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if (sPopupMenuSelection + 1 < gUnknown_02038564) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor(1); + } + } + else if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + sItemPopupMenuActions[5].func(taskId); + } +} + +static const u8 gUnknown_083C1708[] = {4, 5}; +static const u8 gUnknown_083C170A[] = {5, 0}; + +static void sub_80A6FDC(void) +{ + if (ItemId_GetBattleUsage(gScriptItemId) != 0) + { + sPopupMenuActionList = gUnknown_083C1708; + gUnknown_02038564 = 2; + } + else + { + sPopupMenuActionList = gUnknown_083C170A; + gUnknown_02038564 = 1; + } +} + +static void OnItemSelect_Battle(u8 taskId) +{ + sPopupMenuSelection = 0; + sub_80A6FDC(); + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + sub_80A6DF0(gBGTilemapBuffers[1]); + gTasks[taskId].func = sub_80A6EB8; +} + +void sub_80A7094(u8 taskId) +{ + gTasks[taskId].data[8] = (u32)sub_802E424 >> 16; + gTasks[taskId].data[9] = (u32)sub_802E424; + gTasks[taskId].func = HandleItemMenuPaletteFade; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); +} + +static void OnBagClose_Battle(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_80A7094(taskId); +} + +static void HandlePopupMenuAction_UseInBattle(u8 taskId) +{ + if (ItemId_GetBattleFunc(gScriptItemId) != NULL) + { + PlaySE(SE_SELECT); + ItemId_GetBattleFunc(gScriptItemId)(taskId); + } +} + +static void sub_80A7124(u8 taskId) +{ + PlaySE(SE_SELECT); + sub_80A7528(0); + sub_80A41D4(taskId); + ItemListMenu_InitMenu(); + sub_80A37C0(taskId); +} + +static void sub_80A7150(void) +{ + while (1) + { + if (SetupBagMultistep() == TRUE) + { + gUnknown_02038563 = CreateTask(sub_80A7230, 0); + gTasks[gUnknown_02038563].data[15] = 0; + break; + } + if (sub_80F9344() == TRUE) + break; + } +} + +void PrepareBagForWallyTutorial(void) +{ + u8 i; + + sPopupMenuSelection = 0; + sCurrentBagPocket = BAG_POCKET_ITEMS; + for (i = 0; i < 5; i++) + { + gBagPocketScrollStates[i].cursorPos = 0; + gBagPocketScrollStates[i].scrollTop = 0; + } + + // Save player's items + memcpy(ewramSavedItemsPocket, gSaveBlock1.bagPocket_Items, sizeof(gSaveBlock1.bagPocket_Items)); + memcpy(ewramSavedPokeballsPocket, gSaveBlock1.bagPocket_PokeBalls, sizeof(gSaveBlock1.bagPocket_PokeBalls)); + + // Add Wally's items to the bag + ClearItemSlots(gSaveBlock1.bagPocket_Items, ARRAY_COUNT(gSaveBlock1.bagPocket_Items)); + ClearItemSlots(gSaveBlock1.bagPocket_PokeBalls, ARRAY_COUNT(gSaveBlock1.bagPocket_PokeBalls)); + AddBagItem(ITEM_POTION, 1); + AddBagItem(ITEM_POKE_BALL, 1); + + sReturnLocation = RETURN_TO_WALLY_BATTLE; + SetMainCallback2(sub_80A7150); +} + +static void sub_80A7230(u8 taskId) +{ + s16 *taskData = gTasks[taskId].data; + + switch (taskData[15]) + { + case 102: + PlaySE(SE_SELECT); + sub_80A4E8C(1, 2); + break; + case 204: + PlaySE(SE_SELECT); + sub_80F98A4(2); + sub_80F98A4(3); + gScriptItemId = ITEM_POKE_BALL; + sPopupMenuActionList = gUnknown_083C1708; + gUnknown_02038564 = 2; + gTasks[taskId].data[10] = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos + 1; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A73FC(); + sub_80A6DF0(gBGTilemapBuffers[1]); + break; + case 306: + PlaySE(SE_SELECT); + sub_80A4DA4(gBGTilemapBuffers[1]); + + // Restore player's items + memcpy(gSaveBlock1.bagPocket_Items, ewramSavedItemsPocket, sizeof(gSaveBlock1.bagPocket_Items)); + memcpy(gSaveBlock1.bagPocket_PokeBalls, ewramSavedPokeballsPocket, sizeof(gSaveBlock1.bagPocket_PokeBalls)); + + taskData[8] = (u32)sub_802E424 >> 16; + taskData[9] = (u32)sub_802E424; + gTasks[taskId].func = HandleItemMenuPaletteFade; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + return; + } + taskData[15]++; +} + +static void ItemListMenu_InitMenu(void) +{ + InitMenu(0, 14, 2, gBagPocketScrollStates[sCurrentBagPocket].cursorMax + 1, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, 0); + CreateBlendedOutlineCursor(16, 0xFFFF, 12, 0x2D9F, 15); + sub_80A73C0(); +} + +static void sub_80A73C0(void) +{ + sub_814AD7C(0x70, gBagPocketScrollStates[sCurrentBagPocket].cursorPos * 16 + 16); +} + +static void sub_80A73F0(void) +{ + sub_814ADC8(); +} + +static void sub_80A73FC(void) +{ + HandleDestroyMenuCursors(); + sub_814AD44(); +} + +static void sub_80A740C(void) +{ + sub_80A75E4(); + sub_80A7768(); + sub_80A7420(); +} + +static void sub_80A7420(void) +{ + struct UnknownStruct2 *unkStruct = &gUnknown_0203853C; + int index; + + switch (unkStruct->unk0) + { + case 3: + unkStruct->unk0 = 2; + break; + case 2: + switch (unkStruct->unk2) + { + case 0: + index = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + ItemListMenu_ChangeDescription(gCurrentBagPocketItemSlots[index].itemId, unkStruct->textLine); + break; + case 1: + sub_80A4A98(gOtherText_SwitchWhichItem, unkStruct->textLine); + break; + case 2: + sub_80A4A98(gOtherText_WhatWillYouDo2, unkStruct->textLine); + break; + case 3: + sub_80A4A98(gOtherText_HowManyToToss, unkStruct->textLine); + break; + case 4: + sub_80A4A98(gOtherText_ThrewAwayItem, unkStruct->textLine); + break; + case 5: + sub_80A4A98(gOtherText_OkayToThrowAwayPrompt, unkStruct->textLine); + break; + case 6: + sub_80A4A98(gOtherText_HowManyToDeposit, unkStruct->textLine); + break; + case 7: + sub_80A4A98(gOtherText_DepositedItems, unkStruct->textLine); + break; + case 8: + sub_80A4A98(gOtherText_NoRoomForItems, unkStruct->textLine); + break; + case 9: + sub_80A4A98(gOtherText_CantStoreSomeoneItem, unkStruct->textLine); + break; + } + unkStruct->textLine++; + if (unkStruct->textLine == 3) + { + unkStruct->unk0 = 0; + sub_80A7918(); + } + break; + } +} + +static void sub_80A751C(void) +{ + gUnknown_0203853C.unk0 = 0; +} + +static void sub_80A7528(u8 a) +{ + gUnknown_0203853C.textLine = 0; + gUnknown_0203853C.unk2 = a; + switch (sub_80A78F4()) + { + case 0: + gUnknown_0203853C.unk0 = 2; + while (gUnknown_0203853C.unk0 != 0) + sub_80A7420(); + break; + case 1: + gUnknown_0203853C.unk0 = 3; + break; + case 2: + gUnknown_0203853C.unk0 = 1; + break; + } +} + +static void sub_80A756C(void) +{ + if (gUnknown_0203853C.unk0 == 2 || gUnknown_0203853C.unk0 == 3) + sub_80A7918(); + gUnknown_0203853C.unk0 = 0; +} + +static void sub_80A7590(void) +{ + MenuZeroFillWindowRect(0, 13, 13, 20); + sub_80A756C(); +} + +static void sub_80A75A8(void) +{ + if (gUnknown_0203853C.unk0 == 2 || gUnknown_0203853C.unk0 == 3) + gUnknown_0203853C.unk0 = 1; +} + +static void sub_80A75C4(void) +{ + switch (gUnknown_0203853C.unk0) + { + case 1: + gUnknown_0203853C.unk0 = 3; + break; + case 0: + sub_80A7918(); + break; + } +} + +static void sub_80A75E4(void) +{ + if (gUnknown_02038540.unk0 == 1 && sub_80A7988() == 0) + { + int r1; + + sub_80A47E8(gUnknown_02038563, gUnknown_02038540.unk1, gUnknown_02038540.unk1, 1); + gUnknown_02038540.unk1++; + if (gUnknown_02038540.unk2 != 0) + r1 = 5; + else + r1 = 7; + if (r1 < gUnknown_02038540.unk1) + { + gUnknown_02038540.unk0 = 0; + sub_80A78E8(); + } + } +} + +static void sub_80A7630(void) +{ + gUnknown_02038540.unk0 = 0; +} + +static void sub_80A763C(void) +{ + struct UnknownStruct3 *r4 = &gUnknown_02038540; + + switch (sub_80A78C4()) + { + case FALSE: + sub_80A48E8(gUnknown_02038563, 0, 7); + break; + case TRUE: + r4->unk0 = 1; + r4->unk1 = 0; + r4->unk2 = 0; + break; + } +} + +static void sub_80A7678(void) +{ + if (gUnknown_02038540.unk0 == 1) + sub_80A78E8(); + gUnknown_02038540.unk0 = 0; +} + +static void sub_80A7694(void) +{ + gUnknown_02038540.unk2 = 1; +} + +static void sub_80A76A0(void) +{ + MenuZeroFillWindowRect(14, 2, 29, 18); + sub_80A7678(); +} + +static bool32 sub_80A76B8(void) +{ + struct UnknownStruct3 *s = &gUnknown_02038540; + + return (s->unk0 == 0); +} + +static bool32 sub_80A76D0(void) +{ + struct UnknownStruct3 *s = &gUnknown_02038540; + + return (s->unk1 > 5); +} + +static void sub_80A76E8(void) +{ + if (gUnknown_02038544.unk0 == 1) + { + DisplayItemMessageOnField( + gUnknown_02038544.unk1, + gUnknown_02038544.unk4, + gUnknown_02038544.unk8, + gUnknown_02038544.unk2); + gUnknown_02038544.unk0 = 0; + } +} + +static void sub_80A770C(void) +{ + gUnknown_02038544.unk0 = 0; +} + +static void DisplayCannotUseItemMessage(int a, const u8 *b, TaskFunc func, int d) +{ + struct UnknownStruct4 *r4 = &gUnknown_02038544; + + switch (sub_80A7924()) + { + case 0: + DisplayItemMessageOnField(a, b, func, d); + break; + case 2: + r4->unk0 = 1; + r4->unk1 = a; + r4->unk4 = b; + r4->unk8 = func; + r4->unk2 = d; + break; + } +} + +static void sub_80A7768(void) +{ + struct UnknownStruct5 *r4 = &gUnknown_02038550; + + if (r4->unk0 == 2) + { + if (r4->unk1 != 0) + { + if (r4->unk2 != 1) + { + const u8 *text = sItemPopupMenuActions[sPopupMenuActionList[r4->unk1 - 1]].text; + int var = r4->unk1 - 1; + + MenuPrint(text, 7, var * 2 + 1 + r4->unk3); + } + else + { + const u8 *text; + int var; + + if (r4->unk1 == 1) + text = sub_80A4B90(gScriptItemId); + else + text = sItemPopupMenuActions[sPopupMenuActionList[r4->unk1 - 1]].text; + var = r4->unk1 - 1; + MenuPrint(text, (var >> 1) * 6 + 1, (var & 1) * 2 + 8); + } + if (r4->unk1 == gUnknown_02038564) + { + r4->unk0 = 0; + sub_80A7970(); + } + } + r4->unk1++; + } +} + +static void sub_80A7828(void) +{ + gUnknown_02038550.unk0 = 0; +} + +static void sub_80A7834(int a, int b) +{ + struct UnknownStruct5 *r4 = &gUnknown_02038550; + + switch (sub_80A7958()) + { + case 1: + r4->unk0 = 2; + r4->unk1 = 0; + r4->unk2 = a; + r4->unk3 = b; + break; + case 2: + r4->unk0 = 1; + r4->unk1 = 0; + r4->unk2 = a; + r4->unk3 = b; + break; + } +} + +static void sub_80A7868(void) +{ + if (gUnknown_02038550.unk0 == 2) + gUnknown_02038550.unk0 = 1; +} + +static void sub_80A7880(void) +{ + switch (gUnknown_02038550.unk0) + { + case 1: + gUnknown_02038550.unk0 = 2; + break; + case 0: + sub_80A7970(); + break; + } +} + +static bool32 sub_80A78A0(void) +{ + struct UnknownStruct5 *r0 = &gUnknown_02038550; + + return (r0->unk0 == 0); +} + +static void sub_80A78B8(void) +{ + gUnknown_02038554.unk0 = 0; +} + +static bool32 sub_80A78C4(void) +{ + bool32 retVal; + + if (gLinkOpen == TRUE) + { + sub_80A7868(); + sub_80A75A8(); + retVal = TRUE; + } + else + { + retVal = FALSE; + } + return retVal; +} + +static void sub_80A78E8(void) +{ + sub_80A7880(); +} + +static int sub_80A78F4(void) +{ + int retVal; + + if (gLinkOpen == TRUE) + { + if (sub_80A76B8() != 0) + retVal = 1; + else + retVal = 2; + } + else + { + retVal = 0; + } + return retVal; +} + +static void sub_80A7918(void) +{ + sub_80A76E8(); +} + +static int sub_80A7924(void) +{ + if (gLinkOpen == TRUE && sub_80A76B8() == 0) + { + if (sub_80A76D0() != 0) + { + sub_80A7678(); + return 0; + } + } + else + { + return 0; + } + sub_80A7694(); + return 2; +} + +static int sub_80A7958(void) +{ + if (sub_80A76B8() == 0) + return 2; + sub_80A75A8(); + return 1; +} + +static void sub_80A7970(void) +{ + sub_80A75C4(); +} + +static void sub_80A797C(void) +{ + gUnknown_02038554.unk0 = 1; +} + +static int sub_80A7988(void) +{ + int val = gUnknown_02038554.unk0; + + gUnknown_02038554.unk0 = 0; + return val; +} + +static const u16 gPalette_83C170C[] = INCBIN_U16("graphics/unknown/83C170C.gbapal"); +static const u8 gSpriteImage_83C172C[] = INCBIN_U8("graphics/unknown_sprites/83C172C.4bpp"); + +const u8 gSpriteImage_UnusedCherry[] = INCBIN_U8("graphics/unused/cherry.4bpp"); +const u16 gSpritePalette_UnusedCherry[] = INCBIN_U16("graphics/unused/cherry.gbapal"); + +//------------------------------------------------------------------------------ +// Bag Sprite +//------------------------------------------------------------------------------ + +static const struct OamData sBagSpriteOamData = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 2, + .paletteNum = 7, + .affineParam = 0, +}; + +static const union AnimCmd sBagSpriteAnimSeq0[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq1[] = +{ + ANIMCMD_FRAME(64, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq5[] = +{ + ANIMCMD_FRAME(128, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq2[] = +{ + ANIMCMD_FRAME(192, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq3[] = +{ + ANIMCMD_FRAME(256, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sBagSpriteAnimSeq4[] = +{ + ANIMCMD_FRAME(320, 4), + ANIMCMD_END, +}; + +static const union AnimCmd *const sBagSpriteAnimTable[] = +{ + sBagSpriteAnimSeq0, + sBagSpriteAnimSeq1, + sBagSpriteAnimSeq2, + sBagSpriteAnimSeq3, + sBagSpriteAnimSeq4, + sBagSpriteAnimSeq5, +}; + +static const union AffineAnimCmd sBagSpriteAffineAnimSeq[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -2, 2), + AFFINEANIMCMD_FRAME(0, 0, 2, 4), + AFFINEANIMCMD_FRAME(0, 0, -2, 4), + AFFINEANIMCMD_FRAME(0, 0, 2, 2), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const sBagSpriteAffineAnimTable[] = +{ + sBagSpriteAffineAnimSeq, +}; + +static const struct CompressedSpriteSheet sMaleBagSpriteSheet = {gBagMaleTiles, 0x3000, 30000}; +static const struct CompressedSpriteSheet sFemaleBagSpriteSheet = {gBagFemaleTiles, 0x3000, 30000}; +static const struct CompressedSpritePalette sBagSpritePalette = {gBagPalette, 30000}; + +static void sub_80A7998(struct Sprite *sprite) +{ + sprite->animNum = 0; + sprite->data0 = 0; + sprite->data1 = 0; + sprite->data2 = 0; + sprite->data3 = 0; + sprite->data4 = 0; + sprite->callback = sub_80A79B4; +} + +static void sub_80A79B4(struct Sprite *sprite) +{ + if (gUnknown_0203855B != -1) + sub_80A79EC(sprite); + if (gUnknown_0203855C != 0) + sub_80A7A94(sprite); +} + +static void sub_80A79EC(struct Sprite *sprite) +{ + switch (sprite->data3) + { + case 0: + if (gUnknown_0203855B != 6) + { + sprite->animBeginning = TRUE; + sprite->animNum = gUnknown_0203855B; + gUnknown_0203855B = -1; + } + else + { + sprite->animBeginning = TRUE; + sprite->animNum = 0; + sprite->pos1.y -= 4; + sprite->data0 = 4; + sprite->data3 = 1; + sub_80A7AE4(sprite); + } + break; + case 1: + if (sprite->data0 != 0) + { + if (sprite->data1 != 0) + { + sprite->pos1.y++; + sprite->data0--; + } + sprite->data1 = (sprite->data1 + 1) & 1; + } + else + { + gUnknown_0203855B = -1; + sprite->data1 = 0; + sprite->data3 = 0; + } + break; + } +} + +static void sub_80A7A94(struct Sprite *sprite) +{ + switch (sprite->data4) + { + case 0: + sprite->oam.affineMode = 1; + sprite->affineAnims = sBagSpriteAffineAnimTable; + InitSpriteAffineAnim(sprite); + sprite->data4 = 1; + break; + case 1: + sprite->data2++; + if (sprite->data2 == 12) + sub_80A7AE4(sprite); + break; + } +} + +static void sub_80A7AE4(struct Sprite *sprite) +{ + gUnknown_0203855C = 0; + sprite->oam.affineMode = 0; + sprite->data2 = 0; + sprite->data4 = 0; + FreeOamMatrix(sprite->oam.matrixNum); +} + +static const struct SpriteTemplate sBagSpriteTemplate = +{ + .tileTag = 30000, + .paletteTag = 30000, + .oam = &sBagSpriteOamData, + .anims = sBagSpriteAnimTable, + .images = NULL, + .affineAnims = sBagSpriteAffineAnimTable, + .callback = sub_80A7998, +}; + +static void CreateBagSprite(void) +{ + CreateSprite(&sBagSpriteTemplate, 58, 40, 0); +} + +//------------------------------------------------------------------------------ +// Pokeball Sprite +//------------------------------------------------------------------------------ + +static const struct OamData gOamData_83C1CF8 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 4, + .size = 1, + .tileNum = 0, + .priority = 2, + .paletteNum = 8, + .affineParam = 0, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_83C1D00[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 8, 32), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_83C1D10[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -8, 32), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_83C1D20[] = +{ + gSpriteAffineAnim_83C1D00, + gSpriteAffineAnim_83C1D10, +}; + +static const struct SpriteFrameImage gSpriteImageTable_83C1D28[] = +{ + {gSpriteImage_83C172C, sizeof(gSpriteImage_83C172C)}, +}; + +static const struct SpritePalette sPokeballSpritePalette = {gPalette_83C170C, 8}; + +static void sub_80A7B28(struct Sprite *sprite) +{ + sprite->data3 = 0; + sprite->data0 = 0; + sub_80A7B6C(sprite); + sprite->callback = sub_80A7B6C; +} + +static void sub_80A7B48(struct Sprite *sprite) +{ + sprite->centerToCornerVecX = sprite->data5 - ((sprite->data0 + 1) & 1); + sprite->centerToCornerVecY = sprite->data6 - ((sprite->data0 + 1) & 1); +} + +static void sub_80A7B6C(struct Sprite *sprite) +{ + if (sprite->data7 != 0) + { + switch (sprite->data3) + { + case 0: + sprite->oam.affineMode = 1; + if (sprite->data7 == 1) + sprite->affineAnims = gSpriteAffineAnimTable_83C1D20; + else + sprite->affineAnims = gSpriteAffineAnimTable_83C1D20 + 1; + InitSpriteAffineAnim(sprite); + sprite->data3 = 1; + sprite->data5 = sprite->centerToCornerVecX; + sprite->data6 = sprite->centerToCornerVecY; + sub_80A7B48(sprite); + break; + case 1: + sprite->data0++; + sub_80A7B48(sprite); + if (sprite->data0 == 32) + { + sprite->data0 = 0; + sprite->data3 = 0; + sprite->centerToCornerVecX = sprite->data5; + sprite->centerToCornerVecY = sprite->data6; + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = 0; + sprite->callback = SpriteCallbackDummy; + } + break; + } + } +} + +static const struct SpriteTemplate sPokeballSpriteTemplate = +{ + .tileTag = 0xFFFF, + .paletteTag = 8, + .oam = &gOamData_83C1CF8, + .anims = sBagSpriteAnimTable, + .images = gSpriteImageTable_83C1D28, + .affineAnims = gSpriteAffineAnimTable_83C1D20, + .callback = sub_80A7B28, +}; + +static void CreateBagPokeballSprite(u8 a) +{ + LoadSpritePalette(&sPokeballSpritePalette); + sPokeballSpriteId = CreateSprite(&sPokeballSpriteTemplate, 16, 88, 0); + gSprites[sPokeballSpriteId].data7 = a; +} + +static void sub_80A7C64(void) +{ + FreeSpritePaletteByTag(8); + FreeOamMatrix(gSprites[sPokeballSpriteId].oam.matrixNum); + DestroySprite(&gSprites[sPokeballSpriteId]); +} + +static const struct OamData sBerrySpriteOamData = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 7, + .affineParam = 0, +}; + +static const struct OamData gOamData_83C1D58 = +{ + .y = 0, + .affineMode = 3, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 0, + .paletteNum = 7, + .affineParam = 0, +}; + +static const union AnimCmd sBerrySpriteAnimSeq[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd *const sBerrySpriteAnimTable[] = +{ + sBerrySpriteAnimSeq, +}; + +static const struct SpriteFrameImage sBerrySpriteImageTable[] = +{ + {ewramBerryPic, 0x800}, +}; + +static void SpriteCB_BerrySprite(struct Sprite *); +static const struct SpriteTemplate sBerrySpriteTemplate = +{ + .tileTag = 0xFFFF, + .paletteTag = 30020, + .oam = &sBerrySpriteOamData, + .anims = sBerrySpriteAnimTable, + .images = sBerrySpriteImageTable, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_BerrySprite, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_83C1D8C[] = +{ + AFFINEANIMCMD_FRAME(-1, -1, -3, 96), + AFFINEANIMCMD_FRAME(0, 0, 0, 16), + AFFINEANIMCMD_FRAME(-2, -2, -1, 64), + AFFINEANIMCMD_FRAME(-8, 0, 0, 16), + AFFINEANIMCMD_FRAME(0, -8, 0, 16), + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd gSpriteAffineAnim_83C1DC4[] = +{ + AFFINEANIMCMD_FRAME(-1, -1, 3, 96), + AFFINEANIMCMD_FRAME(0, 0, 0, 16), + AFFINEANIMCMD_FRAME(-2, -2, 1, 64), + AFFINEANIMCMD_FRAME(-8, 0, 0, 16), + AFFINEANIMCMD_FRAME(0, -8, 0, 16), + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_JUMP(0), +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_83C1DFC[] = +{ + gSpriteAffineAnim_83C1D8C, + gSpriteAffineAnim_83C1DC4, +}; + +static const struct SpriteTemplate gSpriteTemplate_83C1E04 = +{ + .tileTag = 0xFFFF, + .paletteTag = 30020, + .oam = &gOamData_83C1D58, + .anims = sBerrySpriteAnimTable, + .images = sBerrySpriteImageTable, + .affineAnims = gSpriteAffineAnimTable_83C1DFC, + .callback = SpriteCallbackDummy, +}; + +static const struct {const u8 *lzPic; const u8 *lzPalette;} sBerryGraphicsTable[] = +{ + {gBerryPic_Cheri, gBerryPalette_Cheri}, + {gBerryPic_Chesto, gBerryPalette_Chesto}, + {gBerryPic_Pecha, gBerryPalette_Pecha}, + {gBerryPic_Rawst, gBerryPalette_Rawst}, + {gBerryPic_Aspear, gBerryPalette_Aspear}, + {gBerryPic_Leppa, gBerryPalette_Leppa}, + {gBerryPic_Oran, gBerryPalette_Oran}, + {gBerryPic_Persim, gBerryPalette_Persim}, + {gBerryPic_Lum, gBerryPalette_Lum}, + {gBerryPic_Sitrus, gBerryPalette_Sitrus}, + {gBerryPic_Figy, gBerryPalette_Figy}, + {gBerryPic_Wiki, gBerryPalette_Wiki}, + {gBerryPic_Mago, gBerryPalette_Mago}, + {gBerryPic_Aguav, gBerryPalette_Aguav}, + {gBerryPic_Iapapa, gBerryPalette_Iapapa}, + {gBerryPic_Razz, gBerryPalette_Razz}, + {gBerryPic_Bluk, gBerryPalette_Bluk}, + {gBerryPic_Nanab, gBerryPalette_Nanab}, + {gBerryPic_Wepear, gBerryPalette_Wepear}, + {gBerryPic_Pinap, gBerryPalette_Pinap}, + {gBerryPic_Pomeg, gBerryPalette_Pomeg}, + {gBerryPic_Kelpsy, gBerryPalette_Kelpsy}, + {gBerryPic_Qualot, gBerryPalette_Qualot}, + {gBerryPic_Hondew, gBerryPalette_Hondew}, + {gBerryPic_Grepa, gBerryPalette_Grepa}, + {gBerryPic_Tamato, gBerryPalette_Tamato}, + {gBerryPic_Cornn, gBerryPalette_Cornn}, + {gBerryPic_Magost, gBerryPalette_Magost}, + {gBerryPic_Rabuta, gBerryPalette_Rabuta}, + {gBerryPic_Nomel, gBerryPalette_Nomel}, + {gBerryPic_Spelon, gBerryPalette_Spelon}, + {gBerryPic_Pamtre, gBerryPalette_Pamtre}, + {gBerryPic_Watmel, gBerryPalette_Watmel}, + {gBerryPic_Durin, gBerryPalette_Durin}, + {gBerryPic_Belue, gBerryPalette_Belue}, + {gBerryPic_Liechi, gBerryPalette_Liechi}, + {gBerryPic_Ganlon, gBerryPalette_Ganlon}, + {gBerryPic_Salac, gBerryPalette_Salac}, + {gBerryPic_Petaya, gBerryPalette_Petaya}, + {gBerryPic_Apicot, gBerryPalette_Apicot}, + {gBerryPic_Lansat, gBerryPalette_Lansat}, + {gBerryPic_Starf, gBerryPalette_Starf}, + {gBerryPic_Enigma, gBerryPalette_Enigma}, +}; + +static void DrawBerryPic(const u8 *src, u8 *dst) +{ + u8 i; + u8 j; + + memset(dst, 0, 0x800); + dst += 0x100; + for (i = 0; i < 6; i++) + { + dst += 32; + for (j = 0; j < 6; j++) + { + memcpy(dst, src, 32); + dst += 32; + src += 32; + } + if (i != 5) + dst += 32; + } +} + +static void LoadBerryPic(u8 berryId) +{ + struct SpritePalette spritePal; + + if (berryId == 0x2A && IsEnigmaBerryValid() == TRUE) + { + DrawBerryPic(gSaveBlock1.enigmaBerry.pic, ewramBerryPic); + spritePal.data = gSaveBlock1.enigmaBerry.palette; + spritePal.tag = 0x7544; + LoadSpritePalette(&spritePal); + } + else + { + spritePal.data = (u16 *)sBerryGraphicsTable[berryId].lzPalette; + spritePal.tag = 0x7544; + LoadCompressedObjectPalette((struct CompressedSpritePalette *)&spritePal); + sub_800D238(sBerryGraphicsTable[berryId].lzPic, ewramBerryPicTemp); + DrawBerryPic(ewramBerryPicTemp, ewramBerryPic); + } +} + +u8 CreateBerrySprite(u8 berryId, s16 x, s16 y) +{ + LoadBerryPic(berryId); + return CreateSprite(&sBerrySpriteTemplate, x, y, 0); +} + +static void SpriteCB_BerrySprite(struct Sprite *sprite) +{ + sprite->pos2.y = -gUnknown_030041B4; +} + +void sub_80A7DD4(void) +{ + FreeSpritePaletteByTag(0x7544); + FreeSpritePaletteByTag(8); +} + +u8 sub_80A7DEC(u8 berryId, u8 x, u8 y, bool8 animate) +{ + u8 spriteId; + + FreeSpritePaletteByTag(0x7544); + LoadBerryPic(berryId); + spriteId = CreateSprite(&gSpriteTemplate_83C1E04, x, y, 0); + if (animate == TRUE) + StartSpriteAffineAnim(&gSprites[spriteId], 1); + return spriteId; +} + +const struct CompressedSpriteSheet gUnknown_083C1F74 = {gBerryCheckCircle_Gfx, 2048, 0x2710}; + +const struct CompressedSpritePalette gUnknown_083C1F7C = {gBerryCheck_Pal, 0x2710}; + +static const struct OamData gOamData_83C1F84 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd gSpriteAnim_83C1F8C[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd *const gSpriteAnimTable_83C1F94[] = +{ + gSpriteAnim_83C1F8C, +}; + +static const struct SpriteTemplate gSpriteTemplate_83C1F98 = +{ + .tileTag = 10000, + .paletteTag = 10000, + .oam = &gOamData_83C1F84, + .anims = gSpriteAnimTable_83C1F94, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_BerrySprite, +}; + +u8 sub_80A7E5C(s16 x) +{ + return CreateSprite(&gSpriteTemplate_83C1F98, x, 99, 0); +} diff --git a/src/item_use.c b/src/item_use.c index b906f91ad..1750c1584 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -55,7 +55,7 @@ extern u16 gBattleTypeFlags; static const u8 gSSTidalBetaString[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな"); static const u8 gSSTidalBetaString2[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな"); -static const struct TextStruct gUnknown_083D61DC[2] = +static const u8 *const gUnknown_083D61DC[2] = { gSSTidalBetaString, gSSTidalBetaString2, @@ -768,11 +768,11 @@ void ItemUseOutOfBattle_SSTicket(u8 taskId) if(gTasks[taskId].data[2] == 0) { MenuZeroFillWindowRect(0, 0xD, 0xD, 0x14); - DisplayItemMessageOnField(taskId, (u8 *)gUnknown_083D61DC[ItemId_GetSecondaryId(gScriptItemId)].text, sub_80C9BB8, 1); + DisplayItemMessageOnField(taskId, gUnknown_083D61DC[ItemId_GetSecondaryId(gScriptItemId)], sub_80C9BB8, 1); } else { - DisplayItemMessageOnField(taskId, (u8 *)gUnknown_083D61DC[ItemId_GetSecondaryId(gScriptItemId)].text, sub_80C9BD8, 0); + DisplayItemMessageOnField(taskId, gUnknown_083D61DC[ItemId_GetSecondaryId(gScriptItemId)], sub_80C9BD8, 0); } } diff --git a/src/new_game.c b/src/new_game.c index 33aacd10a..4b6ea1dd2 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -114,7 +114,7 @@ void sub_8052E4C(void) sub_808C0A0(); ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); - sub_80A3684(); + ResetBagScrollPositions(); } void NewGameInitData(void) diff --git a/src/option_menu.c b/src/option_menu.c index 2463b11c6..7f8d76528 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -32,8 +32,9 @@ enum { MENUITEM_CANCEL, }; -extern u8 gUnknown_0839F63C[]; -extern u8 gUnknown_0839F5FC[]; //palette +const u16 gUnknown_0839F5FC[] = INCBIN_U16("graphics/misc/option_menu_text.gbapal"); +// note: this is only used in the Japanese release +const u8 gUnknown_0839F63C[] = INCBIN_U8("graphics/misc/option_menu_equals_sign.4bpp"); static void Task_OptionMenuFadeIn(u8 taskId); static void Task_OptionMenuProcessInput(u8 taskId); diff --git a/src/player_pc.c b/src/player_pc.c index 38e01b92e..adff9971a 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -30,9 +30,6 @@ extern void LoadScrollIndicatorPalette(void); extern void ClearMailStruct(struct MailStruct *); extern u8 sub_807D770(void); extern void sub_808B020(void); -extern void sub_80A4164(u8 *, u16, enum StringConvertMode, u8); -extern void sub_80A418C(u16, enum StringConvertMode, int, int, int); -extern void sub_80A6A30(void); extern void sub_80F944C(void); extern u8 *gPcItemMenuOptionOrder; @@ -100,7 +97,7 @@ static void Mailbox_MoveToBag(u8); static void Mailbox_Give(u8); static void Mailbox_Cancel(u8); -static const struct TextStruct gPCText_OptionDescList[] = +static const u8 *const gPCText_OptionDescList[] = { PCText_TakeOutItems, PCText_StoreItems, @@ -319,7 +316,7 @@ static void InitItemStorageMenu(u8 var) MenuDrawTextWindow(0, 0, 11, 9); PrintMenuItems(1, 1, 4, (struct MenuAction *)gPCText_ItemPCOptionsText); InitMenu(0, 1, 1, 4, var, 10); - ItemStorageMenuPrint(gPCText_OptionDescList[var].text); + ItemStorageMenuPrint(gPCText_OptionDescList[var]); } static void ItemStorageMenuPrint(const u8 *textPtr) @@ -334,13 +331,13 @@ static void ItemStorageMenuProcessInput(u8 var) { PlaySE(SE_SELECT); MoveMenuCursor(-1); - ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()].text); + ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()]); } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { PlaySE(SE_SELECT); MoveMenuCursor(1); - ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()].text); + ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()]); } else if (gMain.newKeys & A_BUTTON) { @@ -935,36 +932,36 @@ weirdCase: static void ItemStorage_PrintItemPcResponse(u16 itemId) { - u8 *string; + const u8 *string; switch(itemId) { case ITEMPC_GO_BACK_TO_PREV: - string = (u8 *)gMenuText_GoBackToPrev; + string = gMenuText_GoBackToPrev; break; case ITEMPC_HOW_MANY_TO_WITHDRAW: - string = (u8 *)gOtherText_HowManyToWithdraw; + string = gOtherText_HowManyToWithdraw; break; case ITEMPC_WITHDREW_THING: - string = (u8 *)gOtherText_WithdrewThing; + string = gOtherText_WithdrewThing; break; case ITEMPC_HOW_MANY_TO_TOSS: - string = (u8 *)gOtherText_HowManyToToss; + string = gOtherText_HowManyToToss; break; case ITEMPC_THREW_AWAY_ITEM: - string = (u8 *)gOtherText_ThrewAwayItem; + string = gOtherText_ThrewAwayItem; break; case ITEMPC_NO_MORE_ROOM: - string = (u8 *)gOtherText_NoMoreRoom; + string = gOtherText_NoMoreRoom; break; case ITEMPC_TOO_IMPORTANT: - string = (u8 *)gOtherText_TooImportant; + string = gOtherText_TooImportant; break; case ITEMPC_OKAY_TO_THROW_AWAY: - string = (u8 *)gOtherText_OkayToThrowAwayPrompt; + string = gOtherText_OkayToThrowAwayPrompt; break; case ITEMPC_SWITCH_WHICH_ITEM: - string = (u8 *)gOtherText_SwitchWhichItem; + string = gOtherText_SwitchWhichItem; break; default: string = ItemId_GetDescription(itemId); diff --git a/src/scrcmd.c b/src/scrcmd.c index a394f2a55..45552f2fa 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1416,7 +1416,7 @@ bool8 ScrCmd_bufferstd(struct ScriptContext *ctx) { u8 stringVarIndex = ScriptReadByte(ctx); u16 index = VarGet(ScriptReadHalfword(ctx)); - StringCopy(sScriptStringVars[stringVarIndex], gUnknown_083CE048[index].text); + StringCopy(sScriptStringVars[stringVarIndex], gUnknown_083CE048[index]); return FALSE; } diff --git a/src/script.c b/src/script.c index 488a67de1..c27eb22fe 100644 --- a/src/script.c +++ b/src/script.c @@ -34,7 +34,7 @@ void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTable ctx->stack[i] = 0; } -u8 SetupBytecodeScript(struct ScriptContext *ctx, void *ptr) +u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr) { ctx->scriptPtr = ptr; ctx->mode = 1; @@ -106,7 +106,7 @@ u8 RunScript(struct ScriptContext *ctx) return 1; } -u8 ScriptPush(struct ScriptContext *ctx, u8 *ptr) +u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr) { if (ctx->stackDepth + 1 >= 20) { @@ -120,7 +120,7 @@ u8 ScriptPush(struct ScriptContext *ctx, u8 *ptr) } } -u8 *ScriptPop(struct ScriptContext *ctx) +const u8 *ScriptPop(struct ScriptContext *ctx) { if (ctx->stackDepth == 0) return NULL; @@ -202,7 +202,7 @@ bool8 ScriptContext2_RunScript(void) return 1; } -void ScriptContext1_SetupScript(u8 *ptr) +void ScriptContext1_SetupScript(const u8 *ptr) { InitScriptContext(&sScriptContext1, gScriptCmdTable, gScriptCmdTableEnd); SetupBytecodeScript(&sScriptContext1, ptr); @@ -221,7 +221,7 @@ void EnableBothScriptContexts() ScriptContext2_Enable(); } -void ScriptContext2_RunNewScript(u8 *ptr) +void ScriptContext2_RunNewScript(const u8 *ptr) { InitScriptContext(&sScriptContext2, &gScriptCmdTable, &gScriptCmdTableEnd); SetupBytecodeScript(&sScriptContext2, ptr); diff --git a/src/script_menu.c b/src/script_menu.c index e1ad3f467..f4ac55fb9 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -547,7 +547,7 @@ const struct MultichoiceListStruct gMultichoiceLists[] = {(struct MenuAction *)MultichoiceList_72, 5} }; -const struct TextStruct gUnknown_083CE048[] = +const u8 *const gUnknown_083CE048[] = { OtherText_Cool2, OtherText_Beauty3, diff --git a/src/strings.c b/src/strings.c index be1bd94c7..219c5bec1 100644 --- a/src/strings.c +++ b/src/strings.c @@ -197,7 +197,7 @@ const u8 OtherText_TheField[] = _("the field."); const u8 OtherText_TheField2[] = _("the field."); const u8 OtherText_ThePC[] = _("the PC."); -const struct TextStruct gUnknown_0840E740[7] = +const u8 *const gUnknown_0840E740[7] = { OtherText_TheField3, OtherText_TheBattle, @@ -1120,7 +1120,7 @@ const u8 OtherText_TheField[] = _("zum Hauptmenü."); const u8 OtherText_TheField2[] = _("zum Hauptmenü."); const u8 OtherText_ThePC[] = _("zum PC."); -const struct TextStruct gUnknown_0840E740[7] = +const u8 *const gUnknown_0840E740[7] = { OtherText_TheField3, OtherText_TheBattle, diff --git a/src/task.c b/src/task.c index 3c28a66d9..7bd2b5937 100644 --- a/src/task.c +++ b/src/task.c @@ -11,6 +11,9 @@ struct Task gTasks[ACTIVE_SENTINEL]; static void InsertTask(u8 newTaskId); static u8 FindFirstActiveTask(); +// Unused string +const u8 sTaskOverString[] = _("TASK OVER\nタスクがオーバーしました"); + void ResetTasks() { u8 taskId; @@ -164,19 +164,19 @@ void nullsub_21(void); void sub_80BE188(void); void sub_80BE320(void); -#ifdef NONMATCHING u8 special_0x44(void) { u8 i; u8 j; - u8 var01; - TVShow *tvShow; - for (i=5; i<24; i++) + +#ifndef NONMATCHING + asm("":::"r5"); +#endif + + for (i = 5; i < 24; i++) { if (gSaveBlock1.tvShows[i].common.var00 == 0) - { break; - } } i = Random() % i; j = i; @@ -184,140 +184,35 @@ u8 special_0x44(void) { if (sub_80BFB54(gSaveBlock1.tvShows[i].common.var00) != 4) { - var01 = gSaveBlock1.tvShows[i].common.var01; - } else - { - tvShow = &gSaveBlock1.tvShows[i]; - if (tvShow->massOutbreak.var16 != 0) { - continue; - } else { - var01 = tvShow->common.var01; - } + if (gSaveBlock1.tvShows[i].common.var01 == 1) + return i; } - if (var01 == 1) + else { - return i; + struct TVShowMassOutbreak *massOutbreak = &gSaveBlock1.tvShows[i].massOutbreak; + + if (massOutbreak->var16 == 0 && massOutbreak->var01 == 1) + return i; } - } while (i == 0 ? i = 23 : i --, i != j); - return 0xff; -} -#else -__attribute__((naked)) -u8 special_0x44(void) -{ - asm(".syntax unified\n" - " push {r4-r7,lr}\n" - " mov r7, r9\n" - " mov r6, r8\n" - " push {r6,r7}\n" - " movs r4, 0x5\n" - " ldr r1, _080BD874 @ =gSaveBlock1\n" - " ldr r2, _080BD878 @ =0x000027ec\n" - " adds r0, r1, r2\n" - " ldrb r0, [r0]\n" - " cmp r0, 0\n" - " beq _080BD834\n" - " adds r2, r1, 0\n" - " ldr r1, _080BD87C @ =0x00002738\n" - "_080BD81A:\n" - " adds r0, r4, 0x1\n" - " lsls r0, 24\n" - " lsrs r4, r0, 24\n" - " cmp r4, 0x17\n" - " bhi _080BD834\n" - " lsls r0, r4, 3\n" - " adds r0, r4\n" - " lsls r0, 2\n" - " adds r0, r2\n" - " adds r0, r1\n" - " ldrb r0, [r0]\n" - " cmp r0, 0\n" - " bne _080BD81A\n" - "_080BD834:\n" - " bl Random\n" - " lsls r0, 16\n" - " lsrs r0, 16\n" - " adds r1, r4, 0\n" - " bl __modsi3\n" - " lsls r0, 24\n" - " lsrs r4, r0, 24\n" - " mov r8, r4\n" - " ldr r7, _080BD874 @ =gSaveBlock1\n" - " ldr r0, _080BD87C @ =0x00002738\n" - " adds r0, r7\n" - " mov r9, r0\n" - "_080BD850:\n" - " lsls r0, r4, 3\n" - " adds r0, r4\n" - " lsls r6, r0, 2\n" - " adds r5, r6, r7\n" - " ldr r1, _080BD87C @ =0x00002738\n" - " adds r0, r5, r1\n" - " ldrb r0, [r0]\n" - " bl sub_80BFB54\n" - " lsls r0, 24\n" - " lsrs r0, 24\n" - " cmp r0, 0x4\n" - " beq _080BD884\n" - " ldr r2, _080BD880 @ =0x00002739\n" - " adds r0, r5, r2\n" - " ldrb r0, [r0]\n" - " b _080BD890\n" - " .align 2, 0\n" - "_080BD874: .4byte gSaveBlock1\n" - "_080BD878: .4byte 0x000027ec\n" - "_080BD87C: .4byte 0x00002738\n" - "_080BD880: .4byte 0x00002739\n" - "_080BD884:\n" - " mov r0, r9\n" - " adds r1, r6, r0\n" - " ldrh r0, [r1, 0x16]\n" - " cmp r0, 0\n" - " bne _080BD898\n" - " ldrb r0, [r1, 0x1]\n" - "_080BD890:\n" - " cmp r0, 0x1\n" - " bne _080BD898\n" - " adds r0, r4, 0\n" - " b _080BD8AC\n" - "_080BD898:\n" - " cmp r4, 0\n" - " bne _080BD8A0\n" - " movs r4, 0x17\n" - " b _080BD8A6\n" - "_080BD8A0:\n" - " subs r0, r4, 0x1\n" - " lsls r0, 24\n" - " lsrs r4, r0, 24\n" - "_080BD8A6:\n" - " cmp r4, r8\n" - " bne _080BD850\n" - " movs r0, 0xFF\n" - "_080BD8AC:\n" - " pop {r3,r4}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " pop {r4-r7}\n" - " pop {r1}\n" - " bx r1\n" - ".syntax divided\n"); + + if (i == 0) + i = 23; + else + i--; + } while (i != j); + return 0xFF; } -#endif u8 sub_80BDA30(void); u8 sub_80BD8B8(void) { - u8 retval; - retval = special_0x44(); + u8 retval = special_0x44(); + if (retval == 0xff) - { return 0xff; - } if (gSaveBlock1.outbreakPokemonSpecies != 0 && gSaveBlock1.tvShows[retval].common.var00 == TVSHOW_MASS_OUTBREAK) - { return sub_80BDA30(); - } return retval; } @@ -328,26 +223,26 @@ bool8 IsTVShowInSearchOfTrainersAiring(void); void UpdateTVScreensOnMap(int width, int height) { - u8 bigMovieOrEmergencyNewsOnTv; FlagSet(SYS_TV_WATCH); - bigMovieOrEmergencyNewsOnTv = CheckForBigMovieOrEmergencyNewsOnTV(); - switch (bigMovieOrEmergencyNewsOnTv) + switch (CheckForBigMovieOrEmergencyNewsOnTV()) { - case 1: + case 1: + SetTVMetatilesOnMap(width, height, 0x3); + break; + case 2: + break; + default: + if (gSaveBlock1.location.mapGroup == MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F + && gSaveBlock1.location.mapNum == MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_1F) + { SetTVMetatilesOnMap(width, height, 0x3); - break; - case 2: - break; - default: - if (gSaveBlock1.location.mapGroup == MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F && gSaveBlock1.location.mapNum == MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_1F) - { - SetTVMetatilesOnMap(width, height, 0x3); - } - else if (FlagGet(SYS_TV_START) && (sub_80BD8B8() != 0xff || sub_80BECA0() != 0xff || IsTVShowInSearchOfTrainersAiring())) - { - FlagReset(SYS_TV_WATCH); - SetTVMetatilesOnMap(width, height, 0x3); - } + } + else if (FlagGet(SYS_TV_START) && (sub_80BD8B8() != 0xff || sub_80BECA0() != 0xff || IsTVShowInSearchOfTrainersAiring())) + { + FlagReset(SYS_TV_WATCH); + SetTVMetatilesOnMap(width, height, 0x3); + } + break; } } @@ -355,14 +250,13 @@ void SetTVMetatilesOnMap(int width, int height, u16 tileId) { int x; int y; + for (y=0; y<height; y++) { for (x=0; x<width; x++) { if (MapGridGetMetatileBehaviorAt(x, y) == 0x86) - { MapGridSetMetatileIdAt(x, y, tileId | 0xc00); - } } } } @@ -384,9 +278,7 @@ u8 sub_80BDA30(void) for (showIdx=0; showIdx<24; showIdx++) { if (gSaveBlock1.tvShows[showIdx].common.var00 != 0 && gSaveBlock1.tvShows[showIdx].common.var00 != TVSHOW_MASS_OUTBREAK && gSaveBlock1.tvShows[showIdx].common.var01 == 1) - { return showIdx; - } } return 0xff; } @@ -396,9 +288,7 @@ u8 special_0x4a(void) TVShow *tvShow; tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; if (tvShow->common.var00 == TVSHOW_MASS_OUTBREAK && gSaveBlock1.outbreakPokemonSpecies) - { return sub_80BDA30(); - } return gSpecialVar_0x8004; } @@ -429,28 +319,24 @@ void TakeTVShowInSearchOfTrainersOffTheAir(void); void GabbyAndTyBeforeInterview(void) { u8 i; + gSaveBlock1.gabbyAndTyData.mon1 = gBattleResults.Poke1Species; gSaveBlock1.gabbyAndTyData.mon2 = gBattleResults.OpponentSpecies; gSaveBlock1.gabbyAndTyData.lastMove = gBattleResults.LastUsedMove; if (gSaveBlock1.gabbyAndTyData.battleNum != 0xff) - { gSaveBlock1.gabbyAndTyData.battleNum ++; - } gSaveBlock1.gabbyAndTyData.valA_0 = gBattleResults.unk5_0; + if (gBattleResults.PlayerFaintCounter) - { gSaveBlock1.gabbyAndTyData.valA_1 = 1; - } else - { + else gSaveBlock1.gabbyAndTyData.valA_1 = 0; - } + if (gBattleResults.unk3) - { gSaveBlock1.gabbyAndTyData.valA_2 = 1; - } else - { + else gSaveBlock1.gabbyAndTyData.valA_2 = 0; - } + if (!gBattleResults.unk5_1) { for (i=0; i<11; i++) @@ -461,15 +347,15 @@ void GabbyAndTyBeforeInterview(void) break; } } - } else + } + else { gSaveBlock1.gabbyAndTyData.valA_3 = 1; } + TakeTVShowInSearchOfTrainersOffTheAir(); if (gSaveBlock1.gabbyAndTyData.lastMove == 0) - { FlagSet(1); - } } void sub_80BDC14(void) @@ -491,10 +377,9 @@ void TakeTVShowInSearchOfTrainersOffTheAir(void) u8 GabbyAndTyGetBattleNum(void) { if (gSaveBlock1.gabbyAndTyData.battleNum >= 6) - { return (gSaveBlock1.gabbyAndTyData.battleNum % 3) + 6; - } - return gSaveBlock1.gabbyAndTyData.battleNum; + else + return gSaveBlock1.gabbyAndTyData.battleNum; } bool8 IsTVShowInSearchOfTrainersAiring(void) @@ -505,9 +390,8 @@ bool8 IsTVShowInSearchOfTrainersAiring(void) bool8 GabbyAndTyGetLastQuote(void) { if (gSaveBlock1.gabbyAndTyData.quote == 0xffff) - { return FALSE; - } + sub_80EB3FC(gStringVar1, gSaveBlock1.gabbyAndTyData.quote); gSaveBlock1.gabbyAndTyData.quote |= 0xffff; return TRUE; @@ -516,26 +400,20 @@ bool8 GabbyAndTyGetLastQuote(void) u8 sub_80BDD18(void) { if (!gSaveBlock1.gabbyAndTyData.valB_0) - { return 1; - } if (gSaveBlock1.gabbyAndTyData.valB_3) - { return 2; - } if (gSaveBlock1.gabbyAndTyData.valB_2) - { return 3; - } if (gSaveBlock1.gabbyAndTyData.valB_1) - { return 4; - } return 0; } -void GabbyAndTySetScriptVarsToFieldObjectLocalIds(void) { - switch (GabbyAndTyGetBattleNum()) { +void GabbyAndTySetScriptVarsToFieldObjectLocalIds(void) +{ + switch (GabbyAndTyGetBattleNum()) + { case 1: gSpecialVar_0x8004 = 0xE; gSpecialVar_0x8005 = 0xD; @@ -571,8 +449,10 @@ void GabbyAndTySetScriptVarsToFieldObjectLocalIds(void) { } } -void sub_80BDE48(void) { - switch (gSpecialVar_0x8005) { +void sub_80BDE48(void) +{ + switch (gSpecialVar_0x8005) + { case TVSHOW_FAN_CLUB_LETTER: sub_80BE5FC(); break; @@ -594,217 +474,131 @@ void sub_80BDE48(void) { } } -u8 sub_80BDEAC(u8 *a0) { - u8 lang; - lang = GAME_LANGUAGE; - if (a0[0] == 0xFC && a0[1] == 0x15) { +u8 sub_80BDEAC(u8 *a0) +{ + u8 lang = GAME_LANGUAGE; + + if (a0[0] == EXT_CTRL_CODE_BEGIN && a0[1] == 0x15) lang = LANGUAGE_JAPANESE; - } return lang; } -void sub_80BDEC8(void) { - TVShow *show; +void sub_80BDEC8(void) +{ u8 i; u16 total; u16 item; + total = 0; sub_80BEB20(); sub_80BE778(); - if (gBattleResults.CaughtPoke == 0) { + + if (gBattleResults.CaughtPoke == 0) + { sub_80BE074(); - } else { + } + else + { sub_80BE028(); - if (sub_80BF77C(0xffff) == 0 && StringCompareWithoutExtCtrlCodes(gSpeciesNames[gBattleResults.CaughtPoke], gBattleResults.CaughtNick) != 0) { + if (sub_80BF77C(0xffff) == 0 && StringCompareWithoutExtCtrlCodes(gSpeciesNames[gBattleResults.CaughtPoke], gBattleResults.CaughtNick) != 0) + { gUnknown_03005D38.var0 = sub_80BF74C(gSaveBlock1.tvShows); - if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_POKEMON_TODAY_CAUGHT) != 1) { - for (i=0; i<11; i++) { + if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_POKEMON_TODAY_CAUGHT) != 1) + { + for (i = 0; i < 11; i++) total += gBattleResults.unk36[i]; - } - if (total != 0 || gBattleResults.unk5_1 != 0) { - total = FALSE; - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - show->pokemonToday.var00 = TVSHOW_POKEMON_TODAY_CAUGHT; - show->pokemonToday.var01 = total; - if (gBattleResults.unk5_1 != 0) { + if (total != 0 || gBattleResults.unk5_1 != 0) + { + struct TVShowPokemonToday *pokemonToday; + + total = 0; + pokemonToday = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].pokemonToday; + pokemonToday->var00 = TVSHOW_POKEMON_TODAY_CAUGHT; + pokemonToday->var01 = total; + if (gBattleResults.unk5_1 != 0) + { total = 1; item = ITEM_MASTER_BALL; - } else { - for (i=0; i<11; i++) { + } + else + { + for (i = 0; i < 11; i++) total += gBattleResults.unk36[i]; - } - if (total > 0xff) { + if (total > 0xff) total = 0xff; - } item = gLastUsedItem; } - show->pokemonToday.var12 = total; - show->pokemonToday.ball = item; - StringCopy(show->pokemonToday.playerName, gSaveBlock2.playerName); - StringCopy(show->pokemonToday.nickname, gBattleResults.CaughtNick); - show->pokemonToday.species = gBattleResults.CaughtPoke; - sub_80BE138(show); - show->pokemonToday.language = GAME_LANGUAGE; - show->pokemonToday.language2 = sub_80BDEAC(show->pokemonToday.nickname); - StripExtCtrlCodes(show->pokemonToday.nickname); + pokemonToday->var12 = total; + pokemonToday->ball = item; + StringCopy(pokemonToday->playerName, gSaveBlock2.playerName); + StringCopy(pokemonToday->nickname, gBattleResults.CaughtNick); + pokemonToday->species = gBattleResults.CaughtPoke; + sub_80BE138((TVShow *)pokemonToday); + pokemonToday->language = GAME_LANGUAGE; + pokemonToday->language2 = sub_80BDEAC(pokemonToday->nickname); + StripExtCtrlCodes(pokemonToday->nickname); } } } } } -void sub_80BE028(void) { - TVShow *buffer; - buffer = &gSaveBlock1.tvShows[24]; - if (buffer->worldOfMasters.var00 != TVSHOW_WORLD_OF_MASTERS) { +void sub_80BE028(void) +{ + struct TVShowWorldOfMasters *worldOfMasters = &gSaveBlock1.tvShows[24].worldOfMasters; + + if (worldOfMasters->var00 != TVSHOW_WORLD_OF_MASTERS) + { sub_80BF55C(gSaveBlock1.tvShows, 24); - buffer->worldOfMasters.var06 = GetGameStat(GAME_STAT_STEPS); - buffer->worldOfMasters.var00 = TVSHOW_WORLD_OF_MASTERS; + worldOfMasters->var06 = GetGameStat(GAME_STAT_STEPS); + worldOfMasters->var00 = TVSHOW_WORLD_OF_MASTERS; } - buffer->worldOfMasters.var02++; - buffer->worldOfMasters.var04 = gBattleResults.CaughtPoke; - buffer->worldOfMasters.var08 = gBattleResults.Poke1Species; - buffer->worldOfMasters.var0a = gMapHeader.name; + worldOfMasters->var02++; + worldOfMasters->var04 = gBattleResults.CaughtPoke; + worldOfMasters->var08 = gBattleResults.Poke1Species; + worldOfMasters->var0a = gMapHeader.name; } -#ifdef NONMATCHING -void sub_80BE074(void) { +void sub_80BE074(void) +{ u8 i; u16 total; - u8 flag; - TVShow *show; - if (sub_80BF77C(0xffff) == 0) { - for (i=0, total=0; i<ARRAY_COUNT(gUnknown_03004316); i++) { + u8 zero = 0; + + if (sub_80BF77C(0xffff) == 0) + { + for (i = 0, total = 0; i < ARRAY_COUNT(gUnknown_03004316); i++) total += gUnknown_03004316[i]; - } - if (total > 0xff) { + if (total > 0xff) total = 0xff; - } - if (total > 2 && gBattleOutcome == 1) { + if (total > 2 && gBattleOutcome == 1) + { gUnknown_03005D38.var0 = sub_80BF74C(gSaveBlock1.tvShows); - if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_POKEMON_TODAY_FAILED) != 1) { - flag = FALSE; - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - asm_comment("Here the wrong registers are used to hold the show ID and flag."); - show->pokemonTodayFailed.var00 = TVSHOW_POKEMON_TODAY_FAILED; - show->pokemonTodayFailed.var01 = flag; - show->pokemonTodayFailed.species = gBattleResults.Poke1Species; - show->pokemonTodayFailed.species2 = gBattleResults.unk20; - show->pokemonTodayFailed.var10 = total; - show->pokemonTodayFailed.var11 = gBattleOutcome; - show->pokemonTodayFailed.var12 = gMapHeader.name; - StringCopy(show->pokemonTodayFailed.playerName, gSaveBlock2.playerName); - sub_80BE138(show); - show->pokemonTodayFailed.language = GAME_LANGUAGE; + if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_POKEMON_TODAY_FAILED) != 1) + { + struct TVShowPokemonTodayFailed *pokemonTodayFailed = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].pokemonTodayFailed; + + zero = 0; + pokemonTodayFailed->var00 = TVSHOW_POKEMON_TODAY_FAILED; + pokemonTodayFailed->var01 = zero; + pokemonTodayFailed->species = gBattleResults.Poke1Species; + pokemonTodayFailed->species2 = gBattleResults.LastOpponentSpecies; + pokemonTodayFailed->var10 = total; + pokemonTodayFailed->var11 = gBattleOutcome; + pokemonTodayFailed->var12 = gMapHeader.name; + StringCopy(pokemonTodayFailed->playerName, gSaveBlock2.playerName); + sub_80BE138((TVShow *)pokemonTodayFailed); + pokemonTodayFailed->language = GAME_LANGUAGE; } } } } -#else -__attribute__((naked)) -void sub_80BE074(void) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - ldr r0, _080BE118 @ =0x0000ffff\n\ - bl sub_80BF77C\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _080BE112\n\ - movs r1, 0\n\ - movs r5, 0\n\ - ldr r2, _080BE11C @ =gUnknown_03004316\n\ -_080BE088:\n\ - adds r0, r1, r2\n\ - ldrb r0, [r0]\n\ - adds r0, r5, r0\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - adds r0, r1, 0x1\n\ - lsls r0, 24\n\ - lsrs r1, r0, 24\n\ - cmp r1, 0xA\n\ - bls _080BE088\n\ - cmp r5, 0xFF\n\ - bls _080BE0A2\n\ - movs r5, 0xFF\n\ -_080BE0A2:\n\ - cmp r5, 0x2\n\ - bls _080BE112\n\ - ldr r7, _080BE120 @ =gBattleOutcome\n\ - ldrb r0, [r7]\n\ - cmp r0, 0x1\n\ - bne _080BE112\n\ - ldr r6, _080BE124 @ =gSaveBlock1 + 0x2738\n\ - adds r0, r6, 0\n\ - bl sub_80BF74C\n\ - ldr r4, _080BE128 @ =gUnknown_03005D38\n\ - strb r0, [r4]\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - movs r1, 0x1\n\ - negs r1, r1\n\ - cmp r0, r1\n\ - beq _080BE112\n\ - movs r0, 0x17\n\ - bl sub_80BF1B4\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x1\n\ - beq _080BE112\n\ - movs r0, 0\n\ - ldrsb r0, [r4, r0]\n\ - lsls r4, r0, 3\n\ - adds r4, r0\n\ - lsls r4, 2\n\ - adds r4, r6\n\ - @ -- Here the compiler puts the status flag in the wrong register. --\n\ - movs r1, 0\n\ - movs r0, 0x17\n\ - strb r0, [r4]\n\ - strb r1, [r4, 0x1]\n\ - ldr r1, _080BE12C @ =gBattleResults\n\ - ldrh r0, [r1, 0x6]\n\ - strh r0, [r4, 0xC]\n\ - ldrh r0, [r1, 0x20]\n\ - strh r0, [r4, 0xE]\n\ - strb r5, [r4, 0x10]\n\ - ldrb r0, [r7]\n\ - strb r0, [r4, 0x11]\n\ - ldr r0, _080BE130 @ =gMapHeader\n\ - ldrb r0, [r0, 0x14]\n\ - strb r0, [r4, 0x12]\n\ - adds r0, r4, 0\n\ - adds r0, 0x13\n\ - ldr r1, _080BE134 @ =gSaveBlock2\n\ - bl StringCopy\n\ - adds r0, r4, 0\n\ - bl sub_80BE138\n"); -#if ENGLISH - asm("movs r0, 2 @ GAME_LANGUAGE\n"); -#elif GERMAN - asm("movs r0, 5 @ GAME_LANGUAGE\n"); -#endif - asm("strb r0, [r4, 0x2]\n\ -_080BE112:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080BE118: .4byte 0x0000ffff\n\ -_080BE11C: .4byte gUnknown_03004316\n\ -_080BE120: .4byte gBattleOutcome\n\ -_080BE124: .4byte gSaveBlock1 + 0x2738\n\ -_080BE128: .4byte gUnknown_03005D38\n\ -_080BE12C: .4byte gBattleResults\n\ -_080BE130: .4byte gMapHeader\n\ -_080BE134: .4byte gSaveBlock2\n\ -.syntax divided\n"); -} -#endif -void sub_80BE138(TVShow *show) { - u32 playerId; - playerId = GetPlayerTrainerId(); + +void sub_80BE138(TVShow *show) +{ + u32 playerId = GetPlayerTrainerId(); + show->common.srcTrainerId2Lo = playerId & 0xFF; show->common.srcTrainerId2Hi = playerId >> 8; show->common.srcTrainerIdLo = playerId & 0xFF; @@ -813,107 +607,119 @@ void sub_80BE138(TVShow *show) { show->common.trainerIdHi = playerId >> 8; } -void sub_80BE160(TVShow *show) { - u32 playerId; - playerId = GetPlayerTrainerId(); +void sub_80BE160(TVShow *show) +{ + u32 playerId = GetPlayerTrainerId(); + show->common.srcTrainerIdLo = playerId & 0xFF; show->common.srcTrainerIdHi = playerId >> 8; show->common.trainerIdLo = playerId & 0xFF; show->common.trainerIdHi = playerId >> 8; } -void sub_80BE188(void) { - TVShow *show; - TVShow *buffer; - buffer = &gSaveBlock1.tvShows[24]; - if (buffer->bravoTrainer.var00 == TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE) { - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - show->bravoTrainer.var00 = TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE; - show->bravoTrainer.var01 = 1; - show->bravoTrainer.species = buffer->bravoTrainer.species; - StringCopy(show->bravoTrainer.playerName, gSaveBlock2.playerName); - StringCopy(show->bravoTrainer.pokemonNickname, buffer->bravoTrainer.pokemonNickname); - show->bravoTrainer.contestCategory = buffer->bravoTrainer.contestCategory; - show->bravoTrainer.contestRank = buffer->bravoTrainer.contestRank; - show->bravoTrainer.var14 = buffer->bravoTrainer.var14; - show->bravoTrainer.contestResult = buffer->bravoTrainer.contestResult; - show->bravoTrainer.contestCategory = buffer->bravoTrainer.contestCategory; - sub_80BE160(show); - show->bravoTrainer.language = GAME_LANGUAGE; - show->bravoTrainer.var1f = sub_80BDEAC(show->bravoTrainer.pokemonNickname); - StripExtCtrlCodes(show->bravoTrainer.pokemonNickname); - } -} - -void sub_80BE23C(u16 a0) { - TVShow *show; - show = &gSaveBlock1.tvShows[24]; +void sub_80BE188(void) +{ + struct TVShowBravoTrainerPokemonProfiles *bravoTrainerSrc = &gSaveBlock1.tvShows[24].bravoTrainer; + + if (bravoTrainerSrc->var00 == TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE) + { + struct TVShowBravoTrainerPokemonProfiles *bravoTrainerNew = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].bravoTrainer; + + bravoTrainerNew->var00 = TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE; + bravoTrainerNew->var01 = 1; + bravoTrainerNew->species = bravoTrainerSrc->species; + StringCopy(bravoTrainerNew->playerName, gSaveBlock2.playerName); + StringCopy(bravoTrainerNew->pokemonNickname, bravoTrainerSrc->pokemonNickname); + bravoTrainerNew->contestCategory = bravoTrainerSrc->contestCategory; + bravoTrainerNew->contestRank = bravoTrainerSrc->contestRank; + bravoTrainerNew->var14 = bravoTrainerSrc->var14; + bravoTrainerNew->contestResult = bravoTrainerSrc->contestResult; + bravoTrainerNew->contestCategory = bravoTrainerSrc->contestCategory; + sub_80BE160((TVShow *)bravoTrainerNew); + bravoTrainerNew->language = GAME_LANGUAGE; + bravoTrainerNew->var1f = sub_80BDEAC(bravoTrainerNew->pokemonNickname); + StripExtCtrlCodes(bravoTrainerNew->pokemonNickname); + } +} + +void sub_80BE23C(u16 a0) +{ + struct TVShowBravoTrainerPokemonProfiles *bravoTrainer = &gSaveBlock1.tvShows[24].bravoTrainer; + sub_80BF484(); gUnknown_03005D38.var0 = sub_80BF720(gSaveBlock1.tvShows); - if (gUnknown_03005D38.var0 != -1) { + if (gUnknown_03005D38.var0 != -1) + { sub_80BF55C(gSaveBlock1.tvShows, 24); - show->bravoTrainer.var14 = a0; - show->bravoTrainer.var00 = TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE; + bravoTrainer->var14 = a0; + bravoTrainer->var00 = TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE; } } -void sub_80BE284(u8 a0) { - TVShow *show; - show = &gSaveBlock1.tvShows[24]; +void sub_80BE284(u8 a0) +{ + struct TVShowBravoTrainerPokemonProfiles *bravoTrainer = &gSaveBlock1.tvShows[24].bravoTrainer; + gUnknown_03005D38.var0 = sub_80BF720(gSaveBlock1.tvShows); - if (gUnknown_03005D38.var0 != -1) { - show->bravoTrainer.contestResult = a0; - show->bravoTrainer.contestCategory = gScriptContestCategory; - show->bravoTrainer.contestRank = gScriptContestRank; - show->bravoTrainer.species = GetMonData(&gPlayerParty[gUnknown_02038694], MON_DATA_SPECIES, NULL); - GetMonData(&gPlayerParty[gUnknown_02038694], MON_DATA_NICKNAME, show->bravoTrainer.pokemonNickname); - } -} - -void sub_80BE320(void) { - TVShow *show; - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - show->bravoTrainerTower.var00 = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; - show->bravoTrainerTower.var01 = 1; - StringCopy(show->bravoTrainerTower.trainerName, gSaveBlock2.playerName); - StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2.filler_A8.filler_3DC); - show->bravoTrainerTower.species = gSaveBlock2.filler_A8.var_480; - show->bravoTrainerTower.defeatedSpecies = gSaveBlock2.filler_A8.var_482; - show->bravoTrainerTower.var16 = sub_8135D3C(gSaveBlock2.filler_A8.var_4D0); - show->bravoTrainerTower.var1c = gSaveBlock2.filler_A8.var_4AD; - if (gSaveBlock2.filler_A8.var_4D0 == 0) { - show->bravoTrainerTower.btLevel = 50; - } else { - show->bravoTrainerTower.btLevel = 100; - } - show->bravoTrainerTower.var1b = gSpecialVar_0x8004; - sub_80BE160(show); - show->bravoTrainerTower.language = GAME_LANGUAGE; -} - -void sub_80BE3BC(void) { + if (gUnknown_03005D38.var0 != -1) + { + bravoTrainer->contestResult = a0; + bravoTrainer->contestCategory = gScriptContestCategory; + bravoTrainer->contestRank = gScriptContestRank; + bravoTrainer->species = GetMonData(&gPlayerParty[gUnknown_02038694], MON_DATA_SPECIES, NULL); + GetMonData(&gPlayerParty[gUnknown_02038694], MON_DATA_NICKNAME, bravoTrainer->pokemonNickname); + } +} + +void sub_80BE320(void) +{ + struct TVShowBravoTrainerBattleTowerSpotlight *bravoTrainerTower = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].bravoTrainerTower; + + bravoTrainerTower->var00 = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; + bravoTrainerTower->var01 = 1; + StringCopy(bravoTrainerTower->trainerName, gSaveBlock2.playerName); + StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.filler_A8.filler_3DC); + bravoTrainerTower->species = gSaveBlock2.filler_A8.var_480; + bravoTrainerTower->defeatedSpecies = gSaveBlock2.filler_A8.var_482; + bravoTrainerTower->var16 = sub_8135D3C(gSaveBlock2.filler_A8.var_4D0); + bravoTrainerTower->var1c = gSaveBlock2.filler_A8.var_4AD; + if (gSaveBlock2.filler_A8.var_4D0 == 0) + bravoTrainerTower->btLevel = 50; + else + bravoTrainerTower->btLevel = 100; + bravoTrainerTower->var1b = gSpecialVar_0x8004; + sub_80BE160((TVShow *)bravoTrainerTower); + bravoTrainerTower->language = GAME_LANGUAGE; +} + +void sub_80BE3BC(void) +{ u8 rval; - TVShow *tvShow; u8 i; rval = sub_80BF77C(0x5555); - if (rval == 0) { + if (rval == 0) + { gUnknown_03005D38.var0 = sub_80BF74C(gSaveBlock1.tvShows); - if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_SMART_SHOPPER) != 1) { + if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_SMART_SHOPPER) != 1) + { sub_80BF20C(); - if (gUnknown_02038724[0].item_amount >= 20) { - tvShow = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - tvShow->smartshopperShow.var00 = TVSHOW_SMART_SHOPPER; - tvShow->smartshopperShow.var01 = rval; - tvShow->smartshopperShow.shopLocation = gMapHeader.name; - for (i=0; i<3; i++) { - tvShow->smartshopperShow.itemIds[i] = gUnknown_02038724[i].item_id; - tvShow->smartshopperShow.itemAmounts[i] = gUnknown_02038724[i].item_amount; + if (gUnknown_02038724[0].item_amount >= 20) + { + struct TVShowSmartShopper *smartShopper = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].smartshopperShow; + + smartShopper->var00 = TVSHOW_SMART_SHOPPER; + smartShopper->var01 = rval; + smartShopper->shopLocation = gMapHeader.name; + for (i=0; i<3; i++) + { + smartShopper->itemIds[i] = gUnknown_02038724[i].item_id; + smartShopper->itemAmounts[i] = gUnknown_02038724[i].item_amount; } - tvShow->smartshopperShow.priceReduced = GetPriceReduction(1); - StringCopy(tvShow->smartshopperShow.playerName, gSaveBlock2.playerName); - sub_80BE138(tvShow); - tvShow->smartshopperShow.language = GAME_LANGUAGE; + smartShopper->priceReduced = GetPriceReduction(1); + StringCopy(smartShopper->playerName, gSaveBlock2.playerName); + sub_80BE138((TVShow *)smartShopper); + smartShopper->language = GAME_LANGUAGE; } } } @@ -921,132 +727,90 @@ void sub_80BE3BC(void) { void sub_80BE478(void) { - u16 playerNameLength; - u16 pokemonNicknameLength; - TVShow *tvShow; - sub_80BF478(); - if (gScriptResult == 1) - { return; - } GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1); - - playerNameLength = StringLength(gSaveBlock2.playerName); - if (playerNameLength <= 1) + if (StringLength(gSaveBlock2.playerName) > 1 && StringLength(gStringVar1) > 1) { - return; - } + struct TVShowNameRaterShow *nameRaterShow = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].nameRaterShow; - pokemonNicknameLength = StringLength(gStringVar1); - if (pokemonNicknameLength <= 1) - { - return; + nameRaterShow->var00 = TVSHOW_NAME_RATER_SHOW; + nameRaterShow->var01 = 1; + nameRaterShow->species = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES, NULL); + nameRaterShow->random = Random() % 3; + nameRaterShow->random2 = Random() % 2; + nameRaterShow->var1C = sub_80BF674(nameRaterShow->species); + StringCopy(nameRaterShow->trainerName, gSaveBlock2.playerName); + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, nameRaterShow->pokemonName); + sub_80BE160((TVShow *)nameRaterShow); + nameRaterShow->language = GAME_LANGUAGE; + nameRaterShow->pokemonNameLanguage = sub_80BDEAC(nameRaterShow->pokemonName); + StripExtCtrlCodes(nameRaterShow->pokemonName); } - - tvShow = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - - tvShow->nameRaterShow.var00 = TVSHOW_NAME_RATER_SHOW; - tvShow->nameRaterShow.var01 = 1; - - tvShow->nameRaterShow.species = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES, NULL); - tvShow->nameRaterShow.random = Random() % 3; - tvShow->nameRaterShow.random2 = Random() % 2; - - tvShow->nameRaterShow.var1C = sub_80BF674(tvShow->nameRaterShow.species); - - StringCopy(tvShow->nameRaterShow.trainerName, gSaveBlock2.playerName); - - GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, tvShow->nameRaterShow.pokemonName); - - sub_80BE160(tvShow); - - tvShow->nameRaterShow.language = GAME_LANGUAGE; - tvShow->nameRaterShow.pokemonNameLanguage = sub_80BDEAC(tvShow->nameRaterShow.pokemonName); - - StripExtCtrlCodes(tvShow->nameRaterShow.pokemonName); } void StartMassOutbreak(void) { - TVShow *tvShow; - - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; - - gSaveBlock1.outbreakPokemonSpecies = tvShow->massOutbreak.species; - gSaveBlock1.outbreakLocationMapNum = tvShow->massOutbreak.locationMapNum; - gSaveBlock1.outbreakLocationMapGroup = tvShow->massOutbreak.locationMapGroup; - gSaveBlock1.outbreakPokemonLevel = tvShow->massOutbreak.level; - gSaveBlock1.outbreakUnk1 = tvShow->massOutbreak.var02; - gSaveBlock1.outbreakUnk2 = tvShow->massOutbreak.var0E; - gSaveBlock1.outbreakPokemonMoves[0] = tvShow->massOutbreak.moves[0]; - gSaveBlock1.outbreakPokemonMoves[1] = tvShow->massOutbreak.moves[1]; - gSaveBlock1.outbreakPokemonMoves[2] = tvShow->massOutbreak.moves[2]; - gSaveBlock1.outbreakPokemonMoves[3] = tvShow->massOutbreak.moves[3]; - gSaveBlock1.outbreakUnk4 = tvShow->massOutbreak.var03; - gSaveBlock1.outbreakPokemonProbability = tvShow->massOutbreak.probability; + struct TVShowMassOutbreak *massOutbreak = &gSaveBlock1.tvShows[gSpecialVar_0x8004].massOutbreak; + + gSaveBlock1.outbreakPokemonSpecies = massOutbreak->species; + gSaveBlock1.outbreakLocationMapNum = massOutbreak->locationMapNum; + gSaveBlock1.outbreakLocationMapGroup = massOutbreak->locationMapGroup; + gSaveBlock1.outbreakPokemonLevel = massOutbreak->level; + gSaveBlock1.outbreakUnk1 = massOutbreak->var02; + gSaveBlock1.outbreakUnk2 = massOutbreak->var0E; + gSaveBlock1.outbreakPokemonMoves[0] = massOutbreak->moves[0]; + gSaveBlock1.outbreakPokemonMoves[1] = massOutbreak->moves[1]; + gSaveBlock1.outbreakPokemonMoves[2] = massOutbreak->moves[2]; + gSaveBlock1.outbreakPokemonMoves[3] = massOutbreak->moves[3]; + gSaveBlock1.outbreakUnk4 = massOutbreak->var03; + gSaveBlock1.outbreakPokemonProbability = massOutbreak->probability; gSaveBlock1.outbreakUnk5 = 2; } void sub_80BE5FC(void) { - TVShow *tvShow; - u16 species; - - tvShow = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; + struct TVShowFanClubLetter *fanclubLetter = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].fanclubLetter; - tvShow->fanclubLetter.var00 = TVSHOW_FAN_CLUB_LETTER; - tvShow->fanclubLetter.var01 = 1; - StringCopy(tvShow->fanclubLetter.playerName, gSaveBlock2.playerName); - - species = GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL); - tvShow->fanclubLetter.species = species; - sub_80BE160(tvShow); - tvShow->fanclubLetter.language = GAME_LANGUAGE; + fanclubLetter->var00 = TVSHOW_FAN_CLUB_LETTER; + fanclubLetter->var01 = 1; + StringCopy(fanclubLetter->playerName, gSaveBlock2.playerName); + fanclubLetter->species = GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL); + sub_80BE160((TVShow *)fanclubLetter); + fanclubLetter->language = GAME_LANGUAGE; } void sub_80BE65C(void) { - TVShow *tvShow; + struct TVShowRecentHappenings *recentHappenings = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].recentHappenings; - tvShow = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - - tvShow->recentHappenings.var00 = TVSHOW_RECENT_HAPPENINGS; - tvShow->recentHappenings.var01 = 1; - StringCopy(tvShow->recentHappenings.playerName, gSaveBlock2.playerName); - tvShow->recentHappenings.var02 = 0; - - sub_80BE160(tvShow); - tvShow->recentHappenings.language = GAME_LANGUAGE; + recentHappenings->var00 = TVSHOW_RECENT_HAPPENINGS; + recentHappenings->var01 = 1; + StringCopy(recentHappenings->playerName, gSaveBlock2.playerName); + recentHappenings->var02 = 0; + sub_80BE160((TVShow *)recentHappenings); + recentHappenings->language = GAME_LANGUAGE; } void sub_80BE6A0(void) { - TVShow *tvShow; u8 monIndex; + struct TVShowFanclubOpinions *fanclubOpinions = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].fanclubOpinions; - tvShow = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - - tvShow->fanclubOpinions.var00 = TVSHOW_PKMN_FAN_CLUB_OPINIONS; - tvShow->fanclubOpinions.var01 = 1; - + fanclubOpinions->var00 = TVSHOW_PKMN_FAN_CLUB_OPINIONS; + fanclubOpinions->var01 = 1; monIndex = GetLeadMonIndex(); - - tvShow->fanclubOpinions.var04A = GetMonData(&gPlayerParty[monIndex], MON_DATA_FRIENDSHIP, NULL) / 16; - tvShow->fanclubOpinions.var04B = gSpecialVar_0x8007; - - - StringCopy(tvShow->fanclubOpinions.playerName, gSaveBlock2.playerName); - - GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_NICKNAME, tvShow->fanclubOpinions.var10); - - tvShow->fanclubOpinions.var02 = GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL); - sub_80BE160(tvShow); - tvShow->fanclubOpinions.language = GAME_LANGUAGE; - tvShow->fanclubOpinions.var0E = sub_80BDEAC(tvShow->fanclubOpinions.var10); - StripExtCtrlCodes(tvShow->fanclubOpinions.var10); + fanclubOpinions->var04A = GetMonData(&gPlayerParty[monIndex], MON_DATA_FRIENDSHIP, NULL) / 16; + fanclubOpinions->var04B = gSpecialVar_0x8007; + StringCopy(fanclubOpinions->playerName, gSaveBlock2.playerName); + GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_NICKNAME, fanclubOpinions->var10); + fanclubOpinions->var02 = GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL); + sub_80BE160((TVShow *)fanclubOpinions); + fanclubOpinions->language = GAME_LANGUAGE; + fanclubOpinions->var0E = sub_80BDEAC(fanclubOpinions->var10); + StripExtCtrlCodes(fanclubOpinions->var10); } void nullsub_21(void) @@ -1055,66 +819,46 @@ void nullsub_21(void) void sub_80BE778(void) { - u8 i; - - if (!FlagGet(SYS_GAME_CLEAR)) + if (FlagGet(SYS_GAME_CLEAR)) { - return; - } + u8 i; - - for (i = 0; i < 24; i++) - { - if (gSaveBlock1.tvShows[i].massOutbreak.var00 == TVSHOW_MASS_OUTBREAK) + for (i = 0; i < 24; i++) { - return; + if (gSaveBlock1.tvShows[i].massOutbreak.var00 == TVSHOW_MASS_OUTBREAK) + return; } - } - - if (sub_80BF77C(0x147)) - { - return; - } - - gUnknown_03005D38.var0 = sub_80BF720(gSaveBlock1.tvShows); - if (gUnknown_03005D38.var0 == -1) - { - return; - } - { - u16 rand; - u16 val; - s32 val2; - TVShow *tvShow; - - rand = Random(); - val = rand % 5; - - val2 = gUnknown_03005D38.var0; - - tvShow = &gSaveBlock1.tvShows[val2]; - - tvShow->massOutbreak.var00 = TVSHOW_MASS_OUTBREAK; - tvShow->massOutbreak.var01 = 1; - - tvShow->massOutbreak.level = gPokeOutbreakSpeciesList[val].level; - tvShow->massOutbreak.var02 = 0; - tvShow->massOutbreak.var03 = 0; - tvShow->massOutbreak.species = gPokeOutbreakSpeciesList[val].species; - tvShow->massOutbreak.var0E = 0; - tvShow->massOutbreak.moves[0] = gPokeOutbreakSpeciesList[val].moves[0]; - tvShow->massOutbreak.moves[1] = gPokeOutbreakSpeciesList[val].moves[1]; - tvShow->massOutbreak.moves[2] = gPokeOutbreakSpeciesList[val].moves[2]; - tvShow->massOutbreak.moves[3] = gPokeOutbreakSpeciesList[val].moves[3]; - tvShow->massOutbreak.locationMapNum = gPokeOutbreakSpeciesList[val].location; - tvShow->massOutbreak.locationMapGroup = 0; - tvShow->massOutbreak.var12 = 0; - tvShow->massOutbreak.probability = 0x32; - tvShow->massOutbreak.var15 = 0; - tvShow->massOutbreak.var16 = 0x01; - sub_80BE160(tvShow); + if (sub_80BF77C(0x147)) + return; - tvShow->massOutbreak.language = GAME_LANGUAGE; + gUnknown_03005D38.var0 = sub_80BF720(gSaveBlock1.tvShows); + if (gUnknown_03005D38.var0 != -1) + { + u16 rand = Random(); + u16 val = rand % 5; + s32 val2 = gUnknown_03005D38.var0; + struct TVShowMassOutbreak *massOutbreak = &gSaveBlock1.tvShows[val2].massOutbreak; + + massOutbreak->var00 = TVSHOW_MASS_OUTBREAK; + massOutbreak->var01 = 1; + massOutbreak->level = gPokeOutbreakSpeciesList[val].level; + massOutbreak->var02 = 0; + massOutbreak->var03 = 0; + massOutbreak->species = gPokeOutbreakSpeciesList[val].species; + massOutbreak->var0E = 0; + massOutbreak->moves[0] = gPokeOutbreakSpeciesList[val].moves[0]; + massOutbreak->moves[1] = gPokeOutbreakSpeciesList[val].moves[1]; + massOutbreak->moves[2] = gPokeOutbreakSpeciesList[val].moves[2]; + massOutbreak->moves[3] = gPokeOutbreakSpeciesList[val].moves[3]; + massOutbreak->locationMapNum = gPokeOutbreakSpeciesList[val].location; + massOutbreak->locationMapGroup = 0; + massOutbreak->var12 = 0; + massOutbreak->probability = 0x32; + massOutbreak->var15 = 0; + massOutbreak->var16 = 0x01; + sub_80BE160((TVShow *)massOutbreak); + massOutbreak->language = GAME_LANGUAGE; + } } } @@ -1146,15 +890,20 @@ void UpdateTVShowsPerDay(u16 arg0) void sub_80BE8EC(u16 arg0) { u8 showidx; - TVShow *tvShow; - if (gSaveBlock1.outbreakPokemonSpecies == 0) { - for (showidx=0; showidx<24; showidx++) { - if (gSaveBlock1.tvShows[showidx].massOutbreak.var00 == TVSHOW_MASS_OUTBREAK && gSaveBlock1.tvShows[showidx].massOutbreak.var01 == 0x01) { - tvShow = &(gSaveBlock1.tvShows[showidx]); - if (tvShow->massOutbreak.var16 < arg0) - tvShow->massOutbreak.var16 = 0; + + if (gSaveBlock1.outbreakPokemonSpecies == 0) + { + for (showidx=0; showidx<24; showidx++) + { + if (gSaveBlock1.tvShows[showidx].massOutbreak.var00 == TVSHOW_MASS_OUTBREAK + && gSaveBlock1.tvShows[showidx].massOutbreak.var01 == 0x01) + { + struct TVShowMassOutbreak *massOutbreak = &gSaveBlock1.tvShows[showidx].massOutbreak; + + if (massOutbreak->var16 < arg0) + massOutbreak->var16 = 0; else - tvShow->massOutbreak.var16 -= arg0; + massOutbreak->var16 -= arg0; break; } } @@ -1172,7 +921,9 @@ void UpdateMassOutbreakTimeLeft(u16 arg0) void sub_80BE97C(bool8 flag) { u8 var0, var1; - if (flag != 0) { + + if (flag) + { var0 = gUnknown_020387E2 >> 8; if (var0 > 4) sub_80BE9D4(); @@ -1180,7 +931,9 @@ void sub_80BE97C(bool8 flag) var1 = gUnknown_020387E2 & 0xFF; if (var1 != 0xFF) gUnknown_020387E2++; - } else { + } + else + { var0 = gUnknown_020387E2 & 0xFF; if (var0 > 4) sub_80BE9D4(); @@ -1191,29 +944,24 @@ void sub_80BE97C(bool8 flag) } } -void sub_80BE9D4() +void sub_80BE9D4(void) { - TVShow *show; + //TVShow *show; gUnknown_03005D38.var0 = sub_80BF74C(gSaveBlock1.tvShows); - if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_FISHING_ADVICE) != 1) { - show = &(gSaveBlock1.tvShows[gUnknown_03005D38.var0]); -#ifdef NONMATCHING - show->pokemonAngler.var00 = TVSHOW_FISHING_ADVICE; - show->pokemonAngler.var01 = 0; -#else - asm(".syntax unified\n\ - movs r1, 0\n\ - movs r0, 24\n\ - strb r0, [r4]\n\ - strb r1, [r4, 1]\n\ - .syntax divided\n"); -#endif - show->pokemonAngler.var02 = gUnknown_020387E2 & 0xFF; - show->pokemonAngler.var03 = gUnknown_020387E2 >> 8; - show->pokemonAngler.var04 = gUnknown_020387E0; - StringCopy(show->pokemonAngler.playerName, gSaveBlock2.playerName); - sub_80BE138(show); - show->pokemonAngler.language = GAME_LANGUAGE; + if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_FISHING_ADVICE) != 1) + { + struct TVShowPokemonAngler *pokemonAngler = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].pokemonAngler; + register u8 zero asm("r1") = 0; + + asm(""::"r"(zero)); + pokemonAngler->var00 = TVSHOW_FISHING_ADVICE; + pokemonAngler->var01 = zero; + pokemonAngler->var02 = gUnknown_020387E2 & 0xFF; + pokemonAngler->var03 = gUnknown_020387E2 >> 8; + pokemonAngler->var04 = gUnknown_020387E0; + StringCopy(pokemonAngler->playerName, gSaveBlock2.playerName); + sub_80BE138((TVShow *)pokemonAngler); + pokemonAngler->language = GAME_LANGUAGE; } } @@ -1226,95 +974,100 @@ void sub_80BEA88(void); void sub_80BEA5C(u16 arg0) { - TVShow *unk_2a98; - unk_2a98 = &gSaveBlock1.tvShows[24]; - if (unk_2a98->common.var00 == TVSHOW_WORLD_OF_MASTERS) + struct TVShowWorldOfMasters *worldOfMasters = &gSaveBlock1.tvShows[24].worldOfMasters; + + if (worldOfMasters->var00 == TVSHOW_WORLD_OF_MASTERS) { - if (unk_2a98->worldOfMasters.var02 < 20) - { + if (worldOfMasters->var02 < 20) sub_80BF55C(gSaveBlock1.tvShows, 0x18); - } else - { sub_80BEA88(); - } } } void sub_80BEA88(void) { - TVShow *unk_2a98; - TVShow *tvShow; - u8 rval; - unk_2a98 = &gSaveBlock1.tvShows[24]; - rval = sub_80BF77C(0xFFFF); - if (rval == 0) + struct TVShowWorldOfMasters *worldOfMastersSrc = &gSaveBlock1.tvShows[24].worldOfMasters; + + if (sub_80BF77C(0xFFFF) == 0) { gUnknown_03005D38.var0 = sub_80BF74C(gSaveBlock1.tvShows); if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_WORLD_OF_MASTERS) != 1) { - tvShow = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - tvShow->worldOfMasters.var00 = TVSHOW_WORLD_OF_MASTERS; - tvShow->worldOfMasters.var01 = rval; - tvShow->worldOfMasters.var02 = unk_2a98->worldOfMasters.var02; - tvShow->worldOfMasters.var06 = GetGameStat(GAME_STAT_STEPS) - unk_2a98->worldOfMasters.var06; - tvShow->worldOfMasters.var04 = unk_2a98->worldOfMasters.var04; - tvShow->worldOfMasters.var08 = unk_2a98->worldOfMasters.var08; - tvShow->worldOfMasters.var0a = unk_2a98->worldOfMasters.var0a; - StringCopy(tvShow->worldOfMasters.playerName, gSaveBlock2.playerName); - sub_80BE138(tvShow); - tvShow->worldOfMasters.language = GAME_LANGUAGE; + struct TVShowWorldOfMasters *worldOfMastersDst = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].worldOfMasters; + + worldOfMastersDst->var00 = TVSHOW_WORLD_OF_MASTERS; + worldOfMastersDst->var01 = 0; + worldOfMastersDst->var02 = worldOfMastersSrc->var02; + worldOfMastersDst->var06 = GetGameStat(GAME_STAT_STEPS) - worldOfMastersSrc->var06; + worldOfMastersDst->var04 = worldOfMastersSrc->var04; + worldOfMastersDst->var08 = worldOfMastersSrc->var08; + worldOfMastersDst->var0a = worldOfMastersSrc->var0a; + StringCopy(worldOfMastersDst->playerName, gSaveBlock2.playerName); + sub_80BE138((TVShow *)worldOfMastersDst); + worldOfMastersDst->language = GAME_LANGUAGE; } } } -void sub_80BEB20(void) { +void sub_80BEB20(void) +{ u16 rval; - struct SaveBlock1 *save; - struct UnknownSaveStruct2ABC *unk2abc; - if (FlagGet(SYS_GAME_CLEAR) != 0) { - unk2abc = gSaveBlock1.unknown_2ABC; - gUnknown_03005D38.var0 = sub_80BEBC8(unk2abc); - if (gUnknown_03005D38.var0 != -1 && sub_80BF77C(0x28f) != 1) { + + if (FlagGet(SYS_GAME_CLEAR) != 0) + { + gUnknown_03005D38.var0 = sub_80BEBC8(gSaveBlock1.unknown_2ABC); + if (gUnknown_03005D38.var0 != -1 && sub_80BF77C(0x28f) != 1) + { rval = (Random() % 3) + 1; - if (sub_80BEE48(rval) != 1) { - save = &gSaveBlock1; - save->unknown_2ABC[gUnknown_03005D38.var0].val0 = rval; - save->unknown_2ABC[gUnknown_03005D38.var0].val2 = 4; - save->unknown_2ABC[gUnknown_03005D38.var0].val1 = 1; + if (sub_80BEE48(rval) != 1) + { + gSaveBlock1.unknown_2ABC[gUnknown_03005D38.var0].val0 = rval; + gSaveBlock1.unknown_2ABC[gUnknown_03005D38.var0].val2 = 4; + gSaveBlock1.unknown_2ABC[gUnknown_03005D38.var0].val1 = 1; } } } } -int sub_80BEBC8(struct UnknownSaveStruct2ABC *arg0) { +int sub_80BEBC8(struct UnknownSaveStruct2ABC *arg0) +{ s8 i; - for (i=0; i<16; i++) { - if (arg0[i].val0 == 0) { + + for (i = 0; i < 16; i++) + { + if (arg0[i].val0 == 0) return i; - } } return -1; } -void sub_80BEBF4(void) { +void sub_80BEBF4(void) +{ u8 i; - for (i=0; i<16; i++) { + + for (i = 0; i < 16; i++) sub_80BEC10(i); - } } -void sub_80BEC10(u8 arg0) { +void sub_80BEC10(u8 arg0) +{ gSaveBlock1.unknown_2ABC[arg0].val0 = 0; gSaveBlock1.unknown_2ABC[arg0].val1 = 0; gSaveBlock1.unknown_2ABC[arg0].val2 = 0; } -void sub_80BEC40(void) { +void sub_80BEC40(void) +{ u8 i, j; - for (i = 0; i < 15; i++) { - if (gSaveBlock1.unknown_2ABC[i].val0 == 0) { - for (j = i + 1; j < 16; j++) { - if (gSaveBlock1.unknown_2ABC[j].val0 != 0) { + + for (i = 0; i < 15; i++) + { + if (gSaveBlock1.unknown_2ABC[i].val0 == 0) + { + for (j = i + 1; j < 16; j++) + { + if (gSaveBlock1.unknown_2ABC[j].val0 != 0) + { gSaveBlock1.unknown_2ABC[i] = gSaveBlock1.unknown_2ABC[j]; sub_80BEC10(j); break; @@ -1327,12 +1080,12 @@ void sub_80BEC40(void) { u8 sub_80BECA0(void) { u8 i; - for (i=0; i<16; i++) + for (i = 0; i < 16; i++) { - if (gSaveBlock1.unknown_2ABC[i].val0 != 0 && gSaveBlock1.unknown_2ABC[i].val1 == 1 && gSaveBlock1.unknown_2ABC[i].val2 < 3) - { + if (gSaveBlock1.unknown_2ABC[i].val0 != 0 + && gSaveBlock1.unknown_2ABC[i].val1 == 1 + && gSaveBlock1.unknown_2ABC[i].val2 < 3) return i; - } } return 0xFF; } @@ -1350,17 +1103,14 @@ void sub_80BECE8(void) { gSaveBlock1.unknown_2ABC[arg0].val1 = 2; if (gLocalTime.hours < 20) - { ShowFieldMessage(gTVNewsTextGroup2[gSaveBlock1.unknown_2ABC[arg0].val0]); - } else - { ShowFieldMessage(gTVNewsTextGroup3[gSaveBlock1.unknown_2ABC[arg0].val0]); - } } else { u16 value = gSaveBlock1.unknown_2ABC[arg0].val2; + ConvertIntToDecimalStringN(gStringVar1, value, 0, 1); gSaveBlock1.unknown_2ABC[arg0].val1 = 0; ShowFieldMessage(gTVNewsTextGroup1[gSaveBlock1.unknown_2ABC[arg0].val0]); @@ -1371,22 +1121,17 @@ void sub_80BECE8(void) bool8 GetPriceReduction(u8 arg0) { u8 i; + if (arg0 == 0) - { return FALSE; - } for (i=0; i<16; i++) { if (gSaveBlock1.unknown_2ABC[i].val0 == arg0) { if (gSaveBlock1.unknown_2ABC[i].val1 == 2 && IsPriceDiscounted(arg0) != 0) - { return TRUE; - } else - { return FALSE; - } } } return FALSE; @@ -1397,24 +1142,19 @@ bool8 IsPriceDiscounted(u8 arg0) switch (arg0) { case 1: - if (gSaveBlock1.location.mapGroup == MAP_GROUP_SLATEPORT_CITY && gSaveBlock1.location.mapNum == MAP_ID_SLATEPORT_CITY && gScriptLastTalked == 0x1a) - { + if (gSaveBlock1.location.mapGroup == MAP_GROUP_SLATEPORT_CITY + && gSaveBlock1.location.mapNum == MAP_ID_SLATEPORT_CITY + && gScriptLastTalked == 0x1a) return TRUE; - } else - { return FALSE; - } break; case 3: - if (gSaveBlock1.location.mapGroup == MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP && gSaveBlock1.location.mapNum == MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP) - { + if (gSaveBlock1.location.mapGroup == MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP + && gSaveBlock1.location.mapNum == MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP) return TRUE; - } else - { return FALSE; - } break; default: return TRUE; @@ -1424,19 +1164,13 @@ bool8 IsPriceDiscounted(u8 arg0) bool8 sub_80BEE48(u8 arg0) { u8 i; + if (arg0 == 0) - { return TRUE; - } - else + for (i=0; i<16; i++) { - for (i=0; i<16; i++) - { - if (gSaveBlock1.unknown_2ABC[i].val0 == arg0) - { - return TRUE; - } - } + if (gSaveBlock1.unknown_2ABC[i].val0 == arg0) + return TRUE; } return FALSE; } @@ -1444,6 +1178,7 @@ bool8 sub_80BEE48(u8 arg0) void sub_80BEE84(u16 var0) { u8 i; + for (i=0; i<16; i++) { if (gSaveBlock1.unknown_2ABC[i].val0) @@ -1455,9 +1190,7 @@ void sub_80BEE84(u16 var0) else { if (!gSaveBlock1.unknown_2ABC[i].val1 && FlagGet(SYS_GAME_CLEAR) == 1) - { gSaveBlock1.unknown_2ABC[i].val1 = 1; - } gSaveBlock1.unknown_2ABC[i].val2 -= var0; } } @@ -1470,16 +1203,16 @@ void sub_80BEF10(u8 strvaridx, u8 rank) switch (rank) { case NORMAL_RANK: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[NORMAL_RANK + 5].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[NORMAL_RANK + 5]); break; case SUPER_RANK: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[SUPER_RANK + 5].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[SUPER_RANK + 5]); break; case HYPER_RANK: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[HYPER_RANK + 5].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[HYPER_RANK + 5]); break; case MASTER_RANK: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[MASTER_RANK + 5].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[MASTER_RANK + 5]); break; } } @@ -1489,34 +1222,34 @@ void CopyContestCategoryToStringVar(u8 strvaridx, u8 category) switch (category) { case CONTEST_COOL: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_COOL].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_COOL]); break; case CONTEST_BEAUTY: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_BEAUTY].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_BEAUTY]); break; case CONTEST_CUTE: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_CUTE].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_CUTE]); break; case CONTEST_SMART: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_SMART].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_SMART]); break; case CONTEST_TOUGH: - StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_TOUGH].text); + StringCopy(gUnknown_083D1464[strvaridx], gUnknown_083CE048[CONTEST_TOUGH]); break; } } void SetContestCategoryStringVarForInterview(void) { - TVShow *tvShow; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; - CopyContestCategoryToStringVar(1, tvShow->bravoTrainer.contestCategory); + struct TVShowBravoTrainerPokemonProfiles *bravoTrainer = &gSaveBlock1.tvShows[gSpecialVar_0x8004].bravoTrainer; + + CopyContestCategoryToStringVar(1, bravoTrainer->contestCategory); } void sub_80BF088(u8 arg0, s32 price) { - size_t log10val; - log10val = sub_80BF0B8(price); + size_t log10val = sub_80BF0B8(price); + ConvertIntToDecimalStringN(gUnknown_083D1464[arg0], price, 0, log10val); } @@ -1547,38 +1280,31 @@ void sub_80BF154(u8 arg0, struct TVShowSmartShopper *arg1) u8 i; s32 price; price = 0; - for (i=0; i<3; i++) + + for (i = 0; i < 3; i++) { if (arg1->itemIds[i]) - { price += ItemId_GetPrice(arg1->itemIds[i]) * arg1->itemAmounts[i]; - } } if (arg1->priceReduced == 1) - { sub_80BF088(arg0, price >> 1); - } else - { sub_80BF088(arg0, price); - } } bool8 sub_80BF1B4(u8 showIdx) { - TVShow *tvShows; u8 i; - u32 trainerId; - tvShows = gSaveBlock1.tvShows; - trainerId = GetPlayerTrainerId(); - for (i=5; i<24; i++) + //TVShow *tvShows; + TVShow *tvShows = gSaveBlock1.tvShows; + u32 trainerId = GetPlayerTrainerId(); + + for (i = 5; i < 24; i++) { if (tvShows[i].common.var00 == showIdx) { if ((trainerId & 0xFF) == tvShows[i].common.trainerIdLo && ((trainerId >> 8) & 0xFF) == tvShows[i].common.trainerIdHi) - { return TRUE; - } } } return FALSE; @@ -1588,9 +1314,10 @@ void sub_80BF20C(void) { u8 i, j; u16 tmpId, tmpAmount; - for (i=0; i<2; i++) + + for (i = 0; i < 2; i++) { - for (j=i+1; j<3; j++) + for (j = i + 1; j < 3; j++) { if (gUnknown_02038724[i].item_amount < gUnknown_02038724[j].item_amount) { @@ -1608,9 +1335,11 @@ void sub_80BF20C(void) void sub_80BF25C(u8 showType) { u8 i; - for (i=0; i<5; i++) + + for (i = 0; i < 5; i++) { - if (gSaveBlock1.tvShows[i].common.var00 == showType) { + if (gSaveBlock1.tvShows[i].common.var00 == showType) + { if(gSaveBlock1.tvShows[i].common.var01 == 1) { gScriptResult = 1; @@ -1630,7 +1359,8 @@ void sub_80BF25C(u8 showType) void sub_80BF2C4(void) { gScriptResult = 0; - switch (gSpecialVar_0x8005) { + switch (gSpecialVar_0x8005) + { case TVSHOW_FAN_CLUB_LETTER: sub_80BF334(); break; @@ -1657,35 +1387,41 @@ void sub_80BF2C4(void) void sub_80BF334(void) { - TVShow *show; + struct TVShowFanClubLetter *fanclubLetter; + sub_80BF25C(TVSHOW_FAN_CLUB_LETTER); - if (gScriptResult == 0) { + if (gScriptResult == 0) + { StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, 0)]); - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - sub_80EB6FC(show->fanclubLetter.pad04, 6); + fanclubLetter = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].fanclubLetter; + sub_80EB6FC(fanclubLetter->pad04, 6); } } void sub_80BF3A4(void) { - TVShow *show; + struct TVShowRecentHappenings *recentHappenings; + sub_80BF25C(TVSHOW_RECENT_HAPPENINGS); - if (gScriptResult == 0) { - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - sub_80EB6FC(show->recentHappenings.var04, 6); + if (gScriptResult == 0) + { + recentHappenings = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].recentHappenings; + sub_80EB6FC(recentHappenings->var04, 6); } } void sub_80BF3DC(void) { - TVShow *show; + struct TVShowFanclubOpinions *fanclubOpinions; + sub_80BF25C(TVSHOW_PKMN_FAN_CLUB_OPINIONS); - if (gScriptResult == 0) { + if (gScriptResult == 0) + { StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, 0)]); GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_NICKNAME, gStringVar2); StringGetEnd10(gStringVar2); - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - sub_80EB6FC(show->fanclubOpinions.var1C, 2); + fanclubOpinions = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].fanclubOpinions; + sub_80EB6FC(fanclubOpinions->var1C, 2); } } @@ -1701,21 +1437,25 @@ void sub_80BF478(void) void sub_80BF484(void) { - TVShow *show; + struct TVShowBravoTrainerPokemonProfiles *bravoTrainer; + sub_80BF25C(TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE); - if (gScriptResult == 0) { - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - sub_80EB6FC(show->bravoTrainer.var04, 2); + if (gScriptResult == 0) + { + bravoTrainer = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].bravoTrainer; + sub_80EB6FC(bravoTrainer->var04, 2); } } void sub_80BF4BC(void) { - TVShow *show; + struct TVShowBravoTrainerBattleTowerSpotlight *bravoTrainerTower; + sub_80BF25C(TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE); - if (gScriptResult == 0) { - show = &gSaveBlock1.tvShows[gUnknown_03005D38.var0]; - sub_80EB6FC(show->bravoTrainerTower.var18, 1); // wrong struct ident, fix later + if (gScriptResult == 0) + { + bravoTrainerTower = &gSaveBlock1.tvShows[gUnknown_03005D38.var0].bravoTrainerTower; + sub_80EB6FC(bravoTrainerTower->var18, 1); // wrong struct ident, fix later } } @@ -1725,13 +1465,9 @@ u8 sub_80BF4F4(u8 arg0) u32 species; GetMonData(&gPlayerParty[arg0], MON_DATA_NICKNAME, &gStringVar1); - species = GetMonData(&gPlayerParty[arg0], MON_DATA_SPECIES, NULL); - if (StringCompareWithoutExtCtrlCodes(gSpeciesNames[species], gStringVar1) == FALSE) - { return FALSE; - } return TRUE; } @@ -1740,22 +1476,18 @@ u8 sub_80BF4F4(u8 arg0) { u8 langData[4]; u32 species; - u8 *tmp; GetMonData(&gPlayerParty[arg0], MON_DATA_NICKNAME, &gStringVar1); tmp = langData; tmp[0] = GetMonData(&gPlayerParty[arg0], MON_DATA_LANGUAGE, &langData); - if (tmp[0] != GAME_LANGUAGE) { + if (tmp[0] != GAME_LANGUAGE) return TRUE; - } species = GetMonData(&gPlayerParty[arg0], MON_DATA_SPECIES, NULL); - - if (StringCompareWithoutExtCtrlCodes(gSpeciesNames[species], gStringVar1)) { + if (StringCompareWithoutExtCtrlCodes(gSpeciesNames[species], gStringVar1)) return TRUE; - } return FALSE; } @@ -1769,21 +1501,26 @@ u8 sub_80BF544(void) void sub_80BF55C(TVShow tvShow[], u8 showidx) { u8 idx; + tvShow[showidx].common.var00 = 0; tvShow[showidx].common.var01 = 0; - for (idx=0; idx<34; idx++) { + for (idx = 0; idx < 34; idx++) tvShow[showidx].common.pad02[idx] = 0; - } } void sub_80BF588(TVShow tvShow[]) { u8 showidx; u8 showidx2; - for (showidx=0; showidx<4; showidx++) { - if (tvShow[showidx].common.var00 == 0) { - for (showidx2=showidx+1; showidx2<5; showidx2++) { - if (tvShow[showidx2].common.var00 != 0) { + + for (showidx = 0; showidx < 4; showidx++) + { + if (tvShow[showidx].common.var00 == 0) + { + for (showidx2 = showidx + 1; showidx2 < 5; showidx2++) + { + if (tvShow[showidx2].common.var00 != 0) + { tvShow[showidx] = tvShow[showidx2]; sub_80BF55C(tvShow, showidx2); break; @@ -1791,10 +1528,14 @@ void sub_80BF588(TVShow tvShow[]) } } } - for (showidx=5; showidx<24; showidx++) { - if (tvShow[showidx].common.var00 == 0) { - for (showidx2=showidx+1; showidx2<24; showidx2++) { - if (tvShow[showidx2].common.var00 != 0) { + for (showidx = 5; showidx < 24; showidx++) + { + if (tvShow[showidx].common.var00 == 0) + { + for (showidx2 = showidx + 1; showidx2 < 24; showidx2++) + { + if (tvShow[showidx2].common.var00 != 0) + { tvShow[showidx] = tvShow[showidx2]; sub_80BF55C(gSaveBlock1.tvShows, showidx2); break; @@ -1807,6 +1548,7 @@ void sub_80BF588(TVShow tvShow[]) u16 sub_80BF638(u8 arg0, u16 arg1) { u16 retval = sub_80BF674(arg1); + StringCopy(gUnknown_083D1464[arg0], gSpeciesNames[retval]); return retval; } @@ -1815,14 +1557,17 @@ u16 sub_80BF674(u16 species) { u16 rspecies; u16 cspecies; + rspecies = (Random() % (NUM_SPECIES - 1)) + 1; cspecies = rspecies; - while ((s8)GetNationalPokedexFlag(SpeciesToNationalPokedexNum(cspecies), 0) != 1 || cspecies == species) { + while (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(cspecies), 0) != 1 || cspecies == species) + { if (cspecies == SPECIES_BULBASAUR) cspecies = NUM_SPECIES - 1; else cspecies --; - if (cspecies == rspecies) { + if (cspecies == rspecies) + { cspecies = species; return cspecies; } @@ -1843,7 +1588,9 @@ void sub_80BF6D8(void) s8 sub_80BF720(TVShow tvShow[]) { u8 idx; - for (idx=0; idx<5; idx++) { + + for (idx = 0; idx < 5; idx++) + { if (tvShow[idx].common.var00 == 0) return idx; } @@ -1853,7 +1600,9 @@ s8 sub_80BF720(TVShow tvShow[]) s8 sub_80BF74C(TVShow tvShow[]) { s8 idx; - for (idx=5; idx<24; idx++) { + + for (idx = 5; idx < 24; idx++) + { if (tvShow[idx].common.var00 == 0) return idx; } @@ -1870,12 +1619,14 @@ bool8 sub_80BF77C(u16 value) void sub_80BF79C(TVShow *arg0) { u8 i = Random() % 6; - while (1) { + + while (1) + { if (i == 6) i = 0; if (arg0->recentHappenings.var04[i] != 0xFFFF) break; - i ++; + i++; } sub_80EB3FC(gStringVar3, arg0->recentHappenings.var04[i]); } @@ -1884,8 +1635,11 @@ u8 sub_80BF7E8(struct TVShowNameRaterShow *arg0) { u16 flagsum = 0; u8 i = 0; - if (arg0->pokemonName[0] != 0xFF) { - while (i < 11 && arg0->pokemonName[i] != 0xFF) { + + if (arg0->pokemonName[0] != 0xFF) + { + while (i < 11 && arg0->pokemonName[i] != 0xFF) + { flagsum += arg0->pokemonName[i]; i++; } @@ -1893,49 +1647,77 @@ u8 sub_80BF7E8(struct TVShowNameRaterShow *arg0) return flagsum & 0x7; } + void sub_80BF820(u8 arg0, u8 arg1, u8 arg2, u16 arg3, u16 arg4, struct TVShowNameRaterShow *tvShow) { u8 flags[3]; u16 nameLength; u8 i; - for (i=0; i<3; i++) + + for (i = 0; i < 3; i++) flags[i] = EOS; - if (arg3 == 0) { + + if (arg3 == 0) + { nameLength = StringLength(tvShow->trainerName); - if (arg2 == 0) { + if (arg2 == 0) + { flags[0] = tvShow->trainerName[arg1]; - } else if (arg2 == 1) { + } + else if (arg2 == 1) + { flags[0] = tvShow->trainerName[nameLength - arg1]; - } else if (arg2 == 2) { + } + else if (arg2 == 2) { flags[0] = tvShow->trainerName[arg1]; flags[1] = tvShow->trainerName[arg1 + 1]; - } else { + } + else + { flags[0] = tvShow->trainerName[nameLength - (arg1 + 2)]; flags[1] = tvShow->trainerName[nameLength - (arg1 + 1)]; } - } else if (arg3 == 1) { + } + else if (arg3 == 1) + { nameLength = StringLength(tvShow->pokemonName); - if (arg2 == 0) { + if (arg2 == 0) + { flags[0] = tvShow->pokemonName[arg1]; - } else if (arg2 == 1) { + } + else if (arg2 == 1) + { flags[0] = tvShow->pokemonName[nameLength - arg1]; - } else if (arg2 == 2) { + } + else if (arg2 == 2) + { flags[0] = tvShow->pokemonName[arg1]; flags[1] = tvShow->pokemonName[arg1 + 1]; - } else { + } + else + { flags[0] = tvShow->pokemonName[nameLength - (arg1 + 2)]; flags[1] = tvShow->pokemonName[nameLength - (arg1 + 1)]; } - } else { + } + else + { nameLength = StringLength(gSpeciesNames[arg4]); - if (arg2 == 0) { + if (arg2 == 0) + { flags[0] = gSpeciesNames[arg4][arg1]; - } else if (arg2 == 1) { + } + else if (arg2 == 1) + { flags[0] = gSpeciesNames[arg4][nameLength - arg1]; - } else if (arg2 == 2) { + } + else if (arg2 == 2) + { flags[0] = gSpeciesNames[arg4][arg1]; flags[1] = gSpeciesNames[arg4][arg1 + 1]; - } else { + } + else + { flags[0] = gSpeciesNames[arg4][nameLength - (arg1 + 2)]; flags[1] = gSpeciesNames[arg4][nameLength - (arg1 + 1)]; } @@ -1946,7 +1728,8 @@ void sub_80BF820(u8 arg0, u8 arg1, u8 arg2, u16 arg3, u16 arg4, struct TVShowNam bool8 sub_80BF974(void) { u8 i; - for (i=0; i<5; i++) + + for (i = 0; i < 5; i++) { if (gSaveBlock1.tvShows[i].common.var00 == gSpecialVar_0x8004) return TRUE; @@ -1970,6 +1753,7 @@ void sub_80BF9F8(void) u16 spec; u16 gender; u32 pval; + GetMonData(&(gPlayerParty[gSpecialVar_0x8004]), MON_DATA_NICKNAME, &gStringVar3); GetMonData(&(gPlayerParty[gSpecialVar_0x8004]), MON_DATA_NICKNAME, &gStringVar2); spec = GetMonData(&(gPlayerParty[gSpecialVar_0x8004]), MON_DATA_SPECIES, 0); @@ -2021,10 +1805,13 @@ u8 CheckForBigMovieOrEmergencyNewsOnTV(void) { if (gSaveBlock1.location.mapGroup != MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) return 0; - if (gSaveBlock2.playerGender == MALE) { + if (gSaveBlock2.playerGender == MALE) + { if (gSaveBlock1.location.mapNum != MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) return 0; - } else { + } + else + { if (gSaveBlock1.location.mapNum != MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F) return 0; } @@ -2035,165 +1822,56 @@ u8 CheckForBigMovieOrEmergencyNewsOnTV(void) return 1; } -#ifdef NONMATCHING void GetMomOrDadStringForTVMessage(void) { - if (gSaveBlock1.location.mapGroup == MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) { - if (gSaveBlock2.playerGender == MALE) { - if (gSaveBlock1.location.mapNum == MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) { + if (gSaveBlock1.location.mapGroup == MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) + { + if (gSaveBlock2.playerGender == MALE) + { + if (gSaveBlock1.location.mapNum == MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F) + { StringCopy(gStringVar1, gOtherText_Mom); VarSet(VAR_0x4003, 1); } - } else { - if (gSaveBlock1.location.mapNum == MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F) { + } + else + { + if (gSaveBlock1.location.mapNum == MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F) + { StringCopy(gStringVar1, gOtherText_Mom); VarSet(VAR_0x4003, 1); } } } - if (VarGet(VAR_0x4003) == 1) { + if (VarGet(VAR_0x4003) == 1) + { StringCopy(gStringVar1, gOtherText_Mom); - } else if (VarGet(VAR_0x4003) == 2) { + } + else if (VarGet(VAR_0x4003) == 2) + { StringCopy(gStringVar1, gOtherText_Dad); - } else if (VarGet(VAR_0x4003) > 2) { - if ((u16)(VarGet(VAR_0x4003) & 1) == 0) { + } + else if (VarGet(VAR_0x4003) > 2) + { + if (VarGet(VAR_0x4003) % 2 == 0) StringCopy(gStringVar1, gOtherText_Mom); - } else { + else StringCopy(gStringVar1, gOtherText_Dad); - } - } else { - if ((u16)(Random() & 1) != 0) { + } + else + { + if (Random() % 2 != 0) + { StringCopy(gStringVar1, gOtherText_Mom); VarSet(VAR_0x4003, 1); - } else { + } + else + { StringCopy(gStringVar1, gOtherText_Dad); VarSet(VAR_0x4003, 2); } } } -#else -__attribute__((naked)) -void GetMomOrDadStringForTVMessage(void) -{ - asm(".syntax unified\n\ - push {r4,lr}\n\ - ldr r1, _080BFC40 @ =gSaveBlock1\n\ - movs r0, 0x4\n\ - ldrsb r0, [r1, r0]\n\ - cmp r0, 0x1\n\ - bne _080BFC6C\n\ - ldr r0, _080BFC44 @ =gSaveBlock2\n\ - ldrb r0, [r0, 0x8]\n\ - cmp r0, 0\n\ - bne _080BFC54\n\ - movs r0, 0x5\n\ - ldrsb r0, [r1, r0]\n\ - cmp r0, 0\n\ - bne _080BFC6C\n\ - ldr r0, _080BFC48 @ =gStringVar1\n\ - ldr r1, _080BFC4C @ =gOtherText_Mom\n\ - bl StringCopy\n\ - ldr r0, _080BFC50 @ =0x00004003\n\ - movs r1, 0x1\n\ - bl VarSet\n\ - b _080BFC6C\n\ - .align 2, 0\n\ -_080BFC40: .4byte gSaveBlock1\n\ -_080BFC44: .4byte gSaveBlock2\n\ -_080BFC48: .4byte gStringVar1\n\ -_080BFC4C: .4byte gOtherText_Mom\n\ -_080BFC50: .4byte 0x00004003\n\ -_080BFC54:\n\ - movs r0, 0x5\n\ - ldrsb r0, [r1, r0]\n\ - cmp r0, 0x2\n\ - bne _080BFC6C\n\ - ldr r0, _080BFCB4 @ =gStringVar1\n\ - ldr r1, _080BFCB8 @ =gOtherText_Mom\n\ - bl StringCopy\n\ - ldr r0, _080BFCBC @ =0x00004003\n\ - movs r1, 0x1\n\ - bl VarSet\n\ -_080BFC6C:\n\ - ldr r4, _080BFCBC @ =0x00004003\n\ - adds r0, r4, 0\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - cmp r0, 0x1\n\ - beq _080BFCAA\n\ - adds r0, r4, 0\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - cmp r0, 0x2\n\ - beq _080BFCC0\n\ - adds r0, r4, 0\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - cmp r0, 0x2\n\ - bls _080BFCD4\n\ - adds r0, r4, 0\n\ - bl VarGet\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080BFCC0\n\ -_080BFCAA:\n\ - ldr r0, _080BFCB4 @ =gStringVar1\n\ - ldr r1, _080BFCB8 @ =gOtherText_Mom\n\ - bl StringCopy\n\ - b _080BFD10\n\ - .align 2, 0\n\ -_080BFCB4: .4byte gStringVar1\n\ -_080BFCB8: .4byte gOtherText_Mom\n\ -_080BFCBC: .4byte 0x00004003\n\ -_080BFCC0:\n\ - ldr r0, _080BFCCC @ =gStringVar1\n\ - ldr r1, _080BFCD0 @ =gOtherText_Dad\n\ - bl StringCopy\n\ - b _080BFD10\n\ - .align 2, 0\n\ -_080BFCCC: .4byte gStringVar1\n\ -_080BFCD0: .4byte gOtherText_Dad\n\ -_080BFCD4:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080BFD00\n\ - ldr r0, _080BFCF8 @ =gStringVar1\n\ - ldr r1, _080BFCFC @ =gOtherText_Mom\n\ - bl StringCopy\n\ - adds r0, r4, 0\n\ - movs r1, 0x1\n\ - bl VarSet\n\ - b _080BFD10\n\ - .align 2, 0\n\ -_080BFCF8: .4byte gStringVar1\n\ -_080BFCFC: .4byte gOtherText_Mom\n\ -_080BFD00:\n\ - ldr r0, _080BFD18 @ =gStringVar1\n\ - ldr r1, _080BFD1C @ =gOtherText_Dad\n\ - bl StringCopy\n\ - adds r0, r4, 0\n\ - movs r1, 0x2\n\ - bl VarSet\n\ -_080BFD10:\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080BFD18: .4byte gStringVar1\n\ -_080BFD1C: .4byte gOtherText_Dad\n\ -.syntax divided\n"); -} -#endif void sub_80BFD20(void) { @@ -2201,7 +1879,8 @@ void sub_80BFD20(void) RemoveFieldObjectByLocalIdAndMap(5, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } -typedef union ewramStruct_02007000 { +typedef union ewramStruct_02007000 +{ TVShow tvshows[4][25]; struct UnknownSaveStruct2ABC unknown_2abc[4][16]; } ewramStruct_02007000; @@ -2216,11 +1895,12 @@ void sub_80BFD44(u8 *arg0, u32 arg1, u8 arg2) { u8 i; ewramStruct_02007000 *ewramTVShows; - for (i=0; i<4; i++) { + + for (i = 0; i < 4; i++) memcpy(&gUnknown_02007000.tvshows[i], &arg0[i * arg1], 25 * sizeof(TVShow)); - } ewramTVShows = &gUnknown_02007000; - switch (arg2) { + switch (arg2) + { case 0: sub_80BFE24(gSaveBlock1.tvShows, ewramTVShows->tvshows[1], ewramTVShows->tvshows[2], ewramTVShows->tvshows[3]); break; @@ -2253,47 +1933,55 @@ u8 sub_80C0134(TVShow *tv1, TVShow *tv2, u8 idx); void sub_80BFE24(TVShow arg0[25], TVShow arg1[25], TVShow arg2[25], TVShow arg3[25]) { u8 i, j; - TVShow ** argslist[4]; + TVShow **argslist[4]; + argslist[0] = &arg0; argslist[1] = &arg1; argslist[2] = &arg2; argslist[3] = &arg3; gUnknown_03000720 = GetLinkPlayerCount(); - while (1) { - for (i=0; i<gUnknown_03000720; i++) { + while (1) + { + for (i=0; i<gUnknown_03000720; i++) + { if (i == 0) gUnknown_020387E4 = i; gUnknown_03000722 = sub_80C019C(argslist[i][0]); - if (gUnknown_03000722 == -1) { + if (gUnknown_03000722 == -1) + { gUnknown_020387E4++; if (gUnknown_020387E4 == gUnknown_03000720) return; - } else { - for (j=0; j<gUnknown_03000720-1; j++) { + } + else + { + for (j=0; j<gUnknown_03000720-1; j++) + { gUnknown_03005D38.var0 = sub_80BF74C(argslist[(i + j + 1) % gUnknown_03000720][0]); - if (gUnknown_03005D38.var0 != -1 && sub_80BFF68(&argslist[(i + j + 1) % gUnknown_03000720][0], &argslist[i][0], (i + j + 1) % gUnknown_03000720) == 1) { + if (gUnknown_03005D38.var0 != -1 + && sub_80BFF68(&argslist[(i + j + 1) % gUnknown_03000720][0], &argslist[i][0], (i + j + 1) % gUnknown_03000720) == 1) break; - } } - if (j == gUnknown_03000720 - 1) { + if (j == gUnknown_03000720 - 1) sub_80BF55C(argslist[i][0], gUnknown_03000722); - } } } } } -#ifdef NONMATCHING -bool8 sub_80BFF68(TVShow * arg1[25], TVShow * arg2[25], u8 idx) { +bool8 sub_80BFF68(TVShow * arg1[25], TVShow * arg2[25], u8 idx) +{ u8 value; u8 switchval; - TVShow tv1[25]; - TVShow tv2[25]; + TVShow *tv1; + TVShow *tv2; + tv1 = *arg1; tv2 = *arg2; value = FALSE; switchval = sub_80BFB54(tv2[gUnknown_03000722].common.var00); - switch (switchval) { + switch (switchval) + { case 2: value = sub_80C004C(&tv1[gUnknown_03005D38.var0], &tv2[gUnknown_03000722], idx); break; @@ -2304,140 +1992,23 @@ bool8 sub_80BFF68(TVShow * arg1[25], TVShow * arg2[25], u8 idx) { value = sub_80C0134(&tv1[gUnknown_03005D38.var0], &tv2[gUnknown_03000722], idx); break; } - if (value == TRUE) { + if (value == TRUE) + { sub_80BF55C(tv2, gUnknown_03000722); return TRUE; - } else { + } + else + { return FALSE; } } -#else -__attribute__((naked)) -bool8 sub_80BFF68(TVShow * arg1[25], TVShow * arg2[25], u8 idx) { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - sub sp, 0x4\n\ - lsls r2, 24\n\ - lsrs r7, r2, 24\n\ - ldr r4, [r0]\n\ - ldr r6, [r1]\n\ - movs r5, 0\n\ - ldr r2, _080BFFA4 @ =gUnknown_03000722\n\ - movs r1, 0\n\ - ldrsb r1, [r2, r1]\n\ - lsls r0, r1, 3\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r6 @ this is the only mimsmatch\n\ - ldrb r0, [r0]\n\ - str r2, [sp]\n\ - bl sub_80BFB54\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r1, r0, 0\n\ - ldr r2, [sp]\n\ - cmp r0, 0x3\n\ - beq _080BFFD8\n\ - cmp r0, 0x3\n\ - bgt _080BFFA8\n\ - cmp r0, 0x2\n\ - beq _080BFFAE\n\ - b _080C0026\n\ - .align 2, 0\n\ -_080BFFA4: .4byte gUnknown_03000722\n\ -_080BFFA8:\n\ - cmp r1, 0x4\n\ - beq _080C0000\n\ - b _080C0026\n\ -_080BFFAE:\n\ - ldr r0, _080BFFD4 @ =gUnknown_03005D38\n\ - movs r1, 0\n\ - ldrsb r1, [r0, r1]\n\ - lsls r0, r1, 3\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r4, r0\n\ - ldrb r2, [r2]\n\ - lsls r2, 24\n\ - asrs r2, 24\n\ - lsls r1, r2, 3\n\ - adds r1, r2\n\ - lsls r1, 2\n\ - adds r1, r6, r1\n\ - adds r2, r7, 0\n\ - bl sub_80C004C\n\ - b _080C0022\n\ - .align 2, 0\n\ -_080BFFD4: .4byte gUnknown_03005D38\n\ -_080BFFD8:\n\ - ldr r0, _080BFFFC @ =gUnknown_03005D38\n\ - movs r1, 0\n\ - ldrsb r1, [r0, r1]\n\ - lsls r0, r1, 3\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r4, r0\n\ - ldrb r2, [r2]\n\ - lsls r2, 24\n\ - asrs r2, 24\n\ - lsls r1, r2, 3\n\ - adds r1, r2\n\ - lsls r1, 2\n\ - adds r1, r6, r1\n\ - adds r2, r7, 0\n\ - bl sub_80C00B4\n\ - b _080C0022\n\ - .align 2, 0\n\ -_080BFFFC: .4byte gUnknown_03005D38\n\ -_080C0000:\n\ - ldr r0, _080C0030 @ =gUnknown_03005D38\n\ - movs r1, 0\n\ - ldrsb r1, [r0, r1]\n\ - lsls r0, r1, 3\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r4, r0\n\ - ldrb r2, [r2]\n\ - lsls r2, 24\n\ - asrs r2, 24\n\ - lsls r1, r2, 3\n\ - adds r1, r2\n\ - lsls r1, 2\n\ - adds r1, r6, r1\n\ - adds r2, r7, 0\n\ - bl sub_80C0134\n\ -_080C0022:\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ -_080C0026:\n\ - cmp r5, 0x1\n\ - beq _080C0034\n\ - movs r0, 0\n\ - b _080C0040\n\ - .align 2, 0\n\ -_080C0030: .4byte gUnknown_03005D38\n\ -_080C0034:\n\ - ldr r0, _080C0048 @ =gUnknown_03000722\n\ - ldrb r1, [r0]\n\ - adds r0, r6, 0\n\ - bl sub_80BF55C\n\ - movs r0, 0x1\n\ -_080C0040:\n\ - add sp, 0x4\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ -_080C0048: .4byte gUnknown_03000722\n\ -.syntax divided\n"); -} -#endif -u8 sub_80C004C(TVShow *tv1, TVShow *tv2, u8 idx) { +u8 sub_80C004C(TVShow *tv1, TVShow *tv2, u8 idx) +{ u32 linkTrainerId = GetLinkPlayerTrainerId(idx); - if ((linkTrainerId & 0xFF) == tv2->common.trainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.trainerIdHi) { + + if ((linkTrainerId & 0xFF) == tv2->common.trainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.trainerIdHi) return FALSE; - } tv2->common.trainerIdLo = tv2->common.srcTrainerIdLo; tv2->common.trainerIdHi = tv2->common.srcTrainerIdHi; tv2->common.srcTrainerIdLo = linkTrainerId & 0xFF; @@ -2447,14 +2018,13 @@ u8 sub_80C004C(TVShow *tv1, TVShow *tv2, u8 idx) { return TRUE; } -u8 sub_80C00B4(TVShow *tv1, TVShow *tv2, u8 idx) { +u8 sub_80C00B4(TVShow *tv1, TVShow *tv2, u8 idx) +{ u32 linkTrainerId = GetLinkPlayerTrainerId(idx); - if ((linkTrainerId & 0xFF) == tv2->common.srcTrainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.srcTrainerIdHi) { + if ((linkTrainerId & 0xFF) == tv2->common.srcTrainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.srcTrainerIdHi) return FALSE; - } - if ((linkTrainerId & 0xFF) == tv2->common.trainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.trainerIdHi) { + if ((linkTrainerId & 0xFF) == tv2->common.trainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.trainerIdHi) return FALSE; - } tv2->common.srcTrainerIdLo = tv2->common.srcTrainerId2Lo; tv2->common.srcTrainerIdHi = tv2->common.srcTrainerId2Hi; tv2->common.srcTrainerId2Lo = linkTrainerId & 0xFF; @@ -2464,11 +2034,11 @@ u8 sub_80C00B4(TVShow *tv1, TVShow *tv2, u8 idx) { return TRUE; } -u8 sub_80C0134(TVShow *tv1, TVShow *tv2, u8 idx) { +u8 sub_80C0134(TVShow *tv1, TVShow *tv2, u8 idx) +{ u32 linkTrainerId = GetLinkPlayerTrainerId(idx); - if ((linkTrainerId & 0xFF) == tv2->common.trainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.trainerIdHi) { + if ((linkTrainerId & 0xFF) == tv2->common.trainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.trainerIdHi) return FALSE; - } tv2->common.trainerIdLo = tv2->common.srcTrainerIdLo; tv2->common.trainerIdHi = tv2->common.srcTrainerIdHi; tv2->common.srcTrainerIdLo = linkTrainerId & 0xFF; @@ -2479,12 +2049,13 @@ u8 sub_80C0134(TVShow *tv1, TVShow *tv2, u8 idx) { return TRUE; } -s8 sub_80C019C(TVShow tvShows[]) { +s8 sub_80C019C(TVShow tvShows[]) +{ u8 i; - for (i=0; i<24; i++) { - if (tvShows[i].common.var01 == 0 && (u8)(tvShows[i].common.var00 - 1) < 60) { + for (i = 0; i < 24; i++) + { + if (tvShows[i].common.var01 == 0 && (u8)(tvShows[i].common.var00 - 1) < 60) return i; - } } return -1; } @@ -2749,82 +2320,40 @@ _080C03A0:\n\ } #endif -void sub_80C03A8(u8 showidx) { +void sub_80C03A8(u8 showidx) +{ gSaveBlock1.tvShows[showidx].common.var01 = 0; } -void sub_80C03C8(u16 species, u8 showidx) { - if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == 0) { +void sub_80C03C8(u16 species, u8 showidx) +{ + if (GetNationalPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == 0) gSaveBlock1.tvShows[showidx].common.var01 = 0; - } } -#ifdef NONMATCHING -void sub_80C0408(void) { +void sub_80C0408(void) +{ u16 i; - if (FlagGet(SYS_GAME_CLEAR) != 1) { - for (i=0; i<24; i++) { - if (gSaveBlock1.tvShows[i].common.var00 == TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE || gSaveBlock1.tvShows[i].common.var00 == TVSHOW_MASS_OUTBREAK) { - gSaveBlock1.tvShows[i].common.var01 = 0; - } - } + + if (FlagGet(SYS_GAME_CLEAR) == TRUE) + return; + for (i = 0; i < 24; i++) + { + if (gSaveBlock1.tvShows[i].common.var00 == TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE) + gSaveBlock1.tvShows[i].common.var01 = 0; + else if (gSaveBlock1.tvShows[i].common.var00 == TVSHOW_MASS_OUTBREAK) + gSaveBlock1.tvShows[i].common.var01 = 0; } } -#else -__attribute__((naked)) -void sub_80C0408(void) { - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - ldr r0, _080C044C @ =0x00000804\n\ - bl FlagGet\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - cmp r0, 0x1\n\ - beq _080C0444\n\ - movs r2, 0\n\ - ldr r6, _080C0450 @ =gSaveBlock1\n\ - ldr r4, _080C0454 @ =0x00002739\n\ - movs r3, 0\n\ - ldr r5, _080C0458 @ =0x00002738\n\ -_080C0422:\n\ - lsls r0, r2, 3\n\ - adds r0, r2\n\ - lsls r0, 2\n\ - adds r1, r0, r6\n\ - adds r0, r1, r5\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x7\n\ - beq _080C0436\n\ - cmp r0, 0x29\n\ - bne _080C043A\n\ -_080C0436:\n\ - adds r0, r1, r4\n\ - strb r3, [r0]\n\ -_080C043A:\n\ - adds r0, r2, 0x1\n\ - lsls r0, 16\n\ - lsrs r2, r0, 16\n\ - cmp r2, 0x17\n\ - bls _080C0422\n\ -_080C0444:\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080C044C: .4byte 0x00000804\n\ -_080C0450: .4byte gSaveBlock1\n\ -_080C0454: .4byte 0x00002739\n\ -_080C0458: .4byte 0x00002738\n\ -.syntax divided\n"); -} -#endif -void sub_80C045C(void) { +void sub_80C045C(void) +{ u8 i; - for (i=0; i<5; i++) { - if (sub_80BFB54(gSaveBlock1.tvShows[i].common.var00) == 2) { + + for (i = 0; i < 5; i++) + { + if (sub_80BFB54(gSaveBlock1.tvShows[i].common.var00) == 2) gSaveBlock1.tvShows[i].common.var01 = 0; - } } } @@ -2833,17 +2362,14 @@ void sub_80C04A0(void) s8 showIdx; s8 count; count = 0; - for (showIdx=5; showIdx<24; showIdx++) + + for (showIdx = 5; showIdx < 24; showIdx++) { if (gSaveBlock1.tvShows[showIdx].common.var00 == 0) - { - count ++; - } + count++; } - for (showIdx=0; showIdx<5-count; showIdx++) - { + for (showIdx = 0; showIdx < 5 - count; showIdx++) sub_80BF55C(gSaveBlock1.tvShows, showIdx+5); - } } void sub_80C05C4(struct UnknownSaveStruct2ABC[16], struct UnknownSaveStruct2ABC[16], struct UnknownSaveStruct2ABC[16], struct UnknownSaveStruct2ABC[16]); @@ -2856,25 +2382,24 @@ void sub_80C0514(void *a0, u32 a1, u8 a2) { ewramStruct_02007000 *struct02007000; u8 i; - for (i=0; i<4; i++) - { + + for (i = 0; i < 4; i++) memcpy(gUnknown_02007000.unknown_2abc[i], a0 + i * a1, 64); - } struct02007000 = &gUnknown_02007000; switch (a2) { - case 0: - sub_80C05C4(gSaveBlock1.unknown_2ABC, struct02007000->unknown_2abc[1], struct02007000->unknown_2abc[2], struct02007000->unknown_2abc[3]); - break; - case 1: - sub_80C05C4(struct02007000->unknown_2abc[0], gSaveBlock1.unknown_2ABC, struct02007000->unknown_2abc[2], struct02007000->unknown_2abc[3]); - break; - case 2: - sub_80C05C4(struct02007000->unknown_2abc[0], struct02007000->unknown_2abc[1], gSaveBlock1.unknown_2ABC, struct02007000->unknown_2abc[3]); - break; - case 3: - sub_80C05C4(struct02007000->unknown_2abc[0], struct02007000->unknown_2abc[1], struct02007000->unknown_2abc[2], gSaveBlock1.unknown_2ABC); - break; + case 0: + sub_80C05C4(gSaveBlock1.unknown_2ABC, struct02007000->unknown_2abc[1], struct02007000->unknown_2abc[2], struct02007000->unknown_2abc[3]); + break; + case 1: + sub_80C05C4(struct02007000->unknown_2abc[0], gSaveBlock1.unknown_2ABC, struct02007000->unknown_2abc[2], struct02007000->unknown_2abc[3]); + break; + case 2: + sub_80C05C4(struct02007000->unknown_2abc[0], struct02007000->unknown_2abc[1], gSaveBlock1.unknown_2ABC, struct02007000->unknown_2abc[3]); + break; + case 3: + sub_80C05C4(struct02007000->unknown_2abc[0], struct02007000->unknown_2abc[1], struct02007000->unknown_2abc[2], gSaveBlock1.unknown_2ABC); + break; } sub_80C0750(); sub_80C0788(); @@ -2886,49 +2411,51 @@ void sub_80C05C4(struct UnknownSaveStruct2ABC a0[16], struct UnknownSaveStruct2A u8 j; u8 k; struct UnknownSaveStruct2ABC ** arglist[4]; + arglist[0] = &a0; arglist[1] = &a1; arglist[2] = &a2; arglist[3] = &a3; gUnknown_03000721 = GetLinkPlayerCount(); - for (i=0; i<16; i++) + for (i = 0; i < 16; i++) { - for (j=0; j<gUnknown_03000721; j++) + for (j = 0; j < gUnknown_03000721; j++) { gUnknown_03000722 = sub_80C0730(*arglist[j], i); if (gUnknown_03000722 != -1) { - for (k=0; k<gUnknown_03000721-1; k++) + for (k = 0; k < gUnknown_03000721-1; k++) { gUnknown_03005D38.var0 = sub_80BEBC8(*arglist[(j + k + 1) % gUnknown_03000721]); if (gUnknown_03005D38.var0 != -1) - { sub_80C06BC(arglist[(j + k + 1) % gUnknown_03000721], arglist[j]); - } } } } } } -void sub_80C06BC(struct UnknownSaveStruct2ABC *arg0[16], struct UnknownSaveStruct2ABC *arg1[16]) { +void sub_80C06BC(struct UnknownSaveStruct2ABC *arg0[16], struct UnknownSaveStruct2ABC *arg1[16]) +{ struct UnknownSaveStruct2ABC *str0; struct UnknownSaveStruct2ABC *str1; + str0 = arg0[0]; str1 = arg1[0]; str1 += gUnknown_03000722; sub_80C06E8(str0, str1, gUnknown_03005D38.var0); } -bool8 sub_80C06E8(struct UnknownSaveStruct2ABC *arg0, struct UnknownSaveStruct2ABC *arg1, s8 arg2) { +bool8 sub_80C06E8(struct UnknownSaveStruct2ABC *arg0, struct UnknownSaveStruct2ABC *arg1, s8 arg2) +{ u8 i; - if (arg1->val0 == 0) { + + if (arg1->val0 == 0) return FALSE; - } - for (i=0; i<16; i++) { - if (arg0[i].val0 == arg1->val0) { + for (i = 0; i < 16; i++) + { + if (arg0[i].val0 == arg1->val0) return FALSE; - } } arg0[arg2].val0 = arg1->val0; arg0[arg2].val1 = 1; @@ -2936,35 +2463,42 @@ bool8 sub_80C06E8(struct UnknownSaveStruct2ABC *arg0, struct UnknownSaveStruct2A return TRUE; } -s8 sub_80C0730(struct UnknownSaveStruct2ABC *arg0, u8 arg1) { - if (arg0[arg1].val0 == 0) { +s8 sub_80C0730(struct UnknownSaveStruct2ABC *arg0, u8 arg1) +{ + if (arg0[arg1].val0 == 0) return -1; - } return arg1; } -void sub_80C0750(void) { +void sub_80C0750(void) +{ u8 i; - for (i=0; i<16; i++) { - if (gSaveBlock1.unknown_2ABC[i].val0 > 3) { + + for (i = 0; i < 16; i++) + { + if (gSaveBlock1.unknown_2ABC[i].val0 > 3) sub_80BEC10(i); - } } sub_80BEC40(); } -void sub_80C0788(void) { +void sub_80C0788(void) +{ u8 i; - if (FlagGet(SYS_GAME_CLEAR) != 1) { - for (i=0; i<16; i++) { + + if (FlagGet(SYS_GAME_CLEAR) != 1) + { + for (i = 0; i < 16; i++) gSaveBlock1.unknown_2ABC[i].val1 = 0; - } } } -void DoTVShow(void) { - if (gSaveBlock1.tvShows[gSpecialVar_0x8004].common.var01 != 0) { - switch (gSaveBlock1.tvShows[gSpecialVar_0x8004].common.var00) { +void DoTVShow(void) +{ + if (gSaveBlock1.tvShows[gSpecialVar_0x8004].common.var01 != 0) + { + switch (gSaveBlock1.tvShows[gSpecialVar_0x8004].common.var00) + { case TVSHOW_FAN_CLUB_LETTER: DoTVShowPokemonFanClubLetter(); break; @@ -3008,328 +2542,275 @@ void DoTVShow(void) { } } -void TVShowConvertInternationalString(u8 *dest, u8 *src, u8 language) { +void TVShowConvertInternationalString(u8 *dest, u8 *src, u8 language) +{ StringCopy(dest, src); - if (language < LANGUAGE_ENGLISH) { + if (language < LANGUAGE_ENGLISH) ConvertInternationalString(dest, LANGUAGE_JAPANESE); - } } void DoTVShowBravoTrainerPokemonProfile(void) { - TVShow *tvShow; - u8 switchval; + struct TVShowBravoTrainerPokemonProfiles *bravoTrainer = &gSaveBlock1.tvShows[gSpecialVar_0x8004].bravoTrainer; + u8 state; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; gScriptResult = 0; - switchval = gUnknown_020387E8; - switch(switchval) - { - case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainer.playerName, tvShow->bravoTrainer.language); - CopyContestCategoryToStringVar(1, tvShow->bravoTrainer.contestCategory); - sub_80BEF10(2, tvShow->bravoTrainer.contestRank); - if (!StringCompareWithoutExtCtrlCodes(gSpeciesNames[tvShow->bravoTrainer.species], tvShow->bravoTrainer.pokemonNickname)) - { - gUnknown_020387E8 = 8; - } else - { - gUnknown_020387E8 = 1; - } - break; - case 1: - StringCopy(gStringVar1, gSpeciesNames[tvShow->bravoTrainer.species]); - TVShowConvertInternationalString(gStringVar2, tvShow->bravoTrainer.pokemonNickname, tvShow->bravoTrainer.var1f); - CopyContestCategoryToStringVar(2, tvShow->bravoTrainer.contestCategory); - gUnknown_020387E8 = 2; - break; - case 2: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainer.playerName, tvShow->bravoTrainer.language); - if (tvShow->bravoTrainer.contestResult == 0) // placed first - { - gUnknown_020387E8 = 3; - } else - { - gUnknown_020387E8 = 4; - } - break; - case 3: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainer.playerName, tvShow->bravoTrainer.language); - sub_80EB3FC(gStringVar2, tvShow->bravoTrainer.var04[0]); - sub_80BF088(2, tvShow->bravoTrainer.contestResult + 1); - gUnknown_020387E8 = 5; - break; - case 4: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainer.playerName, tvShow->bravoTrainer.language); - sub_80EB3FC(gStringVar2, tvShow->bravoTrainer.var04[0]); - sub_80BF088(2, tvShow->bravoTrainer.contestResult + 1); - gUnknown_020387E8 = 5; - break; - case 5: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainer.playerName, tvShow->bravoTrainer.language); - CopyContestCategoryToStringVar(1, tvShow->bravoTrainer.contestCategory); - sub_80EB3FC(gStringVar3, tvShow->bravoTrainer.var04[1]); - if (tvShow->bravoTrainer.var14) - { - gUnknown_020387E8 = 6; - } else - { - gUnknown_020387E8 = 7; - } - break; - case 6: - StringCopy(gStringVar1, gSpeciesNames[tvShow->bravoTrainer.species]); - StringCopy(gStringVar2, gMoveNames[tvShow->bravoTrainer.var14]); - sub_80EB3FC(gStringVar3, tvShow->bravoTrainer.var04[1]); + state = gUnknown_020387E8; + switch(state) + { + case 0: + TVShowConvertInternationalString(gStringVar1, bravoTrainer->playerName, bravoTrainer->language); + CopyContestCategoryToStringVar(1, bravoTrainer->contestCategory); + sub_80BEF10(2, bravoTrainer->contestRank); + if (!StringCompareWithoutExtCtrlCodes(gSpeciesNames[bravoTrainer->species], bravoTrainer->pokemonNickname)) + gUnknown_020387E8 = 8; + else + gUnknown_020387E8 = 1; + break; + case 1: + StringCopy(gStringVar1, gSpeciesNames[bravoTrainer->species]); + TVShowConvertInternationalString(gStringVar2, bravoTrainer->pokemonNickname, bravoTrainer->var1f); + CopyContestCategoryToStringVar(2, bravoTrainer->contestCategory); + gUnknown_020387E8 = 2; + break; + case 2: + TVShowConvertInternationalString(gStringVar1, bravoTrainer->playerName, bravoTrainer->language); + if (bravoTrainer->contestResult == 0) // placed first + gUnknown_020387E8 = 3; + else + gUnknown_020387E8 = 4; + break; + case 3: + TVShowConvertInternationalString(gStringVar1, bravoTrainer->playerName, bravoTrainer->language); + sub_80EB3FC(gStringVar2, bravoTrainer->var04[0]); + sub_80BF088(2, bravoTrainer->contestResult + 1); + gUnknown_020387E8 = 5; + break; + case 4: + TVShowConvertInternationalString(gStringVar1, bravoTrainer->playerName, bravoTrainer->language); + sub_80EB3FC(gStringVar2, bravoTrainer->var04[0]); + sub_80BF088(2, bravoTrainer->contestResult + 1); + gUnknown_020387E8 = 5; + break; + case 5: + TVShowConvertInternationalString(gStringVar1, bravoTrainer->playerName, bravoTrainer->language); + CopyContestCategoryToStringVar(1, bravoTrainer->contestCategory); + sub_80EB3FC(gStringVar3, bravoTrainer->var04[1]); + if (bravoTrainer->var14) + gUnknown_020387E8 = 6; + else gUnknown_020387E8 = 7; - break; - case 7: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainer.playerName, tvShow->bravoTrainer.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainer.species]); - TVShowDone(); - break; - case 8: - StringCopy(gStringVar1, gSpeciesNames[tvShow->bravoTrainer.species]); - gUnknown_020387E8 = 2; - break; + break; + case 6: + StringCopy(gStringVar1, gSpeciesNames[bravoTrainer->species]); + StringCopy(gStringVar2, gMoveNames[bravoTrainer->var14]); + sub_80EB3FC(gStringVar3, bravoTrainer->var04[1]); + gUnknown_020387E8 = 7; + break; + case 7: + TVShowConvertInternationalString(gStringVar1, bravoTrainer->playerName, bravoTrainer->language); + StringCopy(gStringVar2, gSpeciesNames[bravoTrainer->species]); + TVShowDone(); + break; + case 8: + StringCopy(gStringVar1, gSpeciesNames[bravoTrainer->species]); + gUnknown_020387E8 = 2; + break; } - ShowFieldMessage(gTVBravoTrainerTextGroup[switchval]); + ShowFieldMessage(gTVBravoTrainerTextGroup[state]); } void DoTVShowBravoTrainerBattleTowerProfile(void) { - TVShow *tvShow; - u8 switchval; + struct TVShowBravoTrainerBattleTowerSpotlight *bravoTrainerTower = &gSaveBlock1.tvShows[gSpecialVar_0x8004].bravoTrainerTower; + u8 state; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; gScriptResult = 0; - switchval = gUnknown_020387E8; - switch(switchval) + state = gUnknown_020387E8; + switch(state) { - case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.trainerName, tvShow->bravoTrainerTower.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainerTower.species]); - if (tvShow->bravoTrainerTower.var16 >= 7) - { - gUnknown_020387E8 = 1; - } else - { - gUnknown_020387E8 = 2; - } - break; - case 1: - sub_80BF088(0, tvShow->bravoTrainerTower.btLevel); - sub_80BF088(1, tvShow->bravoTrainerTower.var16); - if (tvShow->bravoTrainerTower.var1c == 1) - { - gUnknown_020387E8 = 3; - } else - { - gUnknown_020387E8 = 4; - } - break; - case 2: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language); - sub_80BF088(1, tvShow->bravoTrainerTower.var16 + 1); - if (tvShow->bravoTrainerTower.var1b == 0) - { - gUnknown_020387E8 = 5; - } else - { - gUnknown_020387E8 = 6; - } - break; - case 3: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainerTower.defeatedSpecies]); - if (tvShow->bravoTrainerTower.var1b == 0) - { - gUnknown_020387E8 = 5; - } else - { - gUnknown_020387E8 = 6; - } - break; - case 4: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainerTower.defeatedSpecies]); - if (tvShow->bravoTrainerTower.var1b == 0) - { - gUnknown_020387E8 = 5; - } else - { - gUnknown_020387E8 = 6; - } - break; - case 5: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language); - gUnknown_020387E8 = 11; - break; - case 6: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language); - gUnknown_020387E8 = 11; - break; - case 7: - gUnknown_020387E8 = 11; - break; - case 8: - case 9: - case 10: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.trainerName, tvShow->bravoTrainerTower.language); - gUnknown_020387E8 = 11; - break; - case 11: - sub_80EB3FC(gStringVar1, tvShow->bravoTrainerTower.var18[0]); - if (tvShow->bravoTrainerTower.var1b == 0) - { - gUnknown_020387E8 = 12; - } else - { - gUnknown_020387E8 = 13; - } - break; - case 12: - case 13: - sub_80EB3FC(gStringVar1, tvShow->bravoTrainerTower.var18[0]); - TVShowConvertInternationalString(gStringVar2, tvShow->bravoTrainerTower.trainerName, tvShow->bravoTrainerTower.language); - TVShowConvertInternationalString(gStringVar3, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language); - gUnknown_020387E8 = 14; - break; - case 14: - TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.trainerName, tvShow->bravoTrainerTower.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainerTower.species]); - TVShowDone(); - break; + case 0: + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->trainerName, bravoTrainerTower->language); + StringCopy(gStringVar2, gSpeciesNames[bravoTrainerTower->species]); + if (bravoTrainerTower->var16 >= 7) + gUnknown_020387E8 = 1; + else + gUnknown_020387E8 = 2; + break; + case 1: + sub_80BF088(0, bravoTrainerTower->btLevel); + sub_80BF088(1, bravoTrainerTower->var16); + if (bravoTrainerTower->var1c == 1) + gUnknown_020387E8 = 3; + else + gUnknown_020387E8 = 4; + break; + case 2: + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + sub_80BF088(1, bravoTrainerTower->var16 + 1); + if (bravoTrainerTower->var1b == 0) + gUnknown_020387E8 = 5; + else + gUnknown_020387E8 = 6; + break; + case 3: + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + StringCopy(gStringVar2, gSpeciesNames[bravoTrainerTower->defeatedSpecies]); + if (bravoTrainerTower->var1b == 0) + gUnknown_020387E8 = 5; + else + gUnknown_020387E8 = 6; + break; + case 4: + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + StringCopy(gStringVar2, gSpeciesNames[bravoTrainerTower->defeatedSpecies]); + if (bravoTrainerTower->var1b == 0) + gUnknown_020387E8 = 5; + else + gUnknown_020387E8 = 6; + break; + case 5: + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + gUnknown_020387E8 = 11; + break; + case 6: + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + gUnknown_020387E8 = 11; + break; + case 7: + gUnknown_020387E8 = 11; + break; + case 8: + case 9: + case 10: + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->trainerName, bravoTrainerTower->language); + gUnknown_020387E8 = 11; + break; + case 11: + sub_80EB3FC(gStringVar1, bravoTrainerTower->var18[0]); + if (bravoTrainerTower->var1b == 0) + gUnknown_020387E8 = 12; + else + gUnknown_020387E8 = 13; + break; + case 12: + case 13: + sub_80EB3FC(gStringVar1, bravoTrainerTower->var18[0]); + TVShowConvertInternationalString(gStringVar2, bravoTrainerTower->trainerName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar3, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + gUnknown_020387E8 = 14; + break; + case 14: + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->trainerName, bravoTrainerTower->language); + StringCopy(gStringVar2, gSpeciesNames[bravoTrainerTower->species]); + TVShowDone(); + break; } - ShowFieldMessage(gTVBravoTrainerBattleTowerTextGroup[switchval]); + ShowFieldMessage(gTVBravoTrainerBattleTowerTextGroup[state]); } void DoTVShowTodaysSmartShopper(void) { - TVShow *tvShow; - u8 switchval; + struct TVShowSmartShopper *smartShopper = &gSaveBlock1.tvShows[gSpecialVar_0x8004].smartshopperShow; + u8 state; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; gScriptResult = 0; - switchval = gUnknown_020387E8; - switch(switchval) + state = gUnknown_020387E8; + switch(state) { - case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->smartshopperShow.playerName, tvShow->smartshopperShow.language); - sub_80FBFB4(gStringVar2, tvShow->smartshopperShow.shopLocation, 0); - if (tvShow->smartshopperShow.itemAmounts[0] >= 0xff) - { - gUnknown_020387E8 = 11; - } else - { - gUnknown_020387E8 = 1; - } - break; - case 1: - TVShowConvertInternationalString(gStringVar1, tvShow->smartshopperShow.playerName, tvShow->smartshopperShow.language); - StringCopy(gStringVar2, ItemId_GetItem(tvShow->smartshopperShow.itemIds[0])->name); - sub_80BF088(2, tvShow->smartshopperShow.itemAmounts[0]); - gUnknown_020387E8 += (Random() % 4) + 1; - break; - case 2: - case 4: - case 5: - if (tvShow->smartshopperShow.itemIds[1] != 0) - { - gUnknown_020387E8 = 6; - } else - { - gUnknown_020387E8 = 10; - } - break; - case 3: - sub_80BF088(2, tvShow->smartshopperShow.itemAmounts[0] + 1); - if (tvShow->smartshopperShow.itemIds[1] != 0) - { - gUnknown_020387E8 = 6; - } else - { - gUnknown_020387E8 = 10; - } - break; - case 6: - StringCopy(gStringVar2, ItemId_GetItem(tvShow->smartshopperShow.itemIds[1])->name); - sub_80BF088(2, tvShow->smartshopperShow.itemAmounts[1]); - if (tvShow->smartshopperShow.itemIds[2] != 0) - { - gUnknown_020387E8 = 7; - } else if (tvShow->smartshopperShow.priceReduced == 1) - { - gUnknown_020387E8 = 8; - } else - { - gUnknown_020387E8 = 9; - } - break; - case 7: - StringCopy(gStringVar2, ItemId_GetItem(tvShow->smartshopperShow.itemIds[2])->name); - sub_80BF088(2, tvShow->smartshopperShow.itemAmounts[2]); - if (tvShow->smartshopperShow.priceReduced == 1) - { - gUnknown_020387E8 = 8; - } else - { - gUnknown_020387E8 = 9; - } - break; - case 8: - if (tvShow->smartshopperShow.itemAmounts[0] < 0xff) - { - gUnknown_020387E8 = 9; - } else - { - gUnknown_020387E8 = 12; - } - break; - case 9: - sub_80BF154(1, &tvShow->smartshopperShow); - TVShowDone(); - break; - case 10: - if (tvShow->smartshopperShow.priceReduced == 1) - { - gUnknown_020387E8 = 8; - } else - { - gUnknown_020387E8 = 9; - } - break; - case 11: - TVShowConvertInternationalString(gStringVar1, tvShow->smartshopperShow.playerName, tvShow->smartshopperShow.language); - StringCopy(gStringVar2, ItemId_GetItem(tvShow->smartshopperShow.itemIds[0])->name); - if (tvShow->smartshopperShow.priceReduced == 1) - { - gUnknown_020387E8 = 8; - } else - { - gUnknown_020387E8 = 12; - } - break; - case 12: - TVShowConvertInternationalString(gStringVar1, tvShow->smartshopperShow.playerName, tvShow->smartshopperShow.language); - TVShowDone(); - break; + case 0: + TVShowConvertInternationalString(gStringVar1, smartShopper->playerName, smartShopper->language); + sub_80FBFB4(gStringVar2, smartShopper->shopLocation, 0); + if (smartShopper->itemAmounts[0] >= 0xff) + gUnknown_020387E8 = 11; + else + gUnknown_020387E8 = 1; + break; + case 1: + TVShowConvertInternationalString(gStringVar1, smartShopper->playerName, smartShopper->language); + StringCopy(gStringVar2, ItemId_GetItem(smartShopper->itemIds[0])->name); + sub_80BF088(2, smartShopper->itemAmounts[0]); + gUnknown_020387E8 += (Random() % 4) + 1; + break; + case 2: + case 4: + case 5: + if (smartShopper->itemIds[1] != 0) + gUnknown_020387E8 = 6; + else + gUnknown_020387E8 = 10; + break; + case 3: + sub_80BF088(2, smartShopper->itemAmounts[0] + 1); + if (smartShopper->itemIds[1] != 0) + gUnknown_020387E8 = 6; + else + gUnknown_020387E8 = 10; + break; + case 6: + StringCopy(gStringVar2, ItemId_GetItem(smartShopper->itemIds[1])->name); + sub_80BF088(2, smartShopper->itemAmounts[1]); + if (smartShopper->itemIds[2] != 0) + gUnknown_020387E8 = 7; + else if (smartShopper->priceReduced == 1) + gUnknown_020387E8 = 8; + else + gUnknown_020387E8 = 9; + break; + case 7: + StringCopy(gStringVar2, ItemId_GetItem(smartShopper->itemIds[2])->name); + sub_80BF088(2, smartShopper->itemAmounts[2]); + if (smartShopper->priceReduced == 1) + gUnknown_020387E8 = 8; + else + gUnknown_020387E8 = 9; + break; + case 8: + if (smartShopper->itemAmounts[0] < 0xff) + gUnknown_020387E8 = 9; + else + gUnknown_020387E8 = 12; + break; + case 9: + sub_80BF154(1, smartShopper); + TVShowDone(); + break; + case 10: + if (smartShopper->priceReduced == 1) + gUnknown_020387E8 = 8; + else + gUnknown_020387E8 = 9; + break; + case 11: + TVShowConvertInternationalString(gStringVar1, smartShopper->playerName, smartShopper->language); + StringCopy(gStringVar2, ItemId_GetItem(smartShopper->itemIds[0])->name); + if (smartShopper->priceReduced == 1) + gUnknown_020387E8 = 8; + else + gUnknown_020387E8 = 12; + break; + case 12: + TVShowConvertInternationalString(gStringVar1, smartShopper->playerName, smartShopper->language); + TVShowDone(); + break; } - ShowFieldMessage(gTVSmartShopperTextGroup[switchval]); + ShowFieldMessage(gTVSmartShopperTextGroup[state]); } -void DoTVShowTheNameRaterShow(void) { - TVShow *tvShow; - u8 switchval; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; +void DoTVShowTheNameRaterShow(void) +{ + struct TVShowNameRaterShow *nameRaterShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004].nameRaterShow; + u8 state; + gScriptResult = 0; - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->nameRaterShow.trainerName, tvShow->nameRaterShow.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->nameRaterShow.species]); - TVShowConvertInternationalString(gStringVar3, tvShow->nameRaterShow.pokemonName, tvShow->nameRaterShow.pokemonNameLanguage); - gUnknown_020387E8 = sub_80BF7E8(&tvShow->nameRaterShow) + 1; + TVShowConvertInternationalString(gStringVar1, nameRaterShow->trainerName, nameRaterShow->language); + StringCopy(gStringVar2, gSpeciesNames[nameRaterShow->species]); + TVShowConvertInternationalString(gStringVar3, nameRaterShow->pokemonName, nameRaterShow->pokemonNameLanguage); + gUnknown_020387E8 = sub_80BF7E8(nameRaterShow) + 1; break; case 1: case 3: @@ -3338,217 +2819,214 @@ void DoTVShowTheNameRaterShow(void) { case 6: case 7: case 8: - if (tvShow->nameRaterShow.random == 0) { + if (nameRaterShow->random == 0) gUnknown_020387E8 = 9; - } else if (tvShow->nameRaterShow.random == 1) { + else if (nameRaterShow->random == 1) gUnknown_020387E8 = 10; - } else if (tvShow->nameRaterShow.random == 2) { + else if (nameRaterShow->random == 2) gUnknown_020387E8 = 11; - } break; case 2: - TVShowConvertInternationalString(gStringVar1, tvShow->nameRaterShow.trainerName, tvShow->nameRaterShow.language); - if (tvShow->nameRaterShow.random == 0) { + TVShowConvertInternationalString(gStringVar1, nameRaterShow->trainerName, nameRaterShow->language); + if (nameRaterShow->random == 0) gUnknown_020387E8 = 9; - } else if (tvShow->nameRaterShow.random == 1) { + else if (nameRaterShow->random == 1) gUnknown_020387E8 = 10; - } else if (tvShow->nameRaterShow.random == 2) { + else if (nameRaterShow->random == 2) gUnknown_020387E8 = 11; - } break; case 9: case 10: case 11: - sub_80BF820(0, 1, 0, 1, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar3, gStringVar1, tvShow->nameRaterShow.pokemonNameLanguage); - sub_80BF820(0, 0, 0, 1, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar2, gStringVar1, tvShow->nameRaterShow.pokemonNameLanguage); - TVShowConvertInternationalString(gStringVar1, tvShow->nameRaterShow.pokemonName, tvShow->nameRaterShow.pokemonNameLanguage); + sub_80BF820(0, 1, 0, 1, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar3, gStringVar1, nameRaterShow->pokemonNameLanguage); + sub_80BF820(0, 0, 0, 1, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar2, gStringVar1, nameRaterShow->pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar1, nameRaterShow->pokemonName, nameRaterShow->pokemonNameLanguage); gUnknown_020387E8 = 12; break; case 13: - sub_80BF820(0, 0, 3, 1, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar3, gStringVar1, tvShow->nameRaterShow.pokemonNameLanguage); - sub_80BF820(0, 0, 2, 0, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar2, gStringVar1, tvShow->nameRaterShow.language); - TVShowConvertInternationalString(gStringVar1, tvShow->nameRaterShow.trainerName, tvShow->nameRaterShow.language); + sub_80BF820(0, 0, 3, 1, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar3, gStringVar1, nameRaterShow->pokemonNameLanguage); + sub_80BF820(0, 0, 2, 0, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar2, gStringVar1, nameRaterShow->language); + TVShowConvertInternationalString(gStringVar1, nameRaterShow->trainerName, nameRaterShow->language); gUnknown_020387E8 = 14; break; case 14: - sub_80BF820(0, 0, 3, 0, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar3, gStringVar1, tvShow->nameRaterShow.language); - sub_80BF820(0, 0, 2, 1, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar2, gStringVar1, tvShow->nameRaterShow.pokemonNameLanguage); - TVShowConvertInternationalString(gStringVar1, tvShow->nameRaterShow.trainerName, tvShow->nameRaterShow.language); + sub_80BF820(0, 0, 3, 0, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar3, gStringVar1, nameRaterShow->language); + sub_80BF820(0, 0, 2, 1, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar2, gStringVar1, nameRaterShow->pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar1, nameRaterShow->trainerName, nameRaterShow->language); gUnknown_020387E8 = 18; break; case 15: - sub_80BF820(1, 0, 2, 1, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar1, gStringVar2, tvShow->nameRaterShow.pokemonNameLanguage); - StringCopy(gStringVar2, gSpeciesNames[tvShow->nameRaterShow.species]); - sub_80BF820(2, 0, 3, 2, tvShow->nameRaterShow.species, &tvShow->nameRaterShow); + sub_80BF820(1, 0, 2, 1, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar1, gStringVar2, nameRaterShow->pokemonNameLanguage); + StringCopy(gStringVar2, gSpeciesNames[nameRaterShow->species]); + sub_80BF820(2, 0, 3, 2, nameRaterShow->species, nameRaterShow); gUnknown_020387E8 = 16; break; case 16: - sub_80BF820(0, 0, 3, 1, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar3, gStringVar1, tvShow->nameRaterShow.pokemonNameLanguage); - sub_80BF820(0, 0, 2, 2, tvShow->nameRaterShow.species, &tvShow->nameRaterShow); + sub_80BF820(0, 0, 3, 1, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar3, gStringVar1, nameRaterShow->pokemonNameLanguage); + sub_80BF820(0, 0, 2, 2, nameRaterShow->species, nameRaterShow); gUnknown_020387E8 = 17; break; case 17: - sub_80BF820(1, 0, 2, 1, 0, &tvShow->nameRaterShow); - TVShowConvertInternationalString(gStringVar1, gStringVar2, tvShow->nameRaterShow.pokemonNameLanguage); - sub_80BF820(2, 0, 3, 2, tvShow->nameRaterShow.var1C, &tvShow->nameRaterShow); - StringCopy(gStringVar2, gSpeciesNames[tvShow->nameRaterShow.var1C]); + sub_80BF820(1, 0, 2, 1, 0, nameRaterShow); + TVShowConvertInternationalString(gStringVar1, gStringVar2, nameRaterShow->pokemonNameLanguage); + sub_80BF820(2, 0, 3, 2, nameRaterShow->var1C, nameRaterShow); + StringCopy(gStringVar2, gSpeciesNames[nameRaterShow->var1C]); gUnknown_020387E8 = 18; break; case 12: - switchval = 18; + state = 18; gUnknown_020387E8 = 18; case 18: - TVShowConvertInternationalString(gStringVar1, tvShow->nameRaterShow.pokemonName, tvShow->nameRaterShow.pokemonNameLanguage); - TVShowConvertInternationalString(gStringVar2, tvShow->nameRaterShow.trainerName, tvShow->nameRaterShow.language); + TVShowConvertInternationalString(gStringVar1, nameRaterShow->pokemonName, nameRaterShow->pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar2, nameRaterShow->trainerName, nameRaterShow->language); TVShowDone(); break; } - ShowFieldMessage(gTVNameRaterTextGroup[switchval]); + ShowFieldMessage(gTVNameRaterTextGroup[state]); } -void DoTVShowPokemonTodaySuccessfulCapture(void) { - TVShow *tvShow; - u8 switchval; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; +void DoTVShowPokemonTodaySuccessfulCapture(void) +{ + struct TVShowPokemonToday *pokemonToday = &gSaveBlock1.tvShows[gSpecialVar_0x8004].pokemonToday; + u8 state; + gScriptResult = 0; - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonToday.species]); - TVShowConvertInternationalString(gStringVar3, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); - if (tvShow->pokemonToday.ball == ITEM_MASTER_BALL) { + TVShowConvertInternationalString(gStringVar1, pokemonToday->playerName, pokemonToday->language); + StringCopy(gStringVar2, gSpeciesNames[pokemonToday->species]); + TVShowConvertInternationalString(gStringVar3, pokemonToday->nickname, pokemonToday->language2); + if (pokemonToday->ball == ITEM_MASTER_BALL) gUnknown_020387E8 = 5; - } else { + else gUnknown_020387E8 = 1; - } break; case 1: gUnknown_020387E8 = 2; break; case 2: - StringCopy(gStringVar2, ItemId_GetItem(tvShow->pokemonToday.ball)->name); - sub_80BF088(2, tvShow->pokemonToday.var12); - if (tvShow->pokemonToday.var12 < 4) { + StringCopy(gStringVar2, ItemId_GetItem(pokemonToday->ball)->name); + sub_80BF088(2, pokemonToday->var12); + if (pokemonToday->var12 < 4) gUnknown_020387E8 = 3; - } else { + else gUnknown_020387E8 = 4; - } break; case 3: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonToday.species]); - TVShowConvertInternationalString(gStringVar3, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); + TVShowConvertInternationalString(gStringVar1, pokemonToday->playerName, pokemonToday->language); + StringCopy(gStringVar2, gSpeciesNames[pokemonToday->species]); + TVShowConvertInternationalString(gStringVar3, pokemonToday->nickname, pokemonToday->language2); gUnknown_020387E8 = 6; break; case 4: gUnknown_020387E8 = 6; break; case 5: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonToday.species]); + TVShowConvertInternationalString(gStringVar1, pokemonToday->playerName, pokemonToday->language); + StringCopy(gStringVar2, gSpeciesNames[pokemonToday->species]); gUnknown_020387E8 = 6; break; case 6: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonToday.playerName, tvShow->pokemonToday.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonToday.species]); - TVShowConvertInternationalString(gStringVar3, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); + TVShowConvertInternationalString(gStringVar1, pokemonToday->playerName, pokemonToday->language); + StringCopy(gStringVar2, gSpeciesNames[pokemonToday->species]); + TVShowConvertInternationalString(gStringVar3, pokemonToday->nickname, pokemonToday->language2); gUnknown_020387E8 += (Random() % 4) + 1; break; case 7: case 8: - StringCopy(gStringVar1, gSpeciesNames[tvShow->pokemonToday.species]); - TVShowConvertInternationalString(gStringVar2, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); - sub_80BF638(2, tvShow->pokemonToday.species); + StringCopy(gStringVar1, gSpeciesNames[pokemonToday->species]); + TVShowConvertInternationalString(gStringVar2, pokemonToday->nickname, pokemonToday->language2); + sub_80BF638(2, pokemonToday->species); gUnknown_020387E8 = 11; break; case 9: case 10: - StringCopy(gStringVar1, gSpeciesNames[tvShow->pokemonToday.species]); - TVShowConvertInternationalString(gStringVar2, tvShow->pokemonToday.nickname, tvShow->pokemonToday.language2); + StringCopy(gStringVar1, gSpeciesNames[pokemonToday->species]); + TVShowConvertInternationalString(gStringVar2, pokemonToday->nickname, pokemonToday->language2); gUnknown_020387E8 = 11; break; case 11: TVShowDone(); break; } - ShowFieldMessage(gTVPokemonTodayTextGroup[switchval]); + ShowFieldMessage(gTVPokemonTodayTextGroup[state]); } -void DoTVShowPokemonTodayFailedCapture(void) { - TVShow *tvShow; - u8 switchval; - u16 rval; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; +void DoTVShowPokemonTodayFailedCapture(void) +{ + struct TVShowPokemonTodayFailed *pokemonTodayFailed = &gSaveBlock1.tvShows[gSpecialVar_0x8004].pokemonTodayFailed; + u8 state; + gScriptResult = 0; - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonTodayFailed.playerName, tvShow->pokemonTodayFailed.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonTodayFailed.species]); + TVShowConvertInternationalString(gStringVar1, pokemonTodayFailed->playerName, pokemonTodayFailed->language); + StringCopy(gStringVar2, gSpeciesNames[pokemonTodayFailed->species]); gUnknown_020387E8 = 1; break; case 1: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonTodayFailed.playerName, tvShow->pokemonTodayFailed.language); - sub_80FBFB4(gStringVar2, tvShow->pokemonTodayFailed.var12, 0); - StringCopy(gStringVar3, gSpeciesNames[tvShow->pokemonTodayFailed.species2]); - if (tvShow->pokemonTodayFailed.var11 == 1) { + TVShowConvertInternationalString(gStringVar1, pokemonTodayFailed->playerName, pokemonTodayFailed->language); + sub_80FBFB4(gStringVar2, pokemonTodayFailed->var12, 0); + StringCopy(gStringVar3, gSpeciesNames[pokemonTodayFailed->species2]); + if (pokemonTodayFailed->var11 == 1) gUnknown_020387E8 = 3; - } else { + else gUnknown_020387E8 = 2; - } break; case 2: case 3: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonTodayFailed.playerName, tvShow->pokemonTodayFailed.language); - sub_80BF088(1, tvShow->pokemonTodayFailed.var10); - rval = (Random() % 3); - if (rval == 0) { + TVShowConvertInternationalString(gStringVar1, pokemonTodayFailed->playerName, pokemonTodayFailed->language); + sub_80BF088(1, pokemonTodayFailed->var10); + if ((Random() % 3) == 0) gUnknown_020387E8 = 5; - } else { + else gUnknown_020387E8 = 4; - } break; case 4: case 5: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonTodayFailed.playerName, tvShow->pokemonTodayFailed.language); + TVShowConvertInternationalString(gStringVar1, pokemonTodayFailed->playerName, pokemonTodayFailed->language); gUnknown_020387E8 = 6; break; case 6: TVShowDone(); break; } - ShowFieldMessage(gTVPokemonTodayFailedCaptureTextGroup[switchval]); + ShowFieldMessage(gTVPokemonTodayFailedCaptureTextGroup[state]); } -void DoTVShowPokemonFanClubLetter(void) { - TVShow *tvShow; - u8 switchval; +void DoTVShowPokemonFanClubLetter(void) +{ + struct TVShowFanClubLetter *fanclubLetter = &gSaveBlock1.tvShows[gSpecialVar_0x8004].fanclubLetter; + u8 state; u16 rval; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; + gScriptResult = 0; - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->fanclubLetter.playerName, tvShow->fanclubLetter.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->fanclubLetter.species]); + TVShowConvertInternationalString(gStringVar1, fanclubLetter->playerName, fanclubLetter->language); + StringCopy(gStringVar2, gSpeciesNames[fanclubLetter->species]); gUnknown_020387E8 = 50; break; case 1: rval = (Random() % 4) + 1; - if (rval == 1) { + if (rval == 1) gUnknown_020387E8 = 2; - } else { + else gUnknown_020387E8 = rval + 2; - } break; case 2: gUnknown_020387E8 = 51; @@ -3559,7 +3037,7 @@ void DoTVShowPokemonFanClubLetter(void) { case 4: case 5: case 6: - sub_80BF79C(tvShow); + sub_80BF79C((TVShow *)fanclubLetter); gUnknown_020387E8 = 7; break; case 7: @@ -3568,29 +3046,31 @@ void DoTVShowPokemonFanClubLetter(void) { TVShowDone(); break; case 50: - ConvertEasyChatWordsToString(gStringVar4, tvShow->fanclubLetter.pad04, 2, 2); + ConvertEasyChatWordsToString(gStringVar4, fanclubLetter->pad04, 2, 2); ShowFieldMessage(gStringVar4); gUnknown_020387E8 = 1; return; case 51: - ConvertEasyChatWordsToString(gStringVar4, tvShow->fanclubLetter.pad04, 2, 2); + ConvertEasyChatWordsToString(gStringVar4, fanclubLetter->pad04, 2, 2); ShowFieldMessage(gStringVar4); gUnknown_020387E8 = 3; return; } - ShowFieldMessage(gTVFanClubTextGroup[switchval]); + ShowFieldMessage(gTVFanClubTextGroup[state]); } -void DoTVShowRecentHappenings(void) { - TVShow *tvShow; - u8 switchval; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; +void DoTVShowRecentHappenings(void) +{ + struct TVShowRecentHappenings *recentHappenings = &gSaveBlock1.tvShows[gSpecialVar_0x8004].recentHappenings; + u8 state; + gScriptResult = 0; - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->recentHappenings.playerName, tvShow->recentHappenings.language); - sub_80BF79C(tvShow); + TVShowConvertInternationalString(gStringVar1, recentHappenings->playerName, recentHappenings->language); + sub_80BF79C((TVShow *)recentHappenings); gUnknown_020387E8 = 50; break; case 1: @@ -3605,92 +3085,90 @@ void DoTVShowRecentHappenings(void) { TVShowDone(); break; case 50: - ConvertEasyChatWordsToString(gStringVar4, tvShow->recentHappenings.var04, 2, 2); + ConvertEasyChatWordsToString(gStringVar4, recentHappenings->var04, 2, 2); ShowFieldMessage(gStringVar4); gUnknown_020387E8 = 1; return; } - ShowFieldMessage(gTVRecentHappeningsTextGroup[switchval]); + ShowFieldMessage(gTVRecentHappeningsTextGroup[state]); } -void DoTVShowPokemonFanClubOpinions(void) { - TVShow *tvShow; - u8 switchval; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; +void DoTVShowPokemonFanClubOpinions(void) +{ + struct TVShowFanclubOpinions *fanclubOpinions = &gSaveBlock1.tvShows[gSpecialVar_0x8004].fanclubOpinions; + u8 state; + gScriptResult = 0; - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->fanclubOpinions.playerName, tvShow->fanclubOpinions.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->fanclubOpinions.var02]); - TVShowConvertInternationalString(gStringVar3, tvShow->fanclubOpinions.var10, tvShow->fanclubOpinions.var0E); - gUnknown_020387E8 = tvShow->fanclubOpinions.var04B + 1; + TVShowConvertInternationalString(gStringVar1, fanclubOpinions->playerName, fanclubOpinions->language); + StringCopy(gStringVar2, gSpeciesNames[fanclubOpinions->var02]); + TVShowConvertInternationalString(gStringVar3, fanclubOpinions->var10, fanclubOpinions->var0E); + gUnknown_020387E8 = fanclubOpinions->var04B + 1; break; case 1: case 2: case 3: - TVShowConvertInternationalString(gStringVar1, tvShow->fanclubOpinions.playerName, tvShow->fanclubOpinions.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->fanclubOpinions.var02]); - sub_80EB3FC(gStringVar3, tvShow->fanclubOpinions.var1C[0]); + TVShowConvertInternationalString(gStringVar1, fanclubOpinions->playerName, fanclubOpinions->language); + StringCopy(gStringVar2, gSpeciesNames[fanclubOpinions->var02]); + sub_80EB3FC(gStringVar3, fanclubOpinions->var1C[0]); gUnknown_020387E8 = 4; break; case 4: - TVShowConvertInternationalString(gStringVar1, tvShow->fanclubOpinions.playerName, tvShow->fanclubOpinions.language); - sub_80EB3FC(gStringVar3, tvShow->fanclubOpinions.var1C[1]); + TVShowConvertInternationalString(gStringVar1, fanclubOpinions->playerName, fanclubOpinions->language); + sub_80EB3FC(gStringVar3, fanclubOpinions->var1C[1]); TVShowDone(); break; } - ShowFieldMessage(gTVFanClubOpinionsTextGroup[switchval]); + ShowFieldMessage(gTVFanClubOpinionsTextGroup[state]); } -void nullsub_22(void) { - +void nullsub_22(void) +{ } void DoTVShowPokemonNewsMassOutbreak(void) { - TVShow *tvShow; - - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; - - sub_80FBFB4(gStringVar1, tvShow->massOutbreak.locationMapNum, 0); - - StringCopy(gStringVar2, gSpeciesNames[tvShow->massOutbreak.species]); + struct TVShowMassOutbreak *massOutbreak = &gSaveBlock1.tvShows[gSpecialVar_0x8004].massOutbreak; + sub_80FBFB4(gStringVar1, massOutbreak->locationMapNum, 0); + StringCopy(gStringVar2, gSpeciesNames[massOutbreak->species]); TVShowDone(); StartMassOutbreak(); - ShowFieldMessage(gTVPokemonOutbreakTextGroup[gUnknown_020387E8]); } -void DoTVShowInSearchOfTrainers(void) { - u8 switchval; +void DoTVShowInSearchOfTrainers(void) +{ + u8 state; + gScriptResult = 0; - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: sub_80FBFB4(gStringVar1, gSaveBlock1.gabbyAndTyData.mapnum, 0); - if (gSaveBlock1.gabbyAndTyData.battleNum > 1) { + if (gSaveBlock1.gabbyAndTyData.battleNum > 1) gUnknown_020387E8 = 1; - } else { + else gUnknown_020387E8 = 2; - } break; case 1: gUnknown_020387E8 = 2; break; case 2: - if (gSaveBlock1.gabbyAndTyData.valA_0 == 0) { + if (gSaveBlock1.gabbyAndTyData.valA_0 == 0) gUnknown_020387E8 = 4; - } else if (gSaveBlock1.gabbyAndTyData.valA_3 != 0) { + else if (gSaveBlock1.gabbyAndTyData.valA_3 != 0) gUnknown_020387E8 = 5; - } else if (gSaveBlock1.gabbyAndTyData.valA_2 != 0) { + else if (gSaveBlock1.gabbyAndTyData.valA_2 != 0) gUnknown_020387E8 = 6; - } else if (gSaveBlock1.gabbyAndTyData.valA_1 != 0) { + else if (gSaveBlock1.gabbyAndTyData.valA_1 != 0) gUnknown_020387E8 = 7; - } else { + else gUnknown_020387E8 = 3; - } break; case 3: StringCopy(gStringVar1, gSpeciesNames[gSaveBlock1.gabbyAndTyData.mon1]); @@ -3713,71 +3191,73 @@ void DoTVShowInSearchOfTrainers(void) { TakeTVShowInSearchOfTrainersOffTheAir(); break; } - ShowFieldMessage(gTVGabbyAndTyTextGroup[switchval]); + ShowFieldMessage(gTVGabbyAndTyTextGroup[state]); } -void DoTVShowPokemonAngler(void) { - TVShow *tvShow; - u8 switchval; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; +void DoTVShowPokemonAngler(void) +{ + struct TVShowPokemonAngler *pokemonAngler = &gSaveBlock1.tvShows[gSpecialVar_0x8004].pokemonAngler; + u8 state; + gScriptResult = 0; - if (tvShow->pokemonAngler.var02 < tvShow->pokemonAngler.var03) { + if (pokemonAngler->var02 < pokemonAngler->var03) gUnknown_020387E8 = 0; - } else { + else gUnknown_020387E8 = 1; - } - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonAngler.playerName, tvShow->pokemonAngler.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonAngler.var04]); - sub_80BF088(2, tvShow->pokemonAngler.var03); + TVShowConvertInternationalString(gStringVar1, pokemonAngler->playerName, pokemonAngler->language); + StringCopy(gStringVar2, gSpeciesNames[pokemonAngler->var04]); + sub_80BF088(2, pokemonAngler->var03); TVShowDone(); break; case 1: - TVShowConvertInternationalString(gStringVar1, tvShow->pokemonAngler.playerName, tvShow->pokemonAngler.language); - StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonAngler.var04]); - sub_80BF088(2, tvShow->pokemonAngler.var02); + TVShowConvertInternationalString(gStringVar1, pokemonAngler->playerName, pokemonAngler->language); + StringCopy(gStringVar2, gSpeciesNames[pokemonAngler->var04]); + sub_80BF088(2, pokemonAngler->var02); TVShowDone(); break; } - ShowFieldMessage(gTVFishingGuruAdviceTextGroup[switchval]); + ShowFieldMessage(gTVFishingGuruAdviceTextGroup[state]); } -void DoTVShowTheWorldOfMasters(void) { - TVShow *tvShow; - u8 switchval; - tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004]; +void DoTVShowTheWorldOfMasters(void) +{ + struct TVShowWorldOfMasters *worldOfMasters = &gSaveBlock1.tvShows[gSpecialVar_0x8004].worldOfMasters; + u8 state; + gScriptResult = 0; - switchval = gUnknown_020387E8; - switch (switchval) { + state = gUnknown_020387E8; + switch (state) + { case 0: - TVShowConvertInternationalString(gStringVar1, tvShow->worldOfMasters.playerName, - tvShow->worldOfMasters.language); - sub_80BF088(1, tvShow->worldOfMasters.var06); - sub_80BF088(2, tvShow->worldOfMasters.var02); + TVShowConvertInternationalString(gStringVar1, worldOfMasters->playerName, + worldOfMasters->language); + sub_80BF088(1, worldOfMasters->var06); + sub_80BF088(2, worldOfMasters->var02); gUnknown_020387E8 = 1; break; case 1: - StringCopy(gStringVar1, gSpeciesNames[tvShow->worldOfMasters.var08]); + StringCopy(gStringVar1, gSpeciesNames[worldOfMasters->var08]); gUnknown_020387E8 = 2; break; case 2: - TVShowConvertInternationalString(gStringVar1, tvShow->worldOfMasters.playerName, - tvShow->worldOfMasters.language); - sub_80FBFB4(gStringVar2, tvShow->worldOfMasters.var0a, 0); - StringCopy(gStringVar3, gSpeciesNames[tvShow->worldOfMasters.var04]); + TVShowConvertInternationalString(gStringVar1, worldOfMasters->playerName, + worldOfMasters->language); + sub_80FBFB4(gStringVar2, worldOfMasters->var0a, 0); + StringCopy(gStringVar3, gSpeciesNames[worldOfMasters->var04]); TVShowDone(); break; } - ShowFieldMessage(gTVWorldOfMastersTextGroup[switchval]); + ShowFieldMessage(gTVWorldOfMastersTextGroup[state]); } void TVShowDone(void) { gScriptResult = 1; gUnknown_020387E8 = 0; - gSaveBlock1.tvShows[gSpecialVar_0x8004].common.var01 = 0; } diff --git a/src/util.c b/src/util.c index c83fe8c8a..582b9f806 100644 --- a/src/util.c +++ b/src/util.c @@ -1,27 +1,140 @@ #include "global.h" #include "util.h" -extern const struct SpriteTemplate gInvisibleSpriteTemplate; -extern const u8 gSpriteDimensions[3][4][2]; -extern const u16 gCrc16Table[]; +const u32 gBitTable[] = +{ + 1 << 0, + 1 << 1, + 1 << 2, + 1 << 3, + 1 << 4, + 1 << 5, + 1 << 6, + 1 << 7, + 1 << 8, + 1 << 9, + 1 << 10, + 1 << 11, + 1 << 12, + 1 << 13, + 1 << 14, + 1 << 15, + 1 << 16, + 1 << 17, + 1 << 18, + 1 << 19, + 1 << 20, + 1 << 21, + 1 << 22, + 1 << 23, + 1 << 24, + 1 << 25, + 1 << 26, + 1 << 27, + 1 << 28, + 1 << 29, + 1 << 30, + 1 << 31, +}; -u8 CreateInvisibleSpriteWithCallback(void (*callback)(struct Sprite *)) { +static const struct SpriteTemplate gInvisibleSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const u8 gSpriteDimensions[3][4][2] = +{ + // square + { + {1, 1}, + {2, 2}, + {4, 4}, + {8, 8}, + }, + + // horizontal rectangle + { + {2, 1}, + {4, 1}, + {4, 2}, + {8, 4}, + }, + + // vertical rectangle + { + {1, 2}, + {1, 4}, + {2, 4}, + {4, 8}, + }, +}; + +static const u16 gCrc16Table[] = +{ + 0x0000, 0x1189, 0x2312, 0x329B, 0x4624, 0x57AD, 0x6536, 0x74BF, + 0x8C48, 0x9DC1, 0xAF5A, 0xBED3, 0xCA6C, 0xDBE5, 0xE97E, 0xF8F7, + 0x1081, 0x0108, 0x3393, 0x221A, 0x56A5, 0x472C, 0x75B7, 0x643E, + 0x9CC9, 0x8D40, 0xBFDB, 0xAE52, 0xDAED, 0xCB64, 0xF9FF, 0xE876, + 0x2102, 0x308B, 0x0210, 0x1399, 0x6726, 0x76AF, 0x4434, 0x55BD, + 0xAD4A, 0xBCC3, 0x8E58, 0x9FD1, 0xEB6E, 0xFAE7, 0xC87C, 0xD9F5, + 0x3183, 0x200A, 0x1291, 0x0318, 0x77A7, 0x662E, 0x54B5, 0x453C, + 0xBDCB, 0xAC42, 0x9ED9, 0x8F50, 0xFBEF, 0xEA66, 0xD8FD, 0xC974, + 0x4204, 0x538D, 0x6116, 0x709F, 0x0420, 0x15A9, 0x2732, 0x36BB, + 0xCE4C, 0xDFC5, 0xED5E, 0xFCD7, 0x8868, 0x99E1, 0xAB7A, 0xBAF3, + 0x5285, 0x430C, 0x7197, 0x601E, 0x14A1, 0x0528, 0x37B3, 0x263A, + 0xDECD, 0xCF44, 0xFDDF, 0xEC56, 0x98E9, 0x8960, 0xBBFB, 0xAA72, + 0x6306, 0x728F, 0x4014, 0x519D, 0x2522, 0x34AB, 0x0630, 0x17B9, + 0xEF4E, 0xFEC7, 0xCC5C, 0xDDD5, 0xA96A, 0xB8E3, 0x8A78, 0x9BF1, + 0x7387, 0x620E, 0x5095, 0x411C, 0x35A3, 0x242A, 0x16B1, 0x0738, + 0xFFCF, 0xEE46, 0xDCDD, 0xCD54, 0xB9EB, 0xA862, 0x9AF9, 0x8B70, + 0x8408, 0x9581, 0xA71A, 0xB693, 0xC22C, 0xD3A5, 0xE13E, 0xF0B7, + 0x0840, 0x19C9, 0x2B52, 0x3ADB, 0x4E64, 0x5FED, 0x6D76, 0x7CFF, + 0x9489, 0x8500, 0xB79B, 0xA612, 0xD2AD, 0xC324, 0xF1BF, 0xE036, + 0x18C1, 0x0948, 0x3BD3, 0x2A5A, 0x5EE5, 0x4F6C, 0x7DF7, 0x6C7E, + 0xA50A, 0xB483, 0x8618, 0x9791, 0xE32E, 0xF2A7, 0xC03C, 0xD1B5, + 0x2942, 0x38CB, 0x0A50, 0x1BD9, 0x6F66, 0x7EEF, 0x4C74, 0x5DFD, + 0xB58B, 0xA402, 0x9699, 0x8710, 0xF3AF, 0xE226, 0xD0BD, 0xC134, + 0x39C3, 0x284A, 0x1AD1, 0x0B58, 0x7FE7, 0x6E6E, 0x5CF5, 0x4D7C, + 0xC60C, 0xD785, 0xE51E, 0xF497, 0x8028, 0x91A1, 0xA33A, 0xB2B3, + 0x4A44, 0x5BCD, 0x6956, 0x78DF, 0x0C60, 0x1DE9, 0x2F72, 0x3EFB, + 0xD68D, 0xC704, 0xF59F, 0xE416, 0x90A9, 0x8120, 0xB3BB, 0xA232, + 0x5AC5, 0x4B4C, 0x79D7, 0x685E, 0x1CE1, 0x0D68, 0x3FF3, 0x2E7A, + 0xE70E, 0xF687, 0xC41C, 0xD595, 0xA12A, 0xB0A3, 0x8238, 0x93B1, + 0x6B46, 0x7ACF, 0x4854, 0x59DD, 0x2D62, 0x3CEB, 0x0E70, 0x1FF9, + 0xF78F, 0xE606, 0xD49D, 0xC514, 0xB1AB, 0xA022, 0x92B9, 0x8330, + 0x7BC7, 0x6A4E, 0x58D5, 0x495C, 0x3DE3, 0x2C6A, 0x1EF1, 0x0F78, +}; + +const u8 gMiscBlank_Gfx[] = INCBIN_U8("graphics/interface/blank.4bpp"); + + +u8 CreateInvisibleSpriteWithCallback(void (*callback)(struct Sprite *)) +{ u8 sprite = CreateSprite(&gInvisibleSpriteTemplate, 248, 168, 14); gSprites[sprite].invisible = TRUE; gSprites[sprite].callback = callback; return sprite; } -void StoreWordInTwoHalfwords(u16 *h, u32 w) { +void StoreWordInTwoHalfwords(u16 *h, u32 w) +{ h[0] = (u16)(w); h[1] = (u16)(w >> 16); } -void LoadWordFromTwoHalfwords(u16 *h, u32 *w) { +void LoadWordFromTwoHalfwords(u16 *h, u32 *w) +{ *w = h[0] | (s16)h[1] << 16; } -void SetBgAffineStruct(struct BgAffineSrcData *src, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha) { +void SetBgAffineStruct(struct BgAffineSrcData *src, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha) +{ src->texX = texX; src->texY = texY; src->scrX = scrX; @@ -31,15 +144,11 @@ void SetBgAffineStruct(struct BgAffineSrcData *src, u32 texX, u32 texY, s16 scrX src->alpha = alpha; } -void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha) { +void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha) +{ struct BgAffineSrcData src; - SetBgAffineStruct( - &src, - texX, texY, - scrX, scrY, - sx, sy, - alpha - ); + + SetBgAffineStruct(&src, texX, texY, scrX, scrY, sx, sy, alpha); BgAffineSet(&src, dest, 1); } @@ -47,24 +156,34 @@ void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s // Functionally equivalent. // Only the two yflip loops don't match. -void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) { +void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) +{ u8 x, y; s8 i, j; u8 xflip[32]; u8 h = gSpriteDimensions[shape][size][1]; u8 w = gSpriteDimensions[shape][size][0]; - for (y = 0; y < h; y++) { + + for (y = 0; y < h; y++) + { int filler = 32 - w; - for (x = 0; x < w; x++) { + + for (x = 0; x < w; x++) + { int tile = (*tilemap & 0x3ff) * 32; int attr = *tilemap & 0xc00; - if (attr == 0) { + + if (attr == 0) + { void *src = tiles + tile; void *dest = output; int length = 32; DmaCopy32(3, src, dest, length); - } else if (attr == 0x800) { // yflip - for (i = 0; i < 8; i++) { + } + else if (attr == 0x800) // yflip + { + for (i = 0; i < 8; i++) + { void *src = tiles; void *dest = output; int length = 4; @@ -73,22 +192,30 @@ void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) { dest += i * 4; DmaCopy32(3, src, dest, length); } - } else { // xflip - for (i = 0; i < 8; i++) { - for (j = 0; j < 4; j++) { + } + else // xflip + { + for (i = 0; i < 8; i++) + { + for (j = 0; j < 4; j++) + { u8 i2 = i * 4; xflip[i2 + (3-j)] = (tiles[tile + i2 + j] & 0xf) << 4; xflip[i2 + (3-j)] |= tiles[tile + i2 + j] >> 4; } } - if (*tilemap & 0x800) { // yflip - for (i = 0; i < 8; i++) { + if (*tilemap & 0x800) // yflip + { + for (i = 0; i < 8; i++) + { void *src = xflip + (7-i) * 4; void *dest = output + i*4; int length = 4; DmaCopy32(3, src, dest, length); } - } else { + } + else + { void *src = xflip; void *dest = output; int length = 32; @@ -104,7 +231,8 @@ void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) { #else -__attribute__((naked)) void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) { +__attribute__((naked)) void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) +{ asm("\n" " .syntax unified\n" " push {r4-r7,lr}\n" @@ -348,39 +476,47 @@ __attribute__((naked)) void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *t #endif -int CountTrailingZeroBits(u32 value) { +int CountTrailingZeroBits(u32 value) +{ u8 i; - for (i = 0; i < 32; i++) { - if ((value & 1) == 0) { + + for (i = 0; i < 32; i++) + { + if ((value & 1) == 0) value >>= 1; - } else { + else return i; - } } return 0; } -u16 CalcCRC16(u8 *data, int length) { +u16 CalcCRC16(u8 *data, int length) +{ u16 i, j; u16 crc = 0x1121; - for (i = 0; i < length; i++) { + + for (i = 0; i < length; i++) + { crc ^= data[i]; - for (j = 0; j < 8; j++) { - if (crc & 1) { + for (j = 0; j < 8; j++) + { + if (crc & 1) crc = (crc >> 1) ^ 0x8408; - } else { + else crc >>= 1; - } } } return ~crc; } -u16 CalcCRC16WithTable(u8 *data, int length) { +u16 CalcCRC16WithTable(u8 *data, int length) +{ u16 i; u16 crc = 0x1121; u8 byte; - for (i = 0; i < length; i++) { + + for (i = 0; i < length; i++) + { byte = crc >> 8; crc ^= data[i]; crc = byte ^ gCrc16Table[(u8)crc]; diff --git a/sym_bss.txt b/sym_bss.txt index 315bad6bb..99dcd1392 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -93,15 +93,7 @@ gUnknown_030006DC: @ 30006DC .space 0x4 .include "src/field_effect.o" - -gUnknown_03000700: @ 3000700 - .space 0x1 - -gUnknown_03000701: @ 3000701 - .space 0x3 - -gUnknown_03000704: @ 3000704 - .space 0x4 + .include "src/item_menu.o" gUnknown_03000708: @ 3000708 .space 0x10 diff --git a/sym_common.txt b/sym_common.txt index dfd114c8c..dc1e62f13 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -234,10 +234,10 @@ gUnknown_03005CF0: @ 3005CF0 gUnknown_03005D00: @ 3005D00 .space 0x10 -gUnknown_03005D10: @ 3005D10 +gBagPocketScrollStates: @ 3005D10 .space 0x14 -gUnknown_03005D24: @ 3005D24 +gCurrentBagPocketItemSlots: @ 3005D24 .space 0x4 gUnknown_03005D28: @ 3005D28 diff --git a/sym_ewram.txt b/sym_ewram.txt index ecb18decb..0a7cce3ef 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -605,59 +605,9 @@ gUnknown_020384F8: @ 20384F8 .space 0x40 .include "src/map_name_popup.o" + .include "src/item_menu.o" - .align 2 -gUnknown_0203853C: @ 203853C - .space 0x4 - -gUnknown_02038540: @ 2038540 - .space 0x4 - -gUnknown_02038544: @ 2038544 - .space 0xC - -gUnknown_02038550: @ 2038550 - .space 0x4 - -gUnknown_02038554: @ 2038554 - .space 0x4 - -gUnknown_02038558: @ 2038558 - .space 0x1 - -gUnknown_02038559: @ 2038559 - .space 0x1 - -gUnknown_0203855A: @ 203855A - .space 0x1 - -gUnknown_0203855B: @ 203855B - .space 0x1 - -gUnknown_0203855C: @ 203855C - .space 0x2 - -gScriptItemId: @ 203855E - .space 0x2 - -gUnknown_02038560: @ 2038560 - .space 0x1 - -gUnknown_02038561: @ 2038561 - .space 0x1 - -gUnknown_02038562: @ 2038562 - .space 0x1 - -gUnknown_02038563: @ 2038563 - .space 0x1 - -gUnknown_02038564: @ 2038564 - .space 0x4 - -gUnknown_02038568: @ 2038568 - .space 0x4 - + .align 2 gUnknown_0203856C: @ 203856C .space 0x4 |