mirror of
https://github.com/pret/pokefirered.git
synced 2026-06-02 22:04:27 -05:00
item_use: through sub_80A16D0
This commit is contained in:
parent
164dd43a62
commit
12f3ceb0f7
|
|
@ -2758,7 +2758,7 @@ _0814D03C:
|
||||||
movs r3, 0x6
|
movs r3, 0x6
|
||||||
bl ConvertIntToDecimalStringN
|
bl ConvertIntToDecimalStringN
|
||||||
ldr r4, _0814D080 @ =gStringVar2
|
ldr r4, _0814D080 @ =gStringVar2
|
||||||
bl sub_815EFA0
|
bl GetBerryPowder
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r2, 0
|
movs r2, 0
|
||||||
|
|
|
||||||
|
|
@ -2150,8 +2150,8 @@ _08108E58:
|
||||||
bx r0
|
bx r0
|
||||||
thumb_func_end sub_8108E54
|
thumb_func_end sub_8108E54
|
||||||
|
|
||||||
thumb_func_start sub_8108E70
|
thumb_func_start DisplayItemMessageInBag
|
||||||
sub_8108E70: @ 8108E70
|
DisplayItemMessageInBag: @ 8108E70
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
mov r6, r9
|
mov r6, r9
|
||||||
mov r5, r8
|
mov r5, r8
|
||||||
|
|
@ -2202,7 +2202,7 @@ sub_8108E70: @ 8108E70
|
||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08108EDC: .4byte gTasks+0x8
|
_08108EDC: .4byte gTasks+0x8
|
||||||
thumb_func_end sub_8108E70
|
thumb_func_end DisplayItemMessageInBag
|
||||||
|
|
||||||
thumb_func_start sub_8108EE0
|
thumb_func_start sub_8108EE0
|
||||||
sub_8108EE0: @ 8108EE0
|
sub_8108EE0: @ 8108EE0
|
||||||
|
|
@ -4376,7 +4376,7 @@ sub_810A0A8: @ 810A0A8
|
||||||
ldr r3, _0810A11C @ =sub_810A1D0
|
ldr r3, _0810A11C @ =sub_810A1D0
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
b _0810A166
|
b _0810A166
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0810A110: .4byte gTasks+0x8
|
_0810A110: .4byte gTasks+0x8
|
||||||
|
|
@ -4430,7 +4430,7 @@ sub_810A170: @ 810A170
|
||||||
ldr r2, _0810A184 @ =gText_ThereIsNoPokemon
|
ldr r2, _0810A184 @ =gText_ThereIsNoPokemon
|
||||||
ldr r3, _0810A188 @ =sub_810A1D0
|
ldr r3, _0810A188 @ =sub_810A1D0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
|
|
@ -4456,7 +4456,7 @@ sub_810A18C: @ 810A18C
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
adds r2, r5, 0
|
adds r2, r5, 0
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
pop {r4,r5}
|
pop {r4,r5}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
|
|
@ -4697,7 +4697,7 @@ sub_810A370: @ 810A370
|
||||||
ldr r3, _0810A3C8 @ =sub_810A1D0
|
ldr r3, _0810A3C8 @ =sub_810A1D0
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
b _0810A426
|
b _0810A426
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0810A3BC: .4byte gTasks+0x8
|
_0810A3BC: .4byte gTasks+0x8
|
||||||
|
|
@ -4826,7 +4826,7 @@ sub_810A468: @ 810A468
|
||||||
ldr r3, _0810A4C0 @ =sub_810A1D0
|
ldr r3, _0810A4C0 @ =sub_810A1D0
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
b _0810A51E
|
b _0810A51E
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0810A4B4: .4byte gTasks+0x8
|
_0810A4B4: .4byte gTasks+0x8
|
||||||
|
|
@ -4981,7 +4981,7 @@ _0810A5B4:
|
||||||
ldr r3, _0810A5F4 @ =sub_810A1F8
|
ldr r3, _0810A5F4 @ =sub_810A1F8
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
adds r2, r4, 0
|
adds r2, r4, 0
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
b _0810A63E
|
b _0810A63E
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0810A5E8: .4byte gStringVar1
|
_0810A5E8: .4byte gStringVar1
|
||||||
|
|
@ -5019,7 +5019,7 @@ _0810A618:
|
||||||
ldr r3, _0810A650 @ =sub_810A770
|
ldr r3, _0810A650 @ =sub_810A770
|
||||||
adds r0, r7, 0
|
adds r0, r7, 0
|
||||||
adds r2, r4, 0
|
adds r2, r4, 0
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
_0810A63E:
|
_0810A63E:
|
||||||
pop {r4-r7}
|
pop {r4-r7}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
|
|
@ -5112,7 +5112,7 @@ sub_810A690: @ 810A690
|
||||||
ldr r3, _0810A708 @ =sub_810A70C
|
ldr r3, _0810A708 @ =sub_810A70C
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
adds r2, r4, 0
|
adds r2, r4, 0
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
pop {r4-r6}
|
pop {r4-r6}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
|
|
@ -5426,7 +5426,7 @@ sub_810A940: @ 810A940
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
adds r2, r4, 0
|
adds r2, r4, 0
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
pop {r4-r6}
|
pop {r4-r6}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
|
|
@ -5803,7 +5803,7 @@ _0810ACEC:
|
||||||
ldr r3, _0810AD0C @ =sub_810A1D0
|
ldr r3, _0810AD0C @ =sub_810A1D0
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
_0810ACF8:
|
_0810ACF8:
|
||||||
add sp, 0x14
|
add sp, 0x14
|
||||||
pop {r3,r4}
|
pop {r3,r4}
|
||||||
|
|
|
||||||
322
asm/item_use.s
322
asm/item_use.s
|
|
@ -5,308 +5,6 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start FieldUseFunc_CoinCase
|
|
||||||
FieldUseFunc_CoinCase: @ 80A1460
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
ldr r4, _080A14B4 @ =gStringVar1
|
|
||||||
bl GetCoins
|
|
||||||
adds r1, r0, 0
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x4
|
|
||||||
bl ConvertIntToDecimalStringN
|
|
||||||
ldr r4, _080A14B8 @ =gStringVar4
|
|
||||||
ldr r1, _080A14BC @ =gUnknown_8416537
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
ldr r0, _080A14C0 @ =gSpecialVar_ItemId
|
|
||||||
ldrh r2, [r0]
|
|
||||||
ldr r3, _080A14C4 @ =0x0000ffff
|
|
||||||
movs r0, 0x4
|
|
||||||
movs r1, 0
|
|
||||||
bl ItemUse_SetQuestLogEvent
|
|
||||||
ldr r1, _080A14C8 @ =gTasks
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0xE
|
|
||||||
ldrsh r0, [r0, r1]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080A14D0
|
|
||||||
ldr r3, _080A14CC @ =sub_810A1F8
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl sub_8108E70
|
|
||||||
b _080A14DC
|
|
||||||
.align 2, 0
|
|
||||||
_080A14B4: .4byte gStringVar1
|
|
||||||
_080A14B8: .4byte gStringVar4
|
|
||||||
_080A14BC: .4byte gUnknown_8416537
|
|
||||||
_080A14C0: .4byte gSpecialVar_ItemId
|
|
||||||
_080A14C4: .4byte 0x0000ffff
|
|
||||||
_080A14C8: .4byte gTasks
|
|
||||||
_080A14CC: .4byte sub_810A1F8
|
|
||||||
_080A14D0:
|
|
||||||
ldr r3, _080A14E4 @ =sub_80A112C
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl DisplayItemMessageOnField
|
|
||||||
_080A14DC:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080A14E4: .4byte sub_80A112C
|
|
||||||
thumb_func_end FieldUseFunc_CoinCase
|
|
||||||
|
|
||||||
thumb_func_start FieldUseFunc_PowderJar
|
|
||||||
FieldUseFunc_PowderJar: @ 80A14E8
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
ldr r4, _080A1538 @ =gStringVar1
|
|
||||||
bl sub_815EFA0
|
|
||||||
adds r1, r0, 0
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x5
|
|
||||||
bl ConvertIntToDecimalStringN
|
|
||||||
ldr r4, _080A153C @ =gStringVar4
|
|
||||||
ldr r1, _080A1540 @ =gUnknown_8416644
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
ldr r0, _080A1544 @ =gSpecialVar_ItemId
|
|
||||||
ldrh r2, [r0]
|
|
||||||
ldr r3, _080A1548 @ =0x0000ffff
|
|
||||||
movs r0, 0x4
|
|
||||||
movs r1, 0
|
|
||||||
bl ItemUse_SetQuestLogEvent
|
|
||||||
ldr r1, _080A154C @ =gTasks
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0xE
|
|
||||||
ldrsh r0, [r0, r1]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080A1554
|
|
||||||
ldr r3, _080A1550 @ =sub_810A1F8
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl sub_8108E70
|
|
||||||
b _080A1560
|
|
||||||
.align 2, 0
|
|
||||||
_080A1538: .4byte gStringVar1
|
|
||||||
_080A153C: .4byte gStringVar4
|
|
||||||
_080A1540: .4byte gUnknown_8416644
|
|
||||||
_080A1544: .4byte gSpecialVar_ItemId
|
|
||||||
_080A1548: .4byte 0x0000ffff
|
|
||||||
_080A154C: .4byte gTasks
|
|
||||||
_080A1550: .4byte sub_810A1F8
|
|
||||||
_080A1554:
|
|
||||||
ldr r3, _080A1568 @ =sub_80A112C
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl DisplayItemMessageOnField
|
|
||||||
_080A1560:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080A1568: .4byte sub_80A112C
|
|
||||||
thumb_func_end FieldUseFunc_PowderJar
|
|
||||||
|
|
||||||
thumb_func_start FieldUseFunc_PokeFlute
|
|
||||||
FieldUseFunc_PokeFlute: @ 80A156C
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
movs r6, 0
|
|
||||||
movs r4, 0
|
|
||||||
b _080A1598
|
|
||||||
_080A1578:
|
|
||||||
movs r0, 0x64
|
|
||||||
muls r0, r4
|
|
||||||
ldr r1, _080A15D0 @ =gPlayerParty
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0x11
|
|
||||||
adds r2, r4, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl ExecuteTableBasedItemEffect
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080A1592
|
|
||||||
movs r6, 0x1
|
|
||||||
_080A1592:
|
|
||||||
adds r0, r4, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
_080A1598:
|
|
||||||
bl CalculatePlayerPartyCount
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r4, r0
|
|
||||||
bcc _080A1578
|
|
||||||
cmp r6, 0
|
|
||||||
beq _080A1600
|
|
||||||
ldr r0, _080A15D4 @ =gSpecialVar_ItemId
|
|
||||||
ldrh r2, [r0]
|
|
||||||
ldr r3, _080A15D8 @ =0x0000ffff
|
|
||||||
movs r0, 0x4
|
|
||||||
movs r1, 0
|
|
||||||
bl ItemUse_SetQuestLogEvent
|
|
||||||
ldr r1, _080A15DC @ =gTasks
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0xE
|
|
||||||
ldrsh r0, [r0, r1]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080A15E8
|
|
||||||
ldr r2, _080A15E0 @ =gUnknown_8416690
|
|
||||||
ldr r3, _080A15E4 @ =sub_80A1648
|
|
||||||
b _080A1616
|
|
||||||
.align 2, 0
|
|
||||||
_080A15D0: .4byte gPlayerParty
|
|
||||||
_080A15D4: .4byte gSpecialVar_ItemId
|
|
||||||
_080A15D8: .4byte 0x0000ffff
|
|
||||||
_080A15DC: .4byte gTasks
|
|
||||||
_080A15E0: .4byte gUnknown_8416690
|
|
||||||
_080A15E4: .4byte sub_80A1648
|
|
||||||
_080A15E8:
|
|
||||||
ldr r2, _080A15F8 @ =gUnknown_8416690
|
|
||||||
ldr r3, _080A15FC @ =sub_80A1648
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl DisplayItemMessageOnField
|
|
||||||
b _080A1638
|
|
||||||
.align 2, 0
|
|
||||||
_080A15F8: .4byte gUnknown_8416690
|
|
||||||
_080A15FC: .4byte sub_80A1648
|
|
||||||
_080A1600:
|
|
||||||
ldr r0, _080A1620 @ =gTasks
|
|
||||||
lsls r1, r5, 2
|
|
||||||
adds r1, r5
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r0
|
|
||||||
movs r2, 0xE
|
|
||||||
ldrsh r0, [r1, r2]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080A162C
|
|
||||||
ldr r2, _080A1624 @ =gUnknown_841665C
|
|
||||||
ldr r3, _080A1628 @ =sub_810A1F8
|
|
||||||
_080A1616:
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl sub_8108E70
|
|
||||||
b _080A1638
|
|
||||||
.align 2, 0
|
|
||||||
_080A1620: .4byte gTasks
|
|
||||||
_080A1624: .4byte gUnknown_841665C
|
|
||||||
_080A1628: .4byte sub_810A1F8
|
|
||||||
_080A162C:
|
|
||||||
ldr r2, _080A1640 @ =gUnknown_841665C
|
|
||||||
ldr r3, _080A1644 @ =sub_80A112C
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl DisplayItemMessageOnField
|
|
||||||
_080A1638:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080A1640: .4byte gUnknown_841665C
|
|
||||||
_080A1644: .4byte sub_80A112C
|
|
||||||
thumb_func_end FieldUseFunc_PokeFlute
|
|
||||||
|
|
||||||
thumb_func_start sub_80A1648
|
|
||||||
sub_80A1648: @ 80A1648
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
movs r0, 0xB
|
|
||||||
bl PlayFanfareByFanfareNum
|
|
||||||
ldr r1, _080A166C @ =gTasks
|
|
||||||
lsls r0, r4, 2
|
|
||||||
adds r0, r4
|
|
||||||
lsls r0, 3
|
|
||||||
adds r0, r1
|
|
||||||
ldr r1, _080A1670 @ =sub_80A1674
|
|
||||||
str r1, [r0]
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080A166C: .4byte gTasks
|
|
||||||
_080A1670: .4byte sub_80A1674
|
|
||||||
thumb_func_end sub_80A1648
|
|
||||||
|
|
||||||
thumb_func_start sub_80A1674
|
|
||||||
sub_80A1674: @ 80A1674
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
adds r5, r4, 0
|
|
||||||
movs r0, 0
|
|
||||||
bl WaitFanfare
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _080A16C0
|
|
||||||
ldr r0, _080A16A8 @ =gTasks
|
|
||||||
lsls r1, r4, 2
|
|
||||||
adds r1, r4
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r0
|
|
||||||
movs r2, 0xE
|
|
||||||
ldrsh r0, [r1, r2]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080A16B4
|
|
||||||
ldr r2, _080A16AC @ =gUnknown_84166A7
|
|
||||||
ldr r3, _080A16B0 @ =sub_810A1F8
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl sub_8108E70
|
|
||||||
b _080A16C0
|
|
||||||
.align 2, 0
|
|
||||||
_080A16A8: .4byte gTasks
|
|
||||||
_080A16AC: .4byte gUnknown_84166A7
|
|
||||||
_080A16B0: .4byte sub_810A1F8
|
|
||||||
_080A16B4:
|
|
||||||
ldr r2, _080A16C8 @ =gUnknown_84166A7
|
|
||||||
ldr r3, _080A16CC @ =sub_80A112C
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl DisplayItemMessageOnField
|
|
||||||
_080A16C0:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080A16C8: .4byte gUnknown_84166A7
|
|
||||||
_080A16CC: .4byte sub_80A112C
|
|
||||||
thumb_func_end sub_80A1674
|
|
||||||
|
|
||||||
thumb_func_start sub_80A16D0
|
|
||||||
sub_80A16D0: @ 80A16D0
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
bl sub_80A0FBC
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80A16D0
|
|
||||||
|
|
||||||
thumb_func_start FieldUseFunc_OpenPartyMenu
|
thumb_func_start FieldUseFunc_OpenPartyMenu
|
||||||
FieldUseFunc_OpenPartyMenu: @ 80A16E0
|
FieldUseFunc_OpenPartyMenu: @ 80A16E0
|
||||||
push {lr}
|
push {lr}
|
||||||
|
|
@ -371,8 +69,8 @@ _080A1748: .4byte gUnknown_3005E98
|
||||||
_080A174C: .4byte dp05_rare_candy
|
_080A174C: .4byte dp05_rare_candy
|
||||||
thumb_func_end FieldUseFunc_RareCandy
|
thumb_func_end FieldUseFunc_RareCandy
|
||||||
|
|
||||||
thumb_func_start FieldUseFunc_SunStone
|
thumb_func_start FieldUseFunc_EvoItem
|
||||||
FieldUseFunc_SunStone: @ 80A1750
|
FieldUseFunc_EvoItem: @ 80A1750
|
||||||
push {lr}
|
push {lr}
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
|
|
@ -385,7 +83,7 @@ FieldUseFunc_SunStone: @ 80A1750
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A1764: .4byte gUnknown_3005E98
|
_080A1764: .4byte gUnknown_3005E98
|
||||||
_080A1768: .4byte sub_8126B60
|
_080A1768: .4byte sub_8126B60
|
||||||
thumb_func_end FieldUseFunc_SunStone
|
thumb_func_end FieldUseFunc_EvoItem
|
||||||
|
|
||||||
thumb_func_start FieldUseFunc_SacredAsh
|
thumb_func_start FieldUseFunc_SacredAsh
|
||||||
FieldUseFunc_SacredAsh: @ 80A176C
|
FieldUseFunc_SacredAsh: @ 80A176C
|
||||||
|
|
@ -702,7 +400,7 @@ _080A19CC:
|
||||||
ldr r3, _080A19E4 @ =sub_810A1F8
|
ldr r3, _080A19E4 @ =sub_810A1F8
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
_080A19D8:
|
_080A19D8:
|
||||||
pop {r4}
|
pop {r4}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
|
|
@ -740,7 +438,7 @@ sub_80A19E8: @ 80A19E8
|
||||||
ldr r3, _080A1A40 @ =sub_810A1F8
|
ldr r3, _080A1A40 @ =sub_810A1F8
|
||||||
adds r0, r6, 0
|
adds r0, r6, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
_080A1A2A:
|
_080A1A2A:
|
||||||
pop {r4-r6}
|
pop {r4-r6}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
|
|
@ -884,7 +582,7 @@ sub_80A1B48: @ 80A1B48
|
||||||
ldr r3, _080A1B88 @ =sub_810A1F8
|
ldr r3, _080A1B88 @ =sub_810A1F8
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
_080A1B78:
|
_080A1B78:
|
||||||
pop {r4}
|
pop {r4}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
|
|
@ -1254,7 +952,7 @@ _080A1E48:
|
||||||
ldr r3, _080A1E60 @ =sub_810A1F8
|
ldr r3, _080A1E60 @ =sub_810A1F8
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
_080A1E54:
|
_080A1E54:
|
||||||
pop {r4}
|
pop {r4}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
|
|
@ -1307,7 +1005,7 @@ BattleUseFunc_GuardSpec: @ 80A1E7C
|
||||||
ldr r3, _080A1ED0 @ =sub_810A1F8
|
ldr r3, _080A1ED0 @ =sub_810A1F8
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
b _080A1EE4
|
b _080A1EE4
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A1EBC: .4byte gBattlerPartyIndexes
|
_080A1EBC: .4byte gBattlerPartyIndexes
|
||||||
|
|
@ -1364,7 +1062,7 @@ sub_80A1EF4: @ 80A1EF4
|
||||||
ldr r3, _080A1F44 @ =sub_80A1F48
|
ldr r3, _080A1F44 @ =sub_80A1F48
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
_080A1F36:
|
_080A1F36:
|
||||||
pop {r4,r5}
|
pop {r4,r5}
|
||||||
pop {r0}
|
pop {r0}
|
||||||
|
|
@ -1505,7 +1203,7 @@ BattleUseFunc_PokeDoll: @ 80A2010
|
||||||
ldr r3, _080A2054 @ =sub_8108B50
|
ldr r3, _080A2054 @ =sub_8108B50
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
bl sub_8108E70
|
bl DisplayItemMessageInBag
|
||||||
b _080A2060
|
b _080A2060
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A2044: .4byte gBattleTypeFlags
|
_080A2044: .4byte gBattleTypeFlags
|
||||||
|
|
|
||||||
|
|
@ -1274,7 +1274,7 @@ _0811F47C:
|
||||||
cmp r0, 0x3
|
cmp r0, 0x3
|
||||||
bne _0811F492
|
bne _0811F492
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl sub_80A1150
|
bl GetItemCompatibilityRule
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
|
|
@ -12644,7 +12644,7 @@ sub_8124DE0: @ 8124DE0
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
ldr r4, _08124E0C @ =gSpecialVar_ItemId
|
ldr r4, _08124E0C @ =gSpecialVar_ItemId
|
||||||
ldrh r0, [r4]
|
ldrh r0, [r4]
|
||||||
bl sub_80A1150
|
bl GetItemCompatibilityRule
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x2
|
cmp r0, 0x2
|
||||||
|
|
|
||||||
|
|
@ -558,7 +558,7 @@ _0811C9AA:
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
adds r0, 0x96
|
adds r0, 0x96
|
||||||
ldrh r0, [r0]
|
ldrh r0, [r0]
|
||||||
bl sub_80A1150
|
bl GetItemCompatibilityRule
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x2
|
cmp r0, 0x2
|
||||||
|
|
|
||||||
6
include/berry_powder.h
Normal file
6
include/berry_powder.h
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#ifndef GUARD_BERRY_POWDER_H
|
||||||
|
#define GUARD_BERRY_POWDER_H
|
||||||
|
|
||||||
|
u32 GetBerryPowder(void);
|
||||||
|
|
||||||
|
#endif //GUARD_BERRY_POWDER_H
|
||||||
22
include/constants/fanfares.h
Normal file
22
include/constants/fanfares.h
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
#ifndef GUARD_CONSTANTS_FANFARES_H
|
||||||
|
#define GUARD_CONSTANTS_FANFARES_H
|
||||||
|
|
||||||
|
enum Fanfares
|
||||||
|
{
|
||||||
|
FANFARE_00,
|
||||||
|
FANFARE_01,
|
||||||
|
FANFARE_02,
|
||||||
|
FANFARE_03,
|
||||||
|
FANFARE_04,
|
||||||
|
FANFARE_05,
|
||||||
|
FANFARE_06,
|
||||||
|
FANFARE_07,
|
||||||
|
FANFARE_08,
|
||||||
|
FANFARE_09,
|
||||||
|
FANFARE_10,
|
||||||
|
FANFARE_POKEFLUTE,
|
||||||
|
FANFARE_KEY_ITEM,
|
||||||
|
FANFARE_DEX_EVAL
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif //GUARD_CONSTANTS_FANFARES_H
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
#define GUARD_ITEM_MENU_H
|
#define GUARD_ITEM_MENU_H
|
||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
#include "task.h"
|
||||||
|
|
||||||
// Exported type declarations
|
// Exported type declarations
|
||||||
|
|
||||||
|
|
@ -31,7 +32,7 @@ void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1
|
||||||
void sub_8108B50(u8 taskId);
|
void sub_8108B50(u8 taskId);
|
||||||
void sub_8108CB4(void);
|
void sub_8108CB4(void);
|
||||||
void sub_8108EE0(void (*)(void));
|
void sub_8108EE0(void (*)(void));
|
||||||
void sub_8108E70(u8, u8, const u8 *, void (*)(u8));
|
void DisplayItemMessageInBag(u8 taskId, u8 bgId, const u8 * string, TaskFunc followUpFunc);
|
||||||
void sub_810A1F8(u8 taskId);
|
void sub_810A1F8(u8 taskId);
|
||||||
|
|
||||||
#endif //GUARD_ITEM_MENU_H
|
#endif //GUARD_ITEM_MENU_H
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ void FieldUseFunc_OpenPartyMenu(u8 taskId);
|
||||||
void FieldUseFunc_Ether(u8 taskId);
|
void FieldUseFunc_Ether(u8 taskId);
|
||||||
void FieldUseFunc_PpUp(u8 taskId);
|
void FieldUseFunc_PpUp(u8 taskId);
|
||||||
void FieldUseFunc_RareCandy(u8 taskId);
|
void FieldUseFunc_RareCandy(u8 taskId);
|
||||||
void FieldUseFunc_SunStone(u8 taskId);
|
void FieldUseFunc_EvoItem(u8 taskId);
|
||||||
void FieldUseFunc_SacredAsh(u8 taskId);
|
void FieldUseFunc_SacredAsh(u8 taskId);
|
||||||
void FieldUseFunc_TmCase(u8 taskId);
|
void FieldUseFunc_TmCase(u8 taskId);
|
||||||
void FieldUseFunc_BerryPouch(u8 taskId);
|
void FieldUseFunc_BerryPouch(u8 taskId);
|
||||||
|
|
|
||||||
|
|
@ -163,6 +163,11 @@ extern const u8 gText_ReturnToPC[];
|
||||||
|
|
||||||
extern const u8 gUnknown_8416425[];
|
extern const u8 gUnknown_8416425[];
|
||||||
extern const u8 gUnknown_8416451[];
|
extern const u8 gUnknown_8416451[];
|
||||||
|
extern const u8 gUnknown_8416537[];
|
||||||
|
extern const u8 gUnknown_8416644[];
|
||||||
|
extern const u8 gUnknown_841665C[];
|
||||||
|
extern const u8 gUnknown_8416690[];
|
||||||
|
extern const u8 gUnknown_84166A7[];
|
||||||
|
|
||||||
extern const u8 gUnknown_84162BD[];
|
extern const u8 gUnknown_84162BD[];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -285,7 +285,7 @@ SECTIONS {
|
||||||
src/ss_anne.o(.text);
|
src/ss_anne.o(.text);
|
||||||
src/cereader_tool.o(.text);
|
src/cereader_tool.o(.text);
|
||||||
src/trainer_tower.o(.text);
|
src/trainer_tower.o(.text);
|
||||||
src/unk_815EDDC.o(.text);
|
src/berry_powder.o(.text);
|
||||||
src/unk_815F138.o(.text);
|
src/unk_815F138.o(.text);
|
||||||
src/berry_fix_program.o(.text);
|
src/berry_fix_program.o(.text);
|
||||||
} =0
|
} =0
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ bool8 sub_815EF5C(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 sub_815EFA0(void)
|
u32 GetBerryPowder(void)
|
||||||
{
|
{
|
||||||
return sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount);
|
return sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount);
|
||||||
}
|
}
|
||||||
|
|
@ -104,7 +104,7 @@ void sub_815F014(u8 windowId, u16 baseBlock, u8 palette, u32 powder)
|
||||||
|
|
||||||
void sub_815F070(void)
|
void sub_815F070(void)
|
||||||
{
|
{
|
||||||
sub_815EFBC(gUnknown_203F464, sub_815EFA0(), 39, 12, 0);
|
sub_815EFBC(gUnknown_203F464, GetBerryPowder(), 39, 12, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815F094(void)
|
void sub_815F094(void)
|
||||||
|
|
@ -120,7 +120,7 @@ void sub_815F094(void)
|
||||||
FillWindowPixelBuffer(gUnknown_203F464, 0);
|
FillWindowPixelBuffer(gUnknown_203F464, 0);
|
||||||
PutWindowTilemap(gUnknown_203F464);
|
PutWindowTilemap(gUnknown_203F464);
|
||||||
TextWindow_SetStdFrame0_WithPal(gUnknown_203F464, 0x21D, 0xD0);
|
TextWindow_SetStdFrame0_WithPal(gUnknown_203F464, 0x21D, 0xD0);
|
||||||
sub_815F014(gUnknown_203F464, 0x21D, 0xD, sub_815EFA0());
|
sub_815F014(gUnknown_203F464, 0x21D, 0xD, GetBerryPowder());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1499,7 +1499,7 @@
|
||||||
"exitsBagOnUse": 0,
|
"exitsBagOnUse": 0,
|
||||||
"pocket": "POCKET_ITEMS",
|
"pocket": "POCKET_ITEMS",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||||
"battleUsage": 0,
|
"battleUsage": 0,
|
||||||
"battleUseFunc": "NULL",
|
"battleUseFunc": "NULL",
|
||||||
"secondaryId": 0
|
"secondaryId": 0
|
||||||
|
|
@ -1515,7 +1515,7 @@
|
||||||
"exitsBagOnUse": 0,
|
"exitsBagOnUse": 0,
|
||||||
"pocket": "POCKET_ITEMS",
|
"pocket": "POCKET_ITEMS",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||||
"battleUsage": 0,
|
"battleUsage": 0,
|
||||||
"battleUseFunc": "NULL",
|
"battleUseFunc": "NULL",
|
||||||
"secondaryId": 0
|
"secondaryId": 0
|
||||||
|
|
@ -1531,7 +1531,7 @@
|
||||||
"exitsBagOnUse": 0,
|
"exitsBagOnUse": 0,
|
||||||
"pocket": "POCKET_ITEMS",
|
"pocket": "POCKET_ITEMS",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||||
"battleUsage": 0,
|
"battleUsage": 0,
|
||||||
"battleUseFunc": "NULL",
|
"battleUseFunc": "NULL",
|
||||||
"secondaryId": 0
|
"secondaryId": 0
|
||||||
|
|
@ -1547,7 +1547,7 @@
|
||||||
"exitsBagOnUse": 0,
|
"exitsBagOnUse": 0,
|
||||||
"pocket": "POCKET_ITEMS",
|
"pocket": "POCKET_ITEMS",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||||
"battleUsage": 0,
|
"battleUsage": 0,
|
||||||
"battleUseFunc": "NULL",
|
"battleUseFunc": "NULL",
|
||||||
"secondaryId": 0
|
"secondaryId": 0
|
||||||
|
|
@ -1563,7 +1563,7 @@
|
||||||
"exitsBagOnUse": 0,
|
"exitsBagOnUse": 0,
|
||||||
"pocket": "POCKET_ITEMS",
|
"pocket": "POCKET_ITEMS",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||||
"battleUsage": 0,
|
"battleUsage": 0,
|
||||||
"battleUseFunc": "NULL",
|
"battleUseFunc": "NULL",
|
||||||
"secondaryId": 0
|
"secondaryId": 0
|
||||||
|
|
@ -1579,7 +1579,7 @@
|
||||||
"exitsBagOnUse": 0,
|
"exitsBagOnUse": 0,
|
||||||
"pocket": "POCKET_ITEMS",
|
"pocket": "POCKET_ITEMS",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||||
"battleUsage": 0,
|
"battleUsage": 0,
|
||||||
"battleUseFunc": "NULL",
|
"battleUseFunc": "NULL",
|
||||||
"secondaryId": 0
|
"secondaryId": 0
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "berry_pouch.h"
|
#include "berry_pouch.h"
|
||||||
|
#include "berry_powder.h"
|
||||||
#include "bike.h"
|
#include "bike.h"
|
||||||
|
#include "coins.h"
|
||||||
#include "event_data.h"
|
#include "event_data.h"
|
||||||
#include "field_fadetransition.h"
|
#include "field_fadetransition.h"
|
||||||
#include "field_map_obj_helpers.h"
|
#include "field_map_obj_helpers.h"
|
||||||
|
|
@ -9,6 +11,7 @@
|
||||||
#include "fieldmap.h"
|
#include "fieldmap.h"
|
||||||
#include "item.h"
|
#include "item.h"
|
||||||
#include "item_menu.h"
|
#include "item_menu.h"
|
||||||
|
#include "item_use.h"
|
||||||
#include "mail.h"
|
#include "mail.h"
|
||||||
#include "map_obj_80688E4.h"
|
#include "map_obj_80688E4.h"
|
||||||
#include "map_obj_lock.h"
|
#include "map_obj_lock.h"
|
||||||
|
|
@ -20,8 +23,10 @@
|
||||||
#include "string_util.h"
|
#include "string_util.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
#include "constants/fanfares.h"
|
||||||
#include "constants/flags.h"
|
#include "constants/flags.h"
|
||||||
#include "constants/items.h"
|
#include "constants/items.h"
|
||||||
|
#include "constants/moves.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
|
|
||||||
EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
|
EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
|
||||||
|
|
@ -35,8 +40,10 @@ void sub_80A1208(void);
|
||||||
void ItemUseOnFieldCB_Bicycle(u8 taskId);
|
void ItemUseOnFieldCB_Bicycle(u8 taskId);
|
||||||
bool8 ItemUseCheckFunc_Rod(void);
|
bool8 ItemUseCheckFunc_Rod(void);
|
||||||
void ItemUseOnFieldCB_Rod(u8 taskId);
|
void ItemUseOnFieldCB_Rod(u8 taskId);
|
||||||
|
void FieldUseFunc_EvoItem(u8 taskId);
|
||||||
|
void sub_80A1648(u8 taskId);
|
||||||
|
void sub_80A1674(u8 taskId);
|
||||||
void sub_813EC8C(u8 taskId);
|
void sub_813EC8C(u8 taskId);
|
||||||
void FieldUseFunc_SunStone(u8 taskId);
|
|
||||||
|
|
||||||
extern void (*const gUnknown_83E2954[])(void);
|
extern void (*const gUnknown_83E2954[])(void);
|
||||||
|
|
||||||
|
|
@ -90,7 +97,7 @@ void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
|
||||||
{
|
{
|
||||||
StringExpandPlaceholders(gStringVar4, str);
|
StringExpandPlaceholders(gStringVar4, str);
|
||||||
if (a1 == FALSE)
|
if (a1 == FALSE)
|
||||||
sub_8108E70(taskId, a2, gStringVar4, sub_810A1F8);
|
DisplayItemMessageInBag(taskId, a2, gStringVar4, sub_810A1F8);
|
||||||
else
|
else
|
||||||
DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C);
|
DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C);
|
||||||
}
|
}
|
||||||
|
|
@ -108,11 +115,11 @@ void sub_80A112C(u8 taskId)
|
||||||
ScriptContext2_Disable();
|
ScriptContext2_Disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 sub_80A1150(u16 itemId)
|
u8 GetItemCompatibilityRule(u16 itemId)
|
||||||
{
|
{
|
||||||
if (ItemId_GetPocket(itemId) == POCKET_TM_CASE)
|
if (ItemId_GetPocket(itemId) == POCKET_TM_CASE)
|
||||||
return 1;
|
return 1;
|
||||||
else if (ItemId_GetFieldFunc(itemId) == FieldUseFunc_SunStone)
|
else if (ItemId_GetFieldFunc(itemId) == FieldUseFunc_EvoItem)
|
||||||
return 2;
|
return 2;
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -240,3 +247,76 @@ void ItemUseOutOfBattle_Itemfinder(u8 taskId)
|
||||||
sItemUseOnFieldCB = sub_813EC8C;
|
sItemUseOnFieldCB = sub_813EC8C;
|
||||||
sub_80A103C(taskId);
|
sub_80A103C(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FieldUseFunc_CoinCase(u8 taskId)
|
||||||
|
{
|
||||||
|
ConvertIntToDecimalStringN(gStringVar1, GetCoins(), STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_8416537);
|
||||||
|
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||||
|
if (gTasks[taskId].data[3] == 0)
|
||||||
|
DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8);
|
||||||
|
else
|
||||||
|
DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FieldUseFunc_PowderJar(u8 taskId)
|
||||||
|
{
|
||||||
|
ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 5);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_8416644);
|
||||||
|
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||||
|
if (gTasks[taskId].data[3] == 0)
|
||||||
|
DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8);
|
||||||
|
else
|
||||||
|
DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FieldUseFunc_PokeFlute(u8 taskId)
|
||||||
|
{
|
||||||
|
bool8 wokeSomeoneUp = FALSE;
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
for (i = 0; i < CalculatePlayerPartyCount(); i++)
|
||||||
|
{
|
||||||
|
if (!ExecuteTableBasedItemEffect(&gPlayerParty[i], ITEM_AWAKENING, i, MOVE_NONE))
|
||||||
|
wokeSomeoneUp = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (wokeSomeoneUp)
|
||||||
|
{
|
||||||
|
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||||
|
if (gTasks[taskId].data[3] == 0)
|
||||||
|
DisplayItemMessageInBag(taskId, 2, gUnknown_8416690, sub_80A1648);
|
||||||
|
else
|
||||||
|
DisplayItemMessageOnField(taskId, 2, gUnknown_8416690, sub_80A1648);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Now that's a catchy tune!
|
||||||
|
if (gTasks[taskId].data[3] == 0)
|
||||||
|
DisplayItemMessageInBag(taskId, 2, gUnknown_841665C, sub_810A1F8);
|
||||||
|
else
|
||||||
|
DisplayItemMessageOnField(taskId, 2, gUnknown_841665C, sub_80A112C);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80A1648(u8 taskId)
|
||||||
|
{
|
||||||
|
PlayFanfareByFanfareNum(FANFARE_POKEFLUTE);
|
||||||
|
gTasks[taskId].func = sub_80A1674;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80A1674(u8 taskId)
|
||||||
|
{
|
||||||
|
if (WaitFanfare(FALSE))
|
||||||
|
{
|
||||||
|
if (gTasks[taskId].data[3] == 0)
|
||||||
|
DisplayItemMessageInBag(taskId, 2, gUnknown_84166A7, sub_810A1F8);
|
||||||
|
else
|
||||||
|
DisplayItemMessageOnField(taskId, 2, gUnknown_84166A7, sub_80A112C);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80A16D0(u8 taskId)
|
||||||
|
{
|
||||||
|
sub_80A0FBC(taskId);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1571,4 +1571,4 @@ gUnknown_203F440: @ 203F440
|
||||||
.align 2
|
.align 2
|
||||||
.include "src/trainer_tower.o"
|
.include "src/trainer_tower.o"
|
||||||
.align 2
|
.align 2
|
||||||
.include "src/unk_815EDDC.o"
|
.include "src/berry_powder.o"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user