Merge master from pret
This commit is contained in:
commit
b570f87152
@ -12985,7 +12985,7 @@ _081A10F4:
|
||||
adds r1, r0
|
||||
adds r1, 0xBA
|
||||
ldrh r0, [r1]
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
b _081A1174
|
||||
.pool
|
||||
@ -14344,7 +14344,7 @@ sub_81A1C4C: @ 81A1C4C
|
||||
adds r3, r0, 0
|
||||
lsls r0, r5, 3
|
||||
adds r5, r0, 0x1
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
ldrb r0, [r0]
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
@ -14370,7 +14370,7 @@ sub_81A1C90: @ 81A1C90
|
||||
push {r4,lr}
|
||||
sub sp, 0x34
|
||||
adds r2, r0, 0
|
||||
ldr r3, =gResultsWindowId
|
||||
ldr r3, =gRecordsWindowId
|
||||
movs r1, 0xAE
|
||||
mov r0, sp
|
||||
adds r0, 0x2F
|
||||
@ -14425,7 +14425,7 @@ sub_81A1CD8: @ 81A1CD8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r7, [sp]
|
||||
@ -14644,7 +14644,7 @@ sub_81A1EA8: @ 81A1EA8
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r4, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@ -14685,7 +14685,7 @@ _081A1F28:
|
||||
ldr r0, =gStringVar4
|
||||
movs r1, 0x2
|
||||
bl sub_81A1C4C
|
||||
ldr r6, =gResultsWindowId
|
||||
ldr r6, =gRecordsWindowId
|
||||
ldrb r0, [r6]
|
||||
ldr r2, =gText_Lv502
|
||||
movs r1, 0x31
|
||||
@ -14798,7 +14798,7 @@ sub_81A2008: @ 81A2008
|
||||
lsrs r6, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r5, [sp]
|
||||
@ -14932,7 +14932,7 @@ sub_81A2134: @ 81A2134
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r4, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@ -14957,7 +14957,7 @@ _081A2184:
|
||||
ldr r0, =gStringVar4
|
||||
movs r1, 0
|
||||
bl sub_81A1C4C
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r0, [r1]
|
||||
ldr r2, =gText_Lv502
|
||||
movs r6, 0x21
|
||||
@ -14969,7 +14969,7 @@ _081A2184:
|
||||
movs r1, 0x1
|
||||
movs r3, 0x8
|
||||
bl PrintTextOnWindow
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r0, [r1]
|
||||
ldr r2, =gText_OpenLv
|
||||
movs r1, 0x61
|
||||
@ -15052,10 +15052,10 @@ _081A2184:
|
||||
mov r1, r8
|
||||
movs r3, 0x40
|
||||
bl sub_81A2008
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r0, [r1]
|
||||
bl PutWindowTilemap
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r0, [r1]
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
@ -15091,7 +15091,7 @@ sub_81A22B8: @ 81A22B8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r7, [sp]
|
||||
@ -15285,7 +15285,7 @@ sub_81A2460: @ 81A2460
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r4, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@ -15310,7 +15310,7 @@ _081A24B0:
|
||||
ldr r0, =gStringVar4
|
||||
movs r1, 0x2
|
||||
bl sub_81A1C4C
|
||||
ldr r6, =gResultsWindowId
|
||||
ldr r6, =gRecordsWindowId
|
||||
ldrb r0, [r6]
|
||||
ldr r2, =gText_Lv502
|
||||
movs r1, 0x31
|
||||
@ -15420,7 +15420,7 @@ sub_81A258C: @ 81A258C
|
||||
lsrs r6, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r5, [sp]
|
||||
@ -15533,7 +15533,7 @@ sub_81A2698: @ 81A2698
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0xC
|
||||
ldr r6, =gResultsWindowId
|
||||
ldr r6, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r6]
|
||||
@ -15672,7 +15672,7 @@ sub_81A27E8: @ 81A27E8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r7, [sp]
|
||||
@ -15836,7 +15836,7 @@ _081A2956:
|
||||
sub_81A2968: @ 81A2968
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0xC
|
||||
ldr r5, =gResultsWindowId
|
||||
ldr r5, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r5]
|
||||
@ -15935,7 +15935,7 @@ sub_81A2A28: @ 81A2A28
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r6, r0, 0
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r6, [sp]
|
||||
@ -16211,7 +16211,7 @@ sub_81A2C94: @ 81A2C94
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r4, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@ -16236,7 +16236,7 @@ _081A2CE0:
|
||||
ldr r0, =gStringVar4
|
||||
movs r1, 0
|
||||
bl sub_81A1C4C
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r8, r0
|
||||
ldrb r0, [r0]
|
||||
ldr r2, =gText_Lv502
|
||||
@ -16340,7 +16340,7 @@ sub_81A2DB4: @ 81A2DB4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r7, [sp]
|
||||
@ -16506,7 +16506,7 @@ _081A2F26:
|
||||
sub_81A2F38: @ 81A2F38
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0xC
|
||||
ldr r5, =gResultsWindowId
|
||||
ldr r5, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r5]
|
||||
@ -16584,7 +16584,7 @@ sub_81A2FF8: @ 81A2FF8
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0xC
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r4, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C7C
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@ -16750,7 +16750,7 @@ _081A315C:
|
||||
movs r2, 0x1
|
||||
movs r3, 0x4
|
||||
bl ConvertIntToDecimalStringN
|
||||
ldr r6, =gResultsWindowId
|
||||
ldr r6, =gRecordsWindowId
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x26
|
||||
adds r3, r5, 0
|
||||
@ -19026,7 +19026,7 @@ sub_81A4594: @ 81A4594
|
||||
sub sp, 0x2C
|
||||
mov r8, r1
|
||||
adds r6, r3, 0
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r5, [r1]
|
||||
lsls r4, r0, 1
|
||||
adds r4, r0
|
||||
@ -19062,7 +19062,7 @@ sub_81A4594: @ 81A4594
|
||||
ldrb r2, [r6, 0xE]
|
||||
add r0, sp, 0xC
|
||||
bl TVShowConvertInternationalString
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r0, [r1]
|
||||
mov r3, r8
|
||||
adds r3, 0x2
|
||||
@ -19102,7 +19102,7 @@ _081A4618:
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r0, [r1]
|
||||
str r7, [sp]
|
||||
mov r1, r10
|
||||
@ -19136,7 +19136,7 @@ sub_81A4684: @ 81A4684
|
||||
adds r7, r1, 0
|
||||
mov r10, r2
|
||||
adds r5, r3, 0
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r0, [r1]
|
||||
lsls r2, r6, 1
|
||||
adds r2, r6
|
||||
@ -19176,7 +19176,7 @@ sub_81A4684: @ 81A4684
|
||||
ldrb r2, [r5, 0x1A]
|
||||
add r0, sp, 0xC
|
||||
bl TVShowConvertInternationalString
|
||||
ldr r1, =gResultsWindowId
|
||||
ldr r1, =gRecordsWindowId
|
||||
ldrb r0, [r1]
|
||||
adds r3, r7, 0x2
|
||||
lsls r3, 27
|
||||
@ -19211,7 +19211,7 @@ _081A4734:
|
||||
adds r1, r4, 0
|
||||
bl StringCopy
|
||||
_081A473C:
|
||||
ldr r2, =gResultsWindowId
|
||||
ldr r2, =gRecordsWindowId
|
||||
mov r9, r2
|
||||
ldrb r0, [r2]
|
||||
adds r3, r7, 0x4
|
||||
@ -19532,7 +19532,7 @@ sub_81A4998: @ 81A4998
|
||||
ldr r1, [r5]
|
||||
adds r0, r6, 0
|
||||
bl StringExpandPlaceholders
|
||||
ldr r0, =gResultsWindowId
|
||||
ldr r0, =gRecordsWindowId
|
||||
mov r8, r0
|
||||
ldrb r0, [r0]
|
||||
movs r1, 0x1
|
||||
@ -19631,7 +19631,7 @@ _081A4A90:
|
||||
thumb_func_start sub_81A4AA0
|
||||
sub_81A4AA0: @ 81A4AA0
|
||||
push {r4,lr}
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r4, =gRecordsWindowId
|
||||
ldr r0, =gUnknown_08611C84
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@ -19659,7 +19659,7 @@ sub_81A4AA0: @ 81A4AA0
|
||||
thumb_func_start sub_81A4AE8
|
||||
sub_81A4AE8: @ 81A4AE8
|
||||
push {r4,lr}
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r4, =gRecordsWindowId
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -19841,7 +19841,7 @@ _081A4C4E:
|
||||
ble _081A4C4E
|
||||
ldr r4, =gPlayerPartyCount
|
||||
ldrb r5, [r4]
|
||||
bl copy_player_party_from_sav1
|
||||
bl LoadPlayerParty
|
||||
bl sub_8076D5C
|
||||
movs r0, 0x1
|
||||
bl TrySavingData
|
||||
@ -29770,7 +29770,7 @@ sub_81A9E90: @ 81A9E90
|
||||
ldr r0, =0x0000400e
|
||||
movs r1, 0
|
||||
bl VarSet
|
||||
bl copy_player_party_from_sav1
|
||||
bl LoadPlayerParty
|
||||
_081A9EB8:
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
||||
1285
asm/battle_records.s
1285
asm/battle_records.s
File diff suppressed because it is too large
Load Diff
@ -960,7 +960,7 @@ task_map_chg_seq_0807EC34: @ 80B2B94
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
ldr r1, =gUnknown_02039B58
|
||||
ldr r1, =gTrainerCards
|
||||
ldrh r0, [r5]
|
||||
cmp r0, 0x1
|
||||
bne _080B2C10
|
||||
@ -1044,7 +1044,7 @@ sub_80B2C30: @ 80B2C30
|
||||
_080B2C5C:
|
||||
movs r0, 0x64
|
||||
muls r0, r4
|
||||
ldr r1, =gUnknown_02039B58
|
||||
ldr r1, =gTrainerCards
|
||||
adds r0, r1
|
||||
lsls r1, r4, 8
|
||||
ldr r2, =gBlockRecvBuffer
|
||||
@ -2157,8 +2157,8 @@ sub_80B360C: @ 80B360C
|
||||
ands r0, r1
|
||||
str r0, [r2]
|
||||
bl Overworld_ResetMapMusic
|
||||
bl copy_player_party_from_sav1
|
||||
bl copy_bags_and_unk_data_to_save_blocks
|
||||
bl LoadPlayerParty
|
||||
bl SavePlayerBag
|
||||
bl sub_813BF10
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
ldrh r0, [r0]
|
||||
@ -2171,7 +2171,7 @@ sub_80B360C: @ 80B360C
|
||||
ldrb r0, [r0]
|
||||
movs r5, 0x1
|
||||
eors r0, r5
|
||||
bl sub_813C2A0
|
||||
bl UpdatePlayerLinkBattleRecords
|
||||
ldr r0, =gWirelessCommType
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
@ -2251,8 +2251,8 @@ sub_80B36EC: @ 80B36EC
|
||||
cmp r0, 0x9
|
||||
bne _080B370E
|
||||
_080B3706:
|
||||
bl copy_player_party_from_sav1
|
||||
bl copy_bags_and_unk_data_to_save_blocks
|
||||
bl LoadPlayerParty
|
||||
bl SavePlayerBag
|
||||
_080B370E:
|
||||
movs r0, 0x7F
|
||||
bl copy_saved_warp2_bank_and_enter_x_to_warp1
|
||||
|
||||
@ -8861,7 +8861,7 @@ sub_80AF87C: @ 80AF87C
|
||||
movs r0, 0x1
|
||||
bl sub_8085540
|
||||
bl ScriptContext2_Enable
|
||||
bl save_serialize_npcs
|
||||
bl SaveMapObjects
|
||||
bl music_something
|
||||
bl sub_80AF0B4
|
||||
movs r0, 0x2D
|
||||
|
||||
1921
asm/item.s
1921
asm/item.s
File diff suppressed because it is too large
Load Diff
@ -90,7 +90,7 @@ sub_8120128: @ 8120128
|
||||
thumb_func_start sub_8120154
|
||||
sub_8120154: @ 8120154
|
||||
push {lr}
|
||||
bl sub_81339F8
|
||||
bl TraderSetup
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8120154
|
||||
|
||||
@ -15368,7 +15368,7 @@ sub_81B83F0: @ 81B83F0
|
||||
lsls r0, r1, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
bl sub_80D6E48
|
||||
bl RemovePCItem
|
||||
b _081B8418
|
||||
.pool
|
||||
_081B8410:
|
||||
|
||||
@ -14810,7 +14810,7 @@ _080CF020:
|
||||
beq _080CF0AC
|
||||
ldr r3, =0x00000d65
|
||||
adds r4, r3
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r2, 0
|
||||
@ -19057,7 +19057,7 @@ sub_80D12B8: @ 80D12B8
|
||||
ldr r1, =0x00002234
|
||||
adds r0, r1
|
||||
ldrh r0, [r0]
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
|
||||
@ -4686,7 +4686,7 @@ sub_81C6648: @ 81C6648
|
||||
.pool
|
||||
_081C667C:
|
||||
ldrh r0, [r5]
|
||||
bl itemid_is_unique
|
||||
bl ItemId_GetImportance
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081C66A0
|
||||
@ -4799,7 +4799,7 @@ sub_81C674C: @ 81C674C
|
||||
.pool
|
||||
_081C677C:
|
||||
ldrh r0, [r5]
|
||||
bl itemid_is_unique
|
||||
bl ItemId_GetImportance
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081C6790
|
||||
|
||||
@ -28718,8 +28718,8 @@ nullsub_2: @ 81D5C88
|
||||
bx lr
|
||||
thumb_func_end nullsub_2
|
||||
|
||||
thumb_func_start sub_81D5C8C
|
||||
sub_81D5C8C: @ 81D5C8C
|
||||
thumb_func_start PrintOnTrainerHillRecordsWindow
|
||||
PrintOnTrainerHillRecordsWindow: @ 81D5C8C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
@ -28857,7 +28857,7 @@ _081D5CD6:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81D5C8C
|
||||
thumb_func_end PrintOnTrainerHillRecordsWindow
|
||||
|
||||
thumb_func_start free_203F458
|
||||
free_203F458: @ 81D5DF0
|
||||
|
||||
@ -3181,7 +3181,7 @@ _08014138:
|
||||
adds r3, r1, r0
|
||||
movs r0, 0x64
|
||||
muls r0, r4
|
||||
ldr r1, =gUnknown_02039B58
|
||||
ldr r1, =gTrainerCards
|
||||
adds r0, r1
|
||||
ldrb r2, [r5]
|
||||
adds r1, r3, 0
|
||||
@ -3278,8 +3278,8 @@ sub_8014210: @ 8014210
|
||||
lsls r6, 16
|
||||
lsrs r6, 16
|
||||
bl HealPlayerParty
|
||||
bl copy_player_party_to_sav1
|
||||
bl copy_bags_and_unk_data_from_save_blocks
|
||||
bl SavePlayerParty
|
||||
bl LoadPlayerBag
|
||||
ldr r5, =gLinkPlayers
|
||||
ldr r0, =0x00002211
|
||||
str r0, [r5, 0x14]
|
||||
@ -3646,8 +3646,8 @@ _080145F4:
|
||||
movs r1, 0x1
|
||||
bl sub_80143E4
|
||||
bl HealPlayerParty
|
||||
bl copy_player_party_to_sav1
|
||||
bl copy_bags_and_unk_data_from_save_blocks
|
||||
bl SavePlayerParty
|
||||
bl LoadPlayerBag
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
movs r0, 0x19
|
||||
@ -3659,8 +3659,8 @@ _080145F4:
|
||||
_08014620:
|
||||
bl overworld_free_bg_tilemaps
|
||||
bl HealPlayerParty
|
||||
bl copy_player_party_to_sav1
|
||||
bl copy_bags_and_unk_data_from_save_blocks
|
||||
bl SavePlayerParty
|
||||
bl LoadPlayerBag
|
||||
ldr r0, =gBlockSendBuffer
|
||||
movs r1, 0x1
|
||||
bl sub_80143E4
|
||||
@ -3675,8 +3675,8 @@ _08014620:
|
||||
_0801464C:
|
||||
bl overworld_free_bg_tilemaps
|
||||
bl HealPlayerParty
|
||||
bl copy_player_party_to_sav1
|
||||
bl copy_bags_and_unk_data_from_save_blocks
|
||||
bl SavePlayerParty
|
||||
bl LoadPlayerBag
|
||||
ldr r0, =gBlockSendBuffer
|
||||
movs r1, 0x1
|
||||
bl sub_80143E4
|
||||
@ -10615,7 +10615,7 @@ sub_8018220: @ 8018220
|
||||
lsrs r0, 24
|
||||
movs r1, 0x64
|
||||
muls r1, r0
|
||||
ldr r0, =gUnknown_02039B58
|
||||
ldr r0, =gTrainerCards
|
||||
adds r1, r0
|
||||
mov r8, r1
|
||||
bl UnkTextUtil_Reset
|
||||
|
||||
@ -790,7 +790,7 @@ BuyMenuPrintPriceInList: @ 80E0114
|
||||
ldr r5, =gStringVar1
|
||||
lsls r0, r1, 16
|
||||
lsrs r0, 16
|
||||
bl itemid_get_market_price
|
||||
bl ItemId_GetPrice
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x1
|
||||
bl GetPriceReduction
|
||||
@ -2017,7 +2017,7 @@ _080E0B32:
|
||||
bne _080E0B80
|
||||
lsls r0, r5, 16
|
||||
lsrs r0, 16
|
||||
bl itemid_get_market_price
|
||||
bl ItemId_GetPrice
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x1
|
||||
bl GetPriceReduction
|
||||
@ -2259,7 +2259,7 @@ Task_BuyHowManyDialogueHandleInput: @ 80E0D88
|
||||
cmp r0, 0x1
|
||||
bne _080E0DF0
|
||||
ldrh r0, [r5, 0xA]
|
||||
bl itemid_get_market_price
|
||||
bl ItemId_GetPrice
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x1
|
||||
bl GetPriceReduction
|
||||
|
||||
558
asm/trader.s
558
asm/trader.s
@ -1,558 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81339F8
|
||||
sub_81339F8: @ 81339F8
|
||||
push {r4-r6,lr}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r0, =0x00002e28
|
||||
adds r5, r1, r0
|
||||
movs r2, 0
|
||||
movs r0, 0x2
|
||||
strb r0, [r5]
|
||||
ldr r0, =0x00002e59
|
||||
adds r1, r0
|
||||
strb r2, [r1]
|
||||
movs r4, 0
|
||||
ldr r6, =gUnknown_085B09E4
|
||||
_08133A12:
|
||||
movs r0, 0xB
|
||||
muls r0, r4
|
||||
adds r0, 0x5
|
||||
adds r0, r5, r0
|
||||
lsls r1, r4, 2
|
||||
adds r1, r6
|
||||
ldr r1, [r1]
|
||||
bl StringCopy
|
||||
adds r1, r5, 0x1
|
||||
adds r1, r4
|
||||
ldr r0, =gUnknown_085B09F4
|
||||
adds r0, r4, r0
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x32
|
||||
adds r0, r4
|
||||
movs r1, 0x2
|
||||
strb r1, [r0]
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x3
|
||||
bls _08133A12
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81339F8
|
||||
|
||||
thumb_func_start sub_8133A60
|
||||
sub_8133A60: @ 8133A60
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x00002e59
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_8133A60
|
||||
|
||||
thumb_func_start sub_8133A78
|
||||
sub_8133A78: @ 8133A78
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0x14
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
ldr r0, =gTasks + 0x8
|
||||
adds r7, r1, r0
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r4, [r0]
|
||||
ldr r0, =0x00002e28
|
||||
adds r0, r4
|
||||
mov r9, r0
|
||||
ldr r0, =gUnknown_085B09F8
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r0]
|
||||
str r0, [sp, 0xC]
|
||||
str r1, [sp, 0x10]
|
||||
ldr r1, =gText_Exit
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
bl GetStringWidth
|
||||
adds r6, r0, 0
|
||||
ldr r1, =gText_FiveMarks
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
bl GetStringWidth
|
||||
mov r8, r0
|
||||
movs r5, 0
|
||||
ldr r0, =0x00002e29
|
||||
adds r4, r0
|
||||
_08133AC2:
|
||||
mov r0, r9
|
||||
adds r0, 0x1
|
||||
adds r1, r0, r5
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0x78
|
||||
bls _08133AF0
|
||||
mov r0, r8
|
||||
b _08133B00
|
||||
.pool
|
||||
_08133AF0:
|
||||
ldrb r1, [r1]
|
||||
lsls r1, 5
|
||||
ldr r0, =gDecorations + 1
|
||||
adds r1, r0
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
bl GetStringWidth
|
||||
_08133B00:
|
||||
cmp r0, r6
|
||||
ble _08133B06
|
||||
adds r6, r0, 0
|
||||
_08133B06:
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
cmp r5, 0x3
|
||||
bls _08133AC2
|
||||
adds r0, r6, 0
|
||||
bl convert_pixel_width_to_tile_width
|
||||
lsls r0, 24
|
||||
ldr r2, =0x00ffffff
|
||||
ldr r1, [sp, 0xC]
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
str r1, [sp, 0xC]
|
||||
add r0, sp, 0xC
|
||||
bl AddWindow
|
||||
strh r0, [r7, 0x6]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r2, 0x85
|
||||
lsls r2, 2
|
||||
movs r1, 0
|
||||
movs r3, 0xE
|
||||
bl SetWindowBorderStyle
|
||||
movs r5, 0
|
||||
_08133B3C:
|
||||
adds r1, r4, r5
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0x78
|
||||
bls _08133B70
|
||||
ldrb r0, [r7, 0x6]
|
||||
lsls r1, r5, 4
|
||||
adds r1, 0x1
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
str r1, [sp]
|
||||
movs r1, 0xFF
|
||||
str r1, [sp, 0x4]
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x8]
|
||||
movs r1, 0x1
|
||||
ldr r2, =gText_FiveMarks
|
||||
movs r3, 0x8
|
||||
bl PrintTextOnWindow
|
||||
b _08133B94
|
||||
.pool
|
||||
_08133B70:
|
||||
ldrb r0, [r7, 0x6]
|
||||
ldrb r2, [r1]
|
||||
lsls r2, 5
|
||||
ldr r1, =gDecorations + 1
|
||||
adds r2, r1
|
||||
lsls r1, r5, 4
|
||||
adds r1, 0x1
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
str r1, [sp]
|
||||
movs r1, 0xFF
|
||||
str r1, [sp, 0x4]
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x8]
|
||||
movs r1, 0x1
|
||||
movs r3, 0x8
|
||||
bl PrintTextOnWindow
|
||||
_08133B94:
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
cmp r5, 0x3
|
||||
bls _08133B3C
|
||||
ldrb r0, [r7, 0x6]
|
||||
ldr r2, =gText_Exit
|
||||
lsls r1, r5, 4
|
||||
adds r1, 0x1
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
str r1, [sp]
|
||||
movs r1, 0xFF
|
||||
str r1, [sp, 0x4]
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x8]
|
||||
movs r1, 0x1
|
||||
movs r3, 0x8
|
||||
bl PrintTextOnWindow
|
||||
ldrb r0, [r7, 0x6]
|
||||
movs r1, 0x5
|
||||
movs r2, 0
|
||||
bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
|
||||
movs r0, 0
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
add sp, 0x14
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133A78
|
||||
|
||||
thumb_func_start sub_8133BE4
|
||||
sub_8133BE4: @ 8133BE4
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r2, r1, 24
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
ldr r1, =gTasks + 0x8
|
||||
adds r4, r0, r1
|
||||
cmp r2, 0x78
|
||||
bls _08133C14
|
||||
ldr r1, =gSpecialVar_0x8004
|
||||
ldr r2, =0x0000ffff
|
||||
adds r0, r2, 0
|
||||
strh r0, [r1]
|
||||
b _08133C18
|
||||
.pool
|
||||
_08133C14:
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
strh r2, [r0]
|
||||
_08133C18:
|
||||
ldrb r0, [r4, 0x6]
|
||||
movs r1, 0
|
||||
bl sub_8198070
|
||||
ldrb r0, [r4, 0x6]
|
||||
bl ClearWindowTilemap
|
||||
ldrb r0, [r4, 0x6]
|
||||
bl RemoveWindow
|
||||
movs r0, 0
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
bl EnableBothScriptContexts
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133BE4
|
||||
|
||||
thumb_func_start sub_8133C48
|
||||
sub_8133C48: @ 8133C48
|
||||
push {r4-r7,lr}
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x00002e28
|
||||
adds r6, r0, r1
|
||||
bl ProcessMenuInput
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
asrs r1, r0, 24
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
beq _08133C80
|
||||
cmp r1, r0
|
||||
bgt _08133C7C
|
||||
subs r0, 0x1
|
||||
cmp r1, r0
|
||||
beq _08133CCA
|
||||
b _08133C90
|
||||
.pool
|
||||
_08133C7C:
|
||||
cmp r1, 0x4
|
||||
bne _08133C90
|
||||
_08133C80:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
adds r0, r7, 0
|
||||
movs r1, 0
|
||||
bl sub_8133BE4
|
||||
b _08133CCA
|
||||
_08133C90:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
ldr r0, =gSpecialVar_0x8005
|
||||
lsls r4, 24
|
||||
asrs r4, 24
|
||||
strh r4, [r0]
|
||||
ldr r5, =gStringVar1
|
||||
movs r0, 0xB
|
||||
adds r1, r4, 0
|
||||
muls r1, r0
|
||||
adds r1, 0x5
|
||||
adds r1, r6, r1
|
||||
adds r0, r5, 0
|
||||
bl StringCopy
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x32
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl ConvertInternationalString
|
||||
adds r0, r6, 0x1
|
||||
adds r0, r4
|
||||
ldrb r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl sub_8133BE4
|
||||
_08133CCA:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133C48
|
||||
|
||||
thumb_func_start sub_8133CD8
|
||||
sub_8133CD8: @ 8133CD8
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r1, =gSpecialVar_Result
|
||||
ldr r2, =0x00002e59
|
||||
adds r0, r2
|
||||
ldrb r0, [r0]
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_8133CD8
|
||||
|
||||
thumb_func_start sub_8133CF4
|
||||
sub_8133CF4: @ 8133CF4
|
||||
push {r4,r5,lr}
|
||||
movs r4, 0
|
||||
ldr r5, =gSpecialVar_Result
|
||||
_08133CFA:
|
||||
adds r0, r4, 0
|
||||
bl CountDecorationCategoryN
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08133D10
|
||||
movs r0, 0
|
||||
strh r0, [r5]
|
||||
b _08133D20
|
||||
.pool
|
||||
_08133D10:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x7
|
||||
bls _08133CFA
|
||||
ldr r1, =gSpecialVar_Result
|
||||
movs r0, 0x1
|
||||
strh r0, [r1]
|
||||
_08133D20:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133CF4
|
||||
|
||||
thumb_func_start sub_8133D2C
|
||||
sub_8133D2C: @ 8133D2C
|
||||
push {r4-r6,lr}
|
||||
ldr r6, =gSpecialVar_Result
|
||||
movs r0, 0
|
||||
strh r0, [r6]
|
||||
ldr r4, =gDecorations
|
||||
ldr r5, =gSpecialVar_0x8004
|
||||
ldrh r0, [r5]
|
||||
lsls r0, 5
|
||||
adds r2, r0, r4
|
||||
ldr r0, =gSpecialVar_0x8006
|
||||
ldrh r0, [r0]
|
||||
lsls r0, 5
|
||||
adds r0, r4
|
||||
ldrb r1, [r2, 0x13]
|
||||
ldrb r0, [r0, 0x13]
|
||||
cmp r1, r0
|
||||
beq _08133D72
|
||||
adds r0, r1, 0
|
||||
bl GetFirstEmptyDecorSlot
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
movs r1, 0x1
|
||||
negs r1, r1
|
||||
cmp r0, r1
|
||||
bne _08133D72
|
||||
ldr r0, =gStringVar2
|
||||
ldrh r1, [r5]
|
||||
lsls r1, 5
|
||||
adds r1, r4
|
||||
ldrb r1, [r1, 0x13]
|
||||
bl sub_8127250
|
||||
movs r0, 0x1
|
||||
strh r0, [r6]
|
||||
_08133D72:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133D2C
|
||||
|
||||
thumb_func_start sub_8133D8C
|
||||
sub_8133D8C: @ 8133D8C
|
||||
push {lr}
|
||||
ldr r0, =sub_8127208
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133D8C
|
||||
|
||||
thumb_func_start sub_8133DA0
|
||||
sub_8133DA0: @ 8133DA0
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
bl IsSelectedDecorInThePC
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08133DFC
|
||||
ldr r5, =gSpecialVar_0x8006
|
||||
ldr r0, =gCurDecorationIndex
|
||||
ldrb r1, [r0]
|
||||
ldr r0, =gCurDecorInventoryItems
|
||||
ldr r0, [r0]
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
strh r0, [r5]
|
||||
ldr r0, =gStringVar3
|
||||
ldr r1, =gSpecialVar_0x8004
|
||||
ldrh r1, [r1]
|
||||
lsls r1, 5
|
||||
ldr r4, =gDecorations + 1
|
||||
adds r1, r4
|
||||
bl StringCopy
|
||||
ldr r0, =gStringVar2
|
||||
ldrh r1, [r5]
|
||||
lsls r1, 5
|
||||
adds r1, r4
|
||||
bl StringCopy
|
||||
b _08133E04
|
||||
.pool
|
||||
_08133DFC:
|
||||
ldr r1, =gSpecialVar_0x8006
|
||||
ldr r2, =0x0000ffff
|
||||
adds r0, r2, 0
|
||||
strh r0, [r1]
|
||||
_08133E04:
|
||||
adds r0, r6, 0
|
||||
bl DestroyTask
|
||||
bl EnableBothScriptContexts
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133DA0
|
||||
|
||||
thumb_func_start sub_8133E1C
|
||||
sub_8133E1C: @ 8133E1C
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gSpecialVar_0x8006
|
||||
movs r1, 0
|
||||
strh r1, [r2]
|
||||
bl DestroyTask
|
||||
bl EnableBothScriptContexts
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133E1C
|
||||
|
||||
thumb_func_start sub_8133E38
|
||||
sub_8133E38: @ 8133E38
|
||||
push {r4-r6,lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r6, [r0]
|
||||
ldr r0, =0x00002e28
|
||||
adds r5, r6, r0
|
||||
ldr r1, =gSpecialVar_0x8006
|
||||
mov r8, r1
|
||||
ldrb r0, [r1]
|
||||
bl DecorationRemove
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
ldrb r0, [r0]
|
||||
bl DecorationAdd
|
||||
ldr r4, =gSpecialVar_0x8005
|
||||
ldrh r1, [r4]
|
||||
movs r0, 0xB
|
||||
muls r0, r1
|
||||
adds r0, 0x5
|
||||
adds r5, r0
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl StringCopy
|
||||
ldr r2, =0x00002e29
|
||||
adds r0, r6, r2
|
||||
ldrh r1, [r4]
|
||||
adds r0, r1
|
||||
mov r2, r8
|
||||
ldrh r1, [r2]
|
||||
strb r1, [r0]
|
||||
ldr r1, =0x00002e5a
|
||||
adds r0, r6, r1
|
||||
ldrh r4, [r4]
|
||||
adds r0, r4
|
||||
movs r1, 0x2
|
||||
strb r1, [r0]
|
||||
ldr r2, =0x00002e59
|
||||
adds r6, r2
|
||||
movs r0, 0x1
|
||||
strb r0, [r6]
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133E38
|
||||
|
||||
thumb_func_start sub_8133EC0
|
||||
sub_8133EC0: @ 8133EC0
|
||||
push {lr}
|
||||
ldr r0, =sub_8133C48
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_8133A78
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8133EC0
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
@ -3894,7 +3894,7 @@ _080C48F6:
|
||||
sub_80C4904: @ 80C4904
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gUnknown_02039B58
|
||||
ldr r2, =gTrainerCards
|
||||
movs r1, 0x64
|
||||
muls r0, r1
|
||||
adds r0, r2
|
||||
@ -4578,7 +4578,7 @@ sub_80C4E74: @ 80C4E74
|
||||
ldr r0, [r5]
|
||||
ldr r1, =0x00000534
|
||||
adds r0, r1
|
||||
ldr r2, =gUnknown_02039B58
|
||||
ldr r2, =gTrainerCards
|
||||
movs r1, 0x64
|
||||
muls r1, r4
|
||||
adds r1, r2
|
||||
|
||||
4
common_syms/load_save.txt
Normal file
4
common_syms/load_save.txt
Normal file
@ -0,0 +1,4 @@
|
||||
gFlashMemoryPresent
|
||||
gSaveBlock1Ptr
|
||||
gSaveBlock2Ptr
|
||||
gPokemonStoragePtr
|
||||
2
common_syms/random.txt
Normal file
2
common_syms/random.txt
Normal file
@ -0,0 +1,2 @@
|
||||
gRngValue
|
||||
gRng2Value
|
||||
@ -2,7 +2,6 @@
|
||||
.include "constants/misc_constants.inc"
|
||||
.include "constants/contest_constants.inc"
|
||||
.include "constants/pokemon_data_constants.inc"
|
||||
.include "constants/item_data_constants.inc"
|
||||
.include "constants/battle_frontier_constants.inc"
|
||||
.include "constants/map_constants.inc"
|
||||
.include "constants/berry_constants.inc"
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
.set POCKET_ITEMS, 0x01
|
||||
.set POCKET_POKE_BALLS, 0x02
|
||||
.set POCKET_TM_HM, 0x03
|
||||
.set POCKET_BERRIES, 0x04
|
||||
.set POCKET_KEY_ITEMS, 0x05
|
||||
@ -1,37 +0,0 @@
|
||||
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gUnknown_085B3484:: @ 85B3484
|
||||
.incbin "graphics/unknown/unknown_5B3484.4bpp"
|
||||
|
||||
.align 2
|
||||
gUnknown_085B3544:: @ 85B3544
|
||||
.incbin "graphics/unknown/unknown_5B3484.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_085B3564:: @ 85B3564
|
||||
.incbin "graphics/unknown/unknown_5B3564.bin"
|
||||
|
||||
.align 2
|
||||
gUnknown_085B3D64:: @ 85B3D64
|
||||
.4byte 0x000001f0, 0x000031e7
|
||||
|
||||
.align 2
|
||||
gUnknown_085B3D6C:: @ 85B3D6C
|
||||
window_template 0x00, 0x02, 0x01, 0x1a, 0x12, 0x0f, 0x0014
|
||||
null_window_template
|
||||
|
||||
.align 2
|
||||
gUnknown_085B3D7C:: @ 85B3D7C
|
||||
window_template 0x00, 0x02, 0x01, 0x1a, 0x11, 0x0f, 0x0001
|
||||
|
||||
gUnknown_085B3D84:: @ 85B3D84
|
||||
.string "-------$"
|
||||
|
||||
gUnknown_085B3D8C:: @ 85B3D8C
|
||||
.string "----$"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,8 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
@ 8614410
|
||||
.include "data/graphics/items/item_icon_table.inc"
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
#include "constants/items.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
@ 857FEA0
|
||||
.include "data/text/item_descriptions.inc"
|
||||
|
||||
@ 85839A0
|
||||
.include "data/items.inc"
|
||||
5656
data/items.inc
5656
data/items.inc
File diff suppressed because it is too large
Load Diff
@ -450,8 +450,8 @@ OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60
|
||||
|
||||
OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
|
||||
special HealPlayerParty
|
||||
special copy_player_party_to_sav1
|
||||
special copy_bags_and_unk_data_from_save_blocks
|
||||
special SavePlayerParty
|
||||
special LoadPlayerBag
|
||||
copyvar VAR_0x4087, VAR_0x8004
|
||||
messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197
|
||||
waitmessage
|
||||
@ -787,9 +787,9 @@ MossdeepCity_GameCorner_1F_Movement_277360: @ 8277360
|
||||
gUnknown_08277365:: @ 8277365
|
||||
lockall
|
||||
setvar VAR_0x8004, 0
|
||||
special sub_813C4BC
|
||||
special ShowLinkBattleRecords
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -136,8 +136,8 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630
|
||||
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB
|
||||
waitmovement 0
|
||||
msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CE9, 4
|
||||
special copy_player_party_from_sav1
|
||||
special copy_player_party_to_sav1
|
||||
special LoadPlayerParty
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
|
||||
@ -89,7 +89,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B
|
||||
BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
|
||||
setvar VAR_0x8004, 8
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 0
|
||||
@ -134,7 +134,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 3
|
||||
setvar VAR_0x40CE, 0
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_256166, 4
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_255E0B:: @ 8255E0B
|
||||
@ -196,7 +196,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call BattleFrontier_BattleArenaLobby_EventScript_27134F
|
||||
@ -205,7 +205,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
|
||||
goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -248,7 +248,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255FE1:: @ 8255FE1
|
||||
goto BattleFrontier_BattleArenaLobby_EventScript_255FFB
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_255FF8:: @ 8255FF8
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_255FFB:: @ 8255FFB
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_25621F, 4
|
||||
@ -348,7 +348,7 @@ BattleFrontier_BattleArenaLobby_EventScript_256092:: @ 8256092
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -76,7 +76,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_241520, 9
|
||||
message BattleFrontier_BattleDomeLobby_Text_24A5D6
|
||||
waitmessage
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -94,7 +94,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
|
||||
setvar VAR_0x8005, 1
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_818E9AC
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_249991
|
||||
|
||||
@ -103,7 +103,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_24A5BF, 4
|
||||
message BattleFrontier_BattleDomeLobby_Text_24A5D6
|
||||
waitmessage
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -117,7 +117,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
|
||||
setvar VAR_0x8005, 6
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_818E9AC
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991
|
||||
@ -181,7 +181,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47
|
||||
end
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
compare VAR_0x40CE, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CFD
|
||||
compare VAR_0x40CE, 1
|
||||
@ -245,7 +245,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call BattleFrontier_BattleDomeLobby_EventScript_27134F
|
||||
@ -256,7 +256,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
|
||||
special sub_818E9AC
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -299,7 +299,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249C4A:: @ 8249C4A
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_249C64
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249C61:: @ 8249C61
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249C64:: @ 8249C64
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_249F74, 4
|
||||
@ -415,7 +415,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249D52:: @ 8249D52
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -426,7 +426,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249D6B:: @ 8249D6B
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -243,7 +243,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE:: @ 824B5BE
|
||||
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
|
||||
setvar VAR_0x4000, 1
|
||||
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, 4
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
|
||||
@ -74,7 +74,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2584C6:: @ 82584C6
|
||||
waitmessage
|
||||
setvar VAR_0x8004, 8
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 0
|
||||
special sub_81A5E74
|
||||
@ -89,7 +89,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506
|
||||
waitmessage
|
||||
setvar VAR_0x8004, 8
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 2
|
||||
setvar VAR_0x8006, 0
|
||||
@ -154,7 +154,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD
|
||||
end
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
compare VAR_0x40CE, 0
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587B1
|
||||
compare VAR_0x40CE, 1
|
||||
@ -215,7 +215,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
|
||||
setvar VAR_0x8006, 0
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, 4
|
||||
closemessage
|
||||
compare VAR_0x40CE, 0
|
||||
@ -253,7 +253,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783
|
||||
goto BattleFrontier_BattleFactoryLobby_EventScript_25879D
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_25879A:: @ 825879A
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_25879D:: @ 825879D
|
||||
msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, 4
|
||||
@ -305,7 +305,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2587E1:: @ 82587E1
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -316,7 +316,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2587FA:: @ 82587FA
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -236,7 +236,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47:: @ 8259E47
|
||||
end
|
||||
|
||||
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 10
|
||||
setvar VAR_0x8005, 0
|
||||
special sub_81A5E74
|
||||
|
||||
@ -93,8 +93,8 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911
|
||||
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
|
||||
waitmovement 0
|
||||
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_24FF00, 4
|
||||
special copy_player_party_from_sav1
|
||||
special copy_player_party_to_sav1
|
||||
special LoadPlayerParty
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
|
||||
@ -89,7 +89,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
|
||||
setvar VAR_0x8004, 8
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, 7
|
||||
setvar VAR_0x8005, 0
|
||||
@ -152,7 +152,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968
|
||||
special sub_8195960
|
||||
compare VAR_RESULT, 0
|
||||
goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
compare VAR_0x40CE, 0
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB9E
|
||||
compare VAR_0x40CE, 1
|
||||
@ -220,7 +220,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call BattleFrontier_BattlePalaceLobby_EventScript_27134F
|
||||
@ -229,7 +229,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
|
||||
goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -272,7 +272,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DB7A:: @ 824DB7A
|
||||
goto BattleFrontier_BattlePalaceLobby_EventScript_24DB94
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_24DB91:: @ 824DB91
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_24DB94:: @ 824DB94
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4
|
||||
@ -366,7 +366,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DC50:: @ 824DC50
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -377,7 +377,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DC69:: @ 824DC69
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -76,7 +76,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
|
||||
setvar VAR_0x8005, 3
|
||||
copyvar VAR_0x8006, VAR_RESULT
|
||||
special sub_81A703C
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, 27
|
||||
special sub_81A703C
|
||||
@ -107,7 +107,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
|
||||
setvar VAR_0x8005, 4
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A703C
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, 27
|
||||
special sub_81A703C
|
||||
@ -127,7 +127,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 5
|
||||
setvar VAR_0x40CE, 0
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, 4
|
||||
|
||||
BattleFrontier_BattlePikeLobby_EventScript_25B87F:: @ 825B87F
|
||||
@ -192,7 +192,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call BattleFrontier_BattlePikeLobby_EventScript_27134F
|
||||
@ -201,7 +201,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
|
||||
special sub_81A703C
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -242,7 +242,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA5C:: @ 825BA5C
|
||||
goto BattleFrontier_BattlePikeLobby_EventScript_25BA76
|
||||
|
||||
BattleFrontier_BattlePikeLobby_EventScript_25BA73:: @ 825BA73
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
BattleFrontier_BattlePikeLobby_EventScript_25BA76:: @ 825BA76
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
|
||||
@ -257,7 +257,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80
|
||||
setvar VAR_0x8005, 5
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
setvar VAR_0x4000, 255
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -136,7 +136,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
|
||||
special sub_81A1780
|
||||
message BattleFrontier_BattlePikeThreePathRoom_Text_25CE08
|
||||
waitmessage
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 8
|
||||
setvar VAR_0x8005, 2
|
||||
special sub_81A703C
|
||||
|
||||
@ -99,7 +99,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 1
|
||||
special sub_81A8E7C
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 0
|
||||
|
||||
@ -67,7 +67,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
|
||||
clearflag FLAG_SPECIAL_FLAG_0x4004
|
||||
setvar VAR_0x8004, 8
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 14
|
||||
special sub_81A8E7C
|
||||
special HealPlayerParty
|
||||
@ -97,7 +97,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
|
||||
setvar VAR_0x8004, 8
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 14
|
||||
special sub_81A8E7C
|
||||
special HealPlayerParty
|
||||
@ -131,7 +131,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 6
|
||||
setvar VAR_0x40CE, 0
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, 4
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_2508C8:: @ 82508C8
|
||||
@ -197,7 +197,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
|
||||
special sub_81A8E7C
|
||||
setvar VAR_0x8004, 9
|
||||
special sub_81A8E7C
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call BattleFrontier_BattlePyramidLobby_EventScript_27134F
|
||||
@ -206,7 +206,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
|
||||
goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -249,7 +249,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250AAA:: @ 8250AAA
|
||||
goto BattleFrontier_BattlePyramidLobby_EventScript_250AC4
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_250AC1:: @ 8250AC1
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_250AC4:: @ 8250AC4
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_250FE5, 4
|
||||
@ -428,7 +428,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42
|
||||
setvar VAR_0x8005, 6
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -72,7 +72,7 @@ BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 1
|
||||
special sub_81A8E7C
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 0
|
||||
|
||||
@ -153,7 +153,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249118:: @ 8249118
|
||||
delay 48
|
||||
|
||||
BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 2
|
||||
special sub_81A1780
|
||||
|
||||
@ -152,7 +152,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D
|
||||
waitmessage
|
||||
setvar VAR_0x8004, 8
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, 6
|
||||
setvar VAR_0x8005, 0
|
||||
@ -240,7 +240,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E936:: @ 823E936
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 0
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_240537, 4
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948
|
||||
@ -299,7 +299,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call BattleFrontier_BattleTowerLobby_EventScript_27134F
|
||||
@ -320,7 +320,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA9F:: @ 823EA9F
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 0
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_2407E2, 4
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1
|
||||
@ -379,7 +379,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call BattleFrontier_BattleTowerLobby_EventScript_27134F
|
||||
@ -401,7 +401,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC08:: @ 823EC08
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 0
|
||||
clearflag FLAG_0x152
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, 4
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D
|
||||
@ -460,7 +460,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call BattleFrontier_BattleTowerLobby_EventScript_27134F
|
||||
@ -481,7 +481,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ED74:: @ 823ED74
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 0
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_240E15, 4
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86
|
||||
@ -540,7 +540,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
setvar VAR_0x8004, 6
|
||||
@ -636,7 +636,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EFC7:: @ 823EFC7
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -647,7 +647,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EFE0:: @ 823EFE0
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -658,7 +658,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EFF9:: @ 823EFF9
|
||||
setvar VAR_0x8006, 2
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -669,7 +669,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F012:: @ 823F012
|
||||
setvar VAR_0x8006, 3
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -722,7 +722,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F0D0:: @ 823F0D0
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F0E3:: @ 823F0E3
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6
|
||||
special CloseLink
|
||||
@ -733,7 +733,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F0F3:: @ 823F0F3
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
call BattleFrontier_BattleTowerLobby_EventScript_23F272
|
||||
special sub_81A1780
|
||||
|
||||
@ -66,7 +66,7 @@ BattleFrontier_RankingHall_EventScript_25E522:: @ 825E522
|
||||
waitbuttonpress
|
||||
special sub_81A4AE8
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -72,7 +72,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_20097E:: @ 820097E
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 4
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
warp FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
|
||||
waitstate
|
||||
|
||||
@ -103,8 +103,8 @@ FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
|
||||
applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94
|
||||
waitmovement 0
|
||||
msgbox FallarborTown_BattleTentBattleRoom_Text_257CE9, 4
|
||||
special copy_player_party_from_sav1
|
||||
special copy_player_party_to_sav1
|
||||
special LoadPlayerParty
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -157,7 +157,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 3
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
warp FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
|
||||
waitstate
|
||||
setvar VAR_0x8004, 1
|
||||
|
||||
@ -134,7 +134,7 @@ FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001
|
||||
special sub_81B9B80
|
||||
compare VAR_RESULT, 0
|
||||
goto_if 5, FallarborTown_BattleTentLobby_EventScript_1FFF84
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox FallarborTown_BattleTentLobby_Text_2C47EB, 4
|
||||
|
||||
FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021
|
||||
@ -188,7 +188,7 @@ FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call FallarborTown_BattleTentLobby_EventScript_27134F
|
||||
@ -197,7 +197,7 @@ FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2
|
||||
goto_eq FallarborTown_BattleTentLobby_EventScript_2001AB
|
||||
|
||||
FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -234,7 +234,7 @@ FallarborTown_BattleTentLobby_EventScript_2001AB:: @ 82001AB
|
||||
goto FallarborTown_BattleTentLobby_EventScript_2001C5
|
||||
|
||||
FallarborTown_BattleTentLobby_EventScript_2001C2:: @ 82001C2
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
FallarborTown_BattleTentLobby_EventScript_2001C5:: @ 82001C5
|
||||
msgbox FallarborTown_BattleTentLobby_Text_2C487F, 4
|
||||
|
||||
@ -554,7 +554,7 @@ LilycoveCity_ContestLobby_EventScript_21A77A:: @ 821A77A
|
||||
lockall
|
||||
special ShowBerryBlenderRecordWindow
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -564,7 +564,7 @@ LilycoveCity_ContestLobby_EventScript_21A784:: @ 821A784
|
||||
setvar VAR_0x8005, 7
|
||||
special sub_81A1780
|
||||
waitbuttonpress
|
||||
special sub_813C5A0
|
||||
special RemoveRecordsWindow
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@ -58,7 +58,7 @@ MauvilleCity_BikeShop_EventScript_20EC6D:: @ 820EC6D
|
||||
|
||||
MauvilleCity_BikeShop_EventScript_20EC87:: @ 820EC87
|
||||
msgbox MauvilleCity_BikeShop_Text_20F1BD, 4
|
||||
special sub_80D6EDC
|
||||
special SwapRegisteredBike
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@ -250,13 +250,13 @@ MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA
|
||||
MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C
|
||||
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725AA
|
||||
waitmovement 0
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
fadescreen 1
|
||||
special sub_80F9438
|
||||
waitstate
|
||||
compare VAR_RESULT, 0
|
||||
goto_if 5, MossdeepCity_SpaceCenter_2F_EventScript_224032
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA
|
||||
|
||||
MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032
|
||||
@ -270,7 +270,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032
|
||||
waitstate
|
||||
setvar VAR_0x8004, 6
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
switch VAR_RESULT
|
||||
case 1, MossdeepCity_SpaceCenter_2F_EventScript_224071
|
||||
fadescreen 1
|
||||
|
||||
@ -30,7 +30,7 @@ PetalburgCity_MapScript2_1DC31C: @ 81DC31C
|
||||
|
||||
PetalburgCity_EventScript_1DC32E:: @ 81DC32E
|
||||
lockall
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
special PutZigzagoonInPlayerParty
|
||||
applymovement 2, PetalburgCity_Movement_1DC451
|
||||
applymovement 255, PetalburgCity_Movement_1DC430
|
||||
@ -47,7 +47,7 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E
|
||||
setvar VAR_0x4057, 3
|
||||
fadedefaultbgm
|
||||
clearflag FLAG_SPECIAL_FLAG_0x4001
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x4085, 1
|
||||
warp PETALBURG_CITY_GYM, 255, 4, 108
|
||||
waitstate
|
||||
|
||||
@ -67,7 +67,7 @@ SlateportCity_BattleTentCorridor_EventScript_209A1B:: @ 8209A1B
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 4
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
warp SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
|
||||
waitstate
|
||||
|
||||
@ -93,7 +93,7 @@ SlateportCity_BattleTentCorridor_EventScript_209A7B:: @ 8209A7B
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 3
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
warp SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
|
||||
waitstate
|
||||
@ forced stop
|
||||
|
||||
@ -140,7 +140,7 @@ SlateportCity_BattleTentCorridor_EventScript_209022:: @ 8209022
|
||||
end
|
||||
|
||||
SlateportCity_BattleTentCorridor_EventScript_209044:: @ 8209044
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 10
|
||||
setvar VAR_0x8005, 0
|
||||
special sub_81A5E74
|
||||
|
||||
@ -122,7 +122,7 @@ SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA
|
||||
special sub_81B9D08
|
||||
compare VAR_RESULT, 0
|
||||
goto_if 5, SlateportCity_BattleTentLobby_EventScript_2087E9
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox SlateportCity_BattleTentLobby_Text_2C5810, 4
|
||||
|
||||
SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA
|
||||
@ -228,7 +228,7 @@ SlateportCity_BattleTentLobby_EventScript_208A14:: @ 8208A14
|
||||
goto SlateportCity_BattleTentLobby_EventScript_208A2E
|
||||
|
||||
SlateportCity_BattleTentLobby_EventScript_208A2B:: @ 8208A2B
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
SlateportCity_BattleTentLobby_EventScript_208A2E:: @ 8208A2E
|
||||
msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, 4
|
||||
|
||||
@ -45,7 +45,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7
|
||||
call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D
|
||||
compare VAR_0x40C0, 3
|
||||
call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x40C0, 0
|
||||
releaseall
|
||||
end
|
||||
@ -90,7 +90,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E
|
||||
end
|
||||
|
||||
SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
special sub_8139238
|
||||
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, 5
|
||||
compare VAR_RESULT, 0
|
||||
@ -101,11 +101,11 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
|
||||
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, 5
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
call SootopolisCity_MysteryEventsHouse_1F_EventScript_27134F
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
special sub_80F94E8
|
||||
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, 4
|
||||
closemessage
|
||||
@ -121,7 +121,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
|
||||
end
|
||||
|
||||
SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2:: @ 8227AE2
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C44, 4
|
||||
release
|
||||
end
|
||||
|
||||
@ -32,7 +32,7 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
|
||||
special HealPlayerParty
|
||||
applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9
|
||||
waitmovement 0
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x4001, 1
|
||||
warp SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F, 255, 3, 1
|
||||
waitstate
|
||||
|
||||
@ -236,7 +236,7 @@ TrainerHill_Entrance_Movement_268385: @ 8268385
|
||||
TrainerHill_Entrance_EventScript_268388:: @ 8268388
|
||||
lockall
|
||||
fadescreen 1
|
||||
special sub_813C904
|
||||
special ShowTrainerHillRecords
|
||||
waitstate
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -59,7 +59,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA:: @ 82023AA
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 4
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
warp VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
|
||||
waitstate
|
||||
|
||||
@ -81,8 +81,8 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
|
||||
applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_2725A6
|
||||
waitmovement 0
|
||||
msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, 4
|
||||
special copy_player_party_from_sav1
|
||||
special copy_player_party_to_sav1
|
||||
special LoadPlayerParty
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -132,7 +132,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_202501:: @ 8202501
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 3
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
warp VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
|
||||
waitstate
|
||||
|
||||
|
||||
@ -135,7 +135,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873
|
||||
special sub_81B99B4
|
||||
compare VAR_RESULT, 0
|
||||
goto_if 5, VerdanturfTown_BattleTentLobby_EventScript_2017EE
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, 4
|
||||
|
||||
VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893
|
||||
@ -189,7 +189,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954
|
||||
setvar VAR_0x8005, 3
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_81A1780
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call VerdanturfTown_BattleTentLobby_EventScript_27134F
|
||||
@ -198,7 +198,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954
|
||||
goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D
|
||||
|
||||
VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE
|
||||
special copy_player_party_to_sav1
|
||||
special SavePlayerParty
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
@ -235,7 +235,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201A1D:: @ 8201A1D
|
||||
goto VerdanturfTown_BattleTentLobby_EventScript_201A37
|
||||
|
||||
VerdanturfTown_BattleTentLobby_EventScript_201A34:: @ 8201A34
|
||||
special copy_player_party_from_sav1
|
||||
special LoadPlayerParty
|
||||
|
||||
VerdanturfTown_BattleTentLobby_EventScript_201A37:: @ 8201A37
|
||||
msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4
|
||||
|
||||
@ -157,7 +157,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4
|
||||
msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, 5
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503
|
||||
special sub_8133CD8
|
||||
special ScrSpecial_GetTraderTradedFlag
|
||||
compare VAR_RESULT, 1
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D
|
||||
message MauvilleCity_PokemonCenter_1F_Text_28E23F
|
||||
@ -176,7 +176,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E50D:: @ 828E50D
|
||||
end
|
||||
|
||||
MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517
|
||||
special sub_8133EC0
|
||||
special ScrSpecial_TraderMenuGetDecoration
|
||||
waitstate
|
||||
compare VAR_0x8004, 0
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558
|
||||
@ -185,7 +185,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517
|
||||
msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, 5
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E
|
||||
special sub_8133CF4
|
||||
special ScrSpecial_DoesPlayerHaveNoDecorations
|
||||
compare VAR_RESULT, 1
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A
|
||||
goto MauvilleCity_PokemonCenter_1F_EventScript_28E584
|
||||
@ -215,19 +215,19 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E57A:: @ 828E57A
|
||||
|
||||
MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584
|
||||
msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, 4
|
||||
special sub_8133D8C
|
||||
special ScrSpecial_TraderMenuGiveDecoration
|
||||
waitstate
|
||||
compare VAR_0x8006, 0
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4
|
||||
compare VAR_0x8006, 65535
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE
|
||||
special sub_8133D2C
|
||||
special ScrSpecial_IsDecorationFull
|
||||
compare VAR_RESULT, 1
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC
|
||||
msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, 5
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584
|
||||
special sub_8133E38
|
||||
special ScrSpecial_TraderDoDecorationTrade
|
||||
msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, 4
|
||||
release
|
||||
end
|
||||
|
||||
@ -48,8 +48,8 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_80B2FD8
|
||||
def_special GetLinkPartnerNames
|
||||
def_special SpawnLinkPartnerFieldObject
|
||||
def_special copy_player_party_to_sav1
|
||||
def_special copy_player_party_from_sav1
|
||||
def_special SavePlayerParty
|
||||
def_special LoadPlayerParty
|
||||
def_special sub_80F9438
|
||||
def_special sp02A_crash_sound
|
||||
def_special FieldObjectInteractionGetBerryTreeData
|
||||
@ -124,12 +124,12 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_81213D8
|
||||
def_special sub_8121450
|
||||
def_special sub_8121424
|
||||
def_special sub_8133EC0
|
||||
def_special sub_8133CD8
|
||||
def_special sub_8133CF4
|
||||
def_special sub_8133D2C
|
||||
def_special sub_8133D8C
|
||||
def_special sub_8133E38
|
||||
def_special ScrSpecial_TraderMenuGetDecoration
|
||||
def_special ScrSpecial_GetTraderTradedFlag
|
||||
def_special ScrSpecial_DoesPlayerHaveNoDecorations
|
||||
def_special ScrSpecial_IsDecorationFull
|
||||
def_special ScrSpecial_TraderMenuGiveDecoration
|
||||
def_special ScrSpecial_TraderDoDecorationTrade
|
||||
def_special GetSeedotSizeRecordInfo
|
||||
def_special CompareSeedotSize
|
||||
def_special GetLotadSizeRecordInfo
|
||||
@ -141,7 +141,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special TrendyPhraseIsOld
|
||||
def_special sub_811EF6C
|
||||
def_special GetDewfordHallPaintingNameIndex
|
||||
def_special sub_80D6EDC
|
||||
def_special SwapRegisteredBike
|
||||
def_special CalculatePlayerPartyCount
|
||||
def_special CountPartyNonEggMons
|
||||
def_special CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
|
||||
@ -207,7 +207,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special ScriptHatchMon
|
||||
def_special EggHatch
|
||||
def_special sub_8071614
|
||||
def_special sub_813C4BC
|
||||
def_special ShowLinkBattleRecords
|
||||
def_special IsEnoughForCostInVar0x8005
|
||||
def_special SubtractMoneyFromVar0x8005
|
||||
def_special sub_80F972C
|
||||
@ -341,7 +341,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_81B98DC
|
||||
def_special nullsub_54
|
||||
def_special sub_80E9B70
|
||||
def_special copy_bags_and_unk_data_from_save_blocks
|
||||
def_special LoadPlayerBag
|
||||
def_special sub_80B05B4
|
||||
def_special sub_8139754
|
||||
def_special sub_813970C
|
||||
@ -526,12 +526,12 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_8139ED0
|
||||
def_special sub_813B968
|
||||
def_special sub_80F8B94
|
||||
def_special sub_813C904
|
||||
def_special ShowTrainerHillRecords
|
||||
def_special sub_80B4808
|
||||
def_special sub_813B9A0
|
||||
def_special sub_81B9918
|
||||
def_special sub_80722E0
|
||||
def_special sub_80B45D0
|
||||
def_special sub_813C5A0
|
||||
def_special RemoveRecordsWindow
|
||||
def_special sub_8139C10
|
||||
def_special sub_80B3BC4
|
||||
|
||||
@ -1,929 +0,0 @@
|
||||
gDummyItemDescription:: @ 857FEA0
|
||||
.string "?????$"
|
||||
|
||||
gMasterBallItemDescription:: @ 857FEA6
|
||||
.string "The best BALL that\ncatches a POKéMON\nwithout fail.$"
|
||||
|
||||
gUltraBallItemDescription:: @ 857FED9
|
||||
.string "A better BALL with\na higher catch rate\nthan a GREAT BALL.$"
|
||||
|
||||
gGreatBallItemDescription:: @ 857FF13
|
||||
.string "A good BALL with a\nhigher catch rate\nthan a POKé BALL.$"
|
||||
|
||||
gPokeBallItemDescription:: @ 857FF4A
|
||||
.string "A tool used for\ncatching wild\nPOKéMON.$"
|
||||
|
||||
gSafariBallItemDescription:: @ 857FF71
|
||||
.string "A special BALL that\nis used only in the\nSAFARI ZONE.$"
|
||||
|
||||
gNetBallItemDescription:: @ 857FFA6
|
||||
.string "A BALL that works\nwell on WATER- and\nBUG-type POKéMON.$"
|
||||
|
||||
gDiveBallItemDescription:: @ 857FFDD
|
||||
.string "A BALL that works\nbetter on POKéMON\non the ocean floor.$"
|
||||
|
||||
gNestBallItemDescription:: @ 8580015
|
||||
.string "A BALL that works\nbetter on weaker\nPOKéMON.$"
|
||||
|
||||
gRepeatBallItemDescription:: @ 8580041
|
||||
.string "A BALL that works\nbetter on POKéMON\ncaught before.$"
|
||||
|
||||
gTimerBallItemDescription:: @ 8580074
|
||||
.string "A BALL that gains\npower in battles\ntaking many turns.$"
|
||||
|
||||
gLuxuryBallItemDescription:: @ 85800AA
|
||||
.string "A cozy BALL that\nmakes POKéMON\nmore friendly.$"
|
||||
|
||||
gPremierBallItemDescription:: @ 85800D8
|
||||
.string "A rare BALL made\nin commemoration\nof some event.$"
|
||||
|
||||
gPotionItemDescription:: @ 8580109
|
||||
.string "Restores the HP of\na POKéMON by\n20 points.$"
|
||||
|
||||
gAntidoteItemDescription:: @ 8580134
|
||||
.string "Heals a poisoned\nPOKéMON.$"
|
||||
|
||||
gBurnHealItemDescription:: @ 858014E
|
||||
.string "Heals POKéMON\nof a burn.$"
|
||||
|
||||
gIceHealItemDescription:: @ 8580167
|
||||
.string "Defrosts a frozen\nPOKéMON.$"
|
||||
|
||||
gAwakeningItemDescription:: @ 8580182
|
||||
.string "Awakens a sleeping\nPOKéMON.$"
|
||||
|
||||
gParalyzeHealItemDescription:: @ 858019E
|
||||
.string "Heals a paralyzed\nPOKéMON.$"
|
||||
|
||||
gFullRestoreItemDescription:: @ 85801B9
|
||||
.string "Fully restores the\nHP and status of a\nPOKéMON.$"
|
||||
|
||||
gMaxPotionItemDescription:: @ 85801E8
|
||||
.string "Fully restores the\nHP of a POKéMON.$"
|
||||
|
||||
gHyperPotionItemDescription:: @ 858020C
|
||||
.string "Restores the HP of\na POKéMON by\n200 points.$"
|
||||
|
||||
gSuperPotionItemDescription:: @ 8580238
|
||||
.string "Restores the HP of\na POKéMON by\n50 points.$"
|
||||
|
||||
gFullHealItemDescription:: @ 8580263
|
||||
.string "Heals all the\nstatus problems of\none POKéMON.$"
|
||||
|
||||
gReviveItemDescription:: @ 8580291
|
||||
.string "Revives a fainted\nPOKéMON with half\nits HP.$"
|
||||
|
||||
gMaxReviveItemDescription:: @ 85802BD
|
||||
.string "Revives a fainted\nPOKéMON with all\nits HP.$"
|
||||
|
||||
gFreshWaterItemDescription:: @ 85802E8
|
||||
.string "A mineral water\nthat restores HP\nby 50 points.$"
|
||||
|
||||
gSodaPopItemDescription:: @ 8580317
|
||||
.string "A fizzy soda drink\nthat restores HP\nby 60 points.$"
|
||||
|
||||
gLemonadeItemDescription:: @ 8580349
|
||||
.string "A very sweet drink\nthat restores HP\nby 80 points.$"
|
||||
|
||||
gMoomooMilkItemDescription:: @ 858037B
|
||||
.string "A nutritious milk\nthat restores HP\nby 100 points.$"
|
||||
|
||||
gEnergyPowderItemDescription:: @ 85803AD
|
||||
.string "A bitter powder\nthat restores HP\nby 50 points.$"
|
||||
|
||||
gEnergyRootItemDescription:: @ 85803DC
|
||||
.string "A bitter root\nthat restores HP\nby 200 points.$"
|
||||
|
||||
gHealPowderItemDescription:: @ 858040A
|
||||
.string "A bitter powder\nthat heals all\nstatus problems.$"
|
||||
|
||||
gRevivalHerbItemDescription:: @ 858043A
|
||||
.string "A very bitter herb\nthat revives a\nfainted POKéMON.$"
|
||||
|
||||
gEtherItemDescription:: @ 858046D
|
||||
.string "Restores the PP\nof a selected move\nby 10.$"
|
||||
|
||||
gMaxEtherItemDescription:: @ 8580497
|
||||
.string "Fully restores the\nPP of a selected\nmove.$"
|
||||
|
||||
gElixirItemDescription:: @ 85804C1
|
||||
.string "Restores the PP\nof all moves by 10.$"
|
||||
|
||||
gMaxElixirItemDescription:: @ 85804E5
|
||||
.string "Fully restores the\nPP of a POKéMON’s\nmoves.$"
|
||||
|
||||
gLavaCookieItemDescription:: @ 8580511
|
||||
.string "A local specialty\nthat heals all\nstatus problems.$"
|
||||
|
||||
gBlueFluteItemDescription:: @ 8580543
|
||||
.string "A glass flute that\nawakens sleeping\nPOKéMON.$"
|
||||
|
||||
gYellowFluteItemDescription:: @ 8580570
|
||||
.string "A glass flute that\nsnaps POKéMON\nout of confusion.$"
|
||||
|
||||
gRedFluteItemDescription:: @ 85805A3
|
||||
.string "A glass flute that\nsnaps POKéMON\nout of attraction.$"
|
||||
|
||||
gBlackFluteItemDescription:: @ 85805D7
|
||||
.string "A glass flute that\nkeeps away wild\nPOKéMON.$"
|
||||
|
||||
gWhiteFluteItemDescription:: @ 8580603
|
||||
.string "A glass flute that\nlures wild POKéMON.$"
|
||||
|
||||
gBerryJuiceItemDescription:: @ 858062A
|
||||
.string "A 100% pure juice\nthat restores HP\nby 20 points.$"
|
||||
|
||||
gSacredAshItemDescription:: @ 858065B
|
||||
.string "Fully revives and\nrestores all\nfainted POKéMON.$"
|
||||
|
||||
gShoalSaltItemDescription:: @ 858068B
|
||||
.string "Salt obtained from\ndeep inside the\nSHOAL CAVE.$"
|
||||
|
||||
gShoalShellItemDescription:: @ 85806BA
|
||||
.string "A seashell found\ndeep inside the\nSHOAL CAVE.$"
|
||||
|
||||
gRedShardItemDescription:: @ 85806E7
|
||||
.string "A shard from an\nancient item. Can\nbe sold cheaply.$"
|
||||
|
||||
gBlueShardItemDescription:: @ 858071A
|
||||
.string "A shard from an\nancient item. Can\nbe sold cheaply.$"
|
||||
|
||||
gYellowShardItemDescription:: @ 858074D
|
||||
.string "A shard from an\nancient item. Can\nbe sold cheaply.$"
|
||||
|
||||
gGreenShardItemDescription:: @ 8580780
|
||||
.string "A shard from an\nancient item. Can\nbe sold cheaply.$"
|
||||
|
||||
gHPUpItemDescription:: @ 85807B3
|
||||
.string "Raises the base HP\nof one POKéMON.$"
|
||||
|
||||
gProteinItemDescription:: @ 85807D6
|
||||
.string "Raises the base\nATTACK stat of one\nPOKéMON.$"
|
||||
|
||||
gIronItemDescription:: @ 8580802
|
||||
.string "Raises the base\nDEFENSE stat of\none POKéMON.$"
|
||||
|
||||
gCarbosItemDescription:: @ 858082F
|
||||
.string "Raises the base\nSPEED stat of one\nPOKéMON.$"
|
||||
|
||||
gCalciumItemDescription:: @ 858085A
|
||||
.string "Raises the base\nSP. ATK stat of one\nPOKéMON.$"
|
||||
|
||||
gRareCandyItemDescription:: @ 8580887
|
||||
.string "Raises the level\nof a POKéMON by\none.$"
|
||||
|
||||
gPPUpItemDescription:: @ 85808AD
|
||||
.string "Raises the maximum\nPP of a selected\nmove.$"
|
||||
|
||||
gZincItemDescription:: @ 85808D7
|
||||
.string "Raises the base\nSP. DEF stat of one\nPOKéMON.$"
|
||||
|
||||
gPPMaxItemDescription:: @ 8580904
|
||||
.string "Raises the PP of a\nmove to its maximum\npoints.$"
|
||||
|
||||
gGuardSpecItemDescription:: @ 8580933
|
||||
.string "Prevents stat\nreduction when\nused in battle.$"
|
||||
|
||||
gDireHitItemDescription:: @ 8580960
|
||||
.string "Raises the\ncritical-hit ratio\nduring one battle.$"
|
||||
|
||||
gXAttackItemDescription:: @ 8580991
|
||||
.string "Raises the stat\nATTACK during one\nbattle.$"
|
||||
|
||||
gXDefendItemDescription:: @ 85809BB
|
||||
.string "Raises the stat\nDEFENSE during one\nbattle.$"
|
||||
|
||||
gXSpeedItemDescription:: @ 85809E6
|
||||
.string "Raises the stat\nSPEED during one\nbattle.$"
|
||||
|
||||
gXAccuracyItemDescription:: @ 8580A0F
|
||||
.string "Raises accuracy\nof attack moves\nduring one battle.$"
|
||||
|
||||
gXSpecialItemDescription:: @ 8580A42
|
||||
.string "Raises the stat\nSP. ATK during one\nbattle.$"
|
||||
|
||||
gPokeDollItemDescription:: @ 8580A6D
|
||||
.string "Use to flee from\nany battle with\na wild POKéMON.$"
|
||||
|
||||
gFluffyTailItemDescription:: @ 8580A9E
|
||||
.string "Use to flee from\nany battle with\na wild POKéMON.$"
|
||||
|
||||
gSuperRepelItemDescription:: @ 8580ACF
|
||||
.string "Repels weak wild\nPOKéMON for 200\nsteps.$"
|
||||
|
||||
gMaxRepelItemDescription:: @ 8580AF7
|
||||
.string "Repels weak wild\nPOKéMON for 250\nsteps.$"
|
||||
|
||||
gEscapeRopeItemDescription:: @ 8580B1F
|
||||
.string "Use to escape\ninstantly from a\ncave or a dungeon.$"
|
||||
|
||||
gRepelItemDescription:: @ 8580B51
|
||||
.string "Repels weak wild\nPOKéMON for 100\nsteps.$"
|
||||
|
||||
gSunStoneItemDescription:: @ 8580B79
|
||||
.string "Makes certain\nspecies of POKéMON\nevolve.$"
|
||||
|
||||
gMoonStoneItemDescription:: @ 8580BA2
|
||||
.string "Makes certain\nspecies of POKéMON\nevolve.$"
|
||||
|
||||
gFireStoneItemDescription:: @ 8580BCB
|
||||
.string "Makes certain\nspecies of POKéMON\nevolve.$"
|
||||
|
||||
gThunderStoneItemDescription:: @ 8580BF4
|
||||
.string "Makes certain\nspecies of POKéMON\nevolve.$"
|
||||
|
||||
gWaterStoneItemDescription:: @ 8580C1D
|
||||
.string "Makes certain\nspecies of POKéMON\nevolve.$"
|
||||
|
||||
gLeafStoneItemDescription:: @ 8580C46
|
||||
.string "Makes certain\nspecies of POKéMON\nevolve.$"
|
||||
|
||||
gTinyMushroomItemDescription:: @ 8580C6F
|
||||
.string "A plain mushroom\nthat would sell\nat a cheap price.$"
|
||||
|
||||
gBigMushroomItemDescription:: @ 8580CA2
|
||||
.string "A rare mushroom\nthat would sell at a\nhigh price.$"
|
||||
|
||||
gPearlItemDescription:: @ 8580CD3
|
||||
.string "A pretty pearl\nthat would sell at a\ncheap price.$"
|
||||
|
||||
gBigPearlItemDescription:: @ 8580D04
|
||||
.string "A lovely large pearl\nthat would sell at a\nhigh price.$"
|
||||
|
||||
gStardustItemDescription:: @ 8580D3A
|
||||
.string "Beautiful red sand.\nCan be sold at a\nhigh price.$"
|
||||
|
||||
gStarPieceItemDescription:: @ 8580D6B
|
||||
.string "A red gem shard.\nIt would sell for a\nvery high price.$"
|
||||
|
||||
gNuggetItemDescription:: @ 8580DA1
|
||||
.string "A nugget of pure\ngold. Can be sold at\na high price.$"
|
||||
|
||||
gHeartScaleItemDescription:: @ 8580DD5
|
||||
.string "A lovely scale.\nIt is coveted by\ncollectors.$"
|
||||
|
||||
gOrangeMailItemDescription:: @ 8580E02
|
||||
.string "A ZIGZAGOON-print\nMAIL to be held by\na POKéMON.$"
|
||||
|
||||
gHarborMailItemDescription:: @ 8580E32
|
||||
.string "A WINGULL-print\nMAIL to be held by\na POKéMON.$"
|
||||
|
||||
gGlitterMailItemDescription:: @ 8580E60
|
||||
.string "A PIKACHU-print\nMAIL to be held by\na POKéMON.$"
|
||||
|
||||
gMechMailItemDescription:: @ 8580E8E
|
||||
.string "A MAGNEMITE-print\nMAIL to be held by\na POKéMON.$"
|
||||
|
||||
gWoodMailItemDescription:: @ 8580EBE
|
||||
.string "A SLAKOTH-print\nMAIL to be held by\na POKéMON.$"
|
||||
|
||||
gWaveMailItemDescription:: @ 8580EEC
|
||||
.string "A WAILMER-print\nMAIL to be held by\na POKéMON.$"
|
||||
|
||||
gBeadMailItemDescription:: @ 8580F1A
|
||||
.string "MAIL featuring a\nsketch of the\nholding POKéMON.$"
|
||||
|
||||
gShadowMailItemDescription:: @ 8580F4A
|
||||
.string "A DUSKULL-print\nMAIL to be held by\na POKéMON.$"
|
||||
|
||||
gTropicMailItemDescription:: @ 8580F78
|
||||
.string "A BELLOSSOM-print\nMAIL to be held by\na POKéMON.$"
|
||||
|
||||
gDreamMailItemDescription:: @ 8580FA8
|
||||
.string "MAIL featuring a\nsketch of the\nholding POKéMON.$"
|
||||
|
||||
gFabMailItemDescription:: @ 8580FD8
|
||||
.string "A gorgeous-print\nMAIL to be held\nby a POKéMON.$"
|
||||
|
||||
gRetroMailItemDescription:: @ 8581007
|
||||
.string "MAIL featuring the\ndrawings of three\nPOKéMON.$"
|
||||
|
||||
gCheriBerryItemDescription:: @ 8581035
|
||||
.string "A hold item that\nheals paralysis\nin battle.$"
|
||||
|
||||
gChestoBerryItemDescription:: @ 8581061
|
||||
.string "A hold item that\nawakens POKéMON\nin battle.$"
|
||||
|
||||
gPechaBerryItemDescription:: @ 858108D
|
||||
.string "A hold item that\nheals poisoning\nin battle.$"
|
||||
|
||||
gRawstBerryItemDescription:: @ 85810B9
|
||||
.string "A hold item that\nheals a burn in\nbattle.$"
|
||||
|
||||
gAspearBerryItemDescription:: @ 85810E2
|
||||
.string "A hold item that\ndefrosts POKéMON\nin battle.$"
|
||||
|
||||
gLeppaBerryItemDescription:: @ 858110F
|
||||
.string "A hold item that\nrestores 10 PP in\nbattle.$"
|
||||
|
||||
gOranBerryItemDescription:: @ 858113A
|
||||
.string "A hold item that\nrestores 10 HP in\nbattle.$"
|
||||
|
||||
gPersimBerryItemDescription:: @ 8581165
|
||||
.string "A hold item that\nheals confusion\nin battle.$"
|
||||
|
||||
gLumBerryItemDescription:: @ 8581191
|
||||
.string "A hold item that\nheals any status\nproblem in battle.$"
|
||||
|
||||
gSitrusBerryItemDescription:: @ 85811C6
|
||||
.string "A hold item that\nrestores 30 HP in\nbattle.$"
|
||||
|
||||
gFigyBerryItemDescription:: @ 85811F1
|
||||
.string "A hold item that\nrestores HP but\nmay confuse.$"
|
||||
|
||||
gWikiBerryItemDescription:: @ 858121F
|
||||
.string "A hold item that\nrestores HP but\nmay confuse.$"
|
||||
|
||||
gMagoBerryItemDescription:: @ 858124D
|
||||
.string "A hold item that\nrestores HP but\nmay confuse.$"
|
||||
|
||||
gAguavBerryItemDescription:: @ 858127B
|
||||
.string "A hold item that\nrestores HP but\nmay confuse.$"
|
||||
|
||||
gIapapaBerryItemDescription:: @ 85812A9
|
||||
.string "A hold item that\nrestores HP but\nmay confuse.$"
|
||||
|
||||
gRazzBerryItemDescription:: @ 85812D7
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RAZZ.$"
|
||||
|
||||
gBlukBerryItemDescription:: @ 858130B
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BLUK.$"
|
||||
|
||||
gNanabBerryItemDescription:: @ 858133F
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NANAB.$"
|
||||
|
||||
gWepearBerryItemDescription:: @ 8581374
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WEPEAR.$"
|
||||
|
||||
gPinapBerryItemDescription:: @ 85813AA
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PINAP.$"
|
||||
|
||||
gPomegBerryItemDescription:: @ 85813DF
|
||||
.string "Makes a POKéMON\nfriendly but lowers\nbase HP.$"
|
||||
|
||||
gKelpsyBerryItemDescription:: @ 858140C
|
||||
.string "Makes a POKéMON\nfriendly but lowers\nbase ATTACK.$"
|
||||
|
||||
gQualotBerryItemDescription:: @ 858143D
|
||||
.string "Makes a POKéMON\nfriendly but lowers\nbase DEFENSE.$"
|
||||
|
||||
gHondewBerryItemDescription:: @ 858146F
|
||||
.string "Makes a POKéMON\nfriendly but lowers\nbase SP. ATK.$"
|
||||
|
||||
gGrepaBerryItemDescription:: @ 85814A1
|
||||
.string "Makes a POKéMON\nfriendly but lowers\nbase SP. DEF.$"
|
||||
|
||||
gTamatoBerryItemDescription:: @ 85814D3
|
||||
.string "Makes a POKéMON\nfriendly but lowers\nbase SPEED.$"
|
||||
|
||||
gCornnBerryItemDescription:: @ 8581503
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow CORNN.$"
|
||||
|
||||
gMagostBerryItemDescription:: @ 8581538
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow MAGOST.$"
|
||||
|
||||
gRabutaBerryItemDescription:: @ 858156E
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RABUTA.$"
|
||||
|
||||
gNomelBerryItemDescription:: @ 85815A4
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NOMEL.$"
|
||||
|
||||
gSpelonBerryItemDescription:: @ 85815D9
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow SPELON.$"
|
||||
|
||||
gPamtreBerryItemDescription:: @ 858160F
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PAMTRE.$"
|
||||
|
||||
gWatmelBerryItemDescription:: @ 8581645
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WATMEL.$"
|
||||
|
||||
gDurinBerryItemDescription:: @ 858167B
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow DURIN.$"
|
||||
|
||||
gBelueBerryItemDescription:: @ 85816B0
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BELUE.$"
|
||||
|
||||
gLiechiBerryItemDescription:: @ 85816E5
|
||||
.string "A hold item that\nraises ATTACK in\na pinch.$"
|
||||
|
||||
gGanlonBerryItemDescription:: @ 8581710
|
||||
.string "A hold item that\nraises DEFENSE in\na pinch.$"
|
||||
|
||||
gSalacBerryItemDescription:: @ 858173C
|
||||
.string "A hold item that\nraises SPEED in\na pinch.$"
|
||||
|
||||
gPetayaBerryItemDescription:: @ 8581766
|
||||
.string "A hold item that\nraises SP. ATK in\na pinch.$"
|
||||
|
||||
gApicotBerryItemDescription:: @ 8581792
|
||||
.string "A hold item that\nraises SP. DEF in\na pinch.$"
|
||||
|
||||
gLansatBerryItemDescription:: @ 85817BE
|
||||
.string "A hold item that\nups the critical-\nhit rate in a pinch.$"
|
||||
|
||||
gStarfBerryItemDescription:: @ 85817F6
|
||||
.string "A hold item that\nsharply boosts a\nstat in a pinch.$"
|
||||
|
||||
gEnigmaBerryItemDescription:: @ 8581829
|
||||
.string "{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery.$"
|
||||
|
||||
gBrightPowderItemDescription:: @ 8581862
|
||||
.string "A hold item that\ncasts a glare to\nreduce accuracy.$"
|
||||
|
||||
gWhiteHerbItemDescription:: @ 8581895
|
||||
.string "A hold item that\nrestores any\nlowered stat.$"
|
||||
|
||||
gMachoBraceItemDescription:: @ 85818C1
|
||||
.string "A hold item that\npromotes growth,\nbut reduces SPEED.$"
|
||||
|
||||
gExpShareItemDescription:: @ 85818F6
|
||||
.string "A hold item that\ngets EXP. points\nfrom battles.$"
|
||||
|
||||
gQuickClawItemDescription:: @ 8581926
|
||||
.string "A hold item that\noccasionally allows\nthe first strike.$"
|
||||
|
||||
gSootheBellItemDescription:: @ 858195D
|
||||
.string "A hold item that\ncalms spirits and\nfosters friendship.$"
|
||||
|
||||
gMentalHerbItemDescription:: @ 8581994
|
||||
.string "A hold item that\nsnaps POKéMON out\nof infatuation.$"
|
||||
|
||||
gChoiceBandItemDescription:: @ 85819C7
|
||||
.string "Raises a move’s\npower, but permits\nonly that move.$"
|
||||
|
||||
gKingsRockItemDescription:: @ 85819FA
|
||||
.string "A hold item that\nmay cause flinching\nwhen the foe is hit.$"
|
||||
|
||||
gSilverPowderItemDescription:: @ 8581A34
|
||||
.string "A hold item that\nraises the power of\nBUG-type moves.$"
|
||||
|
||||
gAmuletCoinItemDescription:: @ 8581A69
|
||||
.string "Doubles money in\nbattle if the\nholder takes part.$"
|
||||
|
||||
gCleanseTagItemDescription:: @ 8581A9B
|
||||
.string "A hold item that\nhelps repel wild\nPOKéMON.$"
|
||||
|
||||
gSoulDewItemDescription:: @ 8581AC6
|
||||
.string "Hold item: raises\nSP. ATK & SP. DEF of\nLATIOS & LATIAS.$"
|
||||
|
||||
gDeepSeaToothItemDescription:: @ 8581AFE
|
||||
.string "A hold item that\nraises the SP. ATK\nof CLAMPERL.$"
|
||||
|
||||
gDeepSeaScaleItemDescription:: @ 8581B2F
|
||||
.string "A hold item that\nraises the SP. DEF\nof CLAMPERL.$"
|
||||
|
||||
gSmokeBallItemDescription:: @ 8581B60
|
||||
.string "A hold item that\nassures fleeing\nfrom wild POKéMON.$"
|
||||
|
||||
gEverstoneItemDescription:: @ 8581B94
|
||||
.string "A wondrous hold\nitem that prevents\nevolution.$"
|
||||
|
||||
gFocusBandItemDescription:: @ 8581BC2
|
||||
.string "A hold item that\noccasionally\nprevents fainting.$"
|
||||
|
||||
gLuckyEggItemDescription:: @ 8581BF3
|
||||
.string "A hold item that\nboosts EXP. points\nearned in battle.$"
|
||||
|
||||
gScopeLensItemDescription:: @ 8581C29
|
||||
.string "A hold item that\nimproves the\ncritical-hit rate.$"
|
||||
|
||||
gMetalCoatItemDescription:: @ 8581C5A
|
||||
.string "A hold item that\nraises the power of\nSTEEL-type moves.$"
|
||||
|
||||
gLeftoversItemDescription:: @ 8581C91
|
||||
.string "A hold item that\ngradually restores\nHP in battle.$"
|
||||
|
||||
gDragonScaleItemDescription:: @ 8581CC3
|
||||
.string "A strange scale\nheld by DRAGON-\ntype POKéMON.$"
|
||||
|
||||
gLightBallItemDescription:: @ 8581CF1
|
||||
.string "A hold item that\nraises the SP. ATK\nof PIKACHU.$"
|
||||
|
||||
gSoftSandItemDescription:: @ 8581D21
|
||||
.string "A hold item that\nraises the power of\nGROUND-type moves.$"
|
||||
|
||||
gHardStoneItemDescription:: @ 8581D59
|
||||
.string "A hold item that\nraises the power of\nROCK-type moves.$"
|
||||
|
||||
gMiracleSeedItemDescription:: @ 8581D8F
|
||||
.string "A hold item that\nraises the power of\nGRASS-type moves.$"
|
||||
|
||||
gBlackGlassesItemDescription:: @ 8581DC6
|
||||
.string "A hold item that\nraises the power of\nDARK-type moves.$"
|
||||
|
||||
gBlackBeltItemDescription:: @ 8581DFC
|
||||
.string "A hold item that\nboosts FIGHTING-\ntype moves.$"
|
||||
|
||||
gMagnetItemDescription:: @ 8581E2A
|
||||
.string "A hold item that\nboosts ELECTRIC-\ntype moves.$"
|
||||
|
||||
gMysticWaterItemDescription:: @ 8581E58
|
||||
.string "A hold item that\nraises the power of\nWATER-type moves.$"
|
||||
|
||||
gSharpBeakItemDescription:: @ 8581E8F
|
||||
.string "A hold item that\nraises the power of\nFLYING-type moves.$"
|
||||
|
||||
gPoisonBarbItemDescription:: @ 8581EC7
|
||||
.string "A hold item that\nraises the power of\nPOISON-type moves.$"
|
||||
|
||||
gNeverMeltIceItemDescription:: @ 8581EFF
|
||||
.string "A hold item that\nraises the power of\nICE-type moves.$"
|
||||
|
||||
gSpellTagItemDescription:: @ 8581F34
|
||||
.string "A hold item that\nraises the power of\nGHOST-type moves.$"
|
||||
|
||||
gTwistedSpoonItemDescription:: @ 8581F6B
|
||||
.string "A hold item that\nboosts PSYCHIC-\ntype moves.$"
|
||||
|
||||
gCharcoalItemDescription:: @ 8581F98
|
||||
.string "A hold item that\nraises the power of\nFIRE-type moves.$"
|
||||
|
||||
gDragonFangItemDescription:: @ 8581FCE
|
||||
.string "A hold item that\nraises the power of\nDRAGON-type moves.$"
|
||||
|
||||
gSilkScarfItemDescription:: @ 8582006
|
||||
.string "A hold item that\nraises the power of\nNORMAL-type moves.$"
|
||||
|
||||
gUpGradeItemDescription:: @ 858203E
|
||||
.string "A peculiar box made\nby SILPH CO.$"
|
||||
|
||||
gShellBellItemDescription:: @ 858205F
|
||||
.string "A hold item that\nrestores HP upon\nstriking the foe.$"
|
||||
|
||||
gSeaIncenseItemDescription:: @ 8582093
|
||||
.string "A hold item that\nslightly boosts\nWATER-type moves.$"
|
||||
|
||||
gLaxIncenseItemDescription:: @ 85820C6
|
||||
.string "A hold item that\nslightly lowers the\nfoe’s accuracy.$"
|
||||
|
||||
gLuckyPunchItemDescription:: @ 85820FB
|
||||
.string "A hold item that\nraises CHANSEY’s\ncritical-hit rate.$"
|
||||
|
||||
gMetalPowderItemDescription:: @ 8582130
|
||||
.string "A hold item that\nraises DITTO’s\nDEFENSE.$"
|
||||
|
||||
gThickClubItemDescription:: @ 8582159
|
||||
.string "A hold item that \nraises CUBONE or\nMAROWAK’s ATTACK.$"
|
||||
|
||||
gStickItemDescription:: @ 858218E
|
||||
.string "A hold item that\nraises FARFETCH’D’s\ncritical-hit ratio.$"
|
||||
|
||||
gRedScarfItemDescription:: @ 85821C7
|
||||
.string "A hold item that\nraises COOL in\nCONTESTS.$"
|
||||
|
||||
gBlueScarfItemDescription:: @ 85821F1
|
||||
.string "A hold item that\nraises BEAUTY in\nCONTESTS.$"
|
||||
|
||||
gPinkScarfItemDescription:: @ 858221D
|
||||
.string "A hold item that\nraises CUTE in\nCONTESTS.$"
|
||||
|
||||
gGreenScarfItemDescription:: @ 8582247
|
||||
.string "A hold item that\nraises SMART in\nCONTESTS.$"
|
||||
|
||||
gYellowScarfItemDescription:: @ 8582272
|
||||
.string "A hold item that\nraises TOUGH in\nCONTESTS.$"
|
||||
|
||||
gMachBikeItemDescription:: @ 858229D
|
||||
.string "A folding bicycle\nthat doubles your\nspeed or better.$"
|
||||
|
||||
gCoinCaseItemDescription:: @ 85822D2
|
||||
.string "A case that holds\nup to 9,999 COINS.$"
|
||||
|
||||
gItemfinderItemDescription:: @ 85822F7
|
||||
.string "A device that\nsignals an invisible\nitem by sound.$"
|
||||
|
||||
gOldRodItemDescription:: @ 8582329
|
||||
.string "Use by any body of\nwater to fish for\nwild POKéMON.$"
|
||||
|
||||
gGoodRodItemDescription:: @ 858235C
|
||||
.string "A decent fishing\nrod for catching\nwild POKéMON.$"
|
||||
|
||||
gSuperRodItemDescription:: @ 858238C
|
||||
.string "The best fishing\nrod for catching\nwild POKéMON.$"
|
||||
|
||||
gSSTicketItemDescription:: @ 85823BC
|
||||
.string "The ticket required\nfor sailing on a\nferry.$"
|
||||
|
||||
gContestPassItemDescription:: @ 85823E8
|
||||
.string "The pass required\nfor entering\nPOKéMON CONTESTS.$"
|
||||
|
||||
gWailmerPailItemDescription:: @ 8582419
|
||||
.string "A tool used for\nwatering BERRIES\nand plants.$"
|
||||
|
||||
gDevonGoodsItemDescription:: @ 8582446
|
||||
.string "A package that\ncontains DEVON’s\nmachine parts.$"
|
||||
|
||||
gSootSackItemDescription:: @ 8582475
|
||||
.string "A sack used to\ngather and hold\nvolcanic ash.$"
|
||||
|
||||
gBasementKeyItemDescription:: @ 85824A2
|
||||
.string "The key for NEW\nMAUVILLE beneath\nMAUVILLE CITY.$"
|
||||
|
||||
gAcroBikeItemDescription:: @ 85824D2
|
||||
.string "A folding bicycle\ncapable of jumps\nand wheelies.$"
|
||||
|
||||
gPokeblockCaseItemDescription:: @ 8582503
|
||||
.string "A case for holding\n{POKEBLOCK}S made with\na BERRY BLENDER.$"
|
||||
|
||||
gLetterItemDescription:: @ 8582538
|
||||
.string "A letter to STEVEN\nfrom the PRESIDENT\nof the DEVON CORP.$"
|
||||
|
||||
gEonTicketItemDescription:: @ 8582571
|
||||
.string "The ticket for a\nferry to a distant\nsouthern island.$"
|
||||
|
||||
gRedOrbItemDescription:: @ 85825A6
|
||||
.string "A red, glowing orb\nsaid to contain an\nancient power.$"
|
||||
|
||||
gBlueOrbItemDescription:: @ 85825DB
|
||||
.string "A blue, glowing orb\nsaid to contain an\nancient power.$"
|
||||
|
||||
gScannerItemDescription:: @ 8582611
|
||||
.string "A device found\ninside the\nABANDONED SHIP.$"
|
||||
|
||||
gGoGogglesItemDescription:: @ 858263B
|
||||
.string "Nifty goggles that\nprotect eyes from\ndesert sandstorms.$"
|
||||
|
||||
gMeteoriteItemDescription:: @ 8582673
|
||||
.string "A meteorite found\nat METEOR FALLS.$"
|
||||
|
||||
gRoom1KeyItemDescription:: @ 8582696
|
||||
.string "A key that opens a\ndoor inside the\nABANDONED SHIP.$"
|
||||
|
||||
gRoom2KeyItemDescription:: @ 85826C9
|
||||
.string "A key that opens a\ndoor inside the\nABANDONED SHIP.$"
|
||||
|
||||
gRoom4KeyItemDescription:: @ 85826FC
|
||||
.string "A key that opens a\ndoor inside the\nABANDONED SHIP.$"
|
||||
|
||||
gRoom6KeyItemDescription:: @ 858272F
|
||||
.string "A key that opens a\ndoor inside the\nABANDONED SHIP.$"
|
||||
|
||||
gStorageKeyItemDescription:: @ 8582762
|
||||
.string "The key to the\nstorage inside the\nABANDONED SHIP.$"
|
||||
|
||||
gRootFossilItemDescription:: @ 8582794
|
||||
.string "A fossil of an\nancient, seafloor-\ndwelling POKéMON.$"
|
||||
|
||||
gClawFossilItemDescription:: @ 85827C8
|
||||
.string "A fossil of an\nancient, seafloor-\ndwelling POKéMON.$"
|
||||
|
||||
gDevonScopeItemDescription:: @ 85827FC
|
||||
.string "A device by DEVON\nthat signals any\nunseeable POKéMON.$"
|
||||
|
||||
gTM01ItemDescription:: @ 8582832
|
||||
.string "Powerful, but makes\nthe user flinch if\nhit by the foe.$"
|
||||
|
||||
gTM02ItemDescription:: @ 8582869
|
||||
.string "Hooks and slashes\nthe foe with long,\nsharp claws.$"
|
||||
|
||||
gTM03ItemDescription:: @ 858289B
|
||||
.string "Generates an\nultrasonic wave\nthat may confuse.$"
|
||||
|
||||
gTM04ItemDescription:: @ 85828CA
|
||||
.string "Raises SP. ATK and\nSP. DEF by focusing\nthe mind.$"
|
||||
|
||||
gTM05ItemDescription:: @ 85828FB
|
||||
.string "A savage roar that\nmakes the foe flee \nto end the battle.$"
|
||||
|
||||
gTM06ItemDescription:: @ 8582935
|
||||
.string "Poisons the foe\nwith a toxin that\ngradually worsens.$"
|
||||
|
||||
gTM07ItemDescription:: @ 858296A
|
||||
.string "Creates a hailstorm\nthat damages all\ntypes except ICE.$"
|
||||
|
||||
gTM08ItemDescription:: @ 85829A1
|
||||
.string "Bulks up the body\nto boost both\nATTACK & DEFENSE.$"
|
||||
|
||||
gTM09ItemDescription:: @ 85829D3
|
||||
.string "Shoots 2 to 5 seeds\nin a row to strike\nthe foe.$"
|
||||
|
||||
gTM10ItemDescription:: @ 8582A03
|
||||
.string "The attack power\nvaries among\ndifferent POKéMON.$"
|
||||
|
||||
gTM11ItemDescription:: @ 8582A34
|
||||
.string "Raises the power of\nFIRE-type moves\nfor 5 turns.$"
|
||||
|
||||
gTM12ItemDescription:: @ 8582A65
|
||||
.string "Enrages the foe so\nit can only use\nattack moves.$"
|
||||
|
||||
gTM13ItemDescription:: @ 8582A96
|
||||
.string "Fires an icy cold\nbeam that may\nfreeze the foe.$"
|
||||
|
||||
gTM14ItemDescription:: @ 8582AC6
|
||||
.string "A brutal snow-and-\nwind attack that\nmay freeze the foe.$"
|
||||
|
||||
gTM15ItemDescription:: @ 8582AFE
|
||||
.string "Powerful, but needs\nrecharging the\nnext turn.$"
|
||||
|
||||
gTM16ItemDescription:: @ 8582B2C
|
||||
.string "Creates a wall of\nlight that lowers\nSP. ATK damage.$"
|
||||
|
||||
gTM17ItemDescription:: @ 8582B60
|
||||
.string "Negates all damage,\nbut may fail if used\nin succession.$"
|
||||
|
||||
gTM18ItemDescription:: @ 8582B98
|
||||
.string "Raises the power of\nWATER-type moves\nfor 5 turns.$"
|
||||
|
||||
gTM19ItemDescription:: @ 8582BCA
|
||||
.string "Recovers half the\nHP of the damage \nthis move inflicts.$"
|
||||
|
||||
gTM20ItemDescription:: @ 8582C02
|
||||
.string "Prevents status\nabnormality with a\nmystical power.$"
|
||||
|
||||
gTM21ItemDescription:: @ 8582C35
|
||||
.string "The less the user\nlikes you, the more\npowerful this move.$"
|
||||
|
||||
gTM22ItemDescription:: @ 8582C6F
|
||||
.string "Absorbs sunlight in\nthe 1st turn, then\nattacks next turn.$"
|
||||
|
||||
gTM23ItemDescription:: @ 8582CA9
|
||||
.string "Slams the foe with\na hard tail. It may\nlower DEFENSE.$"
|
||||
|
||||
gTM24ItemDescription:: @ 8582CDF
|
||||
.string "A powerful electric\nattack that may\ncause paralysis.$"
|
||||
|
||||
gTM25ItemDescription:: @ 8582D14
|
||||
.string "Strikes the foe\nwith a thunderbolt.\nIt may paralyze.$"
|
||||
|
||||
gTM26ItemDescription:: @ 8582D49
|
||||
.string "Causes a quake\nthat has no effect\non flying foes.$"
|
||||
|
||||
gTM27ItemDescription:: @ 8582D7B
|
||||
.string "The more the user\nlikes you, the more\npowerful this move.$"
|
||||
|
||||
gTM28ItemDescription:: @ 8582DB5
|
||||
.string "Digs underground\nthe 1st turn, then\nstrikes next turn.$"
|
||||
|
||||
gTM29ItemDescription:: @ 8582DEC
|
||||
.string "A powerful psychic\nattack that may\nlower SP. DEF.$"
|
||||
|
||||
gTM30ItemDescription:: @ 8582E1E
|
||||
.string "Hurls a dark lump\nat the foe. It may\nlower SP. DEF.$"
|
||||
|
||||
gTM31ItemDescription:: @ 8582E52
|
||||
.string "Destroys barriers\nlike LIGHT SCREEN\nand causes damage.$"
|
||||
|
||||
gTM32ItemDescription:: @ 8582E89
|
||||
.string "Creates illusory\ncopies to enhance\nelusiveness.$"
|
||||
|
||||
gTM33ItemDescription:: @ 8582EB9
|
||||
.string "Creates a wall of\nlight that weakens\nphysical attacks.$"
|
||||
|
||||
gTM34ItemDescription:: @ 8582EF0
|
||||
.string "Zaps the foe with a\njolt of electricity\nthat never misses.$"
|
||||
|
||||
gTM35ItemDescription:: @ 8582F2B
|
||||
.string "Looses a stream of\nfire that may burn\nthe foe.$"
|
||||
|
||||
gTM36ItemDescription:: @ 8582F5A
|
||||
.string "Hurls sludge at the\nfoe. It may poison\nthe foe.$"
|
||||
|
||||
gTM37ItemDescription:: @ 8582F8A
|
||||
.string "Causes a sandstorm\nthat hits the foe\nover several turns.$"
|
||||
|
||||
gTM38ItemDescription:: @ 8582FC3
|
||||
.string "A powerful fire\nattack that may\nburn the foe.$"
|
||||
|
||||
gTM39ItemDescription:: @ 8582FF1
|
||||
.string "Stops the foe from\nmoving with rocks.\nMay lower SPEED.$"
|
||||
|
||||
gTM40ItemDescription:: @ 8583028
|
||||
.string "An extremely fast\nattack that can’t\nbe avoided.$"
|
||||
|
||||
gTM41ItemDescription:: @ 8583058
|
||||
.string "Prevents the foe\nfrom using the same\nmove in a row.$"
|
||||
|
||||
gTM42ItemDescription:: @ 858308C
|
||||
.string "Raises ATTACK when\npoisoned, burned,\nor paralyzed.$"
|
||||
|
||||
gTM43ItemDescription:: @ 85830BF
|
||||
.string "Adds an effect to\nattack depending\non the location.$"
|
||||
|
||||
gTM44ItemDescription:: @ 85830F3
|
||||
.string "The user sleeps for\n2 turns to restore\nhealth and status.$"
|
||||
|
||||
gTM45ItemDescription:: @ 858312D
|
||||
.string "Makes it tough to\nattack a foe of the\nopposite gender.$"
|
||||
|
||||
gTM46ItemDescription:: @ 8583164
|
||||
.string "While attacking,\nit may steal the\nfoe’s held item.$"
|
||||
|
||||
gTM47ItemDescription:: @ 8583197
|
||||
.string "Spreads hard-\nedged wings and\nslams into the foe.$"
|
||||
|
||||
gTM48ItemDescription:: @ 85831C9
|
||||
.string "Switches abilities\nwith the foe on the\nturn this is used.$"
|
||||
|
||||
gTM49ItemDescription:: @ 8583203
|
||||
.string "Steals the effects\nof the move the foe\nis trying to use.$"
|
||||
|
||||
gTM50ItemDescription:: @ 858323C
|
||||
.string "Enables full-power\nattack, but sharply\nlowers SP. ATK.$"
|
||||
|
||||
gHM01ItemDescription:: @ 8583273
|
||||
.string "Attacks the foe\nwith sharp blades\nor claws.$"
|
||||
|
||||
gHM02ItemDescription:: @ 858329F
|
||||
.string "Flies up on the\nfirst turn, then\nattacks next turn.$"
|
||||
|
||||
gHM03ItemDescription:: @ 85832D3
|
||||
.string "Creates a huge\nwave, then crashes\nit down on the foe.$"
|
||||
|
||||
gHM04ItemDescription:: @ 8583309
|
||||
.string "Builds enormous\npower, then slams\nthe foe.$"
|
||||
|
||||
gHM05ItemDescription:: @ 8583334
|
||||
.string "Looses a powerful\nblast of light that\nreduces accuracy.$"
|
||||
|
||||
gHM06ItemDescription:: @ 858336C
|
||||
.string "A rock-crushingly\ntough attack that\nmay lower DEFENSE.$"
|
||||
|
||||
gHM07ItemDescription:: @ 85833A3
|
||||
.string "Attacks the foe\nwith enough power\nto climb waterfalls.$"
|
||||
|
||||
gHM08ItemDescription:: @ 85833DA
|
||||
.string "Dives underwater\nthe 1st turn, then\nattacks next turn.$"
|
||||
|
||||
gOaksParcelItemDescription:: @ 8583411
|
||||
.string "A parcel for PROF.\nOAK from a POKéMON\nMART’s clerk.$"
|
||||
|
||||
gPokeFluteItemDescription:: @ 8583445
|
||||
.string "A sweet-sounding\nflute that awakens\nPOKéMON.$"
|
||||
|
||||
gSecretKeyItemDescription:: @ 8583472
|
||||
.string "The key to the\nCINNABAR ISLAND\nGYM’s entrance.$"
|
||||
|
||||
gBikeVoucherItemDescription:: @ 85834A1
|
||||
.string "A voucher for\nobtaining a bicycle\nfrom the BIKE SHOP.$"
|
||||
|
||||
gGoldTeethItemDescription:: @ 85834D7
|
||||
.string "Gold dentures lost\nby the SAFARI\nZONE’s WARDEN.$"
|
||||
|
||||
gOldAmberItemDescription:: @ 8583507
|
||||
.string "A stone containing\nthe genes of an\nancient POKéMON.$"
|
||||
|
||||
gCardKeyItemDescription:: @ 858353B
|
||||
.string "A card-type door\nkey used in SILPH\nCO’s office.$"
|
||||
|
||||
gLiftKeyItemDescription:: @ 858356B
|
||||
.string "An elevator key\nused in TEAM\nROCKET’s HIDEOUT.$"
|
||||
|
||||
gHelixFossilItemDescription:: @ 858359A
|
||||
.string "A piece of an\nancient marine\nPOKéMON’s seashell.$"
|
||||
|
||||
gDomeFossilItemDescription:: @ 85835CB
|
||||
.string "A piece of an\nancient marine\nPOKéMON’s shell.$"
|
||||
|
||||
gSilphScopeItemDescription:: @ 85835F9
|
||||
.string "SILPH CO’s scope\nmakes unseeable\nPOKéMON visible.$"
|
||||
|
||||
gBicycleItemDescription:: @ 858362B
|
||||
.string "A folding bicycle\nthat is faster than\nthe RUNNING SHOES.$"
|
||||
|
||||
gTownMapItemDescription:: @ 8583664
|
||||
.string "Can be viewed\nanytime. Shows your\npresent location.$"
|
||||
|
||||
gVSSeekerItemDescription:: @ 8583698
|
||||
.string "A rechargeable unit\nthat flags battle-\nready TRAINERS.$"
|
||||
|
||||
gFameCheckerItemDescription:: @ 85836CF
|
||||
.string "Stores information\non famous people\nfor instant recall.$"
|
||||
|
||||
gTMCaseItemDescription:: @ 8583707
|
||||
.string "A convenient case \nthat holds TMs and\nHMs.$"
|
||||
|
||||
gBerryPouchItemDescription:: @ 8583732
|
||||
.string "A convenient\ncontainer that\nholds BERRIES.$"
|
||||
|
||||
gTeachyTVItemDescription:: @ 858375D
|
||||
.string "A TV set tuned to\nan advice program\nfor TRAINERS.$"
|
||||
|
||||
gTriPassItemDescription:: @ 858378F
|
||||
.string "A pass for ferries\nbetween ONE, TWO,\nand THREE ISLAND.$"
|
||||
|
||||
gRainbowPassItemDescription:: @ 85837C6
|
||||
.string "For ferries serving\nVERMILION and the\nSEVII ISLANDS.$"
|
||||
|
||||
gTeaItemDescription:: @ 85837FB
|
||||
.string "A thirst-quenching\ntea prepared by an\nold lady.$"
|
||||
|
||||
gMysticTicketItemDescription:: @ 858382B
|
||||
.string "A ticket required\nto board the ship\nto NAVEL ROCK.$"
|
||||
|
||||
gAuroraTicketItemDescription:: @ 858385E
|
||||
.string "A ticket required\nto board the ship\nto BIRTH ISLAND.$"
|
||||
|
||||
gPowderJarItemDescription:: @ 8583893
|
||||
.string "Stores BERRY\nPOWDER made using\na BERRY CRUSHER.$"
|
||||
|
||||
gRubyItemDescription:: @ 85838C3
|
||||
.string "An exquisite, red-\nglowing gem that\nsymbolizes passion.$"
|
||||
|
||||
gSapphireItemDescription:: @ 85838FB
|
||||
.string "A brilliant blue gem\nthat symbolizes\nhonesty.$"
|
||||
|
||||
gMagmaEmblemItemDescription:: @ 8583929
|
||||
.string "A medal-like item in\nthe same shape as\nTEAM MAGMA’s mark.$"
|
||||
|
||||
gOldSeaMapItemDescription:: @ 8583963
|
||||
.string "A faded sea chart\nthat shows the way\nto a certain island.$"
|
||||
@ -1,22 +0,0 @@
|
||||
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gUnknown_085B09E4:: @ 85B09E4
|
||||
.4byte gText_Tristan
|
||||
.4byte gText_Philip
|
||||
.4byte gText_Dennis
|
||||
.4byte gText_Roberto
|
||||
|
||||
.align 2
|
||||
gUnknown_085B09F4:: @ 85B09F4
|
||||
.byte 0x5b, 0x6b, 0x25, 0x15
|
||||
|
||||
.align 2
|
||||
gUnknown_085B09F8:: @ 85B09F8
|
||||
.4byte 0x0a010100, 0x00010f0a
|
||||
|
||||
|
||||
12
include/battle_records.h
Normal file
12
include/battle_records.h
Normal file
@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_BATTLE_RECORDS_H
|
||||
#define GUARD_BATTLE_RECORDS_H
|
||||
|
||||
extern u8 gRecordsWindowId;
|
||||
|
||||
void ClearPlayerLinkBattleRecords(void);
|
||||
void UpdatePlayerLinkBattleRecords(s32 battlerId);
|
||||
void ShowLinkBattleRecords(void);
|
||||
void RemoveRecordsWindow(void);
|
||||
void ShowTrainerHillRecords(void);
|
||||
|
||||
#endif // GUARD_BATTLE_RECORDS_H
|
||||
@ -68,7 +68,7 @@ void UnsetBgTilemapBuffer(u8 bg);
|
||||
void* GetBgTilemapBuffer(u8 bg);
|
||||
void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
|
||||
void CopyBgTilemapBufferToVram(u8 bg);
|
||||
void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height);
|
||||
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
|
||||
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
|
||||
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
|
||||
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
|
||||
|
||||
@ -122,5 +122,6 @@
|
||||
#define DECOR_REGIROCK_DOLL 118
|
||||
#define DECOR_REGICE_DOLL 119
|
||||
#define DECOR_REGISTEEL_DOLL 120
|
||||
#define NUM_DECORATIONS DECOR_REGISTEEL_DOLL
|
||||
|
||||
#endif // GUARD_CONSTANTS_DECORATIONS_H
|
||||
|
||||
@ -108,6 +108,8 @@
|
||||
#define ITEM_064 100
|
||||
#define ITEM_065 101
|
||||
#define ITEM_066 102
|
||||
|
||||
// Unusable
|
||||
#define ITEM_TINY_MUSHROOM 103
|
||||
#define ITEM_BIG_MUSHROOM 104
|
||||
#define ITEM_069 105
|
||||
@ -126,6 +128,8 @@
|
||||
#define ITEM_076 118
|
||||
#define ITEM_077 119
|
||||
#define ITEM_078 120
|
||||
|
||||
// Mails
|
||||
#define ITEM_ORANGE_MAIL 121
|
||||
#define ITEM_HARBOR_MAIL 122
|
||||
#define ITEM_GLITTER_MAIL 123
|
||||
@ -138,6 +142,8 @@
|
||||
#define ITEM_DREAM_MAIL 130
|
||||
#define ITEM_FAB_MAIL 131
|
||||
#define ITEM_RETRO_MAIL 132
|
||||
|
||||
// Berries
|
||||
#define ITEM_CHERI_BERRY 133
|
||||
#define ITEM_CHESTO_BERRY 134
|
||||
#define ITEM_PECHA_BERRY 135
|
||||
@ -185,7 +191,7 @@
|
||||
#define ITEM_0B1 177
|
||||
#define ITEM_0B2 178
|
||||
|
||||
// hold items
|
||||
// Battle Held items
|
||||
#define ITEM_BRIGHT_POWDER 179
|
||||
#define ITEM_WHITE_HERB 180
|
||||
#define ITEM_MACHO_BRACE 181
|
||||
@ -261,6 +267,8 @@
|
||||
#define ITEM_0FB 251
|
||||
#define ITEM_0FC 252
|
||||
#define ITEM_0FD 253
|
||||
|
||||
// Contest held items
|
||||
#define ITEM_RED_SCARF 254
|
||||
#define ITEM_BLUE_SCARF 255
|
||||
#define ITEM_PINK_SCARF 256
|
||||
|
||||
414
include/data/item_icon_table.h
Normal file
414
include/data/item_icon_table.h
Normal file
@ -0,0 +1,414 @@
|
||||
#ifndef GUARD_DATA_ITEM_ICON_TABLE_H
|
||||
#define GUARD_DATA_ITEM_ICON_TABLE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "graphics.h"
|
||||
|
||||
const u8 * const gItemIconTable[][2] =
|
||||
{
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Pokeballs
|
||||
gItemIcon_MasterBall, gItemIconPalette_MasterBall,
|
||||
gItemIcon_UltraBall, gItemIconPalette_UltraBall,
|
||||
gItemIcon_GreatBall, gItemIconPalette_GreatBall,
|
||||
gItemIcon_PokeBall, gItemIconPalette_PokeBall,
|
||||
gItemIcon_SafariBall, gItemIconPalette_SafariBall,
|
||||
gItemIcon_NetBall, gItemIconPalette_NetBall,
|
||||
gItemIcon_DiveBall, gItemIconPalette_DiveBall,
|
||||
gItemIcon_NestBall, gItemIconPalette_NestBall,
|
||||
gItemIcon_RepeatBall, gItemIconPalette_RepeatBall,
|
||||
gItemIcon_TimerBall, gItemIconPalette_RepeatBall,
|
||||
gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall,
|
||||
gItemIcon_PremierBall, gItemIconPalette_LuxuryBall,
|
||||
// Medicine
|
||||
gItemIcon_Potion, gItemIconPalette_Potion,
|
||||
gItemIcon_Antidote, gItemIconPalette_Antidote,
|
||||
gItemIcon_StatusHeal, gItemIconPalette_BurnHeal,
|
||||
gItemIcon_StatusHeal, gItemIconPalette_IceHeal,
|
||||
gItemIcon_StatusHeal, gItemIconPalette_Awakening,
|
||||
gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal,
|
||||
gItemIcon_LargePotion, gItemIconPalette_FullRestore,
|
||||
gItemIcon_LargePotion, gItemIconPalette_MaxPotion,
|
||||
gItemIcon_Potion, gItemIconPalette_HyperPotion,
|
||||
gItemIcon_Potion, gItemIconPalette_SuperPotion,
|
||||
gItemIcon_FullHeal, gItemIconPalette_FullHeal,
|
||||
gItemIcon_Revive, gItemIconPalette_Revive,
|
||||
gItemIcon_MaxRevive, gItemIconPalette_Revive,
|
||||
gItemIcon_FreshWater, gItemIconPalette_FreshWater,
|
||||
gItemIcon_SodaPop, gItemIconPalette_SodaPop,
|
||||
gItemIcon_Lemonade, gItemIconPalette_Lemonade,
|
||||
gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk,
|
||||
gItemIcon_Powder, gItemIconPalette_EnergyPowder,
|
||||
gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot,
|
||||
gItemIcon_Powder, gItemIconPalette_HealPowder,
|
||||
gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb,
|
||||
gItemIcon_Ether, gItemIconPalette_Ether,
|
||||
gItemIcon_Ether, gItemIconPalette_MaxEther,
|
||||
gItemIcon_Ether, gItemIconPalette_Elixir,
|
||||
gItemIcon_Ether, gItemIconPalette_MaxElixir,
|
||||
gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter,
|
||||
gItemIcon_Flute, gItemIconPalette_BlueFlute,
|
||||
gItemIcon_Flute, gItemIconPalette_YellowFlute,
|
||||
gItemIcon_Flute, gItemIconPalette_RedFlute,
|
||||
gItemIcon_Flute, gItemIconPalette_BlackFlute,
|
||||
gItemIcon_Flute, gItemIconPalette_WhiteFlute,
|
||||
gItemIcon_BerryJuice, gItemIconPalette_BerryJuice,
|
||||
gItemIcon_SacredAsh, gItemIconPalette_SacredAsh,
|
||||
// Collectibles
|
||||
gItemIcon_Powder, gItemIconPalette_ShoalSalt,
|
||||
gItemIcon_ShoalShell, gItemIconPalette_Shell,
|
||||
gItemIcon_Shard, gItemIconPalette_RedShard,
|
||||
gItemIcon_Shard, gItemIconPalette_BlueShard,
|
||||
gItemIcon_Shard, gItemIconPalette_YellowShard,
|
||||
gItemIcon_Shard, gItemIconPalette_GreenShard,
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Vitamins
|
||||
gItemIcon_HPUp, gItemIconPalette_HPUp,
|
||||
gItemIcon_Vitamin, gItemIconPalette_Protein,
|
||||
gItemIcon_Vitamin, gItemIconPalette_Iron,
|
||||
gItemIcon_Vitamin, gItemIconPalette_Carbos,
|
||||
gItemIcon_Vitamin, gItemIconPalette_Calcium,
|
||||
gItemIcon_RareCandy, gItemIconPalette_RareCandy,
|
||||
gItemIcon_PPUp, gItemIconPalette_PPUp,
|
||||
gItemIcon_Vitamin, gItemIconPalette_Zinc,
|
||||
gItemIcon_PPMax, gItemIconPalette_PPMax,
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Battle items
|
||||
gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec,
|
||||
gItemIcon_BattleStatItem, gItemIconPalette_DireHit,
|
||||
gItemIcon_BattleStatItem, gItemIconPalette_XAttack,
|
||||
gItemIcon_BattleStatItem, gItemIconPalette_XDefend,
|
||||
gItemIcon_BattleStatItem, gItemIconPalette_XSpeed,
|
||||
gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy,
|
||||
gItemIcon_BattleStatItem, gItemIconPalette_XSpecial,
|
||||
gItemIcon_PokeDoll, gItemIconPalette_PokeDoll,
|
||||
gItemIcon_FluffyTail, gItemIconPalette_FluffyTail,
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Field items
|
||||
gItemIcon_Repel, gItemIconPalette_SuperRepel,
|
||||
gItemIcon_Repel, gItemIconPalette_MaxRepel,
|
||||
gItemIcon_EscapeRope, gItemIconPalette_EscapeRope,
|
||||
gItemIcon_Repel, gItemIconPalette_Repel,
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Evolution stones
|
||||
gItemIcon_SunStone, gItemIconPalette_SunStone,
|
||||
gItemIcon_MoonStone, gItemIconPalette_MoonStone,
|
||||
gItemIcon_FireStone, gItemIconPalette_FireStone,
|
||||
gItemIcon_ThunderStone, gItemIconPalette_ThunderStone,
|
||||
gItemIcon_WaterStone, gItemIconPalette_WaterStone,
|
||||
gItemIcon_LeafStone, gItemIconPalette_LeafStone,
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Valuables
|
||||
gItemIcon_TinyMushroom, gItemIconPalette_Mushroom,
|
||||
gItemIcon_BigMushroom, gItemIconPalette_Mushroom,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_Pearl, gItemIconPalette_Pearl,
|
||||
gItemIcon_BigPearl, gItemIconPalette_Pearl,
|
||||
gItemIcon_Stardust, gItemIconPalette_Star,
|
||||
gItemIcon_StarPiece, gItemIconPalette_Star,
|
||||
gItemIcon_Nugget, gItemIconPalette_Nugget,
|
||||
gItemIcon_HeartScale, gItemIconPalette_HeartScale,
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Mail
|
||||
gItemIcon_OrangeMail, gItemIconPalette_OrangeMail,
|
||||
gItemIcon_HarborMail, gItemIconPalette_HarborMail,
|
||||
gItemIcon_GlitterMail, gItemIconPalette_GlitterMail,
|
||||
gItemIcon_MechMail, gItemIconPalette_MechMail,
|
||||
gItemIcon_WoodMail, gItemIconPalette_WoodMail,
|
||||
gItemIcon_WaveMail, gItemIconPalette_WaveMail,
|
||||
gItemIcon_BeadMail, gItemIconPalette_BeadMail,
|
||||
gItemIcon_ShadowMail, gItemIconPalette_ShadowMail,
|
||||
gItemIcon_TropicMail, gItemIconPalette_TropicMail,
|
||||
gItemIcon_DreamMail, gItemIconPalette_DreamMail,
|
||||
gItemIcon_FabMail, gItemIconPalette_FabMail,
|
||||
gItemIcon_RetroMail, gItemIconPalette_RetroMail,
|
||||
// Berries
|
||||
gItemIcon_CheriBerry, gItemIconPalette_CheriBerry,
|
||||
gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry,
|
||||
gItemIcon_PechaBerry, gItemIconPalette_PechaBerry,
|
||||
gItemIcon_RawstBerry, gItemIconPalette_RawstBerry,
|
||||
gItemIcon_AspearBerry, gItemIconPalette_AspearBerry,
|
||||
gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry,
|
||||
gItemIcon_OranBerry, gItemIconPalette_OranBerry,
|
||||
gItemIcon_PersimBerry, gItemIconPalette_PersimBerry,
|
||||
gItemIcon_LumBerry, gItemIconPalette_LumBerry,
|
||||
gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry,
|
||||
gItemIcon_FigyBerry, gItemIconPalette_FigyBerry,
|
||||
gItemIcon_WikiBerry, gItemIconPalette_WikiBerry,
|
||||
gItemIcon_MagoBerry, gItemIconPalette_MagoBerry,
|
||||
gItemIcon_AguavBerry, gItemIconPalette_AguavBerry,
|
||||
gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry,
|
||||
gItemIcon_RazzBerry, gItemIconPalette_RazzBerry,
|
||||
gItemIcon_BlukBerry, gItemIconPalette_BlukBerry,
|
||||
gItemIcon_NanabBerry, gItemIconPalette_NanabBerry,
|
||||
gItemIcon_WepearBerry, gItemIconPalette_WepearBerry,
|
||||
gItemIcon_PinapBerry, gItemIconPalette_PinapBerry,
|
||||
gItemIcon_PomegBerry, gItemIconPalette_PomegBerry,
|
||||
gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry,
|
||||
gItemIcon_QualotBerry, gItemIconPalette_QualotBerry,
|
||||
gItemIcon_HondewBerry, gItemIconPalette_HondewBerry,
|
||||
gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry,
|
||||
gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry,
|
||||
gItemIcon_CornnBerry, gItemIconPalette_CornnBerry,
|
||||
gItemIcon_MagostBerry, gItemIconPalette_MagostBerry,
|
||||
gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry,
|
||||
gItemIcon_NomelBerry, gItemIconPalette_NomelBerry,
|
||||
gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry,
|
||||
gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry,
|
||||
gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry,
|
||||
gItemIcon_DurinBerry, gItemIconPalette_DurinBerry,
|
||||
gItemIcon_BelueBerry, gItemIconPalette_BelueBerry,
|
||||
gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry,
|
||||
gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry,
|
||||
gItemIcon_SalacBerry, gItemIconPalette_SalacBerry,
|
||||
gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry,
|
||||
gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry,
|
||||
gItemIcon_LansatBerry, gItemIconPalette_LansatBerry,
|
||||
gItemIcon_StarfBerry, gItemIconPalette_StarfBerry,
|
||||
gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry,
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Hold items
|
||||
gItemIcon_BrightPowder, gItemIconPalette_BrightPowder,
|
||||
gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb,
|
||||
gItemIcon_MachoBrace, gItemIconPalette_MachoBrace,
|
||||
gItemIcon_ExpShare, gItemIconPalette_ExpShare,
|
||||
gItemIcon_QuickClaw, gItemIconPalette_QuickClaw,
|
||||
gItemIcon_SootheBell, gItemIconPalette_SootheBell,
|
||||
gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb,
|
||||
gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand,
|
||||
gItemIcon_KingsRock, gItemIconPalette_KingsRock,
|
||||
gItemIcon_SilverPowder, gItemIconPalette_SilverPowder,
|
||||
gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin,
|
||||
gItemIcon_CleanseTag, gItemIconPalette_CleanseTag,
|
||||
gItemIcon_SoulDew, gItemIconPalette_SoulDew,
|
||||
gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth,
|
||||
gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale,
|
||||
gItemIcon_SmokeBall, gItemIconPalette_SmokeBall,
|
||||
gItemIcon_Everstone, gItemIconPalette_Everstone,
|
||||
gItemIcon_FocusBand, gItemIconPalette_FocusBand,
|
||||
gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg,
|
||||
gItemIcon_ScopeLens, gItemIconPalette_ScopeLens,
|
||||
gItemIcon_MetalCoat, gItemIconPalette_MetalCoat,
|
||||
gItemIcon_Leftovers, gItemIconPalette_Leftovers,
|
||||
gItemIcon_DragonScale, gItemIconPalette_DragonScale,
|
||||
gItemIcon_LightBall, gItemIconPalette_LightBall,
|
||||
gItemIcon_SoftSand, gItemIconPalette_SoftSand,
|
||||
gItemIcon_HardStone, gItemIconPalette_HardStone,
|
||||
gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed,
|
||||
gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem,
|
||||
gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem,
|
||||
gItemIcon_Magnet, gItemIconPalette_Magnet,
|
||||
gItemIcon_MysticWater, gItemIconPalette_MysticWater,
|
||||
gItemIcon_SharpBeak, gItemIconPalette_SharpBeak,
|
||||
gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb,
|
||||
gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce,
|
||||
gItemIcon_SpellTag, gItemIconPalette_SpellTag,
|
||||
gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon,
|
||||
gItemIcon_Charcoal, gItemIconPalette_Charcoal,
|
||||
gItemIcon_DragonFang, gItemIconPalette_DragonFang,
|
||||
gItemIcon_SilkScarf, gItemIconPalette_SilkScarf,
|
||||
gItemIcon_UpGrade, gItemIconPalette_UpGrade,
|
||||
gItemIcon_ShellBell, gItemIconPalette_Shell,
|
||||
gItemIcon_SeaIncense, gItemIconPalette_SeaIncense,
|
||||
gItemIcon_LaxIncense, gItemIconPalette_LaxIncense,
|
||||
gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch,
|
||||
gItemIcon_MetalPowder, gItemIconPalette_MetalPowder,
|
||||
gItemIcon_ThickClub, gItemIconPalette_ThickClub,
|
||||
gItemIcon_Stick, gItemIconPalette_Stick,
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// Contest hold items
|
||||
gItemIcon_Scarf, gItemIconPalette_RedScarf,
|
||||
gItemIcon_Scarf, gItemIconPalette_BlueScarf,
|
||||
gItemIcon_Scarf, gItemIconPalette_PinkScarf,
|
||||
gItemIcon_Scarf, gItemIconPalette_GreenScarf,
|
||||
gItemIcon_Scarf, gItemIconPalette_YellowScarf,
|
||||
// Key items
|
||||
gItemIcon_MachBike, gItemIconPalette_MachBike,
|
||||
gItemIcon_CoinCase, gItemIconPalette_CoinCase,
|
||||
gItemIcon_Itemfinder, gItemIconPalette_Itemfinder,
|
||||
gItemIcon_OldRod, gItemIconPalette_OldRod,
|
||||
gItemIcon_GoodRod, gItemIconPalette_GoodRod,
|
||||
gItemIcon_SuperRod, gItemIconPalette_SuperRod,
|
||||
gItemIcon_SSTicket, gItemIconPalette_SSTicket,
|
||||
gItemIcon_ContestPass, gItemIconPalette_ContestPass,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_WailmerPail, gItemIconPalette_WailmerPail,
|
||||
gItemIcon_DevonGoods, gItemIconPalette_DevonGoods,
|
||||
gItemIcon_SootSack, gItemIconPalette_SootSack,
|
||||
gItemIcon_BasementKey, gItemIconPalette_OldKey,
|
||||
gItemIcon_AcroBike, gItemIconPalette_AcroBike,
|
||||
gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase,
|
||||
gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter,
|
||||
gItemIcon_EonTicket, gItemIconPalette_EonTicket,
|
||||
gItemIcon_Orb, gItemIconPalette_RedOrb,
|
||||
gItemIcon_Orb, gItemIconPalette_BlueOrb,
|
||||
gItemIcon_Scanner, gItemIconPalette_Scanner,
|
||||
gItemIcon_GoGoggles, gItemIconPalette_GoGoggles,
|
||||
gItemIcon_Meteorite, gItemIconPalette_Meteorite,
|
||||
gItemIcon_Room1Key, gItemIconPalette_Key,
|
||||
gItemIcon_Room2Key, gItemIconPalette_Key,
|
||||
gItemIcon_Room4Key, gItemIconPalette_Key,
|
||||
gItemIcon_Room6Key, gItemIconPalette_Key,
|
||||
gItemIcon_StorageKey, gItemIconPalette_OldKey,
|
||||
gItemIcon_RootFossil, gItemIconPalette_HoennFossil,
|
||||
gItemIcon_ClawFossil, gItemIconPalette_HoennFossil,
|
||||
gItemIcon_DevonScope, gItemIconPalette_DevonScope,
|
||||
// TMs/HMs
|
||||
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM01
|
||||
gItemIcon_TM, gItemIconPalette_DragonTMHM, // TM02
|
||||
gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM03
|
||||
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM04
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM05
|
||||
gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM06
|
||||
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM07
|
||||
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM08
|
||||
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM09
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM10
|
||||
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM11
|
||||
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM12
|
||||
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM13
|
||||
gItemIcon_TM, gItemIconPalette_IceTMHM, // TM14
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM15
|
||||
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM16
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM17
|
||||
gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM18
|
||||
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM19
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM20
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM21
|
||||
gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM22
|
||||
gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM23
|
||||
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM24
|
||||
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM25
|
||||
gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM26
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM27
|
||||
gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM28
|
||||
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM29
|
||||
gItemIcon_TM, gItemIconPalette_GhostTMHM, // TM30
|
||||
gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM31
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM32
|
||||
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM33
|
||||
gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM34
|
||||
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM35
|
||||
gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM36
|
||||
gItemIcon_TM, gItemIconPalette_RockTMHM, // TM37
|
||||
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM38
|
||||
gItemIcon_TM, gItemIconPalette_RockTMHM, // TM39
|
||||
gItemIcon_TM, gItemIconPalette_FlyingTMHM, // TM40
|
||||
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM41
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM42
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM43
|
||||
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM44
|
||||
gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM45
|
||||
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM46
|
||||
gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM47
|
||||
gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM48
|
||||
gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM49
|
||||
gItemIcon_TM, gItemIconPalette_FireTMHM, // TM50
|
||||
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM01
|
||||
gItemIcon_HM, gItemIconPalette_FlyingTMHM, // HM02
|
||||
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM03
|
||||
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM04
|
||||
gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM05
|
||||
gItemIcon_HM, gItemIconPalette_FightingTMHM, // HM06
|
||||
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM07
|
||||
gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM08
|
||||
// ????????
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
|
||||
// FireRed/LeafGreen key items
|
||||
gItemIcon_OaksParcel, gItemIconPalette_OaksParcel,
|
||||
gItemIcon_PokeFlute, gItemIconPalette_PokeFlute,
|
||||
gItemIcon_SecretKey, gItemIconPalette_SecretKey,
|
||||
gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher,
|
||||
gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth,
|
||||
gItemIcon_OldAmber, gItemIconPalette_OldAmber,
|
||||
gItemIcon_CardKey, gItemIconPalette_CardKey,
|
||||
gItemIcon_LiftKey, gItemIconPalette_Key,
|
||||
gItemIcon_HelixFossil, gItemIconPalette_KantoFossil,
|
||||
gItemIcon_DomeFossil, gItemIconPalette_KantoFossil,
|
||||
gItemIcon_SilphScope, gItemIconPalette_SilphScope,
|
||||
gItemIcon_Bicycle, gItemIconPalette_Bicycle,
|
||||
gItemIcon_TownMap, gItemIconPalette_TownMap,
|
||||
gItemIcon_VSSeeker, gItemIconPalette_VSSeeker,
|
||||
gItemIcon_FameChecker, gItemIconPalette_FameChecker,
|
||||
gItemIcon_TMCase, gItemIconPalette_TMCase,
|
||||
gItemIcon_BerryPouch, gItemIconPalette_BerryPouch,
|
||||
gItemIcon_TeachyTV, gItemIconPalette_TeachyTV,
|
||||
gItemIcon_TriPass, gItemIconPalette_TriPass,
|
||||
gItemIcon_RainbowPass, gItemIconPalette_RainbowPass,
|
||||
gItemIcon_Tea, gItemIconPalette_Tea,
|
||||
gItemIcon_MysticTicket, gItemIconPalette_MysticTicket,
|
||||
gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket,
|
||||
gItemIcon_PowderJar, gItemIconPalette_PowderJar,
|
||||
gItemIcon_Gem, gItemIconPalette_Ruby,
|
||||
gItemIcon_Gem, gItemIconPalette_Sapphire,
|
||||
// Emerald-only key items
|
||||
gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem,
|
||||
gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap,
|
||||
// Return to field arrow
|
||||
gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow,
|
||||
};
|
||||
#endif // GUARD_DATA_ITEM_ICON_TABLE_H
|
||||
6079
include/data/items.h
Normal file
6079
include/data/items.h
Normal file
File diff suppressed because it is too large
Load Diff
329
include/data/text/item_descriptions.h
Normal file
329
include/data/text/item_descriptions.h
Normal file
@ -0,0 +1,329 @@
|
||||
#ifndef POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
|
||||
#define POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
|
||||
const u8 gDummyItemDescription[] = _("?????");
|
||||
//Pokeballs
|
||||
const u8 gMasterBallItemDescription[] = _("The best BALL that\ncatches a POKéMON\nwithout fail.");
|
||||
const u8 gUltraBallItemDescription[] = _("A better BALL with\na higher catch rate\nthan a GREAT BALL.");
|
||||
const u8 gGreatBallItemDescription[] = _("A good BALL with a\nhigher catch rate\nthan a POKé BALL.");
|
||||
const u8 gPokeBallItemDescription[] = _("A tool used for\ncatching wild\nPOKéMON.");
|
||||
const u8 gSafariBallItemDescription[] = _("A special BALL that\nis used only in the\nSAFARI ZONE.");
|
||||
const u8 gNetBallItemDescription[] = _("A BALL that works\nwell on WATER- and\nBUG-type POKéMON.");
|
||||
const u8 gDiveBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\non the ocean floor.");
|
||||
const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON.");
|
||||
const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\ncaught before.");
|
||||
const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns.");
|
||||
const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly.");
|
||||
const u8 gPremierBallItemDescription[] = _("A rare BALL made\nin commemoration\nof some event.");
|
||||
//Medicine
|
||||
const u8 gPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n20 points.");
|
||||
const u8 gAntidoteItemDescription[] = _("Heals a poisoned\nPOKéMON.");
|
||||
const u8 gBurnHealItemDescription[] = _("Heals POKéMON\nof a burn.");
|
||||
const u8 gIceHealItemDescription[] = _("Defrosts a frozen\nPOKéMON.");
|
||||
const u8 gAwakeningItemDescription[] = _("Awakens a sleeping\nPOKéMON.");
|
||||
const u8 gParalyzeHealItemDescription[] = _("Heals a paralyzed\nPOKéMON.");
|
||||
const u8 gFullRestoreItemDescription[] = _("Fully restores the\nHP and status of a\nPOKéMON.");
|
||||
const u8 gMaxPotionItemDescription[] = _("Fully restores the\nHP of a POKéMON.");
|
||||
const u8 gHyperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n200 points.");
|
||||
const u8 gSuperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n50 points.");
|
||||
const u8 gFullHealItemDescription[] = _("Heals all the\nstatus problems of\none POKéMON.");
|
||||
const u8 gReviveItemDescription[] = _("Revives a fainted\nPOKéMON with half\nits HP.");
|
||||
const u8 gMaxReviveItemDescription[] = _("Revives a fainted\nPOKéMON with all\nits HP.");
|
||||
const u8 gFreshWaterItemDescription[] = _("A mineral water\nthat restores HP\nby 50 points.");
|
||||
const u8 gSodaPopItemDescription[] = _("A fizzy soda drink\nthat restores HP\nby 60 points.");
|
||||
const u8 gLemonadeItemDescription[] = _("A very sweet drink\nthat restores HP\nby 80 points.");
|
||||
const u8 gMoomooMilkItemDescription[] = _("A nutritious milk\nthat restores HP\nby 100 points.");
|
||||
const u8 gEnergyPowderItemDescription[] = _("A bitter powder\nthat restores HP\nby 50 points.");
|
||||
const u8 gEnergyRootItemDescription[] = _("A bitter root\nthat restores HP\nby 200 points.");
|
||||
const u8 gHealPowderItemDescription[] = _("A bitter powder\nthat heals all\nstatus problems.");
|
||||
const u8 gRevivalHerbItemDescription[] = _("A very bitter herb\nthat revives a\nfainted POKéMON.");
|
||||
const u8 gEtherItemDescription[] = _("Restores the PP\nof a selected move\nby 10.");
|
||||
const u8 gMaxEtherItemDescription[] = _("Fully restores the\nPP of a selected\nmove.");
|
||||
const u8 gElixirItemDescription[] = _("Restores the PP\nof all moves by 10.");
|
||||
const u8 gMaxElixirItemDescription[] = _("Fully restores the\nPP of a POKéMON’s\nmoves.");
|
||||
const u8 gLavaCookieItemDescription[] = _("A local specialty\nthat heals all\nstatus problems.");
|
||||
const u8 gBlueFluteItemDescription[] = _("A glass flute that\nawakens sleeping\nPOKéMON.");
|
||||
const u8 gYellowFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of confusion.");
|
||||
const u8 gRedFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of attraction.");
|
||||
const u8 gBlackFluteItemDescription[] = _("A glass flute that\nkeeps away wild\nPOKéMON.");
|
||||
const u8 gWhiteFluteItemDescription[] = _("A glass flute that\nlures wild POKéMON.");
|
||||
const u8 gBerryJuiceItemDescription[] = _("A 100% pure juice\nthat restores HP\nby 20 points.");
|
||||
const u8 gSacredAshItemDescription[] = _("Fully revives and\nrestores all\nfainted POKéMON.");
|
||||
//Collectibles
|
||||
const u8 gShoalSaltItemDescription[] = _("Salt obtained from\ndeep inside the\nSHOAL CAVE.");
|
||||
const u8 gShoalShellItemDescription[] = _("A seashell found\ndeep inside the\nSHOAL CAVE.");
|
||||
const u8 gRedShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
|
||||
const u8 gBlueShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
|
||||
const u8 gYellowShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
|
||||
const u8 gGreenShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
|
||||
//Vitamins
|
||||
const u8 gHPUpItemDescription[] = _("Raises the base HP\nof one POKéMON.");
|
||||
const u8 gProteinItemDescription[] = _("Raises the base\nATTACK stat of one\nPOKéMON.");
|
||||
const u8 gIronItemDescription[] = _("Raises the base\nDEFENSE stat of\none POKéMON.");
|
||||
const u8 gCarbosItemDescription[] = _("Raises the base\nSPEED stat of one\nPOKéMON.");
|
||||
const u8 gCalciumItemDescription[] = _("Raises the base\nSP. ATK stat of one\nPOKéMON.");
|
||||
const u8 gRareCandyItemDescription[] = _("Raises the level\nof a POKéMON by\none.");
|
||||
const u8 gPPUpItemDescription[] = _("Raises the maximum\nPP of a selected\nmove.");
|
||||
const u8 gZincItemDescription[] = _("Raises the base\nSP. DEF stat of one\nPOKéMON.");
|
||||
const u8 gPPMaxItemDescription[] = _("Raises the PP of a\nmove to its maximum\npoints.");
|
||||
//Battle items
|
||||
const u8 gGuardSpecItemDescription[] = _("Prevents stat\nreduction when\nused in battle.");
|
||||
const u8 gDireHitItemDescription[] = _("Raises the\ncritical-hit ratio\nduring one battle.");
|
||||
const u8 gXAttackItemDescription[] = _("Raises the stat\nATTACK during one\nbattle.");
|
||||
const u8 gXDefendItemDescription[] = _("Raises the stat\nDEFENSE during one\nbattle.");
|
||||
const u8 gXSpeedItemDescription[] = _("Raises the stat\nSPEED during one\nbattle.");
|
||||
const u8 gXAccuracyItemDescription[] = _("Raises accuracy\nof attack moves\nduring one battle.");
|
||||
const u8 gXSpecialItemDescription[] = _("Raises the stat\nSP. ATK during one\nbattle.");
|
||||
const u8 gPokeDollItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
|
||||
const u8 gFluffyTailItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
|
||||
//Field items
|
||||
const u8 gSuperRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 200\nsteps.");
|
||||
const u8 gMaxRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 250\nsteps.");
|
||||
const u8 gEscapeRopeItemDescription[] = _("Use to escape\ninstantly from a\ncave or a dungeon.");
|
||||
const u8 gRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 100\nsteps.");
|
||||
//Evolution stones
|
||||
const u8 gSunStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
|
||||
const u8 gMoonStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
|
||||
const u8 gFireStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
|
||||
const u8 gThunderStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
|
||||
const u8 gWaterStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
|
||||
const u8 gLeafStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
|
||||
//Valuable items
|
||||
const u8 gTinyMushroomItemDescription[] = _("A plain mushroom\nthat would sell\nat a cheap price.");
|
||||
const u8 gBigMushroomItemDescription[] = _("A rare mushroom\nthat would sell at a\nhigh price.");
|
||||
const u8 gPearlItemDescription[] = _("A pretty pearl\nthat would sell at a\ncheap price.");
|
||||
const u8 gBigPearlItemDescription[] = _("A lovely large pearl\nthat would sell at a\nhigh price.");
|
||||
const u8 gStardustItemDescription[] = _("Beautiful red sand.\nCan be sold at a\nhigh price.");
|
||||
const u8 gStarPieceItemDescription[] = _("A red gem shard.\nIt would sell for a\nvery high price.");
|
||||
const u8 gNuggetItemDescription[] = _("A nugget of pure\ngold. Can be sold at\na high price.");
|
||||
const u8 gHeartScaleItemDescription[] = _("A lovely scale.\nIt is coveted by\ncollectors.");
|
||||
//Mail
|
||||
const u8 gOrangeMailItemDescription[] = _("A ZIGZAGOON-print\nMAIL to be held by\na POKéMON.");
|
||||
const u8 gHarborMailItemDescription[] = _("A WINGULL-print\nMAIL to be held by\na POKéMON.");
|
||||
const u8 gGlitterMailItemDescription[] = _("A PIKACHU-print\nMAIL to be held by\na POKéMON.");
|
||||
const u8 gMechMailItemDescription[] = _("A MAGNEMITE-print\nMAIL to be held by\na POKéMON.");
|
||||
const u8 gWoodMailItemDescription[] = _("A SLAKOTH-print\nMAIL to be held by\na POKéMON.");
|
||||
const u8 gWaveMailItemDescription[] = _("A WAILMER-print\nMAIL to be held by\na POKéMON.");
|
||||
const u8 gBeadMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON.");
|
||||
const u8 gShadowMailItemDescription[] = _("A DUSKULL-print\nMAIL to be held by\na POKéMON.");
|
||||
const u8 gTropicMailItemDescription[] = _("A BELLOSSOM-print\nMAIL to be held by\na POKéMON.");
|
||||
const u8 gDreamMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON.");
|
||||
const u8 gFabMailItemDescription[] = _("A gorgeous-print\nMAIL to be held\nby a POKéMON.");
|
||||
const u8 gRetroMailItemDescription[] = _("MAIL featuring the\ndrawings of three\nPOKéMON.");
|
||||
//Berries
|
||||
const u8 gCheriBerryItemDescription[] = _("A hold item that\nheals paralysis\nin battle.");
|
||||
const u8 gChestoBerryItemDescription[] = _("A hold item that\nawakens POKéMON\nin battle.");
|
||||
const u8 gPechaBerryItemDescription[] = _("A hold item that\nheals poisoning\nin battle.");
|
||||
const u8 gRawstBerryItemDescription[] = _("A hold item that\nheals a burn in\nbattle.");
|
||||
const u8 gAspearBerryItemDescription[] = _("A hold item that\ndefrosts POKéMON\nin battle.");
|
||||
const u8 gLeppaBerryItemDescription[] = _("A hold item that\nrestores 10 PP in\nbattle.");
|
||||
const u8 gOranBerryItemDescription[] = _("A hold item that\nrestores 10 HP in\nbattle.");
|
||||
const u8 gPersimBerryItemDescription[] = _("A hold item that\nheals confusion\nin battle.");
|
||||
const u8 gLumBerryItemDescription[] = _("A hold item that\nheals any status\nproblem in battle.");
|
||||
const u8 gSitrusBerryItemDescription[] = _("A hold item that\nrestores 30 HP in\nbattle.");
|
||||
const u8 gFigyBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
|
||||
const u8 gWikiBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
|
||||
const u8 gMagoBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
|
||||
const u8 gAguavBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
|
||||
const u8 gIapapaBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse.");
|
||||
const u8 gRazzBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RAZZ.");
|
||||
const u8 gBlukBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BLUK.");
|
||||
const u8 gNanabBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NANAB.");
|
||||
const u8 gWepearBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WEPEAR.");
|
||||
const u8 gPinapBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PINAP.");
|
||||
const u8 gPomegBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase HP.");
|
||||
const u8 gKelpsyBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase ATTACK.");
|
||||
const u8 gQualotBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase DEFENSE.");
|
||||
const u8 gHondewBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. ATK.");
|
||||
const u8 gGrepaBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. DEF.");
|
||||
const u8 gTamatoBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SPEED.");
|
||||
const u8 gCornnBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow CORNN.");
|
||||
const u8 gMagostBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow MAGOST.");
|
||||
const u8 gRabutaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RABUTA.");
|
||||
const u8 gNomelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NOMEL.");
|
||||
const u8 gSpelonBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow SPELON.");
|
||||
const u8 gPamtreBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PAMTRE.");
|
||||
const u8 gWatmelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WATMEL.");
|
||||
const u8 gDurinBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow DURIN.");
|
||||
const u8 gBelueBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BELUE.");
|
||||
const u8 gLiechiBerryItemDescription[] = _("A hold item that\nraises ATTACK in\na pinch.");
|
||||
const u8 gGanlonBerryItemDescription[] = _("A hold item that\nraises DEFENSE in\na pinch.");
|
||||
const u8 gSalacBerryItemDescription[] = _("A hold item that\nraises SPEED in\na pinch.");
|
||||
const u8 gPetayaBerryItemDescription[] = _("A hold item that\nraises SP. ATK in\na pinch.");
|
||||
const u8 gApicotBerryItemDescription[] = _("A hold item that\nraises SP. DEF in\na pinch.");
|
||||
const u8 gLansatBerryItemDescription[] = _("A hold item that\nups the critical-\nhit rate in a pinch.");
|
||||
const u8 gStarfBerryItemDescription[] = _("A hold item that\nsharply boosts a\nstat in a pinch.");
|
||||
const u8 gEnigmaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery.");
|
||||
//Hold items
|
||||
const u8 gBrightPowderItemDescription[] = _("A hold item that\ncasts a glare to\nreduce accuracy.");
|
||||
const u8 gWhiteHerbItemDescription[] = _("A hold item that\nrestores any\nlowered stat.");
|
||||
const u8 gMachoBraceItemDescription[] = _("A hold item that\npromotes growth,\nbut reduces SPEED.");
|
||||
const u8 gExpShareItemDescription[] = _("A hold item that\ngets EXP. points\nfrom battles.");
|
||||
const u8 gQuickClawItemDescription[] = _("A hold item that\noccasionally allows\nthe first strike.");
|
||||
const u8 gSootheBellItemDescription[] = _("A hold item that\ncalms spirits and\nfosters friendship.");
|
||||
const u8 gMentalHerbItemDescription[] = _("A hold item that\nsnaps POKéMON out\nof infatuation.");
|
||||
const u8 gChoiceBandItemDescription[] = _("Raises a move’s\npower, but permits\nonly that move.");
|
||||
const u8 gKingsRockItemDescription[] = _("A hold item that\nmay cause flinching\nwhen the foe is hit.");
|
||||
const u8 gSilverPowderItemDescription[] = _("A hold item that\nraises the power of\nBUG-type moves.");
|
||||
const u8 gAmuletCoinItemDescription[] = _("Doubles money in\nbattle if the\nholder takes part.");
|
||||
const u8 gCleanseTagItemDescription[] = _("A hold item that\nhelps repel wild\nPOKéMON.");
|
||||
const u8 gSoulDewItemDescription[] = _("Hold item: raises\nSP. ATK & SP. DEF of\nLATIOS & LATIAS.");
|
||||
const u8 gDeepSeaToothItemDescription[] = _("A hold item that\nraises the SP. ATK\nof CLAMPERL.");
|
||||
const u8 gDeepSeaScaleItemDescription[] = _("A hold item that\nraises the SP. DEF\nof CLAMPERL.");
|
||||
const u8 gSmokeBallItemDescription[] = _("A hold item that\nassures fleeing\nfrom wild POKéMON.");
|
||||
const u8 gEverstoneItemDescription[] = _("A wondrous hold\nitem that prevents\nevolution.");
|
||||
const u8 gFocusBandItemDescription[] = _("A hold item that\noccasionally\nprevents fainting.");
|
||||
const u8 gLuckyEggItemDescription[] = _("A hold item that\nboosts EXP. points\nearned in battle.");
|
||||
const u8 gScopeLensItemDescription[] = _("A hold item that\nimproves the\ncritical-hit rate.");
|
||||
const u8 gMetalCoatItemDescription[] = _("A hold item that\nraises the power of\nSTEEL-type moves.");
|
||||
const u8 gLeftoversItemDescription[] = _("A hold item that\ngradually restores\nHP in battle.");
|
||||
const u8 gDragonScaleItemDescription[] = _("A strange scale\nheld by DRAGON-\ntype POKéMON.");
|
||||
const u8 gLightBallItemDescription[] = _("A hold item that\nraises the SP. ATK\nof PIKACHU.");
|
||||
const u8 gSoftSandItemDescription[] = _("A hold item that\nraises the power of\nGROUND-type moves.");
|
||||
const u8 gHardStoneItemDescription[] = _("A hold item that\nraises the power of\nROCK-type moves.");
|
||||
const u8 gMiracleSeedItemDescription[] = _("A hold item that\nraises the power of\nGRASS-type moves.");
|
||||
const u8 gBlackGlassesItemDescription[] = _("A hold item that\nraises the power of\nDARK-type moves.");
|
||||
const u8 gBlackBeltItemDescription[] = _("A hold item that\nboosts FIGHTING-\ntype moves.");
|
||||
const u8 gMagnetItemDescription[] = _("A hold item that\nboosts ELECTRIC-\ntype moves.");
|
||||
const u8 gMysticWaterItemDescription[] = _("A hold item that\nraises the power of\nWATER-type moves.");
|
||||
const u8 gSharpBeakItemDescription[] = _("A hold item that\nraises the power of\nFLYING-type moves.");
|
||||
const u8 gPoisonBarbItemDescription[] = _("A hold item that\nraises the power of\nPOISON-type moves.");
|
||||
const u8 gNeverMeltIceItemDescription[] = _("A hold item that\nraises the power of\nICE-type moves.");
|
||||
const u8 gSpellTagItemDescription[] = _("A hold item that\nraises the power of\nGHOST-type moves.");
|
||||
const u8 gTwistedSpoonItemDescription[] = _("A hold item that\nboosts PSYCHIC-\ntype moves.");
|
||||
const u8 gCharcoalItemDescription[] = _("A hold item that\nraises the power of\nFIRE-type moves.");
|
||||
const u8 gDragonFangItemDescription[] = _("A hold item that\nraises the power of\nDRAGON-type moves.");
|
||||
const u8 gSilkScarfItemDescription[] = _("A hold item that\nraises the power of\nNORMAL-type moves.");
|
||||
const u8 gUpGradeItemDescription[] = _("A peculiar box made\nby SILPH CO.");
|
||||
const u8 gShellBellItemDescription[] = _("A hold item that\nrestores HP upon\nstriking the foe.");
|
||||
const u8 gSeaIncenseItemDescription[] = _("A hold item that\nslightly boosts\nWATER-type moves.");
|
||||
const u8 gLaxIncenseItemDescription[] = _("A hold item that\nslightly lowers the\nfoe’s accuracy.");
|
||||
const u8 gLuckyPunchItemDescription[] = _("A hold item that\nraises CHANSEY’s\ncritical-hit rate.");
|
||||
const u8 gMetalPowderItemDescription[] = _("A hold item that\nraises DITTO’s\nDEFENSE.");
|
||||
const u8 gThickClubItemDescription[] = _("A hold item that \nraises CUBONE or\nMAROWAK’s ATTACK.");
|
||||
const u8 gStickItemDescription[] = _("A hold item that\nraises FARFETCH’D’s\ncritical-hit ratio.");
|
||||
const u8 gRedScarfItemDescription[] = _("A hold item that\nraises COOL in\nCONTESTS.");
|
||||
const u8 gBlueScarfItemDescription[] = _("A hold item that\nraises BEAUTY in\nCONTESTS.");
|
||||
const u8 gPinkScarfItemDescription[] = _("A hold item that\nraises CUTE in\nCONTESTS.");
|
||||
const u8 gGreenScarfItemDescription[] = _("A hold item that\nraises SMART in\nCONTESTS.");
|
||||
const u8 gYellowScarfItemDescription[] = _("A hold item that\nraises TOUGH in\nCONTESTS.");
|
||||
//Key items
|
||||
const u8 gMachBikeItemDescription[] = _("A folding bicycle\nthat doubles your\nspeed or better.");
|
||||
const u8 gCoinCaseItemDescription[] = _("A case that holds\nup to 9,999 COINS.");
|
||||
const u8 gItemfinderItemDescription[] = _("A device that\nsignals an invisible\nitem by sound.");
|
||||
const u8 gOldRodItemDescription[] = _("Use by any body of\nwater to fish for\nwild POKéMON.");
|
||||
const u8 gGoodRodItemDescription[] = _("A decent fishing\nrod for catching\nwild POKéMON.");
|
||||
const u8 gSuperRodItemDescription[] = _("The best fishing\nrod for catching\nwild POKéMON.");
|
||||
const u8 gSSTicketItemDescription[] = _("The ticket required\nfor sailing on a\nferry.");
|
||||
const u8 gContestPassItemDescription[] = _("The pass required\nfor entering\nPOKéMON CONTESTS.");
|
||||
const u8 gWailmerPailItemDescription[] = _("A tool used for\nwatering BERRIES\nand plants.");
|
||||
const u8 gDevonGoodsItemDescription[] = _("A package that\ncontains DEVON’s\nmachine parts.");
|
||||
const u8 gSootSackItemDescription[] = _("A sack used to\ngather and hold\nvolcanic ash.");
|
||||
const u8 gBasementKeyItemDescription[] = _("The key for NEW\nMAUVILLE beneath\nMAUVILLE CITY.");
|
||||
const u8 gAcroBikeItemDescription[] = _("A folding bicycle\ncapable of jumps\nand wheelies.");
|
||||
const u8 gPokeblockCaseItemDescription[] = _("A case for holding\n{POKEBLOCK}S made with\na BERRY BLENDER.");
|
||||
const u8 gLetterItemDescription[] = _("A letter to STEVEN\nfrom the PRESIDENT\nof the DEVON CORP.");
|
||||
const u8 gEonTicketItemDescription[] = _("The ticket for a\nferry to a distant\nsouthern island.");
|
||||
const u8 gRedOrbItemDescription[] = _("A red, glowing orb\nsaid to contain an\nancient power.");
|
||||
const u8 gBlueOrbItemDescription[] = _("A blue, glowing orb\nsaid to contain an\nancient power.");
|
||||
const u8 gScannerItemDescription[] = _("A device found\ninside the\nABANDONED SHIP.");
|
||||
const u8 gGoGogglesItemDescription[] = _("Nifty goggles that\nprotect eyes from\ndesert sandstorms.");
|
||||
const u8 gMeteoriteItemDescription[] = _("A meteorite found\nat METEOR FALLS.");
|
||||
const u8 gRoom1KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
|
||||
const u8 gRoom2KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
|
||||
const u8 gRoom4KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
|
||||
const u8 gRoom6KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP.");
|
||||
const u8 gStorageKeyItemDescription[] = _("The key to the\nstorage inside the\nABANDONED SHIP.");
|
||||
const u8 gRootFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
|
||||
const u8 gClawFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
|
||||
const u8 gDevonScopeItemDescription[] = _("A device by DEVON\nthat signals any\nunseeable POKéMON.");
|
||||
//TMs/HMs
|
||||
const u8 gTM01ItemDescription[] = _("Powerful, but makes\nthe user flinch if\nhit by the foe.");
|
||||
const u8 gTM02ItemDescription[] = _("Hooks and slashes\nthe foe with long,\nsharp claws.");
|
||||
const u8 gTM03ItemDescription[] = _("Generates an\nultrasonic wave\nthat may confuse.");
|
||||
const u8 gTM04ItemDescription[] = _("Raises SP. ATK and\nSP. DEF by focusing\nthe mind.");
|
||||
const u8 gTM05ItemDescription[] = _("A savage roar that\nmakes the foe flee \nto end the battle.");
|
||||
const u8 gTM06ItemDescription[] = _("Poisons the foe\nwith a toxin that\ngradually worsens.");
|
||||
const u8 gTM07ItemDescription[] = _("Creates a hailstorm\nthat damages all\ntypes except ICE.");
|
||||
const u8 gTM08ItemDescription[] = _("Bulks up the body\nto boost both\nATTACK & DEFENSE.");
|
||||
const u8 gTM09ItemDescription[] = _("Shoots 2 to 5 seeds\nin a row to strike\nthe foe.");
|
||||
const u8 gTM10ItemDescription[] = _("The attack power\nvaries among\ndifferent POKéMON.");
|
||||
const u8 gTM11ItemDescription[] = _("Raises the power of\nFIRE-type moves\nfor 5 turns.");
|
||||
const u8 gTM12ItemDescription[] = _("Enrages the foe so\nit can only use\nattack moves.");
|
||||
const u8 gTM13ItemDescription[] = _("Fires an icy cold\nbeam that may\nfreeze the foe.");
|
||||
const u8 gTM14ItemDescription[] = _("A brutal snow-and-\nwind attack that\nmay freeze the foe.");
|
||||
const u8 gTM15ItemDescription[] = _("Powerful, but needs\nrecharging the\nnext turn.");
|
||||
const u8 gTM16ItemDescription[] = _("Creates a wall of\nlight that lowers\nSP. ATK damage.");
|
||||
const u8 gTM17ItemDescription[] = _("Negates all damage,\nbut may fail if used\nin succession.");
|
||||
const u8 gTM18ItemDescription[] = _("Raises the power of\nWATER-type moves\nfor 5 turns.");
|
||||
const u8 gTM19ItemDescription[] = _("Recovers half the\nHP of the damage \nthis move inflicts.");
|
||||
const u8 gTM20ItemDescription[] = _("Prevents status\nabnormality with a\nmystical power.");
|
||||
const u8 gTM21ItemDescription[] = _("The less the user\nlikes you, the more\npowerful this move.");
|
||||
const u8 gTM22ItemDescription[] = _("Absorbs sunlight in\nthe 1st turn, then\nattacks next turn.");
|
||||
const u8 gTM23ItemDescription[] = _("Slams the foe with\na hard tail. It may\nlower DEFENSE.");
|
||||
const u8 gTM24ItemDescription[] = _("A powerful electric\nattack that may\ncause paralysis.");
|
||||
const u8 gTM25ItemDescription[] = _("Strikes the foe\nwith a thunderbolt.\nIt may paralyze.");
|
||||
const u8 gTM26ItemDescription[] = _("Causes a quake\nthat has no effect\non flying foes.");
|
||||
const u8 gTM27ItemDescription[] = _("The more the user\nlikes you, the more\npowerful this move.");
|
||||
const u8 gTM28ItemDescription[] = _("Digs underground\nthe 1st turn, then\nstrikes next turn.");
|
||||
const u8 gTM29ItemDescription[] = _("A powerful psychic\nattack that may\nlower SP. DEF.");
|
||||
const u8 gTM30ItemDescription[] = _("Hurls a dark lump\nat the foe. It may\nlower SP. DEF.");
|
||||
const u8 gTM31ItemDescription[] = _("Destroys barriers\nlike LIGHT SCREEN\nand causes damage.");
|
||||
const u8 gTM32ItemDescription[] = _("Creates illusory\ncopies to enhance\nelusiveness.");
|
||||
const u8 gTM33ItemDescription[] = _("Creates a wall of\nlight that weakens\nphysical attacks.");
|
||||
const u8 gTM34ItemDescription[] = _("Zaps the foe with a\njolt of electricity\nthat never misses.");
|
||||
const u8 gTM35ItemDescription[] = _("Looses a stream of\nfire that may burn\nthe foe.");
|
||||
const u8 gTM36ItemDescription[] = _("Hurls sludge at the\nfoe. It may poison\nthe foe.");
|
||||
const u8 gTM37ItemDescription[] = _("Causes a sandstorm\nthat hits the foe\nover several turns.");
|
||||
const u8 gTM38ItemDescription[] = _("A powerful fire\nattack that may\nburn the foe.");
|
||||
const u8 gTM39ItemDescription[] = _("Stops the foe from\nmoving with rocks.\nMay lower SPEED.");
|
||||
const u8 gTM40ItemDescription[] = _("An extremely fast\nattack that can’t\nbe avoided.");
|
||||
const u8 gTM41ItemDescription[] = _("Prevents the foe\nfrom using the same\nmove in a row.");
|
||||
const u8 gTM42ItemDescription[] = _("Raises ATTACK when\npoisoned, burned,\nor paralyzed.");
|
||||
const u8 gTM43ItemDescription[] = _("Adds an effect to\nattack depending\non the location.");
|
||||
const u8 gTM44ItemDescription[] = _("The user sleeps for\n2 turns to restore\nhealth and status.");
|
||||
const u8 gTM45ItemDescription[] = _("Makes it tough to\nattack a foe of the\nopposite gender.");
|
||||
const u8 gTM46ItemDescription[] = _("While attacking,\nit may steal the\nfoe’s held item.");
|
||||
const u8 gTM47ItemDescription[] = _("Spreads hard-\nedged wings and\nslams into the foe.");
|
||||
const u8 gTM48ItemDescription[] = _("Switches abilities\nwith the foe on the\nturn this is used.");
|
||||
const u8 gTM49ItemDescription[] = _("Steals the effects\nof the move the foe\nis trying to use.");
|
||||
const u8 gTM50ItemDescription[] = _("Enables full-power\nattack, but sharply\nlowers SP. ATK.");
|
||||
|
||||
const u8 gHM01ItemDescription[] = _("Attacks the foe\nwith sharp blades\nor claws.");
|
||||
const u8 gHM02ItemDescription[] = _("Flies up on the\nfirst turn, then\nattacks next turn.");
|
||||
const u8 gHM03ItemDescription[] = _("Creates a huge\nwave, then crashes\nit down on the foe.");
|
||||
const u8 gHM04ItemDescription[] = _("Builds enormous\npower, then slams\nthe foe.");
|
||||
const u8 gHM05ItemDescription[] = _("Looses a powerful\nblast of light that\nreduces accuracy.");
|
||||
const u8 gHM06ItemDescription[] = _("A rock-crushingly\ntough attack that\nmay lower DEFENSE.");
|
||||
const u8 gHM07ItemDescription[] = _("Attacks the foe\nwith enough power\nto climb waterfalls.");
|
||||
const u8 gHM08ItemDescription[] = _("Dives underwater\nthe 1st turn, then\nattacks next turn.");
|
||||
//FireRed/LeafGreen key items
|
||||
const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMART’s clerk.");
|
||||
const u8 gPokeFluteItemDescription[] = _("A sweet-sounding\nflute that awakens\nPOKéMON.");
|
||||
const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYM’s entrance.");
|
||||
const u8 gBikeVoucherItemDescription[] = _("A voucher for\nobtaining a bicycle\nfrom the BIKE SHOP.");
|
||||
const u8 gGoldTeethItemDescription[] = _("Gold dentures lost\nby the SAFARI\nZONE’s WARDEN.");
|
||||
const u8 gOldAmberItemDescription[] = _("A stone containing\nthe genes of an\nancient POKéMON.");
|
||||
const u8 gCardKeyItemDescription[] = _("A card-type door\nkey used in SILPH\nCO’s office.");
|
||||
const u8 gLiftKeyItemDescription[] = _("An elevator key\nused in TEAM\nROCKET’s HIDEOUT.");
|
||||
const u8 gHelixFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON’s seashell.");
|
||||
const u8 gDomeFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON’s shell.");
|
||||
const u8 gSilphScopeItemDescription[] = _("SILPH CO’s scope\nmakes unseeable\nPOKéMON visible.");
|
||||
const u8 gBicycleItemDescription[] = _("A folding bicycle\nthat is faster than\nthe RUNNING SHOES.");
|
||||
const u8 gTownMapItemDescription[] = _("Can be viewed\nanytime. Shows your\npresent location.");
|
||||
const u8 gVSSeekerItemDescription[] = _("A rechargeable unit\nthat flags battle-\nready TRAINERS.");
|
||||
const u8 gFameCheckerItemDescription[] = _("Stores information\non famous people\nfor instant recall.");
|
||||
const u8 gTMCaseItemDescription[] = _("A convenient case \nthat holds TMs and\nHMs.");
|
||||
const u8 gBerryPouchItemDescription[] = _("A convenient\ncontainer that\nholds BERRIES.");
|
||||
const u8 gTeachyTVItemDescription[] = _("A TV set tuned to\nan advice program\nfor TRAINERS.");
|
||||
const u8 gTriPassItemDescription[] = _("A pass for ferries\nbetween ONE, TWO,\nand THREE ISLAND.");
|
||||
const u8 gRainbowPassItemDescription[] = _("For ferries serving\nVERMILION and the\nSEVII ISLANDS.");
|
||||
const u8 gTeaItemDescription[] = _("A thirst-quenching\ntea prepared by an\nold lady.");
|
||||
const u8 gMysticTicketItemDescription[] = _("A ticket required\nto board the ship\nto NAVEL ROCK.");
|
||||
const u8 gAuroraTicketItemDescription[] = _("A ticket required\nto board the ship\nto BIRTH ISLAND.");
|
||||
const u8 gPowderJarItemDescription[] = _("Stores BERRY\nPOWDER made using\na BERRY CRUSHER.");
|
||||
const u8 gRubyItemDescription[] = _("An exquisite, red-\nglowing gem that\nsymbolizes passion.");
|
||||
const u8 gSapphireItemDescription[] = _("A brilliant blue gem\nthat symbolizes\nhonesty.");
|
||||
//Emerald-specific key items
|
||||
const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMA’s mark.");
|
||||
const u8 gOldSeaMapItemDescription[] = _("A faded sea chart\nthat shows the way\nto a certain island.");
|
||||
#endif // POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
|
||||
@ -70,5 +70,8 @@ void sub_8126968(void);
|
||||
void sub_8126AD8(u8 taskId);
|
||||
void sub_8127D38(u16 mapX, u16 mapY, u16 decor);
|
||||
void sub_8126B2C(u8 taskId);
|
||||
void sub_8127208(u8 taskId);
|
||||
void sub_8127250(u8 *dest, u8 decorCat);
|
||||
bool8 IsSelectedDecorInThePC(void);
|
||||
|
||||
#endif //GUARD_DECORATION_H
|
||||
|
||||
@ -43,9 +43,6 @@
|
||||
|
||||
#define PARTY_SIZE 6
|
||||
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
#define OT_NAME_LENGTH 7
|
||||
|
||||
#define min(a, b) ((a) < (b) ? (a) : (b))
|
||||
#define max(a, b) ((a) >= (b) ? (a) : (b))
|
||||
|
||||
@ -97,6 +94,31 @@ enum LanguageId
|
||||
#define GAME_VERSION (VERSION_EMERALD)
|
||||
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
|
||||
|
||||
// capacities of various saveblock objects
|
||||
#define DAYCARE_MON_COUNT 2
|
||||
#define POKEBLOCKS_COUNT 40
|
||||
#define MAP_OBJECTS_COUNT 16
|
||||
#define BERRY_TREES_COUNT 128
|
||||
#define FLAGS_COUNT 300
|
||||
#define VARS_COUNT 256
|
||||
#define MAIL_COUNT 16
|
||||
#define SECRET_BASES_COUNT 20
|
||||
#define PC_ITEMS_COUNT 50
|
||||
#define BAG_ITEMS_COUNT 30
|
||||
#define BAG_KEYITEMS_COUNT 30
|
||||
#define BAG_POKEBALLS_COUNT 16
|
||||
#define BAG_TMHM_COUNT 64
|
||||
#define BAG_BERRIES_COUNT 46
|
||||
|
||||
#define PYRAMID_BAG_ITEMS_COUNT 10
|
||||
|
||||
// string lengths
|
||||
#define ITEM_NAME_LENGTH 14
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
#define OT_NAME_LENGTH 7
|
||||
#define PLAYER_NAME_LENGTH 8
|
||||
#define MAIL_WORDS_COUNT 9
|
||||
|
||||
enum
|
||||
{
|
||||
MALE,
|
||||
@ -129,15 +151,6 @@ enum
|
||||
OPTIONS_BATTLE_STYLE_SET
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
BAG_ITEMS = 1,
|
||||
BAG_POKEBALLS,
|
||||
BAG_TMsHMs,
|
||||
BAG_BERRIES,
|
||||
BAG_KEYITEMS
|
||||
};
|
||||
|
||||
struct Coords16
|
||||
{
|
||||
s16 x;
|
||||
@ -209,11 +222,11 @@ struct BerryPickingResults // possibly used in the game itself? Size may be wron
|
||||
u8 field_F;
|
||||
};
|
||||
|
||||
// two arrays for lvl50 and open level
|
||||
struct PyramidBag
|
||||
{
|
||||
u16 items_Lvl50[10];
|
||||
u16 items_OpenLvl[10];
|
||||
u8 quantity[10];
|
||||
u16 itemId[2][PYRAMID_BAG_ITEMS_COUNT];
|
||||
u8 quantity[2][PYRAMID_BAG_ITEMS_COUNT];
|
||||
};
|
||||
|
||||
struct BerryCrush
|
||||
@ -223,8 +236,6 @@ struct BerryCrush
|
||||
u32 unk;
|
||||
};
|
||||
|
||||
#define PLAYER_NAME_LENGTH 8
|
||||
|
||||
struct UnknownSaveBlock2Struct
|
||||
{
|
||||
u8 field_0;
|
||||
@ -303,7 +314,7 @@ struct SaveBlock2
|
||||
/*0xE1A*/ u16 battlePyramidFloor; // possibly?
|
||||
/*0xE1C*/ u8 field_E1C[16];
|
||||
/*0xE2C*/ struct PyramidBag pyramidBag;
|
||||
/*0x???*/ u8 field_notSure[13];
|
||||
/*0x???*/ u8 field_unkown[6];
|
||||
/*0xE6E*/ u16 battleTentWinStreak;
|
||||
/*0xE70*/ u8 field_E70[72];
|
||||
/*0xEB8*/ u16 frontierBattlePoints;
|
||||
@ -417,8 +428,6 @@ struct EasyChatPair
|
||||
u16 words[2];
|
||||
}; /*size = 0x8*/
|
||||
|
||||
#define MAIL_WORDS_COUNT 9
|
||||
|
||||
struct MailStruct
|
||||
{
|
||||
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
|
||||
@ -452,10 +461,11 @@ struct UnkMauvilleOldManStruct2
|
||||
|
||||
struct MauvilleOldManTrader
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1[4];
|
||||
u8 unk5[4][11];
|
||||
u8 unk31;
|
||||
/* 0x2E28 */ u8 id;
|
||||
/* 0x2E29 */ u8 unk1[4];
|
||||
/* 0x2E2D */ u8 unk5[4][11];
|
||||
/* 0x2E59 */ bool8 alreadyTraded;
|
||||
/* 0x2E5A */ u8 language[4];
|
||||
};
|
||||
|
||||
typedef union OldMan
|
||||
@ -480,6 +490,8 @@ struct RecordMixing_UnknownStruct
|
||||
u16 unk74[0x2];
|
||||
};
|
||||
|
||||
#define LINK_B_RECORDS_COUNT 5
|
||||
|
||||
struct LinkBattleRecord
|
||||
{
|
||||
u8 name[8];
|
||||
@ -489,6 +501,12 @@ struct LinkBattleRecord
|
||||
u16 draws;
|
||||
};
|
||||
|
||||
struct LinkBattleRecords
|
||||
{
|
||||
struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT];
|
||||
u8 languages[LINK_B_RECORDS_COUNT];
|
||||
};
|
||||
|
||||
struct RecordMixingGiftData
|
||||
{
|
||||
u8 unk0;
|
||||
@ -530,8 +548,6 @@ struct DaycareMon
|
||||
u32 steps;
|
||||
};
|
||||
|
||||
#define DAYCARE_MON_COUNT 2
|
||||
|
||||
struct DayCare
|
||||
{
|
||||
struct DaycareMon mons[DAYCARE_MON_COUNT];
|
||||
@ -552,13 +568,6 @@ struct RecordMixingDayCareMail
|
||||
bool16 holdsItem[DAYCARE_MON_COUNT];
|
||||
};
|
||||
|
||||
#define POKEBLOCKS_COUNT 40
|
||||
#define MAP_OBJECTS_COUNT 16
|
||||
#define BERRY_TREES_COUNT 128
|
||||
#define FLAGS_COUNT 300
|
||||
#define VARS_COUNT 256
|
||||
#define MAIL_COUNT 16
|
||||
|
||||
enum
|
||||
{
|
||||
LILYCOVE_LADY_QUIZ,
|
||||
@ -645,16 +654,16 @@ struct SaveBlock1
|
||||
/*0x32*/ u16 mapDataId;
|
||||
/*0x34*/ u16 mapView[0x100];
|
||||
/*0x234*/ u8 playerPartyCount;
|
||||
/*0x238*/ struct Pokemon playerParty[6];
|
||||
/*0x238*/ struct Pokemon playerParty[PARTY_SIZE];
|
||||
/*0x490*/ u32 money;
|
||||
/*0x494*/ u16 coins;
|
||||
/*0x496*/ u16 registeredItem; // registered for use with SELECT button
|
||||
/*0x498*/ struct ItemSlot pcItems[50];
|
||||
/*0x560*/ struct ItemSlot bagPocket_Items[30];
|
||||
/*0x5D8*/ struct ItemSlot bagPocket_KeyItems[30];
|
||||
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[16];
|
||||
/*0x690*/ struct ItemSlot bagPocket_TMHM[64];
|
||||
/*0x790*/ struct ItemSlot bagPocket_Berries[46];
|
||||
/*0x498*/ struct ItemSlot pcItems[PC_ITEMS_COUNT];
|
||||
/*0x560*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT];
|
||||
/*0x5D8*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT];
|
||||
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT];
|
||||
/*0x690*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
|
||||
/*0x790*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
|
||||
/*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
|
||||
/*0x988*/ u8 seen1[52];
|
||||
/*0x9BC*/ u16 berryBlenderRecords[3];
|
||||
@ -667,7 +676,7 @@ struct SaveBlock1
|
||||
/*0x139C*/ u16 vars[VARS_COUNT];
|
||||
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
|
||||
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
|
||||
/*0x1A9C*/ struct SecretBaseRecord secretBases[20];
|
||||
/*0x1A9C*/ struct SecretBaseRecord secretBases[SECRET_BASES_COUNT];
|
||||
/*0x271C*/ u8 playerRoomDecor[12];
|
||||
/*0x2728*/ u8 playerRoomDecorPos[12];
|
||||
/*0x2734*/ u8 decorDesk[10];
|
||||
@ -703,9 +712,7 @@ struct SaveBlock1
|
||||
/*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
|
||||
/*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum
|
||||
/*0x3030*/ struct DayCare daycare;
|
||||
/*0x3150*/ struct LinkBattleRecord linkBattleRecords[5];
|
||||
/*0x31A0*/ u8 unk_31A0;
|
||||
/*0x31A1*/ u8 filler_31A1[7];
|
||||
/*0x3150*/ struct LinkBattleRecords linkBattleRecords;
|
||||
/*0x31A8*/ u8 giftRibbons[52];
|
||||
/*0x31DC*/ struct Roamer roamer;
|
||||
/*0x31F8*/ struct EnigmaBerry enigmaBerry;
|
||||
|
||||
@ -2713,6 +2713,501 @@ extern const u8 gRaySceneHushBg_Pal[];
|
||||
extern const u8 gRaySceneHushBg_Gfx[];
|
||||
extern const u8 gRaySceneHushRing_Gfx[];
|
||||
|
||||
// Item icons
|
||||
extern const u8 gItemIcon_QuestionMark[];
|
||||
extern const u8 gItemIconPalette_QuestionMark[];
|
||||
// Pokeballs
|
||||
extern const u8 gItemIcon_MasterBall[];
|
||||
extern const u8 gItemIconPalette_MasterBall[];
|
||||
extern const u8 gItemIcon_UltraBall[];
|
||||
extern const u8 gItemIconPalette_UltraBall[];
|
||||
extern const u8 gItemIcon_GreatBall[];
|
||||
extern const u8 gItemIconPalette_GreatBall[];
|
||||
extern const u8 gItemIcon_PokeBall[];
|
||||
extern const u8 gItemIconPalette_PokeBall[];
|
||||
extern const u8 gItemIcon_SafariBall[];
|
||||
extern const u8 gItemIconPalette_SafariBall[];
|
||||
extern const u8 gItemIcon_NetBall[];
|
||||
extern const u8 gItemIconPalette_NetBall[];
|
||||
extern const u8 gItemIcon_DiveBall[];
|
||||
extern const u8 gItemIconPalette_DiveBall[];
|
||||
extern const u8 gItemIcon_NestBall[];
|
||||
extern const u8 gItemIconPalette_NestBall[];
|
||||
extern const u8 gItemIcon_RepeatBall[];
|
||||
extern const u8 gItemIconPalette_RepeatBall[];
|
||||
extern const u8 gItemIcon_TimerBall[];
|
||||
extern const u8 gItemIcon_LuxuryBall[];
|
||||
extern const u8 gItemIconPalette_LuxuryBall[];
|
||||
extern const u8 gItemIcon_PremierBall[];
|
||||
// Medicine
|
||||
extern const u8 gItemIcon_Potion[];
|
||||
extern const u8 gItemIconPalette_Potion[];
|
||||
extern const u8 gItemIcon_Antidote[];
|
||||
extern const u8 gItemIconPalette_Antidote[];
|
||||
extern const u8 gItemIcon_StatusHeal[];
|
||||
extern const u8 gItemIconPalette_BurnHeal[];
|
||||
extern const u8 gItemIconPalette_IceHeal[];
|
||||
extern const u8 gItemIconPalette_Awakening[];
|
||||
extern const u8 gItemIconPalette_ParalyzeHeal[];
|
||||
extern const u8 gItemIcon_LargePotion[];
|
||||
extern const u8 gItemIconPalette_FullRestore[];
|
||||
extern const u8 gItemIconPalette_MaxPotion[];
|
||||
extern const u8 gItemIconPalette_HyperPotion[];
|
||||
extern const u8 gItemIconPalette_SuperPotion[];
|
||||
extern const u8 gItemIcon_FullHeal[];
|
||||
extern const u8 gItemIconPalette_FullHeal[];
|
||||
extern const u8 gItemIcon_Revive[];
|
||||
extern const u8 gItemIconPalette_Revive[];
|
||||
extern const u8 gItemIcon_MaxRevive[];
|
||||
extern const u8 gItemIcon_FreshWater[];
|
||||
extern const u8 gItemIconPalette_FreshWater[];
|
||||
extern const u8 gItemIcon_SodaPop[];
|
||||
extern const u8 gItemIconPalette_SodaPop[];
|
||||
extern const u8 gItemIcon_Lemonade[];
|
||||
extern const u8 gItemIconPalette_Lemonade[];
|
||||
extern const u8 gItemIcon_MoomooMilk[];
|
||||
extern const u8 gItemIconPalette_MoomooMilk[];
|
||||
extern const u8 gItemIcon_Powder[];
|
||||
extern const u8 gItemIconPalette_EnergyPowder[];
|
||||
extern const u8 gItemIcon_EnergyRoot[];
|
||||
extern const u8 gItemIconPalette_EnergyRoot[];
|
||||
extern const u8 gItemIconPalette_HealPowder[];
|
||||
extern const u8 gItemIcon_RevivalHerb[];
|
||||
extern const u8 gItemIconPalette_RevivalHerb[];
|
||||
extern const u8 gItemIcon_Ether[];
|
||||
extern const u8 gItemIconPalette_Ether[];
|
||||
extern const u8 gItemIconPalette_MaxEther[];
|
||||
extern const u8 gItemIconPalette_Elixir[];
|
||||
extern const u8 gItemIconPalette_MaxElixir[];
|
||||
extern const u8 gItemIcon_LavaCookie[];
|
||||
extern const u8 gItemIconPalette_LavaCookieAndLetter[];
|
||||
extern const u8 gItemIcon_Flute[];
|
||||
extern const u8 gItemIconPalette_BlueFlute[];
|
||||
extern const u8 gItemIconPalette_YellowFlute[];
|
||||
extern const u8 gItemIconPalette_RedFlute[];
|
||||
extern const u8 gItemIconPalette_BlackFlute[];
|
||||
extern const u8 gItemIconPalette_WhiteFlute[];
|
||||
extern const u8 gItemIcon_BerryJuice[];
|
||||
extern const u8 gItemIconPalette_BerryJuice[];
|
||||
extern const u8 gItemIcon_SacredAsh[];
|
||||
extern const u8 gItemIconPalette_SacredAsh[];
|
||||
// Collectibles
|
||||
extern const u8 gItemIconPalette_ShoalSalt[];
|
||||
extern const u8 gItemIcon_ShoalShell[];
|
||||
extern const u8 gItemIconPalette_Shell[];
|
||||
extern const u8 gItemIcon_Shard[];
|
||||
extern const u8 gItemIconPalette_RedShard[];
|
||||
extern const u8 gItemIconPalette_BlueShard[];
|
||||
extern const u8 gItemIconPalette_YellowShard[];
|
||||
extern const u8 gItemIconPalette_GreenShard[];
|
||||
// Vitamins
|
||||
extern const u8 gItemIcon_HPUp[];
|
||||
extern const u8 gItemIconPalette_HPUp[];
|
||||
extern const u8 gItemIcon_Vitamin[];
|
||||
extern const u8 gItemIconPalette_Protein[];
|
||||
extern const u8 gItemIconPalette_Iron[];
|
||||
extern const u8 gItemIconPalette_Carbos[];
|
||||
extern const u8 gItemIconPalette_Calcium[];
|
||||
extern const u8 gItemIcon_RareCandy[];
|
||||
extern const u8 gItemIconPalette_RareCandy[];
|
||||
extern const u8 gItemIcon_PPUp[];
|
||||
extern const u8 gItemIconPalette_PPUp[];
|
||||
extern const u8 gItemIconPalette_Zinc[];
|
||||
extern const u8 gItemIcon_PPMax[];
|
||||
extern const u8 gItemIconPalette_PPMax[];
|
||||
// Battle items
|
||||
extern const u8 gItemIcon_BattleStatItem[];
|
||||
extern const u8 gItemIconPalette_GuardSpec[];
|
||||
extern const u8 gItemIconPalette_DireHit[];
|
||||
extern const u8 gItemIconPalette_XAttack[];
|
||||
extern const u8 gItemIconPalette_XDefend[];
|
||||
extern const u8 gItemIconPalette_XSpeed[];
|
||||
extern const u8 gItemIconPalette_XAccuracy[];
|
||||
extern const u8 gItemIconPalette_XSpecial[];
|
||||
extern const u8 gItemIcon_PokeDoll[];
|
||||
extern const u8 gItemIconPalette_PokeDoll[];
|
||||
extern const u8 gItemIcon_FluffyTail[];
|
||||
extern const u8 gItemIconPalette_FluffyTail[];
|
||||
// Field items
|
||||
extern const u8 gItemIcon_Repel[];
|
||||
extern const u8 gItemIconPalette_SuperRepel[];
|
||||
extern const u8 gItemIconPalette_MaxRepel[];
|
||||
extern const u8 gItemIcon_EscapeRope[];
|
||||
extern const u8 gItemIconPalette_EscapeRope[];
|
||||
extern const u8 gItemIcon_Repel[];
|
||||
extern const u8 gItemIconPalette_Repel[];
|
||||
// Evolution stones
|
||||
extern const u8 gItemIcon_SunStone[];
|
||||
extern const u8 gItemIconPalette_SunStone[];
|
||||
extern const u8 gItemIcon_MoonStone[];
|
||||
extern const u8 gItemIconPalette_MoonStone[];
|
||||
extern const u8 gItemIcon_FireStone[];
|
||||
extern const u8 gItemIconPalette_FireStone[];
|
||||
extern const u8 gItemIcon_ThunderStone[];
|
||||
extern const u8 gItemIconPalette_ThunderStone[];
|
||||
extern const u8 gItemIcon_WaterStone[];
|
||||
extern const u8 gItemIconPalette_WaterStone[];
|
||||
extern const u8 gItemIcon_LeafStone[];
|
||||
extern const u8 gItemIconPalette_LeafStone[];
|
||||
// Valuables
|
||||
extern const u8 gItemIcon_TinyMushroom[];
|
||||
extern const u8 gItemIconPalette_Mushroom[];
|
||||
extern const u8 gItemIcon_BigMushroom[];
|
||||
extern const u8 gItemIcon_Pearl[];
|
||||
extern const u8 gItemIconPalette_Pearl[];
|
||||
extern const u8 gItemIcon_BigPearl[];
|
||||
extern const u8 gItemIcon_Stardust[];
|
||||
extern const u8 gItemIconPalette_Star[];
|
||||
extern const u8 gItemIcon_StarPiece[];
|
||||
extern const u8 gItemIcon_Nugget[];
|
||||
extern const u8 gItemIconPalette_Nugget[];
|
||||
extern const u8 gItemIcon_HeartScale[];
|
||||
extern const u8 gItemIconPalette_HeartScale[];
|
||||
// Mail
|
||||
extern const u8 gItemIcon_OrangeMail[];
|
||||
extern const u8 gItemIconPalette_OrangeMail[];
|
||||
extern const u8 gItemIcon_HarborMail[];
|
||||
extern const u8 gItemIconPalette_HarborMail[];
|
||||
extern const u8 gItemIcon_GlitterMail[];
|
||||
extern const u8 gItemIconPalette_GlitterMail[];
|
||||
extern const u8 gItemIcon_MechMail[];
|
||||
extern const u8 gItemIconPalette_MechMail[];
|
||||
extern const u8 gItemIcon_WoodMail[];
|
||||
extern const u8 gItemIconPalette_WoodMail[];
|
||||
extern const u8 gItemIcon_WaveMail[];
|
||||
extern const u8 gItemIconPalette_WaveMail[];
|
||||
extern const u8 gItemIcon_BeadMail[];
|
||||
extern const u8 gItemIconPalette_BeadMail[];
|
||||
extern const u8 gItemIcon_ShadowMail[];
|
||||
extern const u8 gItemIconPalette_ShadowMail[];
|
||||
extern const u8 gItemIcon_TropicMail[];
|
||||
extern const u8 gItemIconPalette_TropicMail[];
|
||||
extern const u8 gItemIcon_DreamMail[];
|
||||
extern const u8 gItemIconPalette_DreamMail[];
|
||||
extern const u8 gItemIcon_FabMail[];
|
||||
extern const u8 gItemIconPalette_FabMail[];
|
||||
extern const u8 gItemIcon_RetroMail[];
|
||||
extern const u8 gItemIconPalette_RetroMail[];
|
||||
// Berries
|
||||
extern const u8 gItemIcon_CheriBerry[];
|
||||
extern const u8 gItemIconPalette_CheriBerry[];
|
||||
extern const u8 gItemIcon_ChestoBerry[];
|
||||
extern const u8 gItemIconPalette_ChestoBerry[];
|
||||
extern const u8 gItemIcon_PechaBerry[];
|
||||
extern const u8 gItemIconPalette_PechaBerry[];
|
||||
extern const u8 gItemIcon_RawstBerry[];
|
||||
extern const u8 gItemIconPalette_RawstBerry[];
|
||||
extern const u8 gItemIcon_AspearBerry[];
|
||||
extern const u8 gItemIconPalette_AspearBerry[];
|
||||
extern const u8 gItemIcon_LeppaBerry[];
|
||||
extern const u8 gItemIconPalette_LeppaBerry[];
|
||||
extern const u8 gItemIcon_OranBerry[];
|
||||
extern const u8 gItemIconPalette_OranBerry[];
|
||||
extern const u8 gItemIcon_PersimBerry[];
|
||||
extern const u8 gItemIconPalette_PersimBerry[];
|
||||
extern const u8 gItemIcon_LumBerry[];
|
||||
extern const u8 gItemIconPalette_LumBerry[];
|
||||
extern const u8 gItemIcon_SitrusBerry[];
|
||||
extern const u8 gItemIconPalette_SitrusBerry[];
|
||||
extern const u8 gItemIcon_FigyBerry[];
|
||||
extern const u8 gItemIconPalette_FigyBerry[];
|
||||
extern const u8 gItemIcon_WikiBerry[];
|
||||
extern const u8 gItemIconPalette_WikiBerry[];
|
||||
extern const u8 gItemIcon_MagoBerry[];
|
||||
extern const u8 gItemIconPalette_MagoBerry[];
|
||||
extern const u8 gItemIcon_AguavBerry[];
|
||||
extern const u8 gItemIconPalette_AguavBerry[];
|
||||
extern const u8 gItemIcon_IapapaBerry[];
|
||||
extern const u8 gItemIconPalette_IapapaBerry[];
|
||||
extern const u8 gItemIcon_RazzBerry[];
|
||||
extern const u8 gItemIconPalette_RazzBerry[];
|
||||
extern const u8 gItemIcon_BlukBerry[];
|
||||
extern const u8 gItemIconPalette_BlukBerry[];
|
||||
extern const u8 gItemIcon_NanabBerry[];
|
||||
extern const u8 gItemIconPalette_NanabBerry[];
|
||||
extern const u8 gItemIcon_WepearBerry[];
|
||||
extern const u8 gItemIconPalette_WepearBerry[];
|
||||
extern const u8 gItemIcon_PinapBerry[];
|
||||
extern const u8 gItemIconPalette_PinapBerry[];
|
||||
extern const u8 gItemIcon_PomegBerry[];
|
||||
extern const u8 gItemIconPalette_PomegBerry[];
|
||||
extern const u8 gItemIcon_KelpsyBerry[];
|
||||
extern const u8 gItemIconPalette_KelpsyBerry[];
|
||||
extern const u8 gItemIcon_QualotBerry[];
|
||||
extern const u8 gItemIconPalette_QualotBerry[];
|
||||
extern const u8 gItemIcon_HondewBerry[];
|
||||
extern const u8 gItemIconPalette_HondewBerry[];
|
||||
extern const u8 gItemIcon_GrepaBerry[];
|
||||
extern const u8 gItemIconPalette_GrepaBerry[];
|
||||
extern const u8 gItemIcon_TamatoBerry[];
|
||||
extern const u8 gItemIconPalette_TamatoBerry[];
|
||||
extern const u8 gItemIcon_CornnBerry[];
|
||||
extern const u8 gItemIconPalette_CornnBerry[];
|
||||
extern const u8 gItemIcon_MagostBerry[];
|
||||
extern const u8 gItemIconPalette_MagostBerry[];
|
||||
extern const u8 gItemIcon_RabutaBerry[];
|
||||
extern const u8 gItemIconPalette_RabutaBerry[];
|
||||
extern const u8 gItemIcon_NomelBerry[];
|
||||
extern const u8 gItemIconPalette_NomelBerry[];
|
||||
extern const u8 gItemIcon_SpelonBerry[];
|
||||
extern const u8 gItemIconPalette_SpelonBerry[];
|
||||
extern const u8 gItemIcon_PamtreBerry[];
|
||||
extern const u8 gItemIconPalette_PamtreBerry[];
|
||||
extern const u8 gItemIcon_WatmelBerry[];
|
||||
extern const u8 gItemIconPalette_WatmelBerry[];
|
||||
extern const u8 gItemIcon_DurinBerry[];
|
||||
extern const u8 gItemIconPalette_DurinBerry[];
|
||||
extern const u8 gItemIcon_BelueBerry[];
|
||||
extern const u8 gItemIconPalette_BelueBerry[];
|
||||
extern const u8 gItemIcon_LiechiBerry[];
|
||||
extern const u8 gItemIconPalette_LiechiBerry[];
|
||||
extern const u8 gItemIcon_GanlonBerry[];
|
||||
extern const u8 gItemIconPalette_GanlonBerry[];
|
||||
extern const u8 gItemIcon_SalacBerry[];
|
||||
extern const u8 gItemIconPalette_SalacBerry[];
|
||||
extern const u8 gItemIcon_PetayaBerry[];
|
||||
extern const u8 gItemIconPalette_PetayaBerry[];
|
||||
extern const u8 gItemIcon_ApicotBerry[];
|
||||
extern const u8 gItemIconPalette_ApicotBerry[];
|
||||
extern const u8 gItemIcon_LansatBerry[];
|
||||
extern const u8 gItemIconPalette_LansatBerry[];
|
||||
extern const u8 gItemIcon_StarfBerry[];
|
||||
extern const u8 gItemIconPalette_StarfBerry[];
|
||||
extern const u8 gItemIcon_EnigmaBerry[];
|
||||
extern const u8 gItemIconPalette_EnigmaBerry[];
|
||||
// Hold items
|
||||
extern const u8 gItemIcon_BrightPowder[];
|
||||
extern const u8 gItemIconPalette_BrightPowder[];
|
||||
extern const u8 gItemIcon_InBattleHerb[];
|
||||
extern const u8 gItemIconPalette_WhiteHerb[];
|
||||
extern const u8 gItemIcon_MachoBrace[];
|
||||
extern const u8 gItemIconPalette_MachoBrace[];
|
||||
extern const u8 gItemIcon_ExpShare[];
|
||||
extern const u8 gItemIconPalette_ExpShare[];
|
||||
extern const u8 gItemIcon_QuickClaw[];
|
||||
extern const u8 gItemIconPalette_QuickClaw[];
|
||||
extern const u8 gItemIcon_SootheBell[];
|
||||
extern const u8 gItemIconPalette_SootheBell[];
|
||||
extern const u8 gItemIcon_InBattleHerb[];
|
||||
extern const u8 gItemIconPalette_MentalHerb[];
|
||||
extern const u8 gItemIcon_ChoiceBand[];
|
||||
extern const u8 gItemIconPalette_ChoiceBand[];
|
||||
extern const u8 gItemIcon_KingsRock[];
|
||||
extern const u8 gItemIconPalette_KingsRock[];
|
||||
extern const u8 gItemIcon_SilverPowder[];
|
||||
extern const u8 gItemIconPalette_SilverPowder[];
|
||||
extern const u8 gItemIcon_AmuletCoin[];
|
||||
extern const u8 gItemIconPalette_AmuletCoin[];
|
||||
extern const u8 gItemIcon_CleanseTag[];
|
||||
extern const u8 gItemIconPalette_CleanseTag[];
|
||||
extern const u8 gItemIcon_SoulDew[];
|
||||
extern const u8 gItemIconPalette_SoulDew[];
|
||||
extern const u8 gItemIcon_DeepSeaTooth[];
|
||||
extern const u8 gItemIconPalette_DeepSeaTooth[];
|
||||
extern const u8 gItemIcon_DeepSeaScale[];
|
||||
extern const u8 gItemIconPalette_DeepSeaScale[];
|
||||
extern const u8 gItemIcon_SmokeBall[];
|
||||
extern const u8 gItemIconPalette_SmokeBall[];
|
||||
extern const u8 gItemIcon_Everstone[];
|
||||
extern const u8 gItemIconPalette_Everstone[];
|
||||
extern const u8 gItemIcon_FocusBand[];
|
||||
extern const u8 gItemIconPalette_FocusBand[];
|
||||
extern const u8 gItemIcon_LuckyEgg[];
|
||||
extern const u8 gItemIconPalette_LuckyEgg[];
|
||||
extern const u8 gItemIcon_ScopeLens[];
|
||||
extern const u8 gItemIconPalette_ScopeLens[];
|
||||
extern const u8 gItemIcon_MetalCoat[];
|
||||
extern const u8 gItemIconPalette_MetalCoat[];
|
||||
extern const u8 gItemIcon_Leftovers[];
|
||||
extern const u8 gItemIconPalette_Leftovers[];
|
||||
extern const u8 gItemIcon_DragonScale[];
|
||||
extern const u8 gItemIconPalette_DragonScale[];
|
||||
extern const u8 gItemIcon_LightBall[];
|
||||
extern const u8 gItemIconPalette_LightBall[];
|
||||
extern const u8 gItemIcon_SoftSand[];
|
||||
extern const u8 gItemIconPalette_SoftSand[];
|
||||
extern const u8 gItemIcon_HardStone[];
|
||||
extern const u8 gItemIconPalette_HardStone[];
|
||||
extern const u8 gItemIcon_MiracleSeed[];
|
||||
extern const u8 gItemIconPalette_MiracleSeed[];
|
||||
extern const u8 gItemIcon_BlackGlasses[];
|
||||
extern const u8 gItemIconPalette_BlackTypeEnhancingItem[];
|
||||
extern const u8 gItemIcon_BlackBelt[];
|
||||
extern const u8 gItemIconPalette_BlackTypeEnhancingItem[];
|
||||
extern const u8 gItemIcon_Magnet[];
|
||||
extern const u8 gItemIconPalette_Magnet[];
|
||||
extern const u8 gItemIcon_MysticWater[];
|
||||
extern const u8 gItemIconPalette_MysticWater[];
|
||||
extern const u8 gItemIcon_SharpBeak[];
|
||||
extern const u8 gItemIconPalette_SharpBeak[];
|
||||
extern const u8 gItemIcon_PoisonBarb[];
|
||||
extern const u8 gItemIconPalette_PoisonBarb[];
|
||||
extern const u8 gItemIcon_NeverMeltIce[];
|
||||
extern const u8 gItemIconPalette_NeverMeltIce[];
|
||||
extern const u8 gItemIcon_SpellTag[];
|
||||
extern const u8 gItemIconPalette_SpellTag[];
|
||||
extern const u8 gItemIcon_TwistedSpoon[];
|
||||
extern const u8 gItemIconPalette_TwistedSpoon[];
|
||||
extern const u8 gItemIcon_Charcoal[];
|
||||
extern const u8 gItemIconPalette_Charcoal[];
|
||||
extern const u8 gItemIcon_DragonFang[];
|
||||
extern const u8 gItemIconPalette_DragonFang[];
|
||||
extern const u8 gItemIcon_SilkScarf[];
|
||||
extern const u8 gItemIconPalette_SilkScarf[];
|
||||
extern const u8 gItemIcon_UpGrade[];
|
||||
extern const u8 gItemIconPalette_UpGrade[];
|
||||
extern const u8 gItemIcon_ShellBell[];
|
||||
extern const u8 gItemIconPalette_Shell[];
|
||||
extern const u8 gItemIcon_SeaIncense[];
|
||||
extern const u8 gItemIconPalette_SeaIncense[];
|
||||
extern const u8 gItemIcon_LaxIncense[];
|
||||
extern const u8 gItemIconPalette_LaxIncense[];
|
||||
extern const u8 gItemIcon_LuckyPunch[];
|
||||
extern const u8 gItemIconPalette_LuckyPunch[];
|
||||
extern const u8 gItemIcon_MetalPowder[];
|
||||
extern const u8 gItemIconPalette_MetalPowder[];
|
||||
extern const u8 gItemIcon_ThickClub[];
|
||||
extern const u8 gItemIconPalette_ThickClub[];
|
||||
extern const u8 gItemIcon_Stick[];
|
||||
extern const u8 gItemIconPalette_Stick[];
|
||||
// Contest hold items
|
||||
extern const u8 gItemIcon_Scarf[];
|
||||
extern const u8 gItemIconPalette_RedScarf[];
|
||||
extern const u8 gItemIconPalette_BlueScarf[];
|
||||
extern const u8 gItemIconPalette_PinkScarf[];
|
||||
extern const u8 gItemIconPalette_GreenScarf[];
|
||||
extern const u8 gItemIconPalette_YellowScarf[];
|
||||
// Key items
|
||||
extern const u8 gItemIcon_MachBike[];
|
||||
extern const u8 gItemIconPalette_MachBike[];
|
||||
extern const u8 gItemIcon_CoinCase[];
|
||||
extern const u8 gItemIconPalette_CoinCase[];
|
||||
extern const u8 gItemIcon_Itemfinder[];
|
||||
extern const u8 gItemIconPalette_Itemfinder[];
|
||||
extern const u8 gItemIcon_OldRod[];
|
||||
extern const u8 gItemIconPalette_OldRod[];
|
||||
extern const u8 gItemIcon_GoodRod[];
|
||||
extern const u8 gItemIconPalette_GoodRod[];
|
||||
extern const u8 gItemIcon_SuperRod[];
|
||||
extern const u8 gItemIconPalette_SuperRod[];
|
||||
extern const u8 gItemIcon_SSTicket[];
|
||||
extern const u8 gItemIconPalette_SSTicket[];
|
||||
extern const u8 gItemIcon_ContestPass[];
|
||||
extern const u8 gItemIconPalette_ContestPass[];
|
||||
extern const u8 gItemIcon_WailmerPail[];
|
||||
extern const u8 gItemIconPalette_WailmerPail[];
|
||||
extern const u8 gItemIcon_DevonGoods[];
|
||||
extern const u8 gItemIconPalette_DevonGoods[];
|
||||
extern const u8 gItemIcon_SootSack[];
|
||||
extern const u8 gItemIconPalette_SootSack[];
|
||||
extern const u8 gItemIcon_BasementKey[];
|
||||
extern const u8 gItemIconPalette_OldKey[];
|
||||
extern const u8 gItemIcon_AcroBike[];
|
||||
extern const u8 gItemIconPalette_AcroBike[];
|
||||
extern const u8 gItemIcon_PokeblockCase[];
|
||||
extern const u8 gItemIconPalette_PokeblockCase[];
|
||||
extern const u8 gItemIcon_Letter[];
|
||||
extern const u8 gItemIcon_EonTicket[];
|
||||
extern const u8 gItemIconPalette_EonTicket[];
|
||||
extern const u8 gItemIcon_Orb[];
|
||||
extern const u8 gItemIconPalette_RedOrb[];
|
||||
extern const u8 gItemIconPalette_BlueOrb[];
|
||||
extern const u8 gItemIcon_Scanner[];
|
||||
extern const u8 gItemIconPalette_Scanner[];
|
||||
extern const u8 gItemIcon_GoGoggles[];
|
||||
extern const u8 gItemIconPalette_GoGoggles[];
|
||||
extern const u8 gItemIcon_Meteorite[];
|
||||
extern const u8 gItemIconPalette_Meteorite[];
|
||||
extern const u8 gItemIcon_Room1Key[];
|
||||
extern const u8 gItemIconPalette_Key[];
|
||||
extern const u8 gItemIcon_Room2Key[];
|
||||
extern const u8 gItemIcon_Room4Key[];
|
||||
extern const u8 gItemIcon_Room6Key[];
|
||||
extern const u8 gItemIcon_StorageKey[];
|
||||
extern const u8 gItemIcon_RootFossil[];
|
||||
extern const u8 gItemIconPalette_HoennFossil[];
|
||||
extern const u8 gItemIcon_ClawFossil[];
|
||||
extern const u8 gItemIcon_DevonScope[];
|
||||
extern const u8 gItemIconPalette_DevonScope[];
|
||||
// TMs/HMs
|
||||
extern const u8 gItemIcon_TM[];
|
||||
extern const u8 gItemIconPalette_FightingTMHM[];
|
||||
extern const u8 gItemIconPalette_DragonTMHM[];
|
||||
extern const u8 gItemIconPalette_WaterTMHM[];
|
||||
extern const u8 gItemIconPalette_PsychicTMHM[];
|
||||
extern const u8 gItemIconPalette_NormalTMHM[];
|
||||
extern const u8 gItemIconPalette_PoisonTMHM[];
|
||||
extern const u8 gItemIconPalette_IceTMHM[];
|
||||
extern const u8 gItemIconPalette_GrassTMHM[];
|
||||
extern const u8 gItemIconPalette_FireTMHM[];
|
||||
extern const u8 gItemIconPalette_DarkTMHM[];
|
||||
extern const u8 gItemIconPalette_SteelTMHM[];
|
||||
extern const u8 gItemIconPalette_ElectricTMHM[];
|
||||
extern const u8 gItemIconPalette_GroundTMHM[];
|
||||
extern const u8 gItemIconPalette_GhostTMHM[];
|
||||
extern const u8 gItemIconPalette_RockTMHM[];
|
||||
extern const u8 gItemIconPalette_FlyingTMHM[];
|
||||
extern const u8 gItemIcon_HM[];
|
||||
// FireRed/LeafGreen key items
|
||||
extern const u8 gItemIcon_OaksParcel[];
|
||||
extern const u8 gItemIconPalette_OaksParcel[];
|
||||
extern const u8 gItemIcon_PokeFlute[];
|
||||
extern const u8 gItemIconPalette_PokeFlute[];
|
||||
extern const u8 gItemIcon_SecretKey[];
|
||||
extern const u8 gItemIconPalette_SecretKey[];
|
||||
extern const u8 gItemIcon_BikeVoucher[];
|
||||
extern const u8 gItemIconPalette_BikeVoucher[];
|
||||
extern const u8 gItemIcon_GoldTeeth[];
|
||||
extern const u8 gItemIconPalette_GoldTeeth[];
|
||||
extern const u8 gItemIcon_OldAmber[];
|
||||
extern const u8 gItemIconPalette_OldAmber[];
|
||||
extern const u8 gItemIcon_CardKey[];
|
||||
extern const u8 gItemIconPalette_CardKey[];
|
||||
extern const u8 gItemIcon_LiftKey[];
|
||||
extern const u8 gItemIconPalette_Key[];
|
||||
extern const u8 gItemIcon_HelixFossil[];
|
||||
extern const u8 gItemIconPalette_KantoFossil[];
|
||||
extern const u8 gItemIcon_DomeFossil[];
|
||||
extern const u8 gItemIcon_SilphScope[];
|
||||
extern const u8 gItemIconPalette_SilphScope[];
|
||||
extern const u8 gItemIcon_Bicycle[];
|
||||
extern const u8 gItemIconPalette_Bicycle[];
|
||||
extern const u8 gItemIcon_TownMap[];
|
||||
extern const u8 gItemIconPalette_TownMap[];
|
||||
extern const u8 gItemIcon_VSSeeker[];
|
||||
extern const u8 gItemIconPalette_VSSeeker[];
|
||||
extern const u8 gItemIcon_FameChecker[];
|
||||
extern const u8 gItemIconPalette_FameChecker[];
|
||||
extern const u8 gItemIcon_TMCase[];
|
||||
extern const u8 gItemIconPalette_TMCase[];
|
||||
extern const u8 gItemIcon_BerryPouch[];
|
||||
extern const u8 gItemIconPalette_BerryPouch[];
|
||||
extern const u8 gItemIcon_TeachyTV[];
|
||||
extern const u8 gItemIconPalette_TeachyTV[];
|
||||
extern const u8 gItemIcon_TriPass[];
|
||||
extern const u8 gItemIconPalette_TriPass[];
|
||||
extern const u8 gItemIcon_RainbowPass[];
|
||||
extern const u8 gItemIconPalette_RainbowPass[];
|
||||
extern const u8 gItemIcon_Tea[];
|
||||
extern const u8 gItemIconPalette_Tea[];
|
||||
extern const u8 gItemIcon_MysticTicket[];
|
||||
extern const u8 gItemIconPalette_MysticTicket[];
|
||||
extern const u8 gItemIcon_AuroraTicket[];
|
||||
extern const u8 gItemIconPalette_AuroraTicket[];
|
||||
extern const u8 gItemIcon_PowderJar[];
|
||||
extern const u8 gItemIconPalette_PowderJar[];
|
||||
extern const u8 gItemIcon_Gem[];
|
||||
extern const u8 gItemIconPalette_Ruby[];
|
||||
extern const u8 gItemIconPalette_Sapphire[];
|
||||
// Emerald-only key items
|
||||
extern const u8 gItemIcon_MagmaEmblem[];
|
||||
extern const u8 gItemIconPalette_MagmaEmblem[];
|
||||
extern const u8 gItemIcon_OldSeaMap[];
|
||||
extern const u8 gItemIconPalette_OldSeaMap[];
|
||||
|
||||
extern const u8 gItemIcon_ReturnToFieldArrow[];
|
||||
extern const u8 gItemIconPalette_ReturnToFieldArrow[];
|
||||
|
||||
//menu graphics
|
||||
extern const u16 gFireRedMenuElements1_Pal[16];
|
||||
extern const u16 gFireRedMenuElements2_Pal[16];
|
||||
|
||||
@ -1,11 +1,32 @@
|
||||
#ifndef ITEM_H
|
||||
#define ITEM_H
|
||||
#ifndef GUARD_ITEM_H
|
||||
#define GUARD_ITEM_H
|
||||
|
||||
// These constants are used in gItems
|
||||
enum
|
||||
{
|
||||
POCKET_NONE,
|
||||
POCKET_ITEMS,
|
||||
POCKET_POKE_BALLS,
|
||||
POCKET_TM_HM,
|
||||
POCKET_BERRIES,
|
||||
POCKET_KEY_ITEMS,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
ITEMS_POCKET,
|
||||
BALLS_POCKET,
|
||||
TMHM_POCKET,
|
||||
BERRIES_POCKET,
|
||||
KEYITEMS_POCKET,
|
||||
POCKETS_COUNT
|
||||
};
|
||||
|
||||
typedef void (*ItemUseFunc)(u8);
|
||||
|
||||
struct Item
|
||||
{
|
||||
u8 name[14];
|
||||
u8 name[ITEM_NAME_LENGTH];
|
||||
u16 itemId;
|
||||
u16 price;
|
||||
u8 holdEffect;
|
||||
@ -29,28 +50,41 @@ struct BagPocket
|
||||
|
||||
extern struct BagPocket gBagPockets[];
|
||||
|
||||
void GetBerryCountString(u8* dst, const u8* berryName, u32 quantity);
|
||||
void CopyItemName(u16 itemId, u8 *string);
|
||||
void CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity);
|
||||
void ApplyNewEncryptionKeyToBagItems(u32 newKey);
|
||||
void ApplyNewEncryptionKeyToBagItems_(u32 newKey);
|
||||
void SetBagItemsPointers(void);
|
||||
void CopyItemName(u16 itemId, u8 *dst);
|
||||
void CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity);
|
||||
void GetBerryCountString(u8 *dst, const u8 *berryName, u32 quantity);
|
||||
bool8 IsBagPocketNonEmpty(u8 pocket);
|
||||
bool8 CheckBagHasItem(u16 itemId, u16 count);
|
||||
bool8 HasAtLeastOneBerry(void);
|
||||
bool8 CheckBagHasSpace(u16 itemId, u16 count);
|
||||
bool8 AddBagItem(u16 itemId, u16 count);
|
||||
bool8 RemoveBagItem(u16 itemId, u16 count);
|
||||
u8 GetPocketByItemId(u16 itemId);
|
||||
void ClearItemSlots(struct ItemSlot *itemSlots, u8 b);
|
||||
void ClearItemSlots(struct ItemSlot *itemSlots, u8 itemCount);
|
||||
u8 CountUsedPCItemSlots(void);
|
||||
bool8 CheckPCHasItem(u16 itemId, u16 count);
|
||||
bool8 AddPCItem(u16 itemId, u16 count);
|
||||
void RemovePCItem(u8 index, u16 count);
|
||||
void CompactPCItems(void);
|
||||
void SwapRegisteredBike(void);
|
||||
const struct Item *ItemId_GetItem(u16 itemId);
|
||||
u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos);
|
||||
u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 pocketPos);
|
||||
void CompactItemsInBagPocket(struct BagPocket *bagPocket);
|
||||
void SortBerriesOrTMHMs(struct BagPocket *bagPocket);
|
||||
void MoveItemSlotInList(struct ItemSlot* itemSlots_, u32 from, u32 to_);
|
||||
void ClearBag(void);
|
||||
u16 CountTotalItemQuantityInBag(u16 itemId);
|
||||
bool8 AddPyramidBagItem(u16 itemId, u16 count);
|
||||
bool8 RemovePyramidBagItem(u16 itemId, u16 count);
|
||||
const u8 *ItemId_GetName(u16 itemId);
|
||||
u16 ItemId_GetId(u16 itemId);
|
||||
u16 ItemId_GetPrice(u16 itemId);
|
||||
u8 ItemId_GetHoldEffect(u16 itemId);
|
||||
u8 ItemId_GetHoldEffectParam(u16 itemId);
|
||||
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);
|
||||
@ -59,14 +93,5 @@ ItemUseFunc ItemId_GetFieldFunc(u16 itemId);
|
||||
u8 ItemId_GetBattleUsage(u16 itemId);
|
||||
ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
|
||||
u8 ItemId_GetSecondaryId(u16 itemId);
|
||||
u16 itemid_get_market_price(u16 itemId);
|
||||
u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 pocketPos);
|
||||
void sub_80D6FB4(struct BagPocket*);
|
||||
void sub_80D6F64(struct BagPocket*);
|
||||
void sub_80D702C(struct ItemSlot*, s16, u16);
|
||||
u8 sub_80D6CE4();
|
||||
bool8 itemid_is_unique(u16 itemId);
|
||||
void sub_80D6E48(u8, u16);
|
||||
void sub_80D6E84(void);
|
||||
|
||||
#endif // ITEM_H
|
||||
#endif // GUARD_ITEM_H
|
||||
|
||||
@ -55,7 +55,7 @@ void sub_81AAC14(void);
|
||||
void sub_81AAC50(void);
|
||||
void sub_81AAC70(void);
|
||||
void bag_menu_mail_related(void);
|
||||
|
||||
void CB2_BagMenuFromStartMenu(void);
|
||||
u8 sub_81ABB2C(u8 pocketId);
|
||||
|
||||
#endif //GUARD_item_menu_H
|
||||
|
||||
@ -21,11 +21,13 @@ void DisplayItemRespondingMessageAndExitItemfinder(u8);
|
||||
void RotatePlayerAndExitItemfinder(u8);
|
||||
void ItemUseOutOfBattle_PokeblockCase(u8);
|
||||
void ItemUseOutOfBattle_CoinCase(u8);
|
||||
void ItemUseOutOfBattle_PowderJar(u8);
|
||||
void ItemUseOutOfBattle_SSTicket(u8);
|
||||
void sub_80C9D00(u8);
|
||||
void ItemUseOutOfBattle_WailmerPail(u8);
|
||||
void sub_80C9D74(u8);
|
||||
void ItemUseOutOfBattle_Medicine(u8);
|
||||
void ItemUseOutOfBattle_ReduceEV(u8);
|
||||
void ItemUseOutOfBattle_SacredAsh(u8);
|
||||
void ItemUseOutOfBattle_PPRecovery(u8);
|
||||
void ItemUseOutOfBattle_PPUp(u8);
|
||||
|
||||
@ -1,27 +1,35 @@
|
||||
#ifndef GUARD_LOAD_SAVE_H
|
||||
#define GUARD_LOAD_SAVE_H
|
||||
|
||||
extern bool32 gFlashMemoryPresent;
|
||||
extern struct SaveBlock1 gSaveblock1;
|
||||
extern struct SaveBlock2 gSaveblock2;
|
||||
extern struct PokemonStorage gPokemonStorage;
|
||||
|
||||
extern bool32 gFlashMemoryPresent;
|
||||
extern struct SaveBlock1 *gSaveBlock1Ptr;
|
||||
extern struct SaveBlock2 *gSaveBlock2Ptr;
|
||||
extern struct PokemonStorage *gPokemonStoragePtr;
|
||||
|
||||
void CheckForFlashMemory(void);
|
||||
void ClearSav2(void);
|
||||
void ClearSav1(void);
|
||||
void CheckForFlashMemory(void);
|
||||
void SetSaveBlocksPointers(u16 offset);
|
||||
void MoveSaveBlocks_ResetHeap(void);
|
||||
bool32 GetSecretBase2Field_9(void);
|
||||
u32 GetSecretBase2Field_9(void);
|
||||
void ClearSecretBase2Field_9(void);
|
||||
void SetSecretBase2Field_9(void);
|
||||
void SetSecretBase2Field_9_AndHideBG(void);
|
||||
void ClearSecretBase2Field_9_2(void);
|
||||
void sub_8076D48(void);
|
||||
void sub_8076D5C(void);
|
||||
void sav2_gender2_inplace_and_xFE(void);
|
||||
void SavePlayerParty(void);
|
||||
void LoadPlayerParty(void);
|
||||
void SaveMapObjects(void);
|
||||
void LoadMapObjects(void);
|
||||
void SaveSerializedGame(void);
|
||||
void LoadSerializedGame(void);
|
||||
void LoadPlayerBag(void);
|
||||
void SavePlayerBag(void);
|
||||
void SetSaveBlocksPointers(u16);
|
||||
void sub_8076D5C(void);
|
||||
void sav2_gender2_inplace_and_xFE(void);
|
||||
void ApplyNewEncryptionKeyToHword(u16 *hWord, u32 newKey);
|
||||
void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey);
|
||||
void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
|
||||
|
||||
#endif // GUARD_LOAD_SAVE_H
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
#ifndef GUARD_PALETTE_H
|
||||
#define GUARD_PALETTE_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#define gPaletteFade_selectedPalettes (gPaletteFade.multipurpose1) // normal and fast fade
|
||||
#define gPaletteFade_blendCnt (gPaletteFade.multipurpose1) // hardware fade
|
||||
#define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade
|
||||
|
||||
@ -9,5 +9,6 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
|
||||
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
|
||||
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
|
||||
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
|
||||
s32 convert_pixel_width_to_tile_width(s32 pixelWidth);
|
||||
|
||||
#endif //GUARD_SCRIPT_MENU_H
|
||||
|
||||
@ -12,5 +12,6 @@ u8 *GetSecretBaseMapName(u8 *dest);
|
||||
const u8 *GetSecretBaseTrainerLoseText(void);
|
||||
void sub_80E8EE0(struct MapEvents const *events);
|
||||
void sub_80E9238(u8 flagIn);
|
||||
bool8 CurrentMapIsSecretBase(void);
|
||||
|
||||
#endif //GUARD_SECRET_BASE_H
|
||||
|
||||
@ -74,6 +74,10 @@ extern const u8 gText_DecorationWillBeDiscarded[];
|
||||
extern const u8 gText_CantThrowAwayInUse[];
|
||||
extern const u8 gText_DecorationThrownAway[];
|
||||
|
||||
extern const u8 gText_PokeBalls[];
|
||||
extern const u8 gText_Berries[];
|
||||
extern const u8 gText_Berry[];
|
||||
|
||||
extern const u8 gText_Desk[];
|
||||
extern const u8 gText_Chair[];
|
||||
extern const u8 gText_Plant[];
|
||||
@ -336,7 +340,7 @@ extern const u8 gText_Var1DotVar2[];
|
||||
extern const u8 gText_ThreeMarks[];
|
||||
extern const u8 gText_FirmSlash[];
|
||||
|
||||
//item menu screen text
|
||||
// item menu screen text
|
||||
extern const u8 gText_CloseBag[];
|
||||
extern const u8 gText_ClearTo11Var1Clear5Var2[];
|
||||
extern const u8 gText_UnkF908Var1Clear7Var2[];
|
||||
@ -362,11 +366,11 @@ extern const u8 gText_DepositedVar2Var1s[];
|
||||
extern const u8 gText_NoRoomForItems[];
|
||||
extern const u8 gText_ThreeDashes[];
|
||||
|
||||
//party menu text
|
||||
// party menu text
|
||||
extern const u8 gText_PkmnHPRestoredByVar2[];
|
||||
extern const u8 gText_CantBeUsedOnPkmn[];
|
||||
|
||||
//birch dex rating text
|
||||
// birch dex rating text
|
||||
extern const u8 gBirchDexRatingText_LessThan10[];
|
||||
extern const u8 gBirchDexRatingText_LessThan20[];
|
||||
extern const u8 gBirchDexRatingText_LessThan30[];
|
||||
@ -389,7 +393,7 @@ extern const u8 gBirchDexRatingText_LessThan190[];
|
||||
extern const u8 gBirchDexRatingText_LessThan200[];
|
||||
extern const u8 gBirchDexRatingText_DexCompleted[];
|
||||
|
||||
//player pc text
|
||||
// player pc text
|
||||
extern const u8 gText_WhatWouldYouLike[];
|
||||
extern const u8 gText_NoMailHere[];
|
||||
|
||||
@ -429,5 +433,14 @@ extern const u8 gText_TooImportantToToss[];
|
||||
extern const u8 gText_ConfirmTossItems[];
|
||||
extern const u8 gText_MoveVar1Where[];
|
||||
|
||||
extern const u8 gText_Tristan[];
|
||||
extern const u8 gText_Philip[];
|
||||
extern const u8 gText_Dennis[];
|
||||
extern const u8 gText_Roberto[];
|
||||
extern const u8 gText_FiveMarks[];
|
||||
|
||||
extern const u8 gText_TotalRecordWLD[];
|
||||
extern const u8 gText_PlayersBattleResults[];
|
||||
extern const u8 gText_WinLoseDraw[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
||||
35
include/trainer_card.h
Normal file
35
include/trainer_card.h
Normal file
@ -0,0 +1,35 @@
|
||||
#ifndef GUARD_TRAINER_CARD_H
|
||||
#define GUARD_TRAINER_CARD_H
|
||||
|
||||
struct TrainerCard
|
||||
{
|
||||
/*0x00*/ u8 gender;
|
||||
/*0x01*/ u8 stars;
|
||||
/*0x02*/ bool8 hasPokedex;
|
||||
/*0x03*/ bool8 var_3;
|
||||
/*0x04*/ bool8 var_4;
|
||||
/*0x05*/ u8 var_5;
|
||||
/*0x06*/ u16 firstHallOfFameA;
|
||||
/*0x08*/ u16 firstHallOfFameB;
|
||||
/*0x0A*/ u16 firstHallOfFameC;
|
||||
/*0x0C*/ u16 pokedexSeen;
|
||||
/*0x0E*/ u16 trainerId;
|
||||
/*0x10*/ u16 playTimeHours;
|
||||
/*0x12*/ u16 playTimeMinutes;
|
||||
/*0x14*/ u16 linkBattleWins;
|
||||
/*0x16*/ u16 linkBattleLosses;
|
||||
/*0x18*/ u16 battleTowerWins;
|
||||
/*0x1A*/ u16 battleTowerLosses;
|
||||
/*0x1C*/ u16 contestsWithFriends;
|
||||
/*0x1E*/ u16 pokeblocksWithFriends;
|
||||
/*0x20*/ u16 pokemonTrades;
|
||||
/*0x22*/ u16 var_22;
|
||||
/*0x24*/ u32 money;
|
||||
/*0x28*/ u16 var_28[4];
|
||||
/*0x30*/ u8 playerName[8];
|
||||
/*0x38*/ u8 emeraldAddedUnknownFields[0x64-0x38];
|
||||
};
|
||||
|
||||
extern struct TrainerCard gTrainerCards[4];
|
||||
|
||||
#endif // GUARD_TRAINER_CARD_H
|
||||
@ -137,7 +137,6 @@ SECTIONS {
|
||||
src/item_menu_icons.o(.text);
|
||||
asm/battle_anim_80D51AC.o(.text);
|
||||
src/item.o(.text);
|
||||
asm/item.o(.text);
|
||||
asm/contest.o(.text);
|
||||
asm/shop.o(.text);
|
||||
src/berry.o(.text);
|
||||
@ -173,7 +172,7 @@ SECTIONS {
|
||||
asm/slot_machine.o(.text);
|
||||
asm/contest_painting.o(.text);
|
||||
src/battle_ai_script_commands.o(.text);
|
||||
asm/trader.o(.text);
|
||||
src/trader.o(.text);
|
||||
src/starter_choose.o(.text);
|
||||
src/wallclock.o(.text);
|
||||
src/rom6.o(.text);
|
||||
@ -184,7 +183,7 @@ SECTIONS {
|
||||
src/birch_pc.o(.text);
|
||||
src/hof_pc.o(.text);
|
||||
asm/field_specials.o(.text);
|
||||
asm/battle_records.o(.text);
|
||||
src/battle_records.o(.text);
|
||||
asm/pokedex_area_screen.o(.text);
|
||||
src/evolution_scene.o(.text);
|
||||
asm/roulette.o(.text);
|
||||
@ -434,7 +433,6 @@ SECTIONS {
|
||||
data/fldeff_cut.o(.rodata);
|
||||
src/map_name_popup.o(.rodata);
|
||||
src/item_menu_icons.o(.rodata);
|
||||
data/item_menu_icons.o(.rodata);
|
||||
data/contest.o(.rodata);
|
||||
data/shop.o(.rodata);
|
||||
src/berry.o(.rodata);
|
||||
@ -466,14 +464,14 @@ SECTIONS {
|
||||
data/slot_machine.o(.rodata);
|
||||
data/contest_painting.o(.rodata);
|
||||
src/battle_ai_script_commands.o(.rodata);
|
||||
data/trader.o(.rodata);
|
||||
src/trader.o(.rodata);
|
||||
data/starter_choose.o(.rodata);
|
||||
src/wallclock.o(.rodata);
|
||||
src/pokeblock.o(.rodata);
|
||||
src/fldeff_flash.o(.rodata);
|
||||
src/time_events.o(.rodata);
|
||||
data/field_specials.o(.rodata);
|
||||
data/battle_records.o(.rodata);
|
||||
src/battle_records.o(.rodata);
|
||||
data/pokedex_area_screen.o(.rodata);
|
||||
src/evolution_scene.o(.rodata);
|
||||
data/roulette.o(.rodata);
|
||||
@ -524,7 +522,6 @@ SECTIONS {
|
||||
src/item_menu.o(.rodata);
|
||||
data/menu_indicators.o(.rodata);
|
||||
src/save_location.o(.rodata);
|
||||
data/item_icon.o(.rodata);
|
||||
src/item_icon.o(.rodata);
|
||||
data/party_menu.o(.rodata);
|
||||
data/battle_tent.o(.rodata);
|
||||
|
||||
510
src/battle_records.c
Normal file
510
src/battle_records.c
Normal file
@ -0,0 +1,510 @@
|
||||
#include "global.h"
|
||||
#include "battle_records.h"
|
||||
#include "bg.h"
|
||||
#include "window.h"
|
||||
#include "link.h"
|
||||
#include "battle.h"
|
||||
#include "overworld.h"
|
||||
#include "text.h"
|
||||
#include "text_window.h"
|
||||
#include "strings.h"
|
||||
#include "string_util.h"
|
||||
#include "trainer_card.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "palette.h"
|
||||
#include "main.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "international_string_util.h"
|
||||
#include "sound.h"
|
||||
#include "constants/songs.h"
|
||||
#include "malloc.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "constants/game_stat.h"
|
||||
|
||||
extern void PrintOnTrainerHillRecordsWindow(void); // pokenav.s
|
||||
|
||||
// this file's functions
|
||||
static void Task_CloseTrainerHillRecordsOnButton(u8 taskId);
|
||||
static void Task_BeginPaletteFade(u8 taskId);
|
||||
static void Task_ExitTrainerHillRecords(u8 taskId);
|
||||
static void RemoveTrainerHillRecordsWindow(u8 windowId);
|
||||
static void CB2_ShowTrainerHillRecords(void);
|
||||
|
||||
// EWRAM variables
|
||||
EWRAM_DATA u8 gRecordsWindowId = 0;
|
||||
EWRAM_DATA static u8 *sTilemapBuffer = NULL;
|
||||
|
||||
// const rom data
|
||||
static const u32 sTrainerHillWindowTileset[] = INCBIN_U32("graphics/unknown/unknown_5B3484.4bpp");
|
||||
static const u16 sTrainerHillWindowPalette[] = INCBIN_U16("graphics/unknown/unknown_5B3484.gbapal");
|
||||
static const u32 sTrainerHillWindowTilemap[] = INCBIN_U32("graphics/unknown/unknown_5B3564.bin");
|
||||
|
||||
static const struct BgTemplate sTrainerHillRecordsBgTemplates[] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0
|
||||
},
|
||||
{
|
||||
.bg = 3,
|
||||
.charBaseIndex = 1,
|
||||
.mapBaseIndex = 30,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0
|
||||
}
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sTrainerHillRecordsWindowTemplates[] =
|
||||
{
|
||||
{0x0, 0x2, 0x1, 0x1A, 0x12, 0xF, 0x14},
|
||||
DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sLinkBattleRecordsWindow = {0x0, 0x2, 0x1, 0x1A, 0x11, 0xF, 0x1};
|
||||
|
||||
static const u8 sText_DashesNoPlayer[] = _("-------");
|
||||
static const u8 sText_DashesNoScore[] = _("----");
|
||||
|
||||
// code
|
||||
static void ClearLinkBattleRecord(struct LinkBattleRecord *record)
|
||||
{
|
||||
CpuFill16(0, record, sizeof(struct LinkBattleRecord));
|
||||
record->name[0] = EOS;
|
||||
record->trainerId = 0;
|
||||
record->wins = 0;
|
||||
record->losses = 0;
|
||||
record->draws = 0;
|
||||
}
|
||||
|
||||
static void ClearLinkBattleRecords(struct LinkBattleRecord *records)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
|
||||
{
|
||||
ClearLinkBattleRecord(records + i);
|
||||
}
|
||||
SetGameStat(GAME_STAT_LINK_BATTLE_WINS, 0);
|
||||
SetGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 0);
|
||||
SetGameStat(GAME_STAT_LINK_BATTLE_DRAWS, 0);
|
||||
}
|
||||
|
||||
static s32 GetLinkBattleRecordTotalBattles(struct LinkBattleRecord *record)
|
||||
{
|
||||
return record->wins + record->losses + record->draws;
|
||||
}
|
||||
|
||||
static s32 FindLinkBattleRecord(struct LinkBattleRecord *records, const u8 *name, u16 trainerId)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
|
||||
{
|
||||
if (!StringCompareN(records[i].name, name, OT_NAME_LENGTH) && records[i].trainerId == trainerId)
|
||||
return i;
|
||||
}
|
||||
|
||||
return LINK_B_RECORDS_COUNT;
|
||||
}
|
||||
|
||||
static void SortLinkBattleRecords(struct LinkBattleRecords *records)
|
||||
{
|
||||
s32 i, j;
|
||||
|
||||
for (i = LINK_B_RECORDS_COUNT - 1; i > 0; i--)
|
||||
{
|
||||
for (j = i - 1; j >= 0; j--)
|
||||
{
|
||||
s32 totalBattlesI = GetLinkBattleRecordTotalBattles(&records->entries[i]);
|
||||
s32 totalBattlesJ = GetLinkBattleRecordTotalBattles(&records->entries[j]);
|
||||
|
||||
if (totalBattlesI > totalBattlesJ)
|
||||
{
|
||||
struct LinkBattleRecord temp1;
|
||||
u8 temp2;
|
||||
|
||||
temp1 = records->entries[i];
|
||||
records->entries[i] = records->entries[j];
|
||||
records->entries[j] = temp1;
|
||||
|
||||
temp2 = records->languages[i];
|
||||
records->languages[i] = records->languages[j];
|
||||
records->languages[j] = temp2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void UpdateLinkBattleRecord(struct LinkBattleRecord *record, s32 battleOutcome)
|
||||
{
|
||||
switch (battleOutcome)
|
||||
{
|
||||
case B_OUTCOME_WON:
|
||||
record->wins++;
|
||||
if (record->wins > 9999)
|
||||
record->wins = 9999;
|
||||
break;
|
||||
case B_OUTCOME_LOST:
|
||||
record->losses++;
|
||||
if (record->losses > 9999)
|
||||
record->losses = 9999;
|
||||
break;
|
||||
case B_OUTCOME_DREW:
|
||||
record->draws++;
|
||||
if (record->draws > 9999)
|
||||
record->draws = 9999;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void UpdateLinkBattleGameStats(s32 battleOutcome)
|
||||
{
|
||||
u8 stat;
|
||||
|
||||
switch (battleOutcome)
|
||||
{
|
||||
case B_OUTCOME_WON:
|
||||
stat = GAME_STAT_LINK_BATTLE_WINS;
|
||||
break;
|
||||
case B_OUTCOME_LOST:
|
||||
stat = GAME_STAT_LINK_BATTLE_LOSSES;
|
||||
break;
|
||||
case B_OUTCOME_DREW:
|
||||
stat = GAME_STAT_LINK_BATTLE_DRAWS;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
if (GetGameStat(stat) < 9999)
|
||||
IncrementGameStat(stat);
|
||||
}
|
||||
|
||||
static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battlerId)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
UpdateLinkBattleGameStats(battleOutcome);
|
||||
SortLinkBattleRecords(records);
|
||||
index = FindLinkBattleRecord(records->entries, name, trainerId);
|
||||
if (index == LINK_B_RECORDS_COUNT)
|
||||
{
|
||||
index = LINK_B_RECORDS_COUNT - 1;
|
||||
ClearLinkBattleRecord(&records->entries[index]);
|
||||
StringCopyN(records->entries[index].name, name, OT_NAME_LENGTH);
|
||||
records->entries[index].trainerId = trainerId;
|
||||
records->languages[index] = gLinkPlayers[battlerId].language;
|
||||
}
|
||||
UpdateLinkBattleRecord(&records->entries[index], battleOutcome);
|
||||
SortLinkBattleRecords(records);
|
||||
}
|
||||
|
||||
void ClearPlayerLinkBattleRecords(void)
|
||||
{
|
||||
ClearLinkBattleRecords(gSaveBlock1Ptr->linkBattleRecords.entries);
|
||||
}
|
||||
|
||||
static void IncTrainerCardWins(s32 battlerId)
|
||||
{
|
||||
u16 *wins = &gTrainerCards[battlerId].linkBattleWins;
|
||||
(*wins)++;
|
||||
if (*wins > 9999)
|
||||
*wins = 9999;
|
||||
}
|
||||
|
||||
static void IncTrainerCardLosses(s32 battlerId)
|
||||
{
|
||||
u16 *losses = &gTrainerCards[battlerId].linkBattleLosses;
|
||||
(*losses)++;
|
||||
if (*losses > 9999)
|
||||
*losses = 9999;
|
||||
}
|
||||
|
||||
static void UpdateTrainerCardWinsLosses(s32 battlerId)
|
||||
{
|
||||
switch (gBattleOutcome)
|
||||
{
|
||||
case B_OUTCOME_WON:
|
||||
IncTrainerCardWins(BATTLE_OPPOSITE(battlerId));
|
||||
IncTrainerCardLosses(battlerId);
|
||||
break;
|
||||
case B_OUTCOME_LOST:
|
||||
IncTrainerCardLosses(BATTLE_OPPOSITE(battlerId));
|
||||
IncTrainerCardWins(battlerId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdatePlayerLinkBattleRecords(s32 battlerId)
|
||||
{
|
||||
if (InUnionRoom() != TRUE)
|
||||
{
|
||||
UpdateTrainerCardWinsLosses(battlerId);
|
||||
UpdateLinkBattleRecords(
|
||||
&gSaveBlock1Ptr->linkBattleRecords,
|
||||
gTrainerCards[battlerId].playerName,
|
||||
gTrainerCards[battlerId].trainerId,
|
||||
gBattleOutcome,
|
||||
battlerId);
|
||||
}
|
||||
}
|
||||
|
||||
static void PrintLinkBattleWinsLossesDraws(struct LinkBattleRecord *records)
|
||||
{
|
||||
s32 x;
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, GetGameStat(GAME_STAT_LINK_BATTLE_WINS), STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
ConvertIntToDecimalStringN(gStringVar2, GetGameStat(GAME_STAT_LINK_BATTLE_LOSSES), STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
ConvertIntToDecimalStringN(gStringVar3, GetGameStat(GAME_STAT_LINK_BATTLE_DRAWS), STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TotalRecordWLD);
|
||||
|
||||
x = GetStringCenterAlignXOffset(1, gStringVar4, 0xD0);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gStringVar4, x, 0x11, 0, NULL);
|
||||
}
|
||||
|
||||
static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y, s32 language)
|
||||
{
|
||||
if (record->wins == 0 && record->losses == 0 && record->draws == 0)
|
||||
{
|
||||
// empty slot
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, sText_DashesNoPlayer, 8, (y * 8) + 1, 0, NULL);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, sText_DashesNoScore, 80, (y * 8) + 1, 0, NULL);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, sText_DashesNoScore, 128, (y * 8) + 1, 0, NULL);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, sText_DashesNoScore, 176, (y * 8) + 1, 0, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
StringFillWithTerminator(gStringVar1, 8);
|
||||
StringCopyN(gStringVar1, record->name, 7);
|
||||
ConvertInternationalString(gStringVar1, language);
|
||||
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gStringVar1, 8, (y * 8) + 1, 0, NULL);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, record->wins, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gStringVar1, 80, (y * 8) + 1, 0, NULL);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, record->losses, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gStringVar1, 128, (y * 8) + 1, 0, NULL);
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, record->draws, STR_CONV_MODE_RIGHT_ALIGN, 4);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gStringVar1, 176, (y * 8) + 1, 0, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void ShowLinkBattleRecords(void)
|
||||
{
|
||||
s32 i, x;
|
||||
|
||||
gRecordsWindowId = AddWindow(&sLinkBattleRecordsWindow);
|
||||
NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
|
||||
FillWindowPixelBuffer(gRecordsWindowId, 0x11);
|
||||
StringExpandPlaceholders(gStringVar4, gText_PlayersBattleResults);
|
||||
|
||||
x = GetStringCenterAlignXOffset(1, gStringVar4, 208);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gStringVar4, x, 1, 0, NULL);
|
||||
PrintLinkBattleWinsLossesDraws(gSaveBlock1Ptr->linkBattleRecords.entries);
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, gText_WinLoseDraw);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gStringVar4, 0, 41, 0, NULL);
|
||||
|
||||
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
|
||||
{
|
||||
PrintLinkBattleRecord(&gSaveBlock1Ptr->linkBattleRecords.entries[i], 7 + (i * 2), gSaveBlock1Ptr->linkBattleRecords.languages[i]);
|
||||
}
|
||||
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
}
|
||||
|
||||
void RemoveRecordsWindow(void)
|
||||
{
|
||||
sub_819746C(gRecordsWindowId, FALSE);
|
||||
RemoveWindow(gRecordsWindowId);
|
||||
}
|
||||
|
||||
static void Task_TrainerHillWaitForPaletteFade(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
gTasks[taskId].func = Task_CloseTrainerHillRecordsOnButton;
|
||||
}
|
||||
|
||||
static void Task_CloseTrainerHillRecordsOnButton(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
task->func = Task_BeginPaletteFade;
|
||||
}
|
||||
}
|
||||
|
||||
static void Task_BeginPaletteFade(u8 taskId)
|
||||
{
|
||||
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
|
||||
gTasks[taskId].func = Task_ExitTrainerHillRecords;
|
||||
}
|
||||
|
||||
static void Task_ExitTrainerHillRecords(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
Free(sTilemapBuffer);
|
||||
RemoveTrainerHillRecordsWindow(0);
|
||||
FreeAllWindowBuffers();
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
static void RemoveTrainerHillRecordsWindow(u8 windowId)
|
||||
{
|
||||
FillWindowPixelBuffer(windowId, 0);
|
||||
ClearWindowTilemap(windowId);
|
||||
CopyWindowToVram(windowId, 2);
|
||||
RemoveWindow(windowId);
|
||||
}
|
||||
|
||||
static void ClearVramOamPlttRegs(void)
|
||||
{
|
||||
DmaClearLarge16(3, (void*)(VRAM), VRAM_SIZE, 0x1000);
|
||||
DmaClear32(3, OAM, OAM_SIZE);
|
||||
DmaClear16(3, PLTT, PLTT_SIZE);
|
||||
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG0CNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG0HOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG0VOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG1CNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG2CNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG2HOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG3CNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BG3HOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_BG3VOFS, 0);
|
||||
SetGpuReg(REG_OFFSET_WIN0H, 0);
|
||||
SetGpuReg(REG_OFFSET_WIN0V, 0);
|
||||
SetGpuReg(REG_OFFSET_WININ, 0);
|
||||
SetGpuReg(REG_OFFSET_WINOUT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
}
|
||||
|
||||
static void ClearTasksAndGraphicalStructs(void)
|
||||
{
|
||||
ScanlineEffect_Stop();
|
||||
ResetTasks();
|
||||
ResetSpriteData();
|
||||
ResetPaletteFade();
|
||||
FreeAllSpritePalettes();
|
||||
}
|
||||
|
||||
static void ResetBgCoordinates(void)
|
||||
{
|
||||
ChangeBgX(0, 0, 0);
|
||||
ChangeBgY(0, 0, 0);
|
||||
ChangeBgX(1, 0, 0);
|
||||
ChangeBgY(1, 0, 0);
|
||||
ChangeBgX(2, 0, 0);
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgX(3, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
}
|
||||
|
||||
static void SetDispcntReg(void)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_BG0_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_1D_MAP);
|
||||
}
|
||||
|
||||
static void LoadTrainerHillRecordsWindowGfx(u8 bgId)
|
||||
{
|
||||
LoadBgTiles(bgId, sTrainerHillWindowTileset, sizeof(sTrainerHillWindowTileset), 0);
|
||||
CopyToBgTilemapBufferRect(bgId, sTrainerHillWindowTilemap, 0, 0, 0x20, 0x20);
|
||||
LoadPalette(sTrainerHillWindowPalette, 0, 0x20);
|
||||
}
|
||||
|
||||
static void VblankCB_TrainerHillRecords(void)
|
||||
{
|
||||
LoadOam();
|
||||
ProcessSpriteCopyRequests();
|
||||
TransferPlttBuffer();
|
||||
}
|
||||
|
||||
static void MainCB2_TrainerHillRecords(void)
|
||||
{
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
UpdatePaletteFade();
|
||||
}
|
||||
|
||||
void ShowTrainerHillRecords(void)
|
||||
{
|
||||
SetVBlankCallback(NULL);
|
||||
SetMainCallback2(CB2_ShowTrainerHillRecords);
|
||||
}
|
||||
|
||||
static void CB2_ShowTrainerHillRecords(void)
|
||||
{
|
||||
switch (gMain.state)
|
||||
{
|
||||
case 0:
|
||||
SetVBlankCallback(NULL);
|
||||
ClearVramOamPlttRegs();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 1:
|
||||
ClearTasksAndGraphicalStructs();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 2:
|
||||
sTilemapBuffer = AllocZeroed(0x800);
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, sTrainerHillRecordsBgTemplates, ARRAY_COUNT(sTrainerHillRecordsBgTemplates));
|
||||
SetBgTilemapBuffer(3, sTilemapBuffer);
|
||||
ResetBgCoordinates();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 3:
|
||||
LoadTrainerHillRecordsWindowGfx(3);
|
||||
LoadPalette(stdpal_get(0), 0xF0, 0x20);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 4:
|
||||
if (IsDma3ManagerBusyWithBgCopy() != TRUE)
|
||||
{
|
||||
ShowBg(0);
|
||||
ShowBg(3);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
InitWindows(sTrainerHillRecordsWindowTemplates);
|
||||
DeactivateAllTextPrinters();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 6:
|
||||
BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 7:
|
||||
SetDispcntReg();
|
||||
SetVBlankCallback(VblankCB_TrainerHillRecords);
|
||||
PrintOnTrainerHillRecordsWindow();
|
||||
CreateTask(Task_TrainerHillWaitForPaletteFade, 8);
|
||||
SetMainCallback2(MainCB2_TrainerHillRecords);
|
||||
gMain.state = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1218,7 +1218,7 @@ void FieldObjectInteractionRemoveBerryTree(void)
|
||||
|
||||
u8 PlayerHasBerries(void)
|
||||
{
|
||||
return IsBagPocketNonEmpty(BAG_BERRIES);
|
||||
return IsBagPocketNonEmpty(POCKET_BERRIES);
|
||||
}
|
||||
|
||||
void ResetBerryTreeSparkleFlags(void)
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
#include "trig.h"
|
||||
#include "tv.h"
|
||||
#include "item_menu.h"
|
||||
#include "battle_records.h"
|
||||
|
||||
#define BLENDER_SCORE_BEST 0
|
||||
#define BLENDER_SCORE_GOOD 1
|
||||
@ -131,7 +132,6 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2;
|
||||
extern struct MusicPlayerInfo gMPlayInfo_BGM;
|
||||
extern u8 gInGameOpponentsNo;
|
||||
extern u8 gUnknown_020322D5;
|
||||
extern u8 gResultsWindowId;
|
||||
|
||||
// graphics
|
||||
extern const u8 gBerryBlenderArrowTiles[];
|
||||
@ -2472,7 +2472,7 @@ static void CB2_HandleBlenderEndGame(void)
|
||||
sub_8081F94(&gSendCmd[0]);
|
||||
if (sBerryBlenderData->yesNoAnswer == 0)
|
||||
{
|
||||
if (IsBagPocketNonEmpty(BAG_BERRIES) == FALSE) // no berries
|
||||
if (IsBagPocketNonEmpty(POCKET_BERRIES) == FALSE) // no berries
|
||||
{
|
||||
sBerryBlenderData->playAgainState = CANT_PLAY_NO_BERRIES;
|
||||
gSendCmd[1] = 0x9999;
|
||||
@ -3485,13 +3485,13 @@ void ShowBerryBlenderRecordWindow(void)
|
||||
u8 text[32];
|
||||
|
||||
winTemplate = sBlenderRecordWindowTemplate;
|
||||
gResultsWindowId = AddWindow(&winTemplate);
|
||||
NewMenuHelpers_DrawStdWindowFrame(gResultsWindowId, 0);
|
||||
FillWindowPixelBuffer(gResultsWindowId, 0x11);
|
||||
gRecordsWindowId = AddWindow(&winTemplate);
|
||||
NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, 0);
|
||||
FillWindowPixelBuffer(gRecordsWindowId, 0x11);
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gText_BlenderMaxSpeedRecord, 0x90);
|
||||
PrintTextOnWindow(gResultsWindowId, 1, gText_BlenderMaxSpeedRecord, xPos, 1, 0, NULL);
|
||||
PrintTextOnWindow(gResultsWindowId, 1, gText_234Players, 4, 0x29, 0, NULL);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gText_BlenderMaxSpeedRecord, xPos, 1, 0, NULL);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, gText_234Players, 4, 0x29, 0, NULL);
|
||||
|
||||
for (i = 0, yPos = 0x29; i < BLENDER_SCORES_NO; i++)
|
||||
{
|
||||
@ -3506,11 +3506,11 @@ void ShowBerryBlenderRecordWindow(void)
|
||||
txtPtr = StringAppend(txtPtr, sText_RPM);
|
||||
|
||||
xPos = GetStringRightAlignXOffset(1, text, 0x8C);
|
||||
PrintTextOnWindow(gResultsWindowId, 1, text, xPos, yPos + (i * 16), 0, NULL);
|
||||
PrintTextOnWindow(gRecordsWindowId, 1, text, xPos, yPos + (i * 16), 0, NULL);
|
||||
}
|
||||
|
||||
PutWindowTilemap(gResultsWindowId);
|
||||
CopyWindowToVram(gResultsWindowId, 3);
|
||||
PutWindowTilemap(gRecordsWindowId);
|
||||
CopyWindowToVram(gRecordsWindowId, 3);
|
||||
}
|
||||
|
||||
static void sub_8083F3C(u8 taskId)
|
||||
|
||||
@ -517,7 +517,7 @@ static void TryChangeDisplayedBerry(u8 taskId, s8 toMove)
|
||||
s16 *data = gTasks[taskId].data;
|
||||
s16 currPocketPosition = gUnknown_0203CE58.scrollPosition[3] + gUnknown_0203CE58.cursorPosition[3];
|
||||
u32 newPocketPosition = currPocketPosition + toMove;
|
||||
if (newPocketPosition < 46 && BagGetItemIdByPocketPosition(BAG_BERRIES, newPocketPosition) != 0)
|
||||
if (newPocketPosition < 46 && BagGetItemIdByPocketPosition(POCKET_BERRIES, newPocketPosition) != 0)
|
||||
{
|
||||
if (toMove < 0)
|
||||
data[1] = 2;
|
||||
@ -537,7 +537,7 @@ static void HandleBagCursorPositionChange(s8 toMove)
|
||||
u16 *cursorPos = &gUnknown_0203CE58.cursorPosition[3];
|
||||
if (toMove > 0)
|
||||
{
|
||||
if (*cursorPos < 4 || BagGetItemIdByPocketPosition(BAG_BERRIES, *scrollPos + 8) == 0)
|
||||
if (*cursorPos < 4 || BagGetItemIdByPocketPosition(POCKET_BERRIES, *scrollPos + 8) == 0)
|
||||
*cursorPos += toMove;
|
||||
else
|
||||
*scrollPos += toMove;
|
||||
@ -550,7 +550,7 @@ static void HandleBagCursorPositionChange(s8 toMove)
|
||||
*scrollPos += toMove;
|
||||
}
|
||||
|
||||
sBerryTag->berryId = ItemIdToBerryType(BagGetItemIdByPocketPosition(BAG_BERRIES, *scrollPos + *cursorPos));
|
||||
sBerryTag->berryId = ItemIdToBerryType(BagGetItemIdByPocketPosition(POCKET_BERRIES, *scrollPos + *cursorPos));
|
||||
}
|
||||
|
||||
static void Task_DisplayAnotherBerry(u8 taskId)
|
||||
|
||||
4
src/bg.c
4
src/bg.c
@ -965,9 +965,9 @@ void CopyBgTilemapBufferToVram(u8 bg)
|
||||
}
|
||||
}
|
||||
|
||||
void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height)
|
||||
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height)
|
||||
{
|
||||
void* srcCopy;
|
||||
const void* srcCopy;
|
||||
u16 destX16;
|
||||
u16 destY16;
|
||||
u16 mode;
|
||||
|
||||
1035
src/item.c
1035
src/item.c
File diff suppressed because it is too large
Load Diff
@ -4,13 +4,13 @@
|
||||
#include "sprite.h"
|
||||
#include "decompress.h"
|
||||
#include "constants/items.h"
|
||||
#include "data/item_icon_table.h"
|
||||
|
||||
// EWRAM vars
|
||||
EWRAM_DATA void *gItemIconDecompressionBuffer = NULL;
|
||||
EWRAM_DATA void *gItemIcon4x4Buffer = NULL;
|
||||
|
||||
// const rom data
|
||||
extern const void *const gItemIconTable[][2]; // todo: move to C file
|
||||
|
||||
static const struct OamData sOamData_ItemIcon =
|
||||
{
|
||||
|
||||
@ -72,7 +72,7 @@ void AddBagItemIconSprite(u16, u8);
|
||||
void bag_menu_print_description_box_text(int);
|
||||
void bag_menu_print_cursor(u8, u8);
|
||||
void bag_menu_print(u8, u8, const u8*, u8, u8, u8, u8, u8, u8);
|
||||
bool8 itemid_is_unique(u16);
|
||||
bool8 ItemId_GetImportance(u16);
|
||||
u16 BagGetQuantityByPocketPosition(u8, u16);
|
||||
void sub_81AB89C(void);
|
||||
void task_close_bag_menu_2(u8);
|
||||
@ -687,7 +687,7 @@ void sub_81AB520(u8 rboxId, int item_index_in_pocket, u8 a)
|
||||
offset = GetStringRightAlignXOffset(7, gStringVar4, 0x77);
|
||||
bag_menu_print(rboxId, 7, gStringVar4, offset, a, 0, 0, -1, 0);
|
||||
}
|
||||
else if (gUnknown_0203CE58.pocket != 4 && (unique = itemid_is_unique(itemId)) == FALSE)
|
||||
else if (gUnknown_0203CE58.pocket != 4 && (unique = ItemId_GetImportance(itemId)) == FALSE)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, itemQuantity, 1, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_xVar1);
|
||||
@ -804,10 +804,10 @@ void sub_81AB9A8(u8 pocketId)
|
||||
{
|
||||
case 2:
|
||||
case 3:
|
||||
sub_80D6FB4(pocket);
|
||||
SortBerriesOrTMHMs(pocket);
|
||||
break;
|
||||
default:
|
||||
sub_80D6F64(pocket);
|
||||
CompactItemsInBagPocket(pocket);
|
||||
break;
|
||||
}
|
||||
gUnknown_0203CE54->unk829[pocketId] = 0;
|
||||
@ -847,9 +847,9 @@ void sub_81ABAE0(void)
|
||||
sub_8122298(&gUnknown_0203CE58.scrollPosition[i], &gUnknown_0203CE58.cursorPosition[i], gUnknown_0203CE54->unk82E[i], gUnknown_0203CE54->unk829[i], 8);
|
||||
}
|
||||
|
||||
u8 sub_81ABB2C(u8 a)
|
||||
u8 sub_81ABB2C(u8 pocketId)
|
||||
{
|
||||
return gUnknown_0203CE58.scrollPosition[a] + gUnknown_0203CE58.cursorPosition[a];
|
||||
return gUnknown_0203CE58.scrollPosition[pocketId] + gUnknown_0203CE58.cursorPosition[pocketId];
|
||||
}
|
||||
|
||||
void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void ( *callback)(u8 taskId))
|
||||
@ -1179,7 +1179,7 @@ void sub_81AC498(u8 taskId)
|
||||
sub_81AC590(taskId);
|
||||
else
|
||||
{
|
||||
sub_80D702C(gBagPockets[gUnknown_0203CE58.pocket].itemSlots, data[1], realPos);
|
||||
MoveItemSlotInList(gBagPockets[gUnknown_0203CE58.pocket].itemSlots, data[1], realPos);
|
||||
gUnknown_0203CE54->unk81A = -1;
|
||||
DestroyListMenuTask(data[0], scrollPos, cursorPos);
|
||||
if (data[1] < realPos)
|
||||
@ -1231,7 +1231,7 @@ void sub_81AC644(u8 unused)
|
||||
gUnknown_0203CE54->unk828 = 4;
|
||||
break;
|
||||
case 8:
|
||||
if (!itemid_is_unique(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY)
|
||||
if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY)
|
||||
{
|
||||
gUnknown_0203CE54->unk820 = gUnknown_0861404B;
|
||||
gUnknown_0203CE54->unk828 = 2;
|
||||
@ -1243,7 +1243,7 @@ void sub_81AC644(u8 unused)
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (!itemid_is_unique(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY)
|
||||
if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY)
|
||||
{
|
||||
gUnknown_0203CE54->unk820 = gUnknown_0861404D;
|
||||
gUnknown_0203CE54->unk828 = 2;
|
||||
@ -1255,7 +1255,7 @@ void sub_81AC644(u8 unused)
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (!itemid_is_unique(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY)
|
||||
if (!ItemId_GetImportance(gSpecialVar_ItemId) && gSpecialVar_ItemId != ITEM_ENIGMA_BERRY)
|
||||
{
|
||||
gUnknown_0203CE54->unk820 = gUnknown_0861404F;
|
||||
gUnknown_0203CE54->unk828 = 2;
|
||||
@ -1605,7 +1605,7 @@ void ItemMenu_Give(u8 taskId)
|
||||
{
|
||||
DisplayItemMessage(taskId, 1, gText_CantWriteMail, sub_81AD350);
|
||||
}
|
||||
else if (!itemid_is_unique(gSpecialVar_ItemId))
|
||||
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
{
|
||||
if (CalculatePlayerPartyCount() == 0)
|
||||
bag_menu_print_there_is_no_pokemon(taskId);
|
||||
@ -1686,7 +1686,7 @@ void item_menu_type_2(u8 taskId)
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1CantBeHeldHere);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD350);
|
||||
}
|
||||
else if (gUnknown_0203CE58.pocket != 4 && !itemid_is_unique(gSpecialVar_ItemId))
|
||||
else if (gUnknown_0203CE58.pocket != 4 && !ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
{
|
||||
unknown_ItemMenu_Confirm(taskId);
|
||||
}
|
||||
@ -1700,7 +1700,7 @@ void item_menu_type_b(u8 taskId)
|
||||
{
|
||||
if (ItemIsMail(gSpecialVar_ItemId) == TRUE)
|
||||
DisplayItemMessage(taskId, 1, gText_CantWriteMail, sub_81AD350);
|
||||
else if (gUnknown_0203CE58.pocket != 4 && !itemid_is_unique(gSpecialVar_ItemId))
|
||||
else if (gUnknown_0203CE58.pocket != 4 && !ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
gTasks[taskId].func = unknown_ItemMenu_Confirm;
|
||||
else
|
||||
bag_menu_print_cant_be_held_msg(taskId);
|
||||
@ -1738,7 +1738,7 @@ void display_sell_item_ask_str(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
if (itemid_get_market_price(gSpecialVar_ItemId) == 0)
|
||||
if (ItemId_GetPrice(gSpecialVar_ItemId) == 0)
|
||||
{
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_CantBuyKeyItem);
|
||||
@ -1765,7 +1765,7 @@ void sub_81AD680(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar1, (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8], 0, 6);
|
||||
ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], 0, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ICanPayVar1);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD6E4);
|
||||
}
|
||||
@ -1790,7 +1790,7 @@ void sub_81AD730(u8 taskId)
|
||||
s16* data = gTasks[taskId].data;
|
||||
u8 windowId = bag_menu_add_window(8);
|
||||
|
||||
sub_81ABCC0(windowId, 1, (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
sub_81ABCC0(windowId, 1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
bag_menu_AddMoney_window();
|
||||
gTasks[taskId].func = sub_81AD794;
|
||||
}
|
||||
@ -1801,7 +1801,7 @@ void sub_81AD794(u8 taskId)
|
||||
|
||||
if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE)
|
||||
{
|
||||
sub_81ABCC0(gUnknown_0203CE54->unk818, data[8], (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
sub_81ABCC0(gUnknown_0203CE54->unk818, data[8], (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
}
|
||||
else if (gMain.newKeys & A_BUTTON)
|
||||
{
|
||||
@ -1825,7 +1825,7 @@ void sub_81AD84C(u8 taskId)
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
ConvertIntToDecimalStringN(gStringVar1, (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8], 0, 6);
|
||||
ConvertIntToDecimalStringN(gStringVar1, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8], 0, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_TurnedOverVar1ForVar2);
|
||||
DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD8C8);
|
||||
}
|
||||
@ -1838,7 +1838,7 @@ void sub_81AD8C8(u8 taskId)
|
||||
|
||||
PlaySE(SE_REGI);
|
||||
RemoveBagItem(gSpecialVar_ItemId, data[8]);
|
||||
AddMoney(&gSaveBlock1Ptr->money, (itemid_get_market_price(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
|
||||
DestroyListMenuTask(data[0], scrollPos, cursorPos);
|
||||
sub_81AB9A8(gUnknown_0203CE58.pocket);
|
||||
sub_81ABA88(gUnknown_0203CE58.pocket);
|
||||
@ -1908,7 +1908,7 @@ void sub_81ADB14(u8 taskId)
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
FillWindowPixelBuffer(1, 0);
|
||||
if (itemid_is_unique(gSpecialVar_ItemId))
|
||||
if (ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
{
|
||||
bag_menu_print(1, 1, gText_CantStoreImportantItems, 3, 1, 0, 0, 0, 0);
|
||||
gTasks[taskId].func = sub_81ADC0C;
|
||||
|
||||
@ -9,6 +9,9 @@
|
||||
#include "berry.h"
|
||||
#include "graphics.h"
|
||||
#include "constants/items.h"
|
||||
#include "item.h"
|
||||
#include "item_use.h"
|
||||
#include "constants/hold_effects.h"
|
||||
|
||||
struct CompressedTilesPal
|
||||
{
|
||||
@ -466,6 +469,9 @@ const struct SpriteTemplate gUnknown_0857FE88 =
|
||||
.callback = sub_80D5B48,
|
||||
};
|
||||
|
||||
#include "data/text/item_descriptions.h"
|
||||
#include "data/items.h"
|
||||
|
||||
// code
|
||||
void RemoveBagSprite(u8 id)
|
||||
{
|
||||
|
||||
@ -392,7 +392,7 @@ bool8 sub_818DC60(void)
|
||||
|
||||
static void sub_818DCAC(u8 *dest, u16 itemId)
|
||||
{
|
||||
StringCopy(dest, ItemId_GetItem(itemId)->name);
|
||||
StringCopy(dest, ItemId_GetName(itemId));
|
||||
}
|
||||
|
||||
void sub_818DCC8(void)
|
||||
@ -671,7 +671,7 @@ static u8 sub_818E258(const u8 *str)
|
||||
|
||||
void sub_818E274(void)
|
||||
{
|
||||
StringCopy(gStringVar1, ItemId_GetItem(gUnknown_0203CD68->itemId)->name);
|
||||
StringCopy(gStringVar1, ItemId_GetName(gUnknown_0203CD68->itemId));
|
||||
}
|
||||
|
||||
bool8 sub_818E298(void)
|
||||
|
||||
@ -4,33 +4,30 @@
|
||||
#include "main.h"
|
||||
#include "pokemon.h"
|
||||
#include "random.h"
|
||||
#include "malloc.h"
|
||||
#include "item.h"
|
||||
|
||||
extern void* gUnknown_0203CF5C;
|
||||
|
||||
extern bool16 IdentifyFlash(void);
|
||||
extern void SetBagItemsPointers(void);
|
||||
extern void SetDecorationInventoriesPointers(void);
|
||||
extern void ApplyNewEncryptionKeyToGameStats(u32 key);
|
||||
extern void ApplyNewEncryptionKeyToBagItems(u32 newKey);
|
||||
extern void ApplyNewEncryptionKeyToBagItems_(u32 key);
|
||||
extern void ApplyNewEncryptionKeyToBerryPowder(u32 key);
|
||||
extern void sub_8084FAC(int unused);
|
||||
|
||||
// this is probably wrong or misleading due to it being used in ResetHeap...
|
||||
extern void InitHeap(void *pointer, u32 size);
|
||||
|
||||
#define SAVEBLOCK_MOVE_RANGE 128
|
||||
|
||||
struct LoadedSaveData
|
||||
{
|
||||
/*0x0000*/ struct ItemSlot items[30];
|
||||
/*0x0078*/ struct ItemSlot keyItems[30];
|
||||
/*0x00F0*/ struct ItemSlot pokeBalls[16];
|
||||
/*0x0130*/ struct ItemSlot TMsHMs[64];
|
||||
/*0x0230*/ struct ItemSlot berries[46];
|
||||
/*0x0000*/ struct ItemSlot items[BAG_ITEMS_COUNT];
|
||||
/*0x0078*/ struct ItemSlot keyItems[BAG_KEYITEMS_COUNT];
|
||||
/*0x00F0*/ struct ItemSlot pokeBalls[BAG_POKEBALLS_COUNT];
|
||||
/*0x0130*/ struct ItemSlot TMsHMs[BAG_TMHM_COUNT];
|
||||
/*0x0230*/ struct ItemSlot berries[BAG_BERRIES_COUNT];
|
||||
/*0x02E8*/ struct MailStruct mail[MAIL_COUNT];
|
||||
};
|
||||
|
||||
// EWRAM DATA
|
||||
EWRAM_DATA struct SaveBlock2 gSaveblock2 = {0};
|
||||
EWRAM_DATA u8 gSaveblock2_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
|
||||
|
||||
@ -43,8 +40,13 @@ EWRAM_DATA u8 gSaveblock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
|
||||
EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0};
|
||||
EWRAM_DATA u32 gLastEncryptionKey = {0};
|
||||
|
||||
void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
|
||||
// IWRAM common
|
||||
IWRAM_DATA bool32 gFlashMemoryPresent;
|
||||
IWRAM_DATA struct SaveBlock1 *gSaveBlock1Ptr;
|
||||
IWRAM_DATA struct SaveBlock2 *gSaveBlock2Ptr;
|
||||
IWRAM_DATA struct PokemonStorage *gPokemonStoragePtr;
|
||||
|
||||
// code
|
||||
void CheckForFlashMemory(void)
|
||||
{
|
||||
if (!IdentifyFlash())
|
||||
@ -53,7 +55,9 @@ void CheckForFlashMemory(void)
|
||||
InitFlashTimer();
|
||||
}
|
||||
else
|
||||
{
|
||||
gFlashMemoryPresent = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void ClearSav2(void)
|
||||
@ -80,8 +84,6 @@ void SetSaveBlocksPointers(u16 offset)
|
||||
SetDecorationInventoriesPointers();
|
||||
}
|
||||
|
||||
extern u8 gHeap[];
|
||||
|
||||
void MoveSaveBlocks_ResetHeap(void)
|
||||
{
|
||||
void *vblankCB, *hblankCB;
|
||||
@ -132,7 +134,6 @@ void MoveSaveBlocks_ResetHeap(void)
|
||||
gSaveBlock2Ptr->encryptionKey = encryptionKey;
|
||||
}
|
||||
|
||||
|
||||
u32 GetSecretBase2Field_9(void)
|
||||
{
|
||||
return gSaveBlock2Ptr->specialSaveWarp & 1;
|
||||
@ -159,112 +160,112 @@ void sav2_gender2_inplace_and_xFE(void)
|
||||
gSaveBlock2Ptr->specialSaveWarp &= ~1;
|
||||
}
|
||||
|
||||
void copy_player_party_to_sav1(void) // SavePlayerParty
|
||||
void SavePlayerParty(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
gSaveBlock1Ptr->playerPartyCount = gPlayerPartyCount;
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
gSaveBlock1Ptr->playerParty[i] = gPlayerParty[i];
|
||||
}
|
||||
|
||||
void copy_player_party_from_sav1(void) // LoadPlayerParty
|
||||
void LoadPlayerParty(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
gPlayerPartyCount = gSaveBlock1Ptr->playerPartyCount;
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
gPlayerParty[i] = gSaveBlock1Ptr->playerParty[i];
|
||||
}
|
||||
|
||||
void save_serialize_npcs(void) // SaveMapObjects
|
||||
void SaveMapObjects(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
|
||||
gSaveBlock1Ptr->mapObjects[i] = gMapObjects[i];
|
||||
}
|
||||
|
||||
void save_deserialize_npcs(void) // LoadMapObjects
|
||||
void LoadMapObjects(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
for (i = 0; i < MAP_OBJECTS_COUNT; i++)
|
||||
gMapObjects[i] = gSaveBlock1Ptr->mapObjects[i];
|
||||
}
|
||||
|
||||
void SaveSerializedGame(void)
|
||||
{
|
||||
copy_player_party_to_sav1();
|
||||
save_serialize_npcs();
|
||||
SavePlayerParty();
|
||||
SaveMapObjects();
|
||||
}
|
||||
|
||||
void LoadSerializedGame(void)
|
||||
{
|
||||
copy_player_party_from_sav1();
|
||||
save_deserialize_npcs();
|
||||
LoadPlayerParty();
|
||||
LoadMapObjects();
|
||||
}
|
||||
|
||||
void copy_bags_and_unk_data_from_save_blocks(void)
|
||||
void LoadPlayerBag(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
// load player items.
|
||||
for (i = 0; i < 30; i++)
|
||||
for (i = 0; i < BAG_ITEMS_COUNT; i++)
|
||||
gLoadedSaveData.items[i] = gSaveBlock1Ptr->bagPocket_Items[i];
|
||||
|
||||
// load player key items.
|
||||
for (i = 0; i < 30; i++)
|
||||
for (i = 0; i < BAG_KEYITEMS_COUNT; i++)
|
||||
gLoadedSaveData.keyItems[i] = gSaveBlock1Ptr->bagPocket_KeyItems[i];
|
||||
|
||||
// load player pokeballs.
|
||||
for (i = 0; i < 16; i++)
|
||||
for (i = 0; i < BAG_POKEBALLS_COUNT; i++)
|
||||
gLoadedSaveData.pokeBalls[i] = gSaveBlock1Ptr->bagPocket_PokeBalls[i];
|
||||
|
||||
// load player TMs and HMs.
|
||||
for (i = 0; i < 64; i++)
|
||||
for (i = 0; i < BAG_TMHM_COUNT; i++)
|
||||
gLoadedSaveData.TMsHMs[i] = gSaveBlock1Ptr->bagPocket_TMHM[i];
|
||||
|
||||
// load player berries.
|
||||
for (i = 0; i < 46; i++)
|
||||
for (i = 0; i < BAG_BERRIES_COUNT; i++)
|
||||
gLoadedSaveData.berries[i] = gSaveBlock1Ptr->bagPocket_Berries[i];
|
||||
|
||||
// load mail.
|
||||
for (i = 0; i < 16; i++)
|
||||
for (i = 0; i < MAIL_COUNT; i++)
|
||||
gLoadedSaveData.mail[i] = gSaveBlock1Ptr->mail[i];
|
||||
|
||||
gLastEncryptionKey = gSaveBlock2Ptr->encryptionKey;
|
||||
}
|
||||
|
||||
void copy_bags_and_unk_data_to_save_blocks(void)
|
||||
void SavePlayerBag(void)
|
||||
{
|
||||
int i;
|
||||
u32 encryptionKeyBackup;
|
||||
|
||||
// save player items.
|
||||
for (i = 0; i < 30; i++)
|
||||
for (i = 0; i < BAG_ITEMS_COUNT; i++)
|
||||
gSaveBlock1Ptr->bagPocket_Items[i] = gLoadedSaveData.items[i];
|
||||
|
||||
// save player key items.
|
||||
for (i = 0; i < 30; i++)
|
||||
for (i = 0; i < BAG_KEYITEMS_COUNT; i++)
|
||||
gSaveBlock1Ptr->bagPocket_KeyItems[i] = gLoadedSaveData.keyItems[i];
|
||||
|
||||
// save player pokeballs.
|
||||
for (i = 0; i < 16; i++)
|
||||
for (i = 0; i < BAG_POKEBALLS_COUNT; i++)
|
||||
gSaveBlock1Ptr->bagPocket_PokeBalls[i] = gLoadedSaveData.pokeBalls[i];
|
||||
|
||||
// save player TMs and HMs.
|
||||
for (i = 0; i < 64; i++)
|
||||
for (i = 0; i < BAG_TMHM_COUNT; i++)
|
||||
gSaveBlock1Ptr->bagPocket_TMHM[i] = gLoadedSaveData.TMsHMs[i];
|
||||
|
||||
// save player berries.
|
||||
for (i = 0; i < 46; i++)
|
||||
for (i = 0; i < BAG_BERRIES_COUNT; i++)
|
||||
gSaveBlock1Ptr->bagPocket_Berries[i] = gLoadedSaveData.berries[i];
|
||||
|
||||
// save mail.
|
||||
for (i = 0; i < 16; i++)
|
||||
for (i = 0; i < MAIL_COUNT; i++)
|
||||
gSaveBlock1Ptr->mail[i] = gLoadedSaveData.mail[i];
|
||||
|
||||
encryptionKeyBackup = gSaveBlock2Ptr->encryptionKey;
|
||||
|
||||
@ -20,8 +20,10 @@
|
||||
#include "tv.h"
|
||||
#include "coins.h"
|
||||
#include "text.h"
|
||||
#include "overworld.h"
|
||||
#include "mail.h"
|
||||
#include "battle_records.h"
|
||||
|
||||
extern u8 gPlayerPartyCount;
|
||||
extern u8 gDifferentSaveFile;
|
||||
extern u16 gSaveFileStatus;
|
||||
extern u8 gUnknown_030060B0;
|
||||
@ -29,19 +31,15 @@ extern u8 gUnknown_030060B0;
|
||||
// TODO: replace those declarations with file headers
|
||||
extern u16 GetGeneratedTrainerIdLower(void);
|
||||
extern void ClearContestWinnerPicsInContestHall(void);
|
||||
extern void Overworld_SetWarpDestination(s8 mapBank, s8 mapNo, s8 warpNo, s8 xPos, s8 yPos);
|
||||
extern void warp_in(void);
|
||||
extern void sub_80BB358(void);
|
||||
extern void ResetBagScrollPositions(void);
|
||||
extern void ResetPokedex(void);
|
||||
extern void sub_8084400(void);
|
||||
extern void ClearMailData(void);
|
||||
extern void ResetGabbyAndTy(void);
|
||||
extern void ResetSecretBases(void);
|
||||
extern void ResetLinkContestBoolean(void);
|
||||
extern void ResetGameStats(void);
|
||||
extern void sub_8052DA8(void);
|
||||
extern void InitLinkBattleRecords(void);
|
||||
extern void ResetPokemonStorageSystem(void);
|
||||
extern void ClearBag(void);
|
||||
extern void NewGameInitPCItems(void);
|
||||
@ -58,7 +56,7 @@ extern void ResetContestLinkResults(void);
|
||||
extern void ResetPokeJumpResults(void);
|
||||
extern void SetBerryPowder(u32* powder, u32 newValue);
|
||||
|
||||
extern u8 EventScript_2715DE[];
|
||||
extern const u8 EventScript_2715DE[];
|
||||
|
||||
void WriteUnalignedWord(u32 var, u8 *dataPtr)
|
||||
{
|
||||
@ -178,7 +176,7 @@ void NewGameInitData(void)
|
||||
ResetLinkContestBoolean();
|
||||
ResetGameStats();
|
||||
ClearAllContestWinnerPics();
|
||||
InitLinkBattleRecords();
|
||||
ClearPlayerLinkBattleRecords();
|
||||
InitSeedotSizeRecord();
|
||||
InitLotadSizeRecord();
|
||||
gPlayerPartyCount = 0;
|
||||
|
||||
@ -444,7 +444,7 @@ static void ItemStorage_Withdraw(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
NUM_ITEMS = sub_80D6CE4();
|
||||
NUM_ITEMS = CountUsedPCItemSlots();
|
||||
if (NUM_ITEMS != 0)
|
||||
ItemStorage_WithdrawToss_Helper(taskId, FALSE);
|
||||
else
|
||||
@ -459,7 +459,7 @@ static void ItemStorage_Toss(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
|
||||
NUM_ITEMS = sub_80D6CE4();
|
||||
NUM_ITEMS = CountUsedPCItemSlots();
|
||||
if (NUM_ITEMS != 0)
|
||||
ItemStorage_WithdrawToss_Helper(taskId, TRUE);
|
||||
else
|
||||
@ -967,7 +967,7 @@ static void sub_816C0C8(void)
|
||||
|
||||
static void sub_816C110(void)
|
||||
{
|
||||
sub_80D6E84();
|
||||
CompactPCItems();
|
||||
sub_812220C(gSaveBlock1Ptr->pcItems, 50, &(playerPCItemPageInfo.pageItems), &(playerPCItemPageInfo.count), 0x8);
|
||||
}
|
||||
|
||||
@ -1180,7 +1180,7 @@ static void ItemStorage_DoItemSwap(u8 taskId, bool8 a)
|
||||
{
|
||||
if(c != b - 1)
|
||||
{
|
||||
sub_80D702C(gSaveBlock1Ptr->pcItems, c, b);
|
||||
MoveItemSlotInList(gSaveBlock1Ptr->pcItems, c, b);
|
||||
ItemStorage_RefreshListMenu();
|
||||
}
|
||||
}
|
||||
@ -1301,7 +1301,7 @@ static void ItemStorage_DoItemToss(u8 taskId)
|
||||
|
||||
data = gTasks[taskId].data;
|
||||
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
|
||||
if(!itemid_is_unique(gSaveBlock1Ptr->pcItems[b].itemId))
|
||||
if(!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[b].itemId))
|
||||
{
|
||||
CopyItemName(gSaveBlock1Ptr->pcItems[b].itemId, gStringVar1);
|
||||
ConvertIntToDecimalStringN(gStringVar2, data[2], STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
@ -1335,7 +1335,7 @@ static void ItemStorage_HandleRemoveItem(u8 taskId)
|
||||
data = gTasks[taskId].data;
|
||||
if(gMain.newKeys & (A_BUTTON | B_BUTTON))
|
||||
{
|
||||
sub_80D6E48((playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove), data[2]);
|
||||
RemovePCItem((playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove), data[2]);
|
||||
DestroyListMenuTask(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
|
||||
sub_816C110();
|
||||
sub_816C140();
|
||||
|
||||
@ -589,7 +589,7 @@ static void PutPokeblockInfoText(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
const u8 *itemName = ItemId_GetItem(ITEM_POKEBLOCK_CASE)->name;
|
||||
const u8 *itemName = ItemId_GetName(ITEM_POKEBLOCK_CASE);
|
||||
PrintOnPokeblockWindow(0, itemName, GetStringCenterAlignXOffset(1, itemName, 0x48));
|
||||
|
||||
PrintOnPokeblockWindow(2, gText_Spicy, 0);
|
||||
|
||||
@ -3173,11 +3173,11 @@ void sub_81C3554(u8 taskId)
|
||||
|
||||
void sub_81C35E4()
|
||||
{
|
||||
u8 *text;
|
||||
const u8 *text;
|
||||
int offset;
|
||||
if (gUnknown_0203CF1C->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == 1 && (gUnknown_0203CF1C->unk40BE == 1 || gUnknown_0203CF1C->unk40BE == 4 || gUnknown_0203CF1C->unk40BE == 5))
|
||||
{
|
||||
text = (u8*)ItemId_GetItem(ITEM_ENIGMA_BERRY);
|
||||
text = ItemId_GetName(ITEM_ENIGMA_BERRY);
|
||||
}
|
||||
else if (gUnknown_0203CF1C->summary.item == ITEM_NONE)
|
||||
text = gText_None;
|
||||
|
||||
@ -7,6 +7,10 @@
|
||||
EWRAM_DATA static u8 sUnknown = 0;
|
||||
EWRAM_DATA static u32 sRandCount = 0;
|
||||
|
||||
// IWRAM common
|
||||
IWRAM_DATA u32 gRngValue;
|
||||
IWRAM_DATA u32 gRng2Value;
|
||||
|
||||
u16 Random(void)
|
||||
{
|
||||
gRngValue = 1103515245 * gRngValue + 24691;
|
||||
|
||||
31
src/save.c
31
src/save.c
@ -4,17 +4,15 @@
|
||||
#include "constants/game_stat.h"
|
||||
#include "task.h"
|
||||
#include "decompress.h"
|
||||
#include "load_save.h"
|
||||
#include "overworld.h"
|
||||
|
||||
// for the chunk declarations
|
||||
extern struct SaveBlock2 gSaveblock2;
|
||||
extern struct SaveBlock1 gSaveblock1;
|
||||
extern struct PokemonStorage gPokemonStorage;
|
||||
|
||||
extern struct SaveSectionLocation gRamSaveSectionLocations[0xE];
|
||||
extern u8 gDecompressionBuffer[];
|
||||
extern u32 gFlashMemoryPresent;
|
||||
extern u16 gUnknown_03006294;
|
||||
extern bool8 gSoftResetDisabled;
|
||||
extern u32 gUnknown_0203CF5C;
|
||||
|
||||
// Divide save blocks into individual chunks to be written to flash sectors
|
||||
|
||||
@ -24,13 +22,13 @@ extern bool8 gSoftResetDisabled;
|
||||
|
||||
/*
|
||||
* Sector Layout:
|
||||
*
|
||||
*
|
||||
* Sectors 0 - 13: Save Slot 1
|
||||
* Sectors 14 - 27: Save Slot 2
|
||||
* Sectors 28 - 29: Hall of Fame
|
||||
* Sector 30: e-Reader/Mystery Gift Stuff (note: e-Reader is deprecated in Emerald US)
|
||||
* Sector 31: Recorded Battle
|
||||
*
|
||||
*
|
||||
* There are two save slots for saving the player's game data. We alternate between
|
||||
* them each time the game is saved, so that if the current save slot is corrupt,
|
||||
* we can load the previous one. We also rotate the sectors in each save slot
|
||||
@ -41,7 +39,7 @@ extern bool8 gSoftResetDisabled;
|
||||
|
||||
// (u8 *)structure was removed from the first statement of the macro in Emerald.
|
||||
// This is because malloc is used to allocate addresses so storing the raw
|
||||
// addresses should not be done in the offsets information.
|
||||
// addresses should not be done in the offsets information.
|
||||
#define SAVEBLOCK_CHUNK(structure, chunkNum) \
|
||||
{ \
|
||||
chunkNum * SECTOR_DATA_SIZE, \
|
||||
@ -69,8 +67,10 @@ const struct SaveSectionOffsets gSaveSectionOffsets[] =
|
||||
};
|
||||
|
||||
extern void DoSaveFailedScreen(u8); // save_failed_screen
|
||||
extern void LoadSerializedGame(void); // load_save
|
||||
extern bool32 ProgramFlashSectorAndVerify(u8 sector, u8 *data);
|
||||
extern void save_serialize_map(void);
|
||||
extern void sub_800ADF8(void);
|
||||
extern bool8 sub_800A520(void);
|
||||
|
||||
// iwram common
|
||||
u16 gLastWrittenSector;
|
||||
@ -656,11 +656,6 @@ void UpdateSaveAddresses(void)
|
||||
}
|
||||
}
|
||||
|
||||
extern u32 GetGameStat(u8 index); // rom4
|
||||
extern void IncrementGameStat(u8 index); // rom4
|
||||
extern void SaveSerializedGame(void); // load_save
|
||||
extern u32 gUnknown_0203CF5C;
|
||||
|
||||
u8 HandleSavingData(u8 saveType)
|
||||
{
|
||||
u8 i;
|
||||
@ -836,7 +831,7 @@ u16 sub_815355C(void)
|
||||
struct SaveSection* savSection;
|
||||
|
||||
savSection = gFastSaveSection = &gSaveDataBuffer;
|
||||
if (gFlashMemoryPresent != 1)
|
||||
if (gFlashMemoryPresent != TRUE)
|
||||
return 0;
|
||||
UpdateSaveAddresses();
|
||||
GetSaveValidStatus(gRamSaveSectionLocations);
|
||||
@ -897,12 +892,6 @@ u32 sub_8153634(u8 sector, u8* src)
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern void save_serialize_map(void);
|
||||
extern void sub_8076D5C(void);
|
||||
extern void sav2_gender2_inplace_and_xFE(void);
|
||||
extern void sub_800ADF8(void);
|
||||
extern bool8 sub_800A520(void);
|
||||
|
||||
void sub_8153688(u8 taskId)
|
||||
{
|
||||
s16* taskData = gTasks[taskId].data;
|
||||
|
||||
209
src/trader.c
Normal file
209
src/trader.c
Normal file
@ -0,0 +1,209 @@
|
||||
#include "global.h"
|
||||
#include "constants/decorations.h"
|
||||
#include "constants/mauville_man.h"
|
||||
#include "decoration.h"
|
||||
#include "decoration_inventory.h"
|
||||
#include "event_data.h"
|
||||
#include "main.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "script.h"
|
||||
#include "constants/songs.h"
|
||||
#include "sound.h"
|
||||
#include "string_util.h"
|
||||
#include "strings.h"
|
||||
#include "task.h"
|
||||
#include "script_menu.h"
|
||||
|
||||
static const u8 * const gUnknown_085B09E4[] =
|
||||
{
|
||||
gText_Tristan,
|
||||
gText_Philip,
|
||||
gText_Dennis,
|
||||
gText_Roberto,
|
||||
};
|
||||
|
||||
static const u8 gTraderDecorations[] =
|
||||
{
|
||||
DECOR_DUSKULL_DOLL,
|
||||
DECOR_BALL_CUSHION,
|
||||
DECOR_TIRE,
|
||||
DECOR_PRETTY_FLOWERS,
|
||||
};
|
||||
|
||||
void TraderSetup(void)
|
||||
{
|
||||
u8 i;
|
||||
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
|
||||
|
||||
trader->id = MAUVILLE_MAN_TRADER;
|
||||
trader->alreadyTraded = FALSE;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
StringCopy(trader->unk5[i], gUnknown_085B09E4[i]);
|
||||
trader->unk1[i] = gTraderDecorations[i];
|
||||
trader->language[i] = GAME_LANGUAGE;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8133A60(void)
|
||||
{
|
||||
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
|
||||
trader->alreadyTraded = FALSE;
|
||||
}
|
||||
|
||||
void CreateAvailableDecorationsMenu(u8 taskId)
|
||||
{
|
||||
u8 i;
|
||||
s16 * data = gTasks[taskId].data;
|
||||
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
|
||||
struct WindowTemplate windowTemplate = {0, 1, 1, 10, 10, 15, 1};
|
||||
s32 windowWidth = GetStringWidth(1, gText_Exit, 0);
|
||||
s32 fiveMarksWidth = GetStringWidth(1, gText_FiveMarks, 0);
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
s32 curWidth;
|
||||
if (trader->unk1[i] > NUM_DECORATIONS)
|
||||
curWidth = fiveMarksWidth;
|
||||
else
|
||||
curWidth = GetStringWidth(1, gDecorations[trader->unk1[i]].name, 0);
|
||||
if (curWidth > windowWidth)
|
||||
windowWidth = curWidth;
|
||||
}
|
||||
windowTemplate.width = convert_pixel_width_to_tile_width(windowWidth);
|
||||
data[3] = AddWindow(&windowTemplate);
|
||||
SetWindowBorderStyle(data[3], FALSE, 0x214, 14);
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (trader->unk1[i] > NUM_DECORATIONS)
|
||||
PrintTextOnWindow(data[3], 1, gText_FiveMarks, 8, 16 * i + 1, 255, NULL);
|
||||
else
|
||||
PrintTextOnWindow(data[3], 1, gDecorations[trader->unk1[i]].name, 8, 16 * i + 1, 255, NULL);
|
||||
}
|
||||
PrintTextOnWindow(data[3], 1, gText_Exit, 8, 16 * i + 1, 255, NULL);
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(data[3], 5, 0);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
}
|
||||
|
||||
void sub_8133BE4(u8 taskId, u8 decorationId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
if (decorationId > NUM_DECORATIONS)
|
||||
{
|
||||
gSpecialVar_0x8004 = 0xFFFF;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSpecialVar_0x8004 = decorationId;
|
||||
}
|
||||
|
||||
sub_8198070(data[3], FALSE);
|
||||
ClearWindowTilemap(data[3]);
|
||||
RemoveWindow(data[3]);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
}
|
||||
|
||||
void Task_HandleGetDecorationMenuInput(u8 taskId)
|
||||
{
|
||||
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
|
||||
s8 input = ProcessMenuInput();
|
||||
|
||||
switch (input)
|
||||
{
|
||||
case -2:
|
||||
break;
|
||||
case -1:
|
||||
case 4:
|
||||
PlaySE(SE_SELECT);
|
||||
sub_8133BE4(taskId, 0);
|
||||
break;
|
||||
default:
|
||||
PlaySE(SE_SELECT);
|
||||
gSpecialVar_0x8005 = input;
|
||||
StringCopy(gStringVar1, trader->unk5[input]);
|
||||
ConvertInternationalString(gStringVar1, trader->language[input]);
|
||||
sub_8133BE4(taskId, trader->unk1[input]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ScrSpecial_GetTraderTradedFlag(void)
|
||||
{
|
||||
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
|
||||
gSpecialVar_Result = trader->alreadyTraded;
|
||||
}
|
||||
|
||||
void ScrSpecial_DoesPlayerHaveNoDecorations(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
if (CountDecorationCategoryN(i))
|
||||
{
|
||||
gSpecialVar_Result = FALSE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
gSpecialVar_Result = TRUE;
|
||||
}
|
||||
|
||||
void ScrSpecial_IsDecorationFull(void)
|
||||
{
|
||||
gSpecialVar_Result = FALSE;
|
||||
if (gDecorations[gSpecialVar_0x8004].category != gDecorations[gSpecialVar_0x8006].category
|
||||
&& GetFirstEmptyDecorSlot(gDecorations[gSpecialVar_0x8004].category) == -1)
|
||||
{
|
||||
sub_8127250(gStringVar2, gDecorations[gSpecialVar_0x8004].category);
|
||||
gSpecialVar_Result = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void ScrSpecial_TraderMenuGiveDecoration(void)
|
||||
{
|
||||
CreateTask(sub_8127208, 0);
|
||||
}
|
||||
|
||||
void sub_8133DA0(u8 taskId)
|
||||
{
|
||||
if (IsSelectedDecorInThePC() == TRUE)
|
||||
{
|
||||
gSpecialVar_0x8006 = gCurDecorInventoryItems[gCurDecorationIndex];
|
||||
StringCopy(gStringVar3, gDecorations[gSpecialVar_0x8004].name);
|
||||
StringCopy(gStringVar2, gDecorations[gSpecialVar_0x8006].name);
|
||||
}
|
||||
else
|
||||
{
|
||||
gSpecialVar_0x8006 = 0xFFFF;
|
||||
}
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
}
|
||||
|
||||
void sub_8133E1C(u8 taskId)
|
||||
{
|
||||
gSpecialVar_0x8006 = 0;
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
}
|
||||
|
||||
void ScrSpecial_TraderDoDecorationTrade(void)
|
||||
{
|
||||
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
|
||||
|
||||
DecorationRemove(gSpecialVar_0x8006);
|
||||
DecorationAdd(gSpecialVar_0x8004);
|
||||
StringCopy(trader->unk5[gSpecialVar_0x8005], gSaveBlock2Ptr->playerName);
|
||||
trader->unk1[gSpecialVar_0x8005] = gSpecialVar_0x8006;
|
||||
trader->language[gSpecialVar_0x8005] = GAME_LANGUAGE;
|
||||
trader->alreadyTraded = TRUE;
|
||||
}
|
||||
|
||||
void ScrSpecial_TraderMenuGetDecoration(void)
|
||||
{
|
||||
u8 taskId = CreateTask(Task_HandleGetDecorationMenuInput, 0);
|
||||
CreateAvailableDecorationsMenu(taskId);
|
||||
}
|
||||
30
src/tv.c
30
src/tv.c
@ -1380,13 +1380,13 @@ void PutFanClubSpecialOnTheAir(void)
|
||||
StringCopy(show->fanClubSpecial.idolName, name);
|
||||
tv_store_id_2x(show);
|
||||
show->fanClubSpecial.language = gGameLanguage;
|
||||
if (show->fanClubSpecial.language == LANGUAGE_JAPANESE || gSaveBlock1Ptr->unk_31A0 == LANGUAGE_JAPANESE)
|
||||
if (show->fanClubSpecial.language == LANGUAGE_JAPANESE || gSaveBlock1Ptr->linkBattleRecords.languages[0] == LANGUAGE_JAPANESE)
|
||||
{
|
||||
show->fanClubSpecial.idolNameLanguage = LANGUAGE_JAPANESE;
|
||||
}
|
||||
else
|
||||
{
|
||||
show->fanClubSpecial.idolNameLanguage = gSaveBlock1Ptr->unk_31A0;
|
||||
show->fanClubSpecial.idolNameLanguage = gSaveBlock1Ptr->linkBattleRecords.languages[0];
|
||||
}
|
||||
}
|
||||
|
||||
@ -2465,7 +2465,7 @@ bool8 sub_80EE7C0(void)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
if (gSaveBlock1Ptr->linkBattleRecords[0].name[0] == EOS)
|
||||
if (gSaveBlock1Ptr->linkBattleRecords.entries[0].name[0] == EOS)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
@ -2945,7 +2945,7 @@ static void sub_80EF40C(u8 varIdx, TVShow *show)
|
||||
{
|
||||
if (show->smartshopperShow.itemIds[i] != ITEM_NONE)
|
||||
{
|
||||
price += itemid_get_market_price(show->smartshopperShow.itemIds[i]) * show->smartshopperShow.itemAmounts[i];
|
||||
price += ItemId_GetPrice(show->smartshopperShow.itemIds[i]) * show->smartshopperShow.itemAmounts[i];
|
||||
}
|
||||
}
|
||||
if (show->smartshopperShow.priceReduced == TRUE)
|
||||
@ -5120,7 +5120,7 @@ static void DoTVShowTodaysSmartShopper(void)
|
||||
break;
|
||||
case 1:
|
||||
TVShowConvertInternationalString(gStringVar1, show->smartshopperShow.playerName, show->smartshopperShow.language);
|
||||
StringCopy(gStringVar2, ItemId_GetItem(show->smartshopperShow.itemIds[0])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[0]));
|
||||
TV_PrintIntToStringVar(2, show->smartshopperShow.itemAmounts[0]);
|
||||
sTVShowState += 1 + (Random() % 4);
|
||||
break;
|
||||
@ -5148,7 +5148,7 @@ static void DoTVShowTodaysSmartShopper(void)
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
StringCopy(gStringVar2, ItemId_GetItem(show->smartshopperShow.itemIds[1])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[1]));
|
||||
TV_PrintIntToStringVar(2, show->smartshopperShow.itemAmounts[1]);
|
||||
if (show->smartshopperShow.itemIds[2] != ITEM_NONE)
|
||||
{
|
||||
@ -5164,7 +5164,7 @@ static void DoTVShowTodaysSmartShopper(void)
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
StringCopy(gStringVar2, ItemId_GetItem(show->smartshopperShow.itemIds[2])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[2]));
|
||||
TV_PrintIntToStringVar(2, show->smartshopperShow.itemAmounts[2]);
|
||||
if (show->smartshopperShow.priceReduced == TRUE)
|
||||
{
|
||||
@ -5201,7 +5201,7 @@ static void DoTVShowTodaysSmartShopper(void)
|
||||
break;
|
||||
case 11:
|
||||
TVShowConvertInternationalString(gStringVar1, show->smartshopperShow.playerName, show->smartshopperShow.language);
|
||||
StringCopy(gStringVar2, ItemId_GetItem(show->smartshopperShow.itemIds[0])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(show->smartshopperShow.itemIds[0]));
|
||||
if (show->smartshopperShow.priceReduced == TRUE)
|
||||
{
|
||||
sTVShowState = 8;
|
||||
@ -5344,7 +5344,7 @@ static void DoTVShowPokemonTodaySuccessfulCapture(void)
|
||||
sTVShowState = 2;
|
||||
break;
|
||||
case 2:
|
||||
StringCopy(gStringVar2, ItemId_GetItem(show->pokemonToday.ball)->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(show->pokemonToday.ball));
|
||||
TV_PrintIntToStringVar(2, show->pokemonToday.nBallsUsed);
|
||||
if (show->pokemonToday.nBallsUsed < 4)
|
||||
{
|
||||
@ -6457,7 +6457,7 @@ static void DoTVShowHoennTreasureInvestigators(void)
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
StringCopy(gStringVar1, ItemId_GetItem(show->treasureInvestigators.item)->name);
|
||||
StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item));
|
||||
if (show->treasureInvestigators.location == MAPSEC_DYNAMIC)
|
||||
{
|
||||
switch (show->treasureInvestigators.mapDataId)
|
||||
@ -6476,13 +6476,13 @@ static void DoTVShowHoennTreasureInvestigators(void)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
StringCopy(gStringVar1, ItemId_GetItem(show->treasureInvestigators.item)->name);
|
||||
StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item));
|
||||
TVShowConvertInternationalString(gStringVar2, show->treasureInvestigators.playerName, show->treasureInvestigators.language);
|
||||
GetMapName(gStringVar3, show->treasureInvestigators.location, 0);
|
||||
TVShowDone();
|
||||
break;
|
||||
case 2:
|
||||
StringCopy(gStringVar1, ItemId_GetItem(show->treasureInvestigators.item)->name);
|
||||
StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item));
|
||||
TVShowConvertInternationalString(gStringVar2, show->treasureInvestigators.playerName, show->treasureInvestigators.language);
|
||||
TVShowDone();
|
||||
break;
|
||||
@ -6598,7 +6598,7 @@ static void DoTVShowBreakingNewsTV(void)
|
||||
break;
|
||||
case 3:
|
||||
TV_PrintIntToStringVar(0, show->breakingNews.balls);
|
||||
StringCopy(gStringVar2, ItemId_GetItem(show->breakingNews.caughtMonBall)->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(show->breakingNews.caughtMonBall));
|
||||
sTVShowState = 4;
|
||||
break;
|
||||
case 4:
|
||||
@ -6788,7 +6788,7 @@ static void DoTVShowPokemonLotteryWinnerFlashReport(void)
|
||||
{
|
||||
StringCopy(gStringVar2, gText_Third);
|
||||
}
|
||||
StringCopy(gStringVar3, ItemId_GetItem(show->lottoWinner.item)->name);
|
||||
StringCopy(gStringVar3, ItemId_GetName(show->lottoWinner.item));
|
||||
TVShowDone();
|
||||
ShowFieldMessage(sTVPokemonLotteryWinnerFlashReportTextGroup[state]);
|
||||
}
|
||||
@ -7530,7 +7530,7 @@ static void DoTVShowSecretBaseSecrets(void)
|
||||
sTVShowState = show->secretBaseSecrets.savedState;
|
||||
break;
|
||||
case 19:
|
||||
StringCopy(gStringVar2, ItemId_GetItem(show->secretBaseSecrets.item)->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(show->secretBaseSecrets.item));
|
||||
sTVShowState = show->secretBaseSecrets.savedState;
|
||||
break;
|
||||
case 20:
|
||||
|
||||
@ -8,24 +8,8 @@
|
||||
.include "link_rfu.o"
|
||||
.include "rtc.o"
|
||||
.include "battle_main.o"
|
||||
|
||||
gRngValue: @ 3005D80
|
||||
.space 0x4
|
||||
|
||||
gRng2Value: @ 3005D84
|
||||
.space 0x4
|
||||
|
||||
gFlashMemoryPresent: @ 3005D88
|
||||
.space 0x4
|
||||
|
||||
gSaveBlock1Ptr: @ 3005D8C
|
||||
.space 0x4
|
||||
|
||||
gSaveBlock2Ptr: @ 3005D90
|
||||
.space 0x4
|
||||
|
||||
gPokemonStoragePtr: @ 3005D94
|
||||
.space 0x4
|
||||
.include "random.o"
|
||||
.include "load_save.o"
|
||||
|
||||
gInGameOpponentsNo: @ 3005D98
|
||||
.space 0x4
|
||||
|
||||
@ -306,7 +306,7 @@ gUnknown_02039B52: @ 2039B52
|
||||
gUnknown_02039B54: @ 2039B54
|
||||
.space 0x4
|
||||
|
||||
gUnknown_02039B58: @ 2039B58
|
||||
gTrainerCards: @ 2039B58
|
||||
.space 0x14
|
||||
|
||||
gUnknown_02039B6C: @ 2039B6C
|
||||
@ -402,10 +402,7 @@ gUnknown_02039DD0: @ 2039DD0
|
||||
.space 0x4
|
||||
|
||||
.include "src/map_name_popup.o"
|
||||
.space 0x3
|
||||
|
||||
gBagPockets: @ 2039DD8
|
||||
.space 0x28
|
||||
.include "src/item.o"
|
||||
|
||||
gUnknown_02039E00: @ 2039E00
|
||||
.space 0x100
|
||||
@ -701,11 +698,7 @@ gUnknown_0203AB6F: @ 203AB6F
|
||||
gUnknown_0203AB70: @ 203AB70
|
||||
.space 0x4
|
||||
|
||||
gResultsWindowId: @ 203AB74
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203AB78: @ 203AB78
|
||||
.space 0x4
|
||||
.include "src/battle_records.o"
|
||||
|
||||
gUnknown_0203AB7C: @ 203AB7C
|
||||
.space 0x4
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user