Merge pull request #85 from AnonymousRandomPerson/master

More AI decomp
This commit is contained in:
Seth Barberee
2021-12-19 16:38:51 -06:00
committed by GitHub
70 changed files with 26712 additions and 26758 deletions

View File

@@ -2523,7 +2523,7 @@ sub_80414C0:
cmp r0, 0x9C
bne _080414DC
adds r0, r5, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
bl IsTileWater
lsls r0, 24
cmp r0, 0
@@ -2533,7 +2533,7 @@ _080414DC:
cmp r0, 0x8
bne _080414F6
adds r0, r5, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
ldrh r1, [r0]
movs r0, 0x3
ands r0, r1

File diff suppressed because it is too large Load Diff

5078
asm/code_8045A00.s Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

18473
asm/code_8049590.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -909,7 +909,7 @@ sub_8057788:
movs r0, 0
mov r9, r0
adds r0, r4, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
adds r5, r0, 0
bl IsTileWater
lsls r0, 24

View File

@@ -4061,7 +4061,7 @@ DiveMoveAction:
adds r5, r2, 0
mov r8, r3
movs r6, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
bl IsTileWater
lsls r0, 24
cmp r0, 0
@@ -9264,7 +9264,7 @@ TrapbustOrbAction:
movs r0, 0
str r0, [sp, 0x10]
adds r0, r1, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
adds r4, r0, 0
bl IsBossBattle
lsls r0, 24
@@ -10680,12 +10680,12 @@ _0805CCD0:
b _0805CDC2
_0805CCD8:
adds r0, r5, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
bl IsTileWater
b _0805CDEC
_0805CCE4:
adds r0, r5, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
adds r4, r0, 0
bl IsTileWater
lsls r0, 24
@@ -10703,7 +10703,7 @@ _0805CD04:
b _0805CB6E
_0805CD06:
adds r0, r5, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
ldr r0, [r0, 0x14]
cmp r0, 0
bne _0805CD14
@@ -14663,7 +14663,7 @@ _0805EE42:
b _0805EF52
_0805EE4E:
adds r0, r5, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
adds r4, r0, 0
adds r0, r5, 0
movs r1, 0xD
@@ -34665,7 +34665,7 @@ sub_8068F80:
cmp r5, 0
beq _08068FCC
adds r0, r5, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
ldrh r0, [r0]
lsrs r0, 5
movs r1, 0x1
@@ -34703,7 +34703,7 @@ sub_8068FE0:
asrs r1, 16
mov r9, r1
ldr r7, [r0, 0x70]
bl sub_8045128
bl GetMapEntityForDungeonEntity
adds r4, r0, 0
ldr r0, [sp, 0x74]
cmp r0, 0
@@ -37559,7 +37559,7 @@ sub_806A5B8:
b _0806A6D2
_0806A5CE:
adds r0, r6, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
ldrh r0, [r0]
movs r1, 0x3
ands r1, r0

View File

@@ -142,7 +142,7 @@ _0806CF94: .4byte 0x000135cc
sub_806CF98:
push {r4-r7,lr}
adds r4, r0, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
ldrh r0, [r0]
movs r5, 0x3
ands r5, r0
@@ -1123,7 +1123,7 @@ _0806D760:
cmp r0, 0
beq _0806D796
adds r0, r7, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
mov r8, r0
movs r0, 0x14
movs r1, 0x18

View File

@@ -51,199 +51,4 @@ _08071590:
bx r0
thumb_func_end CheckRunAwayVisualFlag
thumb_func_start CanTarget
CanTarget:
push {r4-r6,lr}
adds r6, r0, 0
lsls r2, 24
lsrs r2, 24
lsls r3, 24
lsrs r3, 24
ldr r5, [r6, 0x70]
ldr r4, [r1, 0x70]
cmp r6, r1
bne _080715B0
movs r0, 0
b _08071670
_080715B0:
ldrb r0, [r5, 0x8]
cmp r0, 0x1
beq _08071606
ldrb r0, [r4, 0x8]
cmp r0, 0x1
beq _08071606
adds r0, r5, 0
adds r0, 0xA4
ldrb r1, [r0]
cmp r1, 0x4
beq _08071606
adds r0, r4, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x4
beq _08071606
cmp r1, 0x1
beq _08071606
cmp r0, 0x1
beq _08071606
cmp r3, 0
beq _080715EC
ldrb r0, [r5, 0x6]
cmp r0, 0
bne _080715EC
adds r0, r4, 0
adds r0, 0xB0
ldrb r0, [r0]
cmp r0, 0x6
beq _08071606
_080715EC:
cmp r2, 0
bne _0807160A
adds r0, r4, 0
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x1
bne _0807160A
adds r0, r6, 0
bl CanSeeInvisible
lsls r0, 24
cmp r0, 0
bne _0807160A
_08071606:
movs r0, 0x2
b _08071670
_0807160A:
movs r1, 0x80
lsls r1, 1
adds r0, r5, r1
ldrb r0, [r0]
movs r6, 0
cmp r0, 0
beq _08071620
movs r6, 0x2
cmp r0, 0x1
bne _08071620
movs r6, 0x1
_08071620:
ldrb r0, [r5, 0x8]
cmp r0, 0
beq _08071630
movs r5, 0
cmp r0, 0x3
bne _08071638
movs r5, 0x1
b _08071638
_08071630:
ldrb r1, [r5, 0x6]
negs r0, r1
orrs r0, r1
lsrs r5, r0, 31
_08071638:
ldrb r0, [r4, 0x8]
cmp r0, 0
beq _08071648
movs r1, 0
cmp r0, 0x3
bne _08071650
movs r1, 0x1
b _08071650
_08071648:
ldrb r1, [r4, 0x6]
negs r0, r1
orrs r0, r1
lsrs r1, r0, 31
_08071650:
movs r3, 0
adds r0, r4, 0
adds r0, 0xC8
ldrb r0, [r0]
cmp r0, 0x2
bne _0807165E
movs r3, 0x1
_0807165E:
ldr r2, _08071678
lsls r0, r1, 1
adds r0, r3, r0
lsls r1, r5, 2
adds r0, r1
lsls r1, r6, 3
adds r0, r1
adds r0, r2
ldrb r0, [r0]
_08071670:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_08071678: .4byte gUnknown_8106FE5
thumb_func_end CanTarget
thumb_func_start sub_807167C
sub_807167C:
push {lr}
ldr r2, [r0, 0x70]
ldr r1, [r1, 0x70]
adds r0, r2, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
beq _080716D2
adds r0, r2, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _0807169A
cmp r0, 0x47
bne _0807169E
_0807169A:
movs r0, 0x1
b _080716A0
_0807169E:
movs r0, 0
_080716A0:
cmp r0, 0
bne _080716D2
ldrb r0, [r2, 0x8]
cmp r0, 0
bne _080716D2
adds r0, r1, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
beq _080716D2
adds r0, r1, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _080716C2
cmp r0, 0x47
bne _080716C6
_080716C2:
movs r0, 0x1
b _080716C8
_080716C6:
movs r0, 0
_080716C8:
cmp r0, 0
bne _080716D2
ldrb r0, [r1, 0x8]
cmp r0, 0
beq _080716D6
_080716D2:
movs r0, 0x2
b _080716E4
_080716D6:
ldrb r0, [r2, 0x6]
ldrb r1, [r1, 0x6]
cmp r0, r1
bne _080716E2
movs r0, 0
b _080716E4
_080716E2:
movs r0, 0x1
_080716E4:
pop {r1}
bx r1
thumb_func_end sub_807167C
.align 2, 0
.align 2, 0

76
asm/code_807167C.s Normal file
View File

@@ -0,0 +1,76 @@
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_807167C
sub_807167C:
push {lr}
ldr r2, [r0, 0x70]
ldr r1, [r1, 0x70]
adds r0, r2, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
beq _080716D2
adds r0, r2, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _0807169A
cmp r0, 0x47
bne _0807169E
_0807169A:
movs r0, 0x1
b _080716A0
_0807169E:
movs r0, 0
_080716A0:
cmp r0, 0
bne _080716D2
ldrb r0, [r2, 0x8]
cmp r0, 0
bne _080716D2
adds r0, r1, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
beq _080716D2
adds r0, r1, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _080716C2
cmp r0, 0x47
bne _080716C6
_080716C2:
movs r0, 0x1
b _080716C8
_080716C6:
movs r0, 0
_080716C8:
cmp r0, 0
bne _080716D2
ldrb r0, [r1, 0x8]
cmp r0, 0
beq _080716D6
_080716D2:
movs r0, 0x2
b _080716E4
_080716D6:
ldrb r0, [r2, 0x6]
ldrb r1, [r1, 0x6]
cmp r0, r1
bne _080716E2
movs r0, 0
b _080716E4
_080716E2:
movs r0, 0x1
_080716E4:
pop {r1}
bx r1
thumb_func_end sub_807167C
.align 2, 0

View File

@@ -4,7 +4,7 @@
.syntax unified
.text
thumb_func_start TargetThrownItem
TargetThrownItem:
push {r4-r7,lr}
@@ -240,7 +240,7 @@ sub_8073D14:
sub sp, 0xB0
adds r6, r0, 0
ldr r4, [r6, 0x70]
bl sub_8045128
bl GetMapEntityForDungeonEntity
ldr r5, [r0, 0x14]
cmp r5, 0
bne _08073D30
@@ -3443,7 +3443,7 @@ sub_8075708:
cmp r0, 0
beq _0807580C
adds r0, r4, 0
bl sub_8045128
bl GetMapEntityForDungeonEntity
adds r5, r0, 0
adds r0, r4, 0
movs r1, 0xD

File diff suppressed because it is too large Load Diff

1879
asm/code_808333C.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -304,4 +304,7 @@ YELLOW_4 = 44 @ D
LIGHT_BLUE = 45 @ E
WHITE_5 = 46 @ F
LIGHT_BLUE_2 = 47 @ G (TODO CHECK THIS)
ITEM_COLOR = 49 @ I
CYAN_3 = 4D @ M
YELLOW_5 = 4E @ N
UNKNOWN_COLOR = 57 @ W

View File

@@ -62,7 +62,7 @@
.global PleaseWakeUp_822C4C0
PleaseWakeUp_822C4C0:
.string " ...Please{COMMA} wake up.#W\nCome on{COMMA} wake up.\0"
.string " ...Please{COMMA} wake up.{WAIT_PRESS}\nCome on{COMMA} wake up.\0"
.align 2,0
.global ExcuseMe_822C4F0
@@ -72,7 +72,7 @@
.global HeyWakeUp_822C500
HeyWakeUp_822C500:
.string " ...Hey{COMMA} wake up.#W\nWake up already.\0"
.string " ...Hey{COMMA} wake up.{WAIT_PRESS}\nWake up already.\0"
.align 2,0
.global Hey_822C528
@@ -97,27 +97,27 @@
.global WonderWhoItIs_822C554
WonderWhoItIs_822C554:
.string "#+I wonder who it is?\0"
.string "{CENTER_ALIGN}I wonder who it is?\0"
.align 2,0
.global VoiceSomewhere_822C56C
VoiceSomewhere_822C56C:
.string "#+...I hear a voice from somewhere...\0"
.string "{CENTER_ALIGN}...I hear a voice from somewhere...\0"
.align 2,0
.global PleasantBreeze_822C594
PleasantBreeze_822C594:
.string "#+I feel a pleasant breeze.\0"
.string "{CENTER_ALIGN}I feel a pleasant breeze.\0"
.align 2,0
.global AmIDreamingThis_822C5B0
AmIDreamingThis_822C5B0:
.string "#+Am I dreaming this?\0"
.string "{CENTER_ALIGN}Am I dreaming this?\0"
.align 2,0
.global WhereAmI_822C5C8
WhereAmI_822C5C8:
.string "#+Where am I?\0"
.string "{CENTER_ALIGN}Where am I?\0"
.align 2,0
.byte 0x90, 0x01, 0x07

View File

@@ -410,7 +410,7 @@ gUnknown_80B71A0: @ 80B71A0
.global CWEND_text
CWEND_text:
.string "#CWEND{END_COLOR_TEXT_1}\0"
.string "{COLOR_1 UNKNOWN_COLOR}END{END_COLOR_TEXT_1}\0"
.align 2,0
.global CNLAST_text
@@ -425,7 +425,7 @@ gUnknown_80B71A0: @ 80B71A0
.global CISTART_text
CISTART_text:
.string "#CISTART{END_COLOR_TEXT_1}\0"
.string "{COLOR_1 ITEM_COLOR}START{END_COLOR_TEXT_1}\0"
.align 2,0
.global gUnknown_80B71E4

View File

@@ -5969,7 +5969,7 @@ gUnknown_80D406C: @ 80D406C
.global gUnknown_80D4074
gUnknown_80D4074: @ 80D4074
.string "#+{ARG_POKEMON_0}\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_0}\0"
.align 2,0
.global gUnknown_80D407C
@@ -6039,7 +6039,7 @@ gUnknown_80D40F4: @ 80D40F4
.global gUnknown_80D40FC
gUnknown_80D40FC: @ 80D40FC
.string "#+%s\0"
.string "{CENTER_ALIGN}%s\0"
.align 2,0
.global gUnknown_80D4104

File diff suppressed because it is too large Load Diff

View File

@@ -469,15 +469,15 @@ gUnknown_80E0434: @ 80E0434
.global gUnknown_80E045C
gUnknown_80E045C: @ 80E045C
@ replacing .incbin "baserom.gba", 0x000e045c, 0x28
.string "#+{COLOR_1 YELLOW_5}{ARG_POKEMON_0}{END_COLOR_TEXT_1} received\n"
.string "#+{COLOR_1 CYAN}$d0{END_COLOR_TEXT_1}"
.string "{CENTER_ALIGN}{COLOR_1 YELLOW_5}{ARG_POKEMON_0}{END_COLOR_TEXT_1} received\n"
.string "{CENTER_ALIGN}{COLOR_1 CYAN}$d0{END_COLOR_TEXT_1}"
.byte 0x20, 0x83
.byte 0xbf, 0x83, 0xc4, 0x2e, 0x00, 0x00, 0x00, 0x00
.global gUnknown_80E0484
gUnknown_80E0484: @ 80E0484
.string "#+{COLOR_1 YELLOW_5}{ARG_POKEMON_0}{END_COLOR_TEXT_1}{APOSTROPHE}s team received\n"
.string "#+{COLOR_1 CYAN}$d0{END_COLOR_TEXT_1} {POKE}"
.string "{CENTER_ALIGN}{COLOR_1 YELLOW_5}{ARG_POKEMON_0}{END_COLOR_TEXT_1}{APOSTROPHE}s team received\n"
.string "{CENTER_ALIGN}{COLOR_1 CYAN}$d0{END_COLOR_TEXT_1} {POKE}"
.byte 0x2E, 0x00, 0x00, 0x00
.global gUnknown_80E04B4
@@ -493,16 +493,16 @@ gUnknown_80E04F4: @ 80E04F4
.global gUnknown_80E05C0
gUnknown_80E05C0: @ 80E05C0
.string "#+{COLOR_1 YELLOW_5}{ARG_POKEMON_0}{END_COLOR_TEXT_1} gained access\n"
.string "#+to the Friend Area\n"
.string "#+{COLOR_1 GREEN}$h{END_COLOR_TEXT_1}.\0"
.string "{CENTER_ALIGN}{COLOR_1 YELLOW_5}{ARG_POKEMON_0}{END_COLOR_TEXT_1} gained access\n"
.string "{CENTER_ALIGN}to the Friend Area\n"
.string "{CENTER_ALIGN}{COLOR_1 GREEN}$h{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gUnknown_80E05FC
gUnknown_80E05FC: @ 80E05FC
.string "#+{COLOR_1 YELLOW_5}{ARG_POKEMON_0}{END_COLOR_TEXT_1}{APOSTROPHE}s team gained access\n"
.string "#+to the Friend Area\n"
.string "#+{COLOR_1 GREEN}$h{END_COLOR_TEXT_1}.\0"
.string "{CENTER_ALIGN}{COLOR_1 YELLOW_5}{ARG_POKEMON_0}{END_COLOR_TEXT_1}{APOSTROPHE}s team gained access\n"
.string "{CENTER_ALIGN}to the Friend Area\n"
.string "{CENTER_ALIGN}{COLOR_1 GREEN}$h{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gUnknown_80E0640
@@ -513,16 +513,16 @@ gUnknown_80E0640: @ 80E0640
.global gUnknown_80E0670
gUnknown_80E0670: @ 80E0670
.string "#+Rescue Team {COLOR_1 LIGHT_BLUE_2}$t{END_COLOR_TEXT_1}\n"
.string "#+gained {COLOR_1 CYAN}$d0{END_COLOR_TEXT_1} rescue points.\0"
.string "{CENTER_ALIGN}Rescue Team {COLOR_1 LIGHT_BLUE_2}$t{END_COLOR_TEXT_1}\n"
.string "{CENTER_ALIGN}gained {COLOR_1 CYAN}$d0{END_COLOR_TEXT_1} rescue points.\0"
.align 2,0
.global gUnknown_80E06A8
gUnknown_80E06A8: @ 80E06A8
.string "#+Congratulations!#P"
.string "#+{COLOR_1 LIGHT_BLUE_2}$t{END_COLOR_TEXT_1} went up in rank\n"
.string "#+from the {ARG_POKEMON_2}\n"
.string "#+to the {ARG_POKEMON_3}!\0"
.string "{CENTER_ALIGN}Congratulations!{EXTRA_MSG}"
.string "{CENTER_ALIGN}{COLOR_1 LIGHT_BLUE_2}$t{END_COLOR_TEXT_1} went up in rank\n"
.string "{CENTER_ALIGN}from the {ARG_POKEMON_2}\n"
.string "{CENTER_ALIGN}to the {ARG_POKEMON_3}!\0"
.align 2,0
.string "pksdir0\0"
.align 2,0
@@ -579,9 +579,9 @@ gUnknown_80E0760: @ 80E0760
.global gUnknown_80E0778
gUnknown_80E0778: @ 80E0778
.string "#+{COLOR_1 YELLOW_5}$n0{END_COLOR_TEXT_1} received the #CIBonsly Doll{END_COLOR_TEXT_1}!\n"
.string "#+It has been placed outside your\n"
.string "#+rescue team base.\0"
.string "{CENTER_ALIGN}{COLOR_1 YELLOW_5}$n0{END_COLOR_TEXT_1} received the {COLOR_1 ITEM_COLOR}Bonsly Doll{END_COLOR_TEXT_1}!\n"
.string "{CENTER_ALIGN}It has been placed outside your\n"
.string "{CENTER_ALIGN}rescue team base.\0"
.align 2,0
.global gUnknown_80E07D8
@@ -620,7 +620,7 @@ gUnknown_80E0824: @ 80E0824
.global gUnknown_80E0828
gUnknown_80E0828: @ 80E0828
.string "#c%c%s{END_COLOR_TEXT_2}\0"
.string "{COLOR_2}%c%s{END_COLOR_TEXT_2}\0"
.align 2,0
.string "pksdir0\0"
.align 2,0

View File

@@ -36,7 +36,7 @@ gUnknown_80E1F80: @ 80E1F80
.global gUnknown_80E1F94
gUnknown_80E1F94: @ 80E1F94
.string "#CW???{END_COLOR_TEXT_1}\0"
.string "{COLOR_1 UNKNOWN_COLOR}???{END_COLOR_TEXT_1}\0"
.align 2,0
.string "pksdir0\0"

View File

@@ -669,9 +669,9 @@ gUnknown_80E2D7C: @ 80E2D7C
.global gUnknown_80E2DD0
gUnknown_80E2DD0: @ 80E2DD0
.string "#+Communicating...\n"
.string "#+Please wait with the power on.\n"
.string "#+To cancel{COMMA} press {B_BUTTON}.\0"
.string "{CENTER_ALIGN}Communicating...\n"
.string "{CENTER_ALIGN}Please wait with the power on.\n"
.string "{CENTER_ALIGN}To cancel{COMMA} press {B_BUTTON}.\0"
.align 2,0
.global gUnknown_80E2E20
@@ -682,16 +682,16 @@ gUnknown_80E2E20: @ 80E2E20
.global gUnknown_80E2E54
gUnknown_80E2E54: @ 80E2E54
.string "#+Reading from GBA Game Pak.\n"
.string "#+Do not remove the GBA Game Pak.\n"
.string "#+Please wait with the power on.\0"
.string "{CENTER_ALIGN}Reading from GBA Game Pak.\n"
.string "{CENTER_ALIGN}Do not remove the GBA Game Pak.\n"
.string "{CENTER_ALIGN}Please wait with the power on.\0"
.align 2,0
.global gUnknown_80E2EB4
gUnknown_80E2EB4: @ 80E2EB4
.string "#+Writing to GBA Game Pak.\n"
.string "#+Do not remove the GBA Game Pak.\n"
.string "#+Please wait with the power on.\0"
.string "{CENTER_ALIGN}Writing to GBA Game Pak.\n"
.string "{CENTER_ALIGN}Do not remove the GBA Game Pak.\n"
.string "{CENTER_ALIGN}Please wait with the power on.\0"
.align 2,0
.global gUnknown_80E2F14
@@ -830,7 +830,7 @@ gUnknown_80E33D8: @ 80E33D8
.global gUnknown_80E3430
gUnknown_80E3430: @ 80E3430
.string "This mail already has an attached\n"
.string "{COLOR_1 LIGHT_BLUE_2}reward item{END_COLOR_TEXT_1}.#POnce an item has been chosen{COMMA} it may not\n"
.string "{COLOR_1 LIGHT_BLUE_2}reward item{END_COLOR_TEXT_1}.{EXTRA_MSG}Once an item has been chosen{COMMA} it may not\n"
.string "be exchanged with another item.\0"
.align 2,0
@@ -889,11 +889,11 @@ gUnknown_80E367C: @ 80E367C
gUnknown_80E3690: @ 80E3690
.string "If your team is defeated and in need\n"
.string "of rescuing{COMMA} send an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}\n"
.string "to a friend.#POnce you send your mail{COMMA} you must wait\n"
.string "to a friend.{EXTRA_MSG}Once you send your mail{COMMA} you must wait\n"
.string "for your friend to send you\n"
.string "an {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.#PIf the {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1} arrives{COMMA} your\n"
.string "an {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}If the {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1} arrives{COMMA} your\n"
.string "team can be revived to resume exploring\n"
.string "the dungeon it was in.#PWhen your team is revived{COMMA} don{APOSTROPHE}t forget\n"
.string "the dungeon it was in.{EXTRA_MSG}When your team is revived{COMMA} don{APOSTROPHE}t forget\n"
.string "to send a {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1} to the friend\n"
.string "who came to your rescue.\0"
.align 2,0
@@ -902,11 +902,11 @@ gUnknown_80E3690: @ 80E3690
gUnknown_80E3818: @ 80E3818
.string "If your team is defeated in\n"
.string "a dungeon{COMMA} you may send a friend\n"
.string "an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} for help.#PHowever{COMMA} there are some places\n"
.string "an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} for help.{EXTRA_MSG}However{COMMA} there are some places\n"
.string "where it is impossible for you to\n"
.string "call for a rescue.#PAlso{COMMA} if you send an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}{COMMA}\n"
.string "call for a rescue.{EXTRA_MSG}Also{COMMA} if you send an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}{COMMA}\n"
.string "you may not continue with your\n"
.string "adventure while awaiting rescue.#PIf you cannot wait to be rescued{COMMA}\n"
.string "adventure while awaiting rescue.{EXTRA_MSG}If you cannot wait to be rescued{COMMA}\n"
.string "you will have to give up and return\n"
.string "to your rescue team base.\0"
.align 2,0
@@ -915,11 +915,11 @@ gUnknown_80E3818: @ 80E3818
gUnknown_80E3998: @ 80E3998
.string "If your friend successfully rescues\n"
.string "your team{COMMA} accept your friend{APOSTROPHE}s\n"
.string "{COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.#POnce the {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1} is received{COMMA}\n"
.string "{COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}Once the {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1} is received{COMMA}\n"
.string "you may revive your team and resume\n"
.string "exploring the dungeon you were in.#PUsing a {COLOR_1 LIGHT_BLUE_2}Game Link cable{END_COLOR_TEXT_1}{COMMA}\n"
.string "exploring the dungeon you were in.{EXTRA_MSG}Using a {COLOR_1 LIGHT_BLUE_2}Game Link cable{END_COLOR_TEXT_1}{COMMA}\n"
.string "your friend can also send you\n"
.string "a {COLOR_1 LIGHT_BLUE_2}helper Pokémon{END_COLOR_TEXT_1}.#PHowever{COMMA} the {COLOR_1 LIGHT_BLUE_2}helper Pokémon{END_COLOR_TEXT_1} will not\n"
.string "a {COLOR_1 LIGHT_BLUE_2}helper Pokémon{END_COLOR_TEXT_1}.{EXTRA_MSG}However{COMMA} the {COLOR_1 LIGHT_BLUE_2}helper Pokémon{END_COLOR_TEXT_1} will not\n"
.string "be able to bring an item with it when\n"
.string "joining your team.\0"
.align 2,0
@@ -928,7 +928,7 @@ gUnknown_80E3998: @ 80E3998
gUnknown_80E3B1C: @ 80E3B1C
.string "If your team has been rescued{COMMA} be sure\n"
.string "to send a {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1} to the friend\n"
.string "that came to your help.#PYou may also attach a {COLOR_1 LIGHT_BLUE_2}reward item{END_COLOR_TEXT_1}\n"
.string "that came to your help.{EXTRA_MSG}You may also attach a {COLOR_1 LIGHT_BLUE_2}reward item{END_COLOR_TEXT_1}\n"
.string "from storage to your {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1}\n"
.string "and send it to your friend.\0"
.align 2,0
@@ -937,12 +937,12 @@ gUnknown_80E3B1C: @ 80E3B1C
gUnknown_80E3BF8: @ 80E3BF8
.string "If your friend{APOSTROPHE}s team needs rescuing{COMMA}\n"
.string "you must first receive an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}\n"
.string "from your friend.#PWhen you get the mail{COMMA} you may embark\n"
.string "from your friend.{EXTRA_MSG}When you get the mail{COMMA} you may embark\n"
.string "on your rescue mission from the\n"
.string "{COLOR_1 LIGHT_BLUE_2}Pelipper Post Office{END_COLOR_TEXT_1}.#PIf you rescue your friend{APOSTROPHE}s defeated\n"
.string "{COLOR_1 LIGHT_BLUE_2}Pelipper Post Office{END_COLOR_TEXT_1}.{EXTRA_MSG}If you rescue your friend{APOSTROPHE}s defeated\n"
.string "team{COMMA} send an {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1} to your\n"
.string "friend.#PIf you rescue a friend{COMMA} you will be eligible\n"
.string "to receive a {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1}.#PIf you have quicksaved inside a dungeon{COMMA}\n"
.string "friend.{EXTRA_MSG}If you rescue a friend{COMMA} you will be eligible\n"
.string "to receive a {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}If you have quicksaved inside a dungeon{COMMA}\n"
.string "you may not choose {COLOR_1 LIGHT_BLUE_2}Go Rescue{END_COLOR_TEXT_1}.\n"
.string "Your last save must be out of a dungeon.\0"
.align 2,0
@@ -951,18 +951,18 @@ gUnknown_80E3BF8: @ 80E3BF8
gUnknown_80E3DE4: @ 80E3DE4
.string "You may receive an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} from\n"
.string "a friend{APOSTROPHE}s team that lies defeated in\n"
.string "a dungeon.#PIf there is no space for new mail{COMMA} delete\n"
.string "a dungeon.{EXTRA_MSG}If there is no space for new mail{COMMA} delete\n"
.string "old mail at the {COLOR_1 LIGHT_BLUE_2}Pelipper Post Office{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gUnknown_80E3E98
gUnknown_80E3E98: @ 80E3E98
.string "If you successfully rescue your friend{APOSTROPHE}s\n"
.string "team{COMMA} send your friend an {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.#PUsing a {COLOR_1 LIGHT_BLUE_2}Game Link cable{END_COLOR_TEXT_1}{COMMA} you may\n"
.string "team{COMMA} send your friend an {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}Using a {COLOR_1 LIGHT_BLUE_2}Game Link cable{END_COLOR_TEXT_1}{COMMA} you may\n"
.string "also send your friend a Pokémon from\n"
.string "your Friend Area as a helper.#PDon{APOSTROPHE}t worry--sending a Pokémon as\n"
.string "your Friend Area as a helper.{EXTRA_MSG}Don{APOSTROPHE}t worry--sending a Pokémon as\n"
.string "a helper will not make it disappear from\n"
.string "its Friend Area.#PIf there is no space for new mail{COMMA} delete\n"
.string "its Friend Area.{EXTRA_MSG}If there is no space for new mail{COMMA} delete\n"
.string "old mail at the {COLOR_1 LIGHT_BLUE_2}Pelipper Post Office{END_COLOR_TEXT_1}.\0"
.align 2,0
@@ -970,9 +970,9 @@ gUnknown_80E3E98: @ 80E3E98
gUnknown_80E4014: @ 80E4014
.string "When you receive an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}{COMMA}\n"
.string "you may embark on your rescue mission\n"
.string "from the {COLOR_1 LIGHT_BLUE_2}Pelipper Post Office{END_COLOR_TEXT_1}.#PBeware--if you do not have access to\n"
.string "from the {COLOR_1 LIGHT_BLUE_2}Pelipper Post Office{END_COLOR_TEXT_1}.{EXTRA_MSG}Beware--if you do not have access to\n"
.string "the dungeon they are in{COMMA} you may not go\n"
.string "on a rescue mission there.#PAccept challenging rescues only\n"
.string "on a rescue mission there.{EXTRA_MSG}Accept challenging rescues only\n"
.string "if you are ready and qualified!\0"
.align 2,0
@@ -980,7 +980,7 @@ gUnknown_80E4014: @ 80E4014
gUnknown_80E4130: @ 80E4130
.string "If you send an {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}{COMMA} you may\n"
.string "receive a {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1} in return\n"
.string "from your friend.#PThe {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1} may also come\n"
.string "from your friend.{EXTRA_MSG}The {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1} may also come\n"
.string "with a {COLOR_1 LIGHT_BLUE_2}reward item{END_COLOR_TEXT_1} attached.\0"
.align 2,0
@@ -988,9 +988,9 @@ gUnknown_80E4130: @ 80E4130
gUnknown_80E41DC: @ 80E41DC
.string "Using the {COLOR_1 LIGHT_BLUE_2}Dual Slot{END_COLOR_TEXT_1} function{COMMA}\n"
.string "you may perform rescue operations with\n"
.string "friends using the GBA Game Pak version.#PInsert the DS Game Card and the GBA\n"
.string "friends using the GBA Game Pak version.{EXTRA_MSG}Insert the DS Game Card and the GBA\n"
.string "Game Pak in your Nintendo DS system{COMMA}\n"
.string "then turn on the power.#PFriend Rescue missions using\n"
.string "then turn on the power.{EXTRA_MSG}Friend Rescue missions using\n"
.string "the {COLOR_1 LIGHT_BLUE_2}Dual Slot{END_COLOR_TEXT_1} function will be\n"
.string "available on the main menu. \0"
.align 2,0
@@ -999,10 +999,10 @@ gUnknown_80E41DC: @ 80E41DC
gUnknown_80E4314: @ 80E4314
.string "Friends can rescue each other{APOSTROPHE}s defeated\n"
.string "teams using a {COLOR_1 LIGHT_BLUE_2}Game Link cable{END_COLOR_TEXT_1}{COMMA}\n"
.string "{COLOR_1 LIGHT_BLUE_2}passwords{END_COLOR_TEXT_1}{COMMA} and so on.#PYou may go on a rescue mission to save\n"
.string "{COLOR_1 LIGHT_BLUE_2}passwords{END_COLOR_TEXT_1}{COMMA} and so on.{EXTRA_MSG}You may go on a rescue mission to save\n"
.string "your friend{APOSTROPHE}s team that has been defeated\n"
.string "in a dungeon.#POr{COMMA} you may call for help from a friend\n"
.string "to save your fallen team in a dungeon.#PUsing {COLOR_1 LIGHT_BLUE_2}passwords{END_COLOR_TEXT_1}{COMMA} you can even\n"
.string "in a dungeon.{EXTRA_MSG}Or{COMMA} you may call for help from a friend\n"
.string "to save your fallen team in a dungeon.{EXTRA_MSG}Using {COLOR_1 LIGHT_BLUE_2}passwords{END_COLOR_TEXT_1}{COMMA} you can even\n"
.string "exchange help with faraway friends.\0"
.align 2,0

View File

@@ -185,7 +185,7 @@ gUnknown_80E61C0: @ 80E61C0
.global gUnknown_80E61E4
gUnknown_80E61E4: @ 80E61E4
.string "{COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} #CI{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}\n"
.string "{COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} {COLOR_1 ITEM_COLOR}{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}\n"
.string "will be sent.\n"
.string "Is that OK?\0"
.align 2,0
@@ -206,21 +206,21 @@ gUnknown_80E6268: @ 80E6268
.global gUnknown_80E62C4
gUnknown_80E62C4: @ 80E62C4
.string "#+In communication...\n"
.string "#+Please wait with the power on.\n"
.string "#+To cancel{COMMA} press {B_BUTTON}.\0"
.string "{CENTER_ALIGN}In communication...\n"
.string "{CENTER_ALIGN}Please wait with the power on.\n"
.string "{CENTER_ALIGN}To cancel{COMMA} press {B_BUTTON}.\0"
.align 2,0
.global gUnknown_80E6314
gUnknown_80E6314: @ 80E6314
.string "You received\n"
.string "{COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} #CI{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}.\n"
.string "{COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} {COLOR_1 ITEM_COLOR}{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}.\n"
.string "Your adventure will be saved.\0"
.align 2,0
.global gUnknown_80E6358
gUnknown_80E6358: @ 80E6358
.string "You sent {COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} #CI{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}.\0"
.string "You sent {COLOR_1 LIGHT_BLUE_2}$d0{END_COLOR_TEXT_1} {COLOR_1 ITEM_COLOR}{ARG_MOVE_ITEM_0}(s){END_COLOR_TEXT_1}.\0"
.align 2,0
@ Trade Items Link Errors
@@ -530,17 +530,17 @@ gUnknown_80E6EAC: @ 80E6EAC
.global CheckAgain_80E6ECC
CheckAgain_80E6ECC:
.asciz "#+Please check again."
.string "{CENTER_ALIGN}Please check again.\0"
.align 2,0
.global StorageEmpty_80E6EE4
StorageEmpty_80E6EE4:
.asciz "#+The storage space is empty!"
.string "{CENTER_ALIGN}The storage space is empty!\0"
.align 2,0
.global Caution_80E6F04
Caution_80E6F04:
.string "#+{COLOR_1 RED}Caution!{END_COLOR_TEXT_1} \0"
.string "{CENTER_ALIGN}{COLOR_1 RED}Caution!{END_COLOR_TEXT_1} \0"
.align 2,0
.asciz "pksdir0"
@@ -588,7 +588,7 @@ gUnknown_80E7090: @ 80E7090
.global DeletingAdventure_80E70B0
DeletingAdventure_80E70B0:
.string "#+Deleting your adventure!"
.string "{CENTER_ALIGN}Deleting your adventure!"
.align 2,0
.global gUnknown_80E70CC
@@ -609,7 +609,7 @@ gUnknown_80E70CC: @ 80E70CC
.global AdventureDeleted_80E70F0
AdventureDeleted_80E70F0:
.string "#+Your adventure has been deleted."
.string "{CENTER_ALIGN}Your adventure has been deleted."
.align 2,0
.global gUnknown_80E7114
@@ -651,17 +651,17 @@ gUnknown_80E7214: @ 80E7214
.global CheckAgain_80E7234
CheckAgain_80E7234:
.asciz "#+Please check it again."
.string "{CENTER_ALIGN}Please check it again.\0"
.align 2,0
.global IncorrectPassword_80E7250
IncorrectPassword_80E7250:
.asciz "#+Incorrect password!"
.string "{CENTER_ALIGN}Incorrect password!\0"
.align 2,0
.global Error_80E7268
Error_80E7268:
.string "#+{COLOR_1 RED}Error!{END_COLOR_TEXT_1} \0"
.string "{CENTER_ALIGN}{COLOR_1 RED}Error!{END_COLOR_TEXT_1} \0"
.align 2,0
.global gUnknown_80E7278
@@ -690,12 +690,12 @@ gUnknown_80E7290: @ 80E7290
.global PasswordAccept_80E72B4
PasswordAccept_80E72B4:
.asciz "#+The password has been accepted."
.string "{CENTER_ALIGN}The password has been accepted.\0"
.align 2,0
.global Success_80E72D8
Success_80E72D8:
.string "#+{COLOR_1 LIGHT_BLUE_2}Success!{END_COLOR_TEXT_1} \0"
.string "{CENTER_ALIGN}{COLOR_1 LIGHT_BLUE_2}Success!{END_COLOR_TEXT_1} \0"
.align 2,0
.global gUnknown_80E72EC
@@ -720,7 +720,7 @@ gUnknown_80E7304: @ 80E7304
.global NotSOSMail_80E7324
NotSOSMail_80E7324:
.string "#+This is not an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.\0"
.string "{CENTER_ALIGN}This is not an {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gUnknown_80E7344
@@ -745,7 +745,7 @@ gUnknown_80E735C: @ 80E735C
.global ReceiveSOSMail_80E737C
ReceiveSOSMail_80E737C:
.string "#+This {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} has been received already.\0"
.string "{CENTER_ALIGN}This {COLOR_1 LIGHT_BLUE_2}SOS Mail{END_COLOR_TEXT_1} has been received already.\0"
.align 2,0
.global gUnknown_80E73AC

View File

@@ -1,4 +1,5 @@
#include "constants/status.h"
.include "include/constants/status.h"
.include "include/constants/targeting.h"
.section .rodata
.global gUnknown_80F42D0
@@ -6019,11 +6020,11 @@ gUnknown_8100928: @ 8100928
.global gUnknown_8100934
gUnknown_8100934: @ 8100934
.string " How dare you!#W\n"
.string "It{APOSTROPHE}s their fault!#P"
.string " How dare you!{WAIT_PRESS}\n"
.string "It{APOSTROPHE}s their fault!{EXTRA_MSG}"
.string " I haven{APOSTROPHE}t slept in days\n"
.string "because the earthquakes frighten me so!\n"
.string "Every night we had them!#P"
.string "Every night we had them!{EXTRA_MSG}"
.string " Those earthquakes are\n"
.string "caused by this brat{APOSTROPHE}s ilk running wild\n"
.string "underground!\0"
@@ -6663,9 +6664,9 @@ gUnknown_8103E34: @ 8103E34
.global gUnknown_8103E40
gUnknown_8103E40: @ 8103E40
.string "#+There appears to be no one here.#P"
.string "#+It{APOSTROPHE}s impossible to go farther.#W\n"
.string "#+It{APOSTROPHE}s time to go back.\0"
.string "{CENTER_ALIGN}There appears to be no one here.{EXTRA_MSG}"
.string "{CENTER_ALIGN}It{APOSTROPHE}s impossible to go farther.{WAIT_PRESS}\n"
.string "{CENTER_ALIGN}It{APOSTROPHE}s time to go back.\0"
.align 2, 0
.global gUnknown_8103EA4
@@ -7188,8 +7189,8 @@ gUnknown_81063D0: @ 81063D0
.global gPurityForestSomeoneThereText
gPurityForestSomeoneThereText: @ 81063DC
.string "#+Oh?#W\n"
.string "#+There{APOSTROPHE}s someone there.\0"
.string "{CENTER_ALIGN}Oh?{WAIT_PRESS}\n"
.string "{CENTER_ALIGN}There{APOSTROPHE}s someone there.\0"
.align 2, 0
.global gUnknown_8106400
@@ -7200,8 +7201,8 @@ gUnknown_8106400: @ 8106400
.global gPurityForestCelebiIntroText
gPurityForestCelebiIntroText: @ 810640C
.string "#+It{APOSTROPHE}s...#W\n"
.string "#+The Time Travel Pokémon {ARG_POKEMON_2}!\0"
.string "{CENTER_ALIGN}It{APOSTROPHE}s...{WAIT_PRESS}\n"
.string "{CENTER_ALIGN}The Time Travel Pokémon {ARG_POKEMON_2}!\0"
.align 2, 0
.global gUnknown_810643C
@@ -7212,7 +7213,7 @@ gUnknown_810643C: @ 810643C
.global gPurityForestCelebiWantsToJoinText
gPurityForestCelebiWantsToJoinText: @ 8106448
.string "#+{ARG_POKEMON_2} wants to join the team.\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_2} wants to join the team.\0"
.align 2, 0
.global gUnknown_8106468
@@ -7223,7 +7224,7 @@ gUnknown_8106468: @ 8106468
.global gPurityForestCelebiJoinedText
gPurityForestCelebiJoinedText: @ 8106474
.string "#+{ARG_POKEMON_2} joined the team! \0"
.string "{CENTER_ALIGN}{ARG_POKEMON_2} joined the team! \0"
.align 2, 0
.global gUnknown_810648C
@@ -7234,8 +7235,8 @@ gUnknown_810648C: @ 810648C
.global gPurityForestCelebiVeryHappyText
gPurityForestCelebiVeryHappyText: @ 8106498
.string "#+{ARG_POKEMON_3} appears to\n"
.string "#+be very happy!\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_3} appears to\n"
.string "{CENTER_ALIGN}be very happy!\0"
.align 2, 0
.global gUnknown_81064BC
@@ -7246,8 +7247,8 @@ gUnknown_81064BC: @ 81064BC
.global gPurityForestCelebiDelightedToJoinText
gPurityForestCelebiDelightedToJoinText: @ 81064C8
.string "#+It{APOSTROPHE}s delighted to have\n"
.string "#+joined the rescue team!\0"
.string "{CENTER_ALIGN}It{APOSTROPHE}s delighted to have\n"
.string "{CENTER_ALIGN}joined the rescue team!\0"
.align 2, 0
.global gUnknown_8106500
@@ -7258,8 +7259,8 @@ gUnknown_8106500: @ 8106500
.global gPurityForestTurnedDownOfferText
gPurityForestTurnedDownOfferText: @ 810650C
.string "#+{ARG_POKEMON_0} turned down\n"
.string "#+the offer to join.\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_0} turned down\n"
.string "{CENTER_ALIGN}the offer to join.\0"
.align 2, 0
.global gUnknown_8106534
@@ -7270,7 +7271,7 @@ gUnknown_8106534: @ 8106534
.global gPurityForestCelebiDisappointedText
gPurityForestCelebiDisappointedText: @ 8106540
.string "#+Celebi is very disappointed.\0"
.string "{CENTER_ALIGN}Celebi is very disappointed.\0"
.align 2, 0
.global gUnknown_8106560
@@ -7281,14 +7282,14 @@ gUnknown_8106560: @ 8106560
.global gPurityForestCelebiLeftDejectedlyText
gPurityForestCelebiLeftDejectedlyText: @ 810656C
.string "#+{ARG_POKEMON_2} left\n"
.string "#+dejectedly...\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_2} left\n"
.string "{CENTER_ALIGN}dejectedly...\0"
.align 2, 0
.global gPurityForestAllowCelebiToJoinText
gPurityForestAllowCelebiToJoinText: @ 8106588
.string "#+Allow {ARG_POKEMON_2}\n"
.string "#+to join the team?\0"
.string "{CENTER_ALIGN}Allow {ARG_POKEMON_2}\n"
.string "{CENTER_ALIGN}to join the team?\0"
.align 2, 0
.global gPtrPurityForestAllowCelebiToJoinText
@@ -7316,8 +7317,8 @@ gPurityForestAllowCelebiToJoinYesText: @ 81065C8
.global gPurityForestRefuseCelebiConfirmText
gPurityForestRefuseCelebiConfirmText: @ 81065D0
.string "#+Are you sure?#W\n"
.string "#+You{APOSTROPHE}re sure you won{APOSTROPHE}t accept it?\0"
.string "{CENTER_ALIGN}Are you sure?{WAIT_PRESS}\n"
.string "{CENTER_ALIGN}You{APOSTROPHE}re sure you won{APOSTROPHE}t accept it?\0"
.align 2, 0
.global gPtrPurityForestRefuseCelebiConfirmText
@@ -7472,7 +7473,7 @@ gUnknown_8106AEC: @ 8106AEC
.global gUnknown_8106B50
gUnknown_8106B50: @ 8106B50
.string "#C%c%s\0"
.string "{COLOR_1}%c%s\0"
.align 2,0
.string "pksdir0\0"
.align 2,0
@@ -7655,7 +7656,7 @@ gUnknown_8106D68: @ 8106D68
.global gUnknown_8106D8C
gUnknown_8106D8C: @ 8106D8C
.string "#c%d{ARG_POKEMON_0}\0"
.string "{COLOR_2}%d{ARG_POKEMON_0}\0"
.align 2,0
.string "pksdir0\0"
.align 2,0
@@ -7840,9 +7841,25 @@ gDirectionBitMasks_3: @ 8106FDD
@ replacing .incbin "baserom.gba", 0x00106fdd, 0x8
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
.global gUnknown_8106FE5
gUnknown_8106FE5: @ 8106FE5
.incbin "baserom.gba", 0x106FE5, 0x2B
.global gTargetingData
gTargetingData: @ 8106FE5
@ replacing .incbin "baserom.gba", 0x106FE5, 0x2B
.byte TARGET_CAPABILITY_CANNOT_ATTACK, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
.byte TARGET_CAPABILITY_CAN_TARGET, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
.byte TARGET_CAPABILITY_CAN_TARGET, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
.byte TARGET_CAPABILITY_CANNOT_ATTACK, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
.byte TARGET_CAPABILITY_CANNOT_ATTACK, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
.byte TARGET_CAPABILITY_CAN_TARGET, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
.byte TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET, TARGET_CAPABILITY_CAN_TARGET
.byte TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET, TARGET_CAPABILITY_CAN_TARGET
.byte TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET, TARGET_CAPABILITY_CAN_TARGET
.byte TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET, TARGET_CAPABILITY_CAN_TARGET
.byte TARGET_CAPABILITY_CAN_TARGET, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
.byte TARGET_CAPABILITY_CANNOT_ATTACK, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
.byte 0x00, 0x00, 0x00
.string "pksdir0\0"
.string "pksdir0\0"
.global gUnknown_8107010
gUnknown_8107010: @ 8107010
@@ -7948,7 +7965,7 @@ gUnknown_8107638: @ 8107638
.global gUnknown_810763C
gUnknown_810763C: @ 810763C
.string "#c%c%s{END_COLOR_TEXT_2}\0"
.string "{COLOR_2}%c%s{END_COLOR_TEXT_2}\0"
.global gUnknown_8107645
gUnknown_8107645: @ 8107645
@@ -8255,14 +8272,14 @@ gUnknown_810983C: @ 810983C
.global gUnknown_81098A4
gUnknown_81098A4: @ 81098A4
.string "#c"
.string "{COLOR_2}"
.byte 0x4
.string "%s{END_COLOR_TEXT_2}\0"
.align 2,0
.global gUnknown_81098AC
gUnknown_81098AC: @ 81098AC
.string "%s#=%c#C"
.string "%s#=%c{COLOR_1}"
.byte 0x4
.string "%s{END_COLOR_TEXT_1}\0"
.align 2,0
@@ -8285,12 +8302,12 @@ gUnknown_81098DC: @ 81098DC
.global gUnknown_81098E0
gUnknown_81098E0: @ 81098E0
.string "#c%c%s%s{END_COLOR_TEXT_2}\0"
.string "{COLOR_2}%c%s%s{END_COLOR_TEXT_2}\0"
.align 2,0
.global gUnknown_81098EC
gUnknown_81098EC: @ 81098EC
.string "#c%c#:%s%s%s#;%c%2d/%2d{END_COLOR_TEXT_2}\0"
.string "{COLOR_2}%c#:%s%s%s#;%c%2d/%2d{END_COLOR_TEXT_2}\0"
.align 2,0
.global gUnknown_8109908
@@ -8303,7 +8320,7 @@ gUnknown_810990C: @ 810990C
.global gUnknown_8109910
gUnknown_8109910: @ 8109910
.string "#c%c%s%s%s#=%c%2d/%2d{END_COLOR_TEXT_2}\0"
.string "{COLOR_2}%c%s%s%s#=%c%2d/%2d{END_COLOR_TEXT_2}\0"
.align 2,0
.global gUnknown_8109928
@@ -8364,7 +8381,7 @@ gDummyScenarioText: @ 8109CA8
.global gUnknown_8109CC0
gUnknown_8109CC0: @ 8109CC0
.string "#CW???{END_COLOR_TEXT_1}\0"
.string "{COLOR_1 UNKNOWN_COLOR}???{END_COLOR_TEXT_1}\0"
.align 2,0
.string "pksdir0\0"

File diff suppressed because it is too large Load Diff

View File

@@ -49,28 +49,28 @@ gUnknown_80DD1A8: @ 80DD1A8
.global gUnknown_80DD1C8
gUnknown_80DD1C8: @ 80DD1C8
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_1}{END_COLOR_TEXT_1} was\n"
.string "#+handed over. \0"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_1}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}handed over. \0"
.align 2,0
.global gUnknown_80DD1EC
gUnknown_80DD1EC: @ 80DD1EC
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_1}{END_COLOR_TEXT_1} was\n"
.string "#+handed over.#P"
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "#+returned to the Toolbox.\0"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_1}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}handed over.{EXTRA_MSG}"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}returned to the Toolbox.\0"
.align 2,0
.global gUnknown_80DD240
gUnknown_80DD240: @ 80DD240
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "#+returned to the Toolbox.\0"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}returned to the Toolbox.\0"
.align 2,0
.global gUnknown_80DD270
gUnknown_80DD270: @ 80DD270
.string "#+{ARG_POKEMON_1} left the team to remain\n"
.string "#+on standby in the Friend Area.\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_1} left the team to remain\n"
.string "{CENTER_ALIGN}on standby in the Friend Area.\0"
.align 2,0
.global gUnknown_80DD2B0

View File

@@ -24,98 +24,98 @@ gFriendAreaDialogue: @ 813237C
.global FriendAreaSleepyEnergy
FriendAreaSleepyEnergy:
.string "#+It appears to be a little sleepy{COMMA}\n"
.string "#+but it{APOSTROPHE}s still full of energy.\0"
.string "{CENTER_ALIGN}It appears to be a little sleepy{COMMA}\n"
.string "{CENTER_ALIGN}but it{APOSTROPHE}s still full of energy.\0"
.align 2,0
.global FriendAreaGummi
FriendAreaGummi:
.string "#+It may want a Gummi.\0"
.string "{CENTER_ALIGN}It may want a Gummi.\0"
.align 2,0
.global FriendAreaAnxious
FriendAreaAnxious:
.string "#+It appears to be very anxious\n"
.string "#+to go on an adventure.\0"
.string "{CENTER_ALIGN}It appears to be very anxious\n"
.string "{CENTER_ALIGN}to go on an adventure.\0"
.align 2,0
.global FriendAreaPensive
FriendAreaPensive:
.string "#+It looked pensive for a moment{COMMA}\n"
.string "#+but it{APOSTROPHE}s grinning widely again.\0"
.string "{CENTER_ALIGN}It looked pensive for a moment{COMMA}\n"
.string "{CENTER_ALIGN}but it{APOSTROPHE}s grinning widely again.\0"
.align 2,0
.global FriendAreaGrin
FriendAreaGrin:
.string "#+It{APOSTROPHE}s looking this way with a grin.\0"
.string "{CENTER_ALIGN}It{APOSTROPHE}s looking this way with a grin.\0"
.align 2,0
.global FriendAreaEager
FriendAreaEager:
.string "#+It appears very eager\n"
.string "#+to go to a dungeon.\0"
.string "{CENTER_ALIGN}It appears very eager\n"
.string "{CENTER_ALIGN}to go to a dungeon.\0"
.align 2,0
.global FriendAreaWorried
FriendAreaWorried:
.string "#+It appeared to have been worried{COMMA}\n"
.string "#+but seems to have solved it.\0"
.string "{CENTER_ALIGN}It appeared to have been worried{COMMA}\n"
.string "{CENTER_ALIGN}but seems to have solved it.\0"
.align 2,0
.global FriendAreaDeep
FriendAreaDeep:
.string "#+It suddenly appears to be deep in thought.\0"
.string "{CENTER_ALIGN}It suddenly appears to be deep in thought.\0"
.align 2,0
.global FriendAreaFidge
FriendAreaFidge:
.string "#+It suddenly turned fidgety.\0"
.string "{CENTER_ALIGN}It suddenly turned fidgety.\0"
.align 2,0
.global FriendAreaMood
FriendAreaMood:
.string "#+Its mood appears to have changed.\0"
.string "{CENTER_ALIGN}Its mood appears to have changed.\0"
.align 2,0
.global FriendAreaTense
FriendAreaTense:
.string "#+It appears to be a little tense.\0"
.string "{CENTER_ALIGN}It appears to be a little tense.\0"
.align 2,0
.global FriendAreaRelax
FriendAreaRelax:
.string "#+It is relaxing at its favorite spot.\0"
.string "{CENTER_ALIGN}It is relaxing at its favorite spot.\0"
.align 2,0
.global FriendAreaHappy
FriendAreaHappy:
.string "#+It is very happy!\0"
.string "{CENTER_ALIGN}It is very happy!\0"
.align 2,0
.global FriendAreaStraight
FriendAreaStraight:
.string "#+It{APOSTROPHE}s trying to keep a straight face{COMMA}\n"
.string "#+but it can{APOSTROPHE}t stop laughing!\0"
.string "{CENTER_ALIGN}It{APOSTROPHE}s trying to keep a straight face{COMMA}\n"
.string "{CENTER_ALIGN}but it can{APOSTROPHE}t stop laughing!\0"
.align 2,0
.global FriendAreaGrinning
FriendAreaGrinning:
.string "#+It is grinning happily.\0"
.string "{CENTER_ALIGN}It is grinning happily.\0"
.align 2,0
.global FriendAreaVeryHappy
FriendAreaVeryHappy:
.string "#+It appears to be very happy!\0"
.string "{CENTER_ALIGN}It appears to be very happy!\0"
.align 2,0
.global FriendAreaLikesPlace
FriendAreaLikesPlace:
.string "#+It appears to like this place a lot!\0"
.string "{CENTER_ALIGN}It appears to like this place a lot!\0"
.align 2,0
.global FriendAreaFullEnergy
FriendAreaFullEnergy:
.string "#+It seems to be full of energy!\0"
.string "{CENTER_ALIGN}It seems to be full of energy!\0"
.align 2,0
.string "pksdir0\0"

View File

@@ -232,7 +232,7 @@
DocileQuest3Question:
.string "A friend brought over something you{APOSTROPHE}d\n"
.string "forgotten.#W\n"
.string "forgotten.{WAIT_PRESS}\n"
.string "How do you thank your friend?\0"
.align 2,0
@@ -295,9 +295,9 @@
BraveQuest1Question:
.string "You{APOSTROPHE}re going bungee jumping for the first\n"
.string "time.#PSince it{APOSTROPHE}s scary{COMMA} you decide to test the\n"
.string "jump with a doll...#W\n"
.string "And the bungee cord snaps!#P"
.string "time.{EXTRA_MSG}Since it{APOSTROPHE}s scary{COMMA} you decide to test the\n"
.string "jump with a doll...{WAIT_PRESS}\n"
.string "And the bungee cord snaps!{EXTRA_MSG}"
.string "Will you still try to make a jump anyway?\0"
.align 2,0
@@ -367,10 +367,10 @@
.4byte BraveQuest2BPoints
BraveQuest2BQuestion:
.string "You valiantly fight the aliens...#W\n"
.string "But{COMMA} you are defeated...#PAn alien says to you...#P{QUOTE_START}YOU HAVE IMPRESSED US.\n"
.string "IT WAS A PLEASURE TO SEE.#PJOIN US{COMMA} AND TOGETHER WE SHALL\n"
.string "RULE THE WORLD.{QUOTE_END}#W\n"
.string "You valiantly fight the aliens...{WAIT_PRESS}\n"
.string "But{COMMA} you are defeated...{EXTRA_MSG}An alien says to you...{EXTRA_MSG}{QUOTE_START}YOU HAVE IMPRESSED US.\n"
.string "IT WAS A PLEASURE TO SEE.{EXTRA_MSG}JOIN US{COMMA} AND TOGETHER WE SHALL\n"
.string "RULE THE WORLD.{QUOTE_END}{WAIT_PRESS}\n"
.string "What will you do?\0"
.align 2,0
@@ -402,7 +402,7 @@
.4byte BraveQuest3Points
BraveQuest3Question:
.string "There is a scream from behind a door!#W\n"
.string "There is a scream from behind a door!{WAIT_PRESS}\n"
.string "How will you react?\0"
.align 2,0
@@ -449,7 +449,7 @@
BraveQuest4Question:
.string "A delinquent is hassling a girl on\n"
.string "a busy city street!#W\n"
.string "a busy city street!{WAIT_PRESS}\n"
.string "What will you do?\0"
.align 2,0
@@ -575,9 +575,9 @@
JollyQuest4Question:
.string "A foreign person has started up a\n"
.string "conversation with you.#P"
.string "conversation with you.{EXTRA_MSG}"
.string "To be honest{COMMA} you don{APOSTROPHE}t have a clue what\n"
.string "this fellow is saying.#W\n"
.string "this fellow is saying.{WAIT_PRESS}\n"
.string "How do you reply?\0"
.align 2,0
@@ -905,7 +905,7 @@
.global TimidQuest2Question
TimidQuest2Question:
.string "Grab any digit on your left hand with your\n"
.string "right hand.#W\n"
.string "right hand.{WAIT_PRESS}\n"
.string "Which digit did you grab?\0"
.align 2,0
@@ -948,7 +948,7 @@
.global TimidQuest3Question
TimidQuest3Question:
.string "You are suddenly locked inside a\n"
.string "pitch-black room!#W\n"
.string "pitch-black room!{WAIT_PRESS}\n"
.string "What do you do?\0"
.align 2,0
@@ -1037,8 +1037,8 @@
.global HastyQuest1Question
HastyQuest1Question:
.string "You receive a gift!#W\n"
.string "But you don{APOSTROPHE}t know what{APOSTROPHE}s in it.#W\n"
.string "You receive a gift!{WAIT_PRESS}\n"
.string "But you don{APOSTROPHE}t know what{APOSTROPHE}s in it.{WAIT_PRESS}\n"
.string "You{APOSTROPHE}re curious{COMMA} so what do you do?\0"
.align 2,0
@@ -1083,7 +1083,7 @@
.global HastyQuest2Question
HastyQuest2Question:
.string "You win a lottery!#W\n"
.string "You win a lottery!{WAIT_PRESS}\n"
.string "What do you do with the money?\0"
.align 2,0
@@ -1791,7 +1791,7 @@
.global QuirkyQuest3Question
QuirkyQuest3Question:
.string "There is a person you like...#W\n"
.string "There is a person you like...{WAIT_PRESS}\n"
.string "But there{APOSTROPHE}s no opportunity to get close.\n"
.string "What do you do?\0"
.align 2,0

View File

@@ -167,7 +167,7 @@ gPokemonMail: @ 80EBA18
.global gMail_NewsText2
gMail_NewsText2:
.string "#+{COLOR_1 CYAN}{ARG_POKEMON_0} Innocent! Part 2{END_COLOR_TEXT_1}\n"
.string "{CENTER_ALIGN}{COLOR_1 CYAN}{ARG_POKEMON_0} Innocent! Part 2{END_COLOR_TEXT_1}\n"
.string "{COLOR_1 GREEN}Quote from Charizard on the scene:{END_COLOR_TEXT_1}\n"
.string "{QUOTE_START}That{APOSTROPHE}s what I thought right from\n"
.string "the start{COMMA} hahaha!{QUOTE_END}\n"
@@ -184,7 +184,7 @@ gPokemonMail: @ 80EBA18
.global gMail_NewsText1
gMail_NewsText1:
.string "#+{COLOR_1 CYAN}{ARG_POKEMON_0} Innocent! Part 1{END_COLOR_TEXT_1}\n"
.string "{CENTER_ALIGN}{COLOR_1 CYAN}{ARG_POKEMON_0} Innocent! Part 1{END_COLOR_TEXT_1}\n"
.string "{ARG_POKEMON_1} met with Ninetales on {COLOR_1 RED}Mt. Freeze{END_COLOR_TEXT_1}.\n"
.string "Ninetales testified that {ARG_POKEMON_0} was\n"
.string "not the human that appeared in the legend.\n"
@@ -223,7 +223,7 @@ gPokemonMail: @ 80EBA18
.string "Totodile\n"
.string "{COLOR_1 GREEN}Bite{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Scary Face{END_COLOR_TEXT_1}\n"
.string "Cyndaquil\n"
.string "{COLOR_1 GREEN}Flame Wheel{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Smokescreen{END_COLOR_TEXT_1}#P"
.string "{COLOR_1 GREEN}Flame Wheel{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Smokescreen{END_COLOR_TEXT_1}{EXTRA_MSG}"
.string "Pikachu\n"
.string "{COLOR_1 GREEN}Thunderbolt{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Double Team{END_COLOR_TEXT_1}\n"
.string "Skitty\n"
@@ -242,7 +242,7 @@ gPokemonMail: @ 80EBA18
.string "Bulbasaur\n"
.string "{COLOR_1 GREEN}Razor Leaf{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Sleep Powder{END_COLOR_TEXT_1}\n"
.string "Chikorita\n"
.string "{COLOR_1 GREEN}Body Slam{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Reflect{END_COLOR_TEXT_1}#P"
.string "{COLOR_1 GREEN}Body Slam{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Reflect{END_COLOR_TEXT_1}{EXTRA_MSG}"
.string "Treecko\n"
.string "{COLOR_1 GREEN}Screech{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Pound{END_COLOR_TEXT_1}\n"
.string "Machop\n"
@@ -588,10 +588,10 @@ gPokemonMail: @ 80EBA18
gMail_KeyText:
.string "{CENTER_ALIGN COLOR_1 YELLOW}Head Out to the Desert Region!{END_COLOR_TEXT_1}\n"
.string "If you{APOSTROPHE}ve been wondering what lies behind\n"
.string "the mysterious locked doors of the #CDSolar\n"
.string "the mysterious locked doors of the {COLOR_1 YELLOW_4}Solar\n"
.string "Cave{END_COLOR_TEXT_1}{COMMA} there{APOSTROPHE}s been a breakthrough!\n"
.string "Reports indicate the door keys are easily\n"
.string "found in the #CDDesert Region{END_COLOR_TEXT_1}. Explorers are\n"
.string "found in the {COLOR_1 YELLOW_4}Desert Region{END_COLOR_TEXT_1}. Explorers are\n"
.string "advised to compose teams with Pokémon\n"
.string "adapted to the desert environment.\0"
.align 2,0
@@ -674,7 +674,7 @@ gPokemonMail: @ 80EBA18
.string "At the Makuhita Dojo{COMMA} one can learn how\n"
.string "Pokémon type matchups affect battles.\n"
.string "It{APOSTROPHE}s because the dojo{APOSTROPHE}s training rooms are\n"
.string "divided by type. For example{COMMA} in the #CDFire\n"
.string "divided by type. For example{COMMA} in the {COLOR_1 YELLOW_4}Fire\n"
.string "Maze{END_COLOR_TEXT_1}{COMMA} there are only Fire-type Pokémon.\n"
.string "Try move types to see what works best!\0"
.align 2,0
@@ -693,7 +693,7 @@ gPokemonMail: @ 80EBA18
.string "use. Further studies are said to be under\n"
.string "consideration by the authorities.\n"
.string "In related news{COMMA} the cave is to be named\n"
.string "the #CDSolar Cave{END_COLOR_TEXT_1}.\0"
.string "the {COLOR_1 YELLOW_4}Solar Cave{END_COLOR_TEXT_1}.\0"
.align 2,0
.global gMail_MachineHeadline
@@ -830,7 +830,7 @@ gPokemonMail: @ 80EBA18
.string "Pikachu\n"
.string "{COLOR_1 GREEN}Thundershock{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}\n"
.string "Squirtle\n"
.string "{COLOR_1 GREEN}Tail Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Tackle{END_COLOR_TEXT_1}#PTotodile\n"
.string "{COLOR_1 GREEN}Tail Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Tackle{END_COLOR_TEXT_1}{EXTRA_MSG}Totodile\n"
.string "{COLOR_1 GREEN}Leer{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Scratch{END_COLOR_TEXT_1}\n"
.string "Mudkip\n"
.string "{COLOR_1 GREEN}Water Gun{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Mud-Slap{END_COLOR_TEXT_1}\n"
@@ -851,7 +851,7 @@ gPokemonMail: @ 80EBA18
.string "Cyndaquil\n"
.string "{COLOR_1 GREEN}Leer{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Tackle{END_COLOR_TEXT_1}\n"
.string "Torchic\n"
.string "{COLOR_1 GREEN}Ember{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}#PEevee\n"
.string "{COLOR_1 GREEN}Ember{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}{EXTRA_MSG}Eevee\n"
.string "{COLOR_1 GREEN}Tail Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Tackle{END_COLOR_TEXT_1}\n"
.string "Meowth\n"
.string "{COLOR_1 GREEN}Scratch{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}\n"
@@ -872,7 +872,7 @@ gPokemonMail: @ 80EBA18
.string "Bulbasaur\n"
.string "{COLOR_1 GREEN}Vine Whip{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}\n"
.string "Chikorita\n"
.string "{COLOR_1 GREEN}Razor Leaf{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}#PTreecko\n"
.string "{COLOR_1 GREEN}Razor Leaf{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Growl{END_COLOR_TEXT_1}{EXTRA_MSG}Treecko\n"
.string "{COLOR_1 GREEN}Leer{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Pound{END_COLOR_TEXT_1}\n"
.string "Machop\n"
.string "{COLOR_1 GREEN}Leer{END_COLOR_TEXT_1} + {COLOR_1 GREEN}Low Kick{END_COLOR_TEXT_1}\n"

View File

@@ -35,30 +35,30 @@
endFuncAndScript
InterviewBegin_826E108:
.string "#+OK...#W\n"
.string "#+Let the interview begin!\0"
.string "{CENTER_ALIGN}OK...{WAIT_PRESS}\n"
.string "{CENTER_ALIGN}Let the interview begin!\0"
.align 2,0
AreYouReady_826E130:
.string "#+Are you ready?\0"
.string "{CENTER_ALIGN}Are you ready?\0"
.align 2,0
AnswerSincerely_826E144:
.string "#+I want you to answer them sincerely.\0"
.string "{CENTER_ALIGN}I want you to answer them sincerely.\0"
.align 2,0
SeveralQuestions_826E16C:
.string "#+But before I can let you through{COMMA}\n"
.string "#+I have several questions for you.\0"
.string "{CENTER_ALIGN}But before I can let you through{COMMA}\n"
.string "{CENTER_ALIGN}I have several questions for you.\0"
.align 2,0
WorldOfPokemon_826E1B8:
.string "#+This is the portal that leads\n"
.string "#+to the world of Pokémon!\0"
.string "{CENTER_ALIGN}This is the portal that leads\n"
.string "{CENTER_ALIGN}to the world of Pokémon!\0"
.align 2,0
Welcome_826E1F4:
.string "#+Welcome!\0"
.string "{CENTER_ALIGN}Welcome!\0"
.align 2,0
.byte 0x90, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@@ -7,7 +7,7 @@
.global StaffCredits_80E4AD8
StaffCredits_80E4AD8:
.string "#+"
.string "{CENTER_ALIGN}"
.byte 0x82, 0xa0
.string "STAFF CREDITS"
.byte 0x82, 0xa2, 0x00

View File

@@ -1,124 +1,124 @@
gLuminousCaveSeekAwakening:: @ 80DCA34
.string "#+...#WA voice emanates from somewhere...#P"
.string "#+...Ye who seek awakening...#P"
.string "#+This is Luminous Cave.#W\n"
.string "#+Do ye seek a new evolution?\0"
.string "{CENTER_ALIGN}...{WAIT_PRESS}A voice emanates from somewhere...{EXTRA_MSG}"
.string "{CENTER_ALIGN}...Ye who seek awakening...{EXTRA_MSG}"
.string "{CENTER_ALIGN}This is Luminous Cave.{WAIT_PRESS}\n"
.string "{CENTER_ALIGN}Do ye seek a new evolution?\0"
.align 2, 0
gLuminousCaveAskEvolution:: @ 80DCAB8
.string "#+Do ye seek evolution?\0"
.string "{CENTER_ALIGN}Do ye seek evolution?\0"
.align 2, 0
gLuminousCaveEvolutionInfo:: @ 80DCAD0
.string "#+There are those among Pokémon\n"
.string "#+that can evolve.#P"
.string "#+Such Pokémon can evolve at this very\n"
.string "#+spot if they satisfy certain conditions.#P"
.string "#+Evolution brings about changes\n"
.string "#+in appearance and abilities.#P"
.string "#+Not only that{COMMA} some Pokémon even change\n"
.string "#+type and learn different moves.#P"
.string "#+However...#W The requirements for\n"
.string "#+evolution differ among Pokémon.#P"
.string "#+Some become ready for evolution\n"
.string "#+merely by leveling up.#P"
.string "#+Still others may need special items\n"
.string "#+to attain evolution.#P"
.string "#+Ye must also be aware of this:#P"
.string "#+Once it has evolved{COMMA} a Pokémon\n"
.string "#+can never regain its previous form.#P"
.string "#+That is why ye must think carefully\n"
.string "#+before committing to evolution.\0"
.string "{CENTER_ALIGN}There are those among Pokémon\n"
.string "{CENTER_ALIGN}that can evolve.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Such Pokémon can evolve at this very\n"
.string "{CENTER_ALIGN}spot if they satisfy certain conditions.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Evolution brings about changes\n"
.string "{CENTER_ALIGN}in appearance and abilities.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Not only that{COMMA} some Pokémon even change\n"
.string "{CENTER_ALIGN}type and learn different moves.{EXTRA_MSG}"
.string "{CENTER_ALIGN}However...{WAIT_PRESS} The requirements for\n"
.string "{CENTER_ALIGN}evolution differ among Pokémon.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Some become ready for evolution\n"
.string "{CENTER_ALIGN}merely by leveling up.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Still others may need special items\n"
.string "{CENTER_ALIGN}to attain evolution.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye must also be aware of this:{EXTRA_MSG}"
.string "{CENTER_ALIGN}Once it has evolved{COMMA} a Pokémon\n"
.string "{CENTER_ALIGN}can never regain its previous form.{EXTRA_MSG}"
.string "{CENTER_ALIGN}That is why ye must think carefully\n"
.string "{CENTER_ALIGN}before committing to evolution.\0"
.align 2, 0
gLuminousCaveYeShallReturn:: @ 80DCD5C
.string "#+Ye shall return if evolution\n"
.string "#+is what ye seek...\0"
.string "{CENTER_ALIGN}Ye shall return if evolution\n"
.string "{CENTER_ALIGN}is what ye seek...\0"
.align 2, 0
gLuminousCaveGiveItem:: @ 80DCD90
.string "#+Will ye give an item for evolution?\0"
.string "{CENTER_ALIGN}Will ye give an item for evolution?\0"
.align 2, 0
gLuminousCaveGiveAnotherItem:: @ 80DCDB8
.string "#+Will ye give yet another item?\0"
.string "{CENTER_ALIGN}Will ye give yet another item?\0"
.align 2, 0
gLuminousCaveLackWhatIsNeeded:: @ 80DCDDC
.string "#+Alas{COMMA} ye seem to lack what is needed\n"
.string "#+for evolution.\0"
.string "{CENTER_ALIGN}Alas{COMMA} ye seem to lack what is needed\n"
.string "{CENTER_ALIGN}for evolution.\0"
.align 2, 0
gLuminousCaveOnlyOneItem:: @ 80DCE18
.string "#+Ye seem to have but one item.\0"
.string "{CENTER_ALIGN}Ye seem to have but one item.\0"
.align 2, 0
gLuminousCaveLetUsBegin:: @ 80DCE38
.string "#+...Ye who seek awakening...\n"
.string "#+Let us begin.\0"
.string "{CENTER_ALIGN}...Ye who seek awakening...\n"
.string "{CENTER_ALIGN}Let us begin.\0"
.align 2, 0
gLuminousCaveChangedAppearance:: @ 80DCE68
.string "#+...#W$n0 is undergoing changes...#P"
.string "#+$n0{APOSTROPHE}s appearance changed...#P\0"
.string "{CENTER_ALIGN}...{WAIT_PRESS}$n0 is undergoing changes...{EXTRA_MSG}"
.string "{CENTER_ALIGN}$n0{APOSTROPHE}s appearance changed...{EXTRA_MSG}\0"
.align 2, 0
gLuminousCaveEvolved:: @ 80DCEB0
.string "#+It evolved from {COLOR_1 GREEN}{ARG_POKEMON_0}{END_COLOR_TEXT_1}\n"
.string "#+to {COLOR_1 YELLOW}{ARG_POKEMON_1}{END_COLOR_TEXT_1}!\0"
.string "{CENTER_ALIGN}It evolved from {COLOR_1 GREEN}{ARG_POKEMON_0}{END_COLOR_TEXT_1}\n"
.string "{CENTER_ALIGN}to {COLOR_1 YELLOW}{ARG_POKEMON_1}{END_COLOR_TEXT_1}!\0"
.align 2, 0
gLuminousCaveComeAlone:: @ 80DCEDC
.string "#+...#P"
.string "#+One cannot evolve if one\n"
.string "#+is in the company of others.#P"
.string "#+Come alone if ye wish to evolve.\0"
.string "{CENTER_ALIGN}...{EXTRA_MSG}"
.string "{CENTER_ALIGN}One cannot evolve if one\n"
.string "{CENTER_ALIGN}is in the company of others.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Come alone if ye wish to evolve.\0"
.align 2, 0
gLuminousCaveLackLevel:: @ 80DCF44
.string "#+...#P"
.string "#+Ye cannot evolve yet.#P"
.string "#+Ye have not high enough a level.\0"
.string "{CENTER_ALIGN}...{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye cannot evolve yet.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye have not high enough a level.\0"
.align 2, 0
gLuminousCaveCantEvolveAnymore:: @ 80DCF88
.string "#+...#P"
.string "#+Ye cannot evolve anymore.\0"
.string "{CENTER_ALIGN}...{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye cannot evolve anymore.\0"
.align 2, 0
gLuminousCaveLackFriendArea:: @ 80DCFAC
.string "#+...#P"
.string "#+Ye cannot evolve yet.#P"
.string "#+Ye need your Friend Area to evolve.\0"
.string "{CENTER_ALIGN}...{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye cannot evolve yet.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye need your Friend Area to evolve.\0"
.align 2, 0
gLuminousCaveLackRoom:: @ 80DCFF4
.string "#+...#P"
.string "#+Ye cannot evolve yet.#P"
.string "#+The Friend Area to which ye shall go\n"
.string "#+has no room for ye.\0"
.string "{CENTER_ALIGN}...{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye cannot evolve yet.{EXTRA_MSG}"
.string "{CENTER_ALIGN}The Friend Area to which ye shall go\n"
.string "{CENTER_ALIGN}has no room for ye.\0"
.align 2, 0
gLuminousCaveLackIQ:: @ 80DD054
.string "#+...#P"
.string "#+Ye cannot evolve yet.#P"
.string "#+Ye seem to lack the IQ to evolve.\0"
.string "{CENTER_ALIGN}...{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye cannot evolve yet.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye seem to lack the IQ to evolve.\0"
.align 2, 0
gLuminousCaveLackItem:: @ 80DD098
.string "#+#+...#P"
.string "#+Ye cannot evolve yet.#P"
.string "#+Ye seem to lack an item to evolve.\0"
.string "{CENTER_ALIGN}{CENTER_ALIGN}...{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye cannot evolve yet.{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye seem to lack an item to evolve.\0"
.align 2, 0
gLuminousCaveCantEvolveYet:: @ 80DD0E0
.string "#+#+...#P"
.string "#+Ye cannot evolve yet. \0"
.string "{CENTER_ALIGN}{CENTER_ALIGN}...{EXTRA_MSG}"
.string "{CENTER_ALIGN}Ye cannot evolve yet. \0"
.align 2, 0
gLuminousCaveGiveName:: @ 80DD104
.string "#+Ye must give a name to\n"
.string "#+the evolved Pokémon. \0"
.string "{CENTER_ALIGN}Ye must give a name to\n"
.string "{CENTER_ALIGN}the evolved Pokémon. \0"
.align 2, 0
.string "pksdir0\0"

View File

@@ -1,6 +1,6 @@
gUnknown_80DD388:: @ 80DD388
.string "You have chosen to say farewell\n"
.string "to this Pokémon.#P"
.string "to this Pokémon.{EXTRA_MSG}"
.string "The Pokémon will leave its Friend Area.\n"
.string "It will no longer be available for\n"
.string "adventures. Is that OK?\0"
@@ -8,53 +8,53 @@ gUnknown_80DD388:: @ 80DD388
gUnknown_80DD420:: @ 80DD420
.string "If you say farewell to this\n"
.string "Pokémon{COMMA} it will be gone forever.#P"
.string "Pokémon{COMMA} it will be gone forever.{EXTRA_MSG}"
.string "You will never be able to get another one\n"
.string "like it to join your team.\n"
.string "Will you release it anyway?\0"
.align 2, 0
gUnknown_80DD4C4:: @ 80DD4C4
.string "#+{ARG_POKEMON_1} joined the\n"
.string "#+rescue team for adventures!\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_1} joined the\n"
.string "{CENTER_ALIGN}rescue team for adventures!\0"
.align 2, 0
gUnknown_80DD4F4:: @ 80DD4F4
.string "#+{ARG_POKEMON_1} left the team to remain\n"
.string "#+on standby in the Friend Area.\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_1} left the team to remain\n"
.string "{CENTER_ALIGN}on standby in the Friend Area.\0"
.align 2, 0
gUnknown_80DD534:: @ 80DD534
.string "#+{ARG_POKEMON_1} became the leader\n"
.string "#+of the rescue team.\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_1} became the leader\n"
.string "{CENTER_ALIGN}of the rescue team.\0"
.align 2, 0
gUnknown_80DD564:: @ 80DD564
.string "#+{ARG_POKEMON_1} left\n"
.string "#+the Friend Area.\n"
.string "#+Bye-bye{COMMA} {ARG_POKEMON_1}!\0"
.string "{CENTER_ALIGN}{ARG_POKEMON_1} left\n"
.string "{CENTER_ALIGN}the Friend Area.\n"
.string "{CENTER_ALIGN}Bye-bye{COMMA} {ARG_POKEMON_1}!\0"
.align 2,0
gUnknown_80DD594:: @ 80DD594
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_1}{END_COLOR_TEXT_1} was\n"
.string "#+handed over. \0"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_1}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}handed over. \0"
.align 2, 0
gUnknown_80DD5B8:: @ 80DD5B8
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_1}{END_COLOR_TEXT_1} was\n"
.string "#+handed over.#P"
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "#+returned to the Toolbox.\0"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_1}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}handed over.{EXTRA_MSG}"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}returned to the Toolbox.\0"
.align 2, 0
gUnknown_80DD60C:: @ 80DD60C
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "#+returned to the Toolbox.\0"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}returned to the Toolbox.\0"
.align 2, 0
gUnknown_80DD63C:: @ 80DD63C
.string "#+The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "#+sent to storage.\0"
.string "{CENTER_ALIGN}The {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} was\n"
.string "{CENTER_ALIGN}sent to storage.\0"
.align 2, 0
gPartyMenuStandBy:: @ 80DD664

View File

@@ -1,46 +1,46 @@
gSaveTextQuicksaving:: @ 80B6A34
.string "#+Quicksaving your adventure...\n"
.string "#+Please don{APOSTROPHE}t turn off the power.\0"
.string "{CENTER_ALIGN}Quicksaving your adventure...\n"
.string "{CENTER_ALIGN}Please don{APOSTROPHE}t turn off the power.\0"
.align 2, 0
gSaveTextYourAdventureHasBeenSaved:: @ 80B6A7C
.string "#+Your adventure has been saved.\0"
.string "{CENTER_ALIGN}Your adventure has been saved.\0"
.align 2, 0
gSaveTextYourAdventureHasBeenSavedLong:: @ 80B6AA0
.string "#+Your adventure has been saved.\n"
.string "#+When you are in a dungeon{COMMA} quicksave\n"
.string "#+your progress before ending the game.\0"
.string "{CENTER_ALIGN}Your adventure has been saved.\n"
.string "{CENTER_ALIGN}When you are in a dungeon{COMMA} quicksave\n"
.string "{CENTER_ALIGN}your progress before ending the game.\0"
.align 2, 0
gSaveTextTheDataCouldNotBeWritten:: @ 80B6B14
.string "#+The data could not be written.\n"
.string "#+Please turn off the power and remove\n"
.string "#+and reinsert the DS Card.\0"
.string "{CENTER_ALIGN}The data could not be written.\n"
.string "{CENTER_ALIGN}Please turn off the power and remove\n"
.string "{CENTER_ALIGN}and reinsert the DS Card.\0"
.align 2, 0
gSaveTextFailed:: @ 80B6B78
.string "#+Save failed.\0"
.string "{CENTER_ALIGN}Save failed.\0"
.align 2, 0
gSaveTextError:: @ 80B6B88
.string "#+Error reading data.\n"
.string "#+Please turn off the power and reinsert\n"
.string "#+the DS Game Card.\0"
.string "{CENTER_ALIGN}Error reading data.\n"
.string "{CENTER_ALIGN}Please turn off the power and reinsert\n"
.string "{CENTER_ALIGN}the DS Game Card.\0"
.align 2, 0
gSaveTextCantResume:: @ 80B6BDC
.string "#+Your data was not properly saved{COMMA}\n"
.string "#+so your game cannot be resumed\n"
.string "#+from your last spot.#P#+Your last outing is considered a defeat.\n"
.string "#+Before shutting down{COMMA} save in your\n"
.string "#+team base{COMMA} or quicksave in a dungeon.\0"
.string "{CENTER_ALIGN}Your data was not properly saved{COMMA}\n"
.string "{CENTER_ALIGN}so your game cannot be resumed\n"
.string "{CENTER_ALIGN}from your last spot.{EXTRA_MSG}{CENTER_ALIGN}Your last outing is considered a defeat.\n"
.string "{CENTER_ALIGN}Before shutting down{COMMA} save in your\n"
.string "{CENTER_ALIGN}team base{COMMA} or quicksave in a dungeon.\0"
.align 2, 0
gSaveTextMayNotResume:: @ 80B6CB8
.string "#+You may not resume your dungeon\n"
.string "#+adventure using this saved data.\n"
.string "#+Your last outing is considered a defeat.\0"
.string "{CENTER_ALIGN}You may not resume your dungeon\n"
.string "{CENTER_ALIGN}adventure using this saved data.\n"
.string "{CENTER_ALIGN}Your last outing is considered a defeat.\0"
.align 2, 0
.string "pksdir0\0"

View File

@@ -94,10 +94,6 @@
#define MUZZLED_STATUS_NONE 0
#define MUZZLED_STATUS_MUZZLED 1
#define TARGETING_DECOY_NONE 0
#define TARGETING_DECOY_TEAM 1
#define TARGETING_DECOY_WILD 2
#define STATUS_SPRITE_SLEEPLESS (1 << 0)
#define STATUS_SPRITE_BURNED (1 << 1)
#define STATUS_SPRITE_POISONED (1 << 2)

View File

@@ -0,0 +1,12 @@
#ifndef GUARD_CONSTANTS_TARGETING_H
#define GUARD_CONSTANTS_TARGETING_H
#define TARGETING_DECOY_NONE 0
#define TARGETING_DECOY_TEAM 1
#define TARGETING_DECOY_WILD 2
#define TARGET_CAPABILITY_CANNOT_ATTACK 0
#define TARGET_CAPABILITY_CAN_TARGET 1
#define TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET 2
#endif

9
include/dungeon_ai_1.h Normal file
View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_AI_1_H
#define GUARD_DUNGEON_AI_1_H
#include "dungeon_entity.h"
// 0x71598
u8 CanTarget(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, bool8 ignoreInvisible, bool8 checkPetrified);
#endif

View File

@@ -2,7 +2,7 @@
#define GUARD_DUNGEON_AI_ITEMS_H
#include "dungeon_entity.h"
#include "map.h"
#include "position.h"
// 0x73658
void DecideUseItem(struct DungeonEntity *pokemon);

View File

@@ -3,7 +3,7 @@
#include "constants/move.h"
#include "item.h"
#include "map.h"
#include "position.h"
struct DungeonActionContainer
{
@@ -272,10 +272,10 @@ struct DungeonEntity
enum EntityType
{
ENTITY_NONE = 0,
ENTITY_POKEMON = 1,
ENTITY_TRAP = 2,
ENTITY_ITEM = 3
ENTITY_NONE,
ENTITY_POKEMON,
ENTITY_TRAP,
ENTITY_ITEM
};
enum MovementFlag
@@ -287,10 +287,11 @@ enum MovementFlag
enum ShopkeeperMode
{
SHOPKEEPER_FRIENDLY = 1,
SHOPKEEPER_NONE,
SHOPKEEPER_FRIENDLY,
// These two modes trigger if an explosion damages the shopkeeper. The shopkeeper attacks the side that damaged it.
SHOPKEEPER_AGGRESSIVE_TO_WILD = 2,
SHOPKEEPER_AGGRESSIVE_TO_PLAYER = 3
SHOPKEEPER_AGGRESSIVE_TO_WILD,
SHOPKEEPER_AGGRESSIVE_TO_PLAYER
};
enum MovementAction
@@ -308,7 +309,7 @@ enum ClientType
{
CLIENT_TYPE_NONE = 0,
CLIENT_TYPE_CLIENT = 1, // Used for mission clients that need rescuing.
CLIENT_TYPE_DONT_MOVE = 3 // Used for Diglett in the Skarmory boss fight.
CLIENT_TYPE_DONT_MOVE = 4 // Used for Diglett in the Skarmory boss fight.
};
enum VisualFlag

View File

@@ -5,12 +5,15 @@
#include "dungeon_entity.h"
#include "global.h"
#include "map.h"
#include "position.h"
#define DUNGEON_MAX_SIZE_X 55
#define DUNGEON_MAX_SIZE_Y 31
#define DUNGEON_MAX_SIZE_X 56
#define DUNGEON_MAX_SIZE_Y 32
#define DUNGEON_MAX_WILD_POKEMON 16
#define DUNGEON_MAX_POKEMON MAX_TEAM_MEMBERS + DUNGEON_MAX_WILD_POKEMON
extern struct DungeonGlobalData *gDungeonGlobalData;
struct DungeonGlobalData
{
u8 unk0;
@@ -51,8 +54,8 @@ struct DungeonGlobalData
u8 fill3A10[0x3A14 - 0x3A10];
/* 0x3A14 */ s16 bossBattleIndex;
u8 fill3A16[0x3A18 - 0x3A16];
/* 0x3A18 */ struct MapTile mapTiles[DUNGEON_MAX_SIZE_X * DUNGEON_MAX_SIZE_Y];
u8 fill54BC[0xE23C - 0xD9F0];
/* 0x3A18 */ struct MapTile mapTiles[DUNGEON_MAX_SIZE_Y][DUNGEON_MAX_SIZE_X];
u8 fillE218[0xE23C - 0xE218];
s16 unkE23C;
s16 unkE23E;
u8 fillE240[0xE264 - 0xE240];
@@ -68,8 +71,10 @@ struct DungeonGlobalData
/* 0xE277 */ u8 mudSportTurnsLeft;
/* 0xE278 */ u8 waterSportTurnsLeft;
u8 fillE279[0xE8C0 - 0xE279];
/* 0xE8C0 */ u32 mapEntityPointers[DUNGEON_MAX_SIZE_X * DUNGEON_MAX_SIZE_Y];
u8 fill10364[0x10844 - 0x10364];
/* 0xE8C0 */ struct MapTile* mapEntityPointers[DUNGEON_MAX_SIZE_Y][DUNGEON_MAX_SIZE_X];
u8 fill104C0[0x104C4 - 0x104C0];
/* 0x104C4 */ struct MapRoom roomData[MAX_ROOM_COUNT];
u8 fill10764[0x10844 - 0x10764];
/* 0x10844 */ u16 numRoomExits[MAX_ROOM_COUNT];
u8 fill10874[0x10884 - 0x10874];
/* 0x10884 */ struct Position roomExits[MAX_ROOM_COUNT][32]; // Arrays of room exits for each room.

View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_MAP_ACCESS_H
#define GUARD_DUNGEON_MAP_ACCESS_H
#include "map.h"
// 0x4954C
struct MapTile* GetMapTileAtPosition(s32 x, s32 y);
#endif

View File

@@ -3,6 +3,8 @@
#include "dungeon_entity.h"
// 0x71884
bool8 CanSeeInvisible(struct DungeonEntity *pokemon);
// 0x718AC
bool8 HasTactic(struct DungeonEntity *pokemon, u8 tactic);
// 0x718D8

View File

@@ -1,7 +1,7 @@
#ifndef GUARD_DUNGEON_POKEMON_SPRITES_H
#define GUARD_DUNGEON_POKEMON_SPRITES_H
#include "map.h"
#include "position.h"
struct DungeonPokemonStatusSprite
{

9
include/dungeon_range.h Normal file
View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_RANGE_H
#define GUARD_DUNGEON_RANGE_H
#include "position.h"
// 0x83294
bool8 InSameRoom_2(struct Position *pos1, struct Position *pos2);
#endif

View File

@@ -11,6 +11,6 @@ u32 GetEntityType(struct DungeonEntity *entity);
struct DungeonEntityData *GetTrapData(struct DungeonEntity *entity);
// 0x45108
struct ItemSlot *GetItemData(struct DungeonEntity *entity);
struct MapTile *sub_8045128(struct DungeonEntity *entity);
struct MapTile *GetMapEntityForDungeonEntity(struct DungeonEntity *entity);
#endif

View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_VISIBILITY_H
#define GUARD_DUNGEON_VISIBILITY_H
#include "dungeon_entity.h"
// 0x45990
bool8 CanSee(struct DungeonEntity *entity, struct DungeonEntity *targetEntity);
#endif

View File

@@ -2,8 +2,10 @@
#define GUARD_MAP_H
#include "dungeon_entity.h"
#include "position.h"
#define MAX_ROOM_COUNT 24 // Empirical max, not sure if the code supports any more.
#define CORRIDOR_ROOM_INDEX 0xFF
struct MapTile
{
@@ -25,25 +27,16 @@ struct MapTile
/* 0x14 */ struct DungeonEntity *mapObject; // Item or trap on the tile.
};
struct Position
{
s16 x;
s16 y;
};
struct Position32
{
s32 x;
s32 y;
};
struct MapRoom
{
u8 fill0[0x2 - 0x0];
// All coordinates are inclusive.
/* 0x2 */ struct Position start;
/* 0x6 */ struct Position end;
u8 fillA[0x1C - 0xA];
// These are not aligned properly to use the Position struct.
/* 0x2 */ s16 startX;
/* 0x4 */ s16 startY;
/* 0x6 */ s16 endX;
/* 0x8 */ s16 endY;
u8 fillA[0x1A - 0xA];
};
enum TileType

16
include/position.h Normal file
View File

@@ -0,0 +1,16 @@
#ifndef GUARD_POSITION_H
#define GUARD_POSITION_H
struct Position
{
s16 x;
s16 y;
};
struct Position32
{
s32 x;
s32 y;
};
#endif

View File

@@ -190,8 +190,12 @@ SECTIONS {
asm/code_804ACA0.o(.text);
src/dungeon_util.o(.text);
asm/code_80450F8.o(.text);
src/dungeon_visibility.o(.text);
asm/code_8045A00.o(.text);
src/code_8048480.o(.text);
asm/code_8048480.o(.text);
src/dungeon_map_access.o(.text);
asm/code_8049590.o(.text);
src/code_80521D0.o(.text);
asm/code_80521D0.o(.text);
src/charge_move.o(.text);
@@ -207,6 +211,8 @@ SECTIONS {
asm/code_8070D04.o(.text);
src/dungeon_ai.o(.text);
asm/code_8071518.o(.text);
src/dungeon_ai_1.o(.text);
asm/code_807167C.o(.text);
src/dungeon_pokemon_attributes.o(.text);
asm/code_8071858.o(.text);
src/dungeon_pokemon_attributes_1.o(.text);
@@ -215,6 +221,8 @@ SECTIONS {
asm/code_8073B78.o(.text);
src/dungeon_movement.o(.text);
asm/code_8075BA4.o(.text);
src/dungeon_range.o(.text);
asm/code_808333C.o(.text);
src/dungeon_random.o(.text);
asm/code_808411C.o(.text);
src/dungeon_random_1.o(.text);

View File

@@ -125,8 +125,8 @@ void sub_801B080(void)
{
case 0:
sub_801B178();
// #+Who will learn the move
// #+{COLOR_1 CYAN}{ARG_POKEMON_7}{END_COLOR_TEXT_1}?
// {CENTER_ALIGN}Who will learn the move
// {CENTER_ALIGN}{COLOR_1 CYAN}{ARG_POKEMON_7}{END_COLOR_TEXT_1}?
sub_8014248(&gUnknown_80DB9BC, 0, gUnknown_203B22C->unk60, gUnknown_203B22C->menuItems, 0, 4, 0, 0, 0x20);
break;
case 1:
@@ -140,13 +140,13 @@ void sub_801B080(void)
gTeamInventory_203B460->teamItems[gUnknown_203B22C->teamItemIndex].itemIndex = ITEM_ID_USED_TM;
}
PlaySound(0x9C << 1);
// #+CM{ARG_POKEMON_8}{END_COLOR_TEXT_1} learned
// #+the move {COLOR_1 CYAN}{ARG_POKEMON_7}{END_COLOR_TEXT_1}!
// {CENTER_ALIGN}CM{ARG_POKEMON_8}{END_COLOR_TEXT_1} learned
// {CENTER_ALIGN}the move {COLOR_1 CYAN}{ARG_POKEMON_7}{END_COLOR_TEXT_1}!
sub_80141B4(&gUnknown_80DB9E4, 0, 0, 0x121);
break;
case 3:
// #+No one in the current team
// #+can learn this move.
// {CENTER_ALIGN}No one in the current team
// {CENTER_ALIGN}can learn this move.
sub_80141B4(&gUnknown_80DBA0C, 0, 0, 0x121);
break;
default:

View File

@@ -3,7 +3,6 @@
#include "file_system.h"
#include "dungeon_global_data.h"
extern struct DungeonGlobalData *gDungeonGlobalData;
extern s32 gUnknown_80F6568[];
extern u8 gUnknown_202EE01;
extern const char gUnknown_80F6604; // "zmappat"
@@ -36,9 +35,9 @@ void HandleLuminousOrbAction(u32 param_1)
gDungeonGlobalData->unk1820B = 1;
for(YCoord = 0; YCoord <= DUNGEON_MAX_SIZE_Y; YCoord++)
for(YCoord = 0; YCoord < DUNGEON_MAX_SIZE_Y; YCoord++)
{
for(XCoord = 0; XCoord <= DUNGEON_MAX_SIZE_X; XCoord++)
for(XCoord = 0; XCoord < DUNGEON_MAX_SIZE_X; XCoord++)
{
mapTile = GetMapEntity(XCoord, YCoord);
mapTile->unk4 = mapTile->unk4 | 1;

View File

@@ -10,8 +10,6 @@ struct unkStruct_80420E8
u32 unk8;
};
extern struct DungeonGlobalData *gDungeonGlobalData;
extern void sub_803ED30(u8, struct DungeonEntity *r0, u8, u8);
extern void sub_804151C(struct DungeonEntity *r0, u32 r1, u8 r2);

View File

@@ -4,6 +4,7 @@
#include "dungeon_global_data.h"
#include "dungeon_entity.h"
#include "dungeon_random.h"
#include "dungeon_util.h"
#include "friend_area.h"
#include "map.h"
#include "pokemon.h"
@@ -11,7 +12,6 @@
extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);
extern struct DungeonEntity *sub_8085680(u32);
extern char gUnknown_202E038[0x50];
extern struct DungeonGlobalData *gDungeonGlobalData;
extern u32 gUnknown_202EDC8;
extern u32 gUnknown_81062A8;
@@ -95,7 +95,6 @@ extern void sub_8042B0C(struct DungeonEntity *);
extern void SetFacingDirection(struct DungeonEntity *, u32);
extern void DisplayDungeonDialogue(u32 *);
extern void sub_803E708(u32, u32);
extern u8 EntityExists(struct DungeonEntity *);
extern u8 HasRecruitedMon(u32);
extern u8 sub_806FD18(struct DungeonEntity *);
extern u8 sub_8083E74(u32);

View File

@@ -3,8 +3,6 @@
#include "dungeon_entity.h"
#include "constants/move.h"
extern struct DungeonGlobalData *gDungeonGlobalData;
extern u32 gUnknown_80FCF74;
extern u32 gUnknown_80FCF80;
extern u16 gUnknown_80F4F42;

View File

@@ -6,8 +6,6 @@
#include "item.h"
#include "pokemon.h"
extern struct DungeonGlobalData *gDungeonGlobalData;
extern u32 gUnknown_202EDC8;
extern u8 gUnknown_202E038[0x50];
extern u8 gAvailablePokemonNames[0x58];

View File

@@ -4,8 +4,6 @@
#include "dungeon_global_data.h"
#include "dungeon_util.h"
extern struct DungeonGlobalData *gDungeonGlobalData;
extern u8 sub_806CEBC(struct DungeonEntity *);
extern void sub_806CCB4(struct DungeonEntity *, u8);

View File

@@ -1,8 +1,6 @@
#include "global.h"
#include "dungeon_global_data.h"
extern struct DungeonGlobalData *gDungeonGlobalData;
extern void SkarmoryPreFightDialogue();
extern void SkarmoryReFightDialogue();
extern void sub_8086E40();

View File

@@ -15,7 +15,6 @@ struct unkStruct_202F3D0
};
EWRAM_DATA struct unkStruct_202F3D0 gUnknown_202F3D0;
extern struct DungeonGlobalData *gDungeonGlobalData;
s8 sub_8002984(s8, u8);
void sub_803E708(u32, u32);

View File

@@ -4,7 +4,6 @@
#include "dungeon_global_data.h"
#include "pokemon.h"
extern struct DungeonGlobalData *gDungeonGlobalData;
extern void LoadIQSkills(struct DungeonEntity *);
extern struct DungeonEntity *GetPartnerEntity();
extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);

74
src/dungeon_ai_1.c Normal file
View File

@@ -0,0 +1,74 @@
#include "global.h"
#include "dungeon_ai_1.h"
#include "constants/status.h"
#include "constants/targeting.h"
extern bool8 CanSeeInvisible(struct DungeonEntity*);
extern bool8 gTargetingData[3][2][2][2];
u8 CanTarget(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, bool8 ignoreInvisible, bool8 checkPetrified)
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
struct DungeonEntityData *targetData = targetPokemon->entityData;
u8 targetingDecoy;
u8 pokemonTargetingDecoy;
bool8 pokemonIsEnemy;
bool8 targetIsEnemy;
bool8 targetIsDecoy;
if (pokemon == targetPokemon)
{
return TARGET_CAPABILITY_CANNOT_ATTACK;
}
if (pokemonData->shopkeeperMode == SHOPKEEPER_FRIENDLY ||
targetData->shopkeeperMode == SHOPKEEPER_FRIENDLY ||
pokemonData->clientType == CLIENT_TYPE_DONT_MOVE ||
targetData->clientType == CLIENT_TYPE_DONT_MOVE ||
pokemonData->clientType == CLIENT_TYPE_CLIENT ||
targetData->clientType == CLIENT_TYPE_CLIENT ||
(checkPetrified && !pokemonData->isEnemy && targetData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED) ||
(!ignoreInvisible && targetData->transformStatus == TRANSFORM_STATUS_INVISIBLE && !CanSeeInvisible(pokemon)))
{
return TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET;
}
pokemonTargetingDecoy = pokemonData->targetingDecoy;
targetingDecoy = TARGETING_DECOY_NONE;
if (pokemonTargetingDecoy != TARGETING_DECOY_NONE)
{
targetingDecoy = TARGETING_DECOY_WILD;
if (pokemonTargetingDecoy == TARGETING_DECOY_TEAM)
{
targetingDecoy = TARGETING_DECOY_TEAM;
}
}
if (pokemonData->shopkeeperMode != SHOPKEEPER_NONE)
{
pokemonIsEnemy = FALSE;
if (pokemonData->shopkeeperMode == SHOPKEEPER_AGGRESSIVE_TO_PLAYER)
{
pokemonIsEnemy = TRUE;
}
}
else
{
pokemonIsEnemy = pokemonData->isEnemy ? TRUE : FALSE;
}
if (targetData->shopkeeperMode != SHOPKEEPER_NONE)
{
targetIsEnemy = FALSE;
if (targetData->shopkeeperMode == SHOPKEEPER_AGGRESSIVE_TO_PLAYER)
{
targetIsEnemy = TRUE;
}
}
else
{
targetIsEnemy = targetData->isEnemy ? TRUE : FALSE;
}
targetIsDecoy = FALSE;
if (targetData->waitingStatus == WAITING_STATUS_DECOY)
{
targetIsDecoy = TRUE;
}
return gTargetingData[targetingDecoy][pokemonIsEnemy][targetIsEnemy][targetIsDecoy];
}

View File

@@ -3,17 +3,22 @@
#include "constants/direction.h"
#include "constants/dungeon_action.h"
#include "constants/iq_skill.h"
#include "constants/targeting.h"
#include "dungeon_action.h"
#include "dungeon_ai_1.h"
#include "dungeon_ai_items.h"
#include "dungeon_capabilities.h"
#include "dungeon_capabilities_1.h"
#include "dungeon_entity.h"
#include "dungeon_global_data.h"
#include "dungeon_map_access.h"
#include "dungeon_pokemon_attributes_1.h"
#include "dungeon_random.h"
#include "dungeon_random_1.h"
#include "dungeon_util.h"
#include "dungeon_visibility.h"
#include "item.h"
#include "position.h"
#include "team_inventory.h"
#define NUM_POTENTIAL_ROCK_TARGETS 20
@@ -26,20 +31,10 @@ enum ItemTargetFlag
ITEM_TARGET_ALLY = 1 << 1
};
enum TargetCapability
{
TARGET_CAPABILITY_CANNOT_ATTACK,
TARGET_CAPABILITY_CAN_TARGET,
TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET
};
extern s32 CalculateFacingDir(struct Position*, struct Position*);
extern struct MapTile* GetMapTileAtPosition(s16, s16);
extern u32 EvaluateItem(struct DungeonEntity*, struct ItemSlot*, u8);
extern bool8 ToolboxEnabled(struct DungeonEntityData*);
extern void sub_8077274(struct DungeonEntity *, struct DungeonEntity *);
extern bool8 CanTarget(struct DungeonEntity*, struct DungeonEntity*, bool8, bool8);
extern bool8 CanSee(struct DungeonEntity*, struct DungeonEntity*);
extern void TargetThrownItem(struct DungeonEntity*, struct DungeonEntity*, struct ItemSlot*, u8, bool8);
extern s32 gNumPotentialTargets;
@@ -47,7 +42,6 @@ extern u32 gPotentialTargetWeights[NUM_DIRECTIONS];
extern u32 gPotentialTargetDirections[NUM_DIRECTIONS];
extern bool8 gTargetAhead[NUM_DIRECTIONS];
extern struct TeamInventory *gTeamInventory_203B460;
extern struct DungeonGlobalData *gDungeonGlobalData;
void sub_807360C(struct DungeonEntity *pokemon)
{

15
src/dungeon_map_access.c Normal file
View File

@@ -0,0 +1,15 @@
#include "global.h"
#include "dungeon_map_access.h"
#include "dungeon_global_data.h"
extern struct MapTile *gUnknown_203B430;
struct MapTile* GetMapTileAtPosition(s32 x, s32 y)
{
if (x >= 0 && y >= 0 && x < DUNGEON_MAX_SIZE_X && y < DUNGEON_MAX_SIZE_Y)
{
return gDungeonGlobalData->mapEntityPointers[y][x];
}
return gUnknown_203B430;
}

View File

@@ -5,6 +5,7 @@
#include "constants/direction.h"
#include "constants/iq_skill.h"
#include "constants/status.h"
#include "constants/targeting.h"
#include "dungeon_ai_items.h"
#include "dungeon_capabilities_1.h"
#include "dungeon_global_data.h"
@@ -12,19 +13,18 @@
#include "dungeon_random.h"
#include "dungeon_util.h"
#include "dungeon_util_1.h"
#include "dungeon_visibility.h"
#include "map.h"
#include "pokemon.h"
extern char gAvailablePokemonNames[];
extern char *gPtrCouldntBeUsedMessage;
extern char *gPtrItsaMonsterHouseMessage;
extern struct DungeonGlobalData *gDungeonGlobalData;
extern void SendImmobilizeEndMessage(struct DungeonEntity*, struct DungeonEntity*);
extern void SetMessageArgument(char[], struct DungeonEntity*, u32);
extern void SendMessage(struct DungeonEntity*, char*);
extern bool8 HasStatusAffectingActions(struct DungeonEntity*);
extern bool8 CanSee(struct DungeonEntity*, struct DungeonEntity*);
extern void ResetAction(u16*);
extern void SetWalkAction(u16*, s16);
extern void DecideAttack(struct DungeonEntity*);
@@ -49,7 +49,7 @@ u32 sub_8075818(struct DungeonEntity *entity)
entityData = entity->entityData;
if(EntityExists(entity))
{
tile = sub_8045128(entity);
tile = GetMapEntityForDungeonEntity(entity);
if(HasIQSkill(entity, IQ_SKILL_SUPER_MOBILE))
if(!(tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_UNK_1)))
return 1;
@@ -136,7 +136,7 @@ void sub_8075900(struct DungeonEntity *pokemon, u8 r1)
{
if(!gDungeonGlobalData->monsterHouseActive)
{
if((sub_8045128(pokemon)->tileType & TILE_TYPE_MONSTER_HOUSE))
if((GetMapEntityForDungeonEntity(pokemon)->tileType & TILE_TYPE_MONSTER_HOUSE))
{
// It's a monster house!
SendMessage(GetLeaderEntity(), gPtrItsaMonsterHouseMessage);

48
src/dungeon_range.c Normal file
View File

@@ -0,0 +1,48 @@
#include "global.h"
#include "dungeon_range.h"
#include "dungeon_global_data.h"
#include "dungeon_map_access.h"
#include "map.h"
bool8 InSameRoom_2(struct Position *pos1, struct Position *pos2)
{
u8 pos1RoomIndex;
u8 visibility = gDungeonGlobalData->visibility;
struct MapTile *tile1;
if (visibility == 0)
{
visibility = 2;
}
tile1 = GetMapTileAtPosition(pos1->x, pos1->y);
pos1RoomIndex = tile1->roomIndex;
if (pos1RoomIndex == CORRIDOR_ROOM_INDEX)
{
s32 xDiff = pos1->x - pos2->x;
s32 yDiff;
xDiff = xDiff < 0 ? -xDiff : xDiff;
if (xDiff > visibility)
{
return FALSE;
}
yDiff = pos1->y - pos2->y;
yDiff = yDiff < 0 ? -yDiff : yDiff;
if (yDiff > visibility)
{
return FALSE;
}
returnTrue:
return TRUE;
}
else
{
struct MapRoom *pos1Room = &gDungeonGlobalData->roomData[pos1RoomIndex];
if (pos1Room->startX - 1 > pos2->x || pos1Room->startY - 1 > pos2->y ||
pos1Room->endX + 1 <= pos2->x || pos1Room->endY + 1 <= pos2->y)
{
return FALSE;
}
goto returnTrue;
}
}

View File

@@ -1,7 +1,8 @@
#include "global.h"
#include "dungeon_util.h"
extern struct MapTile* GetMapTileAtPosition(s16, s16);
#include "dungeon_map_access.h"
extern struct MapTile* GetMapEntity(s16, s16);
bool8 EntityExists(struct DungeonEntity *entity)
@@ -23,32 +24,32 @@ u8 GetEntityRoomIndex(struct DungeonEntity *entity)
return entity->roomIndex;
}
struct DungeonEntityData *GetTrapData(struct DungeonEntity *entity)
struct DungeonEntityData* GetTrapData(struct DungeonEntity *entity)
{
return entity->entityData;
}
struct ItemSlot *GetItemData(struct DungeonEntity *entity)
struct ItemSlot* GetItemData(struct DungeonEntity *entity)
{
return (struct ItemSlot *)entity->entityData;
}
struct DungeonEntityData *sub_804510C(struct DungeonEntity *entity)
struct DungeonEntityData* sub_804510C(struct DungeonEntity *entity)
{
return entity->entityData;
}
struct DungeonEntityData *sub_8045110(struct DungeonEntity *entity)
struct DungeonEntityData* sub_8045110(struct DungeonEntity *entity)
{
return entity->entityData;
}
struct MapTile *sub_8045114(struct DungeonEntity *entity)
struct MapTile* GetMapTileForDungeonEntity(struct DungeonEntity *entity)
{
return GetMapTileAtPosition(entity->posWorld.x, entity->posWorld.y);
}
struct MapTile *sub_8045128(struct DungeonEntity *entity)
struct MapTile* GetMapEntityForDungeonEntity(struct DungeonEntity *entity)
{
return GetMapEntity(entity->posWorld.x, entity->posWorld.y);
}

View File

@@ -6,7 +6,6 @@
#include "dungeon_util.h"
#include "random.h"
extern struct DungeonGlobalData *gDungeonGlobalData;
extern void sub_806CE68(struct DungeonEntity *, s32);
extern s32 sub_803F994(void);
@@ -128,7 +127,7 @@ bool8 IsMovingClient(struct DungeonEntity *pokemon)
switch (pokemonData->clientType)
{
case CLIENT_TYPE_CLIENT:
case CLIENT_TYPE_DONT_MOVE:
case 0x3:
case 0x5:
case 0x6:
case 0x7:
@@ -161,7 +160,7 @@ bool8 IsMovingClient(struct DungeonEntity *pokemon)
return TRUE;
case CLIENT_TYPE_NONE:
case 0x2:
case 0x4:
case CLIENT_TYPE_DONT_MOVE:
case 0xA:
case 0xB:
case 0xC:

34
src/dungeon_visibility.c Normal file
View File

@@ -0,0 +1,34 @@
#include "global.h"
#include "dungeon_visibility.h"
#include "constants/status.h"
#include "dungeon_pokemon_attributes_1.h"
#include "dungeon_range.h"
#include "dungeon_util.h"
bool8 CanSee(struct DungeonEntity *entity, struct DungeonEntity *targetEntity)
{
if (!EntityExists(entity) || !EntityExists(targetEntity) || !targetEntity->visible)
{
return FALSE;
}
if (targetEntity->entityType == ENTITY_POKEMON)
{
if (entity->entityType == ENTITY_POKEMON)
{
if (!CanSeeInvisible(entity) && targetEntity->entityData->transformStatus == TRANSFORM_STATUS_INVISIBLE)
{
return FALSE;
}
if (entity->entityData->eyesightStatus == EYESIGHT_STATUS_BLINKER)
{
return FALSE;
}
}
else if (targetEntity->entityData->transformStatus == TRANSFORM_STATUS_INVISIBLE)
{
return FALSE;
}
}
return InSameRoom_2(&entity->posWorld, &targetEntity->posWorld);
}

View File

@@ -278,7 +278,7 @@ void PrintColoredPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon, s32
if (colorNum == COLOR_WHITE) {
colorNum = COLOR_CYAN;
}
ExpandPlaceholdersBuffer(buffer,gUnknown_810763C,colorNum,nameBuffer); // #c%c%s{END_COLOR_TEXT_2}
ExpandPlaceholdersBuffer(buffer,gUnknown_810763C,colorNum,nameBuffer); // {COLOR_2}%c%s{END_COLOR_TEXT_2}
}
void sub_808D9DC(u8 *buffer, u8 *param_2, s32 colorNum)
@@ -289,7 +289,7 @@ void sub_808D9DC(u8 *buffer, u8 *param_2, s32 colorNum)
if (colorNum == COLOR_WHITE) {
colorNum = COLOR_YELLOW;
}
ExpandPlaceholdersBuffer(buffer,gUnknown_810763C,colorNum,nameBuffer); // #c%c%s{END_COLOR_TEXT_2}
ExpandPlaceholdersBuffer(buffer,gUnknown_810763C,colorNum,nameBuffer); // {COLOR_2}%c%s{END_COLOR_TEXT_2}
}
void sub_808DA0C(u8 *buffer, u8 *param_2)

View File

@@ -226,10 +226,10 @@ ALIGNED(4) const u8 gUnknown_80DF208[]= _(
ALIGNED(4) const u8 gUnknown_80DF250[]= _(
": This is the counter for\n"
"{COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1}.#P"
"{COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1}.{EXTRA_MSG}"
": Oh{COMMA} hi{COMMA} {COLOR_1 YELLOW_5}%s{END_COLOR_TEXT_1}.\n"
"I{APOSTROPHE}ve been waiting for you. You wanted me\n"
"to process a {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1}?#P"
"to process a {COLOR_1 LIGHT_BLUE_2}Thank-You Mail{END_COLOR_TEXT_1}?{EXTRA_MSG}"
": Let me get on it right away.");
ALIGNED(4) const u8 gUnknown_80DF304[]= _(
@@ -245,11 +245,11 @@ ALIGNED(4) const u8 gUnknown_80DF380[]= _(
" OK. Please enter the\n"
"{COLOR_1 LIGHT_BLUE_2}Thank-You Mail password{END_COLOR_TEXT_1}.");
ALIGNED(4) const u8 gUnknown_80DF3B4[]=
ALIGNED(4) const u8 gUnknown_80DF3B4[]= _(
" Please give this password\n"
"to the friend that rescued your team.#P"
"to the friend that rescued your team.{EXTRA_MSG}"
" I also must save your\n"
"adventure.";
"adventure.");
ALIGNED(4) const u8 gUnknown_80DF418[]= _(
" OK{COMMA} here is your\n"
@@ -261,7 +261,7 @@ ALIGNED(4) const u8 gUnknown_80DF44C[]=
ALIGNED(4) const u8 gUnknown_80DF46C[]= _(
" There we go.\n"
"I{APOSTROPHE}m all done.#P"
"I{APOSTROPHE}m all done.{EXTRA_MSG}"
" Doesn{APOSTROPHE}t it feel great to\n"
"be appreciated for doing something good?\n"
"Please keep up your rescue work!");
@@ -272,9 +272,9 @@ ALIGNED(4) const u8 gUnknown_80DF4F4[]= _(
"mission.");
ALIGNED(4) const u8 gUnknown_80DF544[]= _(
"#+Communicating...\n"
"#+Please wait with the power on.\n"
"#+To cancel{COMMA} press {B_BUTTON}.");
"{CENTER_ALIGN}Communicating...\n"
"{CENTER_ALIGN}Please wait with the power on.\n"
"{CENTER_ALIGN}To cancel{COMMA} press {B_BUTTON}.");
ALIGNED(4) const u8 gUnknown_80DF594[]= _(
" There. I{APOSTROPHE}ve sent your\n"
@@ -316,7 +316,7 @@ ALIGNED(4) const u8 gUnknown_80DF77C[]= _(
ALIGNED(4) const u8 gUnknown_80DF7D4[]= _(
" ...Oh?\n"
"You{APOSTROPHE}ve already attached a {COLOR_1 LIGHT_BLUE_2}reward item{END_COLOR_TEXT_1}\n"
"to this mail.#P"
"to this mail.{EXTRA_MSG}"
" I{APOSTROPHE}m sorry{COMMA} but once an item\n"
"has been attached to mail{COMMA} it can{APOSTROPHE}t be\n"
"exchanged.");

View File

@@ -189,7 +189,7 @@ ALIGNED(4) const char gUnknown_80DF9F0[] = "????";
ALIGNED(4) const char gUnknown_80DF9F8[] = _(
" Oh{COMMA} hello!\n"
"Your rescue mission went well{COMMA} didn{APOSTROPHE}t it?\n"
"I wouldn{APOSTROPHE}t expect any less{COMMA} {COLOR_1 LIGHT_BLUE_2}%s{END_COLOR_TEXT_1}!#P"
"I wouldn{APOSTROPHE}t expect any less{COMMA} {COLOR_1 LIGHT_BLUE_2}%s{END_COLOR_TEXT_1}!{EXTRA_MSG}"
" Well{COMMA} well!\n"
"Here is your reward from the Pokémon\n"
"Rescue Organization!");
@@ -197,14 +197,14 @@ ALIGNED(4) const char gUnknown_80DF9F8[] = _(
ALIGNED(4) const char gUnknown_80DFAA8[] = _(
" I hope you will keep on\n"
"rescuing your friends in\n"
"dire straits.#P"
"dire straits.{EXTRA_MSG}"
" And now{COMMA} I must save\n"
"your adventure.");
ALIGNED(4) const char gUnknown_80DFB14[] = _(
" Oh{COMMA} yes{COMMA} that{APOSTROPHE}s right.\n"
"Please don{APOSTROPHE}t forget to send an {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}\n"
"to the friend you just rescued.#P"
"to the friend you just rescued.{EXTRA_MSG}"
" Please give me a shout if\n"
"you would like to send {COLOR_1 LIGHT_BLUE_2}A-OK Mail{END_COLOR_TEXT_1}.");
@@ -779,7 +779,7 @@ void sub_802BCC4(void)
u32 sub_802BD14(s32 param_1, struct UnkTextStruct2_sub *param_2, u32 param_3)
{
if (HasNoMailinMailbox()) {
return 0;
}

View File

@@ -113,9 +113,9 @@ ALIGNED(4) const char gUnknown_80E7BEC[] = _("Connect a {COLOR_1 LIGHT_BLUE_2}Ga
"When you and your friend are ready{COMMA}\n"
"you may communicate. ");
ALIGNED(4) const char gUnknown_80E7C48[] = _("#+In communication...\n"
"#+Please wait with the power on.\n"
"#+To cancel{COMMA} press {B_BUTTON}.");
ALIGNED(4) const char gUnknown_80E7C48[] = _("{CENTER_ALIGN}In communication...\n"
"{CENTER_ALIGN}Please wait with the power on.\n"
"{CENTER_ALIGN}To cancel{COMMA} press {B_BUTTON}.");
ALIGNED(4) const char gUnknown_80E7C98[] = _("Please enter the\n"
"{COLOR_1 LIGHT_BLUE_2}Wonder Mail password{END_COLOR_TEXT_1}.");