mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-03 01:00:09 -05:00
Merge pull request #233 from DizzyEggg/code_80521D0
code_80521D0.s (dungeon_message.c and dungeon_move.c)
This commit is contained in:
commit
d8329f7eca
12
asm/code_2.s
12
asm/code_2.s
|
|
@ -169,7 +169,7 @@ QuickSave:
|
|||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x20
|
||||
bl xxx_info_box_80141B4
|
||||
bl CreateDialogueBoxAndPortrait
|
||||
b _08000892
|
||||
.align 2, 0
|
||||
_080007AC: .4byte gUnknown_2026E4E
|
||||
|
|
@ -234,7 +234,7 @@ _08000822:
|
|||
movs r1, 0
|
||||
movs r2, 0
|
||||
ldr r3, _08000838
|
||||
bl xxx_info_box_80141B4
|
||||
bl CreateDialogueBoxAndPortrait
|
||||
movs r6, 0x3C
|
||||
movs r4, 0x1
|
||||
b _08000892
|
||||
|
|
@ -248,7 +248,7 @@ _0800083C:
|
|||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl xxx_info_box_80141B4
|
||||
bl CreateDialogueBoxAndPortrait
|
||||
movs r4, 0x3
|
||||
b _08000892
|
||||
.align 2, 0
|
||||
|
|
@ -258,7 +258,7 @@ _08000854:
|
|||
movs r1, 0
|
||||
movs r2, 0
|
||||
ldr r3, _08000868
|
||||
bl xxx_info_box_80141B4
|
||||
bl CreateDialogueBoxAndPortrait
|
||||
_08000860:
|
||||
movs r4, 0x2
|
||||
b _08000892
|
||||
|
|
@ -358,7 +358,7 @@ _08000934:
|
|||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x20
|
||||
bl xxx_info_box_80141B4
|
||||
bl CreateDialogueBoxAndPortrait
|
||||
movs r4, 0x2
|
||||
b _080009A2
|
||||
.align 2, 0
|
||||
|
|
@ -374,7 +374,7 @@ _08000952:
|
|||
ldr r3, _08000964
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl xxx_info_box_80141B4
|
||||
bl CreateDialogueBoxAndPortrait
|
||||
_0800095C:
|
||||
movs r4, 0x1
|
||||
b _080009A2
|
||||
|
|
|
|||
|
|
@ -2325,9 +2325,9 @@ sub_8010C10:
|
|||
str r1, [sp, 0x10]
|
||||
movs r1, 0
|
||||
movs r3, 0
|
||||
bl sub_8014248
|
||||
bl CreateMenuDialogueBoxAndPortrait
|
||||
_08010C2C:
|
||||
bl xxx_draw_string_80144C4
|
||||
bl DrawDialogueBoxString
|
||||
bl sub_8010960
|
||||
add r0, sp, 0x14
|
||||
bl sub_80144A4
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8014248
|
||||
sub_8014248:
|
||||
thumb_func_start CreateMenuDialogueBoxAndPortrait
|
||||
CreateMenuDialogueBoxAndPortrait:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
|
|
@ -277,7 +277,7 @@ _08014480:
|
|||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8014248
|
||||
thumb_func_end CreateMenuDialogueBoxAndPortrait
|
||||
|
||||
thumb_func_start sub_8014490
|
||||
sub_8014490:
|
||||
|
|
@ -311,8 +311,8 @@ _080144BC: .4byte gUnknown_202EC1C
|
|||
_080144C0: .4byte gUnknown_202E744
|
||||
thumb_func_end sub_80144A4
|
||||
|
||||
thumb_func_start xxx_draw_string_80144C4
|
||||
xxx_draw_string_80144C4:
|
||||
thumb_func_start DrawDialogueBoxString
|
||||
DrawDialogueBoxString:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
|
|
@ -1018,7 +1018,7 @@ _08014A72:
|
|||
bx r0
|
||||
.align 2, 0
|
||||
_08014A84: .4byte gUnknown_202E744
|
||||
thumb_func_end xxx_draw_string_80144C4
|
||||
thumb_func_end DrawDialogueBoxString
|
||||
|
||||
thumb_func_start sub_8014A88
|
||||
sub_8014A88:
|
||||
|
|
|
|||
|
|
@ -1728,7 +1728,7 @@ _08040E6E:
|
|||
ldr r0, _08040ECC
|
||||
ldr r1, [r0]
|
||||
adds r0, r6, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
movs r1, 0xD2
|
||||
lsls r1, 1
|
||||
adds r0, r6, 0
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ _08045FAC:
|
|||
_08045FD0:
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _08045FF2
|
||||
.align 2, 0
|
||||
_08045FDC: .4byte 0x00ff0008
|
||||
|
|
@ -288,10 +288,10 @@ _08045FE8:
|
|||
ldr r0, _08045FFC
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_08045FF2:
|
||||
ldrb r0, [r5, 0x2]
|
||||
bl HandleOnPickupTutorial
|
||||
bl TryDisplayItemPickupTutorialMessage
|
||||
b _080460E0
|
||||
.align 2, 0
|
||||
_08045FFC: .4byte gPickedUpItemToolbox
|
||||
|
|
@ -336,7 +336,7 @@ _0804602E:
|
|||
_08046048:
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _080460E0
|
||||
.align 2, 0
|
||||
_08046054: .4byte gFormatItems
|
||||
|
|
@ -379,7 +379,7 @@ _08046094:
|
|||
_080460AC:
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _080460DA
|
||||
.align 2, 0
|
||||
_080460B8: .4byte gAvailablePokemonNames
|
||||
|
|
@ -394,10 +394,10 @@ _080460C0:
|
|||
ldr r0, _080460F4
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_080460DA:
|
||||
ldrb r0, [r5, 0x2]
|
||||
bl HandleOnPickupTutorial
|
||||
bl TryDisplayItemPickupTutorialMessage
|
||||
_080460E0:
|
||||
add sp, 0xB8
|
||||
pop {r3-r5}
|
||||
|
|
@ -996,7 +996,7 @@ sub_804652C:
|
|||
ldr r0, _080465A4
|
||||
ldr r1, [r0]
|
||||
mov r0, r10
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
mov r0, r9
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x1
|
||||
|
|
@ -1156,7 +1156,7 @@ _080466B6:
|
|||
ldr r2, [r0]
|
||||
mov r0, r10
|
||||
mov r1, sp
|
||||
bl sub_8052364
|
||||
bl TryDisplayDungeonLoggableMessage5
|
||||
b _0804671E
|
||||
.align 2, 0
|
||||
_080466C4: .4byte gItemFellOutOfSight
|
||||
|
|
@ -1202,7 +1202,7 @@ _0804670C:
|
|||
ldr r2, [r0]
|
||||
mov r0, r10
|
||||
mov r1, sp
|
||||
bl sub_8052364
|
||||
bl TryDisplayDungeonLoggableMessage5
|
||||
_0804671E:
|
||||
add sp, 0x10
|
||||
pop {r3-r5}
|
||||
|
|
@ -1721,7 +1721,7 @@ _08046B0A:
|
|||
ldr r4, _08046B38
|
||||
add r4, sp
|
||||
ldr r0, [r4]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _08046C7C
|
||||
.align 2, 0
|
||||
_08046B2C: .4byte 0x0000052c
|
||||
|
|
@ -1734,7 +1734,7 @@ _08046B3C:
|
|||
ldr r5, _08046B50
|
||||
add r5, sp
|
||||
ldr r0, [r5]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _08046C7C
|
||||
.align 2, 0
|
||||
_08046B4C: .4byte gItemLost
|
||||
|
|
@ -1748,7 +1748,7 @@ _08046B54:
|
|||
ldr r2, _08046C94
|
||||
add r2, sp
|
||||
ldr r0, [r2]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_08046B68:
|
||||
movs r3, 0
|
||||
mov r9, r3
|
||||
|
|
|
|||
|
|
@ -418,7 +418,7 @@ _08047462:
|
|||
ldr r2, [r0]
|
||||
mov r0, r9
|
||||
adds r1, r4, 0
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
mov r0, r9
|
||||
adds r1, r4, 0
|
||||
bl TrySendImmobilizeSleepEndMsg
|
||||
|
|
@ -475,7 +475,7 @@ _080474E2:
|
|||
ldr r2, [r0]
|
||||
mov r0, r9
|
||||
adds r1, r4, 0
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
b _08047524
|
||||
.align 2, 0
|
||||
_0804750C: .4byte gAvailablePokemonNames
|
||||
|
|
@ -486,7 +486,7 @@ _08047518:
|
|||
ldr r2, [r0]
|
||||
mov r0, r9
|
||||
adds r1, r4, 0
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
_08047524:
|
||||
adds r5, 0x8
|
||||
subs r6, 0x1
|
||||
|
|
@ -552,7 +552,7 @@ _08047596:
|
|||
ldr r0, _080475C0
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_080475A8:
|
||||
movs r3, 0x90
|
||||
lsls r3, 2
|
||||
|
|
@ -924,7 +924,7 @@ _0804786E:
|
|||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x10]
|
||||
adds r1, r5, 0
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
ldr r0, [sp, 0x10]
|
||||
adds r1, r5, 0
|
||||
bl TrySendImmobilizeSleepEndMsg
|
||||
|
|
@ -962,7 +962,7 @@ _080478DC:
|
|||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x10]
|
||||
adds r1, r5, 0
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
b _08047900
|
||||
.align 2, 0
|
||||
_080478F0: .4byte gUnknown_80F9510
|
||||
|
|
@ -971,7 +971,7 @@ _080478F4:
|
|||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x10]
|
||||
adds r1, r5, 0
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
_08047900:
|
||||
movs r2, 0x1
|
||||
str r2, [sp, 0x20]
|
||||
|
|
|
|||
|
|
@ -4118,7 +4118,7 @@ sub_8051E7C:
|
|||
ldr r0, _08051EB4
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _080520F6
|
||||
.align 2, 0
|
||||
_08051EB4: .4byte gUnknown_80FDDF0
|
||||
|
|
@ -4378,7 +4378,7 @@ _0805207A:
|
|||
ldr r0, _080520E8
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
movs r0, 0x14
|
||||
movs r1, 0x3C
|
||||
bl sub_803E708
|
||||
|
|
@ -4399,7 +4399,7 @@ _080520EC:
|
|||
ldr r0, _08052108
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_080520F6:
|
||||
add sp, 0x14
|
||||
pop {r3-r5}
|
||||
|
|
@ -4518,103 +4518,4 @@ _080521CA:
|
|||
bx r1
|
||||
thumb_func_end sub_805210C
|
||||
|
||||
thumb_func_start sub_80521D0
|
||||
sub_80521D0:
|
||||
push {r4-r6,lr}
|
||||
movs r1, 0
|
||||
ldr r5, _08052200
|
||||
ldr r6, _08052204
|
||||
ldr r4, _08052208
|
||||
ldr r3, _0805220C
|
||||
movs r2, 0
|
||||
_080521DE:
|
||||
ldr r0, [r4]
|
||||
adds r0, r3
|
||||
adds r0, r1
|
||||
strb r2, [r0]
|
||||
adds r1, 0x1
|
||||
cmp r1, 0x9
|
||||
ble _080521DE
|
||||
movs r0, 0
|
||||
str r0, [r5]
|
||||
movs r0, 0x1
|
||||
strb r0, [r6]
|
||||
movs r0, 0
|
||||
bl sub_8052210
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08052200: .4byte gUnknown_202F1E8
|
||||
_08052204: .4byte gUnknown_203B434
|
||||
_08052208: .4byte gDungeon
|
||||
_0805220C: .4byte 0x0001c054
|
||||
thumb_func_end sub_80521D0
|
||||
|
||||
thumb_func_start sub_8052210
|
||||
sub_8052210:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
movs r4, 0
|
||||
ldr r5, _08052280
|
||||
_0805221A:
|
||||
lsls r0, r4, 6
|
||||
ldr r1, [r5]
|
||||
adds r0, r1
|
||||
ldr r1, _08052284
|
||||
adds r0, r1
|
||||
ldr r1, _08052288
|
||||
bl strcpy
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x9
|
||||
ble _0805221A
|
||||
ldr r1, _08052280
|
||||
ldr r0, [r1]
|
||||
ldr r2, _0805228C
|
||||
adds r0, r2
|
||||
movs r3, 0
|
||||
strb r3, [r0]
|
||||
ldr r0, [r1]
|
||||
adds r2, 0x1
|
||||
adds r1, r0, r2
|
||||
strh r3, [r1]
|
||||
adds r2, 0x2
|
||||
adds r1, r0, r2
|
||||
strh r3, [r1]
|
||||
adds r2, 0x2
|
||||
adds r1, r0, r2
|
||||
strh r3, [r1]
|
||||
ldr r1, _08052290
|
||||
adds r2, r0, r1
|
||||
movs r1, 0x4
|
||||
strh r1, [r2]
|
||||
ldr r2, _08052294
|
||||
adds r0, r2
|
||||
str r3, [r0]
|
||||
cmp r6, 0
|
||||
beq _08052278
|
||||
ldr r0, _08052298
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0x3
|
||||
bne _08052278
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_803EAF0
|
||||
movs r0, 0xB
|
||||
bl sub_803E46C
|
||||
_08052278:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08052280: .4byte gDungeon
|
||||
_08052284: .4byte 0x0001bdd4
|
||||
_08052288: .4byte gUnknown_80F7AE8
|
||||
_0805228C: .4byte 0x0001c05f
|
||||
_08052290: .4byte 0x0001c066
|
||||
_08052294: .4byte 0x0001c06c
|
||||
_08052298: .4byte gUnknown_202EDD0
|
||||
thumb_func_end sub_8052210
|
||||
|
||||
.align 2,0
|
||||
|
|
|
|||
9152
asm/code_80521D0.s
9152
asm/code_80521D0.s
File diff suppressed because it is too large
Load Diff
|
|
@ -4122,7 +4122,7 @@ _08063AEC:
|
|||
ldr r0, _08063B2C
|
||||
ldr r1, [r0]
|
||||
adds r0, r6, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _08063B3A
|
||||
.align 2, 0
|
||||
_08063B1C: .4byte gDungeon
|
||||
|
|
@ -4134,7 +4134,7 @@ _08063B30:
|
|||
ldr r0, _08063B50
|
||||
ldr r1, [r0]
|
||||
adds r0, r6, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_08063B3A:
|
||||
movs r0, 0x78
|
||||
movs r1, 0x1F
|
||||
|
|
@ -4442,7 +4442,7 @@ _08063D70:
|
|||
ldr r0, _08063DAC
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _08063DBA
|
||||
.align 2, 0
|
||||
_08063D98: .4byte gDungeon
|
||||
|
|
@ -4455,7 +4455,7 @@ _08063DB0:
|
|||
ldr r0, _08063DD0
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_08063DBA:
|
||||
movs r0, 0x78
|
||||
movs r1, 0x1F
|
||||
|
|
@ -4914,7 +4914,7 @@ _0806414E:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
adds r3, r0, 0
|
||||
b _08064162
|
||||
.align 2, 0
|
||||
|
|
@ -6385,7 +6385,7 @@ _08064CF2:
|
|||
ldr r0, [r5]
|
||||
cmp r0, 0x2
|
||||
bne _08064CFC
|
||||
bl sub_80532B4
|
||||
bl DisplayMessageLog
|
||||
_08064CFC:
|
||||
ldr r0, [r5]
|
||||
cmp r0, 0x3
|
||||
|
|
@ -6817,7 +6817,7 @@ _08065062:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _08065088
|
||||
ldr r0, _08065094
|
||||
|
|
@ -6846,7 +6846,7 @@ sub_806509C:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _080650B8
|
||||
movs r0, 0
|
||||
|
|
@ -7001,7 +7001,7 @@ sub_80651D0:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _080651F4
|
||||
bl GetLeaderActionContainer
|
||||
|
|
@ -7025,7 +7025,7 @@ sub_80651FC:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
adds r5, r0, 0
|
||||
cmp r5, 0x1
|
||||
bne _08065248
|
||||
|
|
@ -8730,7 +8730,7 @@ _08065FFE:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _08066194
|
||||
.align 2, 0
|
||||
_0806600C: .4byte 0x0000065d
|
||||
|
|
|
|||
|
|
@ -341,7 +341,7 @@ _08068BB2:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _08068BD0
|
||||
.align 2, 0
|
||||
_08068BC0: .4byte gUnknown_80FE168
|
||||
|
|
@ -350,7 +350,7 @@ _08068BC4:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
_08068BD0:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
|
|
@ -653,7 +653,7 @@ _08068E1C:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
add r4, sp, 0x3C
|
||||
_08068E34:
|
||||
add r0, sp, 0x214
|
||||
|
|
@ -709,7 +709,7 @@ _08068E8E:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _08068E34
|
||||
_08068EA2:
|
||||
|
|
@ -1028,7 +1028,7 @@ _08069104:
|
|||
movs r0, 0x3C
|
||||
movs r1, 0x49
|
||||
bl sub_803E708
|
||||
bl sub_80532B4
|
||||
bl DisplayMessageLog
|
||||
ldr r5, _08069198
|
||||
ldr r2, [r5]
|
||||
ldrb r0, [r2, 0x6]
|
||||
|
|
@ -1071,7 +1071,7 @@ _08069104:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
adds r4, r0, 0
|
||||
cmp r4, 0x1
|
||||
bne _080691E0
|
||||
|
|
@ -1079,7 +1079,7 @@ _08069104:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
ldr r0, [r5]
|
||||
strb r4, [r0, 0x4]
|
||||
ldr r0, [r5]
|
||||
|
|
@ -1107,7 +1107,7 @@ _080691B4:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _080691E0
|
||||
.align 2, 0
|
||||
_080691C4: .4byte gUnknown_80FE2D0
|
||||
|
|
@ -1353,7 +1353,7 @@ _08069384:
|
|||
ldr r0, _080694A4
|
||||
ldr r1, [r0]
|
||||
mov r0, r8
|
||||
bl sub_805239C
|
||||
bl DisplayDungeonLoggableMessageTrue
|
||||
bl sub_803E178
|
||||
bl sub_8049ED4
|
||||
_080693C6:
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ _08066ECC:
|
|||
_08066F1E:
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _08066F7E
|
||||
.align 2, 0
|
||||
_08066F28: .4byte 0xffffff00
|
||||
|
|
@ -167,7 +167,7 @@ _08066F46:
|
|||
ldr r0, _08066F98
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
ldr r0, _08066F9C
|
||||
ldr r0, [r0]
|
||||
ldr r2, _08066FA0
|
||||
|
|
@ -314,7 +314,7 @@ _08067040:
|
|||
_0806709E:
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _080670EE
|
||||
.align 2, 0
|
||||
_080670A8: .4byte gUnknown_202DEA8
|
||||
|
|
@ -339,7 +339,7 @@ _080670CA:
|
|||
ldr r0, _08067104
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
ldr r0, _08067108
|
||||
ldr r0, [r0]
|
||||
ldr r1, _0806710C
|
||||
|
|
@ -390,7 +390,7 @@ sub_8067110:
|
|||
bl sub_80464AC
|
||||
adds r1, r0, 0
|
||||
adds r0, r5, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
ldr r0, [r6]
|
||||
str r0, [sp, 0x8]
|
||||
adds r0, r5, 0
|
||||
|
|
@ -498,7 +498,7 @@ _08067220:
|
|||
_08067230:
|
||||
ldr r1, [r0]
|
||||
adds r0, r6, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
movs r0, 0x14
|
||||
movs r1, 0x4C
|
||||
bl sub_803E708
|
||||
|
|
@ -677,7 +677,7 @@ _08067384:
|
|||
ldr r0, _080673B8
|
||||
ldr r1, [r0]
|
||||
adds r0, r6, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _080673C6
|
||||
.align 2, 0
|
||||
_080673B0: .4byte gFormatItems
|
||||
|
|
@ -687,7 +687,7 @@ _080673BC:
|
|||
ldr r0, _080673F8
|
||||
ldr r1, [r0]
|
||||
adds r0, r6, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_080673C6:
|
||||
add r0, sp, 0x4
|
||||
ldrb r0, [r0, 0x2]
|
||||
|
|
@ -1109,14 +1109,14 @@ _08067708:
|
|||
mov r1, sp
|
||||
_08067716:
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _0806772A
|
||||
_0806771E:
|
||||
ldr r0, _08067738
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
_0806772A:
|
||||
add sp, 0x12C
|
||||
pop {r3,r4}
|
||||
|
|
@ -1190,7 +1190,7 @@ sub_8067794:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _0806786C
|
||||
.align 2, 0
|
||||
_080677B0: .4byte gCannotFarewell
|
||||
|
|
@ -1257,7 +1257,7 @@ _08067834:
|
|||
movs r0, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _0806786C
|
||||
ldr r4, _0806787C
|
||||
|
|
@ -1276,7 +1276,7 @@ _08067834:
|
|||
movs r0, 0
|
||||
adds r1, r6, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
_0806786C:
|
||||
add sp, 0x40
|
||||
pop {r4-r7}
|
||||
|
|
@ -1401,7 +1401,7 @@ _0806794C:
|
|||
_08067962:
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _08067A56
|
||||
.align 2, 0
|
||||
_0806796C: .4byte gAvailablePokemonNames
|
||||
|
|
@ -1441,7 +1441,7 @@ _0806798E:
|
|||
mov r1, r10
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl sub_8055FA0
|
||||
bl TryUseChosenMove
|
||||
adds r0, r5, 0
|
||||
bl EntityExists
|
||||
lsls r0, 24
|
||||
|
|
@ -1477,7 +1477,7 @@ _080679DE:
|
|||
ldr r0, _08067A70
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_08067A04:
|
||||
ldrb r0, [r6, 0x7]
|
||||
cmp r0, 0
|
||||
|
|
@ -1869,7 +1869,7 @@ _08067D20:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _08067D32
|
||||
b _08067ED8
|
||||
|
|
|
|||
|
|
@ -484,7 +484,7 @@ _0806A6C4:
|
|||
beq _0806A6D2
|
||||
adds r0, r6, 0
|
||||
mov r1, r8
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_0806A6D2:
|
||||
add sp, 0x4
|
||||
pop {r3}
|
||||
|
|
@ -706,7 +706,7 @@ _0806A85C:
|
|||
ldr r0, _0806A894
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
bl sub_805239C
|
||||
bl DisplayDungeonLoggableMessageTrue
|
||||
_0806A87A:
|
||||
adds r2, r4, 0
|
||||
cmp r2, 0x17
|
||||
|
|
@ -902,7 +902,7 @@ _0806A9E0:
|
|||
_0806A9E6:
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _0806AA02
|
||||
.align 2, 0
|
||||
_0806A9F0: .4byte gPtrLinkMoveOneUseWarningMessage
|
||||
|
|
@ -912,7 +912,7 @@ _0806A9F4:
|
|||
ldr r0, _0806AA08
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_0806AA02:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
|
|
|
|||
|
|
@ -695,7 +695,7 @@ _0806F036:
|
|||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x70]
|
||||
mov r1, r9
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
b _0806F0BC
|
||||
.align 2, 0
|
||||
_0806F098: .4byte gDungeon
|
||||
|
|
@ -709,7 +709,7 @@ _0806F0B0:
|
|||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x70]
|
||||
mov r1, r9
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
_0806F0BC:
|
||||
ldr r1, [sp, 0x78]
|
||||
cmp r1, 0
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ _08072894:
|
|||
ldr r0, _080728D0
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl sub_80528F4
|
||||
bl DisplayDungeonLoggableMessage
|
||||
b _08072928
|
||||
.align 2, 0
|
||||
_080728C8: .4byte gAvailablePokemonNames
|
||||
|
|
@ -202,7 +202,7 @@ _080728D4:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
_08072902:
|
||||
movs r2, 0x1
|
||||
str r2, [sp, 0xCC]
|
||||
|
|
@ -370,7 +370,7 @@ _08072A0C:
|
|||
ldr r0, _08072A4C
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl sub_80528F4
|
||||
bl DisplayDungeonLoggableMessage
|
||||
b _08072A8C
|
||||
.align 2, 0
|
||||
_08072A44: .4byte gAvailablePokemonNames
|
||||
|
|
@ -387,7 +387,7 @@ _08072A50:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
mov r0, r9
|
||||
mov r1, sp
|
||||
movs r2, 0x1
|
||||
|
|
@ -421,7 +421,7 @@ _08072A92:
|
|||
ldr r0, _08072AC4
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl sub_80528F4
|
||||
bl DisplayDungeonLoggableMessage
|
||||
_08072AAE:
|
||||
movs r0, 0x1
|
||||
_08072AB0:
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ _080733FC:
|
|||
ldr r0, _0807343C
|
||||
ldr r1, [r0]
|
||||
mov r0, r8
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
movs r0, 0x7
|
||||
mov r1, r9
|
||||
ands r1, r0
|
||||
|
|
@ -166,7 +166,7 @@ _080733FC:
|
|||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x1
|
||||
bl sub_8055FA0
|
||||
bl TryUseChosenMove
|
||||
movs r5, 0x1
|
||||
b _08073456
|
||||
.align 2, 0
|
||||
|
|
@ -364,7 +364,7 @@ _0807359C:
|
|||
ldr r0, _08073604
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
movs r0, 0x7
|
||||
mov r1, r8
|
||||
ands r1, r0
|
||||
|
|
@ -378,7 +378,7 @@ _0807359C:
|
|||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x1
|
||||
bl sub_8055FA0
|
||||
bl TryUseChosenMove
|
||||
ldr r2, _08073608
|
||||
adds r1, r6, r2
|
||||
ldrb r0, [r1]
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ _0807D634:
|
|||
ldr r2, _0807D650
|
||||
add r2, sp
|
||||
ldr r0, [r2]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _0807D9F4
|
||||
.align 2, 0
|
||||
_0807D650: .4byte 0x00000d08
|
||||
|
|
@ -585,7 +585,7 @@ _0807D996:
|
|||
ldr r2, _0807D9C4
|
||||
add r2, sp
|
||||
ldr r0, [r2]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _0807D9EE
|
||||
.align 2, 0
|
||||
_0807D9B4: .4byte gUnknown_80F4468
|
||||
|
|
@ -605,7 +605,7 @@ _0807D9E0:
|
|||
ldr r3, _0807DA0C
|
||||
add r3, sp
|
||||
ldr r0, [r3]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_0807D9EE:
|
||||
movs r0, 0x1
|
||||
bl sub_807EC28
|
||||
|
|
@ -663,7 +663,7 @@ _0807DA5C:
|
|||
ldr r2, [r0]
|
||||
adds r0, r5, 0
|
||||
adds r1, r6, 0
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
b _0807DB5E
|
||||
.align 2, 0
|
||||
_0807DA68: .4byte gUnknown_80FC9C0
|
||||
|
|
@ -818,7 +818,7 @@ _0807DB94:
|
|||
_0807DBA0:
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _0807DC54
|
||||
.align 2, 0
|
||||
_0807DBAC: .4byte gUnknown_80FD08C
|
||||
|
|
@ -878,7 +878,7 @@ _0807DBF4:
|
|||
ldr r0, _0807DC2C
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _0807DC3A
|
||||
.align 2, 0
|
||||
_0807DC24: .4byte 0x0000fffc
|
||||
|
|
@ -888,7 +888,7 @@ _0807DC30:
|
|||
ldr r0, _0807DC60
|
||||
ldr r1, [r0]
|
||||
adds r0, r7, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_0807DC3A:
|
||||
ldr r0, _0807DC64
|
||||
ldr r0, [r0]
|
||||
|
|
@ -953,7 +953,7 @@ _0807DCAC:
|
|||
_0807DCB8:
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _0807DF0E
|
||||
.align 2, 0
|
||||
_0807DCC4: .4byte gUnknown_80FD3D0
|
||||
|
|
@ -1192,7 +1192,7 @@ _0807DE74:
|
|||
ldr r0, _0807DF30
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
movs r0, 0x28
|
||||
movs r1, 0x2B
|
||||
bl sub_803E708
|
||||
|
|
@ -1334,7 +1334,7 @@ _0807DFC2:
|
|||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x8]
|
||||
mov r1, r10
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
b _0807E174
|
||||
.align 2, 0
|
||||
_0807DFD0: .4byte gUnknown_80F96EC
|
||||
|
|
@ -1351,7 +1351,7 @@ _0807DFD4:
|
|||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0x8]
|
||||
mov r1, r10
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
movs r5, 0
|
||||
ldr r0, _0807E18C
|
||||
lsls r1, r6, 2
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ _0807E816:
|
|||
ldr r0, _0807E884
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, 0
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_0807E844:
|
||||
movs r5, 0
|
||||
_0807E846:
|
||||
|
|
@ -494,7 +494,7 @@ MudWaterSportEffect:
|
|||
bl GetLeader
|
||||
ldr r1, _0807EA68
|
||||
ldr r1, [r1]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _0807EA8C
|
||||
.align 2, 0
|
||||
_0807EA5C: .4byte gUnknown_80F4EAC
|
||||
|
|
@ -514,7 +514,7 @@ _0807EA6C:
|
|||
bl GetLeader
|
||||
ldr r1, _0807EA9C
|
||||
ldr r1, [r1]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_0807EA8C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
|
@ -677,7 +677,7 @@ _0807EBA6:
|
|||
bl GetLeader
|
||||
ldr r1, _0807EC1C
|
||||
ldr r1, [r1]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_0807EBD4:
|
||||
ldr r4, _0807EC14
|
||||
ldr r0, [r4]
|
||||
|
|
@ -697,7 +697,7 @@ _0807EBD4:
|
|||
bl GetLeader
|
||||
ldr r1, _0807EC24
|
||||
ldr r1, [r1]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_0807EC00:
|
||||
ldr r0, [sp, 0x8]
|
||||
add sp, 0xC
|
||||
|
|
@ -856,7 +856,7 @@ _0807ED3A:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _0807EF32
|
||||
.align 2, 0
|
||||
_0807ED48: .4byte gDungeon
|
||||
|
|
@ -1100,7 +1100,7 @@ _0807EF04:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
_0807EF32:
|
||||
add sp, 0x1C
|
||||
pop {r3-r5}
|
||||
|
|
@ -1180,7 +1180,7 @@ sub_807EF84:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _0807EFEE
|
||||
.align 2, 0
|
||||
_0807EFD0: .4byte 0xffff0000
|
||||
|
|
@ -1194,7 +1194,7 @@ _0807EFE2:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
_0807EFEE:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
|
|
@ -1244,7 +1244,7 @@ _0807F036:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
beq _0807F04E
|
||||
b _0807F158
|
||||
|
|
@ -1378,7 +1378,7 @@ _0807F134:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
_0807F158:
|
||||
add sp, 0x10
|
||||
pop {r3-r5}
|
||||
|
|
@ -1440,7 +1440,7 @@ _0807F1CE:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
beq _0807F204
|
||||
_0807F1E6:
|
||||
|
|
@ -1466,7 +1466,7 @@ _0807F204:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
movs r0, 0x2
|
||||
b _0807F31C
|
||||
.align 2, 0
|
||||
|
|
@ -1588,7 +1588,7 @@ _0807F2F8:
|
|||
ldr r1, [r0]
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
_0807F31A:
|
||||
movs r0, 0
|
||||
_0807F31C:
|
||||
|
|
@ -1621,7 +1621,7 @@ sub_807F33C:
|
|||
bl GetLeader
|
||||
ldr r1, _0807F428
|
||||
ldr r1, [r1]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
movs r6, 0
|
||||
_0807F360:
|
||||
movs r5, 0
|
||||
|
|
@ -2037,7 +2037,7 @@ _0807F694:
|
|||
ldr r0, [sp, 0xEC]
|
||||
_0807F698:
|
||||
mov r1, r8
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
b _0807F99C
|
||||
.align 2, 0
|
||||
_0807F6A0: .4byte 0xffff0000
|
||||
|
|
@ -2051,7 +2051,7 @@ _0807F6A8:
|
|||
ldr r2, [r0]
|
||||
ldr r0, [sp, 0xEC]
|
||||
mov r1, r8
|
||||
bl sub_80522F4
|
||||
bl TryDisplayDungeonLoggableMessage3
|
||||
mov r0, r8
|
||||
bl sub_8045888
|
||||
lsls r0, 24
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ _08080A26:
|
|||
_08080A2E:
|
||||
ldr r1, [r0]
|
||||
ldr r0, [sp, 0x14]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
b _08080A46
|
||||
.align 2, 0
|
||||
_08080A38: .4byte gUnknown_80FDACC
|
||||
|
|
@ -214,7 +214,7 @@ _08080A3C:
|
|||
ldr r0, _08080A58
|
||||
ldr r1, [r0]
|
||||
ldr r0, [sp, 0x14]
|
||||
bl SendMessage
|
||||
bl TryDisplayDungeonLoggableMessage
|
||||
_08080A46:
|
||||
add sp, 0x30
|
||||
pop {r3-r5}
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@ _08084484:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
beq _080844A4
|
||||
b _080845D4
|
||||
|
|
@ -399,7 +399,7 @@ _080844F0:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _080845D4
|
||||
.align 2, 0
|
||||
_080844FC: .4byte gDungeon
|
||||
|
|
@ -421,7 +421,7 @@ _08084514:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
ldr r0, _0808453C
|
||||
b _0808455E
|
||||
.align 2, 0
|
||||
|
|
@ -432,14 +432,14 @@ _08084540:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _080845D4
|
||||
ldr r0, _080845B4
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
ldr r0, _080845B8
|
||||
_0808455E:
|
||||
ldr r4, [r0]
|
||||
|
|
@ -460,14 +460,14 @@ _08084582:
|
|||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _080845C4
|
||||
ldr r0, _080845C0
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0x1
|
||||
bne _08084582
|
||||
|
|
@ -488,7 +488,7 @@ _080845C4:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _08084582
|
||||
_080845D4:
|
||||
|
|
@ -608,7 +608,7 @@ _080846B4:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
b _08084768
|
||||
.align 2, 0
|
||||
_080846C0: .4byte gUnknown_80FA500
|
||||
|
|
@ -617,7 +617,7 @@ _080846C4:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0x1
|
||||
bl PrintFieldMessage
|
||||
bl DisplayDungeonMessage
|
||||
mov r1, r8
|
||||
movs r2, 0x2
|
||||
ldrsh r0, [r1, r2]
|
||||
|
|
@ -651,14 +651,14 @@ _08084716:
|
|||
movs r0, 0
|
||||
ldr r1, [r4]
|
||||
movs r2, 0x1
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _08084758
|
||||
ldr r0, _08084754
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0x1
|
||||
bne _08084716
|
||||
|
|
@ -679,7 +679,7 @@ _08084758:
|
|||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
movs r2, 0
|
||||
bl sub_8052B8C
|
||||
bl DisplayDungeonYesNoMessage
|
||||
cmp r0, 0x1
|
||||
bne _08084716
|
||||
_08084768:
|
||||
|
|
|
|||
|
|
@ -1110,7 +1110,7 @@ _0809B14A:
|
|||
adds r1, r4, 0
|
||||
adds r2, r7, 0
|
||||
mov r3, r8
|
||||
bl sub_8014248
|
||||
bl CreateMenuDialogueBoxAndPortrait
|
||||
ldr r0, _0809B184
|
||||
ldr r0, [r0]
|
||||
ldr r1, _0809B188
|
||||
|
|
@ -1462,7 +1462,7 @@ _0809B3EA:
|
|||
mov r1, r9
|
||||
mov r2, r12
|
||||
movs r3, 0
|
||||
bl sub_8014248
|
||||
bl CreateMenuDialogueBoxAndPortrait
|
||||
_0809B3FA:
|
||||
movs r0, 0x1
|
||||
_0809B3FC:
|
||||
|
|
@ -1681,7 +1681,7 @@ _0809B578: .4byte gUnknown_3001B64
|
|||
sub_809B57C:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
bl xxx_draw_string_80144C4
|
||||
bl DrawDialogueBoxString
|
||||
ldr r5, _0809B5C8
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r0]
|
||||
|
|
|
|||
|
|
@ -2,375 +2,7 @@
|
|||
.section .rodata
|
||||
#.incbin "baserom.gba", 0xF59C4, 0x4
|
||||
|
||||
.global gUnknown_80F59C8
|
||||
gUnknown_80F59C8: @ 80F59C8
|
||||
@ replacing .incbin "baserom.gba", 0xF59C8, 0x348
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057634
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.4byte YawnMoveAction
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.4byte NightmareMoveAction
|
||||
.byte 0x0b, 0x00, 0x00, 0x00
|
||||
.4byte sub_805783C
|
||||
.byte 0x11, 0x00, 0x00, 0x00
|
||||
.4byte EncoreMoveAction
|
||||
.byte 0x14, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057974
|
||||
.byte 0x15, 0x00, 0x00, 0x00
|
||||
.4byte PainSplitMoveAction
|
||||
.byte 0x16, 0x00, 0x00, 0x00
|
||||
.4byte TormentMoveAction
|
||||
.byte 0x18, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057BC4
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x20, 0x00, 0x00, 0x00
|
||||
.4byte WhirlpoolMoveAction
|
||||
.byte 0x21, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057D7C
|
||||
.byte 0x23, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057D9C
|
||||
.byte 0x25, 0x00, 0x00, 0x00
|
||||
.4byte SmokescreenMoveAction
|
||||
.byte 0x2d, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057FCC
|
||||
.byte 0x2f, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057FF4
|
||||
.byte 0x30, 0x00, 0x00, 0x00
|
||||
.4byte sub_805805C
|
||||
.byte 0x34, 0x00, 0x00, 0x00
|
||||
.4byte sub_805816C
|
||||
.byte 0x39, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058270
|
||||
.byte 0x3b, 0x00, 0x00, 0x00
|
||||
.4byte sub_80582C4
|
||||
.byte 0x3e, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x3f, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058430
|
||||
.byte 0x40, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058478
|
||||
.byte 0x42, 0x00, 0x00, 0x00
|
||||
.4byte sub_80584C0
|
||||
.byte 0x43, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058548
|
||||
.byte 0x47, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058580
|
||||
.byte 0x48, 0x00, 0x00, 0x00
|
||||
.4byte BrickBreakMoveAction
|
||||
.byte 0x49, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058638
|
||||
.byte 0x4c, 0x00, 0x00, 0x00
|
||||
.4byte sub_80586DC
|
||||
.byte 0x4d, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058770
|
||||
.byte 0x4e, 0x00, 0x00, 0x00
|
||||
.4byte sub_80587E8
|
||||
.byte 0x53, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058838
|
||||
.byte 0x55, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058858
|
||||
.byte 0x5b, 0x00, 0x00, 0x00
|
||||
.4byte sub_80588B8
|
||||
.byte 0x5c, 0x00, 0x00, 0x00
|
||||
.4byte sub_80588F4
|
||||
.byte 0x5d, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058930
|
||||
.byte 0x60, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058A18
|
||||
.byte 0x6a, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058BF0
|
||||
.byte 0x74, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058E5C
|
||||
.byte 0x78, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058FBC
|
||||
.byte 0x83, 0x00, 0x00, 0x00
|
||||
.4byte sub_80590D4
|
||||
.byte 0x85, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059190
|
||||
.byte 0x87, 0x00, 0x00, 0x00
|
||||
.4byte sub_80591E4
|
||||
.byte 0x89, 0x00, 0x00, 0x00
|
||||
.4byte SkillSwapMoveAction
|
||||
.byte 0x8b, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059424
|
||||
.byte 0x8c, 0x00, 0x00, 0x00
|
||||
.4byte sub_805946C
|
||||
.byte 0x8e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059528
|
||||
.byte 0x93, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059540
|
||||
.byte 0x95, 0x00, 0x00, 0x00
|
||||
.4byte sub_80595A0
|
||||
.byte 0x96, 0x00, 0x00, 0x00
|
||||
.4byte sub_80595EC
|
||||
.byte 0x9f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80598CC
|
||||
.byte 0xa2, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059928
|
||||
.byte 0xa4, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059988
|
||||
.byte 0xaa, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059A2C
|
||||
.byte 0xab, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059AA8
|
||||
.byte 0xac, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059AB8
|
||||
.byte 0xb1, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059AF8
|
||||
.byte 0xbc, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059D00
|
||||
.byte 0xc0, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059D48
|
||||
.byte 0xc2, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059D98
|
||||
.byte 0xc4, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059DA4
|
||||
.byte 0xc5, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059DB4
|
||||
.byte 0xc6, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059DC4
|
||||
.byte 0xc8, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059E0C
|
||||
.byte 0xcf, 0x00, 0x00, 0x00
|
||||
.4byte TriAttackMoveAction
|
||||
.byte 0xd1, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A120
|
||||
.byte 0xd2, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A210
|
||||
.byte 0xd5, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A258
|
||||
.byte 0xd6, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A2A0
|
||||
.byte 0xdc, 0x00, 0x00, 0x00
|
||||
.4byte RolePlayMoveAction
|
||||
.byte 0xe0, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A3DC
|
||||
.byte 0xe4, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A464
|
||||
.byte 0xed, 0x00, 0x00, 0x00
|
||||
.4byte CurseMoveAction
|
||||
.byte 0xee, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A568
|
||||
.byte 0xf3, 0x00, 0x00, 0x00
|
||||
.4byte TickleMoveAction
|
||||
.byte 0xf6, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A688
|
||||
.byte 0xf9, 0x00, 0x00, 0x00
|
||||
.4byte KnockOffMoveAction
|
||||
.byte 0x07, 0x01, 0x00, 0x00
|
||||
.4byte SecretPowerMoveAction
|
||||
.byte 0x08, 0x01, 0x00, 0x00
|
||||
.4byte sub_805AC90
|
||||
.byte 0x0a, 0x01, 0x00, 0x00
|
||||
.4byte sub_805AD04
|
||||
.byte 0x0b, 0x01, 0x00, 0x00
|
||||
.4byte sub_805AD34
|
||||
.byte 0x0d, 0x01, 0x00, 0x00
|
||||
.4byte sub_805AD54
|
||||
.byte 0x10, 0x01, 0x00, 0x00
|
||||
.4byte sub_805AE3C
|
||||
.byte 0x13, 0x01, 0x00, 0x00
|
||||
.4byte sub_805AE74
|
||||
.byte 0x14, 0x01, 0x00, 0x00
|
||||
.4byte sub_805AECC
|
||||
.byte 0x15, 0x01, 0x00, 0x00
|
||||
.4byte PresentMoveAction
|
||||
.byte 0x16, 0x01, 0x00, 0x00
|
||||
.4byte sub_805AFA4
|
||||
.byte 0x19, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B028
|
||||
.byte 0x1b, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B074
|
||||
.byte 0x1c, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B0BC
|
||||
.byte 0x23, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B17C
|
||||
.byte 0x26, 0x01, 0x00, 0x00
|
||||
.4byte WrapMoveAction
|
||||
.byte 0x28, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B264
|
||||
.byte 0x35, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B324
|
||||
.byte 0x39, 0x01, 0x00, 0x00
|
||||
.4byte DestinyBondMoveAction
|
||||
.byte 0x3a, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B388
|
||||
.byte 0x44, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B3E0
|
||||
.byte 0x46, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B454
|
||||
.byte 0x47, 0x01, 0x00, 0x00
|
||||
.4byte MimicMoveAction
|
||||
.byte 0x48, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B53C
|
||||
.byte 0x49, 0x01, 0x00, 0x00
|
||||
.4byte LeechSeedMoveAction
|
||||
.byte 0x4b, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B668
|
||||
.byte 0x4f, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B910
|
||||
.byte 0x55, 0x01, 0x00, 0x00
|
||||
.4byte sub_805B808
|
||||
.byte 0xe2, 0x00, 0x00, 0x00
|
||||
.4byte sub_805A408
|
||||
|
||||
.global gNaturePowerMoveTable
|
||||
gNaturePowerMoveTable: @ 80F5D10
|
||||
@ replacing .incbin "baserom.gba", 0xF5D10, 0x260
|
||||
.byte 0xdb, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x76, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x76, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0xfb, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0xfb, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0xfb, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x76, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0xdb, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x76, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0xff, 0x00, 0x00, 0x00
|
||||
.4byte sub_8058580
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x7f, 0x00, 0x00, 0x00
|
||||
.4byte sub_80583D8
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x7c, 0x00, 0x00, 0x00
|
||||
.4byte sub_8059050
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0xfb, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8057C88
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x91, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0xdb, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0xdb, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
.byte 0x1e, 0x00, 0x00, 0x00
|
||||
.4byte sub_8055620
|
||||
|
||||
.global gUnknown_80F5F70
|
||||
gUnknown_80F5F70: @ 80F5F70
|
||||
|
|
@ -14613,24 +14245,3 @@ gUnknown_810697C: @ 810697C
|
|||
.byte 0x04, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.4byte gUnknown_8103E40
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106990
|
||||
gUnknown_8106990: @ 8106990
|
||||
@ replacing .incbin "baserom.gba", 0x106990, 0x2C
|
||||
.byte 0x01, 0x00, 0x54, 0x00, 0xf0, 0xff, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x54, 0x00
|
||||
.byte 0x6a, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.global gUnknown_81069BC
|
||||
gUnknown_81069BC: @ 81069BC
|
||||
@ replacing .incbin "baserom.gba", 0x1069BC, 0x18
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.global gUnknown_81069D4
|
||||
gUnknown_81069D4: @ 81069D4
|
||||
@ replacing .incbin "baserom.gba", 0x1069D4, 0x20
|
||||
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
|
|
|
|||
18
include/called_move_data.h
Normal file
18
include/called_move_data.h
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#ifndef GUARD_CALLED_MOVE_DATA_H
|
||||
#define GUARD_CALLED_MOVE_DATA_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_moves.h"
|
||||
|
||||
typedef bool8 (*MoveCallback)(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
struct CalledMove
|
||||
{
|
||||
u16 moveID;
|
||||
MoveCallback callback;
|
||||
};
|
||||
|
||||
#define METRONOME_AVAILABLE_CALLED_MOVES 105
|
||||
extern const struct CalledMove gMetronomeCalledMoves[METRONOME_AVAILABLE_CALLED_MOVES];
|
||||
extern const struct CalledMove gNaturePowerCalledMoves[];
|
||||
|
||||
#endif
|
||||
|
|
@ -5,20 +5,32 @@
|
|||
#include "structs/menu.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
struct MonPortraitMsg
|
||||
{
|
||||
OpenedFile *faceFile;
|
||||
void *faceData;
|
||||
Position pos;
|
||||
u8 spriteId; // Which mon's sprite to use. For example Kecleon has multiple sprites depending on whether it's green or purple.
|
||||
bool8 flip; // Whether the mon's sprite is flipped.
|
||||
u8 unkE;
|
||||
};
|
||||
|
||||
// code_80130A8.s
|
||||
extern void sub_8013E54(void);
|
||||
extern void sub_8013F84(void);
|
||||
extern void sub_80140B4(UnkTextStruct2 *);
|
||||
extern void sub_80140DC(void);
|
||||
extern void sub_8014114(void);
|
||||
extern void xxx_info_box_80141B4(const u8 *, u32, OpenedFile **, u16);
|
||||
extern void sub_8014248(const u8 *, u32, u32, const MenuItem *, void *, u32, u32, OpenedFile **, u32);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern void sub_80151C0(u32, u8 *);
|
||||
extern u32 sub_80154F0(void);
|
||||
extern void sub_80155F0(void);
|
||||
extern void xxx_draw_string_80144C4(void);
|
||||
extern void PrintFormatStringOnWindow(u32, u32, const u8 *, u32 windowId, u32);
|
||||
extern void xxx_format_string(const u8 *, u8 *, u8 *, u32);
|
||||
void sub_8013E54(void);
|
||||
void sub_8013F84(void);
|
||||
void sub_80140B4(UnkTextStruct2 *);
|
||||
void sub_80140DC(void);
|
||||
void sub_8014114(void);
|
||||
void CreateDialogueBoxAndPortrait(const u8 *, u32, struct MonPortraitMsg *, u16);
|
||||
void CreateYesNoDialogueBoxAndPortrait_DefaultYes(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 param_3);
|
||||
void CreateYesNoDialogueBoxAndPortrait_DefaultNo(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 param_3);
|
||||
void CreateMenuDialogueBoxAndPortrait(const u8 *, u32, u32, const MenuItem *, void *, u32, u32, struct MonPortraitMsg *, u32);
|
||||
s32 sub_80144A4(s32 *);
|
||||
void sub_80151C0(u32, u8 *);
|
||||
u32 sub_80154F0(void);
|
||||
void sub_80155F0(void);
|
||||
void DrawDialogueBoxString(void);
|
||||
void PrintFormatStringOnWindow(u32, u32, const u8 *, u32 windowId, u32);
|
||||
u8 *xxx_format_string(const u8 *, u8 *, u8 *, u32);
|
||||
|
||||
#endif // GUARD_CODE_80130A8_H
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "file_system.h"
|
||||
#include "structs/str_text.h"
|
||||
#include "structs/str_wonder_mail.h"
|
||||
#include "code_80130A8.h"
|
||||
|
||||
// size: 0xA8
|
||||
struct unkStruct_203B2FC
|
||||
|
|
@ -13,13 +14,7 @@ struct unkStruct_203B2FC
|
|||
unkStruct_802F204 unk8;
|
||||
/* 0x30 */ u8 jobSlotIndex;
|
||||
/* 0x34 */ WonderMail *jobInfo;
|
||||
/* 0x38 */ OpenedFile *faceFile;
|
||||
/* 0x3C */ u8 *faceData;
|
||||
u16 unk40;
|
||||
u16 unk42;
|
||||
u8 unk44;
|
||||
u8 unk45;
|
||||
u8 unk46;
|
||||
/* 0x38 */ struct MonPortraitMsg monPortrait;
|
||||
UnkTextStruct2 unk48[4];
|
||||
};
|
||||
|
||||
|
|
@ -27,4 +22,4 @@ bool8 sub_802DB28(u8 jobSlotIndex, u8 dungeon);
|
|||
u32 sub_802DBD4(void);
|
||||
void sub_802DC00(void);
|
||||
|
||||
#endif // GUARD_CODE_802DB28_H
|
||||
#endif // GUARD_CODE_802DB28_H
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
#ifndef GUARD_CODE_80521D0_H
|
||||
#define GUARD_CODE_80521D0_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void SendMessage(Entity *pokemon, const char message[]);
|
||||
|
||||
#endif // GUARD_CODE_80521D0_H
|
||||
|
|
@ -3,6 +3,6 @@
|
|||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
s32 CalculateStatusTurns(Entity *target, s16 *turnRange, bool8 factorCurerSkills);
|
||||
s32 CalculateStatusTurns(Entity *target, const s16 *turnRange, bool8 factorCurerSkills);
|
||||
|
||||
#endif // GUARD_808417C_H
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define GUARD_CODE_80869E4_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "dungeon_message.h"
|
||||
|
||||
// size: 0x8
|
||||
typedef struct unkStruct_202F3D0
|
||||
|
|
@ -24,7 +25,7 @@ void sub_8086598(void);
|
|||
void sub_80865E8(void);
|
||||
void sub_808663C(void);
|
||||
void sub_8086690(void);
|
||||
void sub_80866C4(const u8 *dialogue);
|
||||
void sub_80866C4(const struct DungeonDialogueStruct *dialogue);
|
||||
void sub_8086738(void);
|
||||
void sub_8086764(void);
|
||||
void sub_8086794(void);
|
||||
|
|
@ -39,4 +40,4 @@ void sub_8086910(Entity *entity);
|
|||
void sub_808692C(void);
|
||||
void sub_80869E4(Entity *, s32, u8, s8);
|
||||
|
||||
#endif // GUARD_CODE_80869E4_H
|
||||
#endif // GUARD_CODE_80869E4_H
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ enum MoveFlag2
|
|||
MOVE_FLAG_SEALED = 1 << 0,
|
||||
MOVE_FLAG2_UNK4 = 1 << 2,
|
||||
MOVE_FLAG_TEMPORARY = 1 << 3, // Used for moves copied by Mimic.
|
||||
MOVE_FLAG2_x10 = 1 << 4, // Checked with pressure's pp loss
|
||||
MOVE_FLAG_REPLACE = 1 << 5 // Used for moves copied by Sketch.
|
||||
};
|
||||
|
||||
|
|
|
|||
54
include/dungeon_message.h
Normal file
54
include/dungeon_message.h
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
#ifndef GUARD_DUNGEON_MESSAGE_H
|
||||
#define GUARD_DUNGEON_MESSAGE_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "code_80130A8.h"
|
||||
|
||||
struct MonDialogueSpriteInfo
|
||||
{
|
||||
s16 species;
|
||||
u8 spriteId;
|
||||
};
|
||||
|
||||
struct DungeonDialogueStruct
|
||||
{
|
||||
u16 unk0;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
const u8 *str;
|
||||
};
|
||||
|
||||
void sub_80521D0(void);
|
||||
void sub_8052210(bool8 a0);
|
||||
|
||||
// These functions display the string if certain conditions are met. The conditions differ depending on the function. The string is then saved to the message log.
|
||||
void TryDisplayDungeonLoggableMessage(Entity *pokemon, const u8 *str);
|
||||
void TryDisplayDungeonLoggableMessage2(Entity *pokemon, const u8 *str);
|
||||
void TryDisplayDungeonLoggableMessage3(Entity *attacker, Entity *target, const u8 *str);
|
||||
void TryDisplayDungeonLoggableMessage4(Entity *attacker, Entity *target, const u8 *str);
|
||||
void TryDisplayDungeonLoggableMessage5(Entity *pokemon, Position *pos, const u8 *str);
|
||||
|
||||
// As opposed to the above - these always display the string and save it in the message log. False/True stand for an unknown argument. Not sure what the practical difference is between these.
|
||||
void DisplayDungeonLoggableMessage(Entity *pokemon, const u8 *str);
|
||||
void DisplayDungeonLoggableMessageFalse(Entity *pokemon, const u8 *str);
|
||||
void DisplayDungeonLoggableMessageTrue(Entity *pokemon, const u8 *str);
|
||||
|
||||
void xxx_draw_string_80524F0(void);
|
||||
void sub_80526D0(s32 r0);
|
||||
void sub_8052740(s32 a0);
|
||||
void DisplayDungeonMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool8 a2);
|
||||
void DisplayDungeonDialogue(const struct DungeonDialogueStruct *dialogueInfo);
|
||||
bool32 DisplayDungeonYesNoMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool32 defaultYes);
|
||||
s32 DisplayDungeonMenuMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, const MenuItem *menuItems, u16 unkArg);
|
||||
void sub_8052D44(s16 *ids, Entity *leader, Entity *partner);
|
||||
void TryDisplayGeneralTutorialMessage(void);
|
||||
void TryDisplayItemPickupTutorialMessage(u8 itemId);
|
||||
void DisplayYouReachedDestFloorStr(void);
|
||||
void sub_8052FB8(const u8 *str);
|
||||
const u8 *GetCurrentDungeonName(void);
|
||||
void ResetMessageLog(void);
|
||||
bool32 DisplayMessageLog(void);
|
||||
|
||||
#endif // GUARD_DUNGEON_MESSAGE_H
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
#include "file_system.h"
|
||||
#include "structs/menu.h"
|
||||
#include "structs/str_text.h"
|
||||
#include "code_80130A8.h"
|
||||
|
||||
#define FELICITY_BANK_ACTION_WITHDRAW 0
|
||||
#define FELICITY_BANK_ACTION_DEPOSIT 1
|
||||
|
|
@ -19,15 +20,8 @@ typedef struct FelicityBankWork
|
|||
MenuItem unk14[8];
|
||||
u16 unk54[8];
|
||||
unkStructFor8013AA0 unk64;
|
||||
/* 0x94 */ OpenedFile *faceFile;
|
||||
/* 0x98 */ u8 *faceData;
|
||||
u16 unk9C;
|
||||
u16 unk9E;
|
||||
u8 unkA0;
|
||||
u8 unkA1;
|
||||
u8 unkA2;
|
||||
u8 unkA3;
|
||||
OpenedFile **unkA4;
|
||||
/* 0x94 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
UnkTextStruct2 unkA8[4];
|
||||
} FelicityBankWork;
|
||||
|
||||
|
|
@ -36,4 +30,4 @@ void DestroyFelicityBank(void);
|
|||
void DrawTeamMoneyBox(u32);
|
||||
u32 FelicityBankCallback(void);
|
||||
|
||||
#endif // GUARD_FELICITY_BANK_H
|
||||
#endif // GUARD_FELICITY_BANK_H
|
||||
|
|
|
|||
|
|
@ -699,6 +699,7 @@
|
|||
#define KEY_OR_INTR 0x0000
|
||||
#define KEY_AND_INTR 0x8000
|
||||
#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN)) // 0xF0
|
||||
#define AB_BUTTONS (A_BUTTON | B_BUTTON)
|
||||
#define JOY_EXCL_DPAD 0x030F
|
||||
|
||||
// interrupt flags
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
#include "structs/menu.h"
|
||||
#include "structs/str_text.h"
|
||||
#include "structs/str_moves.h"
|
||||
#include "code_80130A8.h"
|
||||
|
||||
// size: 0x18C
|
||||
typedef struct GulpinShopWork
|
||||
|
|
@ -24,15 +25,8 @@ typedef struct GulpinShopWork
|
|||
u16 unk68[8];
|
||||
MenuStruct unk78;
|
||||
u8 fillC8[0x118 - 0xC8];
|
||||
/* 0x118 */ OpenedFile *faceFile;
|
||||
/* 0x11C */ u8 *faceData;
|
||||
u16 unk120;
|
||||
u16 unk122;
|
||||
u8 unk124;
|
||||
u8 unk125;
|
||||
u8 unk126;
|
||||
u8 unk127;
|
||||
OpenedFile **unk128;
|
||||
/* 0x118 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
UnkTextStruct2 unk12C[4];
|
||||
} GulpinShopWork;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,14 +33,8 @@ typedef struct unkStruct_203B27C
|
|||
u16 unkBC[8];
|
||||
MenuStruct unkCC;
|
||||
u8 fill11C[0x16C - 0x11C];
|
||||
/* 0x16C */ OpenedFile *faceFile;
|
||||
/* 0x170 */ u8 *faceData;
|
||||
u16 unk174;
|
||||
u16 unk176;
|
||||
u8 unk178;
|
||||
u8 unk179;
|
||||
u8 unk17A;
|
||||
OpenedFile **unk17C;
|
||||
/* 0x16C */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
UnkTextStruct2 unk180[4];
|
||||
} unkStruct_203B27C;
|
||||
|
||||
|
|
@ -48,4 +42,4 @@ bool8 sub_801FB50(u32 mode);
|
|||
u32 sub_801FC40(void);
|
||||
void sub_801FD7C(void);
|
||||
|
||||
#endif // GUARD_GULPIN_SHOP_801FB50_H
|
||||
#endif // GUARD_GULPIN_SHOP_801FB50_H
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ enum KangaskhanStorageStates
|
|||
KANGASKHAN_STORAGE_IS_MONEY_USED_TM = 9,
|
||||
};
|
||||
|
||||
enum KangaskhanStorageMenuActions
|
||||
enum KangaskhanStorageMenuActions
|
||||
{
|
||||
MENU_CANCEL = 1,
|
||||
MENU_STORE = 2,
|
||||
|
|
@ -45,14 +45,8 @@ struct KangaskhanStorageWork
|
|||
u16 unk4C[5];
|
||||
MenuStruct unk58;
|
||||
unkStructFor8013AA0 unkA8;
|
||||
/* 0xD8 */ OpenedFile *faceFile;
|
||||
/* 0xDC */ u8 *faceData; // Written to but never read
|
||||
u16 unkE0; // Written to but never read
|
||||
u16 unkE2; // Written to but never read
|
||||
bool8 unkE4;
|
||||
u8 unkE5; // Written to but never read
|
||||
u8 unkE6; // Written to but never read
|
||||
OpenedFile **unkE8;
|
||||
/* 0xD8 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
UnkTextStruct2 unkEC[4];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -63,15 +63,8 @@ typedef struct KecleonBrosWork1
|
|||
/* 0x34 */ MenuItem menuItems[8];
|
||||
u16 unk74[8];
|
||||
/* 0x84 */ MenuStruct menu;
|
||||
/* 0xD4 */ OpenedFile *faceFile;
|
||||
/* 0xD8 */ u8 *faceData;
|
||||
u16 unkDC;
|
||||
u16 unkDE;
|
||||
u8 unkE0;
|
||||
u8 unkE1;
|
||||
u8 unkE2;
|
||||
u8 unkE3;
|
||||
OpenedFile **unkE4;
|
||||
/* 0xD4 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
UnkTextStruct2 unkE8[4];
|
||||
} KecleonBrosWork1;
|
||||
|
||||
|
|
|
|||
|
|
@ -28,15 +28,8 @@ typedef struct MakuhitaDojoWork1
|
|||
/* 0x14 */ s32 menuAction;
|
||||
MenuItem unk18[4];
|
||||
u8 fill38[0x58 - 0x38];
|
||||
/* 0x58 */ OpenedFile *faceFile;
|
||||
/* 0x5C */ u8 *faceData;
|
||||
u16 unk60;
|
||||
u16 unk62;
|
||||
u8 unk64;
|
||||
u8 unk65;
|
||||
u8 unk66;
|
||||
u8 unk67;
|
||||
OpenedFile** unk68;
|
||||
/* 0x58 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
UnkTextStruct2 unk6C[4];
|
||||
} MakuhitaDojoWork1;
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ void sub_8013984(MenuInputStruct * param_1);
|
|||
void sub_8013A54(MenuInputStruct *param_1);
|
||||
void sub_8013A7C(MenuInputStruct *param_1);
|
||||
void AddMenuCursorSprite_(MenuInputStruct *, u8 *);
|
||||
void nullsub_34(MenuInputStructSub *);
|
||||
void nullsub_34(MenuInputStructSub *, s32 a1);
|
||||
|
||||
void sub_8013AA0(unkStructFor8013AA0 *);
|
||||
u32 sub_8013BBC(unkStructFor8013AA0 *);
|
||||
|
|
|
|||
|
|
@ -76,9 +76,9 @@ s16 GetInternalNo(s16 index);
|
|||
s32 CalculateEXPGain(s16 index, s32 level);
|
||||
s16 GetPokemonEvolveConditons(s16 index, unkEvolve *);
|
||||
u8 GetPokemonOverworldPalette(s16 index, u32 r1);
|
||||
bool8 IsPokemonDialogueSpriteAvail(s16 index, s32 r1);
|
||||
bool8 IsPokemonDialogueSpriteAvail(s16 index, s32 spriteId);
|
||||
OpenedFile *OpenPokemonDialogueSpriteFile(s16 index);
|
||||
OpenedFile *GetDialogueSpriteDataPtr(s16 index);
|
||||
OpenedFile *GetDialogueSpriteDataPtr(s32 index);
|
||||
s32 GetUnownIndex(s16 index);
|
||||
void GenerateHiddenPower(HiddenPower *);
|
||||
s32 GetEvolutionSequence(PokemonStruct1 *pokemon, EvolveStage *);
|
||||
|
|
|
|||
|
|
@ -8,17 +8,11 @@ typedef struct PostOfficeWork
|
|||
{
|
||||
/* 0x0 */ u8 state;
|
||||
/* 0x4 */ s32 currMenuChoice;
|
||||
/* 0x8 */ OpenedFile *faceFile;
|
||||
/* 0xC */ u8 *faceData;
|
||||
u16 unk10;
|
||||
u16 unk12;
|
||||
u8 unk14;
|
||||
u8 unk15;
|
||||
u8 unk16;
|
||||
/* 0x8 */ struct MonPortraitMsg monPortrait;
|
||||
} PostOfficeWork;
|
||||
|
||||
void CleanHelperPelipper(void);
|
||||
bool8 CreateHelperPelipperMenu(s16 speciesID);
|
||||
u32 HelperPelipperCallback(void);
|
||||
|
||||
#endif // GUARD_POST_OFFICE_GUIDE1_H
|
||||
#endif // GUARD_POST_OFFICE_GUIDE1_H
|
||||
|
|
|
|||
|
|
@ -9,14 +9,7 @@ typedef struct SavePakWrite
|
|||
/* 0x0 */ u32 state;
|
||||
s32 unk4;
|
||||
/* 0x8 */ u32 saveStatus;
|
||||
/* 0xC */ OpenedFile *faceFile;
|
||||
/* 0x10 */ u8 *faceData;
|
||||
u16 unk14;
|
||||
u16 unk16;
|
||||
u8 unk18;
|
||||
u8 unk19;
|
||||
u8 unk1A;
|
||||
u8 unk1B;
|
||||
/* 0xC */ struct MonPortraitMsg monPortrait;
|
||||
/* 0x1C */ u16 pokeID;
|
||||
} SavePakWrite;
|
||||
|
||||
|
|
@ -25,4 +18,4 @@ u32 GetSavePakStatus(void);
|
|||
void PrepareSavePakWrite(s16 pokemonID);
|
||||
bool8 WriteSavePak(void);
|
||||
|
||||
#endif // GUARD_SAVE_WRITE_H
|
||||
#endif // GUARD_SAVE_WRITE_H
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ typedef struct EntityInfo
|
|||
/* 0xF8 */ bool8 speedStageChanged; // Toggled when pokemon is movement speed is sped up
|
||||
/* 0xF9 */ u8 unkF9;
|
||||
/* 0xFA */ u8 terrifiedTurns; // Doubles as a bool for whether the Pokémon is terrified.
|
||||
u8 expMultiplier;
|
||||
/* 0xFB */ u8 expMultiplier;
|
||||
// Set to true if the player makes a teammate use their held item.
|
||||
// This is done by going to the teammate's held item in the toolbox and selecting "Use".
|
||||
/* 0xFC */ bool8 useHeldItem;
|
||||
|
|
@ -318,7 +318,7 @@ typedef struct EntityInfo
|
|||
/* 0x16C */ Position targetPos;
|
||||
/* 0x170 */ Position pixelPos;
|
||||
u32 unk174;
|
||||
u16 unk178;
|
||||
u16 abilityEffectFlags; // See enum AbilityEffectFlags
|
||||
/* 0x17A */ u16 mimicMoveIDs[MAX_MON_MOVES]; // All moves that Mimic has copied (not sure on size...)
|
||||
// Previous value of targetPosition for movement, 1 and 2 moves ago.
|
||||
/* 0x184 */ Unk_Entity_x184 unk184[4];
|
||||
|
|
@ -381,6 +381,21 @@ enum MovementFlag
|
|||
MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY = 1 << 15 // Set if the Pokémon is petrified and the leader cures them by swapping places.
|
||||
};
|
||||
|
||||
enum AbilityEffectFlags
|
||||
{
|
||||
ABILITY_FLAG_ARENA_TRAP = 1 << 0,
|
||||
ABILITY_FLAG_SHADOW_TAG = 1 << 1,
|
||||
ABILITY_FLAG_MAGNET_PULL = 1 << 2,
|
||||
ABILITY_FLAG_STATIC = 1 << 3,
|
||||
ABILITY_FLAG_EFFECT_SPORE_PRLZ = 1 << 4,
|
||||
ABILITY_FLAG_POISON_POINT = 1 << 5,
|
||||
ABILITY_FLAG_EFFECT_SPORE_PSN = 1 << 6,
|
||||
ABILITY_FLAG_EFFECT_SPORE_SLP = 1 << 7,
|
||||
ABILITY_FLAG_FLAME_BODY = 1 << 8,
|
||||
ABILITY_FLAG_CUTE_CHARM = 1 << 9,
|
||||
ABILITY_FLAG_STENCH = 1 << 10,
|
||||
};
|
||||
|
||||
enum ShopkeeperMode
|
||||
{
|
||||
SHOPKEEPER_MODE_NORMAL,
|
||||
|
|
@ -422,7 +437,7 @@ enum ExpMultiplier
|
|||
{
|
||||
EXP_HALVED, // 0.5x when fainting a mon with only the regular attack and no moves
|
||||
EXP_REGULAR, // 1x
|
||||
EXP_BOOSTED, // 1.5x so far use not found, but most likely linked moves ; to be confirmed once more code is decompiled
|
||||
EXP_BOOSTED, // 1.5x when using linked moves
|
||||
};
|
||||
|
||||
static inline bool8 ExpMultiplierChanged(EntityInfo *info)
|
||||
|
|
|
|||
|
|
@ -211,6 +211,33 @@ struct unkStruct_Dungeon64C
|
|||
u32 unk4;
|
||||
};
|
||||
|
||||
#define UNK_1BBD4_STR_COUNT 10
|
||||
|
||||
struct UnkStructDungeon1BDD4
|
||||
{
|
||||
u8 unk0[UNK_1BBD4_STR_COUNT][64];
|
||||
u8 unk1C054[UNK_1BBD4_STR_COUNT]; // 0x280
|
||||
u8 unk1C05E; // 0x28A
|
||||
u8 unk1C05F; // 0x28B
|
||||
s16 unk1C060; // 0x28C
|
||||
s16 unk1C062; // 0x29E
|
||||
s16 unk1C064; // 0x290
|
||||
s16 unk1C066; // 0x292
|
||||
s16 unk1C068; // 0x294
|
||||
u32 unk1C06C; // 0x298
|
||||
};
|
||||
|
||||
#define MESSAGE_LOG_STRINGS_COUNT 20
|
||||
#define MESSAGE_LOG_BUFFER_SIZE 60
|
||||
|
||||
struct MessageLogString
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 str[MESSAGE_LOG_BUFFER_SIZE];
|
||||
};
|
||||
|
||||
// size: 0x1CEDC
|
||||
typedef struct Dungeon
|
||||
{
|
||||
|
|
@ -234,6 +261,7 @@ typedef struct Dungeon
|
|||
u8 unk11;
|
||||
s16 unk12;
|
||||
s16 unk14;
|
||||
s16 unk16;
|
||||
u32 unk18[(0xB8 - 0x18) / 4];
|
||||
Entity *unkB8;
|
||||
Entity *unkBC;
|
||||
|
|
@ -379,11 +407,9 @@ typedef struct Dungeon
|
|||
/* 0x17B44 */ OpenedFile *sprites[MONSTER_MAX];
|
||||
/* 0x181E4 */ OpenedFile *paletFile;
|
||||
/* 0x181E8 */ UnkDungeonGlobal_unk181E8_sub unk181e8;
|
||||
u8 fill18220[0x1C05E - 0x1822C];
|
||||
u8 unk1C05E;
|
||||
u8 fill1C05F[0x1C06C - 0x1C05F];
|
||||
u32 unk1C06C;
|
||||
u8 fill1C070[0x1C570 - 0x1C070];
|
||||
u8 fill18220[0x1BDD4 - 0x1822C];
|
||||
struct UnkStructDungeon1BDD4 unk1BDD4;
|
||||
struct MessageLogString messageLogStrings[MESSAGE_LOG_STRINGS_COUNT];
|
||||
/* 0x1C570 */ DungeonLocation unk1C570;
|
||||
/* 0x1C574 */ UnkDungeonGlobal_unk1C574 unk1C574;
|
||||
/* 0x1C590 */ UnkDungeonGlobal_unk1C590 unk1C590[4];
|
||||
|
|
|
|||
|
|
@ -32,6 +32,39 @@ struct unkStruct_80B8848
|
|||
|
||||
u32 xxx_call_draw_char(s32, s32, u32, u32, u32);
|
||||
|
||||
struct UnkDrawStringStruct;
|
||||
|
||||
struct UnkDrawStringStruct
|
||||
{
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
s32 unkC;
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
u8 unk20;
|
||||
u8 unk21;
|
||||
u8 fill22;
|
||||
u8 fill23;
|
||||
const u8* (*unk24)(const u8 *, const u8 *, struct UnkDrawStringStruct*);
|
||||
u8 fill28;
|
||||
u8 fill29;
|
||||
u8 fill2A;
|
||||
u8 fill2B;
|
||||
u32 unk2C;
|
||||
u8 fill30;
|
||||
u8 fill31;
|
||||
u8 fill32;
|
||||
u8 fill33;
|
||||
u32 unk34;
|
||||
};
|
||||
|
||||
|
||||
void RestoreUnkTextStruct_8006518(UnkTextStruct2 *);
|
||||
void sub_8006554(UnkTextStruct1 *, u32 *, u32 *, u16 *, u32, const UnkTextStruct2 *, u8, u32, UnkTextStruct2_sub *, u8);
|
||||
void sub_80073B8(s32);
|
||||
|
|
@ -41,6 +74,8 @@ void sub_800792C(u32, s32, s32, s32, u32);
|
|||
void sub_8007A78(u32, s32, s32, s32, u32);
|
||||
void sub_8007B7C(u32, s32, s32, s32, u32);
|
||||
void sub_8007E20(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, u32 *a5, u32 a6);
|
||||
const u8 *xxx_get_next_char_from_string(const u8 *a1, u32 *a0);
|
||||
const u8 *xxx_handle_format_global(const u8 *str, struct UnkDrawStringStruct *unkStrPtr);
|
||||
|
||||
// text.s
|
||||
extern const struct unkChar *GetCharacter(s32);
|
||||
|
|
|
|||
|
|
@ -25,13 +25,7 @@ typedef struct WonderMailStruct_203B2C4
|
|||
UnkTextStruct2 unk35C[4];
|
||||
UnkTextStruct2 unk3BC[4];
|
||||
Item unk41C;
|
||||
/* 0x420 */ OpenedFile *faceFile;
|
||||
/* 0x424 */ u8 *faceData;
|
||||
u16 unk428;
|
||||
u16 unk42A;
|
||||
u8 unk42C;
|
||||
u8 unk42D;
|
||||
u8 unk42E;
|
||||
/* 0x420 */ struct MonPortraitMsg monPortrait;
|
||||
u32 unk430;
|
||||
/* 0x434 */ u8 formattedString[0x100];
|
||||
/* 0x534 */ s32 wonderMailMethod;
|
||||
|
|
@ -39,4 +33,4 @@ typedef struct WonderMailStruct_203B2C4
|
|||
unkStruct_802F204 unk53C;
|
||||
} WonderMailStruct_203B2C4;
|
||||
|
||||
#endif // GUARD_THANK_YOU_WONDER_MAIL_H
|
||||
#endif // GUARD_THANK_YOU_WONDER_MAIL_H
|
||||
|
|
|
|||
|
|
@ -52,15 +52,8 @@ typedef struct WigglytuffShop3Work
|
|||
MenuItem unk1C[8];
|
||||
u16 unk5C[8];
|
||||
MenuStruct unk6C;
|
||||
/* 0xBC */ OpenedFile *faceFile;
|
||||
/* 0xC0 */ u8 *faceData;
|
||||
u16 unkC4;
|
||||
u16 unkC6;
|
||||
u8 unkC8;
|
||||
u8 unkC9;
|
||||
u8 unkCA;
|
||||
u8 fillCB;
|
||||
OpenedFile **unkCC;
|
||||
/* 0xBC */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
UnkTextStruct2 unkD0[4];
|
||||
u32 unk130;
|
||||
u32 unk134;
|
||||
|
|
|
|||
|
|
@ -25,13 +25,7 @@ typedef struct WonderMailStruct_203B2C0
|
|||
UnkTextStruct2 unk35C[4];
|
||||
UnkTextStruct2 unk3BC[4];
|
||||
/* 0x41C */ u32 unkfill; // ItemSlot?
|
||||
/* 0x420 */ OpenedFile *faceFile;
|
||||
/* 0x424 */ u8 *faceData;
|
||||
u16 unk428;
|
||||
u16 unk42A;
|
||||
u8 unk42C;
|
||||
u8 unk42D;
|
||||
u8 unk42E;
|
||||
/* 0x420 */ struct MonPortraitMsg monPortrait;
|
||||
/* 0x430 */ u8 padding3[0x534 - 0x430];
|
||||
u32 unk534;
|
||||
s32 unk538; // A7 << 3
|
||||
|
|
@ -40,4 +34,4 @@ typedef struct WonderMailStruct_203B2C0
|
|||
/* 0x544 */ s16 speciesNum;
|
||||
} WonderMailStruct_203B2C0;
|
||||
|
||||
#endif // GUARD_WONDER_MAIL_H
|
||||
#endif // GUARD_WONDER_MAIL_H
|
||||
|
|
|
|||
|
|
@ -234,10 +234,8 @@ SECTIONS {
|
|||
asm/code_804AFAC.o(.text);
|
||||
src/code_804AFAC.o(.text);
|
||||
asm/code_804FD30.o(.text);
|
||||
src/code_80521D0.o(.text);
|
||||
asm/code_80521D0.o(.text);
|
||||
src/charge_move.o(.text);
|
||||
src/move_util.o(.text);
|
||||
src/dungeon_message.o(.text);
|
||||
src/dungeon_move.o(.text);
|
||||
src/move_actions.o(.text);
|
||||
src/status_actions.o(.text);
|
||||
src/move_checks.o(.text);
|
||||
|
|
@ -556,8 +554,10 @@ SECTIONS {
|
|||
src/move_checks.o(.rodata);
|
||||
data/data_80F5668.o(.rodata);
|
||||
src/dungeon_pokemon_attributes.o(.rodata);
|
||||
src/called_move_data.o(.rodata);
|
||||
data/data_80F59C8.o(.rodata);
|
||||
src/charge_move.o(.rodata);
|
||||
src/dungeon_message.o(.rodata);
|
||||
src/dungeon_move.o(.rodata);
|
||||
data/data_8106A4C.o(.rodata);
|
||||
src/code_806CD90.o(.rodata);
|
||||
src/type_effectiveness.o(.data);
|
||||
|
|
|
|||
306
src/called_move_data.c
Normal file
306
src/called_move_data.c
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
#include "global.h"
|
||||
#include "called_move_data.h"
|
||||
#include "constants/move_id.h"
|
||||
|
||||
extern bool8 sub_8057634(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 YawnMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 NightmareMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805783C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 EncoreMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8057974(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 PainSplitMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 TormentMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8057BC4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8057C88(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 WhirlpoolMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8057D7C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8057D9C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 SmokescreenMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8057FCC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8057FF4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805805C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805816C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058270(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80582C4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80583D8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058430(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058478(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80584C0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058548(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058580(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 BrickBreakMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058638(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80586DC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058770(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80587E8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058838(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058858(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80588B8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80588F4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058930(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058A18(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058BF0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058E5C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8058FBC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80590D4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059190(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80591E4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 SkillSwapMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059424(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805946C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059528(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059540(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80595A0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80595EC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_80598CC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059928(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059988(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059A2C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059AA8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059AB8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059AF8(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059D00(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059D48(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059D98(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059DA4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059DB4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059DC4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059E0C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 TriAttackMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A120(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A210(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A258(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A2A0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 RolePlayMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A3DC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A464(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 CurseMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A568(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 TickleMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A688(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 KnockOffMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 SecretPowerMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805AC90(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805AD04(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805AD34(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805AD54(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805AE3C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805AE74(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805AECC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 PresentMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805AFA4(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B028(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B074(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B0BC(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B17C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 WrapMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B264(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B324(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 DestinyBondMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B388(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B3E0(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B454(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 MimicMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B53C(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 LeechSeedMoveAction(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B668(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B910(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805B808(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_805A408(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 HandleRegularDamagingMove(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
extern bool8 sub_8059050(Entity *pokemon, Entity *target, Move *move, s32 param_4);
|
||||
|
||||
// Todo: move this data to some better place once the file structure is better understood
|
||||
|
||||
// These are random
|
||||
const struct CalledMove gMetronomeCalledMoves[METRONOME_AVAILABLE_CALLED_MOVES] =
|
||||
{
|
||||
{MOVE_IRON_TAIL, sub_8057634},
|
||||
{MOVE_YAWN, YawnMoveAction},
|
||||
{MOVE_NIGHTMARE, NightmareMoveAction},
|
||||
{MOVE_CHARM, sub_805783C},
|
||||
{MOVE_ENCORE, EncoreMoveAction},
|
||||
{MOVE_SUPER_FANG, sub_8057974},
|
||||
{MOVE_PAIN_SPLIT, PainSplitMoveAction},
|
||||
{MOVE_TORMENT, TormentMoveAction},
|
||||
{MOVE_SWAGGER, sub_8057BC4},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_WHIRLPOOL, WhirlpoolMoveAction},
|
||||
{MOVE_FAKE_TEARS, sub_8057D7C},
|
||||
{MOVE_SPITE, sub_8057D9C},
|
||||
{MOVE_SMOKESCREEN, SmokescreenMoveAction},
|
||||
{MOVE_FLATTER, sub_8057FCC},
|
||||
{MOVE_WILL_O_WISP, sub_8057FF4},
|
||||
{MOVE_RETURN, sub_805805C},
|
||||
{MOVE_FLAME_WHEEL, sub_805816C},
|
||||
{MOVE_GUST, sub_8058270},
|
||||
{MOVE_DISABLE, sub_80582C4},
|
||||
{MOVE_CRUNCH, sub_80583D8},
|
||||
{MOVE_BITE, sub_8058430},
|
||||
{MOVE_THUNDER, sub_8058478},
|
||||
{MOVE_ENDEAVOR, sub_80584C0},
|
||||
{MOVE_FACADE, sub_8058548},
|
||||
{MOVE_CONSTRICT, sub_8058580},
|
||||
{MOVE_BRICK_BREAK, BrickBreakMoveAction},
|
||||
{MOVE_ROCK_TOMB, sub_8058638},
|
||||
{MOVE_GIGA_DRAIN, sub_80586DC},
|
||||
{MOVE_REVERSAL, sub_8058770},
|
||||
{MOVE_SMELLINGSALT, sub_80587E8},
|
||||
{MOVE_METAL_SOUND, sub_8058838},
|
||||
{MOVE_TICKLE, sub_8058858},
|
||||
{MOVE_OUTRAGE, sub_80588B8},
|
||||
{MOVE_LOW_KICK, sub_80588F4},
|
||||
{MOVE_ANCIENTPOWER, sub_8058930},
|
||||
{MOVE_RAPID_SPIN, sub_8058A18},
|
||||
{MOVE_SCARY_FACE, sub_8058BF0},
|
||||
{MOVE_SUBMISSION, sub_8058E5C},
|
||||
{MOVE_LICK, sub_8058FBC},
|
||||
{MOVE_FISSURE, sub_80590D4},
|
||||
{MOVE_EXTRASENSORY, sub_8059190},
|
||||
{MOVE_ABSORB, sub_80591E4},
|
||||
{MOVE_SKILL_SWAP, SkillSwapMoveAction},
|
||||
{MOVE_HEADBUTT, sub_8059424},
|
||||
{MOVE_DOUBLE_EDGE, sub_805946C},
|
||||
{MOVE_SAND_ATTACK, sub_8059528},
|
||||
{MOVE_SMOG, sub_8059540},
|
||||
{MOVE_SACRED_FIRE, sub_80595A0},
|
||||
{MOVE_SHEER_COLD, sub_80595EC},
|
||||
{MOVE_MUDDY_WATER, sub_80598CC},
|
||||
{MOVE_TWISTER, sub_8059928},
|
||||
{MOVE_TWINEEDLE, sub_8059988},
|
||||
{MOVE_SEISMIC_TOSS, sub_8059A2C},
|
||||
{MOVE_SUPERSONIC, sub_8059AA8},
|
||||
{MOVE_TAUNT, sub_8059AB8},
|
||||
{MOVE_HORN_DRILL, sub_8059AF8},
|
||||
{MOVE_THUNDERSHOCK, sub_8059D00},
|
||||
{MOVE_THUNDER_WAVE, sub_8059D48},
|
||||
{MOVE_BLOCK, sub_8059D98},
|
||||
{MOVE_POISON_GAS, sub_8059DA4},
|
||||
{MOVE_TOXIC, sub_8059DB4},
|
||||
{MOVE_POISON_FANG, sub_8059DC4},
|
||||
{MOVE_POISON_STING, sub_8059E0C},
|
||||
{MOVE_TRI_ATTACK, TriAttackMoveAction},
|
||||
{MOVE_TRICK, sub_805A120},
|
||||
{MOVE_TRIPLE_KICK, sub_805A210},
|
||||
{MOVE_MUD_SLAP, sub_805A258},
|
||||
{MOVE_THIEF, sub_805A2A0},
|
||||
{MOVE_ROLE_PLAY, RolePlayMoveAction},
|
||||
{MOVE_LEER, sub_805A3DC},
|
||||
{MOVE_PAY_DAY, sub_805A464},
|
||||
{MOVE_CURSE, CurseMoveAction},
|
||||
{MOVE_FRENZY_PLANT, sub_805A568},
|
||||
{MOVE_SUPERPOWER, TickleMoveAction},
|
||||
{MOVE_DYNAMICPUNCH, sub_805A688},
|
||||
{MOVE_KNOCK_OFF, KnockOffMoveAction},
|
||||
{MOVE_SECRET_POWER, SecretPowerMoveAction},
|
||||
{MOVE_DIZZY_PUNCH, sub_805AC90},
|
||||
{MOVE_IMPRISON, sub_805AD04},
|
||||
{MOVE_FEATHERDANCE, sub_805AD34},
|
||||
{MOVE_BEAT_UP, sub_805AD54},
|
||||
{MOVE_BLAST_BURN, sub_805AE3C},
|
||||
{MOVE_CRUSH_CLAW, sub_805AE74},
|
||||
{MOVE_BLAZE_KICK, sub_805AECC},
|
||||
{MOVE_PRESENT, PresentMoveAction},
|
||||
{MOVE_ERUPTION, sub_805AFA4},
|
||||
{MOVE_GLARE, sub_805B028},
|
||||
{MOVE_POISON_TAIL, sub_805B074},
|
||||
{MOVE_ROAR, sub_805B0BC},
|
||||
{MOVE_FIRE_SPIN, sub_805B17C},
|
||||
{MOVE_WRAP, WrapMoveAction},
|
||||
{MOVE_MAGNITUDE, sub_805B264},
|
||||
{MOVE_MIST_BALL, sub_805B324},
|
||||
{MOVE_DESTINY_BOND, DestinyBondMoveAction},
|
||||
{MOVE_FALSE_SWIPE, sub_805B388},
|
||||
{MOVE_HIDDEN_POWER, sub_805B3E0},
|
||||
{MOVE_ATTRACT, sub_805B454},
|
||||
{MOVE_MIMIC, MimicMoveAction},
|
||||
{MOVE_FRUSTRATION, sub_805B53C},
|
||||
{MOVE_LEECH_SEED, LeechSeedMoveAction},
|
||||
{MOVE_DREAM_EATER, sub_805B668},
|
||||
{MOVE_LUSTER_PURGE, sub_805B910},
|
||||
{MOVE_DRAGON_RAGE, sub_805B808},
|
||||
{MOVE_FAKE_OUT, sub_805A408},
|
||||
};
|
||||
|
||||
// These correspond to dungeon's tileset id
|
||||
const struct CalledMove gNaturePowerCalledMoves[] =
|
||||
{
|
||||
{MOVE_SURF, HandleRegularDamagingMove},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_EARTHQUAKE, HandleRegularDamagingMove},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_EARTHQUAKE, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_RAZOR_LEAF, HandleRegularDamagingMove},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_RAZOR_LEAF, HandleRegularDamagingMove},
|
||||
{MOVE_RAZOR_LEAF, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_EARTHQUAKE, HandleRegularDamagingMove},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_SURF, HandleRegularDamagingMove},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_EARTHQUAKE, HandleRegularDamagingMove},
|
||||
{MOVE_BUBBLEBEAM, sub_8058580},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_SHADOW_BALL, sub_80583D8},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_STUN_SPORE, sub_8059050},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_RAZOR_LEAF, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, sub_8057C88},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SWIFT, HandleRegularDamagingMove},
|
||||
{MOVE_SURF, HandleRegularDamagingMove},
|
||||
{MOVE_SURF, HandleRegularDamagingMove},
|
||||
{MOVE_ROCK_SLIDE, HandleRegularDamagingMove},
|
||||
};
|
||||
|
||||
//
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
#include "global.h"
|
||||
#include "charge_move.h"
|
||||
|
||||
#include "constants/move_id.h"
|
||||
#include "constants/status.h"
|
||||
#include "dungeon_random.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "moves.h"
|
||||
|
||||
struct MultiTurnChargeMove
|
||||
{
|
||||
u16 moveID;
|
||||
u8 chargingStatus;
|
||||
};
|
||||
|
||||
const struct MultiTurnChargeMove gMultiTurnChargeMoves[10] = {
|
||||
{MOVE_SOLARBEAM, STATUS_SOLARBEAM},
|
||||
{MOVE_SKY_ATTACK, STATUS_SKY_ATTACK},
|
||||
{MOVE_RAZOR_WIND, STATUS_RAZOR_WIND},
|
||||
{MOVE_FOCUS_PUNCH, STATUS_FOCUS_PUNCH},
|
||||
{MOVE_SKULL_BASH, STATUS_SKULL_BASH},
|
||||
{MOVE_FLY, STATUS_FLYING},
|
||||
{MOVE_BOUNCE, STATUS_BOUNCING},
|
||||
{MOVE_DIVE, STATUS_DIVING},
|
||||
{MOVE_DIG, STATUS_DIGGING},
|
||||
{MOVE_NOTHING, STATUS_NONE}
|
||||
};
|
||||
|
||||
const u32 gMultiTurnChargingStatuses[10] = {
|
||||
STATUS_SOLARBEAM,
|
||||
STATUS_SKY_ATTACK,
|
||||
STATUS_RAZOR_WIND,
|
||||
STATUS_FOCUS_PUNCH,
|
||||
STATUS_SKULL_BASH,
|
||||
STATUS_FLYING,
|
||||
STATUS_BOUNCING,
|
||||
STATUS_DIVING,
|
||||
STATUS_DIGGING,
|
||||
STATUS_NONE
|
||||
};
|
||||
|
||||
u32 sub_8057070(Move *move)
|
||||
{
|
||||
u32 numberOfChainedHits;
|
||||
numberOfChainedHits = GetMoveNumberOfChainedHits(move);
|
||||
if(numberOfChainedHits == 0)
|
||||
return DungeonRandRange(2, 6);
|
||||
else
|
||||
return numberOfChainedHits;
|
||||
}
|
||||
|
||||
bool8 MoveCausesPaused(Move *move)
|
||||
{
|
||||
if(move->id == MOVE_FRENZY_PLANT) return TRUE;
|
||||
if(move->id == MOVE_HYDRO_CANNON) return TRUE;
|
||||
if(move->id == MOVE_HYPER_BEAM) return TRUE;
|
||||
if(move->id == MOVE_BLAST_BURN) return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 MoveMatchesChargingStatus(Entity *pokemon, Move *move)
|
||||
{
|
||||
if (!EntityExists(pokemon))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
EntityInfo *pokemonInfo = pokemon->info;
|
||||
s32 i;
|
||||
for (i = 0; i < 100; i++)
|
||||
{
|
||||
if (gMultiTurnChargeMoves[i].moveID == MOVE_NOTHING)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if (move->id == gMultiTurnChargeMoves[i].moveID &&
|
||||
pokemonInfo->charging.chargingStatus == gMultiTurnChargeMoves[i].chargingStatus)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 IsChargingAnyTwoTurnMove(Entity *pokemon, bool8 checkCharge)
|
||||
{
|
||||
if (!EntityExists(pokemon))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
EntityInfo *pokemonInfo = pokemon->info;
|
||||
int i = 0;
|
||||
u8 *chargingStatusPointer = &pokemonInfo->charging.chargingStatus;
|
||||
u8 *chargingStatusPointer2;
|
||||
u8 chargeStatus = STATUS_CHARGING;
|
||||
for (; i < 100; i++)
|
||||
{
|
||||
u8 currentStatus = gMultiTurnChargingStatuses[i];
|
||||
u8 chargingStatus;
|
||||
if (currentStatus == STATUS_NONE)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
chargingStatus = *chargingStatusPointer;
|
||||
chargingStatusPointer2 = &pokemonInfo->charging.chargingStatus;
|
||||
if (chargingStatus == currentStatus)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
// BUG: This condition is never reached because the for loop terminates by returning FALSE at the end of the gMultiTurnChargingStatuses array.
|
||||
if (checkCharge && *chargingStatusPointer2 == chargeStatus)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
|
@ -179,7 +179,7 @@ void GameLoop(void)
|
|||
|
||||
void xxx_update_stuff(u32 r0)
|
||||
{
|
||||
xxx_draw_string_80144C4();
|
||||
DrawDialogueBoxString();
|
||||
sub_8005838(NULL, 0);
|
||||
nullsub_8(gGameOptionsRef->unkA);
|
||||
sub_8005180();
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern void xxx_call_update_bg_vram();
|
|||
void sub_8012A18()
|
||||
{
|
||||
sub_8011860();
|
||||
xxx_draw_string_80144C4();
|
||||
DrawDialogueBoxString();
|
||||
nullsub_8(gGameOptionsRef->unkA);
|
||||
sub_8005180();
|
||||
sub_80060EC();
|
||||
|
|
|
|||
|
|
@ -61,12 +61,12 @@ u32 sub_8014128(void) {
|
|||
}
|
||||
|
||||
u32 sub_801413C(void)
|
||||
{
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 sub_8014140(void)
|
||||
{
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -91,18 +91,18 @@ void sub_801416C(s32 param_1,s32 param_2)
|
|||
gUnknown_202E73C = (param_2 < 0 ) ? 0 : param_2;
|
||||
}
|
||||
|
||||
void xxx_info_box_80141B4(const u8 *text, u32 param_2, OpenedFile **file, u16 param_4)
|
||||
void CreateDialogueBoxAndPortrait(const u8 *text, u32 param_2, struct MonPortraitMsg *monPortraitPtr, u16 param_4)
|
||||
{
|
||||
sub_8014248(text, param_2, -1, NULL, NULL, 3, 0, file, param_4);
|
||||
CreateMenuDialogueBoxAndPortrait(text, param_2, -1, NULL, NULL, 3, 0, monPortraitPtr, param_4);
|
||||
}
|
||||
|
||||
void sub_80141E0(const u8 *text, OpenedFile **file, u16 param_3)
|
||||
void CreateYesNoDialogueBoxAndPortrait_DefaultYes(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 param_3)
|
||||
{
|
||||
sub_8014248(text, 0, -1, gUnknown_80D485C, NULL, 3, 0, file, param_3 | 0x300);
|
||||
CreateMenuDialogueBoxAndPortrait(text, 0, -1, gUnknown_80D485C, NULL, 3, 0, monPortraitPtr, param_3 | 0x300);
|
||||
}
|
||||
|
||||
void sub_8014214(const u8 *text, OpenedFile **file, u16 param_3)
|
||||
void CreateYesNoDialogueBoxAndPortrait_DefaultNo(const u8 *text, struct MonPortraitMsg *monPortraitPtr, u16 param_3)
|
||||
{
|
||||
sub_8014248(text, 0, -1, gUnknown_80D4880, NULL, 3, 0, file, param_3 | 0x300);
|
||||
CreateMenuDialogueBoxAndPortrait(text, 0, -1, gUnknown_80D4880, NULL, 3, 0, monPortraitPtr, param_3 | 0x300);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -109,14 +109,14 @@ static void sub_8016110(void)
|
|||
else
|
||||
sub_80922B4(gAvailablePokemonNames, sUnknown_203B200->pokeName, POKEMON_NAME_LENGTH);
|
||||
|
||||
sub_8014248(sIsNameOKPrompt, 0, 3, sUnknown_203B200->menus, 0, 4, 0, NULL, 32);
|
||||
CreateMenuDialogueBoxAndPortrait(sIsNameOKPrompt, 0, 3, sUnknown_203B200->menus, 0, 4, 0, NULL, 32);
|
||||
break;
|
||||
|
||||
case CONFIRM_NAME_MENU_TOO_LONG:
|
||||
xxx_info_box_80141B4(sNameTooLong, 0, 0, 0x121);
|
||||
CreateDialogueBoxAndPortrait(sNameTooLong, 0, 0, 0x121);
|
||||
break;
|
||||
case CONFIRM_NAME_MENU_EMPTY:
|
||||
xxx_info_box_80141B4(sEnterAName, 0, 0, 0x121);
|
||||
CreateDialogueBoxAndPortrait(sEnterAName, 0, 0, 0x121);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ static void sub_801B080(void)
|
|||
switch (sUnknown_203B22C->state) {
|
||||
case 0:
|
||||
sub_801B178();
|
||||
sub_8014248(sFmtWhoWillLearnTheMove, 0, sUnknown_203B22C->unk60, sUnknown_203B22C->menuItems, 0, 4, 0, NULL, 32);
|
||||
CreateMenuDialogueBoxAndPortrait(sFmtWhoWillLearnTheMove, 0, sUnknown_203B22C->unk60, sUnknown_203B22C->menuItems, 0, 4, 0, NULL, 32);
|
||||
break;
|
||||
case 1:
|
||||
CreateGulpinShop(2, sUnknown_203B22C->chosenPokemon, sUnknown_203B22C->moves);
|
||||
|
|
@ -99,10 +99,10 @@ static void sub_801B080(void)
|
|||
gTeamInventoryRef->teamItems[sUnknown_203B22C->teamItemIndex].id = ITEM_TM_USED_TM;
|
||||
}
|
||||
PlaySound(312);
|
||||
xxx_info_box_80141B4(sFmtLearnedTheMove, 0, 0, 0x121);
|
||||
CreateDialogueBoxAndPortrait(sFmtLearnedTheMove, 0, 0, 0x121);
|
||||
break;
|
||||
case 3:
|
||||
xxx_info_box_80141B4(sFmtNoOneCanLearnThisMove, 0, 0, 0x121);
|
||||
CreateDialogueBoxAndPortrait(sFmtNoOneCanLearnThisMove, 0, 0, 0x121);
|
||||
break;
|
||||
default:
|
||||
case 4:
|
||||
|
|
|
|||
|
|
@ -212,31 +212,31 @@ store:
|
|||
break;
|
||||
case 1:
|
||||
if (GetUnitSum_808D544(0) < 2)
|
||||
xxx_info_box_80141B4(sFmtReceivedThePromised, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtReceivedThePromised, 0, 0, 0x101);
|
||||
else
|
||||
xxx_info_box_80141B4(sFmtTeamReceivedThePromised, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtTeamReceivedThePromised, 0, 0, 0x101);
|
||||
break;
|
||||
case 2:
|
||||
xxx_info_box_80141B4(sFmtTeamAlsoReceived, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtTeamAlsoReceived, 0, 0, 0x101);
|
||||
break;
|
||||
case 3:
|
||||
PlaySound(212);
|
||||
xxx_info_box_80141B4(sFmtReceivedStatue, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtReceivedStatue, 0, 0, 0x101);
|
||||
break;
|
||||
case 4:
|
||||
xxx_info_box_80141B4(sFmtReceive1000Instead, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtReceive1000Instead, 0, 0, 0x101);
|
||||
break;
|
||||
case 5:
|
||||
sUnknown_203B234->fallbackState = 16;
|
||||
xxx_info_box_80141B4(sFmtFullSoSentToStorage, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtFullSoSentToStorage, 0, 0, 0x101);
|
||||
break;
|
||||
case 6:
|
||||
sub_801BB20();
|
||||
sub_8014248(sFmtFullSoPrompt, 0, 4, sUnknown_203B234->unkCC, 0, 4, 0, 0, 0);
|
||||
CreateMenuDialogueBoxAndPortrait(sFmtFullSoPrompt, 0, 4, sUnknown_203B234->unkCC, 0, 4, 0, 0, 0);
|
||||
break;
|
||||
case 7:
|
||||
sub_801BC24();
|
||||
sub_8014248(sFmtConfirmThrowAway, 0, 3, sUnknown_203B234->unkCC, 0, 4, 0, 0, 0);
|
||||
CreateMenuDialogueBoxAndPortrait(sFmtConfirmThrowAway, 0, 3, sUnknown_203B234->unkCC, 0, 4, 0, 0, 0);
|
||||
break;
|
||||
case 8:
|
||||
sub_801A5D8(1, 3, NULL, 10);
|
||||
|
|
@ -259,15 +259,15 @@ store:
|
|||
break;
|
||||
case 13:
|
||||
sUnknown_203B234->fallbackState = 16;
|
||||
xxx_info_box_80141B4(sFmtThrownAway, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtThrownAway, 0, 0, 0x101);
|
||||
break;
|
||||
case 14:
|
||||
sUnknown_203B234->fallbackState = 16;
|
||||
xxx_info_box_80141B4(sFmtPutInStorageForReceive, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtPutInStorageForReceive, 0, 0, 0x101);
|
||||
break;
|
||||
case 15:
|
||||
sUnknown_203B234->fallbackState = 16;
|
||||
xxx_info_box_80141B4(sFmtDiscardedForReceive, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtDiscardedForReceive, 0, 0, 0x101);
|
||||
break;
|
||||
case 16:
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -167,19 +167,19 @@ static void sub_8022A10(void)
|
|||
sub_801B3C0(&sUnknown_203B294->item);
|
||||
break;
|
||||
case 5:
|
||||
xxx_info_box_80141B4(sDoesNotAppearHungry, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sDoesNotAppearHungry, 0, 0, 0x301);
|
||||
break;
|
||||
case 6:
|
||||
xxx_info_box_80141B4(sFmtGummiBigFav, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtGummiBigFav, 0, 0, 0x101);
|
||||
break;
|
||||
case 7:
|
||||
xxx_info_box_80141B4(sFmtGummiFav, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtGummiFav, 0, 0, 0x101);
|
||||
break;
|
||||
case 8:
|
||||
xxx_info_box_80141B4(sFmtGummiOkay, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtGummiOkay, 0, 0, 0x101);
|
||||
break;
|
||||
case 9:
|
||||
xxx_info_box_80141B4(sFmtGummiSatisfied, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtGummiSatisfied, 0, 0, 0x101);
|
||||
break;
|
||||
case 10:
|
||||
do {
|
||||
|
|
@ -204,7 +204,7 @@ static void sub_8022A10(void)
|
|||
sUnknown_203B294->fallbackState = 10;
|
||||
strcpy(gUnknown_202DEA8, GetIQSkillName(sUnknown_203B294->unk40));
|
||||
PlaySound(203);
|
||||
xxx_info_box_80141B4(sFmtIQHelpedLearn, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sFmtIQHelpedLearn, 0, 0, 0x101);
|
||||
sUnknown_203B294->unk40++;
|
||||
break;
|
||||
}
|
||||
|
|
@ -239,35 +239,35 @@ static void sub_8022A10(void)
|
|||
}
|
||||
break;
|
||||
case 12:
|
||||
xxx_info_box_80141B4(sFmtPlusEverything, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sFmtPlusEverything, 0, 0, 0x301);
|
||||
break;
|
||||
case 13:
|
||||
xxx_info_box_80141B4(sFmtPlusAtk, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sFmtPlusAtk, 0, 0, 0x301);
|
||||
break;
|
||||
case 14:
|
||||
xxx_info_box_80141B4(sFmtPlusSpAtk, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sFmtPlusSpAtk, 0, 0, 0x301);
|
||||
break;
|
||||
case 15:
|
||||
xxx_info_box_80141B4(sFmtPlusDef, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sFmtPlusDef, 0, 0, 0x301);
|
||||
break;
|
||||
case 16:
|
||||
xxx_info_box_80141B4(sFmtPlusSpDef, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sFmtPlusSpDef, 0, 0, 0x301);
|
||||
break;
|
||||
case 17:
|
||||
sUnknown_203B294->fallbackState = 22;
|
||||
xxx_info_box_80141B4(sNoGummis, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sNoGummis, 0, 0, 0x301);
|
||||
break;
|
||||
case 18:
|
||||
sUnknown_203B294->fallbackState = 22;
|
||||
xxx_info_box_80141B4(sNoItem, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sNoItem, 0, 0, 0x301);
|
||||
break;
|
||||
case 19:
|
||||
sUnknown_203B294->fallbackState = 22;
|
||||
xxx_info_box_80141B4(sGummiGone, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sGummiGone, 0, 0, 0x301);
|
||||
break;
|
||||
case 20:
|
||||
sUnknown_203B294->fallbackState = 22;
|
||||
xxx_info_box_80141B4(sItemGone, 0, 0, 0x301);
|
||||
CreateDialogueBoxAndPortrait(sItemGone, 0, 0, 0x301);
|
||||
break;
|
||||
case 21:
|
||||
sub_801AFA4(sUnknown_203B294->itemIndex);
|
||||
|
|
|
|||
|
|
@ -45,16 +45,16 @@ bool8 sub_802DB28(u8 jobSlotIndex, u8 dungeon)
|
|||
sub_8096EEC(sUnknown_203B2FC->jobInfo);
|
||||
sub_803C21C(sUnknown_203B2FC->jobInfo, &sUnknown_203B2FC->unk8);
|
||||
|
||||
sUnknown_203B2FC->faceFile = GetDialogueSpriteDataPtr(sUnknown_203B2FC->jobInfo->clientSpecies);
|
||||
sUnknown_203B2FC->faceData = NULL;
|
||||
sUnknown_203B2FC->unk44 = 0;
|
||||
sUnknown_203B2FC->unk45 = 0;
|
||||
sUnknown_203B2FC->unk46 = 0;
|
||||
sUnknown_203B2FC->unk40 = 2;
|
||||
sUnknown_203B2FC->unk42 = 8;
|
||||
sUnknown_203B2FC->monPortrait.faceFile = GetDialogueSpriteDataPtr(sUnknown_203B2FC->jobInfo->clientSpecies);
|
||||
sUnknown_203B2FC->monPortrait.faceData = NULL;
|
||||
sUnknown_203B2FC->monPortrait.spriteId = 0;
|
||||
sUnknown_203B2FC->monPortrait.flip = FALSE;
|
||||
sUnknown_203B2FC->monPortrait.unkE = 0;
|
||||
sUnknown_203B2FC->monPortrait.pos.x = 2;
|
||||
sUnknown_203B2FC->monPortrait.pos.y = 8;
|
||||
|
||||
if (sUnknown_203B2FC->faceFile != NULL)
|
||||
sUnknown_203B2FC->faceData = sUnknown_203B2FC->faceFile->data;
|
||||
if (sUnknown_203B2FC->monPortrait.faceFile != NULL)
|
||||
sUnknown_203B2FC->monPortrait.faceData = sUnknown_203B2FC->monPortrait.faceFile->data;
|
||||
|
||||
sub_802DC28(0);
|
||||
return TRUE;
|
||||
|
|
@ -78,8 +78,8 @@ u32 sub_802DBD4(void)
|
|||
void sub_802DC00(void)
|
||||
{
|
||||
if (sUnknown_203B2FC != NULL) {
|
||||
if (sUnknown_203B2FC->faceFile != NULL)
|
||||
CloseFile(sUnknown_203B2FC->faceFile);
|
||||
if (sUnknown_203B2FC->monPortrait.faceFile != NULL)
|
||||
CloseFile(sUnknown_203B2FC->monPortrait.faceFile);
|
||||
|
||||
MemoryFree(sUnknown_203B2FC);
|
||||
sUnknown_203B2FC = NULL;
|
||||
|
|
@ -150,16 +150,16 @@ static void sub_802DC9C(void)
|
|||
}
|
||||
break;
|
||||
case 1:
|
||||
xxx_info_box_80141B4(sThanksForRescuingMe, 0, &sUnknown_203B2FC->faceFile, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(sThanksForRescuingMe, 0, &sUnknown_203B2FC->monPortrait, 0x10D);
|
||||
break;
|
||||
case 2:
|
||||
xxx_info_box_80141B4(sThanksForRescuingThem, 0, &sUnknown_203B2FC->faceFile, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(sThanksForRescuingThem, 0, &sUnknown_203B2FC->monPortrait, 0x10D);
|
||||
break;
|
||||
case 3:
|
||||
xxx_info_box_80141B4(sThanksForEscortingMe, 0, &sUnknown_203B2FC->faceFile, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(sThanksForEscortingMe, 0, &sUnknown_203B2FC->monPortrait, 0x10D);
|
||||
break;
|
||||
case 5:
|
||||
xxx_info_box_80141B4(sThanksForDelivering, 0, &sUnknown_203B2FC->faceFile, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(sThanksForDelivering, 0, &sUnknown_203B2FC->monPortrait, 0x10D);
|
||||
break;
|
||||
case 4:
|
||||
index = FindItemInInventory(sUnknown_203B2FC->jobInfo->targetItem);
|
||||
|
|
@ -167,7 +167,7 @@ static void sub_802DC9C(void)
|
|||
ShiftItemsDownFrom(index);
|
||||
FillInventoryGaps();
|
||||
}
|
||||
xxx_info_box_80141B4(sThanksForGetting, 0, &sUnknown_203B2FC->faceFile, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(sThanksForGetting, 0, &sUnknown_203B2FC->monPortrait, 0x10D);
|
||||
break;
|
||||
case 6:
|
||||
sub_802F204(&sUnknown_203B2FC->unk8, 1);
|
||||
|
|
|
|||
|
|
@ -86,9 +86,9 @@ void sub_803E490(u32 unused)
|
|||
sub_803EDF0();
|
||||
|
||||
|
||||
if(gDungeon->unk181e8.unk18215 != 0 && gDungeon->unk1C06C != 3)
|
||||
if(gDungeon->unk181e8.unk18215 != 0 && gDungeon->unk1BDD4.unk1C06C != 3)
|
||||
sub_8004AF0(gUnknown_203B40D, gUnknown_202EE8C, 0xA0, 0x20, gUnknown_202EDC8, (u8 *)gDungeon->unk17C);
|
||||
|
||||
|
||||
nullsub_8(gGameOptionsRef->unkA);
|
||||
sub_8005180();
|
||||
nullsub_12();
|
||||
|
|
@ -103,13 +103,13 @@ void sub_803E490(u32 unused)
|
|||
nullsub_13();
|
||||
sub_8005304();
|
||||
nullsub_14();
|
||||
|
||||
|
||||
TransferBGPaletteBuffer();
|
||||
sub_8009908();
|
||||
xxx_call_update_bg_vram();
|
||||
sub_8040788();
|
||||
xxx_call_update_bg_sound_input();
|
||||
|
||||
|
||||
gDungeon->unk181e8.unk18213 = 0;
|
||||
UpdateDungeonMusic();
|
||||
sub_8011860();
|
||||
|
|
@ -156,7 +156,7 @@ void sub_803E708(s32 a0, u32 a1)
|
|||
|
||||
void sub_803E724(s32 r0)
|
||||
{
|
||||
do
|
||||
do
|
||||
{
|
||||
sub_803E46C(r0);
|
||||
} while (gRealInputs.held & 0xF0);
|
||||
|
|
@ -225,7 +225,7 @@ void sub_803E7C8(void)
|
|||
gUnknown_203B40D = 0;
|
||||
}
|
||||
|
||||
void sub_803E830(void)
|
||||
void sub_803E830(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
#include "game_options.h"
|
||||
#include "code_800558C.h"
|
||||
#include "dungeon_range.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "dungeon_items.h"
|
||||
#include "constants/item.h"
|
||||
|
|
@ -63,10 +64,8 @@ extern u8 gUnknown_202D068[];
|
|||
extern s32 gUnknown_202EDCC;
|
||||
extern u32 gUnknown_3001018[];
|
||||
|
||||
extern void sub_8052210(u32);
|
||||
extern void sub_8040A84();
|
||||
extern void sub_8083D44(void);
|
||||
extern void sub_8052210(u32);
|
||||
extern void sub_8049ED4(void);
|
||||
extern void sub_8040A84(void);
|
||||
extern void sub_80400D4(void);
|
||||
|
|
@ -101,7 +100,7 @@ void sub_803E874(bool8 r10, s32 r9)
|
|||
index++;
|
||||
}
|
||||
|
||||
if (gDungeon->unk181e8.unk18215 == 0 || gDungeon->unk1C06C == 3) {
|
||||
if (gDungeon->unk181e8.unk18215 == 0 || gDungeon->unk1BDD4.unk1C06C == 3) {
|
||||
sub_8004AF0(TRUE, gUnknown_202EE8C, 0xA0, 0x20, gUnknown_202EDC8, (void *) &gDungeon->unk17C);
|
||||
}
|
||||
|
||||
|
|
@ -169,7 +168,7 @@ void sub_803EA10(void)
|
|||
index++;
|
||||
}
|
||||
|
||||
if (gDungeon->unk181e8.unk18215 == 0 || gDungeon->unk1C06C == 3) {
|
||||
if (gDungeon->unk181e8.unk18215 == 0 || gDungeon->unk1BDD4.unk1C06C == 3) {
|
||||
sub_8004AF0(TRUE, gUnknown_202EE8C, 0xA0, 0x20, gUnknown_202EDC8, (void *) &gDungeon->unk17C);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#include "code_800558C.h"
|
||||
#include "code_800C9CC.h"
|
||||
#include "code_80118A4.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_map_access.h"
|
||||
|
|
@ -44,7 +44,7 @@ void HandleLuminousOrbAction(Entity *pokemon)
|
|||
sub_803F580(0);
|
||||
sub_8049ED4();
|
||||
sub_8040A84();
|
||||
SendMessage(pokemon, gUnknown_80FD040);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, gUnknown_80FD040);
|
||||
}
|
||||
|
||||
void sub_8040094(u8 r0)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#include "dungeon.h"
|
||||
#include "dungeon_engine.h"
|
||||
#include "dungeon_leader.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "dungeon_music.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
|
@ -32,8 +33,6 @@ extern bool8 sub_8042CC0(void);
|
|||
extern void sub_8042D7C(void);
|
||||
extern u8 sub_8043D10(void);
|
||||
extern bool8 sub_8045888(Entity *);
|
||||
extern void sub_8052210(u32);
|
||||
extern void sub_805239C(Entity *, const u8 *);
|
||||
|
||||
// This func plays the appropriate ascend/descend SFX for stairs depending on the direction
|
||||
void PlayStairsSound(void)
|
||||
|
|
@ -115,7 +114,7 @@ void sub_80427AC(void)
|
|||
sub_80429A0(entity);
|
||||
if (!enInfo->isNotTeamMember) {
|
||||
SetMessageArgument(gAvailablePokemonNames, entity, 0);
|
||||
sub_805239C(entity, *gPtrFeralFoundItemMessage);
|
||||
DisplayDungeonLoggableMessageTrue(entity, *gPtrFeralFoundItemMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "code_800DAC0.h"
|
||||
#include "code_800E9A8.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "bg_control.h"
|
||||
#include "random.h"
|
||||
#include "file_system.h"
|
||||
|
|
@ -278,9 +279,6 @@ extern void sub_8068BDC(u8 r0);
|
|||
extern s16 GetTurnLimit(u8 dungeon);
|
||||
extern void sub_8041888(u8 param_1);
|
||||
extern void sub_8040150(bool8 param_1);
|
||||
extern void sub_8052210(u32);
|
||||
extern void sub_80526D0(u32);
|
||||
extern void sub_8052740(u32);
|
||||
extern void sub_803D4AC(void);
|
||||
extern void sub_804513C(void);
|
||||
extern void sub_8043CD8(void);
|
||||
|
|
@ -317,12 +315,10 @@ extern void sub_803E178(void);
|
|||
extern void sub_80848F0(void);
|
||||
extern void sub_8097890(void);
|
||||
extern void sub_806AB2C(void);
|
||||
extern void sub_8052DD0(void);
|
||||
extern void DisplayPreFightDialogue(void);
|
||||
extern void sub_8071DA4(Entity *);
|
||||
extern void sub_803E748(void);
|
||||
extern void sub_8083D68(void);
|
||||
extern void sub_8052F80(void);
|
||||
extern void sub_803E7C8(void);
|
||||
extern void sub_8040A84(void);
|
||||
extern void sub_807E5AC(void);
|
||||
|
|
@ -331,12 +327,10 @@ extern void sub_807E88C(void);
|
|||
extern void InitDungeonPokemonSprites(void);
|
||||
extern void nullsub_16(void);
|
||||
extern void sub_80521D0(void);
|
||||
extern void sub_80531A8(void);
|
||||
extern void sub_803F27C(u8);
|
||||
extern void sub_807E7FC(u8);
|
||||
extern void sub_80095CC(u32, u32);
|
||||
extern void sub_8081BF4(u8 *r0, u32 r1);
|
||||
extern void PrintFieldMessage(u32, const u8 *, u32);
|
||||
extern bool8 IsLevelResetTo1(u8 dungeon);
|
||||
extern void sub_8068A84(PokemonStruct1 *pokemon);
|
||||
extern void sub_807EAA0(u32, u32);
|
||||
|
|
@ -516,10 +510,10 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
if (r9) {
|
||||
gFormatData_202DE30 = gDungeon->unk67B;
|
||||
if (gFormatData_202DE30 != 0) {
|
||||
PrintFieldMessage(0, gUnknown_80FEC48, 1);
|
||||
DisplayDungeonMessage(0, gUnknown_80FEC48, 1);
|
||||
}
|
||||
else {
|
||||
PrintFieldMessage(0, gUnknown_80FEC7C, 1);
|
||||
DisplayDungeonMessage(0, gUnknown_80FEC7C, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -540,10 +534,10 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
unkStruct_203B480 *mailStr = GetMailatIndex(sp);
|
||||
if (mailStr->rescuesAllowed) {
|
||||
gFormatData_202DE30 = mailStr->rescuesAllowed;
|
||||
PrintFieldMessage(0, gUnknown_81002B8, 1);
|
||||
DisplayDungeonMessage(0, gUnknown_81002B8, 1);
|
||||
}
|
||||
else {
|
||||
PrintFieldMessage(0, gPtrFinalChanceMessage, 1);
|
||||
DisplayDungeonMessage(0, gPtrFinalChanceMessage, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -552,7 +546,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
sub_8098080();
|
||||
nullsub_16();
|
||||
sub_80521D0();
|
||||
sub_80531A8();
|
||||
ResetMessageLog();
|
||||
InitDungeonPokemonSprites();
|
||||
if (!r6) {
|
||||
sub_804513C();
|
||||
|
|
@ -593,7 +587,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
gDungeon->unkB = 1;
|
||||
gDungeon->unkD = 1;
|
||||
gDungeon->unkE = 0;
|
||||
gDungeon->unk1C05E = 0;
|
||||
gDungeon->unk1BDD4.unk1C05E = 0;
|
||||
if (!r6) {
|
||||
gDungeon->unk679 = 0;
|
||||
gDungeon->unk68C = 0;
|
||||
|
|
@ -719,11 +713,11 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
gDungeon->unk0 = 1;
|
||||
|
||||
if (!r6) {
|
||||
sub_8052DD0();
|
||||
TryDisplayGeneralTutorialMessage();
|
||||
if (gDungeon->unk9 != 0) {
|
||||
gDungeon->unk9 = 0;
|
||||
sub_8083D68();
|
||||
sub_8052F80();
|
||||
DisplayYouReachedDestFloorStr();
|
||||
}
|
||||
}
|
||||
gLeaderPointer = NULL;
|
||||
|
|
@ -820,7 +814,7 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
|
|||
gDungeon->unk181e8.unk18218 = 1;
|
||||
if ((gDungeon->unk10 == 2 || gDungeon->unk10 == 3) && gDungeon->unk6 != 0) {
|
||||
leader = GetLeader();
|
||||
PrintFieldMessage(0, gPtrClientFaintedMessage, 1);
|
||||
DisplayDungeonMessage(0, gPtrClientFaintedMessage, 1);
|
||||
gDungeon->unk6 = 0;
|
||||
sub_8083AB0(0x222, leader, leader);
|
||||
}
|
||||
|
|
@ -1089,7 +1083,7 @@ bool8 sub_8043ED0(bool8 a0)
|
|||
if (EntityExists(leader)) {
|
||||
if (!a0) {
|
||||
strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer);
|
||||
PrintFieldMessage(0, gUnknown_80F89B4, 1);
|
||||
DisplayDungeonMessage(0, gUnknown_80F89B4, 1);
|
||||
}
|
||||
sub_8042B0C(leader);
|
||||
sub_8068FE0(leader, 0x21F, leader);
|
||||
|
|
@ -1101,7 +1095,7 @@ bool8 sub_8043ED0(bool8 a0)
|
|||
if (EntityExists(leader)) {
|
||||
if (!a0) {
|
||||
strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer);
|
||||
PrintFieldMessage(0, gUnknown_80F89D4, 1);
|
||||
DisplayDungeonMessage(0, gUnknown_80F89D4, 1);
|
||||
}
|
||||
sub_8042B0C(leader);
|
||||
sub_8068FE0(leader, 0x222, leader);
|
||||
|
|
@ -1113,7 +1107,7 @@ bool8 sub_8043ED0(bool8 a0)
|
|||
if (EntityExists(leader)) {
|
||||
if (!a0) {
|
||||
strcpy(gAvailablePokemonNames, gDungeon->faintStringBuffer);
|
||||
PrintFieldMessage(0, gUnknown_80F89D8, 1);
|
||||
DisplayDungeonMessage(0, gUnknown_80F89D8, 1);
|
||||
}
|
||||
sub_8042B0C(leader);
|
||||
sub_8068FE0(leader, 0x222, leader);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_8077274_1.h"
|
||||
#include "code_807CD9C.h"
|
||||
#include "code_808417C.h"
|
||||
|
|
@ -100,22 +100,19 @@ extern void sub_8063CF0(ActionContainer *, u32);
|
|||
extern void sub_8063A70(ActionContainer *, u32);
|
||||
extern u8 sub_8062F90(Entity *, u32, u32, u32, u32);
|
||||
extern void sub_8044DF0(Entity *, u32, u32);
|
||||
extern s32 sub_8052B8C(u32, u8 *, u32);
|
||||
extern void sub_803EAF0(u32, u32);
|
||||
extern void sub_8044C10(bool8);
|
||||
Entity *DrawFieldGiveItemMenu(u32, u32);
|
||||
extern void PrintFieldMessage(u32, u8 *, u32);
|
||||
extern void sub_8044E24(Entity *, u32, u32);
|
||||
extern void sub_804245C(Entity *, Item *);
|
||||
extern u8 sub_8072938(Entity *, u16);
|
||||
extern void sub_8072008(Entity *pokemon, Entity *r1, u32 r2, u8 r3, u32);
|
||||
extern void LevelDownTarget(Entity *pokemon, Entity *r1, u32 r2);
|
||||
extern void sub_80522F4(Entity *pokemon, Entity *r1, const u8[]);
|
||||
extern void sub_806F370(Entity *pokemon, Entity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32);
|
||||
extern s32 sub_8042520(Entity *);
|
||||
Entity *sub_80696FC(Entity *);
|
||||
extern void sub_806A7E8(EntityInfo *, s32);
|
||||
extern u32 sub_8055640(struct Entity *, struct Entity *, struct Move *, u32, u32);
|
||||
extern u32 HandleDamagingMove(struct Entity *, struct Entity *, struct Move *, u32, u32);
|
||||
|
||||
void StunSeedItemAction(Entity *, Entity *);
|
||||
void MaxElixirAction(Entity *, Entity *);
|
||||
|
|
@ -227,7 +224,7 @@ void sub_80479B8(char param_1, char param_2, u8 param_3, Entity *pokemon, Entity
|
|||
PlaySoundEffect(0x14d);
|
||||
sub_8045BF8(gFormatItems,item);
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FDBB8); // $m0 caught the $i0
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDBB8); // $m0 caught the $i0
|
||||
info->heldItem = *item;
|
||||
sub_806A6E8(target);
|
||||
return;
|
||||
|
|
@ -240,7 +237,7 @@ void sub_80479B8(char param_1, char param_2, u8 param_3, Entity *pokemon, Entity
|
|||
}
|
||||
if ((item->flags & ITEM_FLAG_STICKY)) {
|
||||
sub_8045BF8(gFormatItems,item);
|
||||
sub_80522F4(pokemon,target,*gItemStickyDoesntWorkText);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gItemStickyDoesntWorkText);
|
||||
if (param_1 != '\0') {
|
||||
sub_806F370(pokemon,target,gUnknown_80F4FAE,1,&uStack_24,0,0x217,0,0,0);
|
||||
sub_8071DA4(pokemon);
|
||||
|
|
@ -263,7 +260,7 @@ _jump:
|
|||
}
|
||||
else
|
||||
{
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FE458);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE458);
|
||||
goto _080482B4;
|
||||
}
|
||||
}
|
||||
|
|
@ -467,7 +464,7 @@ _jump:
|
|||
}
|
||||
else
|
||||
{
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FE458);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE458);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -488,7 +485,7 @@ void sub_80482FC(Entity *pokemon, Entity *target, u32 pp, u8 param_4)
|
|||
|
||||
InitPokemonMove(&move, MOVE_PROJECTILE);
|
||||
move.PP = pp;
|
||||
sub_8055640(pokemon, target, &move, 0x100, param_4);
|
||||
HandleDamagingMove(pokemon, target, &move, 0x100, param_4);
|
||||
}
|
||||
|
||||
void sub_8048340(Entity *pokemon, Entity *target, u32 r2)
|
||||
|
|
@ -547,7 +544,7 @@ void CheriBerryItemAction(Entity *pokemon, Entity *target)
|
|||
SendNonVolatileEndMessage(pokemon, target);
|
||||
else
|
||||
// Pointer to "But nothing happened!"
|
||||
sub_80522F4(pokemon, target, *gUnknown_80F89F4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F89F4);
|
||||
}
|
||||
|
||||
void PechaBerryItemAction(Entity *pokemon, Entity *target)
|
||||
|
|
@ -556,7 +553,7 @@ void PechaBerryItemAction(Entity *pokemon, Entity *target)
|
|||
SendNonVolatileEndMessage(pokemon, target);
|
||||
else
|
||||
// Pointer to "But nothing happened!"
|
||||
sub_80522F4(pokemon, target, *gUnknown_80F89F4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F89F4);
|
||||
}
|
||||
|
||||
void WarpSeedItemAction(Entity *pokemon, Entity *target)
|
||||
|
|
@ -587,7 +584,7 @@ void StunSeedItemAction(Entity *pokemon, Entity *target)
|
|||
void PlainSeedItemAction(Entity *pokemon, Entity *target)
|
||||
{
|
||||
// Pointer to "But nothing happened!"
|
||||
sub_80522F4(pokemon, target, *gUnknown_80F89F4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F89F4);
|
||||
}
|
||||
|
||||
void DoomSeedItemAction(Entity *pokemon, Entity *target)
|
||||
|
|
@ -603,7 +600,7 @@ void RawstBerryItemAction(Entity *pokemon, Entity *target)
|
|||
{
|
||||
SetMessageArgument(gAvailablePokemonNames, target, 0);
|
||||
// Pointer to "But nothing happened!"
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FB580);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FB580);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -617,15 +614,15 @@ void HungerSeedItemAction(Entity *pokemon, Entity * target)
|
|||
entityInfo = target->info;
|
||||
SetMessageArgument(gAvailablePokemonNames, target, 0);
|
||||
if (IQSkillIsEnabled(target, IQ_SELF_CURER))
|
||||
sub_80522F4(pokemon, target, *gPtrSelfHealPreventedHungerMessage);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gPtrSelfHealPreventedHungerMessage);
|
||||
else
|
||||
{
|
||||
if (FixedPointToInt(entityInfo->belly) != 0) {
|
||||
entityInfo->belly = IntToFixedPoint(0);
|
||||
sub_80522F4(pokemon, target, *gUnknown_80F9740);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F9740);
|
||||
}
|
||||
else
|
||||
sub_80522F4(pokemon, target, *gUnknown_80F9760);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F9760);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -668,17 +665,17 @@ void GinsengItemAction(Entity *pokemon, Entity * target)
|
|||
}
|
||||
|
||||
if (isMoveBoosted) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FE454);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE454);
|
||||
if (moveBoost != 1) {
|
||||
sub_803E708(10,0x40);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FE434);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE434);
|
||||
}
|
||||
}
|
||||
else
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FE40C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE40C);
|
||||
}
|
||||
else
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FE40C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE40C);
|
||||
}
|
||||
|
||||
void BlastSeedItemAction(Entity *pokemon, Entity * target, u8 param_3)
|
||||
|
|
@ -694,7 +691,7 @@ void BlastSeedItemAction(Entity *pokemon, Entity * target, u8 param_3)
|
|||
entityInfo_1 = entityInfo;
|
||||
if (gDungeon->unk675 != 0) {
|
||||
uVar1 = gUnknown_80F4FA8;
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FEAE8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FEAE8);
|
||||
}
|
||||
else {
|
||||
uVar1 = gUnknown_80F4FA4;
|
||||
|
|
@ -710,14 +707,14 @@ void BlastSeedItemAction(Entity *pokemon, Entity * target, u8 param_3)
|
|||
entity = sub_80696FC(pokemon);
|
||||
if (entity == NULL)
|
||||
{
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FDBA0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FDBA0);
|
||||
}
|
||||
else
|
||||
{
|
||||
entityInfo = entity->info;
|
||||
if (gDungeon->unk675 != 0) {
|
||||
uVar1 = gUnknown_80F4FAA;
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FEAE8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FEAE8);
|
||||
}
|
||||
else {
|
||||
uVar1 = gUnknown_80F4FA6;
|
||||
|
|
@ -763,7 +760,7 @@ void HandleGummiItemAction(Entity *pokemon, Entity *target, u8 gummiIndex)
|
|||
targetInfo->IQ = 999;
|
||||
}
|
||||
if (baseIQ == targetInfo->IQ) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FD644);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD644);
|
||||
}
|
||||
else {
|
||||
iVar5 = currIQ - baseIQ;
|
||||
|
|
@ -776,8 +773,8 @@ void HandleGummiItemAction(Entity *pokemon, Entity *target, u8 gummiIndex)
|
|||
if (((iVar5 < 9) && (iVar3 = 1, iVar5 < 5)) && (iVar3 = 3, 2 < iVar5)) {
|
||||
iVar3 = 2;
|
||||
}
|
||||
sub_80522F4(pokemon,target,gUnknown_80FD648[iVar4]);
|
||||
sub_80522F4(pokemon,target,gUnknown_80FD6E8[iVar3]);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,gUnknown_80FD648[iVar4]);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,gUnknown_80FD6E8[iVar3]);
|
||||
LoadIQSkills(target);
|
||||
sub_806A7E8(targetInfo,baseIQ);
|
||||
}
|
||||
|
|
@ -819,11 +816,11 @@ bool8 sub_8048950(Entity *param_1,Item *item)
|
|||
|
||||
moveID = GetItemMoveID(item->id);
|
||||
if ((item->flags & ITEM_FLAG_STICKY)) {
|
||||
PrintFieldMessage(0,*gItemStickyDoesntWorkText,1);
|
||||
DisplayDungeonMessage(0,*gItemStickyDoesntWorkText,1);
|
||||
return FALSE;
|
||||
}
|
||||
else if (IsHMItem(item->id)) {
|
||||
PrintFieldMessage(0,*gPtrCantUseInDungeonMessage,1);
|
||||
DisplayDungeonMessage(0,*gPtrCantUseInDungeonMessage,1);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
|
|
@ -870,13 +867,13 @@ bool8 sub_8048A68(Entity *param_1,Item *item)
|
|||
PokemonStruct2 *pokemon;
|
||||
|
||||
if ((item->flags & ITEM_FLAG_STICKY)) {
|
||||
PrintFieldMessage(0,*gItemStickyDoesntWorkText,1);
|
||||
DisplayDungeonMessage(0,*gItemStickyDoesntWorkText,1);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gDungeon->unk65C == 0) {
|
||||
PrintFieldMessage(0,*gUnknown_80F9BD8,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_80F9BD8,1);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
|
|
@ -946,7 +943,7 @@ bool32 sub_8048B9C(Entity *entity,Item *param_2)
|
|||
entityInfo = entity->info;
|
||||
actionPointer = &(entityInfo->action);
|
||||
if ((param_2->flags & ITEM_FLAG_STICKY)) {
|
||||
PrintFieldMessage(0,*gItemStickyDoesntWorkText,1);
|
||||
DisplayDungeonMessage(0,*gItemStickyDoesntWorkText,1);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
|
|
@ -1011,7 +1008,7 @@ _clear:
|
|||
if (sub_8062F90(entity2,1,0,0,1) != 0) {
|
||||
if (bVar2)
|
||||
{
|
||||
if (sub_8052B8C(0,*gUnknown_80FECA0,1) == 1) {
|
||||
if (DisplayDungeonYesNoMessage(0,*gUnknown_80FECA0,1) == 1) {
|
||||
*actionPointer = actionContainer;
|
||||
sub_8044DF0(entity,0,0x6e);
|
||||
SetMonsterActionFields(actionPointer,0x2c);
|
||||
|
|
@ -1039,14 +1036,14 @@ bool8 sub_8048D50(Entity * pokemon, Item *item)
|
|||
|
||||
if ((item->flags & ITEM_FLAG_STICKY) != 0) {
|
||||
sub_8045BF8(gFormatItems, item);
|
||||
SendMessage(pokemon,*gItemStickyDoesntWorkText);
|
||||
TryDisplayDungeonLoggableMessage(pokemon,*gItemStickyDoesntWorkText);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((entityInfo->muzzled.muzzled == TRUE) && (IsEdibleItem(item->id))) {
|
||||
SetMessageArgument(gAvailablePokemonNames,pokemon,0);
|
||||
SendMessage(pokemon,*gUnknown_80FDCA4);
|
||||
TryDisplayDungeonLoggableMessage(pokemon,*gUnknown_80FDCA4);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
|
@ -1088,27 +1085,27 @@ void GrimyFoodItemAction(Entity *pokemon, Entity * target)
|
|||
|
||||
void IcePartItemAction(Entity *pokemon, Entity *target, u8 r2)
|
||||
{
|
||||
SendMessage(pokemon, *gPtrIcePartCrumbledMessage);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gPtrIcePartCrumbledMessage);
|
||||
}
|
||||
|
||||
void RockPartItemAction(Entity *pokemon, Entity *target, u8 r2)
|
||||
{
|
||||
SendMessage(pokemon, *gPtrRockPartCrumbledMessage);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gPtrRockPartCrumbledMessage);
|
||||
}
|
||||
|
||||
void SteelPartItemAction(Entity *pokemon, Entity *target, u8 r2)
|
||||
{
|
||||
SendMessage(pokemon, *gPtrSteelPartCrumbledMessage);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gPtrSteelPartCrumbledMessage);
|
||||
}
|
||||
|
||||
void WishStoneItemAction(Entity *pokemon, Entity *target, u8 r2)
|
||||
{
|
||||
SendMessage(pokemon, *gPtrWishStoneCrumbledMessage);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gPtrWishStoneCrumbledMessage);
|
||||
}
|
||||
|
||||
void MusicBoxItemAction(Entity *pokemon, Entity *target, u8 r2)
|
||||
{
|
||||
sub_80421C0(pokemon, 0xD6);
|
||||
SendMessage(pokemon, *gPtrMusicBoxPlayedCrumbledMessage);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gPtrMusicBoxPlayedCrumbledMessage);
|
||||
sub_803E708(0x3C, 0x46);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,79 +0,0 @@
|
|||
#include "global.h"
|
||||
#include "code_80521D0.h"
|
||||
|
||||
extern void sub_80526D0(u8 r0);
|
||||
extern bool8 sub_8045888(Entity *r0);
|
||||
extern void sub_80523A8(Entity *r0, const char r1[], u8 r2);
|
||||
extern u8 sub_8052DC0(Entity *);
|
||||
extern u8 sub_803F428(Position *);
|
||||
|
||||
void sub_805229C(void)
|
||||
{
|
||||
return sub_80526D0(0x50);
|
||||
}
|
||||
|
||||
void SendMessage(Entity *pokemon, const char message[])
|
||||
{
|
||||
if (sub_8045888(pokemon)){
|
||||
sub_80523A8(pokemon, message, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80522C8(Entity *r0, const char r1[])
|
||||
{
|
||||
if (sub_8045888(r0)){
|
||||
sub_80523A8(r0, r1, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80522E8(Entity *r0, const char r1[])
|
||||
{
|
||||
sub_80523A8(r0, r1, 0);
|
||||
}
|
||||
|
||||
void sub_80522F4(Entity *r0, Entity *r1, const char r2[])
|
||||
{
|
||||
u8 flag;
|
||||
flag = sub_8045888(r0) ? TRUE : FALSE;
|
||||
if(sub_8052DC0(r1) != 0)
|
||||
{
|
||||
flag = TRUE;
|
||||
}
|
||||
if(flag)
|
||||
{
|
||||
sub_80523A8(r0, r2, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_805232C(Entity *r0, Entity *r1, const char r2[])
|
||||
{
|
||||
u8 flag;
|
||||
flag = sub_8045888(r0) ? TRUE : FALSE;
|
||||
if(sub_8052DC0(r1) != 0)
|
||||
{
|
||||
flag = TRUE;
|
||||
}
|
||||
if(flag)
|
||||
{
|
||||
sub_80523A8(r0, r2, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8052364(Entity *r0, Position *pos, const char r2[])
|
||||
{
|
||||
u8 flag;
|
||||
flag = sub_8045888(r0) ? TRUE : FALSE;
|
||||
if(sub_803F428(pos) != 0)
|
||||
{
|
||||
flag = TRUE;
|
||||
}
|
||||
if(flag)
|
||||
{
|
||||
sub_80523A8(r0, r2, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_805239C(Entity *r0, const char r1[])
|
||||
{
|
||||
sub_80523A8(r0, r1, 1);
|
||||
}
|
||||
1097
src/code_8057824_1.c
1097
src/code_8057824_1.c
File diff suppressed because it is too large
Load Diff
|
|
@ -3,7 +3,7 @@
|
|||
#include "number_util.h"
|
||||
#include "input.h"
|
||||
#include "structs/map.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "dungeon_action.h"
|
||||
#include "dungeon_ai_targeting.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
|
|
@ -57,7 +57,6 @@ struct UnkMenuBitsStruct {
|
|||
u8 a0_32;
|
||||
};
|
||||
|
||||
extern void PrintFieldMessage(u32, const u8 *, u32);
|
||||
extern void HandleSetItemAction(Entity *,bool8);
|
||||
extern void HandleUnsetItemAction(Entity *,bool8);
|
||||
extern bool8 sub_8048A68(Entity *param_1,Item *item);
|
||||
|
|
@ -67,12 +66,10 @@ extern Item *sub_8044D90(Entity *, s32, u32);
|
|||
extern void sub_8083D44(void);
|
||||
extern void sub_8083D30(void);
|
||||
extern void sub_8083D08(void);
|
||||
extern void sub_805239C(Entity *, const u8 *);
|
||||
extern void sub_806A6E8(Entity *);
|
||||
extern bool8 sub_8047084(s32 itemFlag);
|
||||
extern void sub_807FE9C(Entity *pokemon, Position *pos, int param_3, char param_4);
|
||||
extern void sub_8045DB4(Position *, u32);
|
||||
extern s32 sub_8052B8C(u32, const u8 *, u32);
|
||||
bool8 sub_807EF48(void);
|
||||
void sub_806A2BC(Entity *a0, u8 a1);
|
||||
bool8 sub_805E874(void);
|
||||
|
|
@ -89,7 +86,6 @@ void sub_8094C88(void);
|
|||
void sub_8040A84(void);
|
||||
void sub_8047158(void);
|
||||
void sub_804AA60(void);
|
||||
void sub_80532B4(void);
|
||||
void sub_806A914(u8 a0, u8 a1, u8 a2);
|
||||
void sub_8044C10(u8 a0);
|
||||
u16 GetLeaderActionId(void);
|
||||
|
|
@ -97,7 +93,6 @@ void sub_80978C8(s16 a0);
|
|||
void sub_8044C50(u16 a0);
|
||||
static void TryCreateModeArrows(Entity *leader);
|
||||
bool8 sub_8094C48(void);
|
||||
void sub_8052210(u8 a0);
|
||||
bool8 sub_805EC4C(Entity *a0, u8 a1);
|
||||
void sub_803E724(s32 a0);
|
||||
void HandleTalkFieldAction(Entity *);
|
||||
|
|
@ -269,7 +264,7 @@ void DungeonHandlePlayerInput(void)
|
|||
}
|
||||
}
|
||||
else if (ShouldMonsterRunAwayAndShowEffect(leader, TRUE)) {
|
||||
SendMessage(leader, gUnknown_80FD4B0);
|
||||
TryDisplayDungeonLoggableMessage(leader, gUnknown_80FD4B0);
|
||||
sub_8044C50(1);
|
||||
gDungeon->unk673 = 1;
|
||||
break;
|
||||
|
|
@ -284,7 +279,7 @@ void DungeonHandlePlayerInput(void)
|
|||
}
|
||||
}
|
||||
if (i == MAX_MON_MOVES) {
|
||||
SendMessage(leader, gUnknown_80F8A28);
|
||||
TryDisplayDungeonLoggableMessage(leader, gUnknown_80F8A28);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -310,7 +305,7 @@ void DungeonHandlePlayerInput(void)
|
|||
}
|
||||
}
|
||||
if (!canUseMove) {
|
||||
SendMessage(leader, gUnknown_80F8A4C);
|
||||
TryDisplayDungeonLoggableMessage(leader, gUnknown_80F8A4C);
|
||||
}
|
||||
else {
|
||||
SetMonsterActionFields(&leaderInfo->action, ACTION_USE_MOVE_PLAYER);
|
||||
|
|
@ -379,7 +374,7 @@ void DungeonHandlePlayerInput(void)
|
|||
|
||||
if (gRealInputs.held & L_BUTTON) {
|
||||
if (gRealInputs.pressed & B_BUTTON) {
|
||||
sub_80532B4();
|
||||
DisplayMessageLog();
|
||||
ResetRepeatTimers();
|
||||
ResetUnusedInputStruct();
|
||||
}
|
||||
|
|
@ -534,7 +529,7 @@ void DungeonHandlePlayerInput(void)
|
|||
if (!(canMoveFlags & 2)) {
|
||||
if (canMoveFlags & 1) {
|
||||
if (immobilizedMsg != NULL) {
|
||||
SendMessage(leader, immobilizedMsg);
|
||||
TryDisplayDungeonLoggableMessage(leader, immobilizedMsg);
|
||||
}
|
||||
sub_8044C50(1);
|
||||
gDungeon->unk673 = 1;
|
||||
|
|
@ -1577,7 +1572,7 @@ bool8 sub_805EC4C(Entity *a0, u8 a1)
|
|||
if (IsChargingAnyTwoTurnMove(tileMonster, FALSE)) return FALSE;
|
||||
if (!sub_8070F80(a0, entityInfo->action.direction)) return FALSE;
|
||||
|
||||
if (a1 != 0 && sub_807049C(tileMonster, &a0->pos) && !sub_8052B8C(0, gUnknown_8100208, 0)) return FALSE;
|
||||
if (a1 != 0 && sub_807049C(tileMonster, &a0->pos) && !DisplayDungeonYesNoMessage(0, gUnknown_8100208, 0)) return FALSE;
|
||||
|
||||
SetMonsterActionFields(&entityInfo->action, ACTION_WALK);
|
||||
if (gRealInputs.held & B_BUTTON) {
|
||||
|
|
@ -1721,13 +1716,13 @@ void sub_805F02C(void)
|
|||
EntityInfo *leaderInfo = leader->info;
|
||||
|
||||
if (r8->isTeamLeader) {
|
||||
sub_805239C(r7, gUnknown_80F9BD8);
|
||||
DisplayDungeonLoggableMessageTrue(r7, gUnknown_80F9BD8);
|
||||
}
|
||||
else if (sub_8047084(ITEM_FLAG_IN_SHOP) || sub_807EF48()) {
|
||||
sub_805239C(r7, gUnknown_80F9C08);
|
||||
DisplayDungeonLoggableMessageTrue(r7, gUnknown_80F9C08);
|
||||
}
|
||||
else if (gDungeon->unk66E) {
|
||||
sub_805239C(r7, gUnknown_80F9C2C);
|
||||
DisplayDungeonLoggableMessageTrue(r7, gUnknown_80F9C2C);
|
||||
}
|
||||
else {
|
||||
gDungeon->unk679 = 0;
|
||||
|
|
@ -1761,7 +1756,7 @@ void sub_805F02C(void)
|
|||
sub_8041AD0(leader);
|
||||
sub_8041AE0(GetLeader());
|
||||
SetMessageArgument(gAvailablePokemonNames, r7, 0);
|
||||
SendMessage(r7, gUnknown_80F9BB0);
|
||||
TryDisplayDungeonLoggableMessage(r7, gUnknown_80F9BB0);
|
||||
sub_807EC28(FALSE);
|
||||
r8->unk64 = 0;
|
||||
leaderInfo->unk64 = 0;
|
||||
|
|
@ -2124,7 +2119,7 @@ void ShowFieldMenu(u8 a0_, bool8 a1)
|
|||
}
|
||||
else {
|
||||
SetMessageArgument(gAvailablePokemonNames, GetLeader(), 0);
|
||||
PrintFieldMessage(0, gUnknown_80FDE18, 1);
|
||||
DisplayDungeonMessage(0, gUnknown_80FDE18, 1);
|
||||
}
|
||||
}
|
||||
r10 = -1;
|
||||
|
|
@ -2168,7 +2163,7 @@ extern const u8 *const gUnknown_80F91E0;
|
|||
extern const u8 *const gUnknown_80F91A8;
|
||||
extern const u8 *const gUnknown_80FE954;
|
||||
|
||||
const u8 *sub_805317C(void);
|
||||
const u8 *GetCurrentDungeonName(void);
|
||||
void GetWeatherName(u8 *dst, u8 weatherId);
|
||||
|
||||
extern s32 gFormatData_202DE30[];
|
||||
|
|
@ -2232,7 +2227,7 @@ void DrawFieldMenu(u8 a0)
|
|||
if (a0) {
|
||||
u32 hours, minutes, seconds;
|
||||
EntityInfo *leaderInfo = GetLeader()->info;
|
||||
const u8 *dungeonName = sub_805317C();
|
||||
const u8 *dungeonName = GetCurrentDungeonName();
|
||||
|
||||
x = (136 - sub_8008ED0(dungeonName)) / 2;
|
||||
sub_80073B8(1);
|
||||
|
|
@ -2279,7 +2274,7 @@ bool8 sub_805FBE8(u8 *a0)
|
|||
do
|
||||
{
|
||||
sub_803E46C(0xE);
|
||||
xxx_draw_string_80144C4();
|
||||
DrawDialogueBoxString();
|
||||
r4 = sub_8016080();
|
||||
} while (r4 == 0);
|
||||
CleanConfirmNameMenu();
|
||||
|
|
@ -2435,7 +2430,7 @@ bool8 sub_805FD74(Entity * a0, struct UnkMenuBitsStruct *a1)
|
|||
|
||||
sUnknown_202F258 = sub_8060D64(sUnknown_202F248, var_30, var_34, var_28, a0);
|
||||
if (sUnknown_202F258 == 0) {
|
||||
PrintFieldMessage(0, gUnknown_80F8B24, 1);
|
||||
DisplayDungeonMessage(0, gUnknown_80F8B24, 1);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_807CD9C.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_movement.h"
|
||||
|
|
@ -58,7 +58,7 @@ void HandleSetItemAction(Entity *param_1, bool8 param_2)
|
|||
if (((itemPtr->flags & ITEM_FLAG_EXISTS)) && ((itemPtr->flags & ITEM_FLAG_SET))) {
|
||||
if ((itemPtr->flags & ITEM_FLAG_STICKY)) {
|
||||
sub_8045BF8(gFormatItems,itemPtr);
|
||||
SendMessage(param_1,*gItemStickyCannotEquip);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotEquip);
|
||||
return;
|
||||
}
|
||||
itemPtr->flags &= ~(ITEM_FLAG_SET);
|
||||
|
|
@ -68,22 +68,22 @@ void HandleSetItemAction(Entity *param_1, bool8 param_2)
|
|||
PlaySoundEffect(0x133);
|
||||
if (param_2 != 0) {
|
||||
if ((item->flags & ITEM_FLAG_STICKY)) {
|
||||
SendMessage(param_1,*gUnknown_80F8D04);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8D04);
|
||||
}
|
||||
else {
|
||||
if (GetItemCategory(item->id) == CATEGORY_THROWN_LINE) {
|
||||
SendMessage(param_1,*gUnknown_80F8CE4);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8CE4);
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMessage(param_1,*gUnknown_80F8CE8);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8CE8);
|
||||
}
|
||||
}
|
||||
}
|
||||
item->flags |= ITEM_FLAG_SET;
|
||||
if (((item->flags & ITEM_FLAG_STICKY)) && (param_2 != 0)) {
|
||||
sub_8045BF8(gFormatItems,item);
|
||||
SendMessage(param_1,*gUnknown_80F8BE0);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -99,14 +99,14 @@ void HandleUnsetItemAction(Entity *entity,bool8 enableMessage)
|
|||
if (((item->flags & ITEM_FLAG_EXISTS)) && ((item->flags & ITEM_FLAG_SET))) {
|
||||
if ((item->flags & ITEM_FLAG_STICKY)) {
|
||||
sub_8045BF8(gFormatItems,item);
|
||||
SendMessage(entity,*gItemStickyCannotEquip);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gItemStickyCannotEquip);
|
||||
return;
|
||||
}
|
||||
item->flags &= ~(ITEM_FLAG_SET);
|
||||
sub_8045BF8(gFormatItems,item);
|
||||
PlaySoundEffect(0x133);
|
||||
if (enableMessage) {
|
||||
SendMessage(entity,*gUnknown_80F8D20);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8D20);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -136,7 +136,7 @@ void HandleGiveItemAction(Entity *param_1)
|
|||
|
||||
if ((!bVar3) && ((item->flags & (ITEM_FLAG_STICKY | ITEM_FLAG_SET)) == (ITEM_FLAG_STICKY | ITEM_FLAG_SET))) {
|
||||
sub_8045BF8(gUnknown_202DEA8,item);
|
||||
SendMessage(param_1,*gItemStickyCannotMove2);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotMove2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -144,7 +144,7 @@ void HandleGiveItemAction(Entity *param_1)
|
|||
if (((info2->heldItem).flags & ITEM_FLAG_EXISTS)) {
|
||||
if (((info2->heldItem).flags & ITEM_FLAG_STICKY)) {
|
||||
sub_8045BF8(gUnknown_202DEA8,&info2->heldItem);
|
||||
SendMessage(param_1,*gItemStickyCannotMove1);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gItemStickyCannotMove1);
|
||||
return;
|
||||
}
|
||||
item1 = (info2->heldItem);
|
||||
|
|
@ -162,9 +162,9 @@ void HandleGiveItemAction(Entity *param_1)
|
|||
sub_8045BF8(gFormatItems,&item2);
|
||||
sub_8045BF8(gFormatItems + 0x50,&item1);
|
||||
PlaySoundEffect(0x14d);
|
||||
SendMessage(param_1,*gMonTookAndReturnedItem);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gMonTookAndReturnedItem);
|
||||
if ((item2.flags & ITEM_FLAG_STICKY)) {
|
||||
SendMessage(param_1,*gUnknown_80F8BE0);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
@ -174,9 +174,9 @@ void HandleGiveItemAction(Entity *param_1)
|
|||
info2->heldItem = item3;
|
||||
sub_8045BF8(gFormatItems,&item3);
|
||||
PlaySoundEffect(0x14d);
|
||||
SendMessage(param_1,*gUnknown_80F8D44);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8D44);
|
||||
if ((item3.flags & ITEM_FLAG_STICKY)) {
|
||||
SendMessage(param_1,*gUnknown_80F8BE0);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0);
|
||||
}
|
||||
}
|
||||
sub_806A6E8(entity);
|
||||
|
|
@ -204,13 +204,13 @@ void HandleTakeItemAction(Entity *param_1)
|
|||
info2 = entity->info;
|
||||
heldItem = &info->heldItem;
|
||||
if ((gTeamInventoryRef->teamItems[ITEM_POWER_BAND].flags & ITEM_FLAG_EXISTS)) {
|
||||
SendMessage(param_1,*gUnknown_80F8D60);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8D60);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((heldItem->flags & ITEM_FLAG_STICKY)) {
|
||||
sub_8045BF8(gFormatItems,heldItem);
|
||||
SendMessage(param_1,*gUnknown_80F8BE0);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -223,7 +223,7 @@ void HandleTakeItemAction(Entity *param_1)
|
|||
heldItem->flags = 0;
|
||||
AddItemToInventory(&item);
|
||||
PlaySoundEffect(0x14d);
|
||||
SendMessage(param_1,*gUnknown_80F8D7C);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8D7C);
|
||||
sub_806A6E8(entity);
|
||||
if (sub_80706A4(entity,&entity->pos) != 0) {
|
||||
sub_807D148(param_1,entity,0,0);
|
||||
|
|
@ -251,11 +251,11 @@ void sub_8066BD4(Entity *param_1)
|
|||
if (heldItem->flags & ITEM_FLAG_STICKY)
|
||||
{
|
||||
sub_8045BF8(gFormatItems,heldItem);
|
||||
SendMessage(param_1,*gUnknown_80F8BE0);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0);
|
||||
}
|
||||
else if ((item->flags & (ITEM_FLAG_STICKY | ITEM_FLAG_SET)) == (ITEM_FLAG_STICKY | ITEM_FLAG_SET)) {
|
||||
sub_8045BF8(gFormatItems,item);
|
||||
SendMessage(param_1,*gUnknown_80F8BE0);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8BE0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -268,7 +268,7 @@ void sub_8066BD4(Entity *param_1)
|
|||
info->heldItem = *item;
|
||||
*item = temp;
|
||||
PlaySoundEffect(0x14d);
|
||||
SendMessage(param_1,*gUnknown_80F8DB4);
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80F8DB4);
|
||||
if (sub_80706A4(entity,&entity->pos) != 0) {
|
||||
sub_807D148(param_1,entity,0,0);
|
||||
}
|
||||
|
|
@ -304,13 +304,13 @@ void HandlePlaceItemAction(Entity *param_1)
|
|||
item = sub_8044D90(entity,0,4);
|
||||
sub_8045BF8(gFormatItems,item);
|
||||
if (info->action.unk4[0].actionUseIndex == 0x80) {
|
||||
SendMessage(entity,*gUnknown_80F8DE0);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8DE0);
|
||||
}
|
||||
else if ((info->action.unk4[0].actionUseIndex < 0x15) && ((item->flags & (ITEM_FLAG_STICKY | ITEM_FLAG_SET)) == (ITEM_FLAG_STICKY | ITEM_FLAG_SET))) {
|
||||
SendMessage(entity,*gUnknown_80F8BE0);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8BE0);
|
||||
}
|
||||
else if ((info->action.unk4[0].actionUseIndex == 0x81) && ((item->flags & ITEM_FLAG_STICKY))) {
|
||||
SendMessage(entity,*gUnknown_80F8BE0);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8BE0);
|
||||
}
|
||||
else {
|
||||
tile = GetTile(entity->pos.x, entity->pos.y);
|
||||
|
|
@ -322,7 +322,7 @@ void HandlePlaceItemAction(Entity *param_1)
|
|||
sub_8045BF8(gFormatItems,item);
|
||||
if (sub_80460F8(&entity->pos,item,1) == 0) {
|
||||
_message:
|
||||
SendMessage(entity,*gUnknown_80F8E04);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8E04);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -332,7 +332,7 @@ void HandlePlaceItemAction(Entity *param_1)
|
|||
FillInventoryGaps();
|
||||
PlaySoundEffect(0x14d);
|
||||
SetMessageArgument(gAvailablePokemonNames,entity,0);
|
||||
SendMessage(entity,*gUnknown_80F8E28);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80F8E28);
|
||||
sub_807AB38(entity,gDungeon->unk3A08);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_random.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "game_options.h"
|
||||
#include "move_effects_target.h"
|
||||
|
|
@ -35,7 +36,6 @@ extern u8 *gUnknown_80FCC7C[];
|
|||
extern u8 *gUnknown_80FCCAC[];
|
||||
extern u8 *gUnknown_80FDCC8[];
|
||||
|
||||
void sub_80522F4(Entity *r0, Entity *r1, const char r2[]);
|
||||
extern void sub_8042900(Entity *r0);
|
||||
extern void sub_8042968(Entity *r0);
|
||||
extern void sub_806ABAC(Entity *, Entity *);
|
||||
|
|
@ -174,7 +174,7 @@ void sub_8069F9C(Entity *pokemon,Entity * target,Move *move)
|
|||
iVar6->abilities[abilityIndex] = local_20[randomIndex];
|
||||
gDungeon->unkC = 1;
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FCC7C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCC7C);
|
||||
sub_8042900(target);
|
||||
sub_806ABAC(pokemon,target);
|
||||
}
|
||||
|
|
@ -194,7 +194,7 @@ _0806A068:
|
|||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
__src = GetUnformattedTypeString(iVar6->types[0]);
|
||||
strcpy(gFormatItems,__src);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FCCAC);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCCAC);
|
||||
sub_8042968(target);
|
||||
}
|
||||
}
|
||||
|
|
@ -219,7 +219,7 @@ void sub_806A120(Entity * pokemon, Entity * target, Move* move)
|
|||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
typeString = GetUnformattedTypeString(uVar2_u32);
|
||||
strcpy(gFormatItems,typeString);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FDCC8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDCC8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,12 +34,12 @@
|
|||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "code_8041AD0.h"
|
||||
#include "type_chart.h"
|
||||
#include "dungeon_message.h"
|
||||
|
||||
extern u8 gUnknown_202F221;
|
||||
extern u8 gUnknown_202DFE8[];
|
||||
|
||||
extern void sub_806BFC0(EntityInfo *, u32);
|
||||
extern void sub_805239C(Entity *, const u8 *);
|
||||
|
||||
const u8 gUnknown_8106EEF[] = {0x03, 0x04, 0x05, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00 };
|
||||
|
||||
|
|
@ -259,7 +259,6 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
extern void sub_807F43C(Entity *, Entity *);
|
||||
extern void sub_8041B18(Entity *pokemon);
|
||||
extern void sub_8041B90(Entity *pokemon);
|
||||
extern void sub_80522F4(Entity *, Entity *, const u8 *);
|
||||
extern void sub_8041D00(Entity *pokemon, Entity *target);
|
||||
extern void DealDamageToEntity(Entity *, s32, u32, u32);
|
||||
extern void SetShopkeeperAggression(Entity *, Entity *);
|
||||
|
|
@ -323,7 +322,7 @@ extern const u8 *const gUnknown_80F9D28[];
|
|||
extern u8 gAvailablePokemonNames[];
|
||||
extern u32 gFormatData_202DE30;
|
||||
|
||||
void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *dmgStruct, bool32 isFalseSwipe, s32 giveExp, s16 arg4, bool32 arg8, s32 argC)
|
||||
void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *dmgStruct, bool32 isFalseSwipe, bool32 giveExp, s16 arg4, bool32 arg8, s32 argC)
|
||||
{
|
||||
bool32 r9;
|
||||
// Some compiler weirdness, because it won't match without creating arg4 again
|
||||
|
|
@ -383,7 +382,7 @@ void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *
|
|||
if (returnDmg) {
|
||||
struct DamageStruct sp;
|
||||
|
||||
sub_80522F4(attacker, target, gUnknown_80FCFA4);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80FCFA4);
|
||||
sp.dmg = (dmgStruct->dmg * returnDmg) / 4;
|
||||
sp.type = dmgStruct->type;
|
||||
sp.residualDmgType = 6;
|
||||
|
|
@ -410,30 +409,30 @@ void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *
|
|||
&& !HasAbility(attacker, ABILITY_LEVITATE)
|
||||
&& DungeonRandInt(100) < gUnknown_80F4E10)
|
||||
{
|
||||
attackerInfo->unk178 |= 1;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_ARENA_TRAP;
|
||||
}
|
||||
if (HasAbility(target, ABILITY_SHADOW_TAG)
|
||||
&& DungeonRandInt(100) < gUnknown_80F4E12)
|
||||
{
|
||||
attackerInfo->unk178 |= 2;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_SHADOW_TAG;
|
||||
}
|
||||
if (HasAbility(target, ABILITY_MAGNET_PULL)
|
||||
&& MonsterIsType(attacker, TYPE_STEEL)
|
||||
&& DungeonRandInt(100) < gUnknown_80F4E14)
|
||||
{
|
||||
attackerInfo->unk178 |= 4;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_MAGNET_PULL;
|
||||
}
|
||||
|
||||
if (HasAbility(target, ABILITY_STATIC)
|
||||
&& isPhysical
|
||||
&& DungeonRandInt(100) < gUnknown_80F4E16)
|
||||
{
|
||||
attackerInfo->unk178 |= 8;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_STATIC;
|
||||
}
|
||||
if (HasAbility(target, ABILITY_POISON_POINT)
|
||||
&& DungeonRandInt(100) < gUnknown_80F4E18)
|
||||
{
|
||||
attackerInfo->unk178 |= 0x20;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_POISON_POINT;
|
||||
}
|
||||
if (HasAbility(target, ABILITY_EFFECT_SPORE)
|
||||
&& isPhysical
|
||||
|
|
@ -441,27 +440,27 @@ void HandleDealingDamage(Entity *attacker, Entity *target, struct DamageStruct *
|
|||
{
|
||||
s32 rnd = DungeonRandInt(3);
|
||||
if (rnd < 1)
|
||||
attackerInfo->unk178 |= 0x40;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_EFFECT_SPORE_PSN;
|
||||
else if (rnd < 2)
|
||||
attackerInfo->unk178 |= 0x10;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_EFFECT_SPORE_PRLZ;
|
||||
else
|
||||
attackerInfo->unk178 |= 0x80;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_EFFECT_SPORE_SLP;
|
||||
}
|
||||
if (HasAbility(target, ABILITY_FLAME_BODY)
|
||||
&& DungeonRandInt(100) < gUnknown_80F4E1C)
|
||||
{
|
||||
attackerInfo->unk178 |= 0x100;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_FLAME_BODY;
|
||||
}
|
||||
if (HasAbility(target, ABILITY_CUTE_CHARM)
|
||||
&& isPhysical
|
||||
&& DungeonRandInt(100) < gUnknown_80F4E1E)
|
||||
{
|
||||
attackerInfo->unk178 |= 0x200;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_CUTE_CHARM;
|
||||
}
|
||||
if (HasAbility(target, ABILITY_STENCH)
|
||||
&& DungeonRandInt(100) < gUnknown_80F4E20)
|
||||
{
|
||||
attackerInfo->unk178 |= 0x400;
|
||||
attackerInfo->abilityEffectFlags |= ABILITY_FLAG_STENCH;
|
||||
}
|
||||
}
|
||||
if (!EntityExists(attacker) || !EntityExists(target))
|
||||
|
|
@ -519,14 +518,14 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
|
||||
if (arg4 != 0x20E && HasAbility(target, ABILITY_STURDY) && dmgStruct->dmg == 9999) {
|
||||
SetMessageArgument(gUnknown_202DFE8, target, 0);
|
||||
sub_80522F4(attacker, target, gUnknown_80FCA90);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80FCA90);
|
||||
sub_8042238(attacker, target);
|
||||
dmgStruct->unkF = 1;
|
||||
return FALSE;
|
||||
}
|
||||
if (targetData->immobilize.immobilizeStatus == STATUS_FROZEN) {
|
||||
SetMessageArgument(gUnknown_202DFE8, target, 0);
|
||||
sub_80522F4(attacker, target, gUnknown_80F9600);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9600);
|
||||
sub_8042238(attacker, target);
|
||||
dmgStruct->unkF = 1;
|
||||
return FALSE;
|
||||
|
|
@ -551,17 +550,17 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
|
||||
if (targetData->unk152 == 0) {
|
||||
if (dmgStruct->isCrit) {
|
||||
sub_80522F4(attacker, target, gUnknown_80F9614);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9614);
|
||||
}
|
||||
switch (dmgStruct->typeEffectiveness) {
|
||||
case EFFECTIVENESS_IMMUNE:
|
||||
sub_80522F4(attacker, target, gUnknown_80F9630);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9630);
|
||||
break;
|
||||
case EFFECTIVENESS_RESIST:
|
||||
sub_80522F4(attacker, target, gUnknown_80F9654);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9654);
|
||||
break;
|
||||
case EFFECTIVENESS_SUPER:
|
||||
sub_80522F4(attacker, target, gUnknown_80F9670);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9670);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -571,13 +570,13 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
if (dmgStruct->dmg == 0) {
|
||||
if (sub_8045888(attacker) && sub_8045888(target)) {
|
||||
if (targetData->unk152 == 0) {
|
||||
sub_80522F4(attacker, target, gUnknown_80F9688);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9688);
|
||||
}
|
||||
sub_8042238(attacker, target);
|
||||
}
|
||||
else {
|
||||
if (targetData->unk152 == 0) {
|
||||
sub_80522F4(attacker, target, gUnknown_80F9688);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9688);
|
||||
}
|
||||
sub_803E708(0x1E, 0x18);
|
||||
}
|
||||
|
|
@ -592,7 +591,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
sub_8049ED4();
|
||||
}
|
||||
if (targetData->unk152 == 0) {
|
||||
sub_80522F4(attacker, target, gUnknown_80F96A8);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F96A8);
|
||||
}
|
||||
targetData->unkA0 = 999;
|
||||
}
|
||||
|
|
@ -602,8 +601,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
gFormatData_202DE30 = dmgStruct->dmg;
|
||||
str = gUnknown_80F9764[dmgStruct->residualDmgType];
|
||||
|
||||
// Needed to match - the line can be safely removed
|
||||
dmgStruct++;dmgStruct--;
|
||||
ASM_MATCH_TRICK(dmgStruct);
|
||||
|
||||
targetData->unkA0 += dmgStruct->dmg;
|
||||
if (targetData->unkA0 > 999)
|
||||
|
|
@ -614,12 +612,12 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
sub_803ED30(-dmgStruct->dmg, target, 1, -1);
|
||||
}
|
||||
if (targetData->unk152 == 0 && str != NULL) {
|
||||
sub_80522F4(attacker, target, str);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, str);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (targetData->unk152 == 0 && str != NULL) {
|
||||
sub_80522F4(attacker, target, str);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -661,12 +659,12 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
if (targetData->protection.protectionStatus == STATUS_ENDURING) {
|
||||
if (targetData->HP == 0) {
|
||||
targetData->HP = 1;
|
||||
sub_80522F4(attacker, target, gUnknown_8100548);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_8100548);
|
||||
}
|
||||
}
|
||||
else if (isFalseSwipe == TRUE && targetData->HP == 0) {
|
||||
targetData->HP = 1;
|
||||
sub_80522F4(attacker, target, gUnknown_810056C);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_810056C);
|
||||
}
|
||||
|
||||
hpChange = hpBefore - targetData->HP;
|
||||
|
|
@ -718,42 +716,42 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
SetMessageArgument(gAvailablePokemonNames + 0x50, target, 0);
|
||||
if (dmgStruct->residualDmgType == 19 || dmgStruct->residualDmgType == 20) {
|
||||
if (targetData->isNotTeamMember) {
|
||||
sub_80522F4(attacker, target, gUnknown_80F9E44);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9E44);
|
||||
}
|
||||
else {
|
||||
sub_805239C(attacker, gUnknown_80F9E44);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9E44);
|
||||
}
|
||||
}
|
||||
else if (targetData->isNotTeamMember)
|
||||
{
|
||||
if (targetData->clientType == CLIENT_TYPE_CLIENT) {
|
||||
sub_805239C(attacker, gUnknown_80F9DF0[r8]);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9DF0[r8]);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(attacker, target, gUnknown_80F9CC0[r8]);
|
||||
TryDisplayDungeonLoggableMessage3(attacker, target, gUnknown_80F9CC0[r8]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
PokemonStruct2 *recruitedMon = &gRecruitedPokemonRef->pokemon2[targetData->teamIndex];
|
||||
if (targetData->isTeamLeader || (targetData->joinedAt.joinedAt == DUNGEON_JOIN_LOCATION_PARTNER && gDungeon->unk65C == 0)) {
|
||||
sub_805239C(attacker, gUnknown_80F9CEC[r8]);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9CEC[r8]);
|
||||
}
|
||||
else if (IsClientOrTeamBase(targetData->joinedAt.joinedAt)) {
|
||||
sub_805239C(attacker, gUnknown_80F9DAC[r8]);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9DAC[r8]);
|
||||
}
|
||||
else if (targetData->clientType == CLIENT_TYPE_CLIENT) {
|
||||
sub_805239C(attacker, gUnknown_80F9DF0[r8]);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9DF0[r8]);
|
||||
}
|
||||
else if (sub_806A58C(recruitedMon->unkA)) {
|
||||
if (gDungeon->unk65D != 0) {
|
||||
sub_805239C(attacker, gUnknown_80F9D8C[r8]);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9D8C[r8]);
|
||||
}
|
||||
else {
|
||||
sub_805239C(attacker, gUnknown_80F9D84[r8]);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9D84[r8]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
sub_805239C(attacker, gUnknown_80F9D28[r8]);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80F9D28[r8]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -791,7 +789,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
sub_806CCB4(target, sub_806CEBC(target));
|
||||
EntityUpdateStatusSprites(target);
|
||||
SetMessageArgument(gUnknown_202DFE8, target, 0);
|
||||
sub_805239C(attacker, gUnknown_80FD46C);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD46C);
|
||||
sub_806F63C(target);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -849,7 +847,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
EntityUpdateStatusSprites(target);
|
||||
SetMessageArgument(gAvailablePokemonNames, target, 0);
|
||||
SetMessageArgument(gAvailablePokemonNames + 0x50, teamMember, 0);
|
||||
sub_805239C(attacker, gUnknown_80FD484);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD484);
|
||||
sub_806F63C(target);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -902,7 +900,7 @@ static bool8 HandleDealingDamageInternal(Entity *attacker, Entity *target, struc
|
|||
sub_806CCB4(target, sub_806CEBC(target));
|
||||
EntityUpdateStatusSprites(target);
|
||||
SetMessageArgument(gUnknown_202DFE8, target, 0);
|
||||
sub_805239C(attacker, gUnknown_80FD46C);
|
||||
DisplayDungeonLoggableMessageTrue(attacker, gUnknown_80FD46C);
|
||||
sub_806F63C(target);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "status_checks_1.h"
|
||||
#include "text_util.h"
|
||||
#include "dungeon_message.h"
|
||||
|
||||
extern u8 *gUnknown_80FEE04[];
|
||||
extern u8 *gUnknown_80FEE2C[];
|
||||
|
|
@ -12,7 +13,6 @@ extern u8 *gUnknown_80FEE54[];
|
|||
void sub_8042940(Entity *r0);
|
||||
void sub_80428B0(Entity *r0);
|
||||
void sub_80428C4(Entity *r0);
|
||||
void sub_80522F4(Entity *r0, Entity *r1, const char r2[]);
|
||||
|
||||
void sub_806E8B0(Entity * pokemon, Entity * target, u8 param_3, s32 *param_4, s32 *param_5, s32 param_6)
|
||||
{
|
||||
|
|
@ -30,13 +30,13 @@ void sub_806E8B0(Entity * pokemon, Entity * target, u8 param_3, s32 *param_4, s3
|
|||
s32 r10;
|
||||
s32 sp_0x4;
|
||||
s32 sp_0x8;
|
||||
|
||||
|
||||
r7 = 1;
|
||||
r8 = 1;
|
||||
sp_0x4 = 1;
|
||||
sp_0x8 = 1;
|
||||
r10 = IsTypePhysical(param_3) == 0;
|
||||
|
||||
|
||||
|
||||
if (HasAbility(pokemon, ABILITY_GUTS)) {
|
||||
entityInfo = pokemon->info;
|
||||
|
|
@ -47,7 +47,7 @@ void sub_806E8B0(Entity * pokemon, Entity * target, u8 param_3, s32 *param_4, s3
|
|||
}
|
||||
if (visFlags_pokemon_1) {
|
||||
sub_80428B0(pokemon);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FEE04); // Guts boosted its power
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FEE04); // Guts boosted its power
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -64,7 +64,7 @@ void sub_806E8B0(Entity * pokemon, Entity * target, u8 param_3, s32 *param_4, s3
|
|||
}
|
||||
if (visFlags_pokemon_2) {
|
||||
sub_80428C4(pokemon);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FEE2C); // It's special ability boosted Attack
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FEE2C); // It's special ability boosted Attack
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ void sub_806E8B0(Entity * pokemon, Entity * target, u8 param_3, s32 *param_4, s3
|
|||
}
|
||||
if (visFlags_target) {
|
||||
sub_8042940(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FEE54); // Its special ability quickened attacks!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FEE54); // Its special ability quickened attacks!
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "code_80118A4.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_8077274_1.h"
|
||||
#include "code_8097670.h"
|
||||
|
|
@ -45,8 +45,6 @@ extern u8 *gUnknown_80FA090[];
|
|||
void sub_8068FE0(Entity *, u32, Entity *);
|
||||
u8 sub_806B8CC();
|
||||
bool8 sub_805FBE8(u8 *a0);
|
||||
extern s32 sub_8052B8C(u32, const u8 *, u32);
|
||||
extern void PrintFieldMessage(u32, const u8 *, u32);
|
||||
void sub_8083D88();
|
||||
u8 sub_808529C(s32);
|
||||
extern u8 GetBodySize(s16 index);
|
||||
|
|
@ -749,9 +747,9 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa
|
|||
sub_806CE68(entity2, direction);
|
||||
CopyCyanMonsterNametoBuffer(gAvailablePokemonNames,param_3->id);
|
||||
|
||||
if (sub_8052B8C(0,*gUnknown_80F9FE8,1) == 0) {
|
||||
if (DisplayDungeonYesNoMessage(0,*gUnknown_80F9FE8,1) == 0) {
|
||||
if (param_3->id != MONSTER_JIRACHI) {
|
||||
SendMessage(entity1,*gUnknown_80FA004);
|
||||
TryDisplayDungeonLoggableMessage(entity1,*gUnknown_80FA004);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -764,7 +762,7 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa
|
|||
}
|
||||
|
||||
if (pokeIndex == MAX_TEAM_MEMBERS) {
|
||||
SendMessage(entity1,*gUnknown_80FA030);
|
||||
TryDisplayDungeonLoggableMessage(entity1,*gUnknown_80FA030);
|
||||
return FALSE;
|
||||
}
|
||||
else {
|
||||
|
|
@ -805,25 +803,25 @@ bool8 sub_806FA5C(Entity *entity1, Entity *entity2, struct unkStruct_8069D4C *pa
|
|||
sub_8097848();
|
||||
|
||||
if (sub_806B8CC(param_3->id,param_3->pos.x,param_3->pos.y,pokeStruct2,&local_2c,0,1) == 0) {
|
||||
SendMessage(entity1,*gUnknown_80FA058);
|
||||
TryDisplayDungeonLoggableMessage(entity1,*gUnknown_80FA058);
|
||||
pokeStruct2->unk0 = 0;
|
||||
}
|
||||
else {
|
||||
sub_8083D88();
|
||||
sub_803E708(0xa0,0x46);
|
||||
if (sub_8052B8C(0,*gUnknown_80FA090,1) == 1) {
|
||||
if (DisplayDungeonYesNoMessage(0,*gUnknown_80FA090,1) == 1) {
|
||||
while (sub_805FBE8(pokeStruct2->name) == 0) {
|
||||
PrintFieldMessage(0,*gUnknown_80FA0C8,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_80FA0C8,1);
|
||||
}
|
||||
}
|
||||
sub_808D9DC(gAvailablePokemonNames,pokeStruct2,0);
|
||||
SendMessage(entity1,*gUnknown_80FA0F0);
|
||||
TryDisplayDungeonLoggableMessage(entity1,*gUnknown_80FA0F0);
|
||||
if (flag) {
|
||||
leader = xxx_call_GetLeader();
|
||||
SetMessageArgument(gAvailablePokemonNames,leader,0);
|
||||
sub_8092558(gUnknown_202E628,friendArea);
|
||||
PlaySound(0xce);
|
||||
PrintFieldMessage(0,*gUnknown_80FA120,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_80FA120,1);
|
||||
}
|
||||
if (param_3->id == MONSTER_MEW) {
|
||||
gDungeon->unk4 = 1;
|
||||
|
|
@ -1072,9 +1070,9 @@ bool8 sub_806FDF4(Entity *entity1,Entity *entity2,Entity **entityPtr)
|
|||
pokeStruct2->unk0 = 0;
|
||||
}
|
||||
else {
|
||||
if (sub_8052B8C(0,*gUnknown_80FA090,1) == 1) {
|
||||
if (DisplayDungeonYesNoMessage(0,*gUnknown_80FA090,1) == 1) {
|
||||
while (!sub_805FBE8(buffer)) {
|
||||
PrintFieldMessage(0,*gUnknown_80FA0C8,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_80FA0C8,1);
|
||||
}
|
||||
}
|
||||
if (flag) {
|
||||
|
|
@ -1082,7 +1080,7 @@ bool8 sub_806FDF4(Entity *entity1,Entity *entity2,Entity **entityPtr)
|
|||
SetMessageArgument(gAvailablePokemonNames,leader,0);
|
||||
sub_8092558(gUnknown_202E628,friendArea);
|
||||
PlaySound(0xce);
|
||||
PrintFieldMessage(0,*gUnknown_80FA120,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_80FA120,1);
|
||||
}
|
||||
sub_808D9DC(gUnknown_202E088,pokeStruct2,0);
|
||||
*entityPtr = local_2c;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include "dungeon_capabilities.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_leader.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_8077274_1.h"
|
||||
#include "constants/dungeon.h"
|
||||
|
|
@ -55,7 +56,6 @@ extern u8 gUnknown_8107010[8];
|
|||
extern u8 *gUnknown_8107018[3];
|
||||
|
||||
extern void sub_80421C0(Entity *pokemon, u16 r1);
|
||||
void sub_80528F4(Entity *, u8 *);
|
||||
void sub_8083D58(void);
|
||||
void sub_8072778(Entity *, Entity *, u8, u8);
|
||||
bool8 sub_80725A4(Entity *, Entity *);
|
||||
|
|
@ -64,15 +64,12 @@ bool8 sub_80723D0(Entity *, Entity *, u8, u8);
|
|||
void sub_807218C(Entity *);
|
||||
void sub_806A2BC(Entity *, u32);
|
||||
void sub_806A3D4(u8 *, s32, s32, s32);
|
||||
extern void PrintFieldMessage(u32, u8 *, u32);
|
||||
extern Entity* sub_806B7F8(struct unkStruct_806B7F8 *, bool8);
|
||||
extern void sub_805239C(struct Entity *r0, const char r1[]);
|
||||
extern void sub_8042920(struct Entity *r0);
|
||||
extern s16 sub_803D970(u32);
|
||||
extern s32 sub_803DA20(s32 param_1);
|
||||
extern bool8 sub_806AA0C(s32, u32);
|
||||
extern bool8 sub_8083660(struct Position *param_1);
|
||||
extern void sub_80522F4(Entity *pokemon, Entity *r1, const u8[]);
|
||||
void GetPokemonLevelData(LevelData* a1, s32 _id, s32 level); // TODO: change to s32
|
||||
|
||||
void sub_8071B48(void)
|
||||
|
|
@ -140,7 +137,7 @@ void sub_8071B48(void)
|
|||
|
||||
}
|
||||
if (entityPtr != NULL) {
|
||||
sub_805239C(0,*gUnknown_80FED68);
|
||||
DisplayDungeonLoggableMessageTrue(0,*gUnknown_80FED68);
|
||||
sub_8042920(entityPtr);
|
||||
}
|
||||
if (dungeon->unk66E != 0) {
|
||||
|
|
@ -329,7 +326,7 @@ void sub_8071DA4(Entity *entity)
|
|||
" ldr r2, [r0]\n"
|
||||
" ldr r0, [sp, 0xB4]\n"
|
||||
" mov r1, r8\n"
|
||||
" bl sub_80522F4\n"
|
||||
" bl TryDisplayDungeonLoggableMessage3\n"
|
||||
" ldr r0, [sp, 0xB4]\n"
|
||||
" mov r1, r8\n"
|
||||
" movs r2, 0x1\n"
|
||||
|
|
@ -466,7 +463,7 @@ void sub_8071DA4(Entity *entity)
|
|||
" ldr r2, [r0]\n"
|
||||
" ldr r0, [sp, 0xB4]\n"
|
||||
" mov r1, r8\n"
|
||||
" bl sub_80522F4\n"
|
||||
" bl TryDisplayDungeonLoggableMessage3\n"
|
||||
"_08071FC4:\n"
|
||||
" adds r4, 0x1\n"
|
||||
" cmp r4, 0xB\n"
|
||||
|
|
@ -554,7 +551,7 @@ void sub_8072008(Entity *pokemon, Entity *target, s32 level, u8 param_4, u8 para
|
|||
if ((tacticsBuffer1[tacticIndex] == 0) && (tacticsBuffer2[tacticIndex] == 1)) {
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
CopyTacticsNameToBuffer(gFormatItems,tacticIndex);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FF730);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FF730);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -562,7 +559,7 @@ void sub_8072008(Entity *pokemon, Entity *target, s32 level, u8 param_4, u8 para
|
|||
info->unk149 = 0;
|
||||
if ((flag == 0) && (param_4 != 0)) {
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80F9B74);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80F9B74);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -603,7 +600,7 @@ void sub_807218C(Entity *pokemon)
|
|||
{
|
||||
strcpy(buffer, *gUnknown_80FCF18);
|
||||
}
|
||||
PrintFieldMessage(0, buffer, 1);
|
||||
DisplayDungeonMessage(0, buffer, 1);
|
||||
buffer[0] = 0;
|
||||
|
||||
|
||||
|
|
@ -642,7 +639,7 @@ void sub_807218C(Entity *pokemon)
|
|||
}
|
||||
|
||||
if(buffer[0])
|
||||
PrintFieldMessage(0, buffer, 1);
|
||||
DisplayDungeonMessage(0, buffer, 1);
|
||||
|
||||
sub_806A2BC(GetLeader(), 0);
|
||||
}
|
||||
|
|
@ -677,7 +674,7 @@ void LevelDownTarget(Entity *pokemon, Entity *target, u32 level)
|
|||
if(!flag)
|
||||
{
|
||||
SetMessageArgument(gAvailablePokemonNames, target, 0);
|
||||
sub_80522F4(pokemon, target, *gUnknown_80F9B94);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F9B94);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -718,7 +715,7 @@ bool8 sub_80723D0(Entity *pokemon, Entity *target, u8 param_3, u8 param_4)
|
|||
gFormatData_202DE30[0] = level;
|
||||
|
||||
SetMessageArgument_2(gAvailablePokemonNames, info, 0);
|
||||
sub_80528F4(target, *gUnknown_80F9E80);
|
||||
DisplayDungeonLoggableMessage(target, *gUnknown_80F9E80);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -726,7 +723,7 @@ bool8 sub_80723D0(Entity *pokemon, Entity *target, u8 param_3, u8 param_4)
|
|||
sub_8083D58();
|
||||
gFormatData_202DE30[0] = level;
|
||||
SetMessageArgument_2(gAvailablePokemonNames, info, 0);
|
||||
sub_805239C(target, *gUnknown_80F9E80);
|
||||
DisplayDungeonLoggableMessageTrue(target, *gUnknown_80F9E80);
|
||||
}
|
||||
}
|
||||
flag = TRUE;
|
||||
|
|
@ -873,12 +870,12 @@ bool8 sub_80725A4(Entity *pokemon, Entity *target)
|
|||
{
|
||||
gFormatData_202DE30[0] = info->level;
|
||||
sub_80421C0(target, 0xD3 << 1);
|
||||
sub_80522F4(pokemon, target, *gUnknown_80F9EC8); // $m0 dropped to Level $d0!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F9EC8); // $m0 dropped to Level $d0!
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80522F4(pokemon, target, *gUnknown_80F9EEC); // $m0's level didn't drop!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80F9EEC); // $m0's level didn't drop!
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_movement.h"
|
||||
#include "dungeon_random.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "moves.h"
|
||||
#include "pokemon_mid.h"
|
||||
#include "pokemon_mid.h"
|
||||
|
|
@ -31,7 +32,6 @@ struct unkStruct_806B7F8
|
|||
extern Entity* sub_806B7F8(struct unkStruct_806B7F8 *, bool8);
|
||||
extern void sub_806BFC0(EntityInfo *, u32);
|
||||
void sub_8069E0C(Entity *pokemon);
|
||||
void sub_80522F4(Entity *r0, Entity *r1, const char r2[]);
|
||||
void sub_8042A44(Entity *r0);
|
||||
void sub_8083D78(void);
|
||||
extern bool8 sub_803D930(u32);
|
||||
|
|
@ -121,7 +121,7 @@ void sub_8072B78(Entity *pokemon, Entity *target, s16 id)
|
|||
sub_806BFC0(entityInfo,0);
|
||||
sub_8069E0C(target);
|
||||
sub_806CCB4(target,7);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FE2EC);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FE2EC);
|
||||
sub_8042A44(target);
|
||||
sub_8083D78();
|
||||
if (id_s32 == MONSTER_NINJASK) {
|
||||
|
|
|
|||
|
|
@ -29,19 +29,17 @@
|
|||
#include "constants/move_id.h"
|
||||
#include "constants/weather.h"
|
||||
#include "number_util.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_8077274_1.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
|
||||
extern bool8 sub_8044B28(void);
|
||||
extern void sub_8075708(Entity *entity);
|
||||
extern void sub_80526D0(u8 r0);
|
||||
extern void DealDamageToEntity(Entity *, s32, u32, u32);
|
||||
extern void sub_8067110(Entity *);
|
||||
extern void sub_80671A0(Entity *);
|
||||
extern void sub_8073D14(Entity *);
|
||||
extern void sub_8045BF8(u8 *, Item *);
|
||||
extern void sub_805239C(Entity *, const u8 *);
|
||||
extern bool8 sub_80461C8(Position *, u32);
|
||||
extern void sub_805229C(void);
|
||||
extern void sub_807E8F0(Entity *);
|
||||
|
|
@ -52,7 +50,7 @@ extern void sub_80420B8(Entity *pokemon);
|
|||
extern void sub_8041C4C(Entity *pokemon, u32 r1);
|
||||
extern void sub_805E804(void);
|
||||
extern void sub_80838EC(u8 *a);
|
||||
extern bool8 sub_8055FA0(struct Entity *, u32, u32, u32, u32, struct Move *);
|
||||
extern bool8 TryUseChosenMove(struct Entity *, u32, u32, u32, u32, struct Move *);
|
||||
extern bool8 sub_8045888(Entity *);
|
||||
extern void nullsub_97(Entity *entity);
|
||||
extern void sub_805EE30(void);
|
||||
|
|
@ -161,7 +159,7 @@ void sub_8073D14(Entity *entity)
|
|||
if (ShouldMonsterRunAwayAndShowEffect(entity, TRUE)) {
|
||||
sub_8045BF8(gFormatItems, groundItem);
|
||||
SetMessageArgument(gAvailablePokemonNames, entity, 0);
|
||||
sub_805239C(entity, gMonTerrifiedCouldntPickUpItem);
|
||||
DisplayDungeonLoggableMessageTrue(entity, gMonTerrifiedCouldntPickUpItem);
|
||||
}
|
||||
else if (!_entityInfo->isNotTeamMember && GetItemCategory(groundItem->id) == CATEGORY_POKE) {
|
||||
// Why check the same thing again?
|
||||
|
|
@ -174,7 +172,7 @@ void sub_8073D14(Entity *entity)
|
|||
AddToTeamMoney(GetMoneyValue(groundItem));
|
||||
sub_8045BF8(gFormatItems, groundItem);
|
||||
sub_80461C8(&entity->pos, 1);
|
||||
sub_805239C(entity, gMonPickedUpItem);
|
||||
DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem);
|
||||
}
|
||||
else {
|
||||
s32 i, nItems, newInventoryId;
|
||||
|
|
@ -238,9 +236,9 @@ void sub_8073D14(Entity *entity)
|
|||
sub_80461C8(&entity->pos, 1);
|
||||
PlaySoundEffect(0x14A);
|
||||
if (inventoryIds[newInventoryId] <= -1)
|
||||
sub_805239C(entity, gMonPickedUpItem2);
|
||||
DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem2);
|
||||
else
|
||||
sub_805239C(entity, gMonPickedUpItemToolbox);
|
||||
DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItemToolbox);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -253,7 +251,7 @@ void sub_8073D14(Entity *entity)
|
|||
|
||||
if (i == nItems) {
|
||||
sub_8045BF8(gFormatItems, groundItem);
|
||||
sub_805239C(entity, gMonSteppedOnItem);
|
||||
DisplayDungeonLoggableMessageTrue(entity, gMonSteppedOnItem);
|
||||
}
|
||||
else {
|
||||
if (_entityInfo->isNotTeamMember) {
|
||||
|
|
@ -267,16 +265,16 @@ void sub_8073D14(Entity *entity)
|
|||
_entityInfo->heldItem = *groundItem;
|
||||
sub_8045BF8(gFormatItems, groundItem);
|
||||
sub_80461C8(&entity->pos, 1);
|
||||
sub_805239C(entity, gMonPickedUpItem2);
|
||||
DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItem2);
|
||||
}
|
||||
else if (AddItemToInventory(groundItem)) {
|
||||
SetMessageArgument(gAvailablePokemonNames, entity, 0);
|
||||
sub_805239C(entity, gMonCouldntPickUpItem);
|
||||
DisplayDungeonLoggableMessageTrue(entity, gMonCouldntPickUpItem);
|
||||
}
|
||||
else {
|
||||
sub_8045BF8(gFormatItems, groundItem);
|
||||
sub_80461C8(&entity->pos, 1);
|
||||
sub_805239C(entity, gMonPickedUpItemToolbox);
|
||||
DisplayDungeonLoggableMessageTrue(entity, gMonPickedUpItemToolbox);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -388,7 +386,7 @@ void sub_8074094(Entity *entity)
|
|||
if (str != NULL) {
|
||||
if (sound)
|
||||
PlaySoundEffect(0x153);
|
||||
SendMessage(entity, str);
|
||||
TryDisplayDungeonLoggableMessage(entity, str);
|
||||
sub_803E708(0x1E, 0x32);
|
||||
}
|
||||
}
|
||||
|
|
@ -577,10 +575,10 @@ void sub_8074094(Entity *entity)
|
|||
if (!EntityExists(entity) || sub_8044B28())
|
||||
return;
|
||||
SetMessageArgument(gUnknown_202DFE8, entity, 0);
|
||||
SendMessage(entity, gUnknown_80FEB30);
|
||||
TryDisplayDungeonLoggableMessage(entity, gUnknown_80FEB30);
|
||||
TrySendImmobilizeSleepEndMsg(entity, entity);
|
||||
if (entityInfo->protection.protectionStatus == STATUS_PROTECT) {
|
||||
SendMessage(entity, gPtrProtectSavedItMessage);
|
||||
TryDisplayDungeonLoggableMessage(entity, gPtrProtectSavedItMessage);
|
||||
}
|
||||
else {
|
||||
DealDamageToEntity(entity, 0x270F, 0xB, 0x20E);
|
||||
|
|
@ -600,7 +598,7 @@ void sub_8074094(Entity *entity)
|
|||
UseAttack(NULL);
|
||||
InitPokemonMove(&bideMove, MOVE_BIDE_2);
|
||||
bideMove.moveFlags |= MOVE_FLAG_LAST_USED;
|
||||
sub_8055FA0(entity, 0, 0, 0, 0, &bideMove);
|
||||
TryUseChosenMove(entity, 0, 0, 0, 0, &bideMove);
|
||||
if (!EntityExists(entity) || sub_8044B28())
|
||||
return;
|
||||
entityInfo->unkA0 = 0;
|
||||
|
|
@ -617,7 +615,7 @@ void sub_8074094(Entity *entity)
|
|||
entityInfo->charging.chargingStatus = 0;
|
||||
entityInfo->unk14A = 0;
|
||||
SetMessageArgument(gAvailablePokemonNames, entity, 0);
|
||||
SendMessage(entity, gUnknown_80FABD8);
|
||||
TryDisplayDungeonLoggableMessage(entity, gUnknown_80FABD8);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -773,7 +771,7 @@ void TickStatusHeal(Entity *entity)
|
|||
sub_80838EC(&entityInfo->terrifiedTurns);
|
||||
if (entityInfo->terrifiedTurns == 0) {
|
||||
SetMessageArgument(gAvailablePokemonNames, entity, 0);
|
||||
SendMessage(entity, gPtrStenchWavedOffMessage);
|
||||
TryDisplayDungeonLoggableMessage(entity, gPtrStenchWavedOffMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -797,7 +795,7 @@ void TickStatusHeal(Entity *entity)
|
|||
|
||||
if (oldSpdStage != newSpdStage) {
|
||||
SetMessageArgument(gAvailablePokemonNames, entity, 0);
|
||||
SendMessage(entity, gUnknown_80FA124[newSpdStage]);
|
||||
TryDisplayDungeonLoggableMessage(entity, gUnknown_80FA124[newSpdStage]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_805D8C8.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_8077274_1.h"
|
||||
|
|
@ -169,7 +169,6 @@ extern u8 *gUnknown_80FBF84[];
|
|||
|
||||
extern void sub_8049ED4();
|
||||
extern void sub_8040A84();
|
||||
extern void sub_80522F4(Entity *pokemon, Entity *r1, const char[]);
|
||||
extern void EntityUpdateStatusSprites(Entity *);
|
||||
extern void sub_8042A74(Entity *r0);
|
||||
extern void sub_807EC28(bool8);
|
||||
|
|
@ -224,11 +223,11 @@ void MuzzleTarget(Entity *pokemon, Entity *target)
|
|||
entityInfo->muzzled.muzzled = TRUE;
|
||||
entityInfo->muzzled.muzzledTurns = CalculateStatusTurns(target,gUnknown_80F4F1C, TRUE) + 1;
|
||||
nullsub_86(target);
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FBF68);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FBF68);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBF84);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBF84);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -251,13 +250,13 @@ void TransformStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo = target->info;
|
||||
|
||||
if (entityInfo->transformStatus.transformStatus == STATUS_TRANSFORMED)
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FBF04);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FBF04);
|
||||
else {
|
||||
SetMessageArgument(gAvailablePokemonNames, target, 0);
|
||||
iVar5 = sub_803D870(auStack544, 0);
|
||||
|
||||
if (iVar5 == 0)
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FBEE4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FBEE4);
|
||||
else {
|
||||
sprite = NULL;
|
||||
|
||||
|
|
@ -274,7 +273,7 @@ void TransformStatusTarget(Entity * pokemon, Entity * target)
|
|||
}
|
||||
|
||||
if (index == DUNGEON_MAX_POKEMON || sprite == NULL)
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FBEE4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FBEE4);
|
||||
else {
|
||||
entityInfo->apparentID = apparentID;
|
||||
target->sprite = sprite;
|
||||
|
|
@ -284,7 +283,7 @@ void TransformStatusTarget(Entity * pokemon, Entity * target)
|
|||
nullsub_87(target);
|
||||
sub_806CCB4(target, sub_806CEBC(target));
|
||||
CopyCyanMonsterNametoBuffer(gUnknown_202DFE8, entityInfo->apparentID);
|
||||
sub_80522F4(pokemon, target, *gUnknown_80FBEC0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, *gUnknown_80FBEC0);
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
}
|
||||
|
|
@ -309,10 +308,10 @@ void MobileStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->transformStatus.transformStatus = STATUS_MOBILE;
|
||||
entityInfo->transformStatus.transformStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F04, FALSE) + 1;
|
||||
nullsub_88(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBF28);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBF28);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBF50);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBF50);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -341,11 +340,11 @@ void ExposeStatusTarget(Entity * pokemon, Entity * target, s16 param_3)
|
|||
if(flag)
|
||||
{
|
||||
sub_8041DD8(target,param_3_s16);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC000);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC000);
|
||||
flag2 = TRUE;
|
||||
}
|
||||
if (entityInfo->exposed) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBFB8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBFB8);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -353,11 +352,11 @@ void ExposeStatusTarget(Entity * pokemon, Entity * target, s16 param_3)
|
|||
sub_8041DD8(target,param_3_s16_2);
|
||||
}
|
||||
if (!MonsterIsType(target, TYPE_GHOST)) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBFD8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBFD8);
|
||||
}
|
||||
else {
|
||||
entityInfo->exposed = TRUE;
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBF9C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBF9C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -374,11 +373,11 @@ void IdentityItemHolders(Entity *pokemon, Entity *target)
|
|||
nullsub_89(target);
|
||||
gDungeon->itemHoldersIdentified = TRUE;
|
||||
EntityUpdateStatusSprites(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC028);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC028);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC054);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC054);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -394,14 +393,14 @@ void BlindTarget(Entity *pokemon, Entity *target)
|
|||
entityInfo->eyesightStatus.eyesightStatus = STATUS_BLINKER;
|
||||
entityInfo->eyesightStatus.eyesightStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F08, TRUE) + 1;
|
||||
sub_8041E0C(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB7F4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB7F4);
|
||||
sub_803E46C(0x31);
|
||||
sub_8049ED4();
|
||||
sub_8040A84();
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB810);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB810);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -419,7 +418,7 @@ void CrossEyeVisionTarget(Entity *pokemon, Entity *target)
|
|||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
if (entityInfo->eyesightStatus.eyesightStatus != STATUS_CROSS_EYED) {
|
||||
sub_8041E1C(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB834);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB834);
|
||||
entityInfo->eyesightStatus.eyesightStatus = STATUS_CROSS_EYED;
|
||||
entityInfo->eyesightStatus.eyesightStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F0C, TRUE) + 1;
|
||||
sub_803F580(0x1);
|
||||
|
|
@ -428,7 +427,7 @@ void CrossEyeVisionTarget(Entity *pokemon, Entity *target)
|
|||
}
|
||||
else
|
||||
{
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB85C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB85C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -447,14 +446,14 @@ void RestoreVisionTarget(Entity *pokemon, Entity *target)
|
|||
entityInfo->eyesightStatus.eyesightStatus = STATUS_EYEDROPS;
|
||||
entityInfo->eyesightStatus.eyesightStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F10, FALSE) + 1;
|
||||
sub_8041E3C(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB880);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB880);
|
||||
sub_803E46C(0x31);
|
||||
sub_8049ED4();
|
||||
sub_8040A84();
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB89C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB89C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -493,10 +492,10 @@ void RestorePPTarget(Entity * pokemon,Entity * target, s32 param_3)
|
|||
}
|
||||
if (PPChanged) {
|
||||
sub_8041E4C(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FDBD0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDBD0);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FDBF0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FDBF0);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -523,10 +522,10 @@ void RaiseAtkStatTarget(Entity * pokemon, Entity *target, s32 increment)
|
|||
entityInfo->atk = newStat;
|
||||
if (oldStat1 < (u8)newStat) {
|
||||
sub_8041E60(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC33C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC33C);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC360);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC360);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -553,10 +552,10 @@ void RaiseSpAtkStatTarget(Entity * pokemon, Entity *target, s32 increment)
|
|||
entityInfo->spAtk = newStat;
|
||||
if (oldStat1 < (u8)newStat) {
|
||||
sub_8041E74(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC388);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC388);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC3B4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC3B4);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -583,10 +582,10 @@ void RaiseDefStatTarget(Entity * pokemon, Entity *target, s32 increment)
|
|||
entityInfo->def = newStat;
|
||||
if (oldStat1 < (u8)newStat) {
|
||||
sub_8041E84(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC3D8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC3D8);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC3FC);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC3FC);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -613,10 +612,10 @@ void RaiseSpDefStatTarget(Entity * pokemon, Entity *target, s32 increment)
|
|||
entityInfo->spDef = newStat;
|
||||
if (oldStat1 < (u8)newStat) {
|
||||
sub_8041E94(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC428);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC428);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC454);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC454);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -631,10 +630,10 @@ void LongTossStatusTarget(Entity * pokemon, Entity * target)
|
|||
if (entityInfo->itemStatus.itemStatus != STATUS_LONG_TOSS) {
|
||||
entityInfo->itemStatus.itemStatus = STATUS_LONG_TOSS;
|
||||
sub_8041EA4(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FD20C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD20C);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FD22C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD22C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -648,10 +647,10 @@ void PierceStatusTarget(Entity * pokemon, Entity * target)
|
|||
if (entityInfo->itemStatus.itemStatus != STATUS_PIERCE) {
|
||||
entityInfo->itemStatus.itemStatus = STATUS_PIERCE;
|
||||
sub_8041EB4(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FD254);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD254);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FD27C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FD27C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -670,7 +669,7 @@ void SetChargeStatusTarget(Entity *pokemon, Entity *target, u8 newStatus, Move *
|
|||
entityInfo = target->info;
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
if ((entityInfo->charging.chargingStatus == newStatus) && (newStatus == STATUS_ENRAGED)) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC074);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC074);
|
||||
}
|
||||
else {
|
||||
entityInfo->charging.chargingStatus = newStatus;
|
||||
|
|
@ -702,7 +701,7 @@ void SetChargeStatusTarget(Entity *pokemon, Entity *target, u8 newStatus, Move *
|
|||
entityInfo->charging.chargingStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EA0, FALSE) + 1;
|
||||
}
|
||||
sub_8041BD0(target,uVar5);
|
||||
sub_80522F4(pokemon,target,message);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,message);
|
||||
EntityUpdateStatusSprites(target);
|
||||
|
||||
// TODO: this could probably be cleaner..
|
||||
|
|
@ -745,7 +744,7 @@ void CounterStatusTarget(Entity * pokemon, Entity * target, u8 newStatus)
|
|||
entityInfo = target->info;
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
if (entityInfo->protection.protectionStatus == newStatus) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB10C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB10C);
|
||||
}
|
||||
else {
|
||||
nullsub_57(target);
|
||||
|
|
@ -753,7 +752,7 @@ void CounterStatusTarget(Entity * pokemon, Entity * target, u8 newStatus)
|
|||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E98, FALSE) + 1;
|
||||
}
|
||||
entityInfo->protection.protectionStatus = newStatus;
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB0E0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB0E0);
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
}
|
||||
|
|
@ -770,10 +769,10 @@ void SafeguardStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_SAFEGUARD;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E88, FALSE) + 1;
|
||||
nullsub_58(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB048);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB048);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB074);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB074);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -790,10 +789,10 @@ void MistStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_MIST;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E8C, FALSE) + 1;
|
||||
nullsub_59(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB09C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB09C);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB0C4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB0C4);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -810,10 +809,10 @@ void WishStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_WISH;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EB4, FALSE) + 1;
|
||||
sub_8041B34(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FAE1C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAE1C);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FAE3C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAE3C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -830,10 +829,10 @@ void MagicCoatStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_MAGIC_COAT;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E90, FALSE) + 1;
|
||||
nullsub_60(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FAF5C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAF5C);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FAF8C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAF8C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -850,10 +849,10 @@ void LightScreenStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_LIGHT_SCREEN;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E84, FALSE) + 1;
|
||||
nullsub_61(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB130);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB130);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB160);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB160);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -870,10 +869,10 @@ void ReflectStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_REFLECT;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E80, FALSE) + 1;
|
||||
nullsub_62(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB17C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB17C);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB1A8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB1A8);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -890,11 +889,11 @@ void ProtectStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_PROTECT;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4ED4, FALSE) + 1;
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB9B0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB9B0);
|
||||
}
|
||||
else {
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FB9D8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FB9D8);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -911,10 +910,10 @@ void MirrorCoatStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_MIRROR_COAT;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EE8, FALSE) + 1;
|
||||
nullsub_64(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBAC0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBAC0);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBAE4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBAE4);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -931,10 +930,10 @@ void EndureStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_ENDURING;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4EF8, FALSE) + 1;
|
||||
nullsub_65(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBBF0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBBF0);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBC14);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBC14);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -951,10 +950,10 @@ void MirrorMoveStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_MIRROR_MOVE;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F18, FALSE) + 1;
|
||||
nullsub_66(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBC38);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBC38);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBC5C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBC5C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -968,7 +967,7 @@ void Conversion2StatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo = target->info;
|
||||
|
||||
if(HasAbility(target, ABILITY_FORECAST))
|
||||
sub_80522F4(pokemon,target,*gPtrForecastPreventsConversion2Message);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gPtrForecastPreventsConversion2Message);
|
||||
else
|
||||
{
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
|
|
@ -976,10 +975,10 @@ void Conversion2StatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_CONVERSION2;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F20, FALSE) + 1;
|
||||
nullsub_67(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBC7C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBC7C);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBCA4);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBCA4);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -997,10 +996,10 @@ void VitalThrowStatusTarget(Entity * pokemon, Entity * target)
|
|||
entityInfo->protection.protectionStatus = STATUS_VITAL_THROW;
|
||||
entityInfo->protection.protectionStatusTurns = CalculateStatusTurns(target, gUnknown_80F4F24, FALSE) + 1;
|
||||
nullsub_68(target);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBCC8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBCC8);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBCF0);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBCF0);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -1047,10 +1046,10 @@ void sub_8079E34(Entity * pokemon, Entity * target, bool8 param_3)
|
|||
}
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
if (statChanged) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBD18);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBD18);
|
||||
}
|
||||
else {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FBD3C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FBD3C);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -1085,11 +1084,11 @@ void sub_8079F20(Entity * pokemon, Entity * target, u8 param_3, u8 param_4)
|
|||
SendMuzzledEndMessage(pokemon,target);
|
||||
if (entityInfo->perishSongTurns != 0) {
|
||||
entityInfo->perishSongTurns = 0;
|
||||
sub_80522F4(pokemon,target,*gUnknown_8100594);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_8100594);
|
||||
}
|
||||
if (entityInfo->exposed) {
|
||||
entityInfo->exposed = FALSE;
|
||||
sub_80522F4(pokemon,target,*gPtrExposedWoreOffMessage);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gPtrExposedWoreOffMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1101,7 +1100,7 @@ void sub_8079F20(Entity * pokemon, Entity * target, u8 param_3, u8 param_4)
|
|||
|
||||
if (moveSpeed != CalcSpeedStage(target)) {
|
||||
bVar8 = TRUE;
|
||||
sub_80522F4(pokemon,target,gUnknown_80FA124[entityInfo->speedStage]);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,gUnknown_80FA124[entityInfo->speedStage]);
|
||||
}
|
||||
|
||||
for(index = 0; index < MAX_MON_MOVES; index++)
|
||||
|
|
@ -1119,11 +1118,11 @@ void sub_8079F20(Entity * pokemon, Entity * target, u8 param_3, u8 param_4)
|
|||
sub_80420C8(target);
|
||||
}
|
||||
if (moveUnsealed) {
|
||||
sub_80522F4(pokemon,target,*gPtrSealedMoveReleasedMessage);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gPtrSealedMoveReleasedMessage);
|
||||
}
|
||||
}
|
||||
else if (param_4 == 0) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_81004E8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_81004E8);
|
||||
}
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
|
|
@ -1169,21 +1168,21 @@ void SendSleepEndMessage(Entity * pokemon, Entity * target, bool8 param_3, bool8
|
|||
break;
|
||||
case STATUS_SLEEP:
|
||||
isAsleep = TRUE;
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA6E8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA6E8);
|
||||
break;
|
||||
case STATUS_SLEEPLESS:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA708);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA708);
|
||||
break;
|
||||
case STATUS_NIGHTMARE:
|
||||
isAsleep = TRUE;
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA70C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA70C);
|
||||
if (param_4) {
|
||||
DealDamageToEntity(target,gUnknown_80F4F78,8,0x20f);
|
||||
}
|
||||
break;
|
||||
case STATUS_NAPPING:
|
||||
isAsleep = TRUE;
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA710);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA710);
|
||||
HealTargetHP(pokemon,target,gUnknown_80F4F7A, 0, FALSE);
|
||||
entityInfo->sleep.sleep = 0;
|
||||
sub_8079F20(pokemon,target,1,1);
|
||||
|
|
@ -1194,7 +1193,7 @@ void SendSleepEndMessage(Entity * pokemon, Entity * target, bool8 param_3, bool8
|
|||
sub_8075C58(pokemon,target,CalculateStatusTurns(target, gUnknown_80F4F2C, TRUE) + 1, TRUE);
|
||||
return;
|
||||
}
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA734);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA734);
|
||||
break;
|
||||
}
|
||||
entityInfo->sleep.sleep = STATUS_NONE;
|
||||
|
|
@ -1219,13 +1218,13 @@ void SendNonVolatileEndMessage(Entity * pokemon, Entity * target)
|
|||
break;
|
||||
case STATUS_POISONED:
|
||||
case STATUS_BADLY_POISONED:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA8A8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA8A8);
|
||||
break;
|
||||
case STATUS_PARALYSIS:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA868);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA868);
|
||||
break;
|
||||
case STATUS_BURN:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA888);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA888);
|
||||
break;
|
||||
|
||||
}
|
||||
|
|
@ -1249,23 +1248,23 @@ void SendImmobilizeEndMessage(Entity * pokemon, Entity *target)
|
|||
case 8:
|
||||
break;
|
||||
case STATUS_FROZEN:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA8BC);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA8BC);
|
||||
isFrozen = TRUE;
|
||||
break;
|
||||
case STATUS_CONSTRICTION:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA820);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA820);
|
||||
break;
|
||||
case STATUS_SHADOW_HOLD:
|
||||
case STATUS_INGRAIN:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA824);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA824);
|
||||
break;
|
||||
case STATUS_WRAP:
|
||||
case STATUS_WRAPPED:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA81C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA81C);
|
||||
sub_8076CB4(entityInfo->unk9C);
|
||||
break;
|
||||
case STATUS_PETRIFIED:
|
||||
sub_80522F4(pokemon,target, *gPtrMonNoLongerPetrifiedMessage);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target, *gPtrMonNoLongerPetrifiedMessage);
|
||||
break;
|
||||
}
|
||||
entityInfo->immobilize.immobilizeStatus = STATUS_NONE;
|
||||
|
|
@ -1289,25 +1288,25 @@ void SendVolatileEndMessage(Entity * pokemon, Entity *target)
|
|||
case 8:
|
||||
break;
|
||||
case STATUS_CONFUSED:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA800);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA800);
|
||||
break;
|
||||
case STATUS_COWERING:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA97C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA97C);
|
||||
break;
|
||||
case STATUS_TAUNTED:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA9DC);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA9DC);
|
||||
break;
|
||||
case STATUS_PAUSED:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FAC38);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAC38);
|
||||
break;
|
||||
case STATUS_INFATUATED:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FAB90);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAB90);
|
||||
break;
|
||||
case STATUS_ENCORE:
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FAAAC);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FAAAC);
|
||||
break;
|
||||
case STATUS_CRINGE:
|
||||
sub_80522F4(pokemon,target, *gPtrMonNoLongerCringingMessage);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target, *gPtrMonNoLongerCringingMessage);
|
||||
break;
|
||||
}
|
||||
entityInfo->volatileStatus.volatileStatus = STATUS_NONE;
|
||||
|
|
@ -1329,44 +1328,44 @@ void SendProtectionEndMessage(Entity * pokemon, Entity *target)
|
|||
case 0xF:
|
||||
break;
|
||||
case STATUS_REFLECT:
|
||||
SendMessage(target,*gUnknown_80FA638);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA638);
|
||||
break;
|
||||
case STATUS_SAFEGUARD:
|
||||
SendMessage(target,*gUnknown_80FA69C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA69C);
|
||||
break;
|
||||
case STATUS_LIGHT_SCREEN:
|
||||
SendMessage(target,*gUnknown_80FA658);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA658);
|
||||
break;
|
||||
case STATUS_COUNTER:
|
||||
case STATUS_MINI_COUNTER:
|
||||
SendMessage(target,*gUnknown_80FA67C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA67C);
|
||||
break;
|
||||
case STATUS_MAGIC_COAT:
|
||||
SendMessage(target,*gUnknown_80FA6BC);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA6BC);
|
||||
break;
|
||||
case STATUS_WISH:
|
||||
SendMessage(target,*gUnknown_80FA6D4);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA6D4);
|
||||
break;
|
||||
case STATUS_PROTECT:
|
||||
SendMessage(target,*gUnknown_80FA9C0);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA9C0);
|
||||
break;
|
||||
case STATUS_MIRROR_COAT:
|
||||
SendMessage(target,*gUnknown_80FAA68);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FAA68);
|
||||
break;
|
||||
case STATUS_ENDURING:
|
||||
SendMessage(target, *gPtrMonStoppedEnduringMessage);
|
||||
TryDisplayDungeonLoggableMessage(target, *gPtrMonStoppedEnduringMessage);
|
||||
break;
|
||||
case STATUS_MIRROR_MOVE:
|
||||
SendMessage(target,*gPtrMonMirrorMoveFadedMessage);
|
||||
TryDisplayDungeonLoggableMessage(target,*gPtrMonMirrorMoveFadedMessage);
|
||||
break;
|
||||
case STATUS_CONVERSION2:
|
||||
SendMessage(target, *gPtrMonConversion2FailedMessage);
|
||||
TryDisplayDungeonLoggableMessage(target, *gPtrMonConversion2FailedMessage);
|
||||
break;
|
||||
case STATUS_VITAL_THROW:
|
||||
SendMessage(target, *gPtrMonGaveUpVitalThrowMessage);
|
||||
TryDisplayDungeonLoggableMessage(target, *gPtrMonGaveUpVitalThrowMessage);
|
||||
break;
|
||||
case STATUS_MIST:
|
||||
SendMessage(target,*gUnknown_80FAB40);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FAB40);
|
||||
break;
|
||||
}
|
||||
entityInfo->protection.protectionStatus = STATUS_NONE;
|
||||
|
|
@ -1387,12 +1386,12 @@ void SendWaitingEndMessage(Entity * pokemon, Entity * target, u8 waitingStatus)
|
|||
break;
|
||||
case STATUS_CURSED:
|
||||
if (waitingStatus != STATUS_CURSED) {
|
||||
SendMessage(target,*gUnknown_80FA7BC);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA7BC);
|
||||
}
|
||||
break;
|
||||
case STATUS_SNATCH:
|
||||
if (waitingStatus != STATUS_SNATCH) {
|
||||
SendMessage(target,*gUnknown_80FA7DC);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA7DC);
|
||||
}
|
||||
gDungeon->snatchPokemon = NULL;
|
||||
gDungeon->unk17B3C = 0;
|
||||
|
|
@ -1404,7 +1403,7 @@ void SendWaitingEndMessage(Entity * pokemon, Entity * target, u8 waitingStatus)
|
|||
gDungeon->decoyActive = FALSE;
|
||||
if (waitingStatus != STATUS_DECOY) {
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
SendMessage(target,*gUnknown_80FA9A0);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA9A0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -1425,10 +1424,10 @@ void SendLinkedEndMessage(Entity * pokemon, Entity * target)
|
|||
case STATUS_NONE:
|
||||
break;
|
||||
case STATUS_LEECH_SEED:
|
||||
SendMessage(target,*gUnknown_80FA79C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA79C);
|
||||
break;
|
||||
case STATUS_DESTINY_BOND:
|
||||
SendMessage(target,*gUnknown_80FAA8C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FAA8C);
|
||||
break;
|
||||
}
|
||||
entityInfo->linked.linkedStatus = STATUS_NONE;
|
||||
|
|
@ -1451,16 +1450,16 @@ void SendMoveEndMessage(Entity * pokemon, Entity * target)
|
|||
case 5:
|
||||
break;
|
||||
case STATUS_SURE_SHOT:
|
||||
SendMessage(target,*gUnknown_80FA8E0);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA8E0);
|
||||
break;
|
||||
case STATUS_WHIFFER:
|
||||
SendMessage(target,*gUnknown_80FA90C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA90C);
|
||||
break;
|
||||
case STATUS_SET_DAMAGE:
|
||||
SendMessage(target,*gUnknown_80FA934);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA934);
|
||||
break;
|
||||
case STATUS_FOCUS_ENERGY:
|
||||
SendMessage(target,*gUnknown_80FA95C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA95C);
|
||||
break;
|
||||
}
|
||||
entityInfo->moveStatus.moveStatus = STATUS_NONE;
|
||||
|
|
@ -1485,17 +1484,17 @@ void SendTransformEndMessage(Entity * pokemon, Entity *target)
|
|||
break;
|
||||
case STATUS_INVISIBLE:
|
||||
isInvisible = TRUE;
|
||||
SendMessage(target,*gUnknown_80FA9F4);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FA9F4);
|
||||
break;
|
||||
case STATUS_MOBILE:
|
||||
SendMessage(target,*gUnknown_80FABBC);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FABBC);
|
||||
break;
|
||||
case STATUS_TRANSFORMED:
|
||||
entityInfo->apparentID = sub_8069F54(target, entityInfo->id);
|
||||
target->sprite = GetSpriteData(entityInfo->apparentID);
|
||||
uVar3 = sub_806CEBC(target);
|
||||
sub_806CCB4(target,uVar3);
|
||||
SendMessage(target,*gUnknown_80FAB6C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FAB6C);
|
||||
break;
|
||||
}
|
||||
entityInfo->transformStatus.transformStatus = STATUS_NONE;
|
||||
|
|
@ -1519,13 +1518,13 @@ void SendEyesightEndMessage(Entity * pokemon,Entity * target)
|
|||
case 4:
|
||||
break;
|
||||
case STATUS_BLINKER:
|
||||
SendMessage(target,*gUnknown_80FAA0C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FAA0C);
|
||||
break;
|
||||
case STATUS_CROSS_EYED:
|
||||
SendMessage(target,*gUnknown_80FAA2C);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FAA2C);
|
||||
break;
|
||||
case STATUS_EYEDROPS:
|
||||
SendMessage(target,*gUnknown_80FAA48);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FAA48);
|
||||
break;
|
||||
}
|
||||
entityInfo->eyesightStatus.eyesightStatus = STATUS_NONE;
|
||||
|
|
@ -1551,7 +1550,7 @@ void SendMuzzledEndMessage(Entity * pokemon, Entity * target)
|
|||
case 2:
|
||||
break;
|
||||
case TRUE:
|
||||
SendMessage(target,*gUnknown_80FABC0);
|
||||
TryDisplayDungeonLoggableMessage(target,*gUnknown_80FABC0);
|
||||
break;
|
||||
}
|
||||
entityInfo->muzzled.muzzled = FALSE;
|
||||
|
|
@ -1596,7 +1595,7 @@ void SendThawedMessage(Entity *pokemon, Entity *target)
|
|||
entityInfo->immobilize.immobilizeStatusTurns = 0;
|
||||
entityInfo->immobilize.immobilizeStatusDamageCountdown = 0;
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FA8BC); // $m0 thawed out!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FA8BC); // $m0 thawed out!
|
||||
EntityUpdateStatusSprites(target);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include "constants/ability.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_807CD9C.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
|
@ -39,7 +39,6 @@ bool8 ExposeTrap(s32 x, s32 y);
|
|||
void sub_8040A84();
|
||||
void sub_8049ED4();
|
||||
void sub_806A5B8(Entity *);
|
||||
void sub_80522F4(Entity *, Entity *, u8 *);
|
||||
void sub_80421C0(Entity *, u32);
|
||||
u8 sub_8045888(Entity *);
|
||||
void sub_807EC28(u32);
|
||||
|
|
@ -66,19 +65,19 @@ void sub_807CD9C(Entity *pokemon, Entity *target, u32 direction)
|
|||
|
||||
sp_0x24 = 10;
|
||||
if (IsCurrentFixedRoomBossFight()) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC9E8); // It couldn't be knocked flying!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC9E8); // It couldn't be knocked flying!
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pokemon == target) {
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FCA10); // {POKEMON_0} couldn't be knocked flying!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCA10); // {POKEMON_0} couldn't be knocked flying!
|
||||
return;
|
||||
}
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
if (HasAbility(target,ABILITY_SUCTION_CUPS)) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FCBCC); // {POKEMON_0} is anchored! It can't be knocked flying!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCBCC); // {POKEMON_0} is anchored! It can't be knocked flying!
|
||||
return;
|
||||
}
|
||||
else
|
||||
|
|
@ -86,7 +85,7 @@ void sub_807CD9C(Entity *pokemon, Entity *target, u32 direction)
|
|||
(target->info->action).direction = (direction + 4) & DIRECTION_MASK;
|
||||
sub_806CDD4(target, 6, (direction + 4) & DIRECTION_MASK);
|
||||
sub_80421C0(target,0x1a3);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80F8A0C); // {POKEMON_0} was blown away!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80F8A0C); // {POKEMON_0} was blown away!
|
||||
flag = TRUE;
|
||||
sp_0x28 = NULL;
|
||||
|
||||
|
|
@ -230,24 +229,24 @@ void sub_807D148(Entity *pokemon, Entity *target, u32 param_3, Position *pos)
|
|||
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
if (HasAbility(target,ABILITY_SUCTION_CUPS)) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FCAE8);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCAE8);
|
||||
return;
|
||||
}
|
||||
if (IsCurrentFixedRoomBossFight()) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC97C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC97C);
|
||||
return;
|
||||
}
|
||||
if (param_3 == 1)
|
||||
{
|
||||
pos2 = gDungeon->unkE21C;
|
||||
if(pos2.x == target->pos.x && pos2.y == target->pos.y) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC9A0); // It's already on the stairs!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC9A0); // It's already on the stairs!
|
||||
PetrifiedStatusTarget(pokemon,target);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FC584); // $m0 warped!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FC584); // $m0 warped!
|
||||
TrySendImmobilizeSleepEndMsg(target,target);
|
||||
sub_80421AC(pokemon,target);
|
||||
if (sub_8045888(target)) {
|
||||
|
|
@ -312,7 +311,7 @@ void sub_807D148(Entity *pokemon, Entity *target, u32 param_3, Position *pos)
|
|||
target->unk1C = 0;
|
||||
sub_803E46C(0x22);
|
||||
if (flag) {
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FCB14); // But it dropped back at the same spot!
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCB14); // But it dropped back at the same spot!
|
||||
}
|
||||
if (param_3 == 1) {
|
||||
PetrifiedStatusTarget(pokemon,target);
|
||||
|
|
@ -360,12 +359,12 @@ void sub_807D3CC(Entity *param_1)
|
|||
}
|
||||
}
|
||||
if (flag) {
|
||||
SendMessage(param_1,*gUnknown_80FD2F8); // All traps were exposed
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80FD2F8); // All traps were exposed
|
||||
sub_8040A84();
|
||||
sub_8049ED4();
|
||||
}
|
||||
else {
|
||||
SendMessage(param_1,*gUnknown_80FD320); // There appears to be no hidden traps.
|
||||
TryDisplayDungeonLoggableMessage(param_1,*gUnknown_80FD320); // There appears to be no hidden traps.
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#include "code_804267C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "constants/ability.h"
|
||||
#include "constants/type.h"
|
||||
#include "dungeon_ai.h"
|
||||
|
|
@ -20,7 +20,6 @@ void sub_806A2BC(Entity *pokemon, u8 param_2);
|
|||
extern u8 sub_8044B28(void);
|
||||
extern void sub_8068FE0(Entity *, u32, Entity *r2);
|
||||
extern void nullsub_93(Position *);
|
||||
extern void sub_80522F4(Entity *, Entity *, u8 *);
|
||||
extern void sub_806F370(Entity *pokemon, Entity *target, u32, u32, u8 *, u8 moveType, s32, u32, u32, u32);
|
||||
extern void sub_80694C0(Entity *, s32, s32, u32);
|
||||
extern void sub_807EC28(bool8);
|
||||
|
|
@ -77,12 +76,12 @@ void sub_807E254(Entity *pokemon,Entity *target)
|
|||
|
||||
if (HasAbility(pokemon, ABILITY_SUCTION_CUPS)) {
|
||||
SetMessageArgument(gAvailablePokemonNames,pokemon,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FCAC0); // $m0 is anchored! It won't switch places
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCAC0); // $m0 is anchored! It won't switch places
|
||||
}
|
||||
else if(HasAbility(target, ABILITY_SUCTION_CUPS))
|
||||
{
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,*gUnknown_80FCAC0); // $m0 is anchored! It won't switch places
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,*gUnknown_80FCAC0); // $m0 is anchored! It won't switch places
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -137,7 +136,7 @@ void sub_807E378(void)
|
|||
sub_806A2BC(leader,1);
|
||||
UseAttack(leader);
|
||||
if (sub_8044B28() == 0) {
|
||||
SendMessage(leader,*gUnknown_80F9C4C);
|
||||
TryDisplayDungeonLoggableMessage(leader,*gUnknown_80F9C4C);
|
||||
sub_80426C8(gUnknown_80F5FAC[gDungeon->tileset],0);
|
||||
gDungeon->unk67A = 1;
|
||||
}
|
||||
|
|
@ -149,7 +148,7 @@ void sub_807E378(void)
|
|||
sub_806A2BC(leader,1);
|
||||
UseAttack(leader);
|
||||
if (sub_8044B28() == 0) {
|
||||
SendMessage(leader,*gUnknown_80F9C70);
|
||||
TryDisplayDungeonLoggableMessage(leader,*gUnknown_80F9C70);
|
||||
sub_80426C8(gUnknown_80F5FAC[gDungeon->tileset],1);
|
||||
gDungeon->unk67A = 2;
|
||||
}
|
||||
|
|
@ -161,7 +160,7 @@ void sub_807E378(void)
|
|||
sub_806A2BC(leader,1);
|
||||
UseAttack(leader);
|
||||
if (sub_8044B28() == 0) {
|
||||
SendMessage(leader,*gUnknown_80F9C8C);
|
||||
TryDisplayDungeonLoggableMessage(leader,*gUnknown_80F9C8C);
|
||||
sub_80426C8(gUnknown_80F5FAC[gDungeon->tileset],2);
|
||||
gDungeon->unk67A = 3;
|
||||
}
|
||||
|
|
@ -172,7 +171,7 @@ void sub_807E378(void)
|
|||
sub_806A2BC(leader,1);
|
||||
UseAttack(leader);
|
||||
if (sub_8044B28() == 0) {
|
||||
SendMessage(leader,*gUnknown_80F9CBC);
|
||||
TryDisplayDungeonLoggableMessage(leader,*gUnknown_80F9CBC);
|
||||
sub_80426C8(gUnknown_80F5FAC[gDungeon->tileset],3);
|
||||
gDungeon->unk67A = 4;
|
||||
sub_8068FE0(leader,0x21e,leader);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ s8 sub_8002984(s8, u8);
|
|||
extern void BgColorCallNullsub4(void);
|
||||
extern void SetDungeonBGColorRGB(u32, u32, u32, u32, u32);
|
||||
extern void PlaySoundEffect(u32);
|
||||
extern void DisplayDungeonDialogue(const u8 *);
|
||||
|
||||
|
||||
extern void sub_8085EB0(void);
|
||||
|
|
@ -292,7 +291,7 @@ void sub_8086690(void)
|
|||
sub_80855E4(sub_8086404);
|
||||
}
|
||||
|
||||
void sub_80866C4(const u8 *dialogue)
|
||||
void sub_80866C4(const struct DungeonDialogueStruct *dialogue)
|
||||
{
|
||||
SpriteLookAroundEffect(xxx_call_GetLeader());
|
||||
sub_803E708(10, 70);
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ extern u8 sub_8044B28(void);
|
|||
extern u8 gUnknown_202E038[];
|
||||
extern void sub_8085374();
|
||||
extern void sub_8068FE0(Entity *, u32, u32);
|
||||
extern void DisplayDungeonDialogue(const u8 *);
|
||||
extern void sub_8086448(void);
|
||||
extern void SkarmoryEntry(Entity *);
|
||||
extern void sub_8086A54(Entity *);
|
||||
|
|
@ -34,33 +33,33 @@ extern const u8 gUnknown_810739C[];
|
|||
extern const u8 gUnknown_81073D4[];
|
||||
extern const u8 gUnknown_810740C[];
|
||||
extern const s16 gUnknown_80F57CC;
|
||||
extern const u8 gUnknown_8101440[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_1[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_2[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_3[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_4[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_5[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_6[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_7[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_8[];
|
||||
extern const u8 gSkarmoryPreFightDialogue_9[];
|
||||
extern const u8 gSkarmoryReFightDialogue_1[];
|
||||
extern const u8 gSkarmoryReFightDialogue_2[];
|
||||
extern const u8 gSkarmoryReFightDialogue_3[];
|
||||
extern const u8 gTeamMeaniesPreFightDialogue_1[];
|
||||
extern const u8 gTeamMeaniesPreFightDialogue_2[];
|
||||
extern const u8 gTeamMeaniesPreFightDialogue_3[];
|
||||
extern const u8 gTeamMeaniesPreFightDialogue_4[];
|
||||
extern const u8 gTeamMeaniesPreFightDialogue_5[];
|
||||
extern const u8 gTeamMeaniesPreFightDialogue_6[];
|
||||
extern const u8 gTeamMeaniesPreFightDialogue_7[];
|
||||
extern const u8 gTeamMeaniesReFightDialogue_1[];
|
||||
extern const u8 gTeamMeaniesReFightDialogue_2[];
|
||||
extern const u8 gTeamMeaniesReFightDialogue_3[];
|
||||
extern const u8 gTeamMeaniesReFightDialogue_4[];
|
||||
extern const u8 gTeamMeaniesReFightDialogue_5[];
|
||||
extern const struct DungeonDialogueStruct gUnknown_8101440;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_1;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_2;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_3;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_4;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_5;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_6;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_7;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_8;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryPreFightDialogue_9;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryReFightDialogue_1;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryReFightDialogue_2;
|
||||
extern const struct DungeonDialogueStruct gSkarmoryReFightDialogue_3;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesPreFightDialogue_1;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesPreFightDialogue_2;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesPreFightDialogue_3;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesPreFightDialogue_4;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesPreFightDialogue_5;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesPreFightDialogue_6;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesPreFightDialogue_7;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesReFightDialogue_1;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesReFightDialogue_2;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesReFightDialogue_3;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesReFightDialogue_4;
|
||||
extern const struct DungeonDialogueStruct gTeamMeaniesReFightDialogue_5;
|
||||
|
||||
extern const u8 gUnknown_8100D3C[];
|
||||
extern const struct DungeonDialogueStruct gUnknown_8100D3C;
|
||||
|
||||
void sub_8086A3C(Entity *pokemon)
|
||||
{
|
||||
|
|
@ -184,33 +183,33 @@ void SkarmoryPreFightDialogue(void)
|
|||
SpriteShockEffect(PartnerEntity);
|
||||
sub_803E708(0x20,0x46);
|
||||
sub_803E708(10,0x46);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_1);
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_1);
|
||||
ShiftCameraToPosition(&pos1,0x40);
|
||||
sub_803E708(0x40,0x46);
|
||||
ShiftCameraToPosition(&pos2,0x30);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_2);
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_2);
|
||||
sub_803E708(10,0x46);
|
||||
DiglettEntity->info->unk15D = 1;
|
||||
ShiftCameraToPosition(&pos1,0x30);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_3); // Diglett: ...I...\nI'm scared.
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_3); // Diglett: ...I...\nI'm scared.
|
||||
sub_803E708(10,0x46);
|
||||
ShiftCameraToPosition(&pos2,0x20);
|
||||
sub_803E708(0x20,0x46);
|
||||
SkarmoryEntry(SkarmoryEntity);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_4); // Skarmory: You!\nWhat do you think you're doing here?!
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_4); // Skarmory: You!\nWhat do you think you're doing here?!
|
||||
sub_803E708(10,0x46);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_5);
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_5);
|
||||
sub_803E708(10,0x46);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_6);
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_6);
|
||||
sub_803E708(10,0x46);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_7);
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_7);
|
||||
sub_803E708(10,0x46);
|
||||
sub_806CDD4(SkarmoryEntity,0xd,0);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_8);
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_8);
|
||||
sub_803E708(10,0x46);
|
||||
sub_80869E4(PartnerEntity,4,1,2);
|
||||
sub_80869E4(LeaderEntity,4,2,6);
|
||||
DisplayDungeonDialogue(gSkarmoryPreFightDialogue_9);
|
||||
DisplayDungeonDialogue(&gSkarmoryPreFightDialogue_9);
|
||||
sub_80869E4(PartnerEntity,4,2,4);
|
||||
sub_80869E4(LeaderEntity,4,1,4);
|
||||
sub_803E708(10,0x46);
|
||||
|
|
@ -232,12 +231,12 @@ void SkarmoryReFightDialogue(void)
|
|||
sub_803E708(10,0x46);
|
||||
SkarmoryEntry(SkarmoryEntity);
|
||||
ShiftCameraToPosition(&pos,0x10);
|
||||
DisplayDungeonDialogue(gSkarmoryReFightDialogue_1);
|
||||
DisplayDungeonDialogue(&gSkarmoryReFightDialogue_1);
|
||||
sub_803E708(10,0x46);
|
||||
DisplayDungeonDialogue(gSkarmoryReFightDialogue_2);
|
||||
DisplayDungeonDialogue(&gSkarmoryReFightDialogue_2);
|
||||
sub_803E708(10,0x46);
|
||||
sub_806CDD4(SkarmoryEntity,0xd,0);
|
||||
DisplayDungeonDialogue(gSkarmoryReFightDialogue_3);
|
||||
DisplayDungeonDialogue(&gSkarmoryReFightDialogue_3);
|
||||
sub_803E708(10,0x46);
|
||||
ShiftCameraToPosition(&LeaderEntity->pixelPos,0x10);
|
||||
DungeonStartNewBGM(MUS_BOSS_BATTLE);
|
||||
|
|
@ -247,7 +246,7 @@ void sub_8086E40(void)
|
|||
{
|
||||
SpriteLookAroundEffect(xxx_call_GetLeader());
|
||||
sub_803E708(10,0x46);
|
||||
DisplayDungeonDialogue(gUnknown_8100D3C);
|
||||
DisplayDungeonDialogue(&gUnknown_8100D3C);
|
||||
sub_803E708(10,0x46);
|
||||
gDungeon->unk2 = 1;
|
||||
}
|
||||
|
|
@ -328,21 +327,21 @@ void TeamMeaniesPreFightDialogue(void)
|
|||
LeaderEntity = xxx_call_GetLeader();
|
||||
sub_8086448();
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_1);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_1);
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_2);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_2);
|
||||
sub_803E708(10, 0x46);
|
||||
sub_8087144();
|
||||
DungeonStartNewBGM(MUS_THERES_TROUBLE);
|
||||
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_3);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_3);
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_4);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_4);
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_5);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_5);
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_6);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_6);
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_7);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_7);
|
||||
sub_803E708(10, 0x46);
|
||||
ShiftCameraToPosition(&LeaderEntity->pixelPos, 0x10);
|
||||
}
|
||||
|
|
@ -355,15 +354,15 @@ void TeamMeaniesReFightDialogue(void)
|
|||
LeaderEntity = xxx_call_GetLeader();
|
||||
PartnerEntity = GetPartnerEntity();
|
||||
sub_8086448();
|
||||
DisplayDungeonDialogue(gTeamMeaniesReFightDialogue_1);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesReFightDialogue_1);
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_2);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_2);
|
||||
sub_803E708(10, 0x46);
|
||||
sub_8087144();
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesReFightDialogue_2);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesReFightDialogue_2);
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesReFightDialogue_3);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesReFightDialogue_3);
|
||||
sub_803E708(10, 0x46);
|
||||
sub_806CDD4(LeaderEntity, 6, 4);
|
||||
sub_806CDD4(PartnerEntity, 6, 4);
|
||||
|
|
@ -371,8 +370,8 @@ void TeamMeaniesReFightDialogue(void)
|
|||
sub_806CDD4(LeaderEntity, 7, 4);
|
||||
sub_806CDD4(PartnerEntity, 7, 4);
|
||||
sub_803E708(10, 0x46);
|
||||
DisplayDungeonDialogue(gTeamMeaniesReFightDialogue_4);
|
||||
DisplayDungeonDialogue(gTeamMeaniesReFightDialogue_5);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesReFightDialogue_4);
|
||||
DisplayDungeonDialogue(&gTeamMeaniesReFightDialogue_5);
|
||||
sub_803E708(10, 0x46);
|
||||
ShiftCameraToPosition(&LeaderEntity->pixelPos, 0x10);
|
||||
}
|
||||
|
|
@ -380,7 +379,7 @@ void TeamMeaniesReFightDialogue(void)
|
|||
void sub_8087130(void)
|
||||
{
|
||||
sub_8086448();
|
||||
sub_80866C4(gUnknown_8101440);
|
||||
sub_80866C4(&gUnknown_8101440);
|
||||
}
|
||||
|
||||
void sub_8087144(void)
|
||||
|
|
|
|||
|
|
@ -59,10 +59,10 @@ void sub_80993E4(void) {
|
|||
and is very long. I didn't want to split up the
|
||||
file or spend time decomping so here it is in
|
||||
asm();
|
||||
*/
|
||||
*/
|
||||
void sub_8099648(void);
|
||||
|
||||
NAKED void sub_80993F0(void)
|
||||
NAKED void sub_80993F0(void)
|
||||
{
|
||||
asm_unified(" .text\n"
|
||||
" push {r4-r7,lr}\n"
|
||||
|
|
@ -272,7 +272,7 @@ NAKED void sub_80993F0(void)
|
|||
"_080995AE:\n"
|
||||
" bl sub_809D25C\n"
|
||||
" bl sub_80A59DC\n"
|
||||
" bl xxx_draw_string_80144C4\n"
|
||||
" bl DrawDialogueBoxString\n"
|
||||
" movs r0, 0\n"
|
||||
" movs r1, 0\n"
|
||||
" bl sub_8005838\n"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_8077274_1.h"
|
||||
#include "code_808417C.h"
|
||||
#include "constants/ability.h"
|
||||
|
|
@ -57,7 +57,7 @@ void sub_8075900(Entity *pokemon, u8 r1)
|
|||
if((GetTileAtEntitySafe(pokemon)->terrainType & TERRAIN_TYPE_IN_MONSTER_HOUSE))
|
||||
{
|
||||
// It's a monster house!
|
||||
SendMessage(GetLeader(), gPtrItsaMonsterHouseMessage);
|
||||
TryDisplayDungeonLoggableMessage(GetLeader(), gPtrItsaMonsterHouseMessage);
|
||||
gDungeon->monsterHouseTriggeredEvent = TRUE;
|
||||
sub_807AB38(pokemon, r1);
|
||||
sub_8041888(0);
|
||||
|
|
@ -91,7 +91,7 @@ void RunMonsterAI(Entity *pokemon, u32 unused)
|
|||
{
|
||||
pokemonInfo->useHeldItem = FALSE;
|
||||
SetMessageArgument(gAvailablePokemonNames, pokemon, 0);
|
||||
SendMessage(pokemon, gPtrCouldntBeUsedMessage);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, gPtrCouldntBeUsedMessage);
|
||||
return;
|
||||
}
|
||||
AIDecideUseItem(pokemon);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "charge_move.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "constants/direction.h"
|
||||
#include "constants/dungeon_action.h"
|
||||
|
|
@ -60,7 +60,7 @@ extern void sub_8057588(Entity *, u32);
|
|||
extern void sub_806A1B0(Entity *);
|
||||
extern Item *sub_8044D90(Entity *, s32, u32);
|
||||
extern bool8 sub_8044D40(ActionContainer *, u32);
|
||||
extern bool8 sub_8055FA0(struct Entity *, u32, u32, u32, u32, struct Move *);
|
||||
extern bool8 TryUseChosenMove(struct Entity *, u32, u32, u32, u32, struct Move *);
|
||||
extern void sub_8045BF8(u8 *, struct Item *);
|
||||
extern void sub_8044DF0(struct Entity *, u32, u32);
|
||||
extern void sub_8071DA4(struct Entity *);
|
||||
|
|
@ -995,14 +995,14 @@ void HandleUseOrbAction(Entity *pokemon)
|
|||
|
||||
if (item->flags & ITEM_FLAG_STICKY) {
|
||||
sub_8045BF8(gFormatItems, item);
|
||||
SendMessage(pokemon, *gItemStickyDoesntWorkText);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gItemStickyDoesntWorkText);
|
||||
return;
|
||||
}
|
||||
|
||||
act = entityInfo->action;
|
||||
|
||||
if (IsBossFight()) {
|
||||
SendMessage(pokemon, *gPtrMysteriousPowerPreventedUseMessage);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gPtrMysteriousPowerPreventedUseMessage);
|
||||
r4 = TRUE;
|
||||
}
|
||||
else {
|
||||
|
|
@ -1022,20 +1022,20 @@ void HandleUseOrbAction(Entity *pokemon)
|
|||
|
||||
if (entityInfo->volatileStatus.volatileStatus == 1) {
|
||||
SetMessageArgument(gAvailablePokemonNames, pokemon, 0);
|
||||
SendMessage(pokemon, *gUnknown_80FC714);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gUnknown_80FC714);
|
||||
r4 = FALSE;
|
||||
r8 = FALSE;
|
||||
}
|
||||
else if (entityInfo->volatileStatus.volatileStatus == 7) {
|
||||
SetMessageArgument(gAvailablePokemonNames, pokemon, 0);
|
||||
SendMessage(pokemon, *gUnknown_80FC718);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gUnknown_80FC718);
|
||||
r4 = FALSE;
|
||||
r8 = FALSE;
|
||||
}
|
||||
else if (entityInfo->nonVolatile.nonVolatileStatus == 4)
|
||||
{
|
||||
SetMessageArgument(gAvailablePokemonNames, pokemon, 0);
|
||||
SendMessage(pokemon, *gUnknown_80FC6A8);
|
||||
TryDisplayDungeonLoggableMessage(pokemon, *gUnknown_80FC6A8);
|
||||
r4 = FALSE;
|
||||
r8 = FALSE;
|
||||
}
|
||||
|
|
@ -1046,11 +1046,11 @@ void HandleUseOrbAction(Entity *pokemon)
|
|||
move.moveFlags |= MOVE_FLAG_SET;
|
||||
move.moveFlags |= MOVE_FLAG_ENABLED_FOR_AI;
|
||||
move.PP = 10;
|
||||
sub_8055FA0(pokemon, 0, IVar5.id, 0, 0, &move);
|
||||
TryUseChosenMove(pokemon, 0, IVar5.id, 0, 0, &move);
|
||||
r4 = FALSE;
|
||||
}
|
||||
else {
|
||||
r4 = sub_8055FA0(pokemon, 0, IVar5.id, 0, 0, &move);
|
||||
r4 = TryUseChosenMove(pokemon, 0, IVar5.id, 0, 0, &move);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "code_803E46C.h"
|
||||
#include "code_804267C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "dungeon_message.h"
|
||||
#include "code_8077274_1.h"
|
||||
#include "code_807CD9C.h"
|
||||
#include "constants/dungeon_action.h"
|
||||
|
|
@ -71,7 +71,6 @@ void HandleSetItemAction(Entity *,bool8);
|
|||
void HandleUnsetItemAction(Entity *,bool8);
|
||||
extern u8 sub_8044B28(void);
|
||||
extern u8 UseAttack(Entity *);
|
||||
void sub_8052740(u32);
|
||||
void sub_806A1E8(Entity *pokemon);
|
||||
extern void sub_80694C0(Entity *, s32, s32, u32);
|
||||
bool8 sub_804AE08(Position *pos);
|
||||
|
|
@ -226,7 +225,7 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
break;
|
||||
case ACTION_STAIRS:
|
||||
if ((gDungeon->dungeonLocation.id == DUNGEON_METEOR_CAVE) && (!gDungeon->deoxysDefeat)) {
|
||||
SendMessage(entity,*gUnknown_80FA5B4); // It's impossible to go down the stairs now!
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80FA5B4); // It's impossible to go down the stairs now!
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -285,7 +284,7 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
break;
|
||||
}
|
||||
SetMessageArgument(gAvailablePokemonNames,entity,0);
|
||||
SendMessage(entity,*gUnknown_80FE6D4);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80FE6D4);
|
||||
break;
|
||||
case ACTION_TALK_FIELD:
|
||||
HandleTalkFieldAction(entity);
|
||||
|
|
@ -313,7 +312,7 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
break;
|
||||
case ACTION_SECOND_THOUGHTS:
|
||||
SetMessageArgument(gAvailablePokemonNames,entity,0);
|
||||
SendMessage(entity,*gUnknown_80FE478);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80FE478);
|
||||
break;
|
||||
default:
|
||||
info->action.action = ACTION_PASS_TURN;
|
||||
|
|
@ -341,7 +340,7 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
}
|
||||
}
|
||||
if (bVar4) {
|
||||
SendMessage(entity,*gUnknown_80FD2CC);
|
||||
TryDisplayDungeonLoggableMessage(entity,*gUnknown_80FD2CC);
|
||||
}
|
||||
}
|
||||
sub_807360C();
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ extern u8 *gUnknown_8105360[];
|
|||
extern u8 *gUnknown_81053A8[];
|
||||
extern u8 *gUnknown_8105434[];
|
||||
|
||||
extern s32 sub_8052B8C(u32, u8 *, u32);
|
||||
extern void PrintFieldMessage(u32, u8 *, u32);
|
||||
extern void sub_80416E0(Position32 *r0, u32, bool8);
|
||||
extern void sub_80421C0(Entity *, u32);
|
||||
extern void sub_80855E4(void *);
|
||||
|
|
@ -75,7 +73,7 @@ void sub_8046D20(void)
|
|||
cVar1 = gDungeon->unk8;
|
||||
gDungeon->unk8 = sub_8046D70();
|
||||
if (((gDungeon->unk8 == 1) && (cVar1 == 0)) &&
|
||||
(sub_8052B8C(0, *gUnknown_80FA408, 1) == 1)) {
|
||||
(DisplayDungeonYesNoMessage(0, *gUnknown_80FA408, 1) == 1)) {
|
||||
gDungeon->unk4 = 1;
|
||||
gDungeon->unk11 = 2;
|
||||
}
|
||||
|
|
@ -145,18 +143,18 @@ void MusicBoxCreation(void)
|
|||
entity = GetLeader();
|
||||
sub_80855E4(sub_80861A8);
|
||||
gDungeon->unk1356C = 1;
|
||||
PrintFieldMessage(0,*gUnknown_810531C,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_810531C,1);
|
||||
sub_803E708(0x3c,0x41);
|
||||
PrintFieldMessage(0,*gUnknown_8105360,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_8105360,1);
|
||||
sub_80869E4(entity,4,10,0);
|
||||
sub_80416E0(&entity->pixelPos,0x10c,FALSE);
|
||||
sub_80421C0(entity,0xd7);
|
||||
sub_803E708(0x3c,0x41);
|
||||
SetMessageArgument(gAvailablePokemonNames,entity,0);
|
||||
PrintFieldMessage(0,*gUnknown_81053A8,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_81053A8,1);
|
||||
sub_803E708(10,0x41);
|
||||
PlaySoundEffect(0xd4);
|
||||
PrintFieldMessage(0,*gUnknown_8105434,1);
|
||||
DisplayDungeonMessage(0,*gUnknown_8105434,1);
|
||||
sub_803E708(10,0x41);
|
||||
sub_804178C(1);
|
||||
gDungeon->unk1356C = 0;
|
||||
|
|
|
|||
1127
src/dungeon_message.c
Normal file
1127
src/dungeon_message.c
Normal file
File diff suppressed because it is too large
Load Diff
3314
src/dungeon_move.c
Normal file
3314
src/dungeon_move.c
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
|
||||
#include "dungeon_message.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "constants/ability.h"
|
||||
#include "constants/dungeon.h"
|
||||
|
|
@ -20,18 +20,17 @@
|
|||
const s16 gItemMasterMinWildLevel[] = {16};
|
||||
|
||||
extern u8 gAvailablePokemonNames[];
|
||||
extern u32 gUnknown_80FC31C;
|
||||
extern u32 gUnknown_80FCEFC;
|
||||
extern u32 gUnknown_80FC2FC;
|
||||
extern const u8 *gUnknown_80FC31C;
|
||||
extern const u8 * gUnknown_80FCEFC;
|
||||
extern const u8 * gUnknown_80FC2FC;
|
||||
extern bool8 sub_805744C(Entity *, Move *, u32);
|
||||
extern void sub_80522F4(Entity *r1, Entity *r2, u32);
|
||||
|
||||
bool8 HasSafeguardStatus(Entity * pokemon, Entity * target, bool8 displayMessage)
|
||||
{
|
||||
if (target->info->protection.protectionStatus == STATUS_SAFEGUARD) {
|
||||
if (displayMessage) {
|
||||
SetMessageArgument(gAvailablePokemonNames,target,0);
|
||||
sub_80522F4(pokemon,target,gUnknown_80FC2FC);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon,target,gUnknown_80FC2FC);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -43,7 +42,7 @@ bool8 sub_8071728(Entity * pokemon, Entity * target, bool8 displayMessage)
|
|||
if (target->info->protection.protectionStatus == STATUS_MIST) {
|
||||
if (displayMessage) {
|
||||
SetMessageArgument(gAvailablePokemonNames, target, 0);
|
||||
sub_80522F4(pokemon, target, gUnknown_80FC31C);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, gUnknown_80FC31C);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -51,7 +50,7 @@ bool8 sub_8071728(Entity * pokemon, Entity * target, bool8 displayMessage)
|
|||
if (HasAbility(target, ABILITY_CLEAR_BODY) || HasAbility(target, ABILITY_WHITE_SMOKE)) {
|
||||
if (displayMessage) {
|
||||
SetMessageArgument(gAvailablePokemonNames, target, 0);
|
||||
sub_80522F4(pokemon, target, gUnknown_80FCEFC);
|
||||
TryDisplayDungeonLoggableMessage3(pokemon, target, gUnknown_80FCEFC);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -139,70 +139,33 @@ bool8 sub_8098100(u8 param_1)
|
|||
}
|
||||
else
|
||||
{
|
||||
return (gUnknown_203B498->unk3C[param_1 >> 0x5] & (1 << (index & 0x1f))) ? TRUE : FALSE;
|
||||
return (gUnknown_203B498->unk3C[param_1 >> 0x5] & (1 << (index & 0x1f))) != 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_8098134(s16 pokeID)
|
||||
{
|
||||
s32 index;
|
||||
s32 pokeID_s32;
|
||||
s32 pokeID_s32_1;
|
||||
struct ExclusivePokemonData *ptr;
|
||||
|
||||
pokeID_s32 = pokeID;
|
||||
pokeID_s32_1 = pokeID_s32;
|
||||
ptr = gUnknown_203B498;
|
||||
if (pokeID < 0) {
|
||||
index = pokeID_s32 + 0x1f;
|
||||
}
|
||||
else
|
||||
{
|
||||
index = pokeID_s32;
|
||||
}
|
||||
return ((ptr->unk4[(index >> 5)] & (1 << (s16)(pokeID_s32_1 - ((index >> 5) * 0x20)))) != 0) ? TRUE : FALSE;
|
||||
return ((gUnknown_203B498->unk4[pokeID_s32 / 32] & (1 << (s16)(pokeID_s32_1 - ((pokeID_s32 / 32) * 0x20)))) != 0);
|
||||
}
|
||||
|
||||
void SetTutorialFlag(s32 param_1)
|
||||
void SetTutorialFlag(s32 index)
|
||||
{
|
||||
s32 index;
|
||||
struct ExclusivePokemonData *ptr;
|
||||
|
||||
ptr = gUnknown_203B498;
|
||||
if (param_1 < 0) {
|
||||
index = param_1 + 0x1f;
|
||||
}
|
||||
else
|
||||
{
|
||||
index = param_1;
|
||||
}
|
||||
ptr->unk54[(index >> 5)] |= 1 << (param_1 - ((index >> 5) * 0x20));
|
||||
gUnknown_203B498->unk54[index / 32] |= (1 << (index - ((index / 32) * 32)));
|
||||
}
|
||||
|
||||
bool32 GetTutorialFlag(s32 param_1)
|
||||
bool32 GetTutorialFlag(s32 index)
|
||||
{
|
||||
s32 index;
|
||||
bool32 flag;
|
||||
struct ExclusivePokemonData *ptr;
|
||||
|
||||
if (param_1 > 0x1e) {
|
||||
return FALSE;
|
||||
}
|
||||
else {
|
||||
ptr = gUnknown_203B498;
|
||||
if (param_1 < 0) {
|
||||
index = param_1 + 0x1f;
|
||||
if (index > 0x1e) {
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
index = param_1;
|
||||
else {
|
||||
return (((gUnknown_203B498->unk54[index / 32]) & (1 << (index - ((index / 32) * 32)))) != 0);
|
||||
}
|
||||
flag = ptr->unk54[(index >> 5)] & 1 << (param_1 - ((index >> 5) * 0x20));
|
||||
if (flag != 0) {
|
||||
flag = TRUE;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 IsExclusivePokemonUnlocked(s16 pokeID)
|
||||
|
|
|
|||
|
|
@ -67,18 +67,18 @@ bool8 CreateFelicityBank(s32 mode)
|
|||
strcpy(gUnknown_202E1C8 - 80, monName);
|
||||
|
||||
if (sFelicityBankWork->mode == FEL_MODE_ASLEEP)
|
||||
sFelicityBankWork->unkA4 = NULL;
|
||||
sFelicityBankWork->monPortraitPtr = NULL;
|
||||
else
|
||||
sFelicityBankWork->unkA4 = &sFelicityBankWork->faceFile;
|
||||
sFelicityBankWork->monPortraitPtr = &sFelicityBankWork->monPortrait;
|
||||
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_PERSIAN);
|
||||
sFelicityBankWork->faceFile = faceFile;
|
||||
sFelicityBankWork->faceData = faceFile->data;
|
||||
sFelicityBankWork->unkA0 = 0;
|
||||
sFelicityBankWork->unkA1 = 0;
|
||||
sFelicityBankWork->unkA2 = 0;
|
||||
sFelicityBankWork->unk9C = 2;
|
||||
sFelicityBankWork->unk9E = 8;
|
||||
sFelicityBankWork->monPortrait.faceFile = faceFile;
|
||||
sFelicityBankWork->monPortrait.faceData = faceFile->data;
|
||||
sFelicityBankWork->monPortrait.spriteId = 0;
|
||||
sFelicityBankWork->monPortrait.flip = FALSE;
|
||||
sFelicityBankWork->monPortrait.unkE = 0;
|
||||
sFelicityBankWork->monPortrait.pos.x = 2;
|
||||
sFelicityBankWork->monPortrait.pos.y = 8;
|
||||
UpdateFelicityBankState(FELICITY_BANK_INIT);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -118,7 +118,7 @@ u32 FelicityBankCallback(void)
|
|||
void DestroyFelicityBank(void)
|
||||
{
|
||||
if (sFelicityBankWork != NULL) {
|
||||
CloseFile(sFelicityBankWork->faceFile);
|
||||
CloseFile(sFelicityBankWork->monPortrait.faceFile);
|
||||
MemoryFree(sFelicityBankWork);
|
||||
sFelicityBankWork = NULL;
|
||||
}
|
||||
|
|
@ -170,49 +170,49 @@ static void UpdateFelicityBankDialogue(void)
|
|||
switch (sFelicityBankWork->currState) {
|
||||
case FELICITY_BANK_INIT:
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WELCOME], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WELCOME], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 1:
|
||||
CreateFelicityBankShopMenu();
|
||||
sFelicityBankWork->fallbackState = 2;
|
||||
if (gTeamInventoryRef->teamSavings == 0)
|
||||
sub_8014248(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_HOW_MAY_I_SERVE__NO_MONEY], 0, sFelicityBankWork->menuAction,
|
||||
sFelicityBankWork->unk14, sFelicityBankWork->unk54, 4, 0, sFelicityBankWork->unkA4, 0xC);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_HOW_MAY_I_SERVE__NO_MONEY], 0, sFelicityBankWork->menuAction,
|
||||
sFelicityBankWork->unk14, sFelicityBankWork->unk54, 4, 0, sFelicityBankWork->monPortraitPtr, 0xC);
|
||||
else {
|
||||
gFormatData_202DE30 = gTeamInventoryRef->teamSavings;
|
||||
sub_8014248(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_HOW_MAY_I_SERVE__HAS_MONEY], 0, sFelicityBankWork->menuAction,
|
||||
sFelicityBankWork->unk14, sFelicityBankWork->unk54, 4, 0, sFelicityBankWork->unkA4, 0xC);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_HOW_MAY_I_SERVE__HAS_MONEY], 0, sFelicityBankWork->menuAction,
|
||||
sFelicityBankWork->unk14, sFelicityBankWork->unk54, 4, 0, sFelicityBankWork->monPortraitPtr, 0xC);
|
||||
}
|
||||
break;
|
||||
case FELICITY_BANK_INFO:
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_HOW_IT_WORKS], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_HOW_IT_WORKS], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 4:
|
||||
sFelicityBankWork->fallbackState = FELICITY_BANK_EXIT;
|
||||
if (gTeamInventoryRef->teamSavings == 0)
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_BYE__NO_MONEY], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_BYE__NO_MONEY], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
else {
|
||||
gFormatData_202DE30 = gTeamInventoryRef->teamSavings;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_BYE__HAS_MONEY], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_BYE__HAS_MONEY], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_VERY_WELL], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_VERY_WELL], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case FELICITY_BANK_STORE:
|
||||
if (gTeamInventoryRef->teamMoney == 0) {
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__NO_MONEY], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__NO_MONEY], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
}
|
||||
else if (gTeamInventoryRef->teamSavings >= MAX_TEAM_SAVINGS) {
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__BANK_FULL], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__BANK_FULL], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
}
|
||||
else {
|
||||
sFelicityBankWork->fallbackState = FELICITY_BANK_STORE_HOW_MUCH;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__HOW_MUCH], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__HOW_MUCH], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
}
|
||||
break;
|
||||
case FELICITY_BANK_STORE_HOW_MUCH:
|
||||
|
|
@ -233,21 +233,21 @@ static void UpdateFelicityBankDialogue(void)
|
|||
case FELICITY_BANK_STORE_RECEIPT:
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
gFormatData_202DE30 = sFelicityBankWork->chosenAmount;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__RECEIPT], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_DEPOSIT__RECEIPT], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case FELICITY_BANK_TAKE:
|
||||
if (gTeamInventoryRef->teamMoney >= MAX_TEAM_MONEY) {
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__WALLET_FULL], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__WALLET_FULL], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
}
|
||||
else if (gTeamInventoryRef->teamSavings == 0) {
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__NO_MONEY], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__NO_MONEY], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
}
|
||||
else {
|
||||
sFelicityBankWork->fallbackState = FELICITY_BANK_TAKE_HOW_MUCH;
|
||||
gFormatData_202DE30 = gTeamInventoryRef->teamSavings;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__HOW_MUCH], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__HOW_MUCH], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
}
|
||||
break;
|
||||
case FELICITY_BANK_TAKE_HOW_MUCH:
|
||||
|
|
@ -271,7 +271,7 @@ static void UpdateFelicityBankDialogue(void)
|
|||
case FELICITY_BANK_TAKE_DEPOSIT:
|
||||
sFelicityBankWork->fallbackState = 1;
|
||||
gFormatData_202DE30 = sFelicityBankWork->chosenAmount;
|
||||
xxx_info_box_80141B4(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__RECEIPT], 0, sFelicityBankWork->unkA4, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonFelicity[sFelicityBankWork->mode][FEL_DLG_WITHDRAW__RECEIPT], 0, sFelicityBankWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -424,7 +424,7 @@ static void CreateFelicityMoneySavingsHeader(u32 param_1)
|
|||
}
|
||||
|
||||
void DrawTeamMoneyBox(u32 param_1)
|
||||
{
|
||||
{
|
||||
CallPrepareTextbox_8008C54(param_1);
|
||||
sub_80073B8(param_1);
|
||||
PrintStringOnWindow(6, 0, sMoney, param_1, 0);
|
||||
|
|
|
|||
|
|
@ -217,11 +217,11 @@ void sub_8027274(void)
|
|||
break;
|
||||
case FRIEND_AREA_ACTION_MENU_SAY_FAREWELL_PROMPT:
|
||||
sub_8027794();
|
||||
sub_8014248(sSayFarewellPrompt,0,3,sUnknown_203B2BC->menuItems,0,4,0,0,0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(sSayFarewellPrompt,0,3,sUnknown_203B2BC->menuItems,0,4,0,0,0x101);
|
||||
break;
|
||||
case FRIEND_AREA_ACTION_MENU_SAY_FAREWELL_CONFIRM:
|
||||
sub_8027794();
|
||||
sub_8014248(sSayFarewellConfirm,0,3,sUnknown_203B2BC->menuItems,0,4,0,0,0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(sSayFarewellConfirm,0,3,sUnknown_203B2BC->menuItems,0,4,0,0,0x101);
|
||||
break;
|
||||
case 0x10:
|
||||
GetLinkedSequence(sUnknown_203B2BC->moveIndex,sUnknown_203B2BC->moves,sUnknown_203B2BC->moveIDs);
|
||||
|
|
@ -229,11 +229,11 @@ void sub_8027274(void)
|
|||
break;
|
||||
case 6:
|
||||
sUnknown_203B2BC->fallbackState = FRIEND_AREA_ACTION_MENU_MAIN_2;
|
||||
xxx_info_box_80141B4(sReturnedToToolbox, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sReturnedToToolbox, 0, 0, 0x101);
|
||||
break;
|
||||
case 7:
|
||||
sUnknown_203B2BC->fallbackState = FRIEND_AREA_ACTION_MENU_MAIN_2;
|
||||
xxx_info_box_80141B4(sSentToStorage, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sSentToStorage, 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ void sub_8025518(void)
|
|||
{
|
||||
case 0:
|
||||
gUnknown_203B2B4->fallbackState = 1;
|
||||
xxx_info_box_80141B4(sVisitWhoPrompt,0,0,0x301);
|
||||
CreateDialogueBoxAndPortrait(sVisitWhoPrompt,0,0,0x301);
|
||||
break;
|
||||
case 1:
|
||||
uVar3 = 4;
|
||||
|
|
@ -230,20 +230,20 @@ void sub_8025518(void)
|
|||
break;
|
||||
case FRIEND_LIST_MENU_STATE_ITEM_GIVEN:
|
||||
gUnknown_203B2B4->fallbackState = 2;
|
||||
xxx_info_box_80141B4(sItemHandedOver,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(sItemHandedOver,0,0,0x101);
|
||||
break;
|
||||
case FRIEND_LIST_MENU_STATE_ITEM_EXCHANGE:
|
||||
gUnknown_203B2B4->fallbackState = 2;
|
||||
xxx_info_box_80141B4(sItemExchanged,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(sItemExchanged,0,0,0x101);
|
||||
break;
|
||||
case FRIEND_LIST_MENU_STATE_TAKE:
|
||||
gUnknown_203B2B4->fallbackState = 2;
|
||||
xxx_info_box_80141B4(sReturnedToToolbox,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(sReturnedToToolbox,0,0,0x101);
|
||||
break;
|
||||
case FRIEND_LIST_MENU_STATE_STANDBY:
|
||||
gUnknown_203B2B4->fallbackState = 1;
|
||||
PlaySound(0xcf);
|
||||
xxx_info_box_80141B4(sLeftOnStandby,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(sLeftOnStandby,0,0,0x101);
|
||||
break;
|
||||
case FRIEND_LIST_MENU_STATE_MOVES:
|
||||
unk_CopyMoves4To8(gUnknown_203B2B4->moves,gUnknown_203B2B4->pokeStruct->moves);
|
||||
|
|
|
|||
|
|
@ -719,107 +719,107 @@ void sub_8032828(void)
|
|||
case 0x0:
|
||||
if (CountMailType(WONDER_MAIL_TYPE_SOS) == 0 && CountMailType(WONDER_MAIL_TYPE_THANK_YOU) == 0) {
|
||||
if (gUnknown_203B33C->unk52C != 0)
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2108, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2108, NULL, 4, 0, NULL, 0x101);
|
||||
else
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20B8, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20B8, NULL, 4, 0, NULL, 0x101);
|
||||
}
|
||||
else {
|
||||
if (gUnknown_203B33C->unk52C != 0)
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20E0, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20E0, NULL, 4, 0, NULL, 0x101);
|
||||
else
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2068, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2068, NULL, 4, 0, NULL, 0x101);
|
||||
}
|
||||
break;
|
||||
case 0x1:
|
||||
if (CountMailType(WONDER_MAIL_TYPE_SOS) == 0 && CountMailType(WONDER_MAIL_TYPE_THANK_YOU) == 0) {
|
||||
if (gUnknown_203B33C->unk52C != 0)
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2108, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2108, NULL, 4, 0, NULL, 0x101);
|
||||
else
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20B8, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20B8, NULL, 4, 0, NULL, 0x101);
|
||||
}
|
||||
else {
|
||||
if (gUnknown_203B33C->unk52C != 0)
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20E0, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E20E0, NULL, 4, 0, NULL, 0x101);
|
||||
else
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2068, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 0, gUnknown_80E2068, NULL, 4, 0, NULL, 0x101);
|
||||
}
|
||||
break;
|
||||
case 0x3:
|
||||
if (CountMailType(WONDER_MAIL_TYPE_AOK) != 0)
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 3, gUnknown_80E2130, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 3, gUnknown_80E2130, NULL, 4, 0, NULL, 0x101);
|
||||
else
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 3, gUnknown_80E2190, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 3, gUnknown_80E2190, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x4:
|
||||
if (CountMailType(WONDER_MAIL_TYPE_SOS) == 0) {
|
||||
if (CountMailType(WONDER_MAIL_TYPE_THANK_YOU) == 0)
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2268, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2268, NULL, 4, 0, NULL, 0x101);
|
||||
else
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2218, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2218, NULL, 4, 0, NULL, 0x101);
|
||||
}
|
||||
else {
|
||||
if (CountMailType(WONDER_MAIL_TYPE_THANK_YOU) == 0)
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2240, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E2240, NULL, 4, 0, NULL, 0x101);
|
||||
else
|
||||
sub_8014248(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E21B8, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E25F4[0], 0, 17, gUnknown_80E21B8, NULL, 4, 0, NULL, 0x101);
|
||||
}
|
||||
break;
|
||||
case 0xE:
|
||||
switch(gUnknown_203B33C->unk528) {
|
||||
case 0x11:
|
||||
sub_8014248(&gUnknown_80E2610[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2610[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x3:
|
||||
sub_8014248(&gUnknown_80E2640[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2640[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x4:
|
||||
sub_8014248(&gUnknown_80E2680[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2680[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x12:
|
||||
sub_8014248(&gUnknown_80E26B0[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E26B0[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x13:
|
||||
sub_8014248(&gUnknown_80E26F0[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E26F0[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x14:
|
||||
sub_8014248(&gUnknown_80E2728[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2728[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x3C:
|
||||
xxx_info_box_80141B4(&gUnknown_80E276C[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E276C[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x3D:
|
||||
sub_8014248(&gUnknown_80E27A4[0], 0, 6, gUnknown_80E2458, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E27A4[0], 0, 6, gUnknown_80E2458, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x43:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2814[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2814[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x3E:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2840[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2840[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x3F:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2874[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2874[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x40:
|
||||
switch ((u32)gUnknown_203B33C->unk524) {
|
||||
case 0xB:
|
||||
case 0xD:
|
||||
case 0xE:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2898[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2898[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0xC:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x42:
|
||||
xxx_info_box_80141B4(&gUnknown_80E28D8[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E28D8[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x30:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2904[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2904[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x31:
|
||||
xxx_info_box_80141B4(&gUnknown_80E296C[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E296C[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x32:
|
||||
if (sub_8030894() == 0) {
|
||||
|
|
@ -829,7 +829,7 @@ void sub_8032828(void)
|
|||
}
|
||||
break;
|
||||
case 0x35:
|
||||
sub_8014248(&gUnknown_80E29A0[0], 0, 6, gUnknown_80E22B4, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E29A0[0], 0, 6, gUnknown_80E22B4, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x37:
|
||||
switch ((u32)gUnknown_203B33C->unk524) {
|
||||
|
|
@ -838,12 +838,12 @@ void sub_8032828(void)
|
|||
case 0xB:
|
||||
case 0xD:
|
||||
case 0xE:
|
||||
xxx_info_box_80141B4(&gUnknown_80E29D0[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E29D0[0], 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x38:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2A0C[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2A0C[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x3A:
|
||||
RestoreUnkTextStruct_8006518(gUnknown_203B33C->unk3BC);
|
||||
|
|
@ -852,19 +852,19 @@ void sub_8032828(void)
|
|||
sub_8031D70(gUnknown_203B33C->unk218, 0);
|
||||
break;
|
||||
case 0x3B:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2A1C[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2A1C[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x39:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2A5C[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2A5C[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x2D:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2A80[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2A80[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x2F:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2AA8[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2AA8[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x2A:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2AE4[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2AE4[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x2B:
|
||||
#ifndef NONMATCHING
|
||||
|
|
@ -880,21 +880,21 @@ void sub_8032828(void)
|
|||
#ifndef NONMATCHING
|
||||
gUnknown_80E2BE0[0] = gUnknown_80E2BE0[0];
|
||||
#endif //NONMATCHING
|
||||
xxx_info_box_80141B4(&gUnknown_80E2B54[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2B54[0], 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x2C:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2A0C[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2A0C[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x23:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2B90[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2B90[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x21:
|
||||
sub_8014248(&gUnknown_80E2BE0[0], 0, 15, gUnknown_80E23A8, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2BE0[0], 0, 15, gUnknown_80E23A8, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x25:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2C48[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2C48[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x26:
|
||||
if (sub_8023CE8() != 0)
|
||||
|
|
@ -910,13 +910,13 @@ void sub_8032828(void)
|
|||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
break;
|
||||
case 0x24:
|
||||
sub_8014248(&gUnknown_80E2C94[0], 0, 16, gUnknown_80E22F0, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2C94[0], 0, 16, gUnknown_80E22F0, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x29:
|
||||
sub_8014248(&gUnknown_80E2CD4[0], 0, 6, gUnknown_80E22D0, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2CD4[0], 0, 6, gUnknown_80E22D0, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x1C:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2CE8[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2CE8[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x1D:
|
||||
if (sub_8030894() == 0) {
|
||||
|
|
@ -926,25 +926,25 @@ void sub_8032828(void)
|
|||
}
|
||||
break;
|
||||
case 0x20:
|
||||
sub_8014248(&gUnknown_80E2D30[0], 0, 6, gUnknown_80E22B4, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2D30[0], 0, 6, gUnknown_80E22B4, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x22:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2D60[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2D60[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x5:
|
||||
sub_8014248(&gUnknown_80E2D7C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2D7C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0xA:
|
||||
case 0x4C:
|
||||
sub_8014248(&gUnknown_80E2E20[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2E20[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0xB:
|
||||
case 0x4D:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2E54[0], 0, NULL, 0);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2E54[0], 0, NULL, 0);
|
||||
break;
|
||||
case 0xC:
|
||||
case 0x4E:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2EB4[0], 0, NULL, 0);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2EB4[0], 0, NULL, 0);
|
||||
break;
|
||||
case 0x7:
|
||||
gUnknown_203B33C->status = 0;
|
||||
|
|
@ -1019,10 +1019,10 @@ void sub_8032828(void)
|
|||
xxx_call_start_bg_music();
|
||||
break;
|
||||
case 0x10:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2F14[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2F14[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x11:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2F44[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2F44[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x12:
|
||||
if (sub_8030894() != 0)
|
||||
|
|
@ -1032,10 +1032,10 @@ void sub_8032828(void)
|
|||
sub_80306A8(WONDER_MAIL_TYPE_SOS, 0, NULL, 6);
|
||||
break;
|
||||
case 0x15:
|
||||
sub_8014248(&gUnknown_80E2F78[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2F78[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0xF:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2FA0[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2FA0[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x16:
|
||||
switch ((u32)gUnknown_203B33C->unk524) {
|
||||
|
|
@ -1044,15 +1044,15 @@ void sub_8032828(void)
|
|||
case 0xB:
|
||||
case 0xD:
|
||||
case 0xE:
|
||||
xxx_info_box_80141B4(&gUnknown_80E2FEC[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2FEC[0], 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x18:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3030[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3030[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x19:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3078[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3078[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x1A:
|
||||
RestoreUnkTextStruct_8006518(gUnknown_203B33C->unk3BC);
|
||||
|
|
@ -1061,10 +1061,10 @@ void sub_8032828(void)
|
|||
sub_80151C0(4, gUnknown_203B33C->passwordBuffer);
|
||||
break;
|
||||
case 0x5A:
|
||||
sub_8014248(&gUnknown_80E30A4[0], 0, 6, gUnknown_80E2458, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E30A4[0], 0, 6, gUnknown_80E2458, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x5B:
|
||||
xxx_info_box_80141B4(gUnknown_80E30D0, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E30D0, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x5D:
|
||||
RestoreUnkTextStruct_8006518(gUnknown_203B33C->unk35C);
|
||||
|
|
@ -1117,7 +1117,7 @@ void sub_8032828(void)
|
|||
xxx_call_start_bg_music();
|
||||
break;
|
||||
case 0x72:
|
||||
xxx_info_box_80141B4(gUnknown_80E311C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E311C, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x73:
|
||||
RestoreUnkTextStruct_8006518(gUnknown_203B33C->unk3BC);
|
||||
|
|
@ -1126,7 +1126,7 @@ void sub_8032828(void)
|
|||
sub_80151C0(4, gUnknown_203B33C->passwordBuffer);
|
||||
break;
|
||||
case 0x66:
|
||||
xxx_info_box_80141B4(gUnknown_80E314C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E314C, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x67:
|
||||
case 0x2E:
|
||||
|
|
@ -1136,19 +1136,19 @@ void sub_8032828(void)
|
|||
sub_8031D70(gUnknown_203B33C->unk218, 0);
|
||||
break;
|
||||
case 0x68:
|
||||
xxx_info_box_80141B4(gUnknown_80E317C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E317C, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x6F:
|
||||
xxx_info_box_80141B4(gUnknown_80E319C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E319C, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x70: // Yes we need duplicates in order to match :) - Kermalis
|
||||
xxx_info_box_80141B4(gUnknown_80E317C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E317C, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x6C:
|
||||
xxx_info_box_80141B4(gUnknown_80E31D8, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E31D8, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x50:
|
||||
xxx_info_box_80141B4(&gUnknown_80E31FC[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E31FC[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x6D:
|
||||
switch ((u32)gUnknown_203B33C->unk524) {
|
||||
|
|
@ -1157,7 +1157,7 @@ void sub_8032828(void)
|
|||
case 0xB:
|
||||
case 0xD:
|
||||
case 0xE:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3220[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3220[0], 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
@ -1183,7 +1183,7 @@ void sub_8032828(void)
|
|||
case 0xD:
|
||||
case 0x62:
|
||||
nullsub_23(FALSE);
|
||||
xxx_info_box_80141B4(&gUnknown_80E2DD0[0], 0, NULL, 0);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E2DD0[0], 0, NULL, 0);
|
||||
break;
|
||||
case 0x64:
|
||||
switch ((u32)gUnknown_203B33C->unk524) {
|
||||
|
|
@ -1192,47 +1192,47 @@ void sub_8032828(void)
|
|||
case 0xB:
|
||||
case 0xD:
|
||||
case 0xE:
|
||||
xxx_info_box_80141B4(gUnknown_80E3248, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E3248, 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x63:
|
||||
xxx_info_box_80141B4(gUnknown_80E3288, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E3288, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x69:
|
||||
sub_8014248(&gUnknown_80E2D7C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E2D7C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x59:
|
||||
sub_80922B4(buffer, GetPlayerPokemonStruct()->name, POKEMON_NAME_LENGTH);
|
||||
sprintfStatic(gUnknown_203B33C->unk424, gUnknown_80E32C4, buffer);
|
||||
xxx_info_box_80141B4(gUnknown_203B33C->unk424, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_203B33C->unk424, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x58:
|
||||
sub_8014248(&gUnknown_80E331C[0], 0, 6, gUnknown_80E24D8, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E331C[0], 0, 6, gUnknown_80E24D8, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x75:
|
||||
xxx_info_box_80141B4(gUnknown_80E317C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E317C, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x76:
|
||||
xxx_info_box_80141B4(gUnknown_80E2A0C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E2A0C, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x57:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3378[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3378[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x56:
|
||||
sub_8014248(&gUnknown_80E339C[0], 0, 22, gUnknown_80E24B0, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E339C[0], 0, 22, gUnknown_80E24B0, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x55:
|
||||
sub_8014248(&gUnknown_80E33D8[0], 0, 21, gUnknown_80E2470, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E33D8[0], 0, 21, gUnknown_80E2470, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x53:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3430[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3430[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x54:
|
||||
sub_8014248(&gUnknown_80E34B0[0], 0, 6, gUnknown_80E2440, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E34B0[0], 0, 6, gUnknown_80E2440, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x46:
|
||||
xxx_info_box_80141B4(&gUnknown_80E34F0[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E34F0[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x47:
|
||||
case 0x5C:
|
||||
|
|
@ -1252,74 +1252,74 @@ void sub_8032828(void)
|
|||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
break;
|
||||
case 0x4A:
|
||||
sub_8014248(&gUnknown_80E352C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E352C[0], 0, 6, gUnknown_80E2290, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x44:
|
||||
xxx_info_box_80141B4(&gUnknown_80E355C[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E355C[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x45:
|
||||
xxx_info_box_80141B4(&gUnknown_80E35AC[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E35AC[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x51:
|
||||
xxx_info_box_80141B4(&gUnknown_80E35E8[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E35E8[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x52:
|
||||
if (gUnknown_203B33C->unk40 == 6)
|
||||
sub_8014248(&gUnknown_80E360C[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E360C[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
else
|
||||
sub_8014248(&gUnknown_80E3644[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E3644[0], 0, 11, gUnknown_80E236C, NULL, 4, 0, NULL, 0x101);
|
||||
break;
|
||||
case 0x7C:
|
||||
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E25B4, 0, 4, 0, 0, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E25B4, 0, 4, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x7D:
|
||||
switch (gUnknown_203B33C->unk564) {
|
||||
case 0x23:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3690[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3690[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x24:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3818[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3818[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x25:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3998[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3998[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x26:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3B1C[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3B1C[0], 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x7A:
|
||||
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E2554, 0, 4, 0, 0, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E2554, 0, 4, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x7B:
|
||||
switch (gUnknown_203B33C->unk564) {
|
||||
case 0x1E:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3BF8[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3BF8[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x1F:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3DE4[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3DE4[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x21:
|
||||
xxx_info_box_80141B4(&gUnknown_80E3E98[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E3E98[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x20:
|
||||
xxx_info_box_80141B4(&gUnknown_80E4014[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E4014[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x22:
|
||||
xxx_info_box_80141B4(&gUnknown_80E4130[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E4130[0], 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x78:
|
||||
sub_8014248(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E24F8, 0, 4, 0, 0, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(&gUnknown_80E367C[0], 0, gUnknown_203B33C->unk564, gUnknown_80E24F8, 0, 4, 0, 0, 0x101);
|
||||
break;
|
||||
case 0x79:
|
||||
switch (gUnknown_203B33C->unk564) {
|
||||
case 0x1D:
|
||||
xxx_info_box_80141B4(&gUnknown_80E41DC[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E41DC[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x1A:
|
||||
xxx_info_box_80141B4(&gUnknown_80E4314[0], 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(&gUnknown_80E4314[0], 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
@ -1341,48 +1341,48 @@ void PrintFriendRescueError(u32 status)
|
|||
case COMMS_GOOD:
|
||||
break;
|
||||
case COMMS_INCORRECT_NUM_SYSTEMS:
|
||||
xxx_info_box_80141B4(gUnknown_80E44A4, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E44A4, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_NO_RESPONSE:
|
||||
xxx_info_box_80141B4(gUnknown_80E4500, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4500, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_DIFFERENT_MODES:
|
||||
xxx_info_box_80141B4(gUnknown_80E4550, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4550, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_NO_ROOM_STORAGE:
|
||||
xxx_info_box_80141B4(gUnknown_80E45B4, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E45B4, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_DUPLICATE_MAIL:
|
||||
xxx_info_box_80141B4(gUnknown_80E460C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E460C, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_MAIL_SENT_ALREADY:
|
||||
xxx_info_box_80141B4(gUnknown_80E4650, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4650, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_NOT_ELIGIBLE_1:
|
||||
xxx_info_box_80141B4(gUnknown_80E468C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E468C, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_FRIEND_NOT_ELIGIBLE:
|
||||
xxx_info_box_80141B4(gUnknown_80E46C8, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E46C8, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_NOT_ELIGIBLE_2:
|
||||
xxx_info_box_80141B4(gUnknown_80E4704, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4704, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_FRIEND_NOT_ELIGIBLE_2:
|
||||
xxx_info_box_80141B4(gUnknown_80E4744, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4744, 0, 0, 0x101);
|
||||
break;
|
||||
case 16:
|
||||
xxx_info_box_80141B4(gUnknown_80E4788, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4788, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_NO_ROOM_MAIL:
|
||||
xxx_info_box_80141B4(gUnknown_80E47D8, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E47D8, 0, 0, 0x101);
|
||||
break;
|
||||
case 1:
|
||||
case 5:
|
||||
case 14:
|
||||
xxx_info_box_80141B4(gUnknown_80E4480, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4480, 0, 0, 0x101);
|
||||
break;
|
||||
case COMMS_NOT_READY:
|
||||
xxx_info_box_80141B4(gUnknown_80E482C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E482C, 0, 0, 0x101);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -1675,30 +1675,30 @@ void sub_8033DBC(void)
|
|||
switch(sub_8039068(mailMode, gUnknown_203B33C->passwordBuffer, &mail))
|
||||
{
|
||||
case PASSWORD_ENTRY_INCORRECT_PASSWORD:
|
||||
sub_8014248(gUnknown_80E48A8, 0, 6, gUnknown_80E2290, 0, 4, 0, 0, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(gUnknown_80E48A8, 0, 6, gUnknown_80E2290, 0, 4, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(0x1B);
|
||||
break;
|
||||
case PASSWORD_ENTRY_NOT_SOS_MAIL:
|
||||
xxx_info_box_80141B4(gUnknown_80E48E8, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E48E8, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(FRIEND_RESCUE_MENU_ERROR);
|
||||
break;
|
||||
case PASSWORD_ENTRY_DUPLICATE_SOS_MAIL:
|
||||
xxx_info_box_80141B4(gUnknown_80E460C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E460C, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(FRIEND_RESCUE_MENU_ERROR);
|
||||
break;
|
||||
case PASSWORD_ENTRY_SOS_MAIL_SUCCESS:
|
||||
sub_8095274(mail.unk10.unk10);
|
||||
mail.mailType = 2;
|
||||
sub_80951BC(&mail);
|
||||
xxx_info_box_80141B4(gUnknown_80E4928, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4928, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(0x16);
|
||||
break;
|
||||
case PASSWORD_ENTRY_NOT_AOK_MAIL:
|
||||
xxx_info_box_80141B4(gUnknown_80E4964, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4964, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(FRIEND_RESCUE_MENU_ERROR);
|
||||
break;
|
||||
case PASSWORD_ENTRY_DUPLICATE_AOK_MAIL:
|
||||
xxx_info_box_80141B4(gUnknown_80E499C, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E499C, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(FRIEND_RESCUE_MENU_ERROR);
|
||||
break;
|
||||
case PASSWORD_ENTRY_AOK_MAIL_SUCCESS:
|
||||
|
|
@ -2316,7 +2316,7 @@ void sub_80348C4(void)
|
|||
case 0xB:
|
||||
case 0xD:
|
||||
case 0xE:
|
||||
xxx_info_box_80141B4(gUnknown_80E31FC, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E31FC, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(0x77);
|
||||
break;
|
||||
case 0xC:
|
||||
|
|
@ -2559,15 +2559,15 @@ void sub_8034D74(void)
|
|||
switch(sub_8039068(PASSWORD_ENTRY_THANK_YOU_MAIL_MODE, gUnknown_203B33C->passwordBuffer, &mail))
|
||||
{
|
||||
case PASSWORD_ENTRY_INCORRECT_PASSWORD:
|
||||
sub_8014248(gUnknown_80E48A8, 0, 6, gUnknown_80E2440, 0, 4, 0, 0, 0x101);
|
||||
CreateMenuDialogueBoxAndPortrait(gUnknown_80E48A8, 0, 6, gUnknown_80E2440, 0, 4, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(0x74);
|
||||
break;
|
||||
case PASSWORD_ENTRY_NOT_THANK_YOU_MAIL:
|
||||
xxx_info_box_80141B4(gUnknown_80E49C4, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E49C4, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(FRIEND_RESCUE_MENU_ERROR_2);
|
||||
break;
|
||||
case PASSWORD_ENTRY_DUPLICATE_THANK_YOU_MAIL:
|
||||
xxx_info_box_80141B4(gUnknown_80E4704, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E4704, 0, 0, 0x101);
|
||||
SetFriendRescueMenuState(FRIEND_RESCUE_MENU_ERROR_2);
|
||||
break;
|
||||
case PASSWORD_ENTRY_THANK_YOU_MAIL_SUCCESS:
|
||||
|
|
|
|||
|
|
@ -45,20 +45,20 @@ bool8 CreateGulpinShop(u32 mode, s16 pokeSpecies, Move *moves)
|
|||
sGulpinShopWork->unk1C = moves[4].id; // 5th move..?
|
||||
|
||||
if (mode == GULPIN_SHOP_MODE_AWAKE)
|
||||
sGulpinShopWork->unk128 = &sGulpinShopWork->faceFile;
|
||||
sGulpinShopWork->monPortraitPtr = &sGulpinShopWork->monPortrait;
|
||||
else
|
||||
sGulpinShopWork->unk128 = NULL;
|
||||
sGulpinShopWork->monPortraitPtr = NULL;
|
||||
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_GULPIN);
|
||||
sGulpinShopWork->faceFile = faceFile;
|
||||
sGulpinShopWork->faceData = faceFile->data;
|
||||
sGulpinShopWork->monPortrait.faceFile = faceFile;
|
||||
sGulpinShopWork->monPortrait.faceData = faceFile->data;
|
||||
|
||||
sGulpinShopWork->unk124 = 0;
|
||||
sGulpinShopWork->unk125 = 0;
|
||||
sGulpinShopWork->unk126 = 0;
|
||||
sGulpinShopWork->monPortrait.spriteId = 0;
|
||||
sGulpinShopWork->monPortrait.flip = FALSE;
|
||||
sGulpinShopWork->monPortrait.unkE = 0;
|
||||
|
||||
sGulpinShopWork->unk120 = 2;
|
||||
sGulpinShopWork->unk122 = 8;
|
||||
sGulpinShopWork->monPortrait.pos.x = 2;
|
||||
sGulpinShopWork->monPortrait.pos.y = 8;
|
||||
SetGulpinShopState(0);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -97,7 +97,7 @@ bool8 GulpinIsNextMoveLinked(void)
|
|||
void DestroyGulpinShop(void)
|
||||
{
|
||||
if (sGulpinShopWork != NULL) {
|
||||
CloseFile(sGulpinShopWork->faceFile);
|
||||
CloseFile(sGulpinShopWork->monPortrait.faceFile);
|
||||
MemoryFree(sGulpinShopWork);
|
||||
sGulpinShopWork = NULL;
|
||||
}
|
||||
|
|
@ -160,15 +160,15 @@ static void sub_801EA28(void)
|
|||
case GULPIN_SHOP_MODE_AWAKE:
|
||||
case GULPIN_SHOP_MODE_ASLEEP:
|
||||
if (sGulpinShopWork->isNextMoveLinked)
|
||||
sub_8014248(gCommonGulpin[sGulpinShopWork->mode][GULPIN_DLG_12], 0, 5, &sGulpinShopWork->unk28[0], &sGulpinShopWork->unk68, 4, 0, sGulpinShopWork->unk128, 12);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonGulpin[sGulpinShopWork->mode][GULPIN_DLG_12], 0, 5, &sGulpinShopWork->unk28[0], &sGulpinShopWork->unk68, 4, 0, sGulpinShopWork->monPortraitPtr, 12);
|
||||
else
|
||||
sub_8014248(gCommonGulpin[sGulpinShopWork->mode][GULPIN_DLG_11], 0, 5, &sGulpinShopWork->unk28[0], &sGulpinShopWork->unk68, 4, 0, sGulpinShopWork->unk128, 12);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonGulpin[sGulpinShopWork->mode][GULPIN_DLG_11], 0, 5, &sGulpinShopWork->unk28[0], &sGulpinShopWork->unk68, 4, 0, sGulpinShopWork->monPortraitPtr, 12);
|
||||
break;
|
||||
case GULPIN_SHOP_MODE_UNK2:
|
||||
if (sGulpinShopWork->isNextMoveLinked)
|
||||
sub_8014248(sForgetMoveAndLinkedOnes, 0, 5, &sGulpinShopWork->unk28[0], &sGulpinShopWork->unk68, 4, 0, NULL, 32);
|
||||
CreateMenuDialogueBoxAndPortrait(sForgetMoveAndLinkedOnes, 0, 5, &sGulpinShopWork->unk28[0], &sGulpinShopWork->unk68, 4, 0, NULL, 32);
|
||||
else
|
||||
sub_8014248(sForgetMoveOnly, 0, 5, &sGulpinShopWork->unk28[0], &sGulpinShopWork->unk68, 4, 0, NULL, 32);
|
||||
CreateMenuDialogueBoxAndPortrait(sForgetMoveOnly, 0, 5, &sGulpinShopWork->unk28[0], &sGulpinShopWork->unk68, 4, 0, NULL, 32);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
@ -180,15 +180,15 @@ static void sub_801EBC4(void)
|
|||
s32 which;
|
||||
s32 i;
|
||||
which = 0;
|
||||
|
||||
|
||||
MemoryFill16(sGulpinShopWork->unk68, 0, sizeof(sGulpinShopWork->unk68));
|
||||
|
||||
|
||||
sGulpinShopWork->unk28[which].text = sForget;
|
||||
sGulpinShopWork->unk28[which].menuAction = 2;
|
||||
|
||||
|
||||
if (!IsAnyMoveLinked(sGulpinShopWork->unk1E, sGulpinShopWork->moves) || (s32)sGulpinShopWork->unk20 >= 4)
|
||||
sGulpinShopWork->unk68[0] = 1;
|
||||
|
||||
|
||||
which++;
|
||||
sGulpinShopWork->unk28[which].text = gCommonInfo[0];
|
||||
sGulpinShopWork->unk28[which].menuAction = 3;
|
||||
|
|
@ -216,7 +216,7 @@ static void sub_801EC7C(void)
|
|||
{
|
||||
s32 which;
|
||||
which = 0;
|
||||
|
||||
|
||||
MemoryFill16(sGulpinShopWork->unk68, 0, sizeof(sGulpinShopWork->unk68));
|
||||
sGulpinShopWork->unk28[which].text = gCommonYes[0];
|
||||
sGulpinShopWork->unk28[which].menuAction = 4;
|
||||
|
|
@ -314,4 +314,4 @@ static void sub_801EDC0(void)
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,18 +99,18 @@ bool8 sub_801FB50(u32 mode)
|
|||
PrintPokeNameToBuffer(gUnknown_202E1C8 - 0xF0, GetPlayerPokemonStruct());
|
||||
|
||||
if (gUnknown_203B27C->mode == GULPIN_SHOP_MODE_ASLEEP)
|
||||
gUnknown_203B27C->unk17C = NULL;
|
||||
gUnknown_203B27C->monPortraitPtr = NULL;
|
||||
else
|
||||
gUnknown_203B27C->unk17C = &gUnknown_203B27C->faceFile;
|
||||
gUnknown_203B27C->monPortraitPtr = &gUnknown_203B27C->monPortrait;
|
||||
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_GULPIN);
|
||||
gUnknown_203B27C->faceFile = faceFile;
|
||||
gUnknown_203B27C->faceData = faceFile->data;
|
||||
gUnknown_203B27C->unk178 = 0;
|
||||
gUnknown_203B27C->unk179 = 0;
|
||||
gUnknown_203B27C->unk17A = 0;
|
||||
gUnknown_203B27C->unk174 = 2;
|
||||
gUnknown_203B27C->unk176 = 8;
|
||||
gUnknown_203B27C->monPortrait.faceFile = faceFile;
|
||||
gUnknown_203B27C->monPortrait.faceData = faceFile->data;
|
||||
gUnknown_203B27C->monPortrait.spriteId = 0;
|
||||
gUnknown_203B27C->monPortrait.flip = FALSE;
|
||||
gUnknown_203B27C->monPortrait.unkE = 0;
|
||||
gUnknown_203B27C->monPortrait.pos.x = 2;
|
||||
gUnknown_203B27C->monPortrait.pos.y = 8;
|
||||
sub_801FDA8(0);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -184,7 +184,7 @@ u32 sub_801FC40(void)
|
|||
void sub_801FD7C(void)
|
||||
{
|
||||
if (gUnknown_203B27C) {
|
||||
CloseFile(gUnknown_203B27C->faceFile);
|
||||
CloseFile(gUnknown_203B27C->monPortrait.faceFile);
|
||||
MemoryFree(gUnknown_203B27C);
|
||||
gUnknown_203B27C = NULL;
|
||||
}
|
||||
|
|
@ -254,63 +254,63 @@ static void sub_801FF28(void)
|
|||
gUnknown_203B27C->menuAction1 = 2;
|
||||
CreateGulpinShopMenu();
|
||||
gUnknown_203B27C->fallbackState = 2;
|
||||
sub_8014248(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_00],0,gUnknown_203B27C->menuAction1,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,gUnknown_203B27C->unk17C,0xc);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_00],0,gUnknown_203B27C->menuAction1,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,gUnknown_203B27C->monPortraitPtr,0xc);
|
||||
break;
|
||||
case 1:
|
||||
CreateGulpinShopMenu();
|
||||
gUnknown_203B27C->fallbackState = 2;
|
||||
sub_8014248(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_01],0,gUnknown_203B27C->menuAction1,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,gUnknown_203B27C->unk17C,0xc);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_01],0,gUnknown_203B27C->menuAction1,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,gUnknown_203B27C->monPortraitPtr,0xc);
|
||||
break;
|
||||
case 2:
|
||||
DrawTeamMoneyBox(3);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B27C->fallbackState = 0x1f;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_02],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_02],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B27C->fallbackState = 0x1f;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_03],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_03],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 5:
|
||||
gUnknown_203B27C->fallbackState = 0x1f;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_04],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_04],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 6:
|
||||
gUnknown_203B27C->fallbackState = 0x1f;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_05],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_05],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 7:
|
||||
sub_8020900();
|
||||
sub_8014248(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_06],0,0x10,
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_06],0,0x10,
|
||||
gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,
|
||||
gUnknown_203B27C->unk17C,0xc);
|
||||
gUnknown_203B27C->monPortraitPtr,0xc);
|
||||
break;
|
||||
case 8:
|
||||
sub_8020950();
|
||||
sub_8014248(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_21],0,0xd,
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_21],0,0xd,
|
||||
gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,
|
||||
gUnknown_203B27C->unk17C,0xc);
|
||||
gUnknown_203B27C->monPortraitPtr,0xc);
|
||||
break;
|
||||
case 9:
|
||||
gUnknown_203B27C->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_22],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_22],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 10:
|
||||
gUnknown_203B27C->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_23],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_23],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 0xb:
|
||||
gUnknown_203B27C->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_24],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_24],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 0xc:
|
||||
gUnknown_203B27C->fallbackState = 0xd;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_07],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_07],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 0xe:
|
||||
gUnknown_203B27C->fallbackState = 0xf;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_08],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_08],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 0xf:
|
||||
sub_8023868(2,0,0,10);
|
||||
|
|
@ -330,7 +330,7 @@ static void sub_801FF28(void)
|
|||
break;
|
||||
case 0x14:
|
||||
gUnknown_203B27C->fallbackState = 0x15;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_09],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_09],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 0x15:
|
||||
sub_801F428(gUnknown_203B27C->speciesNum,0);
|
||||
|
|
@ -354,17 +354,17 @@ static void sub_801FF28(void)
|
|||
sub_8094060(gUnknown_203B27C->moves,gUnknown_203B27C->pokeStruct->moves);
|
||||
gUnknown_203B27C->fallbackState = 0x10;
|
||||
sub_8092C84(gAvailablePokemonNames,gUnknown_203B27C->unk1E);
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_10],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_10],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 0x1a:
|
||||
sub_8094060(gUnknown_203B27C->moves,gUnknown_203B27C->pokeStruct->moves);
|
||||
gUnknown_203B27C->fallbackState = 0x10;
|
||||
if (gUnknown_203B27C->isNextMoveLinked) {
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_14],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_14],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
}
|
||||
else
|
||||
{
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_13],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_13],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
}
|
||||
break;
|
||||
case 0x1d:
|
||||
|
|
@ -377,11 +377,11 @@ static void sub_801FF28(void)
|
|||
break;
|
||||
case 0x1b:
|
||||
gUnknown_203B27C->fallbackState = 0x10;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_15],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_15],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 0x1c:
|
||||
gUnknown_203B27C->fallbackState = 0x10;
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_16],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_16],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
|
||||
case 0x1e:
|
||||
|
|
@ -403,24 +403,24 @@ static void sub_801FF28(void)
|
|||
sub_80208B0();
|
||||
sub_8092C84(gUnknown_202DFE8,gUnknown_203B27C->unk20);
|
||||
if (gUnknown_203B27C->isNextMoveLinked) {
|
||||
sub_8014248(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_18],0,0x11,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,
|
||||
gUnknown_203B27C->unk17C,0xc);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_18],0,0x11,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,
|
||||
gUnknown_203B27C->monPortraitPtr,0xc);
|
||||
}
|
||||
else {
|
||||
sub_8014248(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_17],0,0x11,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,
|
||||
gUnknown_203B27C->unk17C,0xc);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_17],0,0x11,gUnknown_203B27C->unk7C,gUnknown_203B27C->unkBC,4,0,
|
||||
gUnknown_203B27C->monPortraitPtr,0xc);
|
||||
}
|
||||
break;
|
||||
case 0x23:
|
||||
gUnknown_203B27C->fallbackState = 0x1f;
|
||||
sub_8092C84(gUnknown_202DFE8,gUnknown_203B27C->unk20);
|
||||
if (gUnknown_203B27C->isNextMoveLinked)
|
||||
if (gUnknown_203B27C->isNextMoveLinked)
|
||||
{
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_20],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_20],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
}
|
||||
else
|
||||
{
|
||||
xxx_info_box_80141B4(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_19],0,gUnknown_203B27C->unk17C,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_19],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -546,15 +546,15 @@ static void CreateGulpinLinkMenu(void)
|
|||
}
|
||||
gUnknown_203B27C->unk7C[loopMax].menuAction = 7;
|
||||
}
|
||||
|
||||
|
||||
loopMax++;
|
||||
gUnknown_203B27C->unk7C[loopMax].text = gGulpinLink;
|
||||
gUnknown_203B27C->unk7C[loopMax].menuAction = LINK_ACTION;
|
||||
|
||||
|
||||
loopMax++;
|
||||
gUnknown_203B27C->unk7C[loopMax].text = gGulpinDelink;
|
||||
gUnknown_203B27C->unk7C[loopMax].menuAction = DE_LINK_ACTION;
|
||||
|
||||
|
||||
loopMax++;
|
||||
gUnknown_203B27C->unk7C[loopMax].text = gGulpinForget;
|
||||
gUnknown_203B27C->unk7C[loopMax].menuAction = FORGET_ACTION;
|
||||
|
|
@ -978,12 +978,12 @@ static void sub_8020EB4(void)
|
|||
if(gTeamInventoryRef->teamMoney < 150)
|
||||
{
|
||||
PlayMenuSoundEffect(2);
|
||||
sub_801FDA8(0x3);
|
||||
sub_801FDA8(0x3);
|
||||
}
|
||||
else if(!sub_8093318(gUnknown_203B27C->moveIndex, gUnknown_203B27C->moves))
|
||||
{
|
||||
PlayMenuSoundEffect(2);
|
||||
sub_801FDA8(0x4);
|
||||
sub_801FDA8(0x4);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1004,7 +1004,7 @@ static void sub_8020EB4(void)
|
|||
if(!sub_809333C(gUnknown_203B27C->moveIndex, gUnknown_203B27C->moves))
|
||||
{
|
||||
PlayMenuSoundEffect(2);
|
||||
sub_801FDA8(0x5);
|
||||
sub_801FDA8(0x5);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -63,18 +63,18 @@ bool8 CreateKangaskhanStorage(u32 mode)
|
|||
strcpy(gUnknown_202E1C8 - 0x50, monName);
|
||||
|
||||
if (gKangaskhanStorageWork->mode == KANG_MODE_ASLEEP)
|
||||
gKangaskhanStorageWork->unkE8 = NULL;
|
||||
gKangaskhanStorageWork->monPortraitPtr = NULL;
|
||||
else
|
||||
gKangaskhanStorageWork->unkE8 = &gKangaskhanStorageWork->faceFile;
|
||||
gKangaskhanStorageWork->monPortraitPtr = &gKangaskhanStorageWork->monPortrait;
|
||||
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_KANGASKHAN);
|
||||
gKangaskhanStorageWork->faceFile = faceFile;
|
||||
gKangaskhanStorageWork->faceData = faceFile->data;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
gKangaskhanStorageWork->unkE5 = 0;
|
||||
gKangaskhanStorageWork->unkE6 = 0;
|
||||
gKangaskhanStorageWork->unkE0 = 2;
|
||||
gKangaskhanStorageWork->unkE2 = 8;
|
||||
gKangaskhanStorageWork->monPortrait.faceFile = faceFile;
|
||||
gKangaskhanStorageWork->monPortrait.faceData = faceFile->data;
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
gKangaskhanStorageWork->monPortrait.flip = FALSE;
|
||||
gKangaskhanStorageWork->monPortrait.unkE = 0;
|
||||
gKangaskhanStorageWork->monPortrait.pos.x = 2;
|
||||
gKangaskhanStorageWork->monPortrait.pos.y = 8;
|
||||
UpdateKangaskhanStorageState(KANGASKHAN_STORAGE_INIT);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -133,7 +133,7 @@ u32 KangaskhanStorageCallback(void)
|
|||
void DeleteKangaskhanStorage(void)
|
||||
{
|
||||
if (gKangaskhanStorageWork != NULL) {
|
||||
CloseFile(gKangaskhanStorageWork->faceFile);
|
||||
CloseFile(gKangaskhanStorageWork->monPortrait.faceFile);
|
||||
MemoryFree(gKangaskhanStorageWork);
|
||||
gKangaskhanStorageWork = NULL;
|
||||
}
|
||||
|
|
@ -189,66 +189,66 @@ static void sub_8016FF8(void)
|
|||
switch (gKangaskhanStorageWork->currState) {
|
||||
case KANGASKHAN_STORAGE_INIT:
|
||||
BuildKangaskhanMainMenu();
|
||||
gKangaskhanStorageWork->unkE4 = TRUE;
|
||||
sub_8014248(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WELCOME], 0, gKangaskhanStorageWork->menuAction1, gKangaskhanStorageWork->unk24,
|
||||
gKangaskhanStorageWork->unk4C, 4, 0, gKangaskhanStorageWork->unkE8, 12);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = TRUE;
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WELCOME], 0, gKangaskhanStorageWork->menuAction1, gKangaskhanStorageWork->unk24,
|
||||
gKangaskhanStorageWork->unk4C, 4, 0, gKangaskhanStorageWork->monPortraitPtr, 12);
|
||||
break;
|
||||
case KANGASKHAN_STORAGE_MAIN_MENU:
|
||||
BuildKangaskhanMainMenu();
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
sub_8014248(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_ANYTHING_ELSE], 0, gKangaskhanStorageWork->menuAction1, gKangaskhanStorageWork->unk24,
|
||||
gKangaskhanStorageWork->unk4C, 4, 0, gKangaskhanStorageWork->unkE8, 12);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_ANYTHING_ELSE], 0, gKangaskhanStorageWork->menuAction1, gKangaskhanStorageWork->unk24,
|
||||
gKangaskhanStorageWork->unk4C, 4, 0, gKangaskhanStorageWork->monPortraitPtr, 12);
|
||||
break;
|
||||
case 2:
|
||||
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_HOW_IT_WORKS], 0, gKangaskhanStorageWork->unkE8, 0x10D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_HOW_IT_WORKS], 0, gKangaskhanStorageWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 3:
|
||||
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_EXIT;
|
||||
gKangaskhanStorageWork->unkE4 = TRUE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_BYE], 0, gKangaskhanStorageWork->unkE8, 0x30D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = TRUE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_BYE], 0, gKangaskhanStorageWork->monPortraitPtr, 0x30D);
|
||||
break;
|
||||
case KANGASKHAN_STORAGE_NO_INV_ITEMS:
|
||||
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_YOU_HAVE_NOTHING], 0, gKangaskhanStorageWork->unkE8, 0x10D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_YOU_HAVE_NOTHING], 0, gKangaskhanStorageWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KANGASKHAN_STORAGE_TOO_MANY_ITEMS:
|
||||
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_YOU_ARE_FULL], 0, gKangaskhanStorageWork->unkE8, 0x10D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_YOU_ARE_FULL], 0, gKangaskhanStorageWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 7:
|
||||
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORAGE_HAS_NOTHING], 0, gKangaskhanStorageWork->unkE8, 0x10D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORAGE_HAS_NOTHING], 0, gKangaskhanStorageWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 8:
|
||||
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORAGE_FULL], 0, gKangaskhanStorageWork->unkE8, 0x10D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORAGE_FULL], 0, gKangaskhanStorageWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KANGASKHAN_STORAGE_IS_MONEY_USED_TM:
|
||||
sub_8090E14(gFormatItems, &gKangaskhanStorageWork->storedItem, 0);
|
||||
gKangaskhanStorageWork->fallbackState = 14;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT__INVALID_ITEM], 0, gKangaskhanStorageWork->unkE8, 0x30D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT__INVALID_ITEM], 0, gKangaskhanStorageWork->monPortraitPtr, 0x30D);
|
||||
break;
|
||||
case 10:
|
||||
gKangaskhanStorageWork->fallbackState = 14;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT__TOO_MANY_OF_ITEM], 0, gKangaskhanStorageWork->unkE8, 0x30D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT__TOO_MANY_OF_ITEM], 0, gKangaskhanStorageWork->monPortraitPtr, 0x30D);
|
||||
break;
|
||||
case 11:
|
||||
gKangaskhanStorageWork->fallbackState = 13;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORE_WHAT], 0, gKangaskhanStorageWork->unkE8, 0x30D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORE_WHAT], 0, gKangaskhanStorageWork->monPortraitPtr, 0x30D);
|
||||
break;
|
||||
case 12:
|
||||
gKangaskhanStorageWork->fallbackState = 14;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORE_MORE], 0, gKangaskhanStorageWork->unkE8, 0x30D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_STORE_MORE], 0, gKangaskhanStorageWork->monPortraitPtr, 0x30D);
|
||||
break;
|
||||
case 13:
|
||||
sub_801A5D8(3, 3, NULL, 10);
|
||||
|
|
@ -264,15 +264,15 @@ static void sub_8016FF8(void)
|
|||
case 17:
|
||||
sub_80177F8();
|
||||
sub_8090E14(gFormatItems, &gKangaskhanStorageWork->storedItem, 0);
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
sub_8014248(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT_ONE_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
|
||||
gKangaskhanStorageWork->unkE8, 12);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT_ONE_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
|
||||
gKangaskhanStorageWork->monPortraitPtr, 12);
|
||||
break;
|
||||
case 18:
|
||||
sub_80177F8();
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
sub_8014248(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT_MANY_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
|
||||
gKangaskhanStorageWork->unkE8, 12);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT_MANY_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
|
||||
gKangaskhanStorageWork->monPortraitPtr, 12);
|
||||
break;
|
||||
case 19:
|
||||
if (GetNumberOfFilledInventorySlots() == 0) {
|
||||
|
|
@ -282,18 +282,18 @@ static void sub_8016FF8(void)
|
|||
else
|
||||
gKangaskhanStorageWork->fallbackState = 12;
|
||||
|
||||
gKangaskhanStorageWork->unkE4 = TRUE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT_CONFIRMATION], 0, gKangaskhanStorageWork->unkE8, 0x10D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = TRUE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_DEPOSIT_CONFIRMATION], 0, gKangaskhanStorageWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 20:
|
||||
gKangaskhanStorageWork->fallbackState = 22;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_TAKE_WHAT], 0, gKangaskhanStorageWork->unkE8, 0x30D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_TAKE_WHAT], 0, gKangaskhanStorageWork->monPortraitPtr, 0x30D);
|
||||
break;
|
||||
case 21:
|
||||
gKangaskhanStorageWork->fallbackState = 23;
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_TAKE_MORE], 0, gKangaskhanStorageWork->unkE8, 0x30D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_TAKE_MORE], 0, gKangaskhanStorageWork->monPortraitPtr, 0x30D);
|
||||
break;
|
||||
case 22:
|
||||
sub_801C8C4(1, 3, 0, 10);
|
||||
|
|
@ -333,15 +333,15 @@ static void sub_8016FF8(void)
|
|||
case 27:
|
||||
sub_80177F8();
|
||||
sub_8090E14(gFormatItems, &gKangaskhanStorageWork->storedItem, 0);
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
sub_8014248(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WITHDRAW_ONE_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
|
||||
gKangaskhanStorageWork->unkE8, 12);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WITHDRAW_ONE_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
|
||||
gKangaskhanStorageWork->monPortraitPtr, 12);
|
||||
break;
|
||||
case 28:
|
||||
sub_80177F8();
|
||||
gKangaskhanStorageWork->unkE4 = FALSE;
|
||||
sub_8014248(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WITHDRAW_MANY_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
|
||||
gKangaskhanStorageWork->unkE8, 12);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = FALSE;
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WITHDRAW_MANY_PROMPT], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
|
||||
gKangaskhanStorageWork->monPortraitPtr, 12);
|
||||
break;
|
||||
case 29:
|
||||
if (sub_801CF14(1) || GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE) {
|
||||
|
|
@ -351,8 +351,8 @@ static void sub_8016FF8(void)
|
|||
else
|
||||
gKangaskhanStorageWork->fallbackState = 21;
|
||||
|
||||
gKangaskhanStorageWork->unkE4 = TRUE;
|
||||
xxx_info_box_80141B4(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WITHDRAW_CONFIRMATION], 0, gKangaskhanStorageWork->unkE8, 0x10D);
|
||||
gKangaskhanStorageWork->monPortrait.spriteId = TRUE;
|
||||
CreateDialogueBoxAndPortrait(gCommonKangStorage[gKangaskhanStorageWork->mode][KANG_DLG_WITHDRAW_CONFIRMATION], 0, gKangaskhanStorageWork->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ static void sub_8019D30(void);
|
|||
static void sub_8019D4C(void);
|
||||
static void ProceedToKecleonBros1FallbackState(void);
|
||||
static void KecleonCalcSellPriceForAllItems(void);
|
||||
static void sub_8019E04(bool32);
|
||||
static void SetKecleonPortraitSpriteId(bool32 angrySprite);
|
||||
|
||||
enum MenuActions {
|
||||
CANCEL_ACTION = 1,
|
||||
|
|
@ -74,7 +74,7 @@ bool8 CreateKecleonBros(u32 mode)
|
|||
switch (mode) {
|
||||
case KECLEON_BROS_MODE_ITEMS_AWAKE:
|
||||
sKecleonBrosWork1->isKecleonItemShop = TRUE;
|
||||
sKecleonBrosWork1->unkE4 = &sKecleonBrosWork1->faceFile;
|
||||
sKecleonBrosWork1->monPortraitPtr = &sKecleonBrosWork1->monPortrait;
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON);
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON);
|
||||
monName = GetMonSpecies(MONSTER_KECLEON);
|
||||
|
|
@ -82,7 +82,7 @@ bool8 CreateKecleonBros(u32 mode)
|
|||
break;
|
||||
case KECLEON_BROS_MODE_ITEMS_ASLEEP:
|
||||
sKecleonBrosWork1->isKecleonItemShop = TRUE;
|
||||
sKecleonBrosWork1->unkE4 = NULL;
|
||||
sKecleonBrosWork1->monPortraitPtr = NULL;
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON);
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON);
|
||||
monName = GetMonSpecies(MONSTER_KECLEON);
|
||||
|
|
@ -90,7 +90,7 @@ bool8 CreateKecleonBros(u32 mode)
|
|||
break;
|
||||
case KECLEON_BROS_MODE_WARES_AWAKE:
|
||||
sKecleonBrosWork1->isKecleonItemShop = FALSE;
|
||||
sKecleonBrosWork1->unkE4 = &sKecleonBrosWork1->faceFile;
|
||||
sKecleonBrosWork1->monPortraitPtr = &sKecleonBrosWork1->monPortrait;
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON);
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON);
|
||||
monName = GetMonSpecies(MONSTER_KECLEON);
|
||||
|
|
@ -98,7 +98,7 @@ bool8 CreateKecleonBros(u32 mode)
|
|||
break;
|
||||
case KECLEON_BROS_MODE_WARES_ASLEEP:
|
||||
sKecleonBrosWork1->isKecleonItemShop = FALSE;
|
||||
sKecleonBrosWork1->unkE4 = NULL;
|
||||
sKecleonBrosWork1->monPortraitPtr = NULL;
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KECLEON);
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KECLEON);
|
||||
monName = GetMonSpecies(MONSTER_KECLEON);
|
||||
|
|
@ -109,13 +109,13 @@ bool8 CreateKecleonBros(u32 mode)
|
|||
}
|
||||
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_KECLEON);
|
||||
sKecleonBrosWork1->faceFile = faceFile;
|
||||
sKecleonBrosWork1->faceData = faceFile->data;
|
||||
sKecleonBrosWork1->unkE0 = 0;
|
||||
sKecleonBrosWork1->unkE1 = 0;
|
||||
sKecleonBrosWork1->unkE2 = 0;
|
||||
sKecleonBrosWork1->unkDC = 2;
|
||||
sKecleonBrosWork1->unkDE = 8;
|
||||
sKecleonBrosWork1->monPortrait.faceFile = faceFile;
|
||||
sKecleonBrosWork1->monPortrait.faceData = faceFile->data;
|
||||
sKecleonBrosWork1->monPortrait.spriteId = 0;
|
||||
sKecleonBrosWork1->monPortrait.flip = FALSE;
|
||||
sKecleonBrosWork1->monPortrait.unkE = 0;
|
||||
sKecleonBrosWork1->monPortrait.pos.x = 2;
|
||||
sKecleonBrosWork1->monPortrait.pos.y = 8;
|
||||
SetKecleonBrosState(KECLEON_STORE_INIT);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -168,7 +168,7 @@ u32 KecleonBrosCallback(void)
|
|||
void DeleteKecleonBros(void)
|
||||
{
|
||||
if (sKecleonBrosWork1 != NULL) {
|
||||
CloseFile(sKecleonBrosWork1->faceFile);
|
||||
CloseFile(sKecleonBrosWork1->monPortrait.faceFile);
|
||||
MemoryFree(sKecleonBrosWork1);
|
||||
sKecleonBrosWork1 = NULL;
|
||||
}
|
||||
|
|
@ -227,87 +227,87 @@ static void UpdateKecleonStoreDialogue(void)
|
|||
case KECLEON_STORE_INIT:
|
||||
KecleonCalcSellPriceForAllItems();
|
||||
BuildKecleonBrosMainMenu();
|
||||
sub_8019E04(FALSE);
|
||||
sub_8014248(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_00], 0, sKecleonBrosWork1->menuAction1,
|
||||
sKecleonBrosWork1->menuItems, sKecleonBrosWork1->unk74, 4, 0, sKecleonBrosWork1->unkE4, 12);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_00], 0, sKecleonBrosWork1->menuAction1,
|
||||
sKecleonBrosWork1->menuItems, sKecleonBrosWork1->unk74, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12);
|
||||
break;
|
||||
case KECLEON_STORE_MAIN_MENU:
|
||||
KecleonCalcSellPriceForAllItems();
|
||||
BuildKecleonBrosMainMenu();
|
||||
sub_8019E04(FALSE);
|
||||
sub_8014248(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_01], 0, sKecleonBrosWork1->menuAction1,
|
||||
sKecleonBrosWork1->menuItems, sKecleonBrosWork1->unk74, 4, 0, sKecleonBrosWork1->unkE4, 12);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_01], 0, sKecleonBrosWork1->menuAction1,
|
||||
sKecleonBrosWork1->menuItems, sKecleonBrosWork1->unk74, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12);
|
||||
break;
|
||||
case KECLEON_STORE_INFO:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_MAIN_MENU;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_22], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_22], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 3:
|
||||
case 3:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_EXIT;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_02], 0, sKecleonBrosWork1->unkE4, 0x30D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_02], 0, sKecleonBrosWork1->monPortraitPtr, 0x30D);
|
||||
break;
|
||||
case KECLEON_STORE_NO_STORE_ITEMS:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_MAIN_MENU;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_12], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_12], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_NO_MONEY:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_BUY_ITEM_MENU;
|
||||
sub_8019E04(TRUE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_13], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(TRUE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_13], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_TOO_MUCH_MONEY:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_MAIN_MENU;
|
||||
sub_8019E04(TRUE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_14], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(TRUE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_14], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_NO_ITEMS_TO_SELL:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_MAIN_MENU;
|
||||
sub_8019E04(TRUE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_15], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(TRUE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_15], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_NO_ITEMS:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_MAIN_MENU;
|
||||
sub_8019E04(TRUE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_16], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(TRUE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_16], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_TOO_MANY_ITEMS:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_MAIN_MENU;
|
||||
sub_8019E04(TRUE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_17], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(TRUE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_17], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 11:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_MAIN_MENU;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_18], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_18], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_NOT_ENOUGH_MONEY:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_BUY_ITEM_MENU;
|
||||
sub_8019E04(TRUE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_19], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(TRUE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_19], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_CANT_SELL_ITEM:
|
||||
sub_8090E14(gFormatItems, &sKecleonBrosWork1->soldItem, NULL);
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_SELL_ITEM_MENU;
|
||||
sub_8019E04(TRUE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_20], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(TRUE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_20], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_SELL_ITEM_TOO_MUCH_MONEY:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_SELL_ITEM_MENU;
|
||||
sub_8019E04(TRUE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_21], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(TRUE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_21], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 15:
|
||||
sKecleonBrosWork1->fallbackState = 18;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_03], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_03], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_BUY_ITEM_MENU:
|
||||
sKecleonBrosWork1->fallbackState = 19;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_04], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_04], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 18:
|
||||
if (sKecleonBrosWork1->isKecleonItemShop)
|
||||
|
|
@ -342,8 +342,8 @@ static void UpdateKecleonStoreDialogue(void)
|
|||
BuildKecleonBrosYesNoMenu();
|
||||
sub_8090E14(gFormatItems, &sKecleonBrosWork1->soldItem, 0);
|
||||
gFormatData_202DE30 = sKecleonBrosWork1->itemSellPrice;
|
||||
sub_8019E04(FALSE);
|
||||
sub_8014248(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_05], 0, 5,sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->unkE4, 12);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_05], 0, 5,sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12);
|
||||
break;
|
||||
case KECLEON_STORE_BUY_ITEM_RECEIPT:
|
||||
if (CountKecleonItems() == 0) {
|
||||
|
|
@ -364,18 +364,18 @@ static void UpdateKecleonStoreDialogue(void)
|
|||
else
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_BUY_ITEM_MENU;
|
||||
}
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_06], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_06], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 23:
|
||||
sKecleonBrosWork1->fallbackState = 26;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_07], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_07], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_SELL_ITEM_MENU:
|
||||
sKecleonBrosWork1->fallbackState = 27;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_08], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_08], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 26:
|
||||
sub_801A5D8(4, 3, NULL, 10);
|
||||
|
|
@ -395,8 +395,8 @@ static void UpdateKecleonStoreDialogue(void)
|
|||
BuildKecleonBrosYesNoMenu();
|
||||
sub_8090E14(gFormatItems, &sKecleonBrosWork1->soldItem, NULL);
|
||||
gFormatData_202DE30 = sKecleonBrosWork1->itemSellPrice;
|
||||
sub_8019E04(FALSE);
|
||||
sub_8014248(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_09], 0, 5, sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->unkE4, 12);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_09], 0, 5, sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12);
|
||||
break;
|
||||
case KECLEON_STORE_BUY_ITEM_INFO:
|
||||
case KECLEON_STORE_SELL_ITEM_INFO:
|
||||
|
|
@ -410,19 +410,19 @@ static void UpdateKecleonStoreDialogue(void)
|
|||
else
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_SELL_ITEM_MENU;
|
||||
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_11], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_11], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case KECLEON_STORE_SELL_ALL_ITEMS:
|
||||
BuildKecleonBrosYesNoMenu();
|
||||
gFormatData_202DE30 = sKecleonBrosWork1->inventoryItemSellPrice;
|
||||
sub_8019E04(FALSE);
|
||||
sub_8014248(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_10], 0, 5, sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->unkE4, 12);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_10], 0, 5, sKecleonBrosWork1->menuItems, NULL, 4, 0, sKecleonBrosWork1->monPortraitPtr, 12);
|
||||
break;
|
||||
case KECLEON_STORE_SELL_ALL_ITEMS_RECEIPT:
|
||||
sKecleonBrosWork1->fallbackState = KECLEON_STORE_MAIN_MENU;
|
||||
sub_8019E04(FALSE);
|
||||
xxx_info_box_80141B4(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_11], 0, sKecleonBrosWork1->unkE4, 0x10D);
|
||||
SetKecleonPortraitSpriteId(FALSE);
|
||||
CreateDialogueBoxAndPortrait(gCommonKecleonBros[sKecleonBrosWork1->mode][KECLEON_DLG_11], 0, sKecleonBrosWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -895,18 +895,18 @@ static void KecleonCalcSellPriceForAllItems(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void sub_8019E04(bool32 a0)
|
||||
static void SetKecleonPortraitSpriteId(bool32 angrySprite)
|
||||
{
|
||||
if (sKecleonBrosWork1->isKecleonItemShop) {
|
||||
if (a0 == TRUE)
|
||||
sKecleonBrosWork1->unkE0 = 1;
|
||||
if (angrySprite == TRUE)
|
||||
sKecleonBrosWork1->monPortrait.spriteId = 1;
|
||||
else
|
||||
sKecleonBrosWork1->unkE0 = 0;
|
||||
sKecleonBrosWork1->monPortrait.spriteId = 0;
|
||||
}
|
||||
else {
|
||||
if (a0 == TRUE)
|
||||
sKecleonBrosWork1->unkE0 = 7;
|
||||
if (angrySprite == TRUE)
|
||||
sKecleonBrosWork1->monPortrait.spriteId = 7;
|
||||
else
|
||||
sKecleonBrosWork1->unkE0 = 6;
|
||||
sKecleonBrosWork1->monPortrait.spriteId = 6;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -225,24 +225,24 @@ static void UpdateLuminousCaveDialogue(void)
|
|||
sLuminousCaveWork->menuAction1 = LUMINOUS_CAVE_CANCEL;
|
||||
|
||||
sub_8024CFC();
|
||||
sub_8014248(sSeekEvolutionIntro,0,sLuminousCaveWork->menuAction1,sLuminousCaveWork->unk34,sLuminousCaveWork->unk74,4,0,0,5);
|
||||
CreateMenuDialogueBoxAndPortrait(sSeekEvolutionIntro,0,sLuminousCaveWork->menuAction1,sLuminousCaveWork->unk34,sLuminousCaveWork->unk74,4,0,0,5);
|
||||
break;
|
||||
case LUMINOUS_CAVE_ASK_EVOLVE:
|
||||
sub_8024CFC();
|
||||
sub_8014248(sSeekEvolutionPrompt,0,sLuminousCaveWork->menuAction1,sLuminousCaveWork->unk34,sLuminousCaveWork->unk74,4,0,0,5);
|
||||
CreateMenuDialogueBoxAndPortrait(sSeekEvolutionPrompt,0,sLuminousCaveWork->menuAction1,sLuminousCaveWork->unk34,sLuminousCaveWork->unk74,4,0,0,5);
|
||||
break;
|
||||
case LUMINOUS_CAVE_EVOLVE_INFO:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_ASK_EVOLVE;
|
||||
xxx_info_box_80141B4(sEvolveInfo,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sEvolveInfo,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_SHALL_RETURN:
|
||||
sLuminousCaveWork->fallbackState = 4;
|
||||
xxx_call_fade_in_new_bgm(MUS_FILE_SELECT,0x3c);
|
||||
xxx_info_box_80141B4(sYeShallReturn,0,0,0x305);
|
||||
CreateDialogueBoxAndPortrait(sYeShallReturn,0,0,0x305);
|
||||
break;
|
||||
case LUMINOUS_CAVE_GIVE_ITEM_1:
|
||||
sub_8024D48();
|
||||
sub_8014248(sGiveItemPrompt,0,sLuminousCaveWork->menuAction2,sLuminousCaveWork->unk34,sLuminousCaveWork->unk74,4,0,0,5);
|
||||
CreateMenuDialogueBoxAndPortrait(sGiveItemPrompt,0,sLuminousCaveWork->menuAction2,sLuminousCaveWork->unk34,sLuminousCaveWork->unk74,4,0,0,5);
|
||||
break;
|
||||
case 6:
|
||||
sub_801A5D8(2,3,NULL,10);
|
||||
|
|
@ -252,7 +252,7 @@ static void UpdateLuminousCaveDialogue(void)
|
|||
break;
|
||||
case LUMINOUS_CAVE_GIVE_ITEM_2:
|
||||
sub_8024DBC();
|
||||
sub_8014248(sGiveAnotherItemPrompt,0,sLuminousCaveWork->menuAction2,sLuminousCaveWork->unk34,sLuminousCaveWork->unk74,4,0,0,5);
|
||||
CreateMenuDialogueBoxAndPortrait(sGiveAnotherItemPrompt,0,sLuminousCaveWork->menuAction2,sLuminousCaveWork->unk34,sLuminousCaveWork->unk74,4,0,0,5);
|
||||
break;
|
||||
case 11:
|
||||
sub_801A5D8(2,3,NULL,10);
|
||||
|
|
@ -277,11 +277,11 @@ static void UpdateLuminousCaveDialogue(void)
|
|||
break;
|
||||
case LUMINOUS_CAVE_LACK_WHAT_NEEDED:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_GIVE_ITEM_1;
|
||||
xxx_info_box_80141B4(sLackWhatIsNeeded,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sLackWhatIsNeeded,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_ONLY_ONE_ITEM:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_GIVE_ITEM_2;
|
||||
xxx_info_box_80141B4(sOnlyOneItem,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sOnlyOneItem,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LET_US_BEGIN:
|
||||
sub_8025254();
|
||||
|
|
@ -303,13 +303,13 @@ static void UpdateLuminousCaveDialogue(void)
|
|||
else
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_CANT_EVOLVE_YET;
|
||||
xxx_call_fade_out_bgm(0x3c);
|
||||
xxx_info_box_80141B4(sLetUsBegin,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sLetUsBegin,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_CHANGED_APPEARANCE:
|
||||
PrintColoredPokeNameToBuffer(gPlayerName,sLuminousCaveWork->pokeStruct, COLOR_CYAN);
|
||||
PlaySound(0x1ff);
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_EVOLVED;
|
||||
xxx_info_box_80141B4(sFmtChangedAppearance,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sFmtChangedAppearance,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_EVOLVED:
|
||||
monName = GetMonSpecies(sLuminousCaveWork->pokeStruct->speciesNum);
|
||||
|
|
@ -334,44 +334,44 @@ static void UpdateLuminousCaveDialogue(void)
|
|||
BoundedCopyStringtoBuffer(sLuminousCaveWork->pokeStruct->name,GetMonSpecies(sLuminousCaveWork->pokeStruct->speciesNum),POKEMON_NAME_LENGTH);
|
||||
}
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sFmtEvolved,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sFmtEvolved,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_COME_ALONE:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sComeAlone,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sComeAlone,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_LEVEL:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sLackLevel,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sLackLevel,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_CANT_EVOLVE_ANYMORE:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sNoMoreEvolutions,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sNoMoreEvolutions,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_FRIEND_AREA:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sLackFriendArea,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sLackFriendArea,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_ROOM:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sLackFriendAreaRoom,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sLackFriendAreaRoom,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_IQ:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sLackIQ,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sLackIQ,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_ITEM:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sLackItem,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sLackItem,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_CANT_EVOLVE_YET:
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
xxx_info_box_80141B4(sCannotEvolveYet,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sCannotEvolveYet,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_PROMPT_NAME:
|
||||
xxx_call_fade_in_new_bgm(8,0x3c);
|
||||
sLuminousCaveWork->fallbackState = LUMINOUS_CAVE_FINISH_NAME;
|
||||
xxx_info_box_80141B4(sMustGiveName,0,0,0x105);
|
||||
CreateDialogueBoxAndPortrait(sMustGiveName,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_FINISH_NAME:
|
||||
if (sLuminousCaveWork->pokeRenamed) {
|
||||
|
|
|
|||
|
|
@ -90,9 +90,9 @@ bool8 MakuhitaDojo_New(u32 mode)
|
|||
}
|
||||
|
||||
if (sMakuhitaDojoWork1->dlgMode == MAKUHITA_DOJO_MODE_ASLEEP)
|
||||
sMakuhitaDojoWork1->unk68 = NULL;
|
||||
sMakuhitaDojoWork1->monPortraitPtr = NULL;
|
||||
else
|
||||
sMakuhitaDojoWork1->unk68 = &sMakuhitaDojoWork1->faceFile;
|
||||
sMakuhitaDojoWork1->monPortraitPtr = &sMakuhitaDojoWork1->monPortrait;
|
||||
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_MAKUHITA);
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_MAKUHITA);
|
||||
|
|
@ -100,13 +100,13 @@ bool8 MakuhitaDojo_New(u32 mode)
|
|||
strcpy(gUnknown_202E1C8 - 0x50, monName);
|
||||
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_MAKUHITA);
|
||||
sMakuhitaDojoWork1->faceFile = faceFile;
|
||||
sMakuhitaDojoWork1->faceData = faceFile->data;
|
||||
sMakuhitaDojoWork1->unk64 = 0;
|
||||
sMakuhitaDojoWork1->unk65 = 0;
|
||||
sMakuhitaDojoWork1->unk66 = 0;
|
||||
sMakuhitaDojoWork1->unk60 = 2;
|
||||
sMakuhitaDojoWork1->unk62 = 8;
|
||||
sMakuhitaDojoWork1->monPortrait.faceFile = faceFile;
|
||||
sMakuhitaDojoWork1->monPortrait.faceData = faceFile->data;
|
||||
sMakuhitaDojoWork1->monPortrait.spriteId = 0;
|
||||
sMakuhitaDojoWork1->monPortrait.flip = FALSE;
|
||||
sMakuhitaDojoWork1->monPortrait.unkE = 0;
|
||||
sMakuhitaDojoWork1->monPortrait.pos.x = 2;
|
||||
sMakuhitaDojoWork1->monPortrait.pos.y = 8;
|
||||
MakuhitaDojo_SetState(initialState);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -141,7 +141,7 @@ s16 sub_802FED0(void)
|
|||
void MakuhitaDojo_Delete(void)
|
||||
{
|
||||
if (sMakuhitaDojoWork1 != NULL) {
|
||||
CloseFile(sMakuhitaDojoWork1->faceFile);
|
||||
CloseFile(sMakuhitaDojoWork1->monPortrait.faceFile);
|
||||
MemoryFree(sMakuhitaDojoWork1);
|
||||
sMakuhitaDojoWork1 = NULL;
|
||||
}
|
||||
|
|
@ -182,18 +182,18 @@ static void MakuhitaDojo_UpdateDialogue(void)
|
|||
switch (sMakuhitaDojoWork1->state) {
|
||||
case 0:
|
||||
MakuhitaDojo_DrawMainMenu();
|
||||
sub_8014248(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_0], 0, sMakuhitaDojoWork1->menuAction, sMakuhitaDojoWork1->unk18, NULL, 4, 0, sMakuhitaDojoWork1->unk68, 12);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_0], 0, sMakuhitaDojoWork1->menuAction, sMakuhitaDojoWork1->unk18, NULL, 4, 0, sMakuhitaDojoWork1->monPortraitPtr, 12);
|
||||
break;
|
||||
case 1:
|
||||
sub_8014248(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_1], 0, sMakuhitaDojoWork1->menuAction, sMakuhitaDojoWork1->unk18, NULL, 4, 0, sMakuhitaDojoWork1->unk68, 12);
|
||||
CreateMenuDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_1], 0, sMakuhitaDojoWork1->menuAction, sMakuhitaDojoWork1->unk18, NULL, 4, 0, sMakuhitaDojoWork1->monPortraitPtr, 12);
|
||||
break;
|
||||
case 2:
|
||||
sMakuhitaDojoWork1->fallbackState = 13;
|
||||
xxx_info_box_80141B4(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_2], 0, sMakuhitaDojoWork1->unk68, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_2], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 3:
|
||||
sMakuhitaDojoWork1->fallbackState = 4;
|
||||
xxx_info_box_80141B4(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_3], 0, sMakuhitaDojoWork1->unk68, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_3], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 4:
|
||||
sub_80302E8(3, NULL, 10);
|
||||
|
|
@ -203,36 +203,36 @@ static void MakuhitaDojo_UpdateDialogue(void)
|
|||
dLoc.id = sub_80A2740(sMakuhitaDojoWork1->unk10);
|
||||
dLoc.floor = 1;
|
||||
PrintYellowDungeonNametoBuffer(gAvailablePokemonNames, &dLoc);
|
||||
xxx_info_box_80141B4(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_4], 0, sMakuhitaDojoWork1->unk68, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_4], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 7:
|
||||
sMakuhitaDojoWork1->fallbackState = 13;
|
||||
xxx_info_box_80141B4(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_6], 0, sMakuhitaDojoWork1->unk68, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_6], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 6:
|
||||
sMakuhitaDojoWork1->fallbackState = 13;
|
||||
xxx_info_box_80141B4(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_5], 0, sMakuhitaDojoWork1->unk68, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_5], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 8:
|
||||
sMakuhitaDojoWork1->fallbackState = 9;
|
||||
xxx_info_box_80141B4(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_7], 0, sMakuhitaDojoWork1->unk68, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_7], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 9:
|
||||
PrintColoredPokeNameToBuffer(gPlayerName, GetPlayerPokemonStruct(), COLOR_YELLOW);
|
||||
sMakuhitaDojoWork1->fallbackState = 11;
|
||||
PlaySound(203);
|
||||
xxx_info_box_80141B4(sReceivedBonslyDoll, 0, 0, 0x101);
|
||||
CreateDialogueBoxAndPortrait(sReceivedBonslyDoll, 0, 0, 0x101);
|
||||
break;
|
||||
case 10:
|
||||
sMakuhitaDojoWork1->fallbackState = 13;
|
||||
xxx_info_box_80141B4(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_8], 0, sMakuhitaDojoWork1->unk68, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_8], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 11:
|
||||
sub_801B60C(1, ITEM_GINSENG, 1);
|
||||
break;
|
||||
case 12:
|
||||
sMakuhitaDojoWork1->fallbackState = 1;
|
||||
xxx_info_box_80141B4(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_9], 0, sMakuhitaDojoWork1->unk68, 0x10D);
|
||||
CreateDialogueBoxAndPortrait(gCommonMakuhita[sMakuhitaDojoWork1->dlgMode][MAKUHITA_DLG_9], 0, sMakuhitaDojoWork1->monPortraitPtr, 0x10D);
|
||||
break;
|
||||
case 13:
|
||||
return;
|
||||
|
|
@ -291,7 +291,7 @@ static void sub_8030258(void)
|
|||
sMakuhitaDojoWork1->unk10 = sub_8030418();
|
||||
sub_8030480();
|
||||
MakuhitaDojo_SetState(5);
|
||||
break;
|
||||
break;
|
||||
case 2:
|
||||
sub_8030480();
|
||||
sMakuhitaDojoWork1->unk10 = -1;
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ u32 sub_8012A64(MenuInputStructSub *r0, s32 r1)
|
|||
return sub_8012AE8();
|
||||
|
||||
if (r1 != -1)
|
||||
nullsub_34(r0);
|
||||
nullsub_34(r0, r1);
|
||||
|
||||
if (r0->a_button != 0) {
|
||||
r0->a_button = 0;
|
||||
|
|
@ -712,7 +712,7 @@ void AddMenuCursorSprite_(MenuInputStruct *a0, u8 *a1)
|
|||
a0->unk24++;
|
||||
}
|
||||
|
||||
void nullsub_34(MenuInputStructSub *a0)
|
||||
void nullsub_34(MenuInputStructSub *a0, s32 a1)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,13 +23,7 @@ struct unkStruct_203B310
|
|||
/* 0x9 */ u8 currTeamRank; // team rank
|
||||
/* 0xC */ s32 itemRewardIndex;
|
||||
unkStruct_802F204 *unk10;
|
||||
/* 0x14 */ OpenedFile *faceFile;
|
||||
/* 0x18 */ u8 *faceData;
|
||||
s16 unk1C;
|
||||
s16 unk1E;
|
||||
u8 unk20;
|
||||
u8 unk21;
|
||||
u8 unk22;
|
||||
/* 0x14 */ struct MonPortraitMsg monPortrait;
|
||||
UnkTextStruct2 unk24[4];
|
||||
};
|
||||
|
||||
|
|
@ -138,18 +132,18 @@ u32 sub_802F204(unkStruct_802F204 *r0, bool8 displayClientSprite)
|
|||
strcpy(gUnknown_202E5D8, preload->unk10->clientName);
|
||||
PrintPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct());
|
||||
|
||||
gUnknown_203B310->faceFile = GetDialogueSpriteDataPtr(gUnknown_203B310->unk10->clientSpecies);
|
||||
gUnknown_203B310->faceData = NULL;
|
||||
gUnknown_203B310->monPortrait.faceFile = GetDialogueSpriteDataPtr(gUnknown_203B310->unk10->clientSpecies);
|
||||
gUnknown_203B310->monPortrait.faceData = NULL;
|
||||
|
||||
gUnknown_203B310->unk20 = 0;
|
||||
gUnknown_203B310->unk21 = 0;
|
||||
gUnknown_203B310->unk22 = 0;
|
||||
gUnknown_203B310->unk1C = 2;
|
||||
gUnknown_203B310->unk1E = 8;
|
||||
gUnknown_203B310->monPortrait.spriteId = 0;
|
||||
gUnknown_203B310->monPortrait.flip = FALSE;
|
||||
gUnknown_203B310->monPortrait.unkE = 0;
|
||||
gUnknown_203B310->monPortrait.pos.x = 2;
|
||||
gUnknown_203B310->monPortrait.pos.y = 8;
|
||||
|
||||
if(gUnknown_203B310->faceFile != NULL)
|
||||
if(gUnknown_203B310->monPortrait.faceFile != NULL)
|
||||
{
|
||||
gUnknown_203B310->faceData = gUnknown_203B310->faceFile->data;
|
||||
gUnknown_203B310->monPortrait.faceData = gUnknown_203B310->monPortrait.faceFile->data;
|
||||
}
|
||||
|
||||
SetRewardSceneState(PREP_MONEY_REWARD);
|
||||
|
|
@ -175,8 +169,8 @@ void sub_802F2C0(void)
|
|||
{
|
||||
if(gUnknown_203B310 != NULL)
|
||||
{
|
||||
if(gUnknown_203B310->faceFile != 0)
|
||||
CloseFile(gUnknown_203B310->faceFile);
|
||||
if(gUnknown_203B310->monPortrait.faceFile != 0)
|
||||
CloseFile(gUnknown_203B310->monPortrait.faceFile);
|
||||
MemoryFree(gUnknown_203B310);
|
||||
gUnknown_203B310 = NULL;
|
||||
}
|
||||
|
|
@ -214,7 +208,7 @@ void HandleMissionReward(void)
|
|||
u8 itemID;
|
||||
struct unkStruct_8090F58 local_20;
|
||||
Item item;
|
||||
|
||||
|
||||
switch(gUnknown_203B310->state) {
|
||||
case PREP_MONEY_REWARD:
|
||||
moneyReward = gUnknown_203B310->unk10->moneyReward;
|
||||
|
|
@ -224,7 +218,7 @@ void HandleMissionReward(void)
|
|||
else {
|
||||
gFormatData_202DE30 = moneyReward;
|
||||
if (gUnknown_203B310->displayClientDialogueSprite) {
|
||||
xxx_info_box_80141B4(gUnknown_80E0434,0,&gUnknown_203B310->faceFile,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E0434,0,&gUnknown_203B310->monPortrait,0x10d);
|
||||
gUnknown_203B310->nextState = MONEY_REWARD;
|
||||
}
|
||||
else {
|
||||
|
|
@ -236,10 +230,10 @@ void HandleMissionReward(void)
|
|||
PlaySound(0xcb);
|
||||
AddToTeamMoney(gUnknown_203B310->unk10->moneyReward);
|
||||
if (GetUnitSum_808D544(0) < 2) {
|
||||
xxx_info_box_80141B4(gUnknown_80E045C,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E045C,0,0,0x101);
|
||||
}
|
||||
else {
|
||||
xxx_info_box_80141B4(gUnknown_80E0484,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E0484,0,0,0x101);
|
||||
}
|
||||
gUnknown_203B310->nextState = PREP_FRIEND_AREA_REWARD;
|
||||
break;
|
||||
|
|
@ -250,7 +244,7 @@ void HandleMissionReward(void)
|
|||
else {
|
||||
WriteFriendAreaName(gUnknown_202E628,gUnknown_203B310->unk10->friendAreaReward,FALSE);
|
||||
if (gUnknown_203B310->displayClientDialogueSprite) {
|
||||
xxx_info_box_80141B4(gUnknown_80E04B4,0,&gUnknown_203B310->faceFile,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E04B4,0,&gUnknown_203B310->monPortrait,0x10d);
|
||||
gUnknown_203B310->nextState = UNLOCK_FRIEND_AREA;
|
||||
}
|
||||
else {
|
||||
|
|
@ -262,27 +256,27 @@ void HandleMissionReward(void)
|
|||
if (GetFriendAreaStatus(gUnknown_203B310->unk10->friendAreaReward)) {
|
||||
// We already have the friend area
|
||||
AddToTeamMoney(1000);
|
||||
xxx_info_box_80141B4(gUnknown_80E04F4,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E04F4,0,0,0x101);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetUnitSum_808D544(0) < 2) {
|
||||
UnlockFriendArea(gUnknown_203B310->unk10->friendAreaReward);
|
||||
PlaySound(0xce);
|
||||
xxx_info_box_80141B4(gUnknown_80E05C0,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E05C0,0,0,0x101);
|
||||
}
|
||||
else
|
||||
{
|
||||
UnlockFriendArea(gUnknown_203B310->unk10->friendAreaReward);
|
||||
PlaySound(0xce);
|
||||
xxx_info_box_80141B4(gUnknown_80E05FC,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E05FC,0,0,0x101);
|
||||
}
|
||||
}
|
||||
gUnknown_203B310->nextState = PREP_ITEM_REWARD;
|
||||
break;
|
||||
case PREP_ITEM_REWARD:
|
||||
itemID = gUnknown_203B310->unk10->itemRewards[0];
|
||||
if (itemID != ITEM_NOTHING)
|
||||
if (itemID != ITEM_NOTHING)
|
||||
{
|
||||
if (gUnknown_203B310->unk10->moneyReward == 0) {
|
||||
item.id = itemID;
|
||||
|
|
@ -298,7 +292,7 @@ void HandleMissionReward(void)
|
|||
local_20.unk8 = 1;
|
||||
sub_8090E14(gUnknown_202DEA8,&item,&local_20);
|
||||
if (gUnknown_203B310->displayClientDialogueSprite) {
|
||||
xxx_info_box_80141B4(gUnknown_80E0640,0,&gUnknown_203B310->faceFile,0x10d);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E0640,0,&gUnknown_203B310->monPortrait,0x10d);
|
||||
gUnknown_203B310->nextState = GIVE_ITEM_REWARD;
|
||||
}
|
||||
else
|
||||
|
|
@ -349,7 +343,7 @@ void HandleMissionReward(void)
|
|||
gUnknown_203B310->nextState = REWARD_EXIT;
|
||||
}
|
||||
gFormatData_202DE30 = gUnknown_203B310->unk10->teamRankPtsReward;
|
||||
xxx_info_box_80141B4(gUnknown_80E0670,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E0670,0,0,0x101);
|
||||
}
|
||||
break;
|
||||
case NEW_TEAM_RANK:
|
||||
|
|
@ -359,7 +353,7 @@ void HandleMissionReward(void)
|
|||
strcpy(gUnknown_202E038,rankString);
|
||||
rankString = GetTeamRankString(GetRescueTeamRank());
|
||||
strcpy(gUnknown_202E038 + 0x50,rankString);
|
||||
xxx_info_box_80141B4(gUnknown_80E06A8,0,0,0x101);
|
||||
CreateDialogueBoxAndPortrait(gUnknown_80E06A8,0,0,0x101);
|
||||
break;
|
||||
case REWARD_EXIT:
|
||||
break;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user