summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_frontier_2.s3778
-rw-r--r--asm/battle_tower.s26
-rw-r--r--data/battle_frontier_2.s2
-rw-r--r--data/event_scripts.s2979
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/events.inc2
-rw-r--r--data/scripts/apprentice.inc2885
-rw-r--r--include/apprentice.h20
-rw-r--r--include/constants/apprentice.h22
-rw-r--r--include/global.h41
-rw-r--r--include/item_menu.h1
-rw-r--r--include/menu.h2
-rw-r--r--include/pokemon.h28
-rw-r--r--include/script_menu.h1
-rw-r--r--ld_script.txt1
-rw-r--r--src/apprentice.c1415
-rw-r--r--src/easy_chat.c2
-rw-r--r--src/pokemon.c21
-rw-r--r--src/record_mixing.c34
18 files changed, 4429 insertions, 6831 deletions
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 72be464fd..3f6591927 100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -5,3778 +5,6 @@
.text
- thumb_func_start sub_819F99C
-sub_819F99C: @ 819F99C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r1, [r2]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDE
- ldrb r1, [r1]
- movs r6, 0
- adds r7, r2, 0
- ldr r0, =gStringVar1
- mov r8, r0
- cmp r1, 0
- beq _0819F9DC
-_0819F9C2:
- adds r0, r1, 0
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r1, 0
- beq _0819F9DC
- cmp r6, 0x3
- bls _0819F9C2
-_0819F9DC:
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r1, [r7]
- adds r1, r4, r1
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r0
- mov r0, r8
- bl StringCopy7
- ldr r0, [r7]
- adds r0, r4
- ldr r1, =0x0000011b
- adds r0, r1
- ldrb r1, [r0]
- mov r0, r8
- bl ConvertInternationalString
- ldr r0, =gStringVar2
- ldr r1, [r7]
- adds r1, r4
- adds r1, 0xDE
- ldrb r1, [r1]
- movs r2, 0x1
- adds r3, r6, 0
- bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_08611330
- ldr r0, [r7]
- adds r0, r4
- adds r0, 0xDC
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 25
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819F99C
-
- thumb_func_start sub_819FA50
-sub_819FA50: @ 819FA50
- push {lr}
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_819FA50
-
- thumb_func_start sub_819FA5C
-sub_819FA5C: @ 819FA5C
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r2, 0
- adds r4, r3, 0
- adds r4, 0x28
- ldr r0, =0x0000ffff
- adds r5, r0, 0
-_0819FA6A:
- lsls r0, r2, 1
- adds r0, r4, r0
- ldrh r1, [r0]
- orrs r1, r5
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0819FA6A
- adds r1, r3, 0
- adds r1, 0x38
- movs r0, 0xFF
- strb r0, [r1]
- ldrb r1, [r3]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819FA5C
-
- thumb_func_start sub_819FAA0
-sub_819FAA0: @ 819FAA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- adds r1, 0xB2
- ldrb r2, [r1]
- movs r0, 0x19
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0
- mov r12, r0
- adds r5, r3, 0
- mov r8, r0
- ldr r1, =0x0000ffff
- mov r10, r1
-_0819FAC6:
- movs r2, 0
- mov r3, r12
- lsls r7, r3, 4
- movs r4, 0x1
- add r4, r12
- mov r9, r4
- adds r0, r7, r3
- lsls r3, r0, 2
-_0819FAD6:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r0, r3
- movs r4, 0x82
- lsls r4, 1
- adds r1, r4
- adds r1, r0
- ldrh r0, [r1]
- mov r4, r10
- orrs r0, r4
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0819FAD6
- ldr r2, [r5]
- mov r0, r12
- adds r3, r7, r0
- lsls r3, 2
- adds r2, r3
- adds r2, 0xDC
- ldrb r1, [r2]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- adds r0, r3
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xDC
- ldrb r2, [r1]
- movs r0, 0x61
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r3
- adds r0, 0xDE
- mov r4, r8
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, r3
- adds r0, 0xDD
- strb r4, [r0]
- movs r2, 0
- ldr r6, =gSaveBlock2Ptr
- movs r4, 0x88
- lsls r4, 1
-_0819FB48:
- ldr r0, [r6]
- adds r1, r2, r3
- adds r0, r4
- adds r0, r1
- mov r1, r8
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0819FB48
- ldr r0, [r5]
- mov r3, r12
- adds r2, r7, r3
- lsls r2, 2
- adds r0, r2
- ldr r4, =gGameLanguage
- ldrb r1, [r4]
- ldr r3, =0x0000011b
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r5]
- movs r4, 0x8E
- lsls r4, 1
- adds r0, r4
- adds r0, r2
- mov r1, r8
- str r1, [r0]
- mov r3, r9
- lsls r0, r3, 24
- lsrs r0, 24
- mov r12, r0
- cmp r0, 0x3
- bls _0819FAC6
- bl sub_81A087C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819FAA0
-
- thumb_func_start sub_819FBB0
-sub_819FBB0: @ 819FBB0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB1
- ldrb r0, [r0]
- movs r1, 0x3
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_819FBB0
-
- thumb_func_start sub_819FBC8
-sub_819FBC8: @ 819FBC8
- push {r4,r5,lr}
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- adds r0, 0xDE
- ldrb r0, [r0]
- cmp r0, 0
- bne _0819FC10
- adds r4, r2, 0
- ldr r5, =gUnknown_08611548
-_0819FBDA:
- bl Random
- ldr r2, [r4]
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- adds r1, r5
- ldrb r0, [r1]
- adds r2, 0xB0
- strb r0, [r2]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xB0
- adds r0, 0xDC
- ldrb r0, [r0]
- lsls r0, 27
- ldrb r1, [r1]
- lsrs r0, 27
- cmp r1, r0
- beq _0819FBDA
- b _0819FC38
- .pool
-_0819FC10:
- adds r4, r2, 0
-_0819FC12:
- bl Random
- ldr r2, [r4]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- adds r2, 0xB0
- strb r0, [r2]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xB0
- adds r0, 0xDC
- ldrb r0, [r0]
- lsls r0, 27
- ldrb r1, [r1]
- lsrs r0, 27
- cmp r1, r0
- beq _0819FC12
-_0819FC38:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_819FBC8
-
- thumb_func_start sub_819FC40
-sub_819FC40: @ 819FC40
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r2, [r1]
- adds r2, 0xB1
- movs r1, 0x3
- ands r0, r1
- ldrb r3, [r2]
- subs r1, 0x7
- ands r1, r3
- orrs r1, r0
- strb r1, [r2]
- bx lr
- .pool
- thumb_func_end sub_819FC40
-
- thumb_func_start sub_819FC60
-sub_819FC60: @ 819FC60
- push {r4-r7,lr}
- sub sp, 0xC
- movs r5, 0
-_0819FC66:
- mov r1, sp
- adds r0, r1, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _0819FC66
- movs r5, 0
-_0819FC78:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r7, sp
- adds r2, r7, r4
- ldrb r3, [r2]
- adds r1, r7, r0
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x31
- bls _0819FC78
- movs r5, 0
- ldr r6, =gSaveBlock2Ptr
- movs r4, 0xF
-_0819FCBC:
- ldr r3, [r6]
- adds r3, 0xB4
- adds r3, r5
- lsls r2, r5, 1
- mov r1, sp
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 4
- adds r2, 0x1
- mov r7, sp
- adds r0, r7, r2
- ldrb r2, [r0]
- adds r0, r4, 0
- ands r0, r2
- orrs r1, r0
- strb r1, [r3]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _0819FCBC
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819FC60
-
- thumb_func_start sub_819FCF8
-sub_819FCF8: @ 819FCF8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- cmp r0, 0x2
- bne _0819FD4C
- ldr r6, =gUnknown_030062EC
-_0819FD06:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- movs r2, 0
- ldr r1, [r6]
- lsls r0, r5, 2
- adds r0, r5
- lsls r4, r0, 1
- adds r1, 0x2
-_0819FD26:
- lsls r0, r2, 1
- adds r0, r4
- adds r0, r1, r0
- ldrh r0, [r0]
- cmp r0, 0
- beq _0819FD38
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_0819FD38:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _0819FD26
- cmp r3, 0x3
- bhi _0819FD06
- b _0819FD5A
- .pool
-_0819FD4C:
- cmp r0, 0x1
- bne _0819FD5A
- ldrb r0, [r2]
- adds r1, r0
- ldrb r5, [r1]
- adds r0, 0x1
- strb r0, [r2]
-_0819FD5A:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_819FCF8
-
- thumb_func_start sub_819FD64
-sub_819FD64: @ 819FD64
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- movs r5, 0
- mov r0, sp
- adds r0, 0xC
- str r0, [sp, 0x14]
- mov r1, sp
- adds r1, 0x10
- str r1, [sp, 0x18]
- adds r1, r0, 0
-_0819FD80:
- adds r0, r1, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _0819FD80
- movs r5, 0
- ldr r6, [sp, 0x14]
-_0819FD92:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r4, r0, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r2, r6, r4
- ldrb r3, [r2]
- adds r1, r6, r0
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _0819FD92
- movs r5, 0
- ldr r2, =gUnknown_086114D3
-_0819FDD0:
- mov r4, sp
- adds r1, r4, r5
- adds r0, r5, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _0819FDD0
- movs r5, 0
-_0819FDE6:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r4, r0, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r6, sp
- adds r2, r6, r4
- ldrb r3, [r2]
- adds r1, r6, r0
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x31
- bls _0819FDE6
- ldr r4, =gUnknown_030062EC
- movs r0, 0x30
- bl AllocZeroed
- str r0, [r4]
- movs r1, 0
- strb r1, [r0]
- movs r5, 0
- movs r2, 0x4
-_0819FE34:
- movs r3, 0
-_0819FE36:
- ldr r0, [r4]
- lsls r1, r3, 2
- adds r1, r3
- adds r1, r5, r1
- adds r0, 0x20
- adds r0, r1
- strb r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _0819FE36
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _0819FE34
- movs r0, 0
- ldr r7, [sp, 0x18]
- strb r0, [r7]
- movs r5, 0
-_0819FE60:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- lsls r4, r5, 2
- adds r3, r4
- mov r1, sp
- adds r6, r1, r5
- ldrb r0, [r6]
- adds r3, 0xB8
- movs r2, 0x3
- ands r2, r0
- ldrb r0, [r3]
- movs r7, 0x4
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- ldrb r0, [r6]
- adds r5, 0x1
- str r5, [sp, 0x1C]
- mov r8, r4
- cmp r0, 0x3
- beq _0819FF62
- ldrb r0, [r6]
- ldr r1, [sp, 0x14]
- ldr r2, [sp, 0x18]
- bl sub_819FCF8
- ldr r1, =gSaveBlock2Ptr
- ldr r3, [r1]
- add r3, r8
- adds r3, 0xB8
- movs r2, 0x3
- ands r2, r0
- lsls r2, 2
- ldrb r0, [r3]
- movs r4, 0xD
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- add r0, r8
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r7, r0, 30
- ldrb r0, [r6]
- cmp r0, 0x2
- bne _0819FF62
- lsls r0, r7, 2
- adds r0, r7
- mov r10, r0
- ldr r0, =gUnknown_030062EC
- mov r9, r0
-_0819FED2:
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
- movs r1, 0x3
- ands r4, r1
- movs r3, 0
- mov r6, r9
- ldr r2, [r6]
- ldrb r0, [r2]
- adds r1, r0, 0x1
- lsls r5, r7, 2
- cmp r3, r1
- bge _0819FF12
- adds r2, 0x20
- mov r6, r10
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r4
- beq _0819FF12
- adds r6, r1, 0
- adds r1, r5, r7
-_0819FEFE:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r6
- bge _0819FF12
- adds r0, r3, r1
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, r4
- bne _0819FEFE
-_0819FF12:
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r0, 0x1
- ldr r1, =gUnknown_030062EC
- cmp r3, r0
- bne _0819FED2
- ldr r0, [r1]
- orrs r5, r7
- ldrb r2, [r0]
- adds r1, r5, r2
- adds r0, 0x20
- adds r0, r1
- strb r4, [r0]
- ldr r6, =gSaveBlock2Ptr
- ldr r2, [r6]
- add r2, r8
- adds r2, 0xB8
- movs r7, 0x3
- ands r4, r7
- lsls r3, r4, 4
- ldrb r0, [r2]
- movs r4, 0x31
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- ldr r0, [r6]
- add r0, r8
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 30
- bl sub_819FF98
- ldr r1, [r6]
- add r1, r8
- adds r1, 0xBA
- strh r0, [r1]
-_0819FF62:
- ldr r6, [sp, 0x1C]
- lsls r0, r6, 24
- lsrs r5, r0, 24
- cmp r5, 0x8
- bhi _0819FF6E
- b _0819FE60
-_0819FF6E:
- ldr r4, =gUnknown_030062EC
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819FD64
-
- thumb_func_start sub_819FF98
-sub_819FF98: @ 819FF98
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0xC]
- movs r7, 0
- ldr r1, [sp]
- cmp r1, 0x2
- bhi _0819FFE0
- ldr r2, =gSaveBlock2Ptr
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0xB4
- ldr r3, [sp]
- adds r0, r3
- ldrb r4, [r0]
- adds r1, 0xB2
- ldrb r0, [r1]
- lsls r0, 29
- lsrs r0, 29
- asrs r0, r3
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- asrs r4, r0
- movs r0, 0xF
- ands r4, r0
- b _0819FFE4
- .pool
-_0819FFE0:
- movs r4, 0
- ldr r2, =gSaveBlock2Ptr
-_0819FFE4:
- ldr r3, =gUnknown_08610970
- lsls r1, r4, 1
- ldr r4, [r2]
- adds r0, r4, 0
- adds r0, 0xB0
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0
- adds r3, 0x34
- adds r1, r3
- ldrh r1, [r1]
- str r1, [sp, 0x8]
- ldr r1, =gLevelUpLearnsets
- ldr r2, [sp, 0x8]
- lsls r0, r2, 2
- adds r0, r1
- ldr r6, [r0]
- movs r3, 0
- adds r4, 0xB1
- ldrb r1, [r4]
- movs r0, 0x3
- ands r0, r1
- movs r5, 0x3C
- cmp r0, 0x1
- bne _081A001A
- movs r5, 0x32
-_081A001A:
- ldrh r1, [r6]
- ldr r4, =0x0000ffff
- cmp r1, r4
- beq _081A004C
- movs r2, 0xFE
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r1
- lsls r1, r5, 9
- cmp r0, r1
- bgt _081A004C
- adds r5, r2, 0
- adds r2, r1, 0
-_081A0034:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r6
- ldrh r1, [r0]
- cmp r1, r4
- beq _081A004C
- adds r0, r5, 0
- ands r0, r1
- cmp r0, r2
- ble _081A0034
-_081A004C:
- adds r5, r3, 0
- movs r3, 0
- str r3, [sp, 0x4]
-_081A0052:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081A0068
- ldr r0, [sp, 0xC]
- cmp r0, 0x1
- bne _081A00E0
-_081A0068:
- ldr r1, =0x000001ff
- mov r8, r1
-_081A006C:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3A
- bl __umodsi3
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [sp, 0x8]
- adds r1, r4, 0
- bl CanSpeciesLearnTMHM
- adds r2, r0, 0
- cmp r2, 0
- beq _081A006C
- ldr r2, =0x00000121
- adds r0, r4, r2
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r7, r0, 16
- movs r2, 0x1
- cmp r5, 0x4
- bhi _081A00BC
- movs r3, 0
- b _081A00C6
- .pool
-_081A00BC:
- subs r0, r5, 0x4
- b _081A00C2
-_081A00C0:
- adds r0, r3, 0x1
-_081A00C2:
- lsls r0, 24
- lsrs r3, r0, 24
-_081A00C6:
- cmp r3, r5
- bcs _081A00DA
- lsls r0, r3, 1
- adds r0, r6
- ldrh r0, [r0]
- mov r1, r8
- ands r0, r1
- cmp r0, r7
- bne _081A00C0
- movs r2, 0
-_081A00DA:
- cmp r2, 0x1
- bne _081A006C
- b _081A0146
-_081A00E0:
- cmp r5, 0x4
- bhi _081A00EA
- movs r2, 0x1
- str r2, [sp, 0xC]
- b _081A0168
-_081A00EA:
- subs r4, r5, 0x4
- ldr r3, =0x000001ff
- mov r10, r3
- mov r8, r3
- lsls r0, r4, 24
- mov r9, r0
-_081A00F6:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 24
- lsrs r0, 23
- adds r0, r6
- ldrh r0, [r0]
- mov r7, r8
- ands r7, r0
- movs r2, 0x1
- mov r1, r9
- lsrs r3, r1, 24
- cmp r3, r5
- bcs _081A0142
- lsls r0, r3, 1
- adds r0, r6
- ldrh r1, [r0]
- mov r0, r8
- b _081A013A
- .pool
-_081A0128:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r5
- bcs _081A0142
- lsls r0, r3, 1
- adds r0, r6
- ldrh r0, [r0]
- mov r1, r10
-_081A013A:
- ands r0, r1
- cmp r0, r7
- bne _081A0128
- movs r2, 0
-_081A0142:
- cmp r2, 0x1
- bne _081A00F6
-_081A0146:
- ldr r0, [sp]
- adds r1, r7, 0
- bl sub_81A0194
- lsls r0, 24
- cmp r0, 0
- beq _081A0168
- ldr r0, =gUnknown_08611370
- adds r0, r7, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _081A0170
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
-_081A0168:
- ldr r2, [sp, 0x4]
- cmp r2, 0x4
- bhi _081A0170
- b _081A0052
-_081A0170:
- ldr r0, =gUnknown_030062EC
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- adds r0, r7, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_819FF98
-
- thumb_func_start sub_81A0194
-sub_81A0194: @ 81A0194
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- movs r3, 0
- ldr r0, =gUnknown_030062EC
- mov r12, r0
- ldr r2, [r0]
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r6, r0, 1
- adds r2, 0x2
- adds r7, r1, 0
-_081A01B0:
- lsls r0, r3, 1
- adds r0, r6
- adds r0, r2, r0
- ldrh r0, [r0]
- cmp r0, r5
- bne _081A01C4
- movs r0, 0
- b _081A01E2
- .pool
-_081A01C4:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _081A01B0
- mov r2, r12
- ldr r1, [r2]
- adds r0, r7, r4
- ldrb r2, [r1]
- adds r0, r2
- lsls r0, 1
- adds r1, 0x2
- adds r1, r0
- strh r5, [r1]
- movs r0, 0x1
-_081A01E2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81A0194
-
- thumb_func_start sub_81A01E8
-sub_81A01E8: @ 81A01E8
- push {r4-r7,lr}
- mov r12, r1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- movs r4, 0x3C
- cmp r0, 0x1
- bne _081A0204
- movs r4, 0x32
-_081A0204:
- ldr r1, =gLevelUpLearnsets
- lsls r0, r2, 2
- adds r0, r1
- ldr r6, [r0]
- movs r5, 0
- ldrh r1, [r6]
- ldr r3, =0x0000ffff
- cmp r1, r3
- beq _081A0240
- movs r2, 0xFE
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r1
- lsls r1, r4, 9
- cmp r0, r1
- bgt _081A0240
- adds r4, r2, 0
- adds r2, r1, 0
-_081A0228:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 1
- adds r0, r6
- ldrh r1, [r0]
- cmp r1, r3
- beq _081A0240
- adds r0, r4, 0
- ands r0, r1
- cmp r0, r2
- ble _081A0228
-_081A0240:
- adds r4, r5, 0
- cmp r4, 0x4
- bls _081A0248
- movs r4, 0x4
-_081A0248:
- movs r2, 0
- cmp r2, r4
- bcs _081A026C
- ldr r7, =0x000001ff
-_081A0250:
- lsls r3, r2, 1
- add r3, r12
- adds r2, 0x1
- subs r0, r5, r2
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- strh r0, [r3]
- lsls r2, 24
- lsrs r2, 24
- cmp r2, r4
- bcc _081A0250
-_081A026C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A01E8
-
- thumb_func_start sub_81A0284
-sub_81A0284: @ 81A0284
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- adds r7, r1, 0
- cmp r0, 0x2
- bhi _081A02B8
- movs r0, 0
- b _081A037C
- .pool
-_081A02B8:
- movs r4, 0
- movs r3, 0
- adds r0, r2, 0
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- ldr r1, =gUnknown_08610970
- mov r12, r1
- lsls r6, 1
- lsls r5, 1
- mov r9, r5
- cmp r0, 0
- beq _081A02F4
- adds r2, r7, 0
-_081A02D4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x8
- bhi _081A02F4
- ldr r0, [r2]
- lsls r1, r3, 2
- adds r0, r1
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bne _081A02D4
-_081A02F4:
- ldr r0, [r7]
- adds r0, 0xB0
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r6, r0
- mov r1, r12
- adds r1, 0x34
- adds r0, r1
- ldrh r0, [r0]
- mov r1, sp
- bl sub_81A01E8
- movs r3, 0
- cmp r3, r4
- bcs _081A0376
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- cmp r3, r0
- bge _081A0376
- adds r6, r7, 0
- adds r5, r1, 0
-_081A032A:
- lsls r0, r3, 2
- adds r2, r5, r0
- adds r0, r2, 0
- adds r0, 0xB8
- ldrb r1, [r0]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x2
- bne _081A035C
- lsls r0, r1, 28
- lsrs r0, 30
- cmp r0, r8
- bne _081A035C
- lsrs r0, r1, 6
- cmp r0, 0
- beq _081A035C
- lsls r0, r1, 26
- lsrs r0, 30
- lsls r0, 1
- mov r7, sp
- adds r1, r7, r0
- adds r0, r2, 0
- adds r0, 0xBA
- ldrh r0, [r0]
- strh r0, [r1]
-_081A035C:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r4
- bcs _081A0376
- ldr r0, [r6]
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- cmp r3, r0
- blt _081A032A
-_081A0376:
- mov r0, sp
- add r0, r9
- ldrh r0, [r0]
-_081A037C:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A0284
-
- thumb_func_start sub_81A0390
-sub_81A0390: @ 81A0390
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r7, =gSaveBlock2Ptr
- adds r6, r7, 0
- movs r4, 0
-_081A03A6:
- ldr r0, [r6]
- lsls r2, r5, 1
- adds r2, r5
- lsls r2, 2
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0xE0
- strh r4, [r1]
- adds r0, 0xEA
- strh r4, [r0]
- movs r3, 0
-_081A03BC:
- ldr r0, [r6]
- lsls r1, r3, 1
- adds r1, r2
- adds r0, 0xE2
- adds r0, r1
- strh r4, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _081A03BC
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _081A03A6
- ldr r0, [r7]
- adds r0, 0xB1
- ldrb r0, [r0]
- lsrs r3, r0, 6
- movs r5, 0
-_081A03E6:
- lsls r0, r3, 2
- mov r1, sp
- adds r2, r1, r0
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, 0xE0
- ldr r1, [r7]
- adds r1, r0
- str r1, [r2]
- adds r0, r3, 0x1
- movs r1, 0x3
- bl __modsi3
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _081A03E6
- movs r5, 0
- ldr r7, =gSaveBlock2Ptr
- ldr r6, =gUnknown_08610970+0x34
-_081A0416:
- ldr r0, [r7]
- mov r12, r0
- adds r0, 0xB4
- adds r0, r5
- ldrb r2, [r0]
- mov r0, r12
- adds r0, 0xB2
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r0, 29
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- asrs r2, r0
- movs r0, 0xF
- ands r2, r0
- lsls r0, r5, 2
- mov r1, sp
- adds r3, r1, r0
- ldr r4, [r3]
- lsls r2, 1
- mov r0, r12
- adds r0, 0xB0
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r2, r0
- adds r2, r6
- ldrh r0, [r2]
- strh r0, [r4]
- ldr r1, [r3]
- ldrh r0, [r1]
- adds r1, 0x2
- bl sub_81A01E8
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _081A0416
- movs r5, 0
- cmp r5, r8
- bcs _081A04D6
- ldr r7, =gSaveBlock2Ptr
-_081A0470:
- ldr r1, [r7]
- lsls r0, r5, 2
- adds r4, r1, r0
- adds r0, r4, 0
- adds r0, 0xB8
- ldrb r2, [r0]
- lsls r0, r2, 30
- lsrs r1, r0, 30
- lsls r0, r2, 28
- lsrs r3, r0, 30
- adds r6, r3, 0
- cmp r1, 0x1
- bne _081A04A8
- lsrs r0, r2, 6
- cmp r0, 0
- beq _081A04CC
- lsls r0, r3, 2
- add r0, sp
- ldr r1, [r0]
- adds r0, r4, 0
- adds r0, 0xBA
- ldrh r0, [r0]
- strh r0, [r1, 0xA]
- b _081A04CC
- .pool
-_081A04A8:
- cmp r1, 0x2
- bne _081A04CC
- lsls r0, r2, 24
- lsrs r0, 30
- cmp r0, 0
- beq _081A04CC
- lsls r2, 26
- lsrs r2, 30
- lsls r0, r6, 2
- add r0, sp
- ldr r1, [r0]
- lsls r2, 1
- adds r1, 0x2
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0xBA
- ldrh r0, [r0]
- strh r0, [r1]
-_081A04CC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r8
- bcc _081A0470
-_081A04D6:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81A0390
-
- thumb_func_start sub_81A04E4
-sub_81A04E4: @ 81A04E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- movs r7, 0x2
- cmp r0, 0x6
- bls _081A04FC
- b _081A064C
-_081A04FC:
- lsls r0, 2
- ldr r1, =_081A050C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A050C:
- .4byte _081A0528
- .4byte _081A0540
- .4byte _081A05B4
- .4byte _081A05F4
- .4byte _081A061C
- .4byte _081A064C
- .4byte _081A0634
-_081A0528:
- movs r0, 0x12
- mov r10, r0
- movs r6, 0x8
- ldr r0, =gText_Lv50
- str r0, [sp, 0xC]
- ldr r0, =gText_OpenLevel
- str r0, [sp, 0x10]
- b _081A0652
- .pool
-_081A0540:
- movs r7, 0x3
- movs r1, 0x12
- mov r10, r1
- movs r6, 0x6
- movs r4, 0
- ldr r0, =gSpeciesNames
- mov r9, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- movs r1, 0xB2
- adds r1, r3
- mov r12, r1
- adds r5, r3, 0
- adds r5, 0xB0
- ldr r0, =gUnknown_08610970+0x34
- mov r8, r0
-_081A0560:
- adds r0, r3, 0
- adds r0, 0xB4
- adds r0, r4
- ldrb r2, [r0]
- mov r1, r12
- ldrb r0, [r1]
- lsls r0, 29
- lsrs r0, 29
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- asrs r2, r0
- movs r0, 0xF
- ands r2, r0
- lsls r2, 1
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- adds r2, r0
- add r2, r8
- ldrh r1, [r2]
- lsls r0, r4, 2
- mov r2, sp
- adds r2, r0
- adds r2, 0xC
- movs r0, 0xB
- muls r0, r1
- add r0, r9
- str r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081A0560
- b _081A0652
- .pool
-_081A05B4:
- movs r0, 0x12
- mov r10, r0
- movs r6, 0x8
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- cmp r0, 0x2
- bls _081A05CC
- b _081A06FA
-_081A05CC:
- ldr r0, =gUnknown_030062F0
- ldr r3, [r0]
- ldrh r0, [r3, 0x2]
- movs r2, 0xB
- muls r0, r2
- ldr r1, =gSpeciesNames
- adds r0, r1
- str r0, [sp, 0x10]
- ldrh r0, [r3]
- muls r0, r2
- adds r0, r1
- str r0, [sp, 0xC]
- b _081A0652
- .pool
-_081A05F4:
- movs r1, 0x11
- mov r10, r1
- movs r6, 0x8
- ldr r0, =gUnknown_030062F0
- ldr r3, [r0]
- ldrh r0, [r3, 0x4]
- movs r2, 0xD
- muls r0, r2
- ldr r1, =gMoveNames
- adds r0, r1
- str r0, [sp, 0xC]
- ldrh r0, [r3, 0x6]
- muls r0, r2
- adds r0, r1
- str r0, [sp, 0x10]
- b _081A0652
- .pool
-_081A061C:
- movs r0, 0x12
- mov r10, r0
- movs r6, 0x8
- ldr r0, =gText_Give
- str r0, [sp, 0xC]
- ldr r0, =gText_NoNeed
- str r0, [sp, 0x10]
- b _081A0652
- .pool
-_081A0634:
- movs r1, 0x14
- mov r10, r1
- movs r6, 0x8
- ldr r0, =gText_Yes
- str r0, [sp, 0xC]
- ldr r0, =gText_No
- str r0, [sp, 0x10]
- b _081A0652
- .pool
-_081A064C:
- movs r0, 0
- mov r10, r0
- movs r6, 0
-_081A0652:
- movs r5, 0
- movs r4, 0
- lsls r1, r7, 25
- mov r8, r1
- cmp r4, r7
- bcs _081A067E
-_081A065E:
- lsls r0, r4, 2
- add r0, sp
- adds r0, 0xC
- ldr r1, [r0]
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- cmp r0, r5
- ble _081A0674
- adds r5, r0, 0
-_081A0674:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r7
- bcc _081A065E
-_081A067E:
- adds r0, r5, 0
- bl convert_pixel_width_to_tile_width
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r10
- adds r1, r4, 0
- bl sub_80E2D5C
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- mov r0, r8
- lsrs r3, r0, 24
- mov r0, r10
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_81A0784
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- movs r4, 0
- cmp r4, r7
- bcs _081A06E6
-_081A06B8:
- lsls r0, r4, 2
- add r0, sp
- adds r0, 0xC
- ldr r2, [r0]
- lsls r0, r4, 4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r7
- bcc _081A06B8
-_081A06E6:
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0x1
- adds r1, r7, 0
- adds r2, r5, 0
- bl sub_81A0804
-_081A06FA:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81A04E4
-
- thumb_func_start sub_81A070C
-sub_81A070C: @ 81A070C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081A0730
- bl Menu_ProcessInputNoWrapAround
- b _081A0734
- .pool
-_081A0730:
- bl ProcessMenuInput
-_081A0734:
- lsls r0, 24
- lsrs r0, 24
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _081A0778
- adds r0, 0x1
- cmp r1, r0
- bne _081A0764
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081A0778
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- b _081A0768
- .pool
-_081A0764:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_081A0768:
- ldrb r0, [r4, 0xC]
- bl sub_81A07E8
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_081A0778:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A070C
-
- thumb_func_start sub_81A0784
-sub_81A0784: @ 81A0784
- push {r4,r5,lr}
- sub sp, 0x20
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsls r5, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x80
- lsls r0, 17
- adds r4, r0
- lsrs r4, 24
- adds r5, r0
- lsrs r5, 24
- str r2, [sp]
- str r3, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x64
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl CreateWindowTemplate
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- add r0, sp, 0x18
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- adds r0, r4, 0
- add sp, 0x20
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81A0784
-
- thumb_func_start sub_81A07E8
-sub_81A07E8: @ 81A07E8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8198070
- adds r0, r4, 0
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81A07E8
-
- thumb_func_start sub_81A0804
-sub_81A0804: @ 81A0804
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =sub_81A070C
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- strh r4, [r1, 0x10]
- cmp r5, 0x3
- bls _081A0840
- movs r0, 0x1
- b _081A0842
- .pool
-_081A0840:
- movs r0, 0
-_081A0842:
- strh r0, [r1, 0x12]
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x14]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0804
-
- thumb_func_start sub_81A085C
-sub_81A085C: @ 81A085C
- push {lr}
- ldr r1, =gUnknown_086114E0
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A085C
-
- thumb_func_start sub_81A087C
-sub_81A087C: @ 81A087C
- push {r4-r7,lr}
- bl sub_819FBC8
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- adds r1, 0xB1
- ldrb r2, [r1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0xB1
- ldrb r2, [r1]
- movs r0, 0x3D
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0xB1
- ldrb r2, [r1]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0xB2
- ldrb r2, [r1]
- movs r0, 0x8
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r4, 0
- movs r1, 0
-_081A08BE:
- ldr r0, [r3]
- adds r0, 0xB4
- adds r0, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081A08BE
- movs r4, 0
- ldr r5, =gSaveBlock2Ptr
- movs r0, 0x4
- negs r0, r0
- mov r12, r0
- movs r7, 0xD
- negs r7, r7
- movs r6, 0x31
- negs r6, r6
-_081A08E2:
- ldr r1, [r5]
- lsls r3, r4, 2
- adds r1, r3
- adds r1, 0xB8
- ldrb r2, [r1]
- mov r0, r12
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xB8
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xB8
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xB8
- ldrb r2, [r1]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r3
- adds r0, 0xBA
- movs r1, 0
- strh r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x8
- bls _081A08E2
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A087C
-
- thumb_func_start sub_81A093C
-sub_81A093C: @ 81A093C
- push {lr}
- bl sub_819FBB0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _081A0954
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
- b _081A095A
- .pool
-_081A0954:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_081A095A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A093C
-
- thumb_func_start sub_81A0964
-sub_81A0964: @ 81A0964
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- bl sub_819FC40
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0964
-
- thumb_func_start sub_81A0978
-sub_81A0978: @ 81A0978
- push {lr}
- bl sub_819FBC8
- pop {r0}
- bx r0
- thumb_func_end sub_81A0978
-
- thumb_func_start sub_81A0984
-sub_81A0984: @ 81A0984
- push {lr}
- bl sub_819FD64
- pop {r0}
- bx r0
- thumb_func_end sub_81A0984
-
- thumb_func_start sub_81A0990
-sub_81A0990: @ 81A0990
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- adds r2, 0xB1
- ldrb r3, [r2]
- lsls r1, r3, 26
- lsrs r1, 28
- adds r1, 0x1
- movs r0, 0xF
- ands r1, r0
- lsls r1, 2
- movs r0, 0x3D
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_81A0990
-
- thumb_func_start sub_81A09B4
-sub_81A09B4: @ 81A09B4
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A09B4
-
- thumb_func_start sub_81A09D0
-sub_81A09D0: @ 81A09D0
- push {lr}
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r1, r0, 0x3
- cmp r1, 0
- bge _081A09F4
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _081A0A1C
- .pool
-_081A09F4:
- ldr r2, =gSpecialVar_Result
- cmp r1, 0x8
- ble _081A09FE
- movs r0, 0x1
- strh r0, [r2]
-_081A09FE:
- ldr r0, [r3]
- lsls r1, 2
- adds r0, r1
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bne _081A0A18
- movs r0, 0x1
- b _081A0A1A
- .pool
-_081A0A18:
- movs r0, 0
-_081A0A1A:
- strh r0, [r2]
-_081A0A1C:
- pop {r0}
- bx r0
- thumb_func_end sub_81A09D0
-
- thumb_func_start sub_81A0A20
-sub_81A0A20: @ 81A0A20
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- bl sub_81A04E4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0A20
-
- thumb_func_start sub_81A0A34
-sub_81A0A34: @ 81A0A34
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl RunTextPrintersAndIsPrinter0Active
- lsls r0, 16
- cmp r0, 0
- bne _081A0A68
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A0A64
- ldr r0, =EnableBothScriptContexts
- bl sub_81A172C
- b _081A0A68
- .pool
-_081A0A64:
- bl EnableBothScriptContexts
-_081A0A68:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81A0A34
-
- thumb_func_start sub_81A0A70
-sub_81A0A70: @ 81A0A70
- push {lr}
- ldr r1, =gSpecialVar_0x8006
- ldrh r0, [r1]
- cmp r0, 0x6
- bne _081A0A94
- ldr r1, =gUnknown_08610FF0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 3
- b _081A0C66
- .pool
-_081A0A94:
- cmp r0, 0x7
- bne _081A0AB0
- ldr r1, =gUnknown_08610FF0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- b _081A0C66
- .pool
-_081A0AB0:
- cmp r0, 0x8
- bne _081A0ACC
- ldr r1, =gUnknown_086111B0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 3
- b _081A0C66
- .pool
-_081A0ACC:
- cmp r0, 0x9
- bne _081A0AE8
- ldr r1, =gUnknown_086111B0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- b _081A0C66
- .pool
-_081A0AE8:
- cmp r0, 0x4
- bne _081A0B04
- ldr r1, =gUnknown_08611230
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 3
- b _081A0C66
- .pool
-_081A0B04:
- cmp r0, 0x5
- bne _081A0B20
- ldr r1, =gUnknown_08611230
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- b _081A0C66
- .pool
-_081A0B20:
- cmp r0, 0xA
- bne _081A0B40
- ldr r2, =gUnknown_08611070
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- b _081A0BD6
- .pool
-_081A0B40:
- cmp r0, 0xB
- bne _081A0B5C
- ldr r1, =gUnknown_086112B0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 3
- b _081A0C66
- .pool
-_081A0B5C:
- cmp r0, 0xC
- bne _081A0B7C
- ldr r2, =gUnknown_08611070
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0xC
- b _081A0BD6
- .pool
-_081A0B7C:
- cmp r0, 0xD
- bne _081A0B9C
- ldr r2, =gUnknown_08611070
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x4
- b _081A0BD6
- .pool
-_081A0B9C:
- ldrh r0, [r1]
- cmp r0, 0x10
- bne _081A0BC0
- ldr r2, =gUnknown_08611070
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x10
- b _081A0BD6
- .pool
-_081A0BC0:
- cmp r0, 0xE
- bne _081A0BE4
- ldr r2, =gUnknown_08611070
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
-_081A0BD6:
- adds r0, r2
- ldr r1, [r0]
- b _081A0C7A
- .pool
-_081A0BE4:
- cmp r0, 0xF
- bne _081A0C00
- ldr r1, =gUnknown_086112B0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- b _081A0C66
- .pool
-_081A0C00:
- cmp r0, 0
- bne _081A0C1C
- ldr r1, =gUnknown_08610EF0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 4
- b _081A0C66
- .pool
-_081A0C1C:
- cmp r0, 0x1
- bne _081A0C38
- ldr r1, =gUnknown_08610EF0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 4
- adds r1, 0x4
- b _081A0C66
- .pool
-_081A0C38:
- cmp r0, 0x2
- bne _081A0C54
- ldr r1, =gUnknown_08610EF0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 4
- adds r1, 0x8
- b _081A0C66
- .pool
-_081A0C54:
- cmp r0, 0x3
- bne _081A0C74
- ldr r1, =gUnknown_08610EF0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 4
- adds r1, 0xC
-_081A0C66:
- adds r0, r1
- ldr r1, [r0]
- b _081A0C7A
- .pool
-_081A0C74:
- bl EnableBothScriptContexts
- b _081A0C8E
-_081A0C7A:
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r0, =sub_81A0A34
- movs r1, 0x1
- bl CreateTask
-_081A0C8E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0A70
-
- thumb_func_start sub_81A0C9C
-sub_81A0C9C: @ 81A0C9C
- push {lr}
- bl ScriptContext2_Enable
- bl FreezeEventObjects
- bl sub_808B864
- bl sub_808BCF4
- movs r0, 0
- movs r1, 0x1
- bl NewMenuHelpers_DrawDialogueFrame
- bl sub_81A0A70
- pop {r0}
- bx r0
- thumb_func_end sub_81A0C9C
-
- thumb_func_start sub_81A0CC0
-sub_81A0CC0: @ 81A0CC0
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r1, r0, 26
- lsrs r0, r1, 28
- cmp r0, 0x2
- bhi _081A0CE4
- ldr r1, =gSpecialVar_Result
- movs r0, 0x2
- b _081A0D34
- .pool
-_081A0CE4:
- lsrs r0, r1, 28
- cmp r0, 0xB
- bhi _081A0D30
- lsrs r0, r1, 28
- subs r0, 0x3
- lsls r0, 2
- adds r0, r2, r0
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x2
- beq _081A0D18
- cmp r0, 0x2
- bgt _081A0D08
- cmp r0, 0x1
- beq _081A0D0E
- b _081A0D30
-_081A0D08:
- cmp r0, 0x3
- beq _081A0D24
- b _081A0D30
-_081A0D0E:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x4
- b _081A0D34
- .pool
-_081A0D18:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x3
- b _081A0D34
- .pool
-_081A0D24:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _081A0D34
- .pool
-_081A0D30:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
-_081A0D34:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0CC0
-
- thumb_func_start sub_81A0D40
-sub_81A0D40: @ 81A0D40
- push {r4,lr}
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A0D6E
- ldr r4, =gSpecialVar_0x8006
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- adds r2, 0xB2
- ldrb r3, [r2]
- lsls r0, r3, 29
- lsrs r0, 29
- movs r1, 0x1
- ldrb r4, [r4]
- lsls r1, r4
- orrs r1, r0
- movs r0, 0x7
- ands r1, r0
- movs r0, 0x8
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_081A0D6E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0D40
-
- thumb_func_start sub_81A0D80
-sub_81A0D80: @ 81A0D80
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r1, r0, 26
- lsrs r0, r1, 28
- cmp r0, 0x2
- bls _081A0DCE
- subs r0, 0x3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A0DC0
- lsls r2, 2
- adds r2, r3, r2
- adds r2, 0xB8
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- b _081A0DCE
- .pool
-_081A0DC0:
- lsls r0, r2, 2
- adds r0, r3, r0
- adds r0, 0xB8
- ldrb r2, [r0]
- movs r1, 0x3F
- ands r1, r2
- strb r1, [r0]
-_081A0DCE:
- pop {r0}
- bx r0
- thumb_func_end sub_81A0D80
-
- thumb_func_start sub_81A0DD4
-sub_81A0DD4: @ 81A0DD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r6, 0
- movs r2, 0
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- ldr r3, =gUnknown_030062F0
- mov r9, r3
- cmp r0, 0
- beq _081A0E14
- adds r3, r1, 0
-_081A0DF4:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x8
- bhi _081A0E14
- ldr r0, [r3]
- lsls r1, r2, 2
- adds r0, r1
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bne _081A0DF4
-_081A0E14:
- mov r4, r9
- movs r0, 0x8
- bl AllocZeroed
- adds r7, r0, 0
- str r7, [r4]
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _081A0E88
- ldr r0, =gSaveBlock2Ptr
- ldr r5, [r0]
- adds r6, r5, 0
- adds r6, 0xB1
- ldrb r0, [r6]
- lsls r1, r0, 26
- lsrs r0, r1, 28
- cmp r0, 0x2
- bls _081A0E3C
- b _081A0FCE
-_081A0E3C:
- adds r2, r5, 0
- adds r2, 0xB4
- adds r0, r2, r0
- ldrb r0, [r0]
- lsrs r4, r0, 4
- ldr r3, =gUnknown_08610970
- lsls r1, r4, 1
- adds r5, 0xB0
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0
- adds r3, 0x34
- adds r1, r3
- ldrh r0, [r1]
- strh r0, [r7, 0x2]
- ldrb r0, [r6]
- lsls r0, 26
- lsrs r0, 28
- adds r2, r0
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- lsls r0, 1
- ldrb r1, [r5]
- muls r1, r4
- adds r0, r1
- adds r0, r3
- b _081A0FCA
- .pool
-_081A0E88:
- cmp r0, 0x3
- bne _081A0F54
- ldr r0, =gSaveBlock2Ptr
- mov r8, r0
- ldr r5, [r0]
- movs r1, 0xB1
- adds r1, r5
- mov r12, r1
- ldrb r0, [r1]
- lsls r2, r0, 26
- lsrs r0, r2, 28
- cmp r0, 0x2
- bhi _081A0EA4
- b _081A0FCE
-_081A0EA4:
- adds r1, r0, 0
- adds r0, r6, 0x3
- cmp r1, r0
- blt _081A0EAE
- b _081A0FCE
-_081A0EAE:
- adds r0, r1, 0
- subs r0, 0x3
- lsls r0, 2
- adds r0, r5, r0
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x2
- beq _081A0EC4
- b _081A0FCE
-_081A0EC4:
- adds r0, r1, 0
- subs r0, 0x3
- lsls r0, 2
- adds r0, r5, r0
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r6, r0, 30
- adds r0, r5, 0
- adds r0, 0xB2
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 29
- asrs r1, r6
- movs r0, 0x1
- ands r1, r0
- adds r0, r5, 0
- adds r0, 0xB4
- adds r0, r6
- ldrb r4, [r0]
- lsls r1, 2
- asrs r4, r1
- movs r0, 0xF
- ands r4, r0
- ldr r2, =gUnknown_08610970
- lsls r1, r4, 1
- adds r0, r5, 0
- adds r0, 0xB0
- ldrb r3, [r0]
- movs r0, 0x58
- muls r0, r3
- adds r1, r0
- adds r2, 0x34
- adds r1, r2
- ldrh r0, [r1]
- strh r0, [r7]
- mov r3, r12
- ldrb r0, [r3]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- lsls r0, 2
- adds r0, r5, r0
- adds r0, 0xB8
- ldrb r2, [r0]
- lsls r2, 26
- lsrs r2, 30
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_81A0284
- mov r1, r9
- ldr r2, [r1]
- strh r0, [r2, 0x4]
- mov r3, r8
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- lsls r0, 2
- adds r1, r0
- adds r1, 0xBA
- ldrh r0, [r1]
- strh r0, [r2, 0x6]
- b _081A0FCE
- .pool
-_081A0F54:
- cmp r0, 0x4
- bne _081A0FCE
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r2, r0, 26
- lsrs r0, r2, 28
- cmp r0, 0x2
- bls _081A0FCE
- adds r1, r0, 0
- adds r0, r6, 0x3
- cmp r1, r0
- bge _081A0FCE
- adds r0, r1, 0
- subs r0, 0x3
- lsls r0, 2
- adds r0, r3, r0
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _081A0FCE
- adds r0, r1, 0
- subs r0, 0x3
- lsls r0, 2
- adds r0, r3, r0
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r6, r0, 30
- adds r0, r3, 0
- adds r0, 0xB2
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 29
- asrs r1, r6
- movs r0, 0x1
- ands r1, r0
- adds r0, r3, 0
- adds r0, 0xB4
- adds r0, r6
- ldrb r0, [r0]
- lsls r1, 2
- asrs r0, r1
- movs r1, 0xF
- ands r0, r1
- ldr r2, =gUnknown_08610970
- lsls r0, 1
- adds r1, r3, 0
- adds r1, 0xB0
- ldrb r3, [r1]
- movs r1, 0x58
- muls r1, r3
- adds r0, r1
- adds r2, 0x34
- adds r0, r2
-_081A0FCA:
- ldrh r0, [r0]
- strh r0, [r7]
-_081A0FCE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0DD4
-
- thumb_func_start sub_81A0FE4
-sub_81A0FE4: @ 81A0FE4
- push {r4,lr}
- ldr r4, =gUnknown_030062F0
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0FE4
-
- thumb_func_start sub_81A0FFC
-sub_81A0FFC: @ 81A0FFC
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _081A1028
- cmp r0, 0x1
- bgt _081A1018
- cmp r0, 0
- beq _081A101E
- b _081A11E6
- .pool
-_081A1018:
- cmp r0, 0x2
- beq _081A1030
- b _081A11E6
-_081A101E:
- ldr r5, =gStringVar1
- b _081A1032
- .pool
-_081A1028:
- ldr r5, =gStringVar2
- b _081A1032
- .pool
-_081A1030:
- ldr r5, =gStringVar3
-_081A1032:
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0x9
- bls _081A103C
- b _081A11E6
-_081A103C:
- lsls r0, 2
- ldr r1, =_081A1054
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A1054:
- .4byte _081A107C
- .4byte _081A1094
- .4byte _081A10AC
- .4byte _081A10C4
- .4byte _081A10DC
- .4byte _081A10F4
- .4byte _081A1118
- .4byte _081A1164
- .4byte _081A1140
- .4byte _081A1184
-_081A107C:
- ldr r0, =gUnknown_030062F0
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- b _081A1174
- .pool
-_081A1094:
- ldr r0, =gUnknown_030062F0
- ldr r0, [r0]
- ldrh r1, [r0, 0x2]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- b _081A1174
- .pool
-_081A10AC:
- ldr r0, =gUnknown_030062F0
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- b _081A1174
- .pool
-_081A10C4:
- ldr r0, =gUnknown_030062F0
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- b _081A1174
- .pool
-_081A10DC:
- ldr r0, =gUnknown_030062F0
- ldr r0, [r0]
- ldrh r1, [r0, 0x6]
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- b _081A1174
- .pool
-_081A10F4:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- lsls r0, 2
- adds r1, r0
- adds r1, 0xBA
- ldrh r0, [r1]
- bl ItemId_GetName
- adds r1, r0, 0
- b _081A1174
- .pool
-_081A1118:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r0, [r0]
- movs r1, 0x2
- bl sub_81A1650
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0x2
- bl TVShowConvertInternationalString
- adds r0, r5, 0
- mov r1, sp
- bl StringCopy
- b _081A11E6
- .pool
-_081A1140:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _081A115C
- ldr r1, =gText_Lv50
- b _081A1174
- .pool
-_081A115C:
- ldr r1, =gText_OpenLevel
- b _081A1174
- .pool
-_081A1164:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0x82
- lsls r1, 1
- adds r0, r1
- bl ConvertBattleFrontierTrainerSpeechToString
- ldr r1, =gStringVar4
-_081A1174:
- adds r0, r5, 0
- bl StringCopy
- b _081A11E6
- .pool
-_081A1184:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0xB1
- ldrb r1, [r1]
- lsls r4, r1, 24
- lsrs r1, r4, 30
- adds r6, r0, 0
- cmp r1, 0x2
- bhi _081A11C0
- adds r0, r3, 0
- adds r0, 0xB4
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r3, 0
- adds r0, 0xB2
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r0, 29
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- asrs r2, r0
- movs r0, 0xF
- ands r2, r0
- b _081A11C2
- .pool
-_081A11C0:
- movs r2, 0
-_081A11C2:
- ldr r3, =gUnknown_08610970
- lsls r1, r2, 1
- ldr r0, [r6]
- adds r0, 0xB0
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0
- adds r3, 0x34
- adds r1, r3
- ldrh r1, [r1]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
-_081A11E6:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A0FFC
-
- thumb_func_start sub_81A11F8
-sub_81A11F8: @ 81A11F8
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8005
- ldrb r1, [r0]
- adds r2, 0xB1
- lsls r1, 6
- ldrb r3, [r2]
- movs r0, 0x3F
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_81A11F8
-
- thumb_func_start sub_81A1218
-sub_81A1218: @ 81A1218
- push {lr}
- bl sub_81AAC28
- pop {r0}
- bx r0
- thumb_func_end sub_81A1218
-
- thumb_func_start sub_81A1224
-sub_81A1224: @ 81A1224
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r1, =gSaveBlock2Ptr
- ldr r3, [r1]
- adds r0, r3, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- adds r7, r1, 0
- cmp r0, 0x2
- bhi _081A1242
- b _081A1362
-_081A1242:
- movs r5, 0
- movs r2, 0
- adds r0, r3, 0
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- ldr r1, =gSpecialVar_0x8005
- mov r12, r1
- ldr r1, =gSpecialVar_Result
- mov r8, r1
- cmp r0, 0
- beq _081A127C
- adds r3, r7, 0
-_081A125C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x8
- bhi _081A127C
- ldr r0, [r3]
- lsls r1, r2, 2
- adds r0, r1
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bne _081A125C
-_081A127C:
- movs r4, 0
- cmp r4, r5
- bcs _081A1322
- ldr r0, [r7]
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- cmp r4, r0
- bge _081A1322
- adds r6, r7, 0
- mov r9, r4
-_081A1296:
- ldr r3, [r6]
- lsls r0, r4, 2
- adds r2, r3, r0
- adds r0, r2, 0
- adds r0, 0xB8
- ldrb r1, [r0]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _081A1308
- lsrs r0, r1, 6
- cmp r0, 0
- beq _081A1308
- adds r0, r2, 0
- adds r0, 0xBA
- ldrh r0, [r0]
- mov r2, r12
- ldrh r2, [r2]
- cmp r0, r2
- bne _081A1308
- adds r0, r3, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- lsls r0, 2
- adds r0, r3, r0
- adds r0, 0xB8
- ldrb r2, [r0]
- movs r1, 0x3F
- ands r1, r2
- strb r1, [r0]
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- lsls r0, 2
- adds r1, r0
- mov r2, r12
- ldrh r0, [r2]
- adds r1, 0xBA
- strh r0, [r1]
- mov r1, r9
- mov r0, r8
- strh r1, [r0]
- b _081A1362
- .pool
-_081A1308:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcs _081A1322
- ldr r0, [r6]
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- cmp r4, r0
- blt _081A1296
-_081A1322:
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- lsls r0, 2
- adds r2, r0
- adds r2, 0xB8
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xB1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 28
- subs r0, 0x3
- lsls r0, 2
- adds r1, r0
- mov r2, r12
- ldrh r0, [r2]
- adds r1, 0xBA
- strh r0, [r1]
- movs r0, 0x1
- mov r1, r8
- strh r0, [r1]
-_081A1362:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81A1224
-
- thumb_func_start sub_81A1370
-sub_81A1370: @ 81A1370
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r2, 0x8A
- lsls r2, 1
- adds r1, r2
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, 0xFF
- beq _081A1422
- movs r5, 0
-_081A138E:
- ldr r1, [r4]
- adds r2, r5, 0x1
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r3, r1, r0
- movs r5, 0x8A
- lsls r5, 1
- adds r0, r3, r5
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081A13B8
- adds r0, r3, 0
- adds r0, 0xDC
- adds r1, 0xDC
- movs r2, 0x44
- bl memcpy
- b _081A1422
- .pool
-_081A13B8:
- adds r5, r2, 0
- cmp r5, 0x2
- ble _081A138E
- ldr r0, =0x0000ffff
- mov r10, r0
- movs r2, 0x1
- negs r2, r2
- mov r9, r2
- movs r5, 0x1
- ldr r7, =gSaveBlock2Ptr
- movs r0, 0x90
- lsls r0, 1
- mov r8, r0
- movs r6, 0x44
-_081A13D4:
- ldr r0, [r7]
- add r0, r8
- adds r0, 0x34
- bl ReadUnalignedWord
- adds r4, r0, 0
- ldr r0, [r7]
- adds r0, 0xA
- bl ReadUnalignedWord
- cmp r4, r0
- bne _081A13FC
- ldr r0, [r7]
- adds r0, r6
- adds r0, 0xDE
- ldrb r0, [r0]
- cmp r0, r10
- bge _081A13FC
- mov r10, r0
- mov r9, r5
-_081A13FC:
- movs r2, 0x44
- add r8, r2
- adds r6, 0x44
- adds r5, 0x1
- cmp r5, 0x3
- ble _081A13D4
- mov r5, r9
- cmp r5, 0
- ble _081A1422
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- lsls r0, r5, 4
- add r0, r9
- lsls r0, 2
- adds r0, r1, r0
- adds r0, 0xDC
- adds r1, 0xDC
- bl memcpy
-_081A1422:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1370
-
- thumb_func_start sub_81A1438
-sub_81A1438: @ 81A1438
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- adds r2, 0xDC
- movs r1, 0x1F
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x20
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xB1
- ldrb r1, [r0]
- lsls r1, 30
- adds r2, 0xDC
- lsrs r1, 25
- ldrb r3, [r2]
- movs r0, 0x61
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- movs r2, 0
- ldr r0, [r4]
- b _081A148C
- .pool
-_081A147C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x8
- bhi _081A1496
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, r1
-_081A148C:
- adds r0, 0xB8
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bne _081A147C
-_081A1496:
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- adds r0, 0xDD
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xDE
- ldrb r0, [r1]
- cmp r0, 0xFE
- bhi _081A14AE
- adds r0, 0x1
- strb r0, [r1]
-_081A14AE:
- ldr r0, [r4]
- adds r0, 0xDD
- ldrb r0, [r0]
- bl sub_81A0390
- movs r2, 0
- adds r3, r4, 0
- movs r4, 0x88
- lsls r4, 1
- adds r5, r3, 0
-_081A14C2:
- ldr r0, [r3]
- adds r1, r0, r4
- adds r1, r2
- adds r0, 0xA
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _081A14C2
- ldr r1, [r5]
- movs r2, 0x8A
- lsls r2, 1
- adds r0, r1, r2
- bl StringCopy
- ldr r1, [r5]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- ldr r2, =0x0000011b
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0xDC
- bl sub_8165AE8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1438
-
- thumb_func_start sub_81A150C
-sub_81A150C: @ 81A150C
- push {lr}
- ldr r2, =gUnknown_08610970
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xDC
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x32
- ldrb r2, [r0]
- movs r1, 0
- ldr r3, =gUnknown_085DCEDC
- ldrb r0, [r3]
- cmp r0, r2
- beq _081A1542
-_081A1530:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1D
- bhi _081A1542
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081A1530
-_081A1542:
- cmp r1, 0x1E
- beq _081A1568
- ldr r0, =gUnknown_085DCF0E
- adds r0, r1, r0
- ldrb r1, [r0]
- ldr r0, =0x00004010
- bl VarSet
- b _081A1594
- .pool
-_081A1568:
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _081A1584
-_081A1572:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x13
- bhi _081A1584
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081A1572
-_081A1584:
- cmp r1, 0x14
- beq _081A1594
- ldr r0, =gUnknown_085DCF2C
- adds r0, r1, r0
- ldrb r1, [r0]
- ldr r0, =0x00004010
- bl VarSet
-_081A1594:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A150C
-
- thumb_func_start sub_81A15A4
-sub_81A15A4: @ 81A15A4
- push {lr}
- ldr r2, =gUnknown_08610970
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB0
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x32
- ldrb r2, [r0]
- movs r1, 0
- ldr r3, =gUnknown_085DCEDC
- ldrb r0, [r3]
- cmp r0, r2
- beq _081A15D6
-_081A15C4:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1D
- bhi _081A15D6
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081A15C4
-_081A15D6:
- cmp r1, 0x1E
- beq _081A15FC
- ldr r0, =gUnknown_085DCF0E
- adds r0, r1, r0
- ldrb r1, [r0]
- ldr r0, =0x00004010
- bl VarSet
- b _081A1628
- .pool
-_081A15FC:
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _081A1618
-_081A1606:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x13
- bhi _081A1618
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081A1606
-_081A1618:
- cmp r1, 0x14
- beq _081A1628
- ldr r0, =gUnknown_085DCF2C
- adds r0, r1, r0
- ldrb r1, [r0]
- ldr r0, =0x00004010
- bl VarSet
-_081A1628:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A15A4
-
- thumb_func_start sub_81A1638
-sub_81A1638: @ 81A1638
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A1638
-
- thumb_func_start sub_81A1644
-sub_81A1644: @ 81A1644
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A1644
-
- thumb_func_start sub_81A1650
-sub_81A1650: @ 81A1650
- push {lr}
- movs r2, 0x58
- muls r2, r0
- ldr r0, =gUnknown_08610970
- adds r2, r0
- subs r0, r1, 0x1
- cmp r0, 0x6
- bhi _081A16AC
- lsls r0, 2
- ldr r1, =_081A1674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A1674:
- .4byte _081A1690
- .4byte _081A1694
- .4byte _081A169A
- .4byte _081A16A0
- .4byte _081A16A6
- .4byte _081A16AC
- .4byte _081A16AC
-_081A1690:
- adds r0, r2, 0
- b _081A16B0
-_081A1694:
- adds r0, r2, 0
- adds r0, 0x8
- b _081A16B0
-_081A169A:
- adds r0, r2, 0
- adds r0, 0x10
- b _081A16B0
-_081A16A0:
- adds r0, r2, 0
- adds r0, 0x18
- b _081A16B0
-_081A16A6:
- adds r0, r2, 0
- adds r0, 0x20
- b _081A16B0
-_081A16AC:
- adds r0, r2, 0
- adds r0, 0x28
-_081A16B0:
- pop {r1}
- bx r1
- thumb_func_end sub_81A1650
-
- thumb_func_start sub_81A16B4
-sub_81A16B4: @ 81A16B4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081A16CE
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081A16D4
-_081A16CE:
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
-_081A16D4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A16B4
-
- thumb_func_start sub_81A16DC
-sub_81A16DC: @ 81A16DC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081A16F6
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081A1718
-_081A16F6:
- ldr r2, =gUnknown_030062F4
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- movs r3, 0xA
- ldrsh r0, [r0, r3]
- lsls r0, 16
- orrs r1, r0
- str r1, [r2]
- bl _call_via_r1
- adds r0, r4, 0
- bl DestroyTask
-_081A1718:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A16DC
-
- thumb_func_start sub_81A172C
-sub_81A172C: @ 81A172C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sub_81A16DC
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- lsrs r4, 16
- strh r4, [r1, 0xA]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A172C
-
- thumb_func_start sub_81A175C
-sub_81A175C: @ 81A175C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =sub_81A16B4
- adds r0, r4, 0
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A175C
thumb_func_start sub_81A1780
sub_81A1780: @ 81A1780
@@ -7392,7 +3620,7 @@ _081A3758:
adds r0, 0x70
lsls r0, 24
lsrs r0, 24
- bl sub_819F99C
+ bl CopyFriendsApprenticeChallengeText
b _081A38F8
_081A3766:
movs r0, 0xFA
@@ -7533,7 +3761,7 @@ _081A38A8:
lsrs r3, r0, 24
movs r0, 0x58
muls r0, r3
- ldr r1, =gUnknown_08610970+0x4A
+ ldr r1, =gApprentices+0x4A
_081A38C4:
adds r0, r1
bl ConvertBattleFrontierTrainerSpeechToString
@@ -7554,7 +3782,7 @@ _081A38D4:
lsrs r3, r0, 27
movs r0, 0x58
muls r0, r3
- ldr r1, =gUnknown_08610970+0x4A
+ ldr r1, =gApprentices+0x4A
adds r0, r1
bl ConvertBattleFrontierTrainerSpeechToString
_081A38F8:
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 654083aea..db25ff03e 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -576,7 +576,7 @@ _0816266C:
b _081626BA
.pool
_08162698:
- ldr r3, =gUnknown_08610970
+ ldr r3, =gApprentices
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, =0xfffffe70
@@ -747,7 +747,7 @@ _081627E8:
b _08162836
.pool
_08162814:
- ldr r3, =gUnknown_08610970
+ ldr r3, =gApprentices
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, =0xfffffe70
@@ -1161,7 +1161,7 @@ _08162B64:
cmp r0, 0
bne _08162BB0
ldr r4, =gFacilityClassToPicIndex
- ldr r3, =gUnknown_08610970
+ ldr r3, =gApprentices
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, =0xfffffe70
@@ -1184,7 +1184,7 @@ _08162B64:
.pool
_08162BB0:
ldr r5, =gFacilityClassToPicIndex
- ldr r4, =gUnknown_08610970
+ ldr r4, =gApprentices
bl sub_81864A8
lsls r0, 24
lsrs r0, 24
@@ -1301,7 +1301,7 @@ _08162CBC:
cmp r0, 0
beq _08162CF4
ldr r5, =gFacilityClassToTrainerClass
- ldr r4, =gUnknown_08610970
+ ldr r4, =gApprentices
bl sub_81864A8
lsls r0, 24
lsrs r0, 24
@@ -1316,7 +1316,7 @@ _08162CBC:
.pool
_08162CF4:
ldr r4, =gFacilityClassToTrainerClass
- ldr r3, =gUnknown_08610970
+ ldr r3, =gApprentices
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, =0xfffffe70
@@ -1407,7 +1407,7 @@ _08162DC0:
ands r0, r1
cmp r0, 0
beq _08162DE8
- ldr r4, =gUnknown_08610970
+ ldr r4, =gApprentices
bl sub_81864A8
lsls r0, 24
lsrs r0, 24
@@ -1417,7 +1417,7 @@ _08162DC0:
b _08162E08
.pool
_08162DE8:
- ldr r3, =gUnknown_08610970
+ ldr r3, =gApprentices
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, =0xfffffe70
@@ -1578,7 +1578,7 @@ _08162F24:
_08162F3E:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_81A1650
+ bl GetApprenticeNameInLanguage
adds r1, r0, 0
adds r0, r6, 0
adds r2, r4, 0
@@ -1648,7 +1648,7 @@ _08162FC0:
b _0816300E
.pool
_08162FEC:
- ldr r3, =gUnknown_08610970
+ ldr r3, =gApprentices
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r0, =0xfffffe70
@@ -1927,7 +1927,7 @@ _08163230:
ldr r1, [r6]
adds r1, r5
lsrs r2, r4, 24
- bl sub_8068528
+ bl CreateApprenticeMon
movs r2, 0x80
lsls r2, 17
adds r4, r2
@@ -2831,7 +2831,7 @@ _0816399C:
adds r0, 0x70
lsls r0, 24
lsrs r0, 24
- bl sub_819F99C
+ bl CopyFriendsApprenticeChallengeText
_081639A8:
pop {r0}
bx r0
@@ -6295,7 +6295,7 @@ _08165812:
adds r0, r5
ldrb r2, [r0]
adds r0, r4, 0
- bl sub_8068528
+ bl CreateApprenticeMon
movs r3, 0xC8
lsls r3, 1
adds r0, r7, r3
diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s
index dc38826a7..a05b0143c 100644
--- a/data/battle_frontier_2.s
+++ b/data/battle_frontier_2.s
@@ -8,7 +8,7 @@
.align 2 @ struct, eight bytes x6 for names in different languages, then 0x28 more bytes of data
-gUnknown_08610970:: @ 8610970
+gApprentices:: @ 8610970
.string "サダヒロ$", 8
.string "ALANN$", 8
.string "ALAIN$", 8
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 56658a994..dc308f8b1 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -9853,2983 +9853,8 @@ gText_MrStone_Pokenav_2B67ED:: @ 82B67ED
.string "Hm! You must come visit us at DEVON\n"
.string "sometime!$"
-BattleFrontier_BattleTowerLobby_EventScript_2B688D:: @ 82B688D
- lock
- faceplayer
- setvar VAR_0x8004, 0
- special sub_81A085C
- compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6900
- setvar VAR_0x8004, 10
- special sub_81A085C
- compare VAR_0x8004, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE
- checkflag FLAG_0x934
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E90
-
-BattleFrontier_BattleTowerLobby_EventScript_2B68BE:: @ 82B68BE
- setvar VAR_0x8004, 11
- special sub_81A085C
- compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3
- compare VAR_RESULT, 4
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF
- compare VAR_RESULT, 3
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77
- compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C
- compare VAR_RESULT, 5
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4
- release
- releaseall
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6900:: @ 82B6900
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 6
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special sub_81A085C
- waitstate
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6925:: @ 82B6925
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 6
- special sub_81A085C
- waitstate
- compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69BB
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 2
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 0
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 1
- setorcopyvar VAR_0x8005, VAR_RESULT
- addvar VAR_0x8005, 1
- special sub_81A085C
- setvar VAR_0x8004, 3
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 8
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 3
- special sub_81A085C
- waitstate
- call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
- release
- releaseall
- switch VAR_FACING
- case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B69BB:: @ 82B69BB
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 1
- special sub_81A085C
- waitstate
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6925
-
-BattleFrontier_BattleTowerLobby_EventScript_2B69D3:: @ 82B69D3
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 2
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 0
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 1
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 6
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 2
- special sub_81A085C
- waitstate
- copyvar VAR_0x8005, VAR_RESULT
- compare VAR_0x8005, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6ABA
- compare VAR_0x8005, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC0
- setvar VAR_0x8004, 12
- special sub_81A085C
- copyvar VAR_0x8006, VAR_RESULT
- setvar VAR_0x8004, 13
- special sub_81A085C
- setvar VAR_0x8004, 5
- special sub_81A085C
- setvar VAR_0x8004, 12
- special sub_81A085C
- compare VAR_RESULT, 3
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC6
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- copyvar VAR_0x8006, VAR_0x8007
- special sub_81A085C
- setvar VAR_0x8004, 15
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 7
- special sub_81A085C
- waitstate
- call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
- release
- releaseall
- switch VAR_FACING
- case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6ABA:: @ 82B6ABA
- setvar VAR_0x8007, 0
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6AC0:: @ 82B6AC0
- setvar VAR_0x8007, 1
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6AC6:: @ 82B6AC6
- setvar VAR_0x8004, 4
- special sub_81A085C
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6ACF:: @ 82B6ACF
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 4
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 2
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 10
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 15
- special sub_81A085C
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6B09:: @ 82B6B09
- fadescreen 1
- setvar VAR_RESULT, 0
- setvar VAR_0x8004, 19
- special sub_81A085C
- waitstate
- compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81
- setvar VAR_0x8004, 20
- special sub_81A085C
- compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 5
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 12
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 5
- special sub_81A085C
- call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
- release
- releaseall
- switch VAR_FACING
- case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6B81:: @ 82B6B81
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 4
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 2
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 13
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 4
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 15
- special sub_81A085C
- compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6BD4:: @ 82B6BD4
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 14
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 5
- special sub_81A085C
- call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
- release
- releaseall
- switch VAR_FACING
- case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6C0C:: @ 82B6C0C
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 4
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 5
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 2
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 16
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 4
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 15
- special sub_81A085C
- compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6C77:: @ 82B6C77
- setvar VAR_0x8004, 14
- setvar VAR_0x8005, 3
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 2
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 3
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 2
- setvar VAR_0x8006, 4
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 8
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 3
- special sub_81A085C
- waitstate
- copyvar VAR_0x8005, VAR_RESULT
- compare VAR_0x8005, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D50
- compare VAR_0x8005, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D56
- setvar VAR_0x8004, 17
- special sub_81A085C
- setvar VAR_0x8004, 5
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- copyvar VAR_0x8006, VAR_0x8007
- special sub_81A085C
- setvar VAR_0x8004, 15
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 9
- special sub_81A085C
- waitstate
- call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
- release
- releaseall
- switch VAR_FACING
- case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6D50:: @ 82B6D50
- setvar VAR_0x8007, 3
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6D56:: @ 82B6D56
- setvar VAR_0x8007, 4
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6D5C:: @ 82B6D5C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 4
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 7
- setvar VAR_0x8005, 1
- special sub_81A085C
- waitstate
- copyvar VAR_0x8005, VAR_RESULT
- setvar VAR_0x8004, 18
- special sub_81A085C
- setvar VAR_0x8004, 5
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 9
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 5
- special sub_81A085C
- waitstate
- call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
- release
- releaseall
- switch VAR_FACING
- case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6DD4:: @ 82B6DD4
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 11
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 25
- special sub_81A085C
- setvar VAR_0x8004, 19
- call BattleFrontier_BattleTowerLobby_EventScript_271E7C
- lock
- faceplayer
- setvar VAR_0x8004, 21
- special sub_81A085C
- setvar VAR_0x8004, 16
- setvar VAR_0x8005, 0
- setvar VAR_0x8006, 7
- special sub_81A085C
- setvar VAR_0x8004, 8
- setvar VAR_0x8005, 1
- setvar VAR_0x8006, 15
- special sub_81A085C
- waitstate
- setvar VAR_0x8004, 9
- special sub_81A085C
- call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
- release
- releaseall
- switch VAR_FACING
- case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
- goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6E4D:: @ 82B6E4D
- setflag FLAG_0x2BD
- setflag FLAG_0x934
- return
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6E54:: @ 82B6E54
- setvar VAR_0x8004, 24
- special sub_81A085C
- compare VAR_0x8004, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E93
- applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94
- waitmovement 0
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6E72:: @ 82B6E72
- setvar VAR_0x8004, 24
- special sub_81A085C
- compare VAR_0x8004, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E93
- applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95
- waitmovement 0
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6E90:: @ 82B6E90
- release
- releaseall
- end
-
-BattleFrontier_BattleTowerLobby_EventScript_2B6E93:: @ 82B6E93
- end
-
-BattleFrontier_BattleTowerLobby_Movement_2B6E94: @ 82B6E94
- walk_fast_right
-
-BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95
- walk_fast_down
- walk_fast_down
- walk_fast_right
- walk_fast_right
- walk_fast_right
- walk_fast_right
- walk_fast_right
- walk_fast_right
- walk_fast_right
- walk_fast_right
- walk_fast_right
- set_invisible
- slide_down
- slide_down
- slide_down
- step_end
-
-gText_082B6EA5:: @ 82B6EA5
- .string "Um, I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
- .string "Snivel… This tension is getting to me…$"
-
-gText_082B6EEC:: @ 82B6EEC
- .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
- .string "Here we come!$"
-
-gText_082B6F16:: @ 82B6F16
- .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}!\n"
- .string "Accept my challenge!$"
-
-gText_082B6F4C:: @ 82B6F4C
- .string "Um… I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice…\n"
- .string "Do you think someone like me can win?$"
-
-gText_082B6F92:: @ 82B6F92
- .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
- .string "I’ll let you challenge me!$"
-
-gText_082B6FC9:: @ 82B6FC9
- .string "I’m horribly busy, but I also happen\n"
- .string "to be {STR_VAR_1}’s no. {STR_VAR_2} apprentice.$"
-
-gText_082B700C:: @ 82B700C
- .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
- .string "Glad to meet you!$"
-
-gText_082B703A:: @ 82B703A
- .string "I serve as {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
- .string "May I begin?$"
-
-gText_082B706A:: @ 82B706A
- .string "Eek! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
- .string "I’ll do my best!$"
-
-gText_082B709C:: @ 82B709C
- .string "Yeehaw! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
- .string "Put ’em up!$"
-
-gText_082B70CC:: @ 82B70CC
- .string "I’m {STR_VAR_1}’s 1,000th apprentice!\n"
- .string "Actually, I’m no. {STR_VAR_2}! Here goes!$"
-
-gText_082B710A:: @ 82B710A
- .string "Yeah, I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
- .string "Let’s get rockin’ and a-rollin’!$"
-
-gText_082B714D:: @ 82B714D
- .string "Yippee-yahoo! I’m what you call\n"
- .string "{STR_VAR_1}’s no. {STR_VAR_2} apprentice!$"
-
-gText_082B7185:: @ 82B7185
- .string "Cough! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
- .string "Good to meet you! Cough!$"
-
-gText_082B71C1:: @ 82B71C1
- .string "This is nerve-racking…\n"
- .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$"
-
-gText_082B71F9:: @ 82B71F9
- .string "I am {STR_VAR_1}’s no. {STR_VAR_2} apprentice,\n"
- .string "and that’s no lie.$"
-
-gText_082B7229:: @ 82B7229
- .string "Are you… {PLAYER}?\n"
- .string "Oh! Sniff…sob…\p"
- .string "Oh! S-sorry…\n"
- .string "I’m so nervous, I can’t help crying…\p"
- .string "I’m {STR_VAR_1}, and I really look up\n"
- .string "to you, {PLAYER}.\p"
- .string "I… I had this dream of one day meeting\n"
- .string "you and asking you about POKéMON.\p"
- .string "Please, please, {PLAYER}!\n"
- .string "Please teach me about POKéMON!$"
-
-gText_082B731C:: @ 82B731C
- .string "Oh… B-but…\n"
- .string "Snivel… Waaaaaaah!\p"
- .string "Please!\n"
- .string "I’m begging you, please!$"
-
-gText_082B735B:: @ 82B735B
- .string "Oh, really? You will?\n"
- .string "Awesome! Wicked! Awoooh!\p"
- .string "Oh… I’m sorry…\n"
- .string "I’m so happy, I’m crying…\p"
- .string "Um… Then please tell me!\n"
- .string "It’s about the BATTLE TOWER.\p"
- .string "Which would be better for me: Level 50\n"
- .string "or the Open Level?$"
-
-gText_082B7423:: @ 82B7423
- .string "{STR_VAR_1}?\n"
- .string "Waaaaah!\p"
- .string "Oh! I’m so sorry!\n"
- .string "You’ve made me happy by choosing\l"
- .string "the level for me, and it’s made me cry…\p"
- .string "Snivel…\n"
- .string "Thank you so much!\l"
- .string "Please talk with me again!$"
-
-gText_082B74C1:: @ 82B74C1
- .string "Wowee! You’re {PLAYER}, aren’t you?\n"
- .string "You’re awesomely strong, aren’t you?\p"
- .string "I’m {STR_VAR_1}!\n"
- .string "I just became a TRAINER!\p"
- .string "Please, {PLAYER}!\n"
- .string "Can you be my teacher and tell me\l"
- .string "lots about being a TRAINER?$"
-
-gText_082B756F:: @ 82B756F
- .string "Aww, why?\n"
- .string "Oh, please? Pretty please?\l"
- .string "Please be my teacher, please!$"
-
-gText_082B75B2:: @ 82B75B2
- .string "Yay! Great!\p"
- .string "The first thing I wanted to ask you is\n"
- .string "about the BATTLE TOWER!\p"
- .string "The Level 50 and Open Level Rooms…\n"
- .string "Which would be perfect for me?$"
-
-gText_082B763F:: @ 82B763F
- .string "{STR_VAR_1}, huh? That’s true!\n"
- .string "I’ll do my best there!\p"
- .string "If we meet here again, please teach\n"
- .string "me something else, teacher!$"
-
-gText_082B76AC:: @ 82B76AC
- .string "Um… Are you {PLAYER}?\n"
- .string "My name is {STR_VAR_1}.\p"
- .string "I want to become a POKéMON TRAINER,\n"
- .string "but I don’t know what to do…\p"
- .string "So I thought maybe I could ask you for\n"
- .string "advice because you’re so famous.\p"
- .string "{PLAYER}, could you give me advice?$"
-
-gText_082B7772:: @ 82B7772
- .string "Oh, but…\p"
- .string "I sincerely want to become a POKéMON\n"
- .string "TRAINER!\p"
- .string "Please, can you answer my questions?$"
-
-gText_082B77CE:: @ 82B77CE
- .string "Thank you!\n"
- .string "Here’s my first question right away!\p"
- .string "The BATTLE TOWER has two levels,\n"
- .string "Level 50 and Open Level, right?\p"
- .string "Which level do you think is more\n"
- .string "suitable for me?$"
-
-gText_082B7871:: @ 82B7871
- .string "Oh, the {STR_VAR_1} challenge?\n"
- .string "Understood!\p"
- .string "If I have another question, I’ll come\n"
- .string "back here for your advice!$"
-
-gText_082B78D4:: @ 82B78D4
- .string "Oh? Huh? You’re…\n"
- .string "No, that can’t be true.\p"
- .string "There isn’t any way that someone\n"
- .string "like me could meet {PLAYER}.\p"
- .string "…You really are {PLAYER}?\n"
- .string "I can’t believe I’m talking to you!\p"
- .string "When something this good happens,\n"
- .string "only terrible things will happen to me\l"
- .string "now, I just know it…\p"
- .string "…I’m sorry…\n"
- .string "I’m… {STR_VAR_1}…\p"
- .string "There isn’t anything special about\n"
- .string "me that I can be proud of…\p"
- .string "I shouldn’t even say anything about\n"
- .string "myself because you’ll forget…\p"
- .string "I had this dream that if I ever met\n"
- .string "you, {PLAYER}, that maybe I could ask\l"
- .string "you for advice as a TRAINER.\p"
- .string "But I don’t think you would agree\n"
- .string "to that.\p"
- .string "…Or will you be so kind as to give\n"
- .string "me advice?$"
-
-gText_082B7B1A:: @ 82B7B1A
- .string "I knew it…\p"
- .string "It had to happen because I’m such\n"
- .string "a really boring nobody…\p"
- .string "But I thought just maybe…\n"
- .string "You won’t reconsider, will you?\p"
- .string "But I can’t give up just like that.\n"
- .string "I’ll ask you while I’m still lucky!\p"
- .string "Please, will you be so kind as to give\n"
- .string "me advice?$"
-
-gText_082B7C13:: @ 82B7C13
- .string "Really? I can’t believe it!\n"
- .string "I can’t believe you’ll advise me!\l"
- .string "I… I’m so happy…\p"
- .string "What I want to ask you is really\n"
- .string "trivial, but I can’t decide…\p"
- .string "At the BATTLE TOWER, they let you\n"
- .string "choose Level 50 or Open Level.\p"
- .string "Which course do you think even I may\n"
- .string "have a chance at?$"
-
-gText_082B7D18:: @ 82B7D18
- .string "{STR_VAR_1}? Okay!\n"
- .string "But do you really think someone like\l"
- .string "me would have a chance?\p"
- .string "I’ll do my best, even though I don’t\n"
- .string "think it will work.\p"
- .string "Thank you very much for spending\n"
- .string "time with someone like me.$"
-
-gText_082B7DD4:: @ 82B7DD4
- .string "Oh! You’re {PLAYER}{STRING 5}, aren’t you?\p"
- .string "I’ve heard that you’re tough at\n"
- .string "POKéMON!\p"
- .string "I’m {STR_VAR_1}!\n"
- .string "I’ll be your friend!\p"
- .string "Did you know?\p"
- .string "You can’t win at the BATTLE FRONTIER\n"
- .string "if all you know is what they teach at\l"
- .string "the TRAINER’S SCHOOL.\p"
- .string "I’m willing to listen to your advice.\n"
- .string "You’ll agree, of course?$"
-
-gText_082B7EE5:: @ 82B7EE5
- .string "Huh? Why are you refusing me?\n"
- .string "It’s me who’s asking you!\l"
- .string "You have to reconsider!$"
-
-gText_082B7F35:: @ 82B7F35
- .string "Okay, so there is this something.\n"
- .string "I want you to decide it for me.\p"
- .string "You know that the BATTLE TOWER has\n"
- .string "Level 50 and Open Level Rooms?\p"
- .string "Which do you think would be good\n"
- .string "for me, {PLAYER}{STRING 5}?$"
-
-gText_082B7FE8:: @ 82B7FE8
- .string "Okay, {STR_VAR_1} is suitable for me?\n"
- .string "Thank you!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I’ll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082B8087:: @ 82B8087
- .string "Oh, hi, there! {PLAYER}{STRING 5}!\n"
- .string "I know you because you’re famous!\l"
- .string "Call me {STR_VAR_1}! Glad to meet you!\p"
- .string "I’m a TRIATHLETE, so I keep myself\n"
- .string "fit even while I raise POKéMON.\p"
- .string "I’m also involved with other things\n"
- .string "like work, napping, ballroom dancing…\p"
- .string "Being this busy, it’s not so easy for\n"
- .string "me to become a decent TRAINER.\p"
- .string "So, I have a proposition!\p"
- .string "There must be a reason why we met.\n"
- .string "So, {PLAYER}{STRING 5}, how about sharing your\l"
- .string "wisdom with me every so often?$"
-
-gText_082B822B:: @ 82B822B
- .string "Oh, but, please?\n"
- .string "A guy like me needs someone like\l"
- .string "you, {PLAYER}{STRING 5}!\p"
- .string "Honestly, I need your advice!$"
-
-gText_082B8286:: @ 82B8286
- .string "Thank you! That’s more like it!\n"
- .string "So, let’s start with an easy one!\p"
- .string "You know about the BATTLE TOWER’s\n"
- .string "two courses, right?\l"
- .string "You know, Level 50 and Open Level.\p"
- .string "Me being a busy guy, which one should\n"
- .string "I gear up for?$"
-
-gText_082B8356:: @ 82B8356
- .string "{STR_VAR_1}, huh? Okay, gotcha.\n"
- .string "I’ll find time somehow and give it a go!\p"
- .string "…Whoops, I’d better go to work!\n"
- .string "Thanks! See you around!$"
-
-gText_082B83CE:: @ 82B83CE
- .string "No way! Uh-uh!\n"
- .string "Are you maybe the real {PLAYER}?\p"
- .string "A-hah! Awesome! I’m {STR_VAR_1},\n"
- .string "so pleased to meet you!\p"
- .string "{PLAYER}, you’re very strong,\n"
- .string "aren’t you?\p"
- .string "Everyone’s talking about you!\p"
- .string "Oh! I just had this great idea!\n"
- .string "I’ll get advice off you, {PLAYER}!\l"
- .string "I’m sure it will make me tougher!\p"
- .string "Isn’t it a great idea?\n"
- .string "Please, I want your advice!$"
-
-gText_082B84FC:: @ 82B84FC
- .string "Ahahaha, you can pretend to be mean,\n"
- .string "but you can’t fool me!\l"
- .string "You really mean okay, don’t you?$"
-
-gText_082B8559:: @ 82B8559
- .string "Yay! I knew you’d have a big heart,\n"
- .string "{PLAYER}!\p"
- .string "What should I ask you first?\n"
- .string "…Oh, I thought of something!\p"
- .string "Drum roll, please!\n"
- .string "The question I have is…\p"
- .string "If I were to take a BATTLE TOWER\n"
- .string "challenge, which way should I go?\p"
- .string "Level 50 or Open Level?\n"
- .string "Which suits me more?$"
-
-gText_082B8656:: @ 82B8656
- .string "Oh-oh-oh!\n"
- .string "{STR_VAR_1}, you say!\l"
- .string "Thank you for a totally cool reply!\p"
- .string "I guess that’s about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let’s meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082B86EA:: @ 82B86EA
- .string "I beg your pardon, but…\n"
- .string "Are you {PLAYER}?\p"
- .string "I’m {STR_VAR_1}, and I am delighted to\n"
- .string "make your acquaintance.\p"
- .string "I have long been an admirer\n"
- .string "of yours…\p"
- .string "… … … … … …\p"
- .string "Um… I hope you don’t find this\n"
- .string "request too much of a burden, but…\p"
- .string "May I become your apprentice,\n"
- .string "{PLAYER}?$"
-
-gText_082B87DA:: @ 82B87DA
- .string "Oh…!\p"
- .string "… … … … … …\n"
- .string "… … … … … …\p"
- .string "…I must have fainted from shock.\n"
- .string "I’m sorry, I must have misheard you.\p"
- .string "Please! Please say that you will\n"
- .string "accept me as your apprentice!$"
-
-gText_082B887C:: @ 82B887C
- .string "Oh… I’m delighted!\p"
- .string "I don’t wish to waste your time,\n"
- .string "so please advise me on this.\p"
- .string "I plan to take a BATTLE TOWER\n"
- .string "challenge soon.\p"
- .string "However, there are two levels…\p"
- .string "Which would be most suitable for me?\n"
- .string "Level 50 or Open Level?$"
-
-gText_082B8957:: @ 82B8957
- .string "{STR_VAR_1} is your choice!\n"
- .string "I see. I will do my best!\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082B89C6:: @ 82B89C6
- .string "Eek! Eek! {PLAYER}!\n"
- .string "You spoke to me!\l"
- .string "I… I’m overjoyed!\p"
- .string "Me! My name is {STR_VAR_1}!\n"
- .string "I just became a TRAINER!\p"
- .string "I’m delighted I met you, {PLAYER},\n"
- .string "the big name in POKéMON circles!\p"
- .string "Oh-oh-oh, I know!\n"
- .string "May I ask a huge favor, {PLAYER}?\p"
- .string "Please take me in as your apprentice!\n"
- .string "I want to learn from you!$"
-
-gText_082B8ACF:: @ 82B8ACF
- .string "Waaaah!\n"
- .string "{PLAYER} turned me down…\l"
- .string "It… It’s an invaluable experience!\p"
- .string "{PLAYER}, please! I want to hear\n"
- .string "an affirmative answer this time!\p"
- .string "I beg you for your guidance!$"
-
-gText_082B8B66:: @ 82B8B66
- .string "Hieeeeh! {PLAYER} said yes!\n"
- .string "{PLAYER} said yes!\p"
- .string "I won’t be able to sleep tonight…\n"
- .string "Thank you ever so much!\p"
- .string "Then, here’s my question!\p"
- .string "At the BATTLE TOWER, what is right\n"
- .string "for me, Level 50 or Open Level?$"
-
-gText_082B8C20:: @ 82B8C20
- .string "{STR_VAR_1}! Perfectly understood!\n"
- .string "I understand perfectly!\l"
- .string "I’m deliriously delighted!\p"
- .string "I hope you’ll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082B8CAA:: @ 82B8CAA
- .string "Whoa! Could you be…\n"
- .string "Might you be… {PLAYER}{STRING 5}?!\l"
- .string "That strong and famous TRAINER?\l"
- .string "Well, hello, aren’t I just the luckiest!\p"
- .string "Hello, the name’s {STR_VAR_1}!\p"
- .string "I’ve been on the lookout for\n"
- .string "a POKéMON teacher.\p"
- .string "And with impeccably good timing,\n"
- .string "along came you, {PLAYER}{STRING 5}!\p"
- .string "So, there you have it, {PLAYER}{STRING 5}!\n"
- .string "Let me apprentice under you!$"
-
-gText_082B8DD3:: @ 82B8DD3
- .string "Gwaaaah!\n"
- .string "You’re quite cool and tough…\p"
- .string "Don’t be that way, please.\n"
- .string "I’m asking you!$"
-
-gText_082B8E24:: @ 82B8E24
- .string "Oh, yeah! That’s a solid reply!\n"
- .string "Excellent, I might add!\p"
- .string "So how about a first piece of advice\n"
- .string "on the BATTLE TOWER?\p"
- .string "If I were to go, what would be better?\n"
- .string "Level 50 or Open Level?$"
-
-gText_082B8ED5:: @ 82B8ED5
- .string "Uh-huh, {STR_VAR_1} it is!\n"
- .string "OK, A-OK!\l"
- .string "I’ll go show my mettle, like, jam!\p"
- .string "All right, I’ll look to you as my mentor!\n"
- .string "Adios!$"
-
-gText_082B8F45:: @ 82B8F45
- .string "Oh, hey, {PLAYER}{STRING 5}, right?\n"
- .string "The police were looking for you!\p"
- .string "… … …\n"
- .string "Of course I’m lying!\p"
- .string "Me, I’m {STR_VAR_1}. Despite the way\n"
- .string "I look, I’m the POKéMON CHAMPION!\l"
- .string "…That’s a lie, too!\p"
- .string "This is no lie, though.\n"
- .string "I’m not very good at battling.\p"
- .string "So, how about you becoming my master\n"
- .string "about all things POKéMON?$"
-
-gText_082B905F:: @ 82B905F
- .string "If you’re going to act cold like that,\n"
- .string "I’ll show you what I’ll do!\p"
- .string "Waaah! Waaah! Waaah!\n"
- .string "Hiccup!\p"
- .string "Hahaha, that was my FAKE TEARS!\p"
- .string "Come on, will you please be\n"
- .string "my POKéMON master?$"
-
-gText_082B910E:: @ 82B910E
- .string "Yippee!\n"
- .string "I’ll buy you a boat for that!\p"
- .string "Of course I’m lying again!\n"
- .string "But… Thank you, master!\p"
- .string "You know how there’s Level 50 and\n"
- .string "Open Level at the BATTLE TOWER?\p"
- .string "I’m having trouble deciding which\n"
- .string "level I should challenge…\p"
- .string "Can you decide for me, master?$"
-
-gText_082B9204:: @ 82B9204
- .string "Okay, so {STR_VAR_1} is better!\n"
- .string "I’ll go to the other level, then!\p"
- .string "Just kidding!\n"
- .string "I’ll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you’ll keep teaching me!$"
-
-gText_082B929C:: @ 82B929C
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy, and it means hi!\p"
- .string "I’m {STR_VAR_1}, the rappin’ SAILOR\n"
- .string "am I!\p"
- .string "Your turn now, tell me a little about\n"
- .string "yourself, give it a try!\p"
- .string "Uh-huh, uh-huh!\n"
- .string "{PLAYER}{STRING 5}’s your name,\l"
- .string "and POKéMON’s your game!\p"
- .string "And you’re at a delicate age\n"
- .string "when all the world’s your stage!\p"
- .string "Anyway, I just want to say,\n"
- .string "that you’re the tenth TRAINER\l"
- .string "I’ve spoken to today.\p"
- .string "Let’s make that a celebration!\n"
- .string "Become my mentor for commemoration!$"
-
-gText_082B9438:: @ 82B9438
- .string "But!\n"
- .string "You have to work with me!\p"
- .string "Don’t be such a tease!\n"
- .string "Become my mentor, please!$"
-
-gText_082B9488:: @ 82B9488
- .string "That’s it!\n"
- .string "{PLAYER}, you’ve got the spirit!\p"
- .string "So here’s my first question\n"
- .string "that begs your suggestion!\p"
- .string "It’s about the BATTLE TOWER,\n"
- .string "and it hinges on my power!\p"
- .string "Level 50 and Open Level there be,\n"
- .string "which is the one that’s good for me?$"
-
-gText_082B9564:: @ 82B9564
- .string "Okay, {STR_VAR_1} it is, you say!\n"
- .string "I’ll go and take it on my way!\p"
- .string "If it’s advice I ever need,\n"
- .string "{PLAYER}, your word I’ll always heed!$"
-
-gText_082B95D8:: @ 82B95D8
- .string "Say, hey, aren’t you {PLAYER}?\n"
- .string "What should I do? Talk to you?\l"
- .string "Why not? I’m already talking to you!\p"
- .string "{PLAYER}, are you surprised at me?\n"
- .string "I’d better tell you who I happen to be!\p"
- .string "{STR_VAR_1} is what you can call me.\n"
- .string "The brightest star in guitardom,\l"
- .string "that’s me!\p"
- .string "Are you receiving me?\n"
- .string "You are receiving me!\p"
- .string "My luck’s at its best,\n"
- .string "I’ll hit you with a request!\p"
- .string "{PLAYER}, let me be your underling!\n"
- .string "I want you to teach me everything!$"
-
-gText_082B9763:: @ 82B9763
- .string "You’re turning me down, then?\n"
- .string "I’ll just have to ask you again!\p"
- .string "{PLAYER}, I beg to be your underling!\n"
- .string "I need you to teach me everything!$"
-
-gText_082B97E5:: @ 82B97E5
- .string "Lucky, yeah, woohoo!\n"
- .string "Should I pop a question to you?\p"
- .string "Since we’re near the BATTLE TOWER,\n"
- .string "how about a question about its power?\p"
- .string "Of the choices you see,\n"
- .string "which is the right one for me?$"
-
-gText_082B989A:: @ 82B989A
- .string "If {STR_VAR_1} is what you suggest,\n"
- .string "it must be the very best!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don’t you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082B992D:: @ 82B992D
- .string "Oh, hi! You there!\n"
- .string "Can I get you to massage my shoulder?\p"
- .string "…Yes, there! That’s it!\n"
- .string "Ouch, ouch! Oooh, that feels great!\p"
- .string "My name’s {STR_VAR_1}.\n"
- .string "I take karate training, but my body’s\l"
- .string "not built to take the abuse…\p"
- .string "I decided I’ll battle POKéMON and\n"
- .string "toughen myself up.\p"
- .string "You’re {PLAYER}{STRING 5}, aren’t you?\n"
- .string "The POKéMON LEAGUE CHAMP?\p"
- .string "Listen, can I get you to give me\n"
- .string "advice?$"
-
-gText_082B9A84:: @ 82B9A84
- .string "Oh, why?\p"
- .string "I won’t be a big bother, I promise!\n"
- .string "Please?$"
-
-gText_082B9AB9:: @ 82B9AB9
- .string "Thank you. Mighty good of you!\n"
- .string "…Cough! Cough!\p"
- .string "Oogh, I have to toughen up quick…\p"
- .string "I’ll be heading off to the BATTLE TOWER\n"
- .string "right away, but what would be better\l"
- .string "for me? Level 50 or Open Level?$"
-
-gText_082B9B76:: @ 82B9B76
- .string "Hm, all right. That’s {STR_VAR_1}.\n"
- .string "I’ll go there right away.\p"
- .string "I hope I can keep hitting you up for\n"
- .string "help--after all, you’re my mentor!$"
-
-gText_082B9BF2:: @ 82B9BF2
- .string "Er… Um…\n"
- .string "{PLAYER}{STRING 5}…?\p"
- .string "Please, don’t look at me that way.\n"
- .string "You’re making me all self-conscious.\p"
- .string "I… I’m {STR_VAR_1}.\p"
- .string "I’m really embarrassed to say this,\n"
- .string "but I explore ancient ruins and such.\p"
- .string "I’m even more embarrassed to admit\n"
- .string "I’m interested in the BATTLE FRONTIER.\p"
- .string "{PLAYER}{STRING 5}, you have a reputation as\n"
- .string "a tough TRAINER…\p"
- .string "It’s hard for me to say this,\n"
- .string "but I want to ask something.\p"
- .string "Could you become my teacher and\n"
- .string "give me advice?$"
-
-gText_082B9D83:: @ 82B9D83
- .string "Please don’t brush me off like this!\n"
- .string "I can’t live with the humiliation.\p"
- .string "Please become my teacher!\n"
- .string "I need your advice!$"
-
-gText_082B9DF9:: @ 82B9DF9
- .string "Th-thank you…\p"
- .string "But please don’t look at me like that.\n"
- .string "It makes me all flustered.\p"
- .string "Please, answer me without looking\n"
- .string "at my eyes.\p"
- .string "At the BATTLE TOWER…\n"
- .string "Which level should I attempt?$"
-
-gText_082B9EAA:: @ 82B9EAA
- .string "Oh… Okay!\n"
- .string "I’ll try my hand at that.\p"
- .string "I hope I can make a valiant challenge\n"
- .string "without getting all flustered…\p"
- .string "Thank you, {PLAYER}{STRING 5}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082B9F55:: @ 82B9F55
- .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
- .string "But are you really real?\p"
- .string "You may call me {STR_VAR_1}.\p"
- .string "I have been toying with the idea of\n"
- .string "apprenticing under a strong TRAINER.\p"
- .string "So, I must say I’m lucky you came along!\n"
- .string "…You really are {PLAYER}{STRING 5}, yes?\p"
- .string "No, no, if you are real, it’s fine.\n"
- .string "I merely want you to recognize me\l"
- .string "as your apprentice.$"
-
-gText_082BA084:: @ 82BA084
- .string "Oh?\n"
- .string "But what would compel you to refuse?\p"
- .string "I apologize for being skeptical about\n"
- .string "your identity.\p"
- .string "Please accept my apology and\n"
- .string "accept me as your apprentice.$"
-
-gText_082BA11D:: @ 82BA11D
- .string "You really are accepting me?\n"
- .string "I don’t wish to celebrate prematurely.\p"
- .string "If it is true, I apologize.\n"
- .string "But now, I need your advice.\p"
- .string "If I were to enter the BATTLE TOWER,\n"
- .string "what would be worthy of me?\l"
- .string "Level 50 or Open Level?$"
-
-gText_082BA1F3:: @ 82BA1F3
- .string "{STR_VAR_1}?\n"
- .string "Are you certain?\p"
- .string "I see. If that’s the case, that’s fine.\n"
- .string "I thank you for your time.\p"
- .string "I realize I can annoy, but it delights\n"
- .string "me that you have accepted me.\p"
- .string "Let us meet again!$"
-
-gText_082BA2A3:: @ 82BA2A3
- .string "Sigh… Sob…\n"
- .string "Oh, {PLAYER}!\p"
- .string "I’m all tangled up in a dilemma\n"
- .string "that I can’t decide.\p"
- .string "I can’t decide what I should make\n"
- .string "my {STR_VAR_1} hold.\p"
- .string "Please tell me, {PLAYER}.\n"
- .string "What item should I make it hold?$"
-
-gText_082BA34E:: @ 82BA34E
- .string "Oh, really? I shouldn’t make\n"
- .string "my {STR_VAR_1} hold anything?$"
-
-gText_082BA380:: @ 82BA380
- .string "Oh, okay! I’m delighted it’s settled!\n"
- .string "Awesome! Wicked! Awoooh!\p"
- .string "Thank you so much!$"
-
-gText_082BA3D2:: @ 82BA3D2
- .string "Oh, I’m so glad…\n"
- .string "I think I have that {STR_VAR_1}, too.\p"
- .string "I’m delighted it’s settled!\n"
- .string "Awesome! Wicked! Awoooh!\p"
- .string "Thank you so much!$"
-
-gText_082BA448:: @ 82BA448
- .string "Waaaah! Please don’t be mean!\p"
- .string "That item {STR_VAR_1} was already\n"
- .string "recommended to me before, sob…\p"
- .string "Or do you mean I shouldn’t make\n"
- .string "my {STR_VAR_2} hold anything?$"
-
-gText_082BA4D3:: @ 82BA4D3
- .string "Yay! It’s {PLAYER}!\n"
- .string "Great! I wanted to ask you something!\p"
- .string "Do you make your POKéMON hold items?\n"
- .string "I want to make mine hold items, but…\p"
- .string "What item would be good for\n"
- .string "{STR_VAR_1} to hold?\p"
- .string "What do you think?$"
-
-gText_082BA58C:: @ 82BA58C
- .string "Huh? You mean my {STR_VAR_1} doesn’t\n"
- .string "have to hold anything?$"
-
-gText_082BA5BF:: @ 82BA5BF
- .string "Oh, I get it! I’ll do that!\n"
- .string "Thanks for teaching me!$"
-
-gText_082BA5F3:: @ 82BA5F3
- .string "Oh, wow! One {STR_VAR_1}, huh?\n"
- .string "Okay, I’ll do that!\p"
- .string "Thanks for teaching me!$"
-
-gText_082BA635:: @ 82BA635
- .string "Oh, uh, no, that’s not what I meant.\n"
- .string "I want to know about a different item\l"
- .string "than the ones I already know.\p"
- .string "Or do you mean that my POKéMON doesn’t\n"
- .string "have to hold anything this time?$"
-
-gText_082BA6E6:: @ 82BA6E6
- .string "{PLAYER}, hello!\n"
- .string "It’s about my {STR_VAR_1}…\p"
- .string "I want to make it hold a good item.\n"
- .string "What would be good for it?$"
-
-gText_082BA742:: @ 82BA742
- .string "Oh, then my {STR_VAR_1} doesn’t have\n"
- .string "to hold anything?$"
-
-gText_082BA770:: @ 82BA770
- .string "Okay, I got it!\n"
- .string "See you again!$"
-
-gText_082BA78F:: @ 82BA78F
- .string "Oh, the item {STR_VAR_1}?\n"
- .string "Understood!\p"
- .string "I’ll do my best to find one!\n"
- .string "See you again!$"
-
-gText_082BA7D8:: @ 82BA7D8
- .string "Somebody taught me about\n"
- .string "the {STR_VAR_1} already.\p"
- .string "I want my POKéMON to hold a different\n"
- .string "kind of item.\p"
- .string "Or do you think {STR_VAR_2} doesn’t\n"
- .string "have to hold anything?$"
-
-gText_082BA867:: @ 82BA867
- .string "Hello, {PLAYER}…\n"
- .string "I’m sorry to disturb you, but I have\l"
- .string "something else I wanted to ask you.\p"
- .string "I don’t think I’m good enough to win\n"
- .string "matches on my own, so I’m thinking of\l"
- .string "making my {STR_VAR_1} hold an item.\p"
- .string "But I don’t know what would be good.\p"
- .string "{PLAYER}, please, could you decide\n"
- .string "for me?$"
-
-gText_082BA96B:: @ 82BA96B
- .string "A POKéMON belonging to someone like me\n"
- .string "would be better off without an item?$"
-
-gText_082BA9B7:: @ 82BA9B7
- .string "I understand…\n"
- .string "You’re saying I shouldn’t rely on items.\l"
- .string "I’ll do my best not to!\p"
- .string "Thank you very much!$"
-
-gText_082BAA1B:: @ 82BAA1B
- .string "The item {STR_VAR_1}, okay.\n"
- .string "I’m not sure if I can get one…\l"
- .string "No! I’ll do my best to get it.\p"
- .string "Thank you very much!$"
-
-gText_082BAA81:: @ 82BAA81
- .string "Oh, but…\n"
- .string "I think I’ve heard about that before…\p"
- .string "Is it maybe because I haven’t handled\n"
- .string "the item {STR_VAR_1} very well?\p"
- .string "Or do you mean I shouldn’t make\n"
- .string "my {STR_VAR_2} hold anything?$"
-
-gText_082BAB22:: @ 82BAB22
- .string "Oh, {PLAYER}{STRING 5}.\n"
- .string "There’s something I wanted to ask you.\p"
- .string "You know how you decided which\n"
- .string "POKéMON I should have for me?\p"
- .string "But I never asked you what item\n"
- .string "it should be holding.\p"
- .string "Since you already gave me advice,\n"
- .string "how about seeing this to the end?\p"
- .string "What would be good? I want to make\n"
- .string "my {STR_VAR_1} hold something.$"
-
-gText_082BAC43:: @ 82BAC43
- .string "Oh! So my {STR_VAR_1} should do\n"
- .string "the best it can empty-handed?$"
-
-gText_082BAC78:: @ 82BAC78
- .string "If you think that’s best, I’ll do that.\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I’ll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082BAD17:: @ 82BAD17
- .string "The item {STR_VAR_1}, huh?\n"
- .string "Not bad. I’ll use it!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I’ll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082BADB6:: @ 82BADB6
- .string "Huh? What are you saying?\n"
- .string "You told me about the {STR_VAR_1}\l"
- .string "already before.\p"
- .string "Or do you mean my {STR_VAR_2} should\n"
- .string "do the best it can empty-handed?$"
-
-gText_082BAE36:: @ 82BAE36
- .string "Yo, {PLAYER}{STRING 5}!\p"
- .string "We’re both busy, but we seem to run\n"
- .string "into each other often anyway!\p"
- .string "Today I have to do some walking,\n"
- .string "cleaning, and brushing.\p"
- .string "I haven’t even had the time to buy\n"
- .string "my precious {STR_VAR_1} anything.\p"
- .string "I don’t have any time, so how about\n"
- .string "giving me advice on what I should make\l"
- .string "my {STR_VAR_1} hold?$"
-
-gText_082BAF4E:: @ 82BAF4E
- .string "Oh, so me being a busy guy, you say\n"
- .string "my {STR_VAR_1} doesn’t need anything?$"
-
-gText_082BAF8F:: @ 82BAF8F
- .string "Okay, gotcha.\n"
- .string "I won’t need any time for that.\p"
- .string "Thanks today!\n"
- .string "See you around!$"
-
-gText_082BAFDB:: @ 82BAFDB
- .string "Okay, gotcha.\n"
- .string "I’ll find time somehow and find\l"
- .string "that {STR_VAR_1} you recommended.\p"
- .string "I’m glad I met a good mentor in you.\n"
- .string "Thanks! See you around!$"
-
-gText_082BB05F:: @ 82BB05F
- .string "Huh? I already know about\n"
- .string "that {STR_VAR_1}.\p"
- .string "Oh, right, I get it.\n"
- .string "So me being a busy guy, you say\l"
- .string "my {STR_VAR_2} doesn’t need anything?$"
-
-gText_082BB0D4:: @ 82BB0D4
- .string "Hiya, {PLAYER}! It’s me!\n"
- .string "I need to tap your mind again today.\l"
- .string "Please, I need your advice!\p"
- .string "Drum roll, please!\n"
- .string "The question I have is…\p"
- .string "If I want to make my {STR_VAR_1} hold\n"
- .string "an item, what should it be?$"
-
-gText_082BB18C:: @ 82BB18C
- .string "Is that right? My {STR_VAR_1} doesn’t\n"
- .string "need to hold an item, you’re saying.$"
-
-gText_082BB1CE:: @ 82BB1CE
- .string "Okay, that’s what I’ll do!\p"
- .string "I guess that’s about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let’s meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082BB242:: @ 82BB242
- .string "Uh-huh! One {STR_VAR_1}.\n"
- .string "What a cool choice!\l"
- .string "I’ll definitely try that!\p"
- .string "I guess that’s about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let’s meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082BB2D9:: @ 82BB2D9
- .string "Ahahah! That’s silly!\n"
- .string "You already told me about that\l"
- .string "{STR_VAR_1} before!\p"
- .string "Are you feeling okay, {PLAYER}?\p"
- .string "Oh, wait! My {STR_VAR_2} doesn’t\n"
- .string "need to hold an item, you’re saying.$"
-
-gText_082BB370:: @ 82BB370
- .string "Hello, {PLAYER}. I hope you’ve been\n"
- .string "keeping well.\p"
- .string "May I approach you for advice?\p"
- .string "In a recent battle, my opponent\n"
- .string "seemed to have given his POKéMON\l"
- .string "an item to hold.\p"
- .string "As a result, I was defeated…\p"
- .string "I don’t wish to be left behind.\n"
- .string "I would like to make my {STR_VAR_1}\l"
- .string "hold an item, too.\p"
- .string "It would please me if you could decide\n"
- .string "what would be right for my POKéMON…$"
-
-gText_082BB4C3:: @ 82BB4C3
- .string "In other words… My POKéMON has\n"
- .string "no need to hold an item?$"
-
-gText_082BB4FB:: @ 82BB4FB
- .string "I understand clearly now!\n"
- .string "I will keep trying like this.\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082BB575:: @ 82BB575
- .string "One {STR_VAR_1} it is!\n"
- .string "I will order it right away.\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082BB5E1:: @ 82BB5E1
- .string "You’ve already told me about that,\n"
- .string "and I already have it.\p"
- .string "Or are you saying… My POKéMON has\n"
- .string "no need to hold an item?$"
-
-gText_082BB656:: @ 82BB656
- .string "Eek! {PLAYER}!\n"
- .string "I… I’m overjoyed to see you again!\p"
- .string "Oh-oh-oh! There’s something I just\n"
- .string "had to ask you, {PLAYER}!\p"
- .string "Please decide what my {STR_VAR_1}\n"
- .string "should be holding!$"
-
-gText_082BB6E5:: @ 82BB6E5
- .string "Oh, wow! I didn’t expect that answer!\n"
- .string "So, a hold item isn’t necessary?$"
-
-gText_082BB72C:: @ 82BB72C
- .string "Perfectly understood!\n"
- .string "I’ll keep at this without an item!\p"
- .string "I hope you’ll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082BB7A2:: @ 82BB7A2
- .string "{STR_VAR_1}! I’ll use that!\p"
- .string "Um… Could it be, {PLAYER}, you also\n"
- .string "make your POKéMON hold that item?\p"
- .string "I’ll be sure to get it!\n"
- .string "I hope you’ll be willing to teach me\l"
- .string "some more another time.$"
-
-gText_082BB84A:: @ 82BB84A
- .string "Oh? You recommended that\n"
- .string "{STR_VAR_1} before, too.\p"
- .string "Or is it the best thing to hold?\n"
- .string "Or do you mean that my {STR_VAR_2}\l"
- .string "doesn’t need anything to hold?$"
-
-gText_082BB8CD:: @ 82BB8CD
- .string "Hola!\n"
- .string "My maestro, {PLAYER}{STRING 5}!\p"
- .string "I want to hit you up for advice on\n"
- .string "POKéMON tools.\p"
- .string "What do you think would be good for\n"
- .string "my {STR_VAR_1} to hold?\p"
- .string "Don’t be shy now.\n"
- .string "Let’s blurt it out!$"
-
-gText_082BB970:: @ 82BB970
- .string "Oh? So, you’re saying my {STR_VAR_1}\n"
- .string "can win without holding any item?$"
-
-gText_082BB9AE:: @ 82BB9AE
- .string "Si, bueno!\n"
- .string "I’ll give it my best shot, like, slam!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082BBA05:: @ 82BBA05
- .string "Uh-huh, that’s one {STR_VAR_1}?\n"
- .string "Si, bueno!\l"
- .string "I’ll go find me one, like, bam!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082BBA6C:: @ 82BBA6C
- .string "No, no! You already told me about\n"
- .string "that {STR_VAR_1} thing before.\p"
- .string "Oh, now wait just one minute here…\n"
- .string "So, you’re saying my {STR_VAR_2}\l"
- .string "can win without holding any item?$"
-
-gText_082BBB01:: @ 82BBB01
- .string "{PLAYER}{STRING 5}, something unbelievable\n"
- .string "has happened!\p"
- .string "I woke up this morning, and my POKéMON\n"
- .string "had 10 NUGGETS!\p"
- .string "Of course I’m lying!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I’m not very good at thinking about\l"
- .string "what items POKéMON should hold.\p"
- .string "So, how about deciding for me what\n"
- .string "my {STR_VAR_1} should hold, master?$"
-
-gText_082BBC1C:: @ 82BBC1C
- .string "What’s that mean?\n"
- .string "Don’t make it hold anything?$"
-
-gText_082BBC4B:: @ 82BBC4B
- .string "Okay, so it shouldn’t hold anything.\n"
- .string "Then, I’d better get something for it!\p"
- .string "Just kidding!\n"
- .string "I’ll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you’ll keep teaching me!$"
-
-gText_082BBCF6:: @ 82BBCF6
- .string "Okay, so it’s one {STR_VAR_1}!\n"
- .string "I’ll make it hold anything but that!\p"
- .string "Just kidding!\n"
- .string "I’ll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you’ll keep teaching me!$"
-
-gText_082BBD90:: @ 82BBD90
- .string "Um, you told me about that before,\n"
- .string "didn’t you?\p"
- .string "Isn’t there something else?\p"
- .string "Or do you mean, don’t make\n"
- .string "my {STR_VAR_2} hold anything?$"
-
-gText_082BBE0B:: @ 82BBE0B
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin’ SAILOR am I!\n"
- .string "I present to you a question\l"
- .string "that’s pretty fly!\p"
- .string "It’s an item question\n"
- .string "that begs your suggestion!\p"
- .string "My {STR_VAR_1} needs an item to hold,\n"
- .string "What should it be, if I may be bold?$"
-
-gText_082BBEE5:: @ 82BBEE5
- .string "Is that right?\n"
- .string "My {STR_VAR_1} doesn’t need to be\l"
- .string "holding anything tight?$"
-
-gText_082BBF25:: @ 82BBF25
- .string "Okay, I hear you, sure I do!\n"
- .string "My POKéMON will go empty-handed, too!\p"
- .string "If it’s advice I ever need,\n"
- .string "{PLAYER}, your word I’ll always heed!$"
-
-gText_082BBFA4:: @ 82BBFA4
- .string "Okay, one {STR_VAR_1},\n"
- .string "that’s what I’ll use.\l"
- .string "I was right to make you choose!\p"
- .string "If it’s advice I ever need,\n"
- .string "{PLAYER}, your word I’ll always heed!$"
-
-gText_082BC024:: @ 82BC024
- .string "Okay, one {STR_VAR_1}, you say?\n"
- .string "You told me that the other day.\l"
- .string "I need a new idea, a brand new way.\p"
- .string "Or, what, is that right?\n"
- .string "My POKéMON doesn’t need to hold\l"
- .string "anything tight?$"
-
-gText_082BC0C8:: @ 82BC0C8
- .string "Say, hey, {PLAYER}!\n"
- .string "I found you again today!\p"
- .string "What should I do? Get your advice?\n"
- .string "Why not? I’m already talking to you!\p"
- .string "{PLAYER}, are you getting sick of me?\n"
- .string "Nah, no way, that can’t be.\p"
- .string "Will you hear me out?\n"
- .string "I’m looking for advice--that’s what\l"
- .string "I’m talking about.\p"
- .string "It’s about a hold item for\n"
- .string "my {STR_VAR_1} that’d be good.\l"
- .string "My indecision is making me brood.$"
-
-gText_082BC213:: @ 82BC213
- .string "My {STR_VAR_1} needs nothing?\n"
- .string "Doesn’t need to hold anything?$"
-
-gText_082BC247:: @ 82BC247
- .string "If holding nothing is the best,\n"
- .string "I’ll do as you suggest!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don’t you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082BC2DD:: @ 82BC2DD
- .string "If holding that {STR_VAR_1} is\n"
- .string "the best, I’ll do as you suggest!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don’t you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082BC373:: @ 82BC373
- .string "Haven’t I heard about that\n"
- .string "{STR_VAR_1} before?\l"
- .string "I’m certain I have, that’s for sure!\p"
- .string "I need a new something!\n"
- .string "Or, my {STR_VAR_2} needs nothing?\l"
- .string "Doesn’t need to hold anything?$"
-
-gText_082BC40E:: @ 82BC40E
- .string "Gwah! Ouch! {PLAYER}{STRING 5}, my arm’s broken!\n"
- .string "Don’t touch it, please!\p"
- .string "I must’ve broken it while I was trying\n"
- .string "out different hold items with my posse\l"
- .string "of POKéMON.\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me.\p"
- .string "{PLAYER}{STRING 5}, what do you think would be\n"
- .string "good for my {STR_VAR_1} to hold?$"
-
-gText_082BC514:: @ 82BC514
- .string "Ouch…\p"
- .string "So your suggestion is my {STR_VAR_1}\n"
- .string "doesn’t have to hold anything?$"
-
-gText_082BC555:: @ 82BC555
- .string "Hm, all right. That would be easier\n"
- .string "for me, the way things are now.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082BC5CE:: @ 82BC5CE
- .string "Hm, all right. That’s one {STR_VAR_1}.\n"
- .string "My POKéMON’s arm is fine, so I’ll make\l"
- .string "it hold that item right away.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082BC666:: @ 82BC666
- .string "No, no, you told me about that\n"
- .string "{STR_VAR_1} before, remember?\p"
- .string "How about telling me something\n"
- .string "even better?\p"
- .string "Oh, wait a second.\n"
- .string "So your suggestion is my {STR_VAR_2}\l"
- .string "doesn’t have to hold anything?$"
-
-gText_082BC714:: @ 82BC714
- .string "Er… Um…\n"
- .string "{PLAYER}{STRING 5}…\p"
- .string "Please, don’t look at me that way.\n"
- .string "My POKéMON don’t have anything.\p"
- .string "I… I’m really embarrassed about this,\n"
- .string "but I really need your advice.\p"
- .string "I can’t decide what hold item would\n"
- .string "make my {STR_VAR_1} strong.\p"
- .string "{PLAYER}{STRING 5}, what do you think would\n"
- .string "be good?$"
-
-gText_082BC808:: @ 82BC808
- .string "Oh… Then, you think it would be better\n"
- .string "if my {STR_VAR_1} didn’t have an item?$"
-
-gText_082BC84D:: @ 82BC84D
- .string "Oh… Okay!\n"
- .string "I’ll go without an item.\p"
- .string "This is nerve-racking, though.\n"
- .string "Wouldn’t it be too cool?\p"
- .string "Thank you, {PLAYER}{STRING 5}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082BC8EA:: @ 82BC8EA
- .string "Oh… Okay!\n"
- .string "I’ll go with that {STR_VAR_1}.\p"
- .string "This is nerve-racking, though.\n"
- .string "Wouldn’t it be too cool?\p"
- .string "Thank you, {PLAYER}{STRING 5}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082BC984:: @ 82BC984
- .string "B-but I already heard about that.\p"
- .string "Please don’t brush me off like this!\n"
- .string "I can’t live with the humiliation.\p"
- .string "Oh… Am I jumping to conclusions?\n"
- .string "Do you think it would be better if\l"
- .string "my {STR_VAR_2} didn’t have an item?$"
-
-gText_082BCA4D:: @ 82BCA4D
- .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
- .string "But are you really?\l"
- .string "Perhaps you’re a twin?\p"
- .string "Oh, no, no, no, don’t worry!\n"
- .string "If you really are {PLAYER}, please\l"
- .string "forget about my rudeness.\p"
- .string "What I would like is some more of\n"
- .string "your fine advice.\p"
- .string "I have here my {STR_VAR_1} that I wish\n"
- .string "to make hold a convenient item.\p"
- .string "What would be worthy of it?$"
-
-gText_082BCB75:: @ 82BCB75
- .string "It’s better if it held nothing?\n"
- .string "Are you certain?$"
-
-gText_082BCBA6:: @ 82BCBA6
- .string "I see. If that’s the case, that’s fine.\n"
- .string "I thank you for your time.\p"
- .string "Let us meet again!$"
-
-gText_082BCBFC:: @ 82BCBFC
- .string "One {STR_VAR_1}?\n"
- .string "Are you certain?\p"
- .string "I see. If that’s the case, that’s fine.\n"
- .string "I thank you for your time.\p"
- .string "I do hope my POKéMON will be able to\n"
- .string "put it to good use.\p"
- .string "Let us meet again!$"
-
-gText_082BCCA4:: @ 82BCCA4
- .string "No, no, wait a minute.\n"
- .string "I believe you taught me that before.\p"
- .string "I would like you to recommend\n"
- .string "something different this time.\p"
- .string "Perhaps you’re suggesting that\n"
- .string "my {STR_VAR_2} should hold nothing?\l"
- .string "Are you certain?$"
-
-gText_082BCD68:: @ 82BCD68
- .string "Waah, {PLAYER}!\n"
- .string "I have a dilemma, sob…\p"
- .string "I want to begin battling other people,\n"
- .string "but I don’t know what to do.\p"
- .string "How should I line up my POKéMON\n"
- .string "so they’ll be at their strongest?\p"
- .string "Please tell me, {PLAYER}.\n"
- .string "If you were me, which of these POKéMON\l"
- .string "would you send out first?$"
-
-gText_082BCE64:: @ 82BCE64
- .string "My {STR_VAR_1} should go first?\n"
- .string "Waaaaah!\p"
- .string "Oh! I’m so sorry!\n"
- .string "You’ve made me happy by choosing\l"
- .string "my first POKéMON, and it’s made me cry…\p"
- .string "Thank you so much!$"
-
-gText_082BCEF2:: @ 82BCEF2
- .string "Yay! It’s {PLAYER}!\n"
- .string "Great! I wanted to ask you something!\p"
- .string "Um, of my POKéMON, which do you\n"
- .string "think should go out first?$"
-
-gText_082BCF61:: @ 82BCF61
- .string "My {STR_VAR_1}? That’s true.\n"
- .string "Okay, I’ll do that!\p"
- .string "Thanks for teaching me!$"
-
-gText_082BCFA1:: @ 82BCFA1
- .string "{PLAYER}, hello!\p"
- .string "I think, in a battle, it’s very important\n"
- .string "which POKéMON comes out first.\p"
- .string "Out of the POKéMON that I have,\n"
- .string "which would be good to send out first?$"
-
-gText_082BD03C:: @ 82BD03C
- .string "My {STR_VAR_1} goes first?\n"
- .string "Okay, I got it!\p"
- .string "See you again!$"
-
-gText_082BD06D:: @ 82BD06D
- .string "Hello, {PLAYER}…\n"
- .string "I’m sorry to disturb you again with\l"
- .string "another question.\p"
- .string "I have so little confidence, I don’t\n"
- .string "know what I’d do without you, {PLAYER}.\p"
- .string "It may be a waste of time for me to\n"
- .string "even worry about it, but I just can’t\l"
- .string "decide something…\p"
- .string "Which of my POKéMON should I send\n"
- .string "out first in a battle?$"
-
-gText_082BD18A:: @ 82BD18A
- .string "My {STR_VAR_1}?\n"
- .string "Understood!\p"
- .string "I can’t believe that you would bother\n"
- .string "to answer my questions so often!\p"
- .string "I’m so grateful that you would even\n"
- .string "speak with me… Thank you!$"
-
-gText_082BD222:: @ 82BD222
- .string "Oh, {PLAYER}{STRING 5}! It’s me!\n"
- .string "I’m so glad to see you because I have\l"
- .string "this little problem.\p"
- .string "I can’t decide how my POKéMON should\n"
- .string "be lined up. Could you decide for me?\p"
- .string "Oh, you don’t need to decide the whole\n"
- .string "party right now.\p"
- .string "How about deciding just the first\n"
- .string "POKéMON for me?$"
-
-gText_082BD325:: @ 82BD325
- .string "My {STR_VAR_1}? That’s great!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I’ll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082BD3B1:: @ 82BD3B1
- .string "Hi, my teacher {PLAYER}{STRING 5}!\n"
- .string "I’m busy again today!\p"
- .string "I have to do some cycling, shopping,\n"
- .string "and humming.\p"
- .string "I haven’t even had the time to decide\n"
- .string "how to line up my POKéMON team.\p"
- .string "So, how about checking out my team?\n"
- .string "Which one should go first?$"
-
-gText_082BD493:: @ 82BD493
- .string "Okay, gotcha.\n"
- .string "I have enough time at least to put\l"
- .string "my {STR_VAR_1} at the head of the line!\p"
- .string "Whoops, my girlfriend’s waiting!\n"
- .string "Thanks! See you around!$"
-
-gText_082BD51C:: @ 82BD51C
- .string "Yoohoo! Hiya, {PLAYER}!\n"
- .string "You always walk around looking tough!\p"
- .string "Listen, I need something from you\n"
- .string "again! It’s the usual thing!\p"
- .string "Drum roll, please!\n"
- .string "The question I have is about my team.\p"
- .string "Which POKéMON of mine should be first\n"
- .string "to go out in a battle?$"
-
-gText_082BD609:: @ 82BD609
- .string "Hmhm!\n"
- .string "My {STR_VAR_1}, you say!\l"
- .string "Thanks for a most cool answer!\p"
- .string "I guess that’s about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let’s meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082BD697:: @ 82BD697
- .string "Thank you so much for stopping to\n"
- .string "chat with me, {PLAYER}.\p"
- .string "I know I’m taking advantage of your\n"
- .string "kindness, but may I ask for advice?\p"
- .string "I would like you to decide on the order\n"
- .string "of my POKéMON team.\p"
- .string "It would please me if you could decide\n"
- .string "which POKéMON should come first.$"
-
-gText_082BD797:: @ 82BD797
- .string "My {STR_VAR_1} it is!\n"
- .string "I will put it first right away!\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082BD806:: @ 82BD806
- .string "Eek! {PLAYER}!\n"
- .string "I… I’m overjoyed to see you again!\p"
- .string "My POKéMON have become much\n"
- .string "stronger!\p"
- .string "But I don’t always win. It seems to\n"
- .string "depend on which POKéMON goes first.\p"
- .string "{PLAYER}, please, I need your help!\p"
- .string "Please decide which of my POKéMON\n"
- .string "should go out first!$"
-
-gText_082BD8F5:: @ 82BD8F5
- .string "Sigh… I’m overwhelmed with happiness…\p"
- .string "It’s like a dream having you decide\n"
- .string "for me, {PLAYER}.\p"
- .string "But perfectly understood!\n"
- .string "I will go with my {STR_VAR_1} first!\p"
- .string "I hope you’ll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082BD9BE:: @ 82BD9BE
- .string "Hello, hello!\n"
- .string "My mentor, {PLAYER}{STRING 5}!\l"
- .string "Hit me with your sage advice today!\p"
- .string "You see, I pulled together a team of\n"
- .string "three POKéMON. So far so good.\p"
- .string "But the team’s battling order’s not\n"
- .string "settled yet.\p"
- .string "This is where you come in, {PLAYER}{STRING 5}!\n"
- .string "You decide which POKéMON leads off!\p"
- .string "Don’t be shy now.\n"
- .string "Let’s blurt it out!$"
-
-gText_082BDAE1:: @ 82BDAE1
- .string "Uh-huh, my {STR_VAR_1} leads off!\n"
- .string "OK, A-OK!\l"
- .string "I’ll reorder the lineup, like, wham!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082BDB4E:: @ 82BDB4E
- .string "{PLAYER}{STRING 5}, listen!\n"
- .string "It’s a crisis!\p"
- .string "My POKéMON, all three of them, go into\n"
- .string "battle at once!\p"
- .string "Of course that’s impossible!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I’m not very good at thinking about\l"
- .string "how I should line up my POKéMON.\p"
- .string "So, how about deciding for me which\n"
- .string "POKéMON should go first, master?$"
-
-gText_082BDC6B:: @ 82BDC6B
- .string "Okay, so it’s my {STR_VAR_1} you chose?\n"
- .string "I’ll let any but that one go first!\p"
- .string "Just kidding!\n"
- .string "I’ll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you’ll keep teaching me!$"
-
-gText_082BDD0D:: @ 82BDD0D
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin’ SAILOR am I!\n"
- .string "I present to you a question\l"
- .string "that’s pretty fly!\p"
- .string "It’s a team lineup question\n"
- .string "that begs your suggestion!\p"
- .string "Out of this lot, which should go first\n"
- .string "as the first on the spot?$"
-
-gText_082BDDEC:: @ 82BDDEC
- .string "Okay, I hear you, sure I do!\n"
- .string "I’ll switch them up, that I’ll do!\p"
- .string "If it’s advice I ever need,\n"
- .string "{PLAYER}, your word I’ll always heed!$"
-
-gText_082BDE68:: @ 82BDE68
- .string "Yahoo, {PLAYER}!\n"
- .string "How do you do?\p"
- .string "What should I do? Go ahead and ask?\n"
- .string "Uh-huh, I have something to ask!\l"
- .string "Are you receiving me?\l"
- .string "You are receiving me!\p"
- .string "You have to decide, which of my\n"
- .string "POKéMON is the first to ride!\l"
- .string "Into battle, I mean to say.$"
-
-gText_082BDF4D:: @ 82BDF4D
- .string "My {STR_VAR_1}? Yes!\n"
- .string "That’ll do, there’s no distress!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don’t you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082BDFD8:: @ 82BDFD8
- .string "…Oof…ooch… {PLAYER}{STRING 5}…\n"
- .string "My stomach’s hurting all of a sudden…\p"
- .string "…It’s getting better now…\p"
- .string "I must’ve worried myself sick racking\n"
- .string "my brains on how I should line up\l"
- .string "my posse of POKéMON.\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me.\p"
- .string "{PLAYER}{STRING 5}, which of my POKéMON should\n"
- .string "go first? So I’d win, I mean.$"
-
-gText_082BE0FD:: @ 82BE0FD
- .string "Hm, all right.\n"
- .string "My {STR_VAR_1} goes first.\p"
- .string "I’ll fix the lineup like that after\n"
- .string "I have my supper.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082BE189:: @ 82BE189
- .string "Er… Um…\n"
- .string "{PLAYER}{STRING 5}?\p"
- .string "Please, don’t look at me that way.\n"
- .string "You’re making me feel all flustered.\p"
- .string "Um…\n"
- .string "I really need your advice.\p"
- .string "It makes me bashful to say this,\n"
- .string "but I chose my 3-POKéMON team.\l"
- .string "I can’t decide on the order, though.\p"
- .string "Which POKéMON should I send out first\n"
- .string "so I at least look capable?$"
-
-gText_082BE2A5:: @ 82BE2A5
- .string "Oh… Okay!\n"
- .string "I’ll lead with my {STR_VAR_1}.\p"
- .string "I hope I can do my best without\n"
- .string "getting all flustered.\p"
- .string "Thank you, {PLAYER}{STRING 5}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082BE33E:: @ 82BE33E
- .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
- .string "But are you really?\l"
- .string "Perhaps you’re a clever look-alike?\p"
- .string "Oh, no, no, no, don’t worry!\n"
- .string "If you really are {PLAYER}, please\l"
- .string "forget about my rudeness.\p"
- .string "What I would like is your fine advice.\p"
- .string "I have here my POKéMON team.\n"
- .string "I would like you to tell me which one\l"
- .string "should go first in a battle.$"
-
-gText_082BE46C:: @ 82BE46C
- .string "My {STR_VAR_1}…\n"
- .string "You aren’t pulling my leg?\p"
- .string "I see. If that’s the case, that’s fine.\n"
- .string "I thank you for your time.\p"
- .string "I am as you see, but I shall do\n"
- .string "my best.\p"
- .string "Let us meet again!$"
-
-gText_082BE50D:: @ 82BE50D
- .string "Snivel…\n"
- .string "Oh, {PLAYER}!\p"
- .string "What perfect timing!\n"
- .string "There’s something I just can’t decide…\p"
- .string "I can’t decide which POKéMON I should\n"
- .string "be using.\p"
- .string "I can’t decide between the POKéMON\n"
- .string "{STR_VAR_1} and {STR_VAR_2}…\p"
- .string "{PLAYER}, which do you think will give\n"
- .string "even me a chance at winning?$"
-
-gText_082BE5F5:: @ 82BE5F5
- .string "Snivel… I… I understand!\n"
- .string "Oh! I’m so sorry!\l"
- .string "You’ve made me so happy, I’m crying…\p"
- .string "I’ll do my best to catch one\n"
- .string "{STR_VAR_1}!\p"
- .string "Thank you so much!$"
-
-gText_082BE679:: @ 82BE679
- .string "Yay! It’s {PLAYER}!\n"
- .string "Yay, you came at the right time, too!\l"
- .string "I need your advice again!\p"
- .string "Um, I’m all mixed up--should I use\n"
- .string "my {STR_VAR_1} or {STR_VAR_2}…\p"
- .string "Which do you think I should raise,\n"
- .string "{PLAYER}?$"
-
-gText_082BE71E:: @ 82BE71E
- .string "Oh, so my {STR_VAR_1} is better!\n"
- .string "Okay, I’ll do that!\p"
- .string "Thanks for teaching me!$"
-
-gText_082BE762:: @ 82BE762
- .string "{PLAYER}, hello!\n"
- .string "I have a question I wanted to ask.\p"
- .string "I’m in a dilemma over whether I should\n"
- .string "raise one {STR_VAR_1} or {STR_VAR_2}.\p"
- .string "Which POKéMON do you think will\n"
- .string "be stronger?$"
-
-gText_082BE7F8:: @ 82BE7F8
- .string "{STR_VAR_1} is your choice?\n"
- .string "Okay, I got it!\p"
- .string "I’ll go catch a strong {STR_VAR_1}\n"
- .string "right away!\p"
- .string "See you again!$"
-
-gText_082BE850:: @ 82BE850
- .string "Hello, {PLAYER}…\p"
- .string "Um, you’ve probably already forgotten\n"
- .string "about someone like me…\p"
- .string "…But that doesn’t matter if you\n"
- .string "could give me advice…\p"
- .string "I can’t decide on the one kind of\n"
- .string "POKéMON I should raise…\p"
- .string "I’ve narrowed the field to the POKéMON\n"
- .string "{STR_VAR_1} and {STR_VAR_2}, but that’s\l"
- .string "where I became stuck…\p"
- .string "{PLAYER}, you probably don’t want to\n"
- .string "bother, but please decide for me.$"
-
-gText_082BE99C:: @ 82BE99C
- .string "But will a wild {STR_VAR_1} even pay\n"
- .string "attention to me?\p"
- .string "I will try!\p"
- .string "But will I even be able to catch one…\n"
- .string "No! I’ll do my best!\p"
- .string "Thank you!$"
-
-gText_082BEA1B:: @ 82BEA1B
- .string "Oh, {PLAYER}{STRING 5}! I’m so glad to see you!\n"
- .string "I was about to go looking for you!\p"
- .string "Can you decide what kind of POKéMON\n"
- .string "I should use?\p"
- .string "For instance…\n"
- .string "How about the POKéMON {STR_VAR_1}\l"
- .string "and {STR_VAR_2}?\p"
- .string "Which one do you think would be\n"
- .string "better?$"
-
-gText_082BEAE9:: @ 82BEAE9
- .string "{STR_VAR_1}? That’s great!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I’ll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082BEB72:: @ 82BEB72
- .string "If it isn’t {PLAYER}{STRING 5}! How’s it going?\n"
- .string "I’m busy again as always!\p"
- .string "I want to do good with POKéMON, too,\n"
- .string "but I haven’t been able to decide\l"
- .string "which POKéMON I should use.\p"
- .string "You know how {STR_VAR_1} look strong?\n"
- .string "But {STR_VAR_2} are tough to ignore.\p"
- .string "{PLAYER}{STRING 5}, give me some of your good\n"
- .string "advice! Which one’d be good for me?$"
-
-gText_082BEC8E:: @ 82BEC8E
- .string "Okay, gotcha.\n"
- .string "I’ll find time somehow and catch me\l"
- .string "that {STR_VAR_1} you recommended.\p"
- .string "I’m glad I met a good mentor in you.\n"
- .string "Thanks! See you around!$"
-
-gText_082BED16:: @ 82BED16
- .string "Oh!\n"
- .string "Yay, it’s {PLAYER}!\p"
- .string "I didn’t waste any time boasting to\n"
- .string "my friends about meeting you!\p"
- .string "I need to tap your mind again today.\n"
- .string "It’s an easy one for you!\p"
- .string "Drum roll, please!\n"
- .string "The question I have is…\p"
- .string "If I were to raise a POKéMON,\n"
- .string "and the choices were one {STR_VAR_1}\l"
- .string "or {STR_VAR_2}, which should it be?$"
-
-gText_082BEE29:: @ 82BEE29
- .string "Ahhh!\n"
- .string "{STR_VAR_1}, you say!\l"
- .string "Thanks for a most cool answer!\p"
- .string "I guess that’s about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let’s meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082BEEB4:: @ 82BEEB4
- .string "Oh, is it you, {PLAYER}?\n"
- .string "I’m delighted to see you again!\p"
- .string "Ever since I became your apprentice,\n"
- .string "my confidence has been blooming.\p"
- .string "I think I’m ready to raise a POKéMON\n"
- .string "of my own!\p"
- .string "{PLAYER}, may I impose on you to choose\n"
- .string "which POKéMON I should raise?\p"
- .string "The choices are the POKéMON\n"
- .string "{STR_VAR_1} or {STR_VAR_2}…\l"
- .string "Which POKéMON is right for me?$"
-
-gText_082BEFE2:: @ 82BEFE2
- .string "One {STR_VAR_1} it is!\n"
- .string "I will find one right away!\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082BF04E:: @ 82BF04E
- .string "Eek! {PLAYER}! I met you again!\n"
- .string "I… I’m overjoyed!\p"
- .string "Oh-oh-oh, I know!\n"
- .string "I shouldn’t pass up this opportunity!\p"
- .string "May I ask a huge favor, {PLAYER}?\n"
- .string "Please choose a POKéMON for me!\p"
- .string "Please decide which would be better,\n"
- .string "{STR_VAR_1} or {STR_VAR_2}!$"
-
-gText_082BF11D:: @ 82BF11D
- .string "Wow! You decided for me!\n"
- .string "One {STR_VAR_1} is what I’ll raise to\l"
- .string "the best of my ability.\p"
- .string "I hope you’ll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082BF1A8:: @ 82BF1A8
- .string "Hey, hey!\n"
- .string "My mentor, {PLAYER}{STRING 5}!\p"
- .string "Hello, I’ve been looking for you\n"
- .string "for some more of your sage advice!\p"
- .string "Which kind of POKéMON would be right\n"
- .string "for me, one {STR_VAR_1} or {STR_VAR_2}?\p"
- .string "Don’t be shy now.\n"
- .string "Let’s blurt it out!$"
-
-gText_082BF268:: @ 82BF268
- .string "Uh-huh, one {STR_VAR_1} it is!\n"
- .string "OK, A-OK!\l"
- .string "I’ll get one in a BALL, like, cram!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082BF2D1:: @ 82BF2D1
- .string "{PLAYER}{STRING 5}, listen! Big news!\n"
- .string "I caught a mirage POKéMON!\p"
- .string "Of course I’m lying!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I’m not very good at catching\l"
- .string "POKéMON.\p"
- .string "So, how about deciding for me which\n"
- .string "kind of POKéMON I should catch,\l"
- .string "master?\p"
- .string "Which would be better?\n"
- .string "{STR_VAR_1} or {STR_VAR_2}?$"
-
-gText_082BF3CF:: @ 82BF3CF
- .string "Okay, so it’s {STR_VAR_1} you chose?\n"
- .string "I’ll grab the other kind, then!\p"
- .string "Just kidding!\n"
- .string "I’ll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you’ll keep teaching me!$"
-
-gText_082BF46A:: @ 82BF46A
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin’ SAILOR am I!\n"
- .string "Surely you remember who am I?\p"
- .string "Today, I have a POKéMON question\n"
- .string "that begs your suggestion!\p"
- .string "I have the choice between this\n"
- .string "{STR_VAR_1} and {STR_VAR_2}, you see.\l"
- .string "Which is the one to catch for me?$"
-
-gText_082BF551:: @ 82BF551
- .string "{STR_VAR_1}, you say, hey, hey!\n"
- .string "I’ll go get me one right away!\p"
- .string "If it’s advice I ever need,\n"
- .string "{PLAYER}, your word I’ll always heed!$"
-
-gText_082BF5C3:: @ 82BF5C3
- .string "Oh, wow, if it isn’t {PLAYER}!\p"
- .string "What should I do? Get your advice?\n"
- .string "Why not? I’m already talking to you!\p"
- .string "It’s been a long time. Let me break\n"
- .string "the ice. I’m also looking for advice!\l"
- .string "Are you receiving me?\l"
- .string "You are receiving me!\p"
- .string "My POKéMON--which should I use?\n"
- .string "It’s either {STR_VAR_1} or {STR_VAR_2}.\l"
- .string "Which do you choose?$"
-
-gText_082BF6E5:: @ 82BF6E5
- .string "If that {STR_VAR_1} is the best,\n"
- .string "I’ll do as you suggest!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don’t you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082BF773:: @ 82BF773
- .string "Oh, hi, {PLAYER}{STRING 5}…\n"
- .string "I have this horrible headache…\p"
- .string "I must’ve worried too much about\n"
- .string "the kind of POKéMON I should raise.\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me.\p"
- .string "{PLAYER}{STRING 5}, if I had to choose between\n"
- .string "the POKéMON {STR_VAR_1} and\l"
- .string "{STR_VAR_2}, which should it be?$"
-
-gText_082BF869:: @ 82BF869
- .string "Hm, one {STR_VAR_1}, all right.\n"
- .string "I’ll go look for one when I get better.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082BF8DD:: @ 82BF8DD
- .string "Er… Um…\n"
- .string "{PLAYER}{STRING 5}…?\p"
- .string "Please, don’t look at me that way.\n"
- .string "I’m getting all flustered…\l"
- .string "I… I need your advice.\p"
- .string "I… I’m really embarrassed, but I can’t\n"
- .string "decide which POKéMON to use.\p"
- .string "If the choices were {STR_VAR_1} or\n"
- .string "{STR_VAR_2}, which would be better?$"
-
-gText_082BF9BA:: @ 82BF9BA
- .string "Oh… Okay!\n"
- .string "I’ll do my best with one {STR_VAR_1}.\p"
- .string "I hope I can do my best without\n"
- .string "getting all flustered.\p"
- .string "Thank you, {PLAYER}{STRING 5}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082BFA5A:: @ 82BFA5A
- .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
- .string "But are you really real?\p"
- .string "No, no, if you are real, it’s fine.\n"
- .string "Incidentally, I would like to obtain\l"
- .string "your advice.\p"
- .string "It’s about the POKéMON I am to use.\p"
- .string "If the choices are the POKéMON\n"
- .string "{STR_VAR_1} and {STR_VAR_2}, which is\l"
- .string "more worthy of me?$"
-
-gText_082BFB4E:: @ 82BFB4E
- .string "{STR_VAR_1}?\n"
- .string "Are you certain?\p"
- .string "I see. If that’s the case, that’s fine.\n"
- .string "I thank you for your time.\p"
- .string "I do hope it is something even I can\n"
- .string "handle with aplomb.\p"
- .string "Let us meet again!$"
-
-gText_082BFBF2:: @ 82BFBF2
- .string "Waaah! Oh, {PLAYER}!\n"
- .string "Snivel… Hiccup…\p"
- .string "I have a dilemma!\n"
- .string "I can’t decide on a move for\l"
- .string "my {STR_VAR_1}…\p"
- .string "Please, please, {PLAYER}.\n"
- .string "Can you decide for me?\p"
- .string "For my {STR_VAR_1}, which move would\n"
- .string "be the better choice: {STR_VAR_2}\l"
- .string "or {STR_VAR_3}?$"
-
-gText_082BFCAE:: @ 82BFCAE
- .string "{STR_VAR_1}?\n"
- .string "Waaaaah!\p"
- .string "Oh! I’m so sorry, {PLAYER}!\n"
- .string "You’ve made me so happy by deciding\l"
- .string "the move, I’m crying…\p"
- .string "Snivel…\n"
- .string "Thank you so much!$"
-
-gText_082BFD26:: @ 82BFD26
- .string "Yay! Hi, {PLAYER}!\n"
- .string "I need your advice again!\p"
- .string "I want to teach my {STR_VAR_1}\n"
- .string "a cool move.\p"
- .string "I like either of the moves\n"
- .string "{STR_VAR_2} or {STR_VAR_3}.\l"
- .string "What’s your recommendation?$"
-
-gText_082BFDB1:: @ 82BFDB1
- .string "{STR_VAR_1} is better? I guess so!\n"
- .string "Okay, I’ll go with that!\p"
- .string "If we meet here again, please teach\n"
- .string "me something else, teacher!$"
-
-gText_082BFE24:: @ 82BFE24
- .string "{PLAYER}, hello!\n"
- .string "It’s about my {STR_VAR_1}, but I’m\l"
- .string "worried about its moves.\p"
- .string "You see, it’s the moves {STR_VAR_2}\n"
- .string "and {STR_VAR_3}.\p"
- .string "Which is stronger and better for\n"
- .string "my {STR_VAR_1}?$"
-
-gText_082BFEAD:: @ 82BFEAD
- .string "{STR_VAR_1} is your choice?\n"
- .string "Okay, I got it!\p"
- .string "I’ll go teach {STR_VAR_1} to\n"
- .string "my POKéMON right away!\p"
- .string "See you again!$"
-
-gText_082BFF0A:: @ 82BFF0A
- .string "Ohhh, {PLAYER}…\n"
- .string "I’m hopeless, no, really!\p"
- .string "I’ve decided to raise a POKéMON,\n"
- .string "but now I can’t even decide what\l"
- .string "move I should let it learn…\p"
- .string "I know that it doesn’t mean anything\n"
- .string "to you, {PLAYER}.\p"
- .string "But it means a lot to me…\p"
- .string "Please, {PLAYER}, could you choose\n"
- .string "a move for my {STR_VAR_1}?\p"
- .string "If you could even choose between\n"
- .string "{STR_VAR_2} and {STR_VAR_3}…$"
-
-gText_082C0032:: @ 82C0032
- .string "I understand!\p"
- .string "But will it even be willing to learn\n"
- .string "{STR_VAR_1} for me…\l"
- .string "No! I’ll do my best!\p"
- .string "Thank you!$"
-
-gText_082C0090:: @ 82C0090
- .string "Oh, {PLAYER}{STRING 5}!\n"
- .string "I was just hoping to see you, too!\p"
- .string "I was wondering what move would\n"
- .string "be suitable for my {STR_VAR_1}.\p"
- .string "I can’t decide, so can you decide\n"
- .string "for me instead?\p"
- .string "For instance… How about the moves\n"
- .string "{STR_VAR_2} and {STR_VAR_3}?\l"
- .string "Which one would be better?$"
-
-gText_082C016E:: @ 82C016E
- .string "{STR_VAR_1}? That’s great!\p"
- .string "Knowing that you made the decision,\n"
- .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
- .string "I lose.\p"
- .string "Okay, I’ll look to you for advice again.\n"
- .string "Bye!$"
-
-gText_082C01F7:: @ 82C01F7
- .string "How could things be this busy?\n"
- .string "Hey, if it isn’t {PLAYER}{STRING 5}!\l"
- .string "How’s it going?\p"
- .string "Since I got up this morning, I’ve done\n"
- .string "my jogging, swimming, and cooking!\p"
- .string "You wouldn’t believe how busy I am!\p"
- .string "I can’t even decide what move\n"
- .string "my {STR_VAR_1} should learn!\p"
- .string "{STR_VAR_2} looks good, huh?\n"
- .string "But {STR_VAR_3}’s also decent.\p"
- .string "{PLAYER}{STRING 5}, give me some of your good\n"
- .string "advice! Which move’d be good for me?$"
-
-gText_082C034C:: @ 82C034C
- .string "Okay, gotcha.\n"
- .string "I’ll make room in my schedule and\l"
- .string "teach that move.\p"
- .string "I’m glad I met a good mentor in you.\n"
- .string "Thanks! See you around!$"
-
-gText_082C03CA:: @ 82C03CA
- .string "Oh! Lucky!\n"
- .string "I met you again, {PLAYER}!\l"
- .string "I need to tap your mind again today.\p"
- .string "Drum roll, please!\n"
- .string "The question I have is…\p"
- .string "For my {STR_VAR_1}, which is the move\n"
- .string "best suited, {STR_VAR_2} or\l"
- .string "{STR_VAR_3}?$"
-
-gText_082C046E:: @ 82C046E
- .string "Ahhh!\n"
- .string "{STR_VAR_1}, you say!\l"
- .string "Thanks for a most cool answer!\p"
- .string "I guess that’s about all I wanted\n"
- .string "to ask you today.\p"
- .string "Let’s meet here again, okay?\n"
- .string "Thanks!$"
-
-gText_082C04F9:: @ 82C04F9
- .string "Oh, hello, {PLAYER}.\n"
- .string "I trust you’ve been well?\p"
- .string "I have to seek your advice again.\n"
- .string "It’s about my dearest {STR_VAR_1}.\p"
- .string "What would be the ideal move for\n"
- .string "my lovable {STR_VAR_1}?\l"
- .string "{STR_VAR_2} or {STR_VAR_3}?$"
-
-gText_082C0598:: @ 82C0598
- .string "{STR_VAR_1} it is!\n"
- .string "I will teach that right away!\p"
- .string "Thank you, {PLAYER}.\n"
- .string "I hope I can count on you again.\l"
- .string "Please take care!$"
-
-gText_082C0602:: @ 82C0602
- .string "Eek! {PLAYER}! I met you again!\n"
- .string "I… I’m overjoyed!\p"
- .string "Whenever I’m in need, you’re always\n"
- .string "there for me, {PLAYER}!\p"
- .string "Today, I want you to recommend\n"
- .string "a move for me!\p"
- .string "Please choose a move for\n"
- .string "my {STR_VAR_1}!\p"
- .string "Which move would be better,\n"
- .string "{STR_VAR_2} or {STR_VAR_3}?$"
-
-gText_082C06D8:: @ 82C06D8
- .string "Oh-oh-oh! Thank you!\n"
- .string "{STR_VAR_1} is it!\l"
- .string "Perfectly understood!\p"
- .string "I hope you’ll be willing to teach me\n"
- .string "some more another time.$"
-
-gText_082C074A:: @ 82C074A
- .string "Hola, {PLAYER}{STRING 5}, bueno!\n"
- .string "I’m hoping for some more of\l"
- .string "your sage advice today!\p"
- .string "What would be the best move for\n"
- .string "my {STR_VAR_1}?\p"
- .string "It should be something that’ll\n"
- .string "let me win just like that!\p"
- .string "Would it be {STR_VAR_2}?\n"
- .string "Or {STR_VAR_3}?$"
-
-gText_082C0809:: @ 82C0809
- .string "Uh-huh, {STR_VAR_1} it is!\n"
- .string "Si, bueno!\l"
- .string "I’ll get it taught, like, ka-blam!\p"
- .string "All right, thanks, as always!\n"
- .string "Adios!$"
-
-gText_082C086E:: @ 82C086E
- .string "{PLAYER}{STRING 5}, it’s completely wild!\p"
- .string "My POKéMON!\n"
- .string "It learned six moves!\p"
- .string "Of course I’m lying!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I’m not very good at choosing moves\l"
- .string "for my POKéMON.\p"
- .string "So, how about deciding for me which\n"
- .string "kind of move I should teach?\p"
- .string "{STR_VAR_2} or {STR_VAR_3}--which\n"
- .string "would go with my {STR_VAR_1} best?$"
-
-gText_082C0982:: @ 82C0982
- .string "Okay, so it’s {STR_VAR_1} you chose?\n"
- .string "I’ll choose another move, then!\p"
- .string "Just kidding!\n"
- .string "I’ll obey your teaching, master!\p"
- .string "Thanks, master!\n"
- .string "I hope you’ll keep teaching me!$"
-
-gText_082C0A1D:: @ 82C0A1D
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin’ SAILOR am I!\n"
- .string "I’m always with it, don’t ask me why.\p"
- .string "Today, I have a move question\n"
- .string "that begs your suggestion!\p"
- .string "{STR_VAR_2} and {STR_VAR_3} are\n"
- .string "the moves. What would be the best\l"
- .string "for my {STR_VAR_1} so it grooves?$"
-
-gText_082C0AFD:: @ 82C0AFD
- .string "{STR_VAR_1}, you say, hey, hey!\n"
- .string "I’ll go teach that right away!\p"
- .string "If it’s advice I ever need,\n"
- .string "{PLAYER}, your word I’ll always heed!$"
-
-gText_082C0B6F:: @ 82C0B6F
- .string "Oh, yeahah, if it isn’t {PLAYER}!\p"
- .string "What should I do? Get your advice?\n"
- .string "Why not? I’m already talking to you!\p"
- .string "{PLAYER}, are you surprised by me?\n"
- .string "I want your advice, can’t you see?\p"
- .string "Are you receiving me?\n"
- .string "You are receiving me!\p"
- .string "My {STR_VAR_1}--what should it use?\n"
- .string "It’s {STR_VAR_2} or {STR_VAR_3},\l"
- .string "what do you choose?$"
-
-gText_082C0C7D:: @ 82C0C7D
- .string "If that {STR_VAR_1} is the best,\n"
- .string "I’ll do as you suggest!\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don’t you forget about me.\p"
- .string "See you again, my smart friend!$"
-
-gText_082C0D0B:: @ 82C0D0B
- .string "Gahack! Gaah! Oh, {PLAYER}{STRING 5}…\n"
- .string "I have this lousy cold, I do…\p"
- .string "I want to pick a move for my POKéMON,\n"
- .string "but I’m not up to it…\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me.\p"
- .string "{PLAYER}{STRING 5}, if I had to choose between\n"
- .string "{STR_VAR_2} and {STR_VAR_3} for\l"
- .string "my {STR_VAR_1}, which would it be?$"
-
-gText_082C0DFE:: @ 82C0DFE
- .string "Hm, {STR_VAR_1}, all right. Cough!\n"
- .string "I’ll go teach it when I get better.\p"
- .string "I hope I can keep hitting you up\n"
- .string "for help like this.$"
-
-gText_082C0E71:: @ 82C0E71
- .string "Er… Um…\n"
- .string "{PLAYER}{STRING 5}…?\p"
- .string "Please, don’t look at me that way.\n"
- .string "I’m getting all flustered…\l"
- .string "I… I need your advice.\p"
- .string "I… I’m really embarrassed, but I can’t\n"
- .string "decide what move I should teach\l"
- .string "my POKéMON.\p"
- .string "It’s for my {STR_VAR_1}.\n"
- .string "If the choices were {STR_VAR_2} or\l"
- .string "{STR_VAR_3}, which would be better?$"
-
-gText_082C0F6D:: @ 82C0F6D
- .string "Oh… Okay!\n"
- .string "I’ll try that {STR_VAR_1}.\p"
- .string "I hope I can teach that move…\n"
- .string "This is so nerve-racking…\p"
- .string "Thank you, {PLAYER}{STRING 5}.\n"
- .string "If we meet again, I hope you will be\l"
- .string "as helpful.$"
-
-gText_082C1003:: @ 82C1003
- .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
- .string "But are you really real?\p"
- .string "Perhaps you’re one of those popular\n"
- .string "mimics?\p"
- .string "No, no, if you are real, it’s fine.\n"
- .string "No need to be upset, I assure you!\p"
- .string "Incidentally, I would like to obtain\n"
- .string "your advice.\p"
- .string "It’s about my {STR_VAR_1}.\p"
- .string "Which move would be better for it to\n"
- .string "use, {STR_VAR_2} or {STR_VAR_3}?$"
-
-gText_082C1122:: @ 82C1122
- .string "{STR_VAR_1}?\n"
- .string "There’s no question about that?\p"
- .string "I see. If that’s the case, that’s fine.\n"
- .string "I thank you for your time.\p"
- .string "I do hope it is something even\n"
- .string "my POKéMON can learn.\p"
- .string "Let us meet again!$"
-
-gText_082C11D1:: @ 82C11D1
- .string "Oh… {PLAYER}?\n"
- .string "It is {PLAYER}!\l"
- .string "Oh! Sniff…sob… Please, listen!\p"
- .string "I… When I battle, I get so nervous,\n"
- .string "I can’t help crying even if I win…\p"
- .string "I wish I could say something cool\n"
- .string "when I win…\p"
- .string "Please, please, {PLAYER}!\n"
- .string "Could you maybe teach me something\l"
- .string "cool to say when I win so I don’t cry?$"
-
-gText_082C12D5:: @ 82C12D5
- .string "{STR_VAR_1}\p"
- .string "Awesome! Wicked! Awoooh!\n"
- .string "It’s really cool!\p"
- .string "Oh… I’m sorry…\n"
- .string "I’m so happy, I’m crying…\p"
- .string "Snivel… {PLAYER}!\n"
- .string "Thank you so much for everything!\p"
- .string "I will battle the best I can for\n"
- .string "your sake, {PLAYER}!\p"
- .string "{PLAYER}…\n"
- .string "Next time… We should battle!$"
-
-gText_082C13AB:: @ 82C13AB
- .string "Yay! It’s {PLAYER}! Hello!\n"
- .string "I wanted to ask you something!\p"
- .string "I want to say something cool when\n"
- .string "I win a match.\p"
- .string "Do you have a cool saying that\n"
- .string "you could recommend?$"
-
-gText_082C1444:: @ 82C1444
- .string "{STR_VAR_1}\p"
- .string "Oh, wow! That is so cool!\n"
- .string "Okay, I’ll say that!\p"
- .string "Thanks for teaching me all this time!\n"
- .string "I’m going to do the best I can\l"
- .string "wherever I go from now on!\p"
- .string "When we meet again, it’ll be for\n"
- .string "a battle!$"
-
-gText_082C1501:: @ 82C1501
- .string "{PLAYER}, hello!\p"
- .string "My POKéMON and I are ready for\n"
- .string "anything, except for one thing.\p"
- .string "I think it would be good if I had\n"
- .string "something to shout when I win.\p"
- .string "Could you think up something good\n"
- .string "to say?$"
-
-gText_082C15B6:: @ 82C15B6
- .string "{STR_VAR_1}\p"
- .string "…Cool!\n"
- .string "I will use that!\p"
- .string "I’m going out to battle all over\n"
- .string "the place.\p"
- .string "Who knows, I may even get to battle\n"
- .string "you one day, {PLAYER}.\p"
- .string "Next time, let’s meet at a place\n"
- .string "of battle!$"
-
-gText_082C165E:: @ 82C165E
- .string "Hello, {PLAYER}…\n"
- .string "I’m sorry to bug you, but I’m hopeless…\p"
- .string "Even when…\n"
- .string "Even when I win, I don’t have anything\l"
- .string "special to say…\p"
- .string "I know that it doesn’t mean anything\n"
- .string "to you, {PLAYER}.\p"
- .string "But it means a lot to me…\p"
- .string "Please, {PLAYER}, what should I say\n"
- .string "if I win a battle?$"
-
-gText_082C174F:: @ 82C174F
- .string "{STR_VAR_1}\p"
- .string "That’s inspired…\p"
- .string "Uh… Is it okay for someone like me\n"
- .string "to even say that?\p"
- .string "No! I’ll do my best!\p"
- .string "{PLAYER}, thank you so much for\n"
- .string "putting up with me for so long…\p"
- .string "I promise to do my best from now on.\p"
- .string "I’m sure you’ll quickly forget about\n"
- .string "someone like me, but let’s meet\l"
- .string "somewhere again!$"
-
-gText_082C1862:: @ 82C1862
- .string "Oh, {PLAYER}{STRING 5}.\n"
- .string "There’s something I want you to hear.\p"
- .string "I know that I don’t always sound\n"
- .string "nice or polite…\p"
- .string "When I win a battle, I think I come\n"
- .string "across as being arrogant.\p"
- .string "I don’t want people to dislike me,\n"
- .string "so I want to say something nice to\l"
- .string "someone I beat.\p"
- .string "But I can’t think of anything good!\n"
- .string "Could you think something up for me?$"
-
-gText_082C19A0:: @ 82C19A0
- .string "{STR_VAR_1}\p"
- .string "Not bad!\n"
- .string "Yup, that’s what I’ll go with!\p"
- .string "I’m going to hit the road and do what\n"
- .string "I can with what you taught me in\l"
- .string "my head and heart.\p"
- .string "I’m sorry that I’ve been so pushy\n"
- .string "with you!\p"
- .string "Next time, we battle, okay?\n"
- .string "See you!$"
-
-gText_082C1A76:: @ 82C1A76
- .string "Oh, I can’t get over how busy I am!\n"
- .string "Oh, hey, I was looking for you, {PLAYER}{STRING 5}.\p"
- .string "Are you well as usual?\n"
- .string "Things haven’t changed for me at all.\p"
- .string "I’ve got running, fighting, and mapping\n"
- .string "to do. Why am I so busy?\p"
- .string "But even though I’m busy, it’d be rude\n"
- .string "to just turn on my heels and walk away\l"
- .string "from a win without saying a word.\p"
- .string "So, what would be a cool saying to\n"
- .string "underline my coolness when I’m done\l"
- .string "and walking away? {PLAYER}{STRING 5}, help me!$"
-
-gText_082C1C16:: @ 82C1C16
- .string "{STR_VAR_1}\p"
- .string "Okay, gotcha.\n"
- .string "I can find time to say that!\p"
- .string "Honestly, I’m glad I met a good mentor\n"
- .string "like you.\p"
- .string "I’m going to make time somehow so\n"
- .string "I can get into battling.\p"
- .string "Thanks for everything, {PLAYER}{STRING 5}!\n"
- .string "We have to battle, you and me, one day!$"
-
-gText_082C1CF5:: @ 82C1CF5
- .string "I lucked out again!\n"
- .string "{PLAYER}! Am I glad to see you!\l"
- .string "Like usual, I need your advice!\p"
- .string "Drum roll, please!\n"
- .string "The last question I have is…\p"
- .string "If I win a battle and want to end\n"
- .string "it with a cool flourish, what\l"
- .string "should I say?$"
-
-gText_082C1DC1:: @ 82C1DC1
- .string "{STR_VAR_1}\p"
- .string "That… That’s fabulous!\n"
- .string "It’s dignified and cool! I claim it!\p"
- .string "…Listen, I think I’m getting decent\n"
- .string "at this, huh?\p"
- .string "So, I’m thinking of challenging other\n"
- .string "TRAINERS from now on.\p"
- .string "{PLAYER}, your advice really helped me.\p"
- .string "Maybe one day, there’ll be a time when\n"
- .string "we battle!\p"
- .string "Thank you for everything!$"
-
-gText_082C1EDC:: @ 82C1EDC
- .string "Oh, {PLAYER}.\n"
- .string "I’m so glad I met you!\p"
- .string "I no longer have any concerns with\n"
- .string "regard to my POKéMON.\p"
- .string "It’s myself that worries me…\p"
- .string "Do you know how a TRAINER says\n"
- .string "a few things upon winning a battle?\p"
- .string "Definitely, I wish I could do that,\n"
- .string "too!\p"
- .string "Please, what should I say when\n"
- .string "I win a battle?$"
-
-gText_082C1FEC:: @ 82C1FEC
- .string "{STR_VAR_1}\p"
- .string "Ah! That saying! It refreshes me\n"
- .string "and makes me feel reborn!\p"
- .string "I must use that right away!\p"
- .string "And now, I must take my leave,\n"
- .string "{PLAYER}…\p"
- .string "I will go out to battle many others,\n"
- .string "but never will I forget your teachings.\p"
- .string "Perhaps one day…\n"
- .string "Farewell!$"
-
-gText_082C20D1:: @ 82C20D1
- .string "Eek! I spotted {PLAYER}!\n"
- .string "I… I’m overjoyed to see you!\p"
- .string "Oh-oh-oh! There’s something I just\n"
- .string "had to ask you!\p"
- .string "A little while ago, I won a battle.\n"
- .string "That part was giddying!\p"
- .string "But it made me so overjoyed that\n"
- .string "I choked up and couldn’t say a thing!\p"
- .string "So now, {PLAYER}, please, I want you to\n"
- .string "think up an exit line for when I win!$"
-
-gText_082C21FF:: @ 82C21FF
- .string "{STR_VAR_1}\p"
- .string "Waaaaah!\n"
- .string "I’m going to say that?!\l"
- .string "I… I’m delirious with joy!\p"
- .string "Th-th-thank you!\n"
- .string "I have nothing left to regret now!\p"
- .string "I’m going to travel now and battle\n"
- .string "all sorts of people.\p"
- .string "Everything, I owe it to you, {PLAYER}.\n"
- .string "Really, really, thank you!\p"
- .string "I’ve got to go now, but let’s meet\n"
- .string "in battle one day!$"
-
-gText_082C231C:: @ 82C231C
- .string "Hola, bueno!\n"
- .string "{PLAYER}{STRING 5}!\p"
- .string "You know, I’m getting the itch to roam\n"
- .string "and battle where I may.\p"
- .string "But before I do, I want your advice\n"
- .string "once again, please!\p"
- .string "If I were to win a battle, what would\n"
- .string "be a good boast I could say to my\l"
- .string "fallen TRAINER opponent?$"
-
-gText_082C2407:: @ 82C2407
- .string "{STR_VAR_1}\p"
- .string "Uh-huh, that’s sweet!\n"
- .string "Si, bueno!\l"
- .string "I’ll try saying that, like, ham!\p"
- .string "And now, it’s time to say good-bye!\n"
- .string "Thanks for all sorts of things!\p"
- .string "Give me a battle one day, OK?\n"
- .string "Adios!$"
-
-gText_082C24B5:: @ 82C24B5
- .string "{PLAYER}{STRING 5}, there’s big trouble!\p"
- .string "When I win a battle, I brag about it\n"
- .string "for an hour at least!\p"
- .string "Of course I’m lying!\n"
- .string "Wahahaha!\p"
- .string "This is no lie, though.\n"
- .string "I’m not very good at chatting.\p"
- .string "So, how about deciding for me what\n"
- .string "I should say after winning a battle,\l"
- .string "master?$"
-
-gText_082C25B1:: @ 82C25B1
- .string "{STR_VAR_1}\p"
- .string "That’s what I should say, huh?\n"
- .string "Then, I’ll stay away from that!\p"
- .string "Just kidding!\n"
- .string "I’ll obey your teaching, master!\p"
- .string "Thanks for teaching me all this time,\n"
- .string "master!\p"
- .string "I’m finally understanding what being\n"
- .string "a TRAINER is about.\p"
- .string "I’m going to go out and win battles\n"
- .string "against any TRAINER.\p"
- .string "Maybe it’ll be you one day, master!\p"
- .string "That’s all!\n"
- .string "Farewell, my master!$"
-
-gText_082C2707:: @ 82C2707
- .string "A-H-O-Y!\n"
- .string "And that spells ahoy!\p"
- .string "The rappin’ SAILOR am I!\n"
- .string "This will be my last question,\l"
- .string "don’t you cry!\p"
- .string "It’s a saying question\n"
- .string "that begs your suggestion!\p"
- .string "If I win a match, what can I say\n"
- .string "in a real cool way?$"
-
-gText_082C27D4:: @ 82C27D4
- .string "{STR_VAR_1}\p"
- .string "Perfect! That’s what I’ll use.\n"
- .string "I was right to make you choose!\p"
- .string "And now, I think it’d be best,\n"
- .string "if I were to fly the nest!\p"
- .string "Thanks for all you taught me.\n"
- .string "I’ll be off on a battle spree!\p"
- .string "B-O-N-V-O-Y-A-G-E!\n"
- .string "And that spells bon voyage,\l"
- .string "to you this is my homage!$"
-
-gText_082C28D6:: @ 82C28D6
- .string "Oh, yeah, {PLAYER}!\n"
- .string "I found you again today!\p"
- .string "What should I do? Ask you again?\n"
- .string "Why not? I’m already asking you!\p"
- .string "Anyways, {PLAYER}…\n"
- .string "Are you receiving me?\l"
- .string "You are receiving me!\l"
- .string "I need some more advice for me!\p"
- .string "It’s about what I should yell.\n"
- .string "Something cool to holler when\l"
- .string "a battle ends well.\p"
- .string "Come on, I wanna hear you say it!$"
-
-gText_082C2A0B:: @ 82C2A0B
- .string "{STR_VAR_1}\p"
- .string "All right, all right!\n"
- .string "I’ll use that because it’s so tight!\p"
- .string "I’m out of things to ask you.\n"
- .string "Waving bye is all that’s left to do.\p"
- .string "But maybe one day we’ll meet, with one\n"
- .string "destined to go down in defeat.\p"
- .string "But, it really is time to say farewell.\p"
- .string "Well, {PLAYER}, I have to roam free,\n"
- .string "but don’t you forget about me!\p"
- .string "Take care, {PLAYER}!\n"
- .string "Love ya!$"
-
-gText_082C2B50:: @ 82C2B50
- .string "{PLAYER}{STRING 5}, I’m finished…\n"
- .string "My nose won’t stop dripping…\p"
- .string "I was trying to think up something\n"
- .string "cool to say when I win a battle.\p"
- .string "It inspired me so much, it made me cry,\n"
- .string "and now my nose won’t stop running…\p"
- .string "So, things being this way,\n"
- .string "I need you to decide for me, {PLAYER}{STRING 5}.\p"
- .string "When I win a battle,\n"
- .string "what should I say?$"
-
-gText_082C2C77:: @ 82C2C77
- .string "{STR_VAR_1}\p"
- .string "… … …That’s good.\n"
- .string "No, it’s awe inspiring!\l"
- .string "It’s bringing fresh tears to my eyes!\p"
- .string "But in spite of my tears and runny\n"
- .string "nose, I will use that saying!\p"
- .string "I’m plumb out of things to ask you,\n"
- .string "{PLAYER}{STRING 5}.\p"
- .string "From now on, we’re rivals!\n"
- .string "Thanks for everything!$"
-
-gText_082C2D67:: @ 82C2D67
- .string "Er… Um…\n"
- .string "{PLAYER}{STRING 5}…\p"
- .string "Please, don’t look at me that way.\n"
- .string "You’re making me all nervous.\p"
- .string "I… I need your advice again.\n"
- .string "I’ll make it my last, though…\p"
- .string "It’s really embarrassing to ask,\n"
- .string "but what if I win a battle?\l"
- .string "What should I say?$"
-
-gText_082C2E41:: @ 82C2E41
- .string "{STR_VAR_1}\p"
- .string "Oh… Okay!\n"
- .string "I’ll try to say that!\l"
- .string "I might be too nervous to say it…\p"
- .string "Thank you, {PLAYER}{STRING 5}.\n"
- .string "I have to say good-bye now.\p"
- .string "I’ll obey all that you’ve taught me,\n"
- .string "{PLAYER}{STRING 5}, and do the best I can.$"
-
-gText_082C2EF5:: @ 82C2EF5
- .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
- .string "But are you really?\l"
- .string "Perhaps a clever {PLAYER} DOLL?\p"
- .string "Oh, no, no, no, don’t worry!\n"
- .string "If you really are real, please\l"
- .string "forget about my rudeness.\p"
- .string "No need to be so angry. All I wish for\n"
- .string "is more of your fine advice.\p"
- .string "It concerns a saying.\p"
- .string "More precisely, what should I say\n"
- .string "if I win a battle?$"
-
-gText_082C3023:: @ 82C3023
- .string "{STR_VAR_1}\p"
- .string "… … … … … …\n"
- .string "When I win a match…\p"
- .string "{STR_VAR_1}\p"
- .string "…Are you serious?\p"
- .string "I see. If you are serious, that’s fine.\n"
- .string "I thank you for your time.\p"
- .string "I do hope even I will be able to\n"
- .string "put that saying to good use.\p"
- .string "I seem to have run dry on what advice\n"
- .string "I need.\p"
- .string "I do believe it’s high time I bid you\n"
- .string "farewell and strike out on my own.\p"
- .string "Thank you, my mentor!\n"
- .string "I apologize for my skepticism!$"
-
+ .include "data/scripts/apprentice.inc"
+
gBattleDomeOpponentPotential1::
.string "The best candidate to be a champ!$"
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/events.inc b/data/maps/BattleFrontier_BattleTowerLobby/events.inc
index 73bdeeb2b..740f01c0e 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerLobby/events.inc
@@ -4,7 +4,7 @@ BattleFrontier_BattleTowerLobby_EventObjects: @ 853B638
object_event 3, EVENT_OBJ_GFX_WOMAN_7, 0, 17, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFB5, 0
object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 15, 9, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFBE, 0
object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 11, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_28CB96, 918
- object_event 6, EVENT_OBJ_GFX_HIPSTER, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_2B688D, 701
+ object_event 6, EVENT_OBJ_GFX_HIPSTER, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, 701
object_event 7, EVENT_OBJ_GFX_TEALA, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EA9F, 0
object_event 8, EVENT_OBJ_GFX_TEALA, 0, 14, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EC08, 0
object_event 9, EVENT_OBJ_GFX_TEALA, 0, 18, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23ED74, 0
diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc
new file mode 100644
index 000000000..d157c0b45
--- /dev/null
+++ b/data/scripts/apprentice.inc
@@ -0,0 +1,2885 @@
+#include "constants/apprentice.h"
+
+.macro apprentice_msg waitbuttonpress which
+setvar VAR_0x8004, 8
+setvar VAR_0x8005, \waitbuttonpress
+setvar VAR_0x8006, \which
+special sub_81A085C
+.endm
+
+.macro apprentice_buff whichstringvar tobuff
+setvar VAR_0x8004, 16
+setvar VAR_0x8005, \whichstringvar
+setvar VAR_0x8006, \tobuff
+special sub_81A085C
+.endm
+
+.macro apprentice_menu which
+setvar VAR_0x8004, 7
+setvar VAR_0x8005, \which
+special sub_81A085C
+waitstate
+.endm
+
+EventScript_Apprentice:: @ 82B688D
+ lock
+ faceplayer
+ setvar VAR_0x8004, 0
+ special sub_81A085C
+ compare VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6900
+ setvar VAR_0x8004, 10
+ special sub_81A085C
+ compare VAR_0x8004, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE
+ checkflag FLAG_0x934
+ goto_eq Script_Apprentice_ReleaseAndEnd
+
+BattleFrontier_BattleTowerLobby_EventScript_2B68BE:
+ setvar VAR_0x8004, 11
+ special sub_81A085C
+ compare VAR_RESULT, 2
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3
+ compare VAR_RESULT, 4
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF
+ compare VAR_RESULT, 3
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77
+ compare VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C
+ compare VAR_RESULT, 5
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4
+ release
+ releaseall
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6900:
+ apprentice_buff 0, APPRENTICE_BUFF_NAME
+ apprentice_msg FALSE, 0
+ waitstate
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6925:
+ apprentice_menu APPRENTICE_ASK_YES_NO
+ compare VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69BB
+ apprentice_msg FALSE, 2
+ waitstate
+ apprentice_menu APPRENTICE_ASK_WHICH_LEVEL
+ setvar VAR_0x8004, 1
+ setorcopyvar VAR_0x8005, VAR_RESULT
+ addvar VAR_0x8005, 1
+ special sub_81A085C
+ setvar VAR_0x8004, 3
+ special sub_81A085C
+ apprentice_buff 0, APPRENTICE_BUFF_LEVEL
+ apprentice_msg TRUE, 3
+ waitstate
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, Script_Apprentice_LeaveGoRight
+ goto Script_Apprentice_Leave
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B69BB:
+ apprentice_msg FALSE, 1
+ waitstate
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6925
+
+BattleFrontier_BattleTowerLobby_EventScript_2B69D3:
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 2
+ special sub_81A085C
+ apprentice_buff 0, APPRENTICE_BUFF_SPECIES1
+ apprentice_buff 1, APPRENTICE_BUFF_SPECIES2
+ apprentice_msg FALSE, 6
+ waitstate
+ apprentice_menu APPRENTICE_ASK_2SPECIES
+ copyvar VAR_0x8005, VAR_RESULT
+ compare VAR_0x8005, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6ABA
+ compare VAR_0x8005, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC0
+ setvar VAR_0x8004, 12
+ special sub_81A085C
+ copyvar VAR_0x8006, VAR_RESULT
+ setvar VAR_0x8004, 13
+ special sub_81A085C
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ setvar VAR_0x8004, 12
+ special sub_81A085C
+ compare VAR_RESULT, 3
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC6
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ copyvar VAR_0x8006, VAR_0x8007
+ special sub_81A085C
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+ apprentice_msg TRUE, 7
+ waitstate
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, Script_Apprentice_LeaveGoRight
+ goto Script_Apprentice_Leave
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6ABA:
+ setvar VAR_0x8007, 0
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6AC0:
+ setvar VAR_0x8007, 1
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6AC6:
+ setvar VAR_0x8004, 4
+ special sub_81A085C
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6ACF:
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 4
+ special sub_81A085C
+ apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
+ apprentice_msg TRUE, 10
+ waitstate
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6B09:
+ fadescreen 1
+ setvar VAR_RESULT, 0
+ setvar VAR_0x8004, 19
+ special sub_81A085C
+ waitstate
+ compare VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81
+ setvar VAR_0x8004, 20
+ special sub_81A085C
+ compare VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C
+ apprentice_buff 0, APPRENTICE_BUFF_ITEM
+ apprentice_msg TRUE, 12
+ waitstate
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, Script_Apprentice_LeaveGoRight
+ goto Script_Apprentice_Leave
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6B81:
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 4
+ special sub_81A085C
+ apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
+ apprentice_msg FALSE, 13
+ waitstate
+ apprentice_menu APPRENTICE_ASK_GIVE
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+ compare VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6BD4:
+ apprentice_msg TRUE, 14
+ waitstate
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, Script_Apprentice_LeaveGoRight
+ goto Script_Apprentice_Leave
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6C0C:
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 4
+ special sub_81A085C
+ apprentice_buff 0, APPRENTICE_BUFF_ITEM
+ apprentice_buff 1, APPRENTICE_BUFF_SPECIES3
+ apprentice_msg FALSE, 16
+ waitstate
+ apprentice_menu APPRENTICE_ASK_GIVE
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+ compare VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6C77:
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 3
+ special sub_81A085C
+ apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
+ apprentice_buff 1, APPRENTICE_BUFF_MOVE1
+ apprentice_buff 2, APPRENTICE_BUFF_MOVE2
+ apprentice_msg FALSE, 8
+ waitstate
+ apprentice_menu APPRENTICE_ASK_MOVES
+ copyvar VAR_0x8005, VAR_RESULT
+ compare VAR_0x8005, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D50
+ compare VAR_0x8005, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D56
+ setvar VAR_0x8004, 17
+ special sub_81A085C
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ copyvar VAR_0x8006, VAR_0x8007
+ special sub_81A085C
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+ apprentice_msg TRUE, 9
+ waitstate
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, Script_Apprentice_LeaveGoRight
+ goto Script_Apprentice_Leave
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6D50:
+ setvar VAR_0x8007, 3
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6D56:
+ setvar VAR_0x8007, 4
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6D5C:
+ apprentice_msg FALSE, 4
+ waitstate
+ apprentice_menu APPRENTICE_ASK_3SPECIES
+ copyvar VAR_0x8005, VAR_RESULT
+ setvar VAR_0x8004, 18
+ special sub_81A085C
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ apprentice_buff 0, APPRENTICE_BUFF_SPECIES4
+ apprentice_msg TRUE, 5
+ waitstate
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, Script_Apprentice_LeaveGoRight
+ goto Script_Apprentice_Leave
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6DD4:
+ apprentice_msg TRUE, 11
+ waitstate
+ setvar VAR_0x8004, 25
+ special sub_81A085C
+ setvar VAR_0x8004, 19
+ call BattleFrontier_BattleTowerLobby_EventScript_271E7C
+ lock
+ faceplayer
+ setvar VAR_0x8004, 21
+ special sub_81A085C
+ apprentice_buff 0, APPRENTICE_BUFF_EASY_CHAT
+ apprentice_msg TRUE, 15
+ waitstate
+ setvar VAR_0x8004, 9
+ special sub_81A085C
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, Script_Apprentice_LeaveGoRight
+ goto Script_Apprentice_Leave
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6E4D:
+ setflag FLAG_0x2BD
+ setflag FLAG_0x934
+ return
+
+Script_Apprentice_LeaveGoRight:
+ setvar VAR_0x8004, 24
+ special sub_81A085C
+ compare VAR_0x8004, 0
+ goto_eq Script_Apprentice_End
+ applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94
+ waitmovement 0
+ end
+
+Script_Apprentice_Leave:
+ setvar VAR_0x8004, 24
+ special sub_81A085C
+ compare VAR_0x8004, 0
+ goto_eq Script_Apprentice_End
+ applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95
+ waitmovement 0
+ end
+
+Script_Apprentice_ReleaseAndEnd:
+ release
+ releaseall
+ end
+
+Script_Apprentice_End:
+ end
+
+BattleFrontier_BattleTowerLobby_Movement_2B6E94: @ 82B6E94
+ walk_fast_right
+
+BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95
+ walk_fast_down
+ walk_fast_down
+ walk_fast_right
+ walk_fast_right
+ walk_fast_right
+ walk_fast_right
+ walk_fast_right
+ walk_fast_right
+ walk_fast_right
+ walk_fast_right
+ walk_fast_right
+ set_invisible
+ slide_down
+ slide_down
+ slide_down
+ step_end
+
+gText_082B6EA5:: @ 82B6EA5
+ .string "Um, I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "Snivel… This tension is getting to me…$"
+
+gText_082B6EEC:: @ 82B6EEC
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "Here we come!$"
+
+gText_082B6F16:: @ 82B6F16
+ .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}!\n"
+ .string "Accept my challenge!$"
+
+gText_082B6F4C:: @ 82B6F4C
+ .string "Um… I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice…\n"
+ .string "Do you think someone like me can win?$"
+
+gText_082B6F92:: @ 82B6F92
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "I’ll let you challenge me!$"
+
+gText_082B6FC9:: @ 82B6FC9
+ .string "I’m horribly busy, but I also happen\n"
+ .string "to be {STR_VAR_1}’s no. {STR_VAR_2} apprentice.$"
+
+gText_082B700C:: @ 82B700C
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "Glad to meet you!$"
+
+gText_082B703A:: @ 82B703A
+ .string "I serve as {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "May I begin?$"
+
+gText_082B706A:: @ 82B706A
+ .string "Eek! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "I’ll do my best!$"
+
+gText_082B709C:: @ 82B709C
+ .string "Yeehaw! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "Put ’em up!$"
+
+gText_082B70CC:: @ 82B70CC
+ .string "I’m {STR_VAR_1}’s 1,000th apprentice!\n"
+ .string "Actually, I’m no. {STR_VAR_2}! Here goes!$"
+
+gText_082B710A:: @ 82B710A
+ .string "Yeah, I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "Let’s get rockin’ and a-rollin’!$"
+
+gText_082B714D:: @ 82B714D
+ .string "Yippee-yahoo! I’m what you call\n"
+ .string "{STR_VAR_1}’s no. {STR_VAR_2} apprentice!$"
+
+gText_082B7185:: @ 82B7185
+ .string "Cough! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "Good to meet you! Cough!$"
+
+gText_082B71C1:: @ 82B71C1
+ .string "This is nerve-racking…\n"
+ .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$"
+
+gText_082B71F9:: @ 82B71F9
+ .string "I am {STR_VAR_1}’s no. {STR_VAR_2} apprentice,\n"
+ .string "and that’s no lie.$"
+
+gText_082B7229:: @ 82B7229
+ .string "Are you… {PLAYER}?\n"
+ .string "Oh! Sniff…sob…\p"
+ .string "Oh! S-sorry…\n"
+ .string "I’m so nervous, I can’t help crying…\p"
+ .string "I’m {STR_VAR_1}, and I really look up\n"
+ .string "to you, {PLAYER}.\p"
+ .string "I… I had this dream of one day meeting\n"
+ .string "you and asking you about POKéMON.\p"
+ .string "Please, please, {PLAYER}!\n"
+ .string "Please teach me about POKéMON!$"
+
+gText_082B731C:: @ 82B731C
+ .string "Oh… B-but…\n"
+ .string "Snivel… Waaaaaaah!\p"
+ .string "Please!\n"
+ .string "I’m begging you, please!$"
+
+gText_082B735B:: @ 82B735B
+ .string "Oh, really? You will?\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Oh… I’m sorry…\n"
+ .string "I’m so happy, I’m crying…\p"
+ .string "Um… Then please tell me!\n"
+ .string "It’s about the BATTLE TOWER.\p"
+ .string "Which would be better for me: Level 50\n"
+ .string "or the Open Level?$"
+
+gText_082B7423:: @ 82B7423
+ .string "{STR_VAR_1}?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I’m so sorry!\n"
+ .string "You’ve made me happy by choosing\l"
+ .string "the level for me, and it’s made me cry…\p"
+ .string "Snivel…\n"
+ .string "Thank you so much!\l"
+ .string "Please talk with me again!$"
+
+gText_082B74C1:: @ 82B74C1
+ .string "Wowee! You’re {PLAYER}, aren’t you?\n"
+ .string "You’re awesomely strong, aren’t you?\p"
+ .string "I’m {STR_VAR_1}!\n"
+ .string "I just became a TRAINER!\p"
+ .string "Please, {PLAYER}!\n"
+ .string "Can you be my teacher and tell me\l"
+ .string "lots about being a TRAINER?$"
+
+gText_082B756F:: @ 82B756F
+ .string "Aww, why?\n"
+ .string "Oh, please? Pretty please?\l"
+ .string "Please be my teacher, please!$"
+
+gText_082B75B2:: @ 82B75B2
+ .string "Yay! Great!\p"
+ .string "The first thing I wanted to ask you is\n"
+ .string "about the BATTLE TOWER!\p"
+ .string "The Level 50 and Open Level Rooms…\n"
+ .string "Which would be perfect for me?$"
+
+gText_082B763F:: @ 82B763F
+ .string "{STR_VAR_1}, huh? That’s true!\n"
+ .string "I’ll do my best there!\p"
+ .string "If we meet here again, please teach\n"
+ .string "me something else, teacher!$"
+
+gText_082B76AC:: @ 82B76AC
+ .string "Um… Are you {PLAYER}?\n"
+ .string "My name is {STR_VAR_1}.\p"
+ .string "I want to become a POKéMON TRAINER,\n"
+ .string "but I don’t know what to do…\p"
+ .string "So I thought maybe I could ask you for\n"
+ .string "advice because you’re so famous.\p"
+ .string "{PLAYER}, could you give me advice?$"
+
+gText_082B7772:: @ 82B7772
+ .string "Oh, but…\p"
+ .string "I sincerely want to become a POKéMON\n"
+ .string "TRAINER!\p"
+ .string "Please, can you answer my questions?$"
+
+gText_082B77CE:: @ 82B77CE
+ .string "Thank you!\n"
+ .string "Here’s my first question right away!\p"
+ .string "The BATTLE TOWER has two levels,\n"
+ .string "Level 50 and Open Level, right?\p"
+ .string "Which level do you think is more\n"
+ .string "suitable for me?$"
+
+gText_082B7871:: @ 82B7871
+ .string "Oh, the {STR_VAR_1} challenge?\n"
+ .string "Understood!\p"
+ .string "If I have another question, I’ll come\n"
+ .string "back here for your advice!$"
+
+gText_082B78D4:: @ 82B78D4
+ .string "Oh? Huh? You’re…\n"
+ .string "No, that can’t be true.\p"
+ .string "There isn’t any way that someone\n"
+ .string "like me could meet {PLAYER}.\p"
+ .string "…You really are {PLAYER}?\n"
+ .string "I can’t believe I’m talking to you!\p"
+ .string "When something this good happens,\n"
+ .string "only terrible things will happen to me\l"
+ .string "now, I just know it…\p"
+ .string "…I’m sorry…\n"
+ .string "I’m… {STR_VAR_1}…\p"
+ .string "There isn’t anything special about\n"
+ .string "me that I can be proud of…\p"
+ .string "I shouldn’t even say anything about\n"
+ .string "myself because you’ll forget…\p"
+ .string "I had this dream that if I ever met\n"
+ .string "you, {PLAYER}, that maybe I could ask\l"
+ .string "you for advice as a TRAINER.\p"
+ .string "But I don’t think you would agree\n"
+ .string "to that.\p"
+ .string "…Or will you be so kind as to give\n"
+ .string "me advice?$"
+
+gText_082B7B1A:: @ 82B7B1A
+ .string "I knew it…\p"
+ .string "It had to happen because I’m such\n"
+ .string "a really boring nobody…\p"
+ .string "But I thought just maybe…\n"
+ .string "You won’t reconsider, will you?\p"
+ .string "But I can’t give up just like that.\n"
+ .string "I’ll ask you while I’m still lucky!\p"
+ .string "Please, will you be so kind as to give\n"
+ .string "me advice?$"
+
+gText_082B7C13:: @ 82B7C13
+ .string "Really? I can’t believe it!\n"
+ .string "I can’t believe you’ll advise me!\l"
+ .string "I… I’m so happy…\p"
+ .string "What I want to ask you is really\n"
+ .string "trivial, but I can’t decide…\p"
+ .string "At the BATTLE TOWER, they let you\n"
+ .string "choose Level 50 or Open Level.\p"
+ .string "Which course do you think even I may\n"
+ .string "have a chance at?$"
+
+gText_082B7D18:: @ 82B7D18
+ .string "{STR_VAR_1}? Okay!\n"
+ .string "But do you really think someone like\l"
+ .string "me would have a chance?\p"
+ .string "I’ll do my best, even though I don’t\n"
+ .string "think it will work.\p"
+ .string "Thank you very much for spending\n"
+ .string "time with someone like me.$"
+
+gText_082B7DD4:: @ 82B7DD4
+ .string "Oh! You’re {PLAYER}{STRING 5}, aren’t you?\p"
+ .string "I’ve heard that you’re tough at\n"
+ .string "POKéMON!\p"
+ .string "I’m {STR_VAR_1}!\n"
+ .string "I’ll be your friend!\p"
+ .string "Did you know?\p"
+ .string "You can’t win at the BATTLE FRONTIER\n"
+ .string "if all you know is what they teach at\l"
+ .string "the TRAINER’S SCHOOL.\p"
+ .string "I’m willing to listen to your advice.\n"
+ .string "You’ll agree, of course?$"
+
+gText_082B7EE5:: @ 82B7EE5
+ .string "Huh? Why are you refusing me?\n"
+ .string "It’s me who’s asking you!\l"
+ .string "You have to reconsider!$"
+
+gText_082B7F35:: @ 82B7F35
+ .string "Okay, so there is this something.\n"
+ .string "I want you to decide it for me.\p"
+ .string "You know that the BATTLE TOWER has\n"
+ .string "Level 50 and Open Level Rooms?\p"
+ .string "Which do you think would be good\n"
+ .string "for me, {PLAYER}{STRING 5}?$"
+
+gText_082B7FE8:: @ 82B7FE8
+ .string "Okay, {STR_VAR_1} is suitable for me?\n"
+ .string "Thank you!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_082B8087:: @ 82B8087
+ .string "Oh, hi, there! {PLAYER}{STRING 5}!\n"
+ .string "I know you because you’re famous!\l"
+ .string "Call me {STR_VAR_1}! Glad to meet you!\p"
+ .string "I’m a TRIATHLETE, so I keep myself\n"
+ .string "fit even while I raise POKéMON.\p"
+ .string "I’m also involved with other things\n"
+ .string "like work, napping, ballroom dancing…\p"
+ .string "Being this busy, it’s not so easy for\n"
+ .string "me to become a decent TRAINER.\p"
+ .string "So, I have a proposition!\p"
+ .string "There must be a reason why we met.\n"
+ .string "So, {PLAYER}{STRING 5}, how about sharing your\l"
+ .string "wisdom with me every so often?$"
+
+gText_082B822B:: @ 82B822B
+ .string "Oh, but, please?\n"
+ .string "A guy like me needs someone like\l"
+ .string "you, {PLAYER}{STRING 5}!\p"
+ .string "Honestly, I need your advice!$"
+
+gText_082B8286:: @ 82B8286
+ .string "Thank you! That’s more like it!\n"
+ .string "So, let’s start with an easy one!\p"
+ .string "You know about the BATTLE TOWER’s\n"
+ .string "two courses, right?\l"
+ .string "You know, Level 50 and Open Level.\p"
+ .string "Me being a busy guy, which one should\n"
+ .string "I gear up for?$"
+
+gText_082B8356:: @ 82B8356
+ .string "{STR_VAR_1}, huh? Okay, gotcha.\n"
+ .string "I’ll find time somehow and give it a go!\p"
+ .string "…Whoops, I’d better go to work!\n"
+ .string "Thanks! See you around!$"
+
+gText_082B83CE:: @ 82B83CE
+ .string "No way! Uh-uh!\n"
+ .string "Are you maybe the real {PLAYER}?\p"
+ .string "A-hah! Awesome! I’m {STR_VAR_1},\n"
+ .string "so pleased to meet you!\p"
+ .string "{PLAYER}, you’re very strong,\n"
+ .string "aren’t you?\p"
+ .string "Everyone’s talking about you!\p"
+ .string "Oh! I just had this great idea!\n"
+ .string "I’ll get advice off you, {PLAYER}!\l"
+ .string "I’m sure it will make me tougher!\p"
+ .string "Isn’t it a great idea?\n"
+ .string "Please, I want your advice!$"
+
+gText_082B84FC:: @ 82B84FC
+ .string "Ahahaha, you can pretend to be mean,\n"
+ .string "but you can’t fool me!\l"
+ .string "You really mean okay, don’t you?$"
+
+gText_082B8559:: @ 82B8559
+ .string "Yay! I knew you’d have a big heart,\n"
+ .string "{PLAYER}!\p"
+ .string "What should I ask you first?\n"
+ .string "…Oh, I thought of something!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I were to take a BATTLE TOWER\n"
+ .string "challenge, which way should I go?\p"
+ .string "Level 50 or Open Level?\n"
+ .string "Which suits me more?$"
+
+gText_082B8656:: @ 82B8656
+ .string "Oh-oh-oh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thank you for a totally cool reply!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_082B86EA:: @ 82B86EA
+ .string "I beg your pardon, but…\n"
+ .string "Are you {PLAYER}?\p"
+ .string "I’m {STR_VAR_1}, and I am delighted to\n"
+ .string "make your acquaintance.\p"
+ .string "I have long been an admirer\n"
+ .string "of yours…\p"
+ .string "… … … … … …\p"
+ .string "Um… I hope you don’t find this\n"
+ .string "request too much of a burden, but…\p"
+ .string "May I become your apprentice,\n"
+ .string "{PLAYER}?$"
+
+gText_082B87DA:: @ 82B87DA
+ .string "Oh…!\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "…I must have fainted from shock.\n"
+ .string "I’m sorry, I must have misheard you.\p"
+ .string "Please! Please say that you will\n"
+ .string "accept me as your apprentice!$"
+
+gText_082B887C:: @ 82B887C
+ .string "Oh… I’m delighted!\p"
+ .string "I don’t wish to waste your time,\n"
+ .string "so please advise me on this.\p"
+ .string "I plan to take a BATTLE TOWER\n"
+ .string "challenge soon.\p"
+ .string "However, there are two levels…\p"
+ .string "Which would be most suitable for me?\n"
+ .string "Level 50 or Open Level?$"
+
+gText_082B8957:: @ 82B8957
+ .string "{STR_VAR_1} is your choice!\n"
+ .string "I see. I will do my best!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_082B89C6:: @ 82B89C6
+ .string "Eek! Eek! {PLAYER}!\n"
+ .string "You spoke to me!\l"
+ .string "I… I’m overjoyed!\p"
+ .string "Me! My name is {STR_VAR_1}!\n"
+ .string "I just became a TRAINER!\p"
+ .string "I’m delighted I met you, {PLAYER},\n"
+ .string "the big name in POKéMON circles!\p"
+ .string "Oh-oh-oh, I know!\n"
+ .string "May I ask a huge favor, {PLAYER}?\p"
+ .string "Please take me in as your apprentice!\n"
+ .string "I want to learn from you!$"
+
+gText_082B8ACF:: @ 82B8ACF
+ .string "Waaaah!\n"
+ .string "{PLAYER} turned me down…\l"
+ .string "It… It’s an invaluable experience!\p"
+ .string "{PLAYER}, please! I want to hear\n"
+ .string "an affirmative answer this time!\p"
+ .string "I beg you for your guidance!$"
+
+gText_082B8B66:: @ 82B8B66
+ .string "Hieeeeh! {PLAYER} said yes!\n"
+ .string "{PLAYER} said yes!\p"
+ .string "I won’t be able to sleep tonight…\n"
+ .string "Thank you ever so much!\p"
+ .string "Then, here’s my question!\p"
+ .string "At the BATTLE TOWER, what is right\n"
+ .string "for me, Level 50 or Open Level?$"
+
+gText_082B8C20:: @ 82B8C20
+ .string "{STR_VAR_1}! Perfectly understood!\n"
+ .string "I understand perfectly!\l"
+ .string "I’m deliriously delighted!\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_082B8CAA:: @ 82B8CAA
+ .string "Whoa! Could you be…\n"
+ .string "Might you be… {PLAYER}{STRING 5}?!\l"
+ .string "That strong and famous TRAINER?\l"
+ .string "Well, hello, aren’t I just the luckiest!\p"
+ .string "Hello, the name’s {STR_VAR_1}!\p"
+ .string "I’ve been on the lookout for\n"
+ .string "a POKéMON teacher.\p"
+ .string "And with impeccably good timing,\n"
+ .string "along came you, {PLAYER}{STRING 5}!\p"
+ .string "So, there you have it, {PLAYER}{STRING 5}!\n"
+ .string "Let me apprentice under you!$"
+
+gText_082B8DD3:: @ 82B8DD3
+ .string "Gwaaaah!\n"
+ .string "You’re quite cool and tough…\p"
+ .string "Don’t be that way, please.\n"
+ .string "I’m asking you!$"
+
+gText_082B8E24:: @ 82B8E24
+ .string "Oh, yeah! That’s a solid reply!\n"
+ .string "Excellent, I might add!\p"
+ .string "So how about a first piece of advice\n"
+ .string "on the BATTLE TOWER?\p"
+ .string "If I were to go, what would be better?\n"
+ .string "Level 50 or Open Level?$"
+
+gText_082B8ED5:: @ 82B8ED5
+ .string "Uh-huh, {STR_VAR_1} it is!\n"
+ .string "OK, A-OK!\l"
+ .string "I’ll go show my mettle, like, jam!\p"
+ .string "All right, I’ll look to you as my mentor!\n"
+ .string "Adios!$"
+
+gText_082B8F45:: @ 82B8F45
+ .string "Oh, hey, {PLAYER}{STRING 5}, right?\n"
+ .string "The police were looking for you!\p"
+ .string "… … …\n"
+ .string "Of course I’m lying!\p"
+ .string "Me, I’m {STR_VAR_1}. Despite the way\n"
+ .string "I look, I’m the POKéMON CHAMPION!\l"
+ .string "…That’s a lie, too!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at battling.\p"
+ .string "So, how about you becoming my master\n"
+ .string "about all things POKéMON?$"
+
+gText_082B905F:: @ 82B905F
+ .string "If you’re going to act cold like that,\n"
+ .string "I’ll show you what I’ll do!\p"
+ .string "Waaah! Waaah! Waaah!\n"
+ .string "Hiccup!\p"
+ .string "Hahaha, that was my FAKE TEARS!\p"
+ .string "Come on, will you please be\n"
+ .string "my POKéMON master?$"
+
+gText_082B910E:: @ 82B910E
+ .string "Yippee!\n"
+ .string "I’ll buy you a boat for that!\p"
+ .string "Of course I’m lying again!\n"
+ .string "But… Thank you, master!\p"
+ .string "You know how there’s Level 50 and\n"
+ .string "Open Level at the BATTLE TOWER?\p"
+ .string "I’m having trouble deciding which\n"
+ .string "level I should challenge…\p"
+ .string "Can you decide for me, master?$"
+
+gText_082B9204:: @ 82B9204
+ .string "Okay, so {STR_VAR_1} is better!\n"
+ .string "I’ll go to the other level, then!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+gText_082B929C:: @ 82B929C
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy, and it means hi!\p"
+ .string "I’m {STR_VAR_1}, the rappin’ SAILOR\n"
+ .string "am I!\p"
+ .string "Your turn now, tell me a little about\n"
+ .string "yourself, give it a try!\p"
+ .string "Uh-huh, uh-huh!\n"
+ .string "{PLAYER}{STRING 5}’s your name,\l"
+ .string "and POKéMON’s your game!\p"
+ .string "And you’re at a delicate age\n"
+ .string "when all the world’s your stage!\p"
+ .string "Anyway, I just want to say,\n"
+ .string "that you’re the tenth TRAINER\l"
+ .string "I’ve spoken to today.\p"
+ .string "Let’s make that a celebration!\n"
+ .string "Become my mentor for commemoration!$"
+
+gText_082B9438:: @ 82B9438
+ .string "But!\n"
+ .string "You have to work with me!\p"
+ .string "Don’t be such a tease!\n"
+ .string "Become my mentor, please!$"
+
+gText_082B9488:: @ 82B9488
+ .string "That’s it!\n"
+ .string "{PLAYER}, you’ve got the spirit!\p"
+ .string "So here’s my first question\n"
+ .string "that begs your suggestion!\p"
+ .string "It’s about the BATTLE TOWER,\n"
+ .string "and it hinges on my power!\p"
+ .string "Level 50 and Open Level there be,\n"
+ .string "which is the one that’s good for me?$"
+
+gText_082B9564:: @ 82B9564
+ .string "Okay, {STR_VAR_1} it is, you say!\n"
+ .string "I’ll go and take it on my way!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+gText_082B95D8:: @ 82B95D8
+ .string "Say, hey, aren’t you {PLAYER}?\n"
+ .string "What should I do? Talk to you?\l"
+ .string "Why not? I’m already talking to you!\p"
+ .string "{PLAYER}, are you surprised at me?\n"
+ .string "I’d better tell you who I happen to be!\p"
+ .string "{STR_VAR_1} is what you can call me.\n"
+ .string "The brightest star in guitardom,\l"
+ .string "that’s me!\p"
+ .string "Are you receiving me?\n"
+ .string "You are receiving me!\p"
+ .string "My luck’s at its best,\n"
+ .string "I’ll hit you with a request!\p"
+ .string "{PLAYER}, let me be your underling!\n"
+ .string "I want you to teach me everything!$"
+
+gText_082B9763:: @ 82B9763
+ .string "You’re turning me down, then?\n"
+ .string "I’ll just have to ask you again!\p"
+ .string "{PLAYER}, I beg to be your underling!\n"
+ .string "I need you to teach me everything!$"
+
+gText_082B97E5:: @ 82B97E5
+ .string "Lucky, yeah, woohoo!\n"
+ .string "Should I pop a question to you?\p"
+ .string "Since we’re near the BATTLE TOWER,\n"
+ .string "how about a question about its power?\p"
+ .string "Of the choices you see,\n"
+ .string "which is the right one for me?$"
+
+gText_082B989A:: @ 82B989A
+ .string "If {STR_VAR_1} is what you suggest,\n"
+ .string "it must be the very best!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_082B992D:: @ 82B992D
+ .string "Oh, hi! You there!\n"
+ .string "Can I get you to massage my shoulder?\p"
+ .string "…Yes, there! That’s it!\n"
+ .string "Ouch, ouch! Oooh, that feels great!\p"
+ .string "My name’s {STR_VAR_1}.\n"
+ .string "I take karate training, but my body’s\l"
+ .string "not built to take the abuse…\p"
+ .string "I decided I’ll battle POKéMON and\n"
+ .string "toughen myself up.\p"
+ .string "You’re {PLAYER}{STRING 5}, aren’t you?\n"
+ .string "The POKéMON LEAGUE CHAMP?\p"
+ .string "Listen, can I get you to give me\n"
+ .string "advice?$"
+
+gText_082B9A84:: @ 82B9A84
+ .string "Oh, why?\p"
+ .string "I won’t be a big bother, I promise!\n"
+ .string "Please?$"
+
+gText_082B9AB9:: @ 82B9AB9
+ .string "Thank you. Mighty good of you!\n"
+ .string "…Cough! Cough!\p"
+ .string "Oogh, I have to toughen up quick…\p"
+ .string "I’ll be heading off to the BATTLE TOWER\n"
+ .string "right away, but what would be better\l"
+ .string "for me? Level 50 or Open Level?$"
+
+gText_082B9B76:: @ 82B9B76
+ .string "Hm, all right. That’s {STR_VAR_1}.\n"
+ .string "I’ll go there right away.\p"
+ .string "I hope I can keep hitting you up for\n"
+ .string "help--after all, you’re my mentor!$"
+
+gText_082B9BF2:: @ 82B9BF2
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…?\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "You’re making me all self-conscious.\p"
+ .string "I… I’m {STR_VAR_1}.\p"
+ .string "I’m really embarrassed to say this,\n"
+ .string "but I explore ancient ruins and such.\p"
+ .string "I’m even more embarrassed to admit\n"
+ .string "I’m interested in the BATTLE FRONTIER.\p"
+ .string "{PLAYER}{STRING 5}, you have a reputation as\n"
+ .string "a tough TRAINER…\p"
+ .string "It’s hard for me to say this,\n"
+ .string "but I want to ask something.\p"
+ .string "Could you become my teacher and\n"
+ .string "give me advice?$"
+
+gText_082B9D83:: @ 82B9D83
+ .string "Please don’t brush me off like this!\n"
+ .string "I can’t live with the humiliation.\p"
+ .string "Please become my teacher!\n"
+ .string "I need your advice!$"
+
+gText_082B9DF9:: @ 82B9DF9
+ .string "Th-thank you…\p"
+ .string "But please don’t look at me like that.\n"
+ .string "It makes me all flustered.\p"
+ .string "Please, answer me without looking\n"
+ .string "at my eyes.\p"
+ .string "At the BATTLE TOWER…\n"
+ .string "Which level should I attempt?$"
+
+gText_082B9EAA:: @ 82B9EAA
+ .string "Oh… Okay!\n"
+ .string "I’ll try my hand at that.\p"
+ .string "I hope I can make a valiant challenge\n"
+ .string "without getting all flustered…\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_082B9F55:: @ 82B9F55
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really real?\p"
+ .string "You may call me {STR_VAR_1}.\p"
+ .string "I have been toying with the idea of\n"
+ .string "apprenticing under a strong TRAINER.\p"
+ .string "So, I must say I’m lucky you came along!\n"
+ .string "…You really are {PLAYER}{STRING 5}, yes?\p"
+ .string "No, no, if you are real, it’s fine.\n"
+ .string "I merely want you to recognize me\l"
+ .string "as your apprentice.$"
+
+gText_082BA084:: @ 82BA084
+ .string "Oh?\n"
+ .string "But what would compel you to refuse?\p"
+ .string "I apologize for being skeptical about\n"
+ .string "your identity.\p"
+ .string "Please accept my apology and\n"
+ .string "accept me as your apprentice.$"
+
+gText_082BA11D:: @ 82BA11D
+ .string "You really are accepting me?\n"
+ .string "I don’t wish to celebrate prematurely.\p"
+ .string "If it is true, I apologize.\n"
+ .string "But now, I need your advice.\p"
+ .string "If I were to enter the BATTLE TOWER,\n"
+ .string "what would be worthy of me?\l"
+ .string "Level 50 or Open Level?$"
+
+gText_082BA1F3:: @ 82BA1F3
+ .string "{STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I realize I can annoy, but it delights\n"
+ .string "me that you have accepted me.\p"
+ .string "Let us meet again!$"
+
+gText_082BA2A3:: @ 82BA2A3
+ .string "Sigh… Sob…\n"
+ .string "Oh, {PLAYER}!\p"
+ .string "I’m all tangled up in a dilemma\n"
+ .string "that I can’t decide.\p"
+ .string "I can’t decide what I should make\n"
+ .string "my {STR_VAR_1} hold.\p"
+ .string "Please tell me, {PLAYER}.\n"
+ .string "What item should I make it hold?$"
+
+gText_082BA34E:: @ 82BA34E
+ .string "Oh, really? I shouldn’t make\n"
+ .string "my {STR_VAR_1} hold anything?$"
+
+gText_082BA380:: @ 82BA380
+ .string "Oh, okay! I’m delighted it’s settled!\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Thank you so much!$"
+
+gText_082BA3D2:: @ 82BA3D2
+ .string "Oh, I’m so glad…\n"
+ .string "I think I have that {STR_VAR_1}, too.\p"
+ .string "I’m delighted it’s settled!\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Thank you so much!$"
+
+gText_082BA448:: @ 82BA448
+ .string "Waaaah! Please don’t be mean!\p"
+ .string "That item {STR_VAR_1} was already\n"
+ .string "recommended to me before, sob…\p"
+ .string "Or do you mean I shouldn’t make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+gText_082BA4D3:: @ 82BA4D3
+ .string "Yay! It’s {PLAYER}!\n"
+ .string "Great! I wanted to ask you something!\p"
+ .string "Do you make your POKéMON hold items?\n"
+ .string "I want to make mine hold items, but…\p"
+ .string "What item would be good for\n"
+ .string "{STR_VAR_1} to hold?\p"
+ .string "What do you think?$"
+
+gText_082BA58C:: @ 82BA58C
+ .string "Huh? You mean my {STR_VAR_1} doesn’t\n"
+ .string "have to hold anything?$"
+
+gText_082BA5BF:: @ 82BA5BF
+ .string "Oh, I get it! I’ll do that!\n"
+ .string "Thanks for teaching me!$"
+
+gText_082BA5F3:: @ 82BA5F3
+ .string "Oh, wow! One {STR_VAR_1}, huh?\n"
+ .string "Okay, I’ll do that!\p"
+ .string "Thanks for teaching me!$"
+
+gText_082BA635:: @ 82BA635
+ .string "Oh, uh, no, that’s not what I meant.\n"
+ .string "I want to know about a different item\l"
+ .string "than the ones I already know.\p"
+ .string "Or do you mean that my POKéMON doesn’t\n"
+ .string "have to hold anything this time?$"
+
+gText_082BA6E6:: @ 82BA6E6
+ .string "{PLAYER}, hello!\n"
+ .string "It’s about my {STR_VAR_1}…\p"
+ .string "I want to make it hold a good item.\n"
+ .string "What would be good for it?$"
+
+gText_082BA742:: @ 82BA742
+ .string "Oh, then my {STR_VAR_1} doesn’t have\n"
+ .string "to hold anything?$"
+
+gText_082BA770:: @ 82BA770
+ .string "Okay, I got it!\n"
+ .string "See you again!$"
+
+gText_082BA78F:: @ 82BA78F
+ .string "Oh, the item {STR_VAR_1}?\n"
+ .string "Understood!\p"
+ .string "I’ll do my best to find one!\n"
+ .string "See you again!$"
+
+gText_082BA7D8:: @ 82BA7D8
+ .string "Somebody taught me about\n"
+ .string "the {STR_VAR_1} already.\p"
+ .string "I want my POKéMON to hold a different\n"
+ .string "kind of item.\p"
+ .string "Or do you think {STR_VAR_2} doesn’t\n"
+ .string "have to hold anything?$"
+
+gText_082BA867:: @ 82BA867
+ .string "Hello, {PLAYER}…\n"
+ .string "I’m sorry to disturb you, but I have\l"
+ .string "something else I wanted to ask you.\p"
+ .string "I don’t think I’m good enough to win\n"
+ .string "matches on my own, so I’m thinking of\l"
+ .string "making my {STR_VAR_1} hold an item.\p"
+ .string "But I don’t know what would be good.\p"
+ .string "{PLAYER}, please, could you decide\n"
+ .string "for me?$"
+
+gText_082BA96B:: @ 82BA96B
+ .string "A POKéMON belonging to someone like me\n"
+ .string "would be better off without an item?$"
+
+gText_082BA9B7:: @ 82BA9B7
+ .string "I understand…\n"
+ .string "You’re saying I shouldn’t rely on items.\l"
+ .string "I’ll do my best not to!\p"
+ .string "Thank you very much!$"
+
+gText_082BAA1B:: @ 82BAA1B
+ .string "The item {STR_VAR_1}, okay.\n"
+ .string "I’m not sure if I can get one…\l"
+ .string "No! I’ll do my best to get it.\p"
+ .string "Thank you very much!$"
+
+gText_082BAA81:: @ 82BAA81
+ .string "Oh, but…\n"
+ .string "I think I’ve heard about that before…\p"
+ .string "Is it maybe because I haven’t handled\n"
+ .string "the item {STR_VAR_1} very well?\p"
+ .string "Or do you mean I shouldn’t make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+gText_082BAB22:: @ 82BAB22
+ .string "Oh, {PLAYER}{STRING 5}.\n"
+ .string "There’s something I wanted to ask you.\p"
+ .string "You know how you decided which\n"
+ .string "POKéMON I should have for me?\p"
+ .string "But I never asked you what item\n"
+ .string "it should be holding.\p"
+ .string "Since you already gave me advice,\n"
+ .string "how about seeing this to the end?\p"
+ .string "What would be good? I want to make\n"
+ .string "my {STR_VAR_1} hold something.$"
+
+gText_082BAC43:: @ 82BAC43
+ .string "Oh! So my {STR_VAR_1} should do\n"
+ .string "the best it can empty-handed?$"
+
+gText_082BAC78:: @ 82BAC78
+ .string "If you think that’s best, I’ll do that.\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_082BAD17:: @ 82BAD17
+ .string "The item {STR_VAR_1}, huh?\n"
+ .string "Not bad. I’ll use it!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_082BADB6:: @ 82BADB6
+ .string "Huh? What are you saying?\n"
+ .string "You told me about the {STR_VAR_1}\l"
+ .string "already before.\p"
+ .string "Or do you mean my {STR_VAR_2} should\n"
+ .string "do the best it can empty-handed?$"
+
+gText_082BAE36:: @ 82BAE36
+ .string "Yo, {PLAYER}{STRING 5}!\p"
+ .string "We’re both busy, but we seem to run\n"
+ .string "into each other often anyway!\p"
+ .string "Today I have to do some walking,\n"
+ .string "cleaning, and brushing.\p"
+ .string "I haven’t even had the time to buy\n"
+ .string "my precious {STR_VAR_1} anything.\p"
+ .string "I don’t have any time, so how about\n"
+ .string "giving me advice on what I should make\l"
+ .string "my {STR_VAR_1} hold?$"
+
+gText_082BAF4E:: @ 82BAF4E
+ .string "Oh, so me being a busy guy, you say\n"
+ .string "my {STR_VAR_1} doesn’t need anything?$"
+
+gText_082BAF8F:: @ 82BAF8F
+ .string "Okay, gotcha.\n"
+ .string "I won’t need any time for that.\p"
+ .string "Thanks today!\n"
+ .string "See you around!$"
+
+gText_082BAFDB:: @ 82BAFDB
+ .string "Okay, gotcha.\n"
+ .string "I’ll find time somehow and find\l"
+ .string "that {STR_VAR_1} you recommended.\p"
+ .string "I’m glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+gText_082BB05F:: @ 82BB05F
+ .string "Huh? I already know about\n"
+ .string "that {STR_VAR_1}.\p"
+ .string "Oh, right, I get it.\n"
+ .string "So me being a busy guy, you say\l"
+ .string "my {STR_VAR_2} doesn’t need anything?$"
+
+gText_082BB0D4:: @ 82BB0D4
+ .string "Hiya, {PLAYER}! It’s me!\n"
+ .string "I need to tap your mind again today.\l"
+ .string "Please, I need your advice!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I want to make my {STR_VAR_1} hold\n"
+ .string "an item, what should it be?$"
+
+gText_082BB18C:: @ 82BB18C
+ .string "Is that right? My {STR_VAR_1} doesn’t\n"
+ .string "need to hold an item, you’re saying.$"
+
+gText_082BB1CE:: @ 82BB1CE
+ .string "Okay, that’s what I’ll do!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_082BB242:: @ 82BB242
+ .string "Uh-huh! One {STR_VAR_1}.\n"
+ .string "What a cool choice!\l"
+ .string "I’ll definitely try that!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_082BB2D9:: @ 82BB2D9
+ .string "Ahahah! That’s silly!\n"
+ .string "You already told me about that\l"
+ .string "{STR_VAR_1} before!\p"
+ .string "Are you feeling okay, {PLAYER}?\p"
+ .string "Oh, wait! My {STR_VAR_2} doesn’t\n"
+ .string "need to hold an item, you’re saying.$"
+
+gText_082BB370:: @ 82BB370
+ .string "Hello, {PLAYER}. I hope you’ve been\n"
+ .string "keeping well.\p"
+ .string "May I approach you for advice?\p"
+ .string "In a recent battle, my opponent\n"
+ .string "seemed to have given his POKéMON\l"
+ .string "an item to hold.\p"
+ .string "As a result, I was defeated…\p"
+ .string "I don’t wish to be left behind.\n"
+ .string "I would like to make my {STR_VAR_1}\l"
+ .string "hold an item, too.\p"
+ .string "It would please me if you could decide\n"
+ .string "what would be right for my POKéMON…$"
+
+gText_082BB4C3:: @ 82BB4C3
+ .string "In other words… My POKéMON has\n"
+ .string "no need to hold an item?$"
+
+gText_082BB4FB:: @ 82BB4FB
+ .string "I understand clearly now!\n"
+ .string "I will keep trying like this.\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_082BB575:: @ 82BB575
+ .string "One {STR_VAR_1} it is!\n"
+ .string "I will order it right away.\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_082BB5E1:: @ 82BB5E1
+ .string "You’ve already told me about that,\n"
+ .string "and I already have it.\p"
+ .string "Or are you saying… My POKéMON has\n"
+ .string "no need to hold an item?$"
+
+gText_082BB656:: @ 82BB656
+ .string "Eek! {PLAYER}!\n"
+ .string "I… I’m overjoyed to see you again!\p"
+ .string "Oh-oh-oh! There’s something I just\n"
+ .string "had to ask you, {PLAYER}!\p"
+ .string "Please decide what my {STR_VAR_1}\n"
+ .string "should be holding!$"
+
+gText_082BB6E5:: @ 82BB6E5
+ .string "Oh, wow! I didn’t expect that answer!\n"
+ .string "So, a hold item isn’t necessary?$"
+
+gText_082BB72C:: @ 82BB72C
+ .string "Perfectly understood!\n"
+ .string "I’ll keep at this without an item!\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_082BB7A2:: @ 82BB7A2
+ .string "{STR_VAR_1}! I’ll use that!\p"
+ .string "Um… Could it be, {PLAYER}, you also\n"
+ .string "make your POKéMON hold that item?\p"
+ .string "I’ll be sure to get it!\n"
+ .string "I hope you’ll be willing to teach me\l"
+ .string "some more another time.$"
+
+gText_082BB84A:: @ 82BB84A
+ .string "Oh? You recommended that\n"
+ .string "{STR_VAR_1} before, too.\p"
+ .string "Or is it the best thing to hold?\n"
+ .string "Or do you mean that my {STR_VAR_2}\l"
+ .string "doesn’t need anything to hold?$"
+
+gText_082BB8CD:: @ 82BB8CD
+ .string "Hola!\n"
+ .string "My maestro, {PLAYER}{STRING 5}!\p"
+ .string "I want to hit you up for advice on\n"
+ .string "POKéMON tools.\p"
+ .string "What do you think would be good for\n"
+ .string "my {STR_VAR_1} to hold?\p"
+ .string "Don’t be shy now.\n"
+ .string "Let’s blurt it out!$"
+
+gText_082BB970:: @ 82BB970
+ .string "Oh? So, you’re saying my {STR_VAR_1}\n"
+ .string "can win without holding any item?$"
+
+gText_082BB9AE:: @ 82BB9AE
+ .string "Si, bueno!\n"
+ .string "I’ll give it my best shot, like, slam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_082BBA05:: @ 82BBA05
+ .string "Uh-huh, that’s one {STR_VAR_1}?\n"
+ .string "Si, bueno!\l"
+ .string "I’ll go find me one, like, bam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_082BBA6C:: @ 82BBA6C
+ .string "No, no! You already told me about\n"
+ .string "that {STR_VAR_1} thing before.\p"
+ .string "Oh, now wait just one minute here…\n"
+ .string "So, you’re saying my {STR_VAR_2}\l"
+ .string "can win without holding any item?$"
+
+gText_082BBB01:: @ 82BBB01
+ .string "{PLAYER}{STRING 5}, something unbelievable\n"
+ .string "has happened!\p"
+ .string "I woke up this morning, and my POKéMON\n"
+ .string "had 10 NUGGETS!\p"
+ .string "Of course I’m lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at thinking about\l"
+ .string "what items POKéMON should hold.\p"
+ .string "So, how about deciding for me what\n"
+ .string "my {STR_VAR_1} should hold, master?$"
+
+gText_082BBC1C:: @ 82BBC1C
+ .string "What’s that mean?\n"
+ .string "Don’t make it hold anything?$"
+
+gText_082BBC4B:: @ 82BBC4B
+ .string "Okay, so it shouldn’t hold anything.\n"
+ .string "Then, I’d better get something for it!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+gText_082BBCF6:: @ 82BBCF6
+ .string "Okay, so it’s one {STR_VAR_1}!\n"
+ .string "I’ll make it hold anything but that!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+gText_082BBD90:: @ 82BBD90
+ .string "Um, you told me about that before,\n"
+ .string "didn’t you?\p"
+ .string "Isn’t there something else?\p"
+ .string "Or do you mean, don’t make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+gText_082BBE0B:: @ 82BBE0B
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "I present to you a question\l"
+ .string "that’s pretty fly!\p"
+ .string "It’s an item question\n"
+ .string "that begs your suggestion!\p"
+ .string "My {STR_VAR_1} needs an item to hold,\n"
+ .string "What should it be, if I may be bold?$"
+
+gText_082BBEE5:: @ 82BBEE5
+ .string "Is that right?\n"
+ .string "My {STR_VAR_1} doesn’t need to be\l"
+ .string "holding anything tight?$"
+
+gText_082BBF25:: @ 82BBF25
+ .string "Okay, I hear you, sure I do!\n"
+ .string "My POKéMON will go empty-handed, too!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+gText_082BBFA4:: @ 82BBFA4
+ .string "Okay, one {STR_VAR_1},\n"
+ .string "that’s what I’ll use.\l"
+ .string "I was right to make you choose!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+gText_082BC024:: @ 82BC024
+ .string "Okay, one {STR_VAR_1}, you say?\n"
+ .string "You told me that the other day.\l"
+ .string "I need a new idea, a brand new way.\p"
+ .string "Or, what, is that right?\n"
+ .string "My POKéMON doesn’t need to hold\l"
+ .string "anything tight?$"
+
+gText_082BC0C8:: @ 82BC0C8
+ .string "Say, hey, {PLAYER}!\n"
+ .string "I found you again today!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I’m already talking to you!\p"
+ .string "{PLAYER}, are you getting sick of me?\n"
+ .string "Nah, no way, that can’t be.\p"
+ .string "Will you hear me out?\n"
+ .string "I’m looking for advice--that’s what\l"
+ .string "I’m talking about.\p"
+ .string "It’s about a hold item for\n"
+ .string "my {STR_VAR_1} that’d be good.\l"
+ .string "My indecision is making me brood.$"
+
+gText_082BC213:: @ 82BC213
+ .string "My {STR_VAR_1} needs nothing?\n"
+ .string "Doesn’t need to hold anything?$"
+
+gText_082BC247:: @ 82BC247
+ .string "If holding nothing is the best,\n"
+ .string "I’ll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_082BC2DD:: @ 82BC2DD
+ .string "If holding that {STR_VAR_1} is\n"
+ .string "the best, I’ll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_082BC373:: @ 82BC373
+ .string "Haven’t I heard about that\n"
+ .string "{STR_VAR_1} before?\l"
+ .string "I’m certain I have, that’s for sure!\p"
+ .string "I need a new something!\n"
+ .string "Or, my {STR_VAR_2} needs nothing?\l"
+ .string "Doesn’t need to hold anything?$"
+
+gText_082BC40E:: @ 82BC40E
+ .string "Gwah! Ouch! {PLAYER}{STRING 5}, my arm’s broken!\n"
+ .string "Don’t touch it, please!\p"
+ .string "I must’ve broken it while I was trying\n"
+ .string "out different hold items with my posse\l"
+ .string "of POKéMON.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{STRING 5}, what do you think would be\n"
+ .string "good for my {STR_VAR_1} to hold?$"
+
+gText_082BC514:: @ 82BC514
+ .string "Ouch…\p"
+ .string "So your suggestion is my {STR_VAR_1}\n"
+ .string "doesn’t have to hold anything?$"
+
+gText_082BC555:: @ 82BC555
+ .string "Hm, all right. That would be easier\n"
+ .string "for me, the way things are now.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_082BC5CE:: @ 82BC5CE
+ .string "Hm, all right. That’s one {STR_VAR_1}.\n"
+ .string "My POKéMON’s arm is fine, so I’ll make\l"
+ .string "it hold that item right away.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_082BC666:: @ 82BC666
+ .string "No, no, you told me about that\n"
+ .string "{STR_VAR_1} before, remember?\p"
+ .string "How about telling me something\n"
+ .string "even better?\p"
+ .string "Oh, wait a second.\n"
+ .string "So your suggestion is my {STR_VAR_2}\l"
+ .string "doesn’t have to hold anything?$"
+
+gText_082BC714:: @ 82BC714
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "My POKéMON don’t have anything.\p"
+ .string "I… I’m really embarrassed about this,\n"
+ .string "but I really need your advice.\p"
+ .string "I can’t decide what hold item would\n"
+ .string "make my {STR_VAR_1} strong.\p"
+ .string "{PLAYER}{STRING 5}, what do you think would\n"
+ .string "be good?$"
+
+gText_082BC808:: @ 82BC808
+ .string "Oh… Then, you think it would be better\n"
+ .string "if my {STR_VAR_1} didn’t have an item?$"
+
+gText_082BC84D:: @ 82BC84D
+ .string "Oh… Okay!\n"
+ .string "I’ll go without an item.\p"
+ .string "This is nerve-racking, though.\n"
+ .string "Wouldn’t it be too cool?\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_082BC8EA:: @ 82BC8EA
+ .string "Oh… Okay!\n"
+ .string "I’ll go with that {STR_VAR_1}.\p"
+ .string "This is nerve-racking, though.\n"
+ .string "Wouldn’t it be too cool?\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_082BC984:: @ 82BC984
+ .string "B-but I already heard about that.\p"
+ .string "Please don’t brush me off like this!\n"
+ .string "I can’t live with the humiliation.\p"
+ .string "Oh… Am I jumping to conclusions?\n"
+ .string "Do you think it would be better if\l"
+ .string "my {STR_VAR_2} didn’t have an item?$"
+
+gText_082BCA4D:: @ 82BCA4D
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps you’re a twin?\p"
+ .string "Oh, no, no, no, don’t worry!\n"
+ .string "If you really are {PLAYER}, please\l"
+ .string "forget about my rudeness.\p"
+ .string "What I would like is some more of\n"
+ .string "your fine advice.\p"
+ .string "I have here my {STR_VAR_1} that I wish\n"
+ .string "to make hold a convenient item.\p"
+ .string "What would be worthy of it?$"
+
+gText_082BCB75:: @ 82BCB75
+ .string "It’s better if it held nothing?\n"
+ .string "Are you certain?$"
+
+gText_082BCBA6:: @ 82BCBA6
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "Let us meet again!$"
+
+gText_082BCBFC:: @ 82BCBFC
+ .string "One {STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope my POKéMON will be able to\n"
+ .string "put it to good use.\p"
+ .string "Let us meet again!$"
+
+gText_082BCCA4:: @ 82BCCA4
+ .string "No, no, wait a minute.\n"
+ .string "I believe you taught me that before.\p"
+ .string "I would like you to recommend\n"
+ .string "something different this time.\p"
+ .string "Perhaps you’re suggesting that\n"
+ .string "my {STR_VAR_2} should hold nothing?\l"
+ .string "Are you certain?$"
+
+gText_082BCD68:: @ 82BCD68
+ .string "Waah, {PLAYER}!\n"
+ .string "I have a dilemma, sob…\p"
+ .string "I want to begin battling other people,\n"
+ .string "but I don’t know what to do.\p"
+ .string "How should I line up my POKéMON\n"
+ .string "so they’ll be at their strongest?\p"
+ .string "Please tell me, {PLAYER}.\n"
+ .string "If you were me, which of these POKéMON\l"
+ .string "would you send out first?$"
+
+gText_082BCE64:: @ 82BCE64
+ .string "My {STR_VAR_1} should go first?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I’m so sorry!\n"
+ .string "You’ve made me happy by choosing\l"
+ .string "my first POKéMON, and it’s made me cry…\p"
+ .string "Thank you so much!$"
+
+gText_082BCEF2:: @ 82BCEF2
+ .string "Yay! It’s {PLAYER}!\n"
+ .string "Great! I wanted to ask you something!\p"
+ .string "Um, of my POKéMON, which do you\n"
+ .string "think should go out first?$"
+
+gText_082BCF61:: @ 82BCF61
+ .string "My {STR_VAR_1}? That’s true.\n"
+ .string "Okay, I’ll do that!\p"
+ .string "Thanks for teaching me!$"
+
+gText_082BCFA1:: @ 82BCFA1
+ .string "{PLAYER}, hello!\p"
+ .string "I think, in a battle, it’s very important\n"
+ .string "which POKéMON comes out first.\p"
+ .string "Out of the POKéMON that I have,\n"
+ .string "which would be good to send out first?$"
+
+gText_082BD03C:: @ 82BD03C
+ .string "My {STR_VAR_1} goes first?\n"
+ .string "Okay, I got it!\p"
+ .string "See you again!$"
+
+gText_082BD06D:: @ 82BD06D
+ .string "Hello, {PLAYER}…\n"
+ .string "I’m sorry to disturb you again with\l"
+ .string "another question.\p"
+ .string "I have so little confidence, I don’t\n"
+ .string "know what I’d do without you, {PLAYER}.\p"
+ .string "It may be a waste of time for me to\n"
+ .string "even worry about it, but I just can’t\l"
+ .string "decide something…\p"
+ .string "Which of my POKéMON should I send\n"
+ .string "out first in a battle?$"
+
+gText_082BD18A:: @ 82BD18A
+ .string "My {STR_VAR_1}?\n"
+ .string "Understood!\p"
+ .string "I can’t believe that you would bother\n"
+ .string "to answer my questions so often!\p"
+ .string "I’m so grateful that you would even\n"
+ .string "speak with me… Thank you!$"
+
+gText_082BD222:: @ 82BD222
+ .string "Oh, {PLAYER}{STRING 5}! It’s me!\n"
+ .string "I’m so glad to see you because I have\l"
+ .string "this little problem.\p"
+ .string "I can’t decide how my POKéMON should\n"
+ .string "be lined up. Could you decide for me?\p"
+ .string "Oh, you don’t need to decide the whole\n"
+ .string "party right now.\p"
+ .string "How about deciding just the first\n"
+ .string "POKéMON for me?$"
+
+gText_082BD325:: @ 82BD325
+ .string "My {STR_VAR_1}? That’s great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_082BD3B1:: @ 82BD3B1
+ .string "Hi, my teacher {PLAYER}{STRING 5}!\n"
+ .string "I’m busy again today!\p"
+ .string "I have to do some cycling, shopping,\n"
+ .string "and humming.\p"
+ .string "I haven’t even had the time to decide\n"
+ .string "how to line up my POKéMON team.\p"
+ .string "So, how about checking out my team?\n"
+ .string "Which one should go first?$"
+
+gText_082BD493:: @ 82BD493
+ .string "Okay, gotcha.\n"
+ .string "I have enough time at least to put\l"
+ .string "my {STR_VAR_1} at the head of the line!\p"
+ .string "Whoops, my girlfriend’s waiting!\n"
+ .string "Thanks! See you around!$"
+
+gText_082BD51C:: @ 82BD51C
+ .string "Yoohoo! Hiya, {PLAYER}!\n"
+ .string "You always walk around looking tough!\p"
+ .string "Listen, I need something from you\n"
+ .string "again! It’s the usual thing!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is about my team.\p"
+ .string "Which POKéMON of mine should be first\n"
+ .string "to go out in a battle?$"
+
+gText_082BD609:: @ 82BD609
+ .string "Hmhm!\n"
+ .string "My {STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_082BD697:: @ 82BD697
+ .string "Thank you so much for stopping to\n"
+ .string "chat with me, {PLAYER}.\p"
+ .string "I know I’m taking advantage of your\n"
+ .string "kindness, but may I ask for advice?\p"
+ .string "I would like you to decide on the order\n"
+ .string "of my POKéMON team.\p"
+ .string "It would please me if you could decide\n"
+ .string "which POKéMON should come first.$"
+
+gText_082BD797:: @ 82BD797
+ .string "My {STR_VAR_1} it is!\n"
+ .string "I will put it first right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_082BD806:: @ 82BD806
+ .string "Eek! {PLAYER}!\n"
+ .string "I… I’m overjoyed to see you again!\p"
+ .string "My POKéMON have become much\n"
+ .string "stronger!\p"
+ .string "But I don’t always win. It seems to\n"
+ .string "depend on which POKéMON goes first.\p"
+ .string "{PLAYER}, please, I need your help!\p"
+ .string "Please decide which of my POKéMON\n"
+ .string "should go out first!$"
+
+gText_082BD8F5:: @ 82BD8F5
+ .string "Sigh… I’m overwhelmed with happiness…\p"
+ .string "It’s like a dream having you decide\n"
+ .string "for me, {PLAYER}.\p"
+ .string "But perfectly understood!\n"
+ .string "I will go with my {STR_VAR_1} first!\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_082BD9BE:: @ 82BD9BE
+ .string "Hello, hello!\n"
+ .string "My mentor, {PLAYER}{STRING 5}!\l"
+ .string "Hit me with your sage advice today!\p"
+ .string "You see, I pulled together a team of\n"
+ .string "three POKéMON. So far so good.\p"
+ .string "But the team’s battling order’s not\n"
+ .string "settled yet.\p"
+ .string "This is where you come in, {PLAYER}{STRING 5}!\n"
+ .string "You decide which POKéMON leads off!\p"
+ .string "Don’t be shy now.\n"
+ .string "Let’s blurt it out!$"
+
+gText_082BDAE1:: @ 82BDAE1
+ .string "Uh-huh, my {STR_VAR_1} leads off!\n"
+ .string "OK, A-OK!\l"
+ .string "I’ll reorder the lineup, like, wham!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_082BDB4E:: @ 82BDB4E
+ .string "{PLAYER}{STRING 5}, listen!\n"
+ .string "It’s a crisis!\p"
+ .string "My POKéMON, all three of them, go into\n"
+ .string "battle at once!\p"
+ .string "Of course that’s impossible!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at thinking about\l"
+ .string "how I should line up my POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "POKéMON should go first, master?$"
+
+gText_082BDC6B:: @ 82BDC6B
+ .string "Okay, so it’s my {STR_VAR_1} you chose?\n"
+ .string "I’ll let any but that one go first!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+gText_082BDD0D:: @ 82BDD0D
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "I present to you a question\l"
+ .string "that’s pretty fly!\p"
+ .string "It’s a team lineup question\n"
+ .string "that begs your suggestion!\p"
+ .string "Out of this lot, which should go first\n"
+ .string "as the first on the spot?$"
+
+gText_082BDDEC:: @ 82BDDEC
+ .string "Okay, I hear you, sure I do!\n"
+ .string "I’ll switch them up, that I’ll do!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+gText_082BDE68:: @ 82BDE68
+ .string "Yahoo, {PLAYER}!\n"
+ .string "How do you do?\p"
+ .string "What should I do? Go ahead and ask?\n"
+ .string "Uh-huh, I have something to ask!\l"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\p"
+ .string "You have to decide, which of my\n"
+ .string "POKéMON is the first to ride!\l"
+ .string "Into battle, I mean to say.$"
+
+gText_082BDF4D:: @ 82BDF4D
+ .string "My {STR_VAR_1}? Yes!\n"
+ .string "That’ll do, there’s no distress!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_082BDFD8:: @ 82BDFD8
+ .string "…Oof…ooch… {PLAYER}{STRING 5}…\n"
+ .string "My stomach’s hurting all of a sudden…\p"
+ .string "…It’s getting better now…\p"
+ .string "I must’ve worried myself sick racking\n"
+ .string "my brains on how I should line up\l"
+ .string "my posse of POKéMON.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{STRING 5}, which of my POKéMON should\n"
+ .string "go first? So I’d win, I mean.$"
+
+gText_082BE0FD:: @ 82BE0FD
+ .string "Hm, all right.\n"
+ .string "My {STR_VAR_1} goes first.\p"
+ .string "I’ll fix the lineup like that after\n"
+ .string "I have my supper.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_082BE189:: @ 82BE189
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}?\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "You’re making me feel all flustered.\p"
+ .string "Um…\n"
+ .string "I really need your advice.\p"
+ .string "It makes me bashful to say this,\n"
+ .string "but I chose my 3-POKéMON team.\l"
+ .string "I can’t decide on the order, though.\p"
+ .string "Which POKéMON should I send out first\n"
+ .string "so I at least look capable?$"
+
+gText_082BE2A5:: @ 82BE2A5
+ .string "Oh… Okay!\n"
+ .string "I’ll lead with my {STR_VAR_1}.\p"
+ .string "I hope I can do my best without\n"
+ .string "getting all flustered.\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_082BE33E:: @ 82BE33E
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps you’re a clever look-alike?\p"
+ .string "Oh, no, no, no, don’t worry!\n"
+ .string "If you really are {PLAYER}, please\l"
+ .string "forget about my rudeness.\p"
+ .string "What I would like is your fine advice.\p"
+ .string "I have here my POKéMON team.\n"
+ .string "I would like you to tell me which one\l"
+ .string "should go first in a battle.$"
+
+gText_082BE46C:: @ 82BE46C
+ .string "My {STR_VAR_1}…\n"
+ .string "You aren’t pulling my leg?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I am as you see, but I shall do\n"
+ .string "my best.\p"
+ .string "Let us meet again!$"
+
+gText_082BE50D:: @ 82BE50D
+ .string "Snivel…\n"
+ .string "Oh, {PLAYER}!\p"
+ .string "What perfect timing!\n"
+ .string "There’s something I just can’t decide…\p"
+ .string "I can’t decide which POKéMON I should\n"
+ .string "be using.\p"
+ .string "I can’t decide between the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}…\p"
+ .string "{PLAYER}, which do you think will give\n"
+ .string "even me a chance at winning?$"
+
+gText_082BE5F5:: @ 82BE5F5
+ .string "Snivel… I… I understand!\n"
+ .string "Oh! I’m so sorry!\l"
+ .string "You’ve made me so happy, I’m crying…\p"
+ .string "I’ll do my best to catch one\n"
+ .string "{STR_VAR_1}!\p"
+ .string "Thank you so much!$"
+
+gText_082BE679:: @ 82BE679
+ .string "Yay! It’s {PLAYER}!\n"
+ .string "Yay, you came at the right time, too!\l"
+ .string "I need your advice again!\p"
+ .string "Um, I’m all mixed up--should I use\n"
+ .string "my {STR_VAR_1} or {STR_VAR_2}…\p"
+ .string "Which do you think I should raise,\n"
+ .string "{PLAYER}?$"
+
+gText_082BE71E:: @ 82BE71E
+ .string "Oh, so my {STR_VAR_1} is better!\n"
+ .string "Okay, I’ll do that!\p"
+ .string "Thanks for teaching me!$"
+
+gText_082BE762:: @ 82BE762
+ .string "{PLAYER}, hello!\n"
+ .string "I have a question I wanted to ask.\p"
+ .string "I’m in a dilemma over whether I should\n"
+ .string "raise one {STR_VAR_1} or {STR_VAR_2}.\p"
+ .string "Which POKéMON do you think will\n"
+ .string "be stronger?$"
+
+gText_082BE7F8:: @ 82BE7F8
+ .string "{STR_VAR_1} is your choice?\n"
+ .string "Okay, I got it!\p"
+ .string "I’ll go catch a strong {STR_VAR_1}\n"
+ .string "right away!\p"
+ .string "See you again!$"
+
+gText_082BE850:: @ 82BE850
+ .string "Hello, {PLAYER}…\p"
+ .string "Um, you’ve probably already forgotten\n"
+ .string "about someone like me…\p"
+ .string "…But that doesn’t matter if you\n"
+ .string "could give me advice…\p"
+ .string "I can’t decide on the one kind of\n"
+ .string "POKéMON I should raise…\p"
+ .string "I’ve narrowed the field to the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, but that’s\l"
+ .string "where I became stuck…\p"
+ .string "{PLAYER}, you probably don’t want to\n"
+ .string "bother, but please decide for me.$"
+
+gText_082BE99C:: @ 82BE99C
+ .string "But will a wild {STR_VAR_1} even pay\n"
+ .string "attention to me?\p"
+ .string "I will try!\p"
+ .string "But will I even be able to catch one…\n"
+ .string "No! I’ll do my best!\p"
+ .string "Thank you!$"
+
+gText_082BEA1B:: @ 82BEA1B
+ .string "Oh, {PLAYER}{STRING 5}! I’m so glad to see you!\n"
+ .string "I was about to go looking for you!\p"
+ .string "Can you decide what kind of POKéMON\n"
+ .string "I should use?\p"
+ .string "For instance…\n"
+ .string "How about the POKéMON {STR_VAR_1}\l"
+ .string "and {STR_VAR_2}?\p"
+ .string "Which one do you think would be\n"
+ .string "better?$"
+
+gText_082BEAE9:: @ 82BEAE9
+ .string "{STR_VAR_1}? That’s great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_082BEB72:: @ 82BEB72
+ .string "If it isn’t {PLAYER}{STRING 5}! How’s it going?\n"
+ .string "I’m busy again as always!\p"
+ .string "I want to do good with POKéMON, too,\n"
+ .string "but I haven’t been able to decide\l"
+ .string "which POKéMON I should use.\p"
+ .string "You know how {STR_VAR_1} look strong?\n"
+ .string "But {STR_VAR_2} are tough to ignore.\p"
+ .string "{PLAYER}{STRING 5}, give me some of your good\n"
+ .string "advice! Which one’d be good for me?$"
+
+gText_082BEC8E:: @ 82BEC8E
+ .string "Okay, gotcha.\n"
+ .string "I’ll find time somehow and catch me\l"
+ .string "that {STR_VAR_1} you recommended.\p"
+ .string "I’m glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+gText_082BED16:: @ 82BED16
+ .string "Oh!\n"
+ .string "Yay, it’s {PLAYER}!\p"
+ .string "I didn’t waste any time boasting to\n"
+ .string "my friends about meeting you!\p"
+ .string "I need to tap your mind again today.\n"
+ .string "It’s an easy one for you!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I were to raise a POKéMON,\n"
+ .string "and the choices were one {STR_VAR_1}\l"
+ .string "or {STR_VAR_2}, which should it be?$"
+
+gText_082BEE29:: @ 82BEE29
+ .string "Ahhh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_082BEEB4:: @ 82BEEB4
+ .string "Oh, is it you, {PLAYER}?\n"
+ .string "I’m delighted to see you again!\p"
+ .string "Ever since I became your apprentice,\n"
+ .string "my confidence has been blooming.\p"
+ .string "I think I’m ready to raise a POKéMON\n"
+ .string "of my own!\p"
+ .string "{PLAYER}, may I impose on you to choose\n"
+ .string "which POKéMON I should raise?\p"
+ .string "The choices are the POKéMON\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}…\l"
+ .string "Which POKéMON is right for me?$"
+
+gText_082BEFE2:: @ 82BEFE2
+ .string "One {STR_VAR_1} it is!\n"
+ .string "I will find one right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_082BF04E:: @ 82BF04E
+ .string "Eek! {PLAYER}! I met you again!\n"
+ .string "I… I’m overjoyed!\p"
+ .string "Oh-oh-oh, I know!\n"
+ .string "I shouldn’t pass up this opportunity!\p"
+ .string "May I ask a huge favor, {PLAYER}?\n"
+ .string "Please choose a POKéMON for me!\p"
+ .string "Please decide which would be better,\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}!$"
+
+gText_082BF11D:: @ 82BF11D
+ .string "Wow! You decided for me!\n"
+ .string "One {STR_VAR_1} is what I’ll raise to\l"
+ .string "the best of my ability.\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_082BF1A8:: @ 82BF1A8
+ .string "Hey, hey!\n"
+ .string "My mentor, {PLAYER}{STRING 5}!\p"
+ .string "Hello, I’ve been looking for you\n"
+ .string "for some more of your sage advice!\p"
+ .string "Which kind of POKéMON would be right\n"
+ .string "for me, one {STR_VAR_1} or {STR_VAR_2}?\p"
+ .string "Don’t be shy now.\n"
+ .string "Let’s blurt it out!$"
+
+gText_082BF268:: @ 82BF268
+ .string "Uh-huh, one {STR_VAR_1} it is!\n"
+ .string "OK, A-OK!\l"
+ .string "I’ll get one in a BALL, like, cram!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_082BF2D1:: @ 82BF2D1
+ .string "{PLAYER}{STRING 5}, listen! Big news!\n"
+ .string "I caught a mirage POKéMON!\p"
+ .string "Of course I’m lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at catching\l"
+ .string "POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "kind of POKéMON I should catch,\l"
+ .string "master?\p"
+ .string "Which would be better?\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}?$"
+
+gText_082BF3CF:: @ 82BF3CF
+ .string "Okay, so it’s {STR_VAR_1} you chose?\n"
+ .string "I’ll grab the other kind, then!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+gText_082BF46A:: @ 82BF46A
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "Surely you remember who am I?\p"
+ .string "Today, I have a POKéMON question\n"
+ .string "that begs your suggestion!\p"
+ .string "I have the choice between this\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, you see.\l"
+ .string "Which is the one to catch for me?$"
+
+gText_082BF551:: @ 82BF551
+ .string "{STR_VAR_1}, you say, hey, hey!\n"
+ .string "I’ll go get me one right away!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+gText_082BF5C3:: @ 82BF5C3
+ .string "Oh, wow, if it isn’t {PLAYER}!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I’m already talking to you!\p"
+ .string "It’s been a long time. Let me break\n"
+ .string "the ice. I’m also looking for advice!\l"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\p"
+ .string "My POKéMON--which should I use?\n"
+ .string "It’s either {STR_VAR_1} or {STR_VAR_2}.\l"
+ .string "Which do you choose?$"
+
+gText_082BF6E5:: @ 82BF6E5
+ .string "If that {STR_VAR_1} is the best,\n"
+ .string "I’ll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_082BF773:: @ 82BF773
+ .string "Oh, hi, {PLAYER}{STRING 5}…\n"
+ .string "I have this horrible headache…\p"
+ .string "I must’ve worried too much about\n"
+ .string "the kind of POKéMON I should raise.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{STRING 5}, if I had to choose between\n"
+ .string "the POKéMON {STR_VAR_1} and\l"
+ .string "{STR_VAR_2}, which should it be?$"
+
+gText_082BF869:: @ 82BF869
+ .string "Hm, one {STR_VAR_1}, all right.\n"
+ .string "I’ll go look for one when I get better.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_082BF8DD:: @ 82BF8DD
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…?\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "I’m getting all flustered…\l"
+ .string "I… I need your advice.\p"
+ .string "I… I’m really embarrassed, but I can’t\n"
+ .string "decide which POKéMON to use.\p"
+ .string "If the choices were {STR_VAR_1} or\n"
+ .string "{STR_VAR_2}, which would be better?$"
+
+gText_082BF9BA:: @ 82BF9BA
+ .string "Oh… Okay!\n"
+ .string "I’ll do my best with one {STR_VAR_1}.\p"
+ .string "I hope I can do my best without\n"
+ .string "getting all flustered.\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_082BFA5A:: @ 82BFA5A
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really real?\p"
+ .string "No, no, if you are real, it’s fine.\n"
+ .string "Incidentally, I would like to obtain\l"
+ .string "your advice.\p"
+ .string "It’s about the POKéMON I am to use.\p"
+ .string "If the choices are the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, which is\l"
+ .string "more worthy of me?$"
+
+gText_082BFB4E:: @ 82BFB4E
+ .string "{STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope it is something even I can\n"
+ .string "handle with aplomb.\p"
+ .string "Let us meet again!$"
+
+gText_082BFBF2:: @ 82BFBF2
+ .string "Waaah! Oh, {PLAYER}!\n"
+ .string "Snivel… Hiccup…\p"
+ .string "I have a dilemma!\n"
+ .string "I can’t decide on a move for\l"
+ .string "my {STR_VAR_1}…\p"
+ .string "Please, please, {PLAYER}.\n"
+ .string "Can you decide for me?\p"
+ .string "For my {STR_VAR_1}, which move would\n"
+ .string "be the better choice: {STR_VAR_2}\l"
+ .string "or {STR_VAR_3}?$"
+
+gText_082BFCAE:: @ 82BFCAE
+ .string "{STR_VAR_1}?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I’m so sorry, {PLAYER}!\n"
+ .string "You’ve made me so happy by deciding\l"
+ .string "the move, I’m crying…\p"
+ .string "Snivel…\n"
+ .string "Thank you so much!$"
+
+gText_082BFD26:: @ 82BFD26
+ .string "Yay! Hi, {PLAYER}!\n"
+ .string "I need your advice again!\p"
+ .string "I want to teach my {STR_VAR_1}\n"
+ .string "a cool move.\p"
+ .string "I like either of the moves\n"
+ .string "{STR_VAR_2} or {STR_VAR_3}.\l"
+ .string "What’s your recommendation?$"
+
+gText_082BFDB1:: @ 82BFDB1
+ .string "{STR_VAR_1} is better? I guess so!\n"
+ .string "Okay, I’ll go with that!\p"
+ .string "If we meet here again, please teach\n"
+ .string "me something else, teacher!$"
+
+gText_082BFE24:: @ 82BFE24
+ .string "{PLAYER}, hello!\n"
+ .string "It’s about my {STR_VAR_1}, but I’m\l"
+ .string "worried about its moves.\p"
+ .string "You see, it’s the moves {STR_VAR_2}\n"
+ .string "and {STR_VAR_3}.\p"
+ .string "Which is stronger and better for\n"
+ .string "my {STR_VAR_1}?$"
+
+gText_082BFEAD:: @ 82BFEAD
+ .string "{STR_VAR_1} is your choice?\n"
+ .string "Okay, I got it!\p"
+ .string "I’ll go teach {STR_VAR_1} to\n"
+ .string "my POKéMON right away!\p"
+ .string "See you again!$"
+
+gText_082BFF0A:: @ 82BFF0A
+ .string "Ohhh, {PLAYER}…\n"
+ .string "I’m hopeless, no, really!\p"
+ .string "I’ve decided to raise a POKéMON,\n"
+ .string "but now I can’t even decide what\l"
+ .string "move I should let it learn…\p"
+ .string "I know that it doesn’t mean anything\n"
+ .string "to you, {PLAYER}.\p"
+ .string "But it means a lot to me…\p"
+ .string "Please, {PLAYER}, could you choose\n"
+ .string "a move for my {STR_VAR_1}?\p"
+ .string "If you could even choose between\n"
+ .string "{STR_VAR_2} and {STR_VAR_3}…$"
+
+gText_082C0032:: @ 82C0032
+ .string "I understand!\p"
+ .string "But will it even be willing to learn\n"
+ .string "{STR_VAR_1} for me…\l"
+ .string "No! I’ll do my best!\p"
+ .string "Thank you!$"
+
+gText_082C0090:: @ 82C0090
+ .string "Oh, {PLAYER}{STRING 5}!\n"
+ .string "I was just hoping to see you, too!\p"
+ .string "I was wondering what move would\n"
+ .string "be suitable for my {STR_VAR_1}.\p"
+ .string "I can’t decide, so can you decide\n"
+ .string "for me instead?\p"
+ .string "For instance… How about the moves\n"
+ .string "{STR_VAR_2} and {STR_VAR_3}?\l"
+ .string "Which one would be better?$"
+
+gText_082C016E:: @ 82C016E
+ .string "{STR_VAR_1}? That’s great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+gText_082C01F7:: @ 82C01F7
+ .string "How could things be this busy?\n"
+ .string "Hey, if it isn’t {PLAYER}{STRING 5}!\l"
+ .string "How’s it going?\p"
+ .string "Since I got up this morning, I’ve done\n"
+ .string "my jogging, swimming, and cooking!\p"
+ .string "You wouldn’t believe how busy I am!\p"
+ .string "I can’t even decide what move\n"
+ .string "my {STR_VAR_1} should learn!\p"
+ .string "{STR_VAR_2} looks good, huh?\n"
+ .string "But {STR_VAR_3}’s also decent.\p"
+ .string "{PLAYER}{STRING 5}, give me some of your good\n"
+ .string "advice! Which move’d be good for me?$"
+
+gText_082C034C:: @ 82C034C
+ .string "Okay, gotcha.\n"
+ .string "I’ll make room in my schedule and\l"
+ .string "teach that move.\p"
+ .string "I’m glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+gText_082C03CA:: @ 82C03CA
+ .string "Oh! Lucky!\n"
+ .string "I met you again, {PLAYER}!\l"
+ .string "I need to tap your mind again today.\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "For my {STR_VAR_1}, which is the move\n"
+ .string "best suited, {STR_VAR_2} or\l"
+ .string "{STR_VAR_3}?$"
+
+gText_082C046E:: @ 82C046E
+ .string "Ahhh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+gText_082C04F9:: @ 82C04F9
+ .string "Oh, hello, {PLAYER}.\n"
+ .string "I trust you’ve been well?\p"
+ .string "I have to seek your advice again.\n"
+ .string "It’s about my dearest {STR_VAR_1}.\p"
+ .string "What would be the ideal move for\n"
+ .string "my lovable {STR_VAR_1}?\l"
+ .string "{STR_VAR_2} or {STR_VAR_3}?$"
+
+gText_082C0598:: @ 82C0598
+ .string "{STR_VAR_1} it is!\n"
+ .string "I will teach that right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+gText_082C0602:: @ 82C0602
+ .string "Eek! {PLAYER}! I met you again!\n"
+ .string "I… I’m overjoyed!\p"
+ .string "Whenever I’m in need, you’re always\n"
+ .string "there for me, {PLAYER}!\p"
+ .string "Today, I want you to recommend\n"
+ .string "a move for me!\p"
+ .string "Please choose a move for\n"
+ .string "my {STR_VAR_1}!\p"
+ .string "Which move would be better,\n"
+ .string "{STR_VAR_2} or {STR_VAR_3}?$"
+
+gText_082C06D8:: @ 82C06D8
+ .string "Oh-oh-oh! Thank you!\n"
+ .string "{STR_VAR_1} is it!\l"
+ .string "Perfectly understood!\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+gText_082C074A:: @ 82C074A
+ .string "Hola, {PLAYER}{STRING 5}, bueno!\n"
+ .string "I’m hoping for some more of\l"
+ .string "your sage advice today!\p"
+ .string "What would be the best move for\n"
+ .string "my {STR_VAR_1}?\p"
+ .string "It should be something that’ll\n"
+ .string "let me win just like that!\p"
+ .string "Would it be {STR_VAR_2}?\n"
+ .string "Or {STR_VAR_3}?$"
+
+gText_082C0809:: @ 82C0809
+ .string "Uh-huh, {STR_VAR_1} it is!\n"
+ .string "Si, bueno!\l"
+ .string "I’ll get it taught, like, ka-blam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+gText_082C086E:: @ 82C086E
+ .string "{PLAYER}{STRING 5}, it’s completely wild!\p"
+ .string "My POKéMON!\n"
+ .string "It learned six moves!\p"
+ .string "Of course I’m lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at choosing moves\l"
+ .string "for my POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "kind of move I should teach?\p"
+ .string "{STR_VAR_2} or {STR_VAR_3}--which\n"
+ .string "would go with my {STR_VAR_1} best?$"
+
+gText_082C0982:: @ 82C0982
+ .string "Okay, so it’s {STR_VAR_1} you chose?\n"
+ .string "I’ll choose another move, then!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+gText_082C0A1D:: @ 82C0A1D
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "I’m always with it, don’t ask me why.\p"
+ .string "Today, I have a move question\n"
+ .string "that begs your suggestion!\p"
+ .string "{STR_VAR_2} and {STR_VAR_3} are\n"
+ .string "the moves. What would be the best\l"
+ .string "for my {STR_VAR_1} so it grooves?$"
+
+gText_082C0AFD:: @ 82C0AFD
+ .string "{STR_VAR_1}, you say, hey, hey!\n"
+ .string "I’ll go teach that right away!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+gText_082C0B6F:: @ 82C0B6F
+ .string "Oh, yeahah, if it isn’t {PLAYER}!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I’m already talking to you!\p"
+ .string "{PLAYER}, are you surprised by me?\n"
+ .string "I want your advice, can’t you see?\p"
+ .string "Are you receiving me?\n"
+ .string "You are receiving me!\p"
+ .string "My {STR_VAR_1}--what should it use?\n"
+ .string "It’s {STR_VAR_2} or {STR_VAR_3},\l"
+ .string "what do you choose?$"
+
+gText_082C0C7D:: @ 82C0C7D
+ .string "If that {STR_VAR_1} is the best,\n"
+ .string "I’ll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+gText_082C0D0B:: @ 82C0D0B
+ .string "Gahack! Gaah! Oh, {PLAYER}{STRING 5}…\n"
+ .string "I have this lousy cold, I do…\p"
+ .string "I want to pick a move for my POKéMON,\n"
+ .string "but I’m not up to it…\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{STRING 5}, if I had to choose between\n"
+ .string "{STR_VAR_2} and {STR_VAR_3} for\l"
+ .string "my {STR_VAR_1}, which would it be?$"
+
+gText_082C0DFE:: @ 82C0DFE
+ .string "Hm, {STR_VAR_1}, all right. Cough!\n"
+ .string "I’ll go teach it when I get better.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+gText_082C0E71:: @ 82C0E71
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…?\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "I’m getting all flustered…\l"
+ .string "I… I need your advice.\p"
+ .string "I… I’m really embarrassed, but I can’t\n"
+ .string "decide what move I should teach\l"
+ .string "my POKéMON.\p"
+ .string "It’s for my {STR_VAR_1}.\n"
+ .string "If the choices were {STR_VAR_2} or\l"
+ .string "{STR_VAR_3}, which would be better?$"
+
+gText_082C0F6D:: @ 82C0F6D
+ .string "Oh… Okay!\n"
+ .string "I’ll try that {STR_VAR_1}.\p"
+ .string "I hope I can teach that move…\n"
+ .string "This is so nerve-racking…\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+gText_082C1003:: @ 82C1003
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really real?\p"
+ .string "Perhaps you’re one of those popular\n"
+ .string "mimics?\p"
+ .string "No, no, if you are real, it’s fine.\n"
+ .string "No need to be upset, I assure you!\p"
+ .string "Incidentally, I would like to obtain\n"
+ .string "your advice.\p"
+ .string "It’s about my {STR_VAR_1}.\p"
+ .string "Which move would be better for it to\n"
+ .string "use, {STR_VAR_2} or {STR_VAR_3}?$"
+
+gText_082C1122:: @ 82C1122
+ .string "{STR_VAR_1}?\n"
+ .string "There’s no question about that?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope it is something even\n"
+ .string "my POKéMON can learn.\p"
+ .string "Let us meet again!$"
+
+gText_082C11D1:: @ 82C11D1
+ .string "Oh… {PLAYER}?\n"
+ .string "It is {PLAYER}!\l"
+ .string "Oh! Sniff…sob… Please, listen!\p"
+ .string "I… When I battle, I get so nervous,\n"
+ .string "I can’t help crying even if I win…\p"
+ .string "I wish I could say something cool\n"
+ .string "when I win…\p"
+ .string "Please, please, {PLAYER}!\n"
+ .string "Could you maybe teach me something\l"
+ .string "cool to say when I win so I don’t cry?$"
+
+gText_082C12D5:: @ 82C12D5
+ .string "{STR_VAR_1}\p"
+ .string "Awesome! Wicked! Awoooh!\n"
+ .string "It’s really cool!\p"
+ .string "Oh… I’m sorry…\n"
+ .string "I’m so happy, I’m crying…\p"
+ .string "Snivel… {PLAYER}!\n"
+ .string "Thank you so much for everything!\p"
+ .string "I will battle the best I can for\n"
+ .string "your sake, {PLAYER}!\p"
+ .string "{PLAYER}…\n"
+ .string "Next time… We should battle!$"
+
+gText_082C13AB:: @ 82C13AB
+ .string "Yay! It’s {PLAYER}! Hello!\n"
+ .string "I wanted to ask you something!\p"
+ .string "I want to say something cool when\n"
+ .string "I win a match.\p"
+ .string "Do you have a cool saying that\n"
+ .string "you could recommend?$"
+
+gText_082C1444:: @ 82C1444
+ .string "{STR_VAR_1}\p"
+ .string "Oh, wow! That is so cool!\n"
+ .string "Okay, I’ll say that!\p"
+ .string "Thanks for teaching me all this time!\n"
+ .string "I’m going to do the best I can\l"
+ .string "wherever I go from now on!\p"
+ .string "When we meet again, it’ll be for\n"
+ .string "a battle!$"
+
+gText_082C1501:: @ 82C1501
+ .string "{PLAYER}, hello!\p"
+ .string "My POKéMON and I are ready for\n"
+ .string "anything, except for one thing.\p"
+ .string "I think it would be good if I had\n"
+ .string "something to shout when I win.\p"
+ .string "Could you think up something good\n"
+ .string "to say?$"
+
+gText_082C15B6:: @ 82C15B6
+ .string "{STR_VAR_1}\p"
+ .string "…Cool!\n"
+ .string "I will use that!\p"
+ .string "I’m going out to battle all over\n"
+ .string "the place.\p"
+ .string "Who knows, I may even get to battle\n"
+ .string "you one day, {PLAYER}.\p"
+ .string "Next time, let’s meet at a place\n"
+ .string "of battle!$"
+
+gText_082C165E:: @ 82C165E
+ .string "Hello, {PLAYER}…\n"
+ .string "I’m sorry to bug you, but I’m hopeless…\p"
+ .string "Even when…\n"
+ .string "Even when I win, I don’t have anything\l"
+ .string "special to say…\p"
+ .string "I know that it doesn’t mean anything\n"
+ .string "to you, {PLAYER}.\p"
+ .string "But it means a lot to me…\p"
+ .string "Please, {PLAYER}, what should I say\n"
+ .string "if I win a battle?$"
+
+gText_082C174F:: @ 82C174F
+ .string "{STR_VAR_1}\p"
+ .string "That’s inspired…\p"
+ .string "Uh… Is it okay for someone like me\n"
+ .string "to even say that?\p"
+ .string "No! I’ll do my best!\p"
+ .string "{PLAYER}, thank you so much for\n"
+ .string "putting up with me for so long…\p"
+ .string "I promise to do my best from now on.\p"
+ .string "I’m sure you’ll quickly forget about\n"
+ .string "someone like me, but let’s meet\l"
+ .string "somewhere again!$"
+
+gText_082C1862:: @ 82C1862
+ .string "Oh, {PLAYER}{STRING 5}.\n"
+ .string "There’s something I want you to hear.\p"
+ .string "I know that I don’t always sound\n"
+ .string "nice or polite…\p"
+ .string "When I win a battle, I think I come\n"
+ .string "across as being arrogant.\p"
+ .string "I don’t want people to dislike me,\n"
+ .string "so I want to say something nice to\l"
+ .string "someone I beat.\p"
+ .string "But I can’t think of anything good!\n"
+ .string "Could you think something up for me?$"
+
+gText_082C19A0:: @ 82C19A0
+ .string "{STR_VAR_1}\p"
+ .string "Not bad!\n"
+ .string "Yup, that’s what I’ll go with!\p"
+ .string "I’m going to hit the road and do what\n"
+ .string "I can with what you taught me in\l"
+ .string "my head and heart.\p"
+ .string "I’m sorry that I’ve been so pushy\n"
+ .string "with you!\p"
+ .string "Next time, we battle, okay?\n"
+ .string "See you!$"
+
+gText_082C1A76:: @ 82C1A76
+ .string "Oh, I can’t get over how busy I am!\n"
+ .string "Oh, hey, I was looking for you, {PLAYER}{STRING 5}.\p"
+ .string "Are you well as usual?\n"
+ .string "Things haven’t changed for me at all.\p"
+ .string "I’ve got running, fighting, and mapping\n"
+ .string "to do. Why am I so busy?\p"
+ .string "But even though I’m busy, it’d be rude\n"
+ .string "to just turn on my heels and walk away\l"
+ .string "from a win without saying a word.\p"
+ .string "So, what would be a cool saying to\n"
+ .string "underline my coolness when I’m done\l"
+ .string "and walking away? {PLAYER}{STRING 5}, help me!$"
+
+gText_082C1C16:: @ 82C1C16
+ .string "{STR_VAR_1}\p"
+ .string "Okay, gotcha.\n"
+ .string "I can find time to say that!\p"
+ .string "Honestly, I’m glad I met a good mentor\n"
+ .string "like you.\p"
+ .string "I’m going to make time somehow so\n"
+ .string "I can get into battling.\p"
+ .string "Thanks for everything, {PLAYER}{STRING 5}!\n"
+ .string "We have to battle, you and me, one day!$"
+
+gText_082C1CF5:: @ 82C1CF5
+ .string "I lucked out again!\n"
+ .string "{PLAYER}! Am I glad to see you!\l"
+ .string "Like usual, I need your advice!\p"
+ .string "Drum roll, please!\n"
+ .string "The last question I have is…\p"
+ .string "If I win a battle and want to end\n"
+ .string "it with a cool flourish, what\l"
+ .string "should I say?$"
+
+gText_082C1DC1:: @ 82C1DC1
+ .string "{STR_VAR_1}\p"
+ .string "That… That’s fabulous!\n"
+ .string "It’s dignified and cool! I claim it!\p"
+ .string "…Listen, I think I’m getting decent\n"
+ .string "at this, huh?\p"
+ .string "So, I’m thinking of challenging other\n"
+ .string "TRAINERS from now on.\p"
+ .string "{PLAYER}, your advice really helped me.\p"
+ .string "Maybe one day, there’ll be a time when\n"
+ .string "we battle!\p"
+ .string "Thank you for everything!$"
+
+gText_082C1EDC:: @ 82C1EDC
+ .string "Oh, {PLAYER}.\n"
+ .string "I’m so glad I met you!\p"
+ .string "I no longer have any concerns with\n"
+ .string "regard to my POKéMON.\p"
+ .string "It’s myself that worries me…\p"
+ .string "Do you know how a TRAINER says\n"
+ .string "a few things upon winning a battle?\p"
+ .string "Definitely, I wish I could do that,\n"
+ .string "too!\p"
+ .string "Please, what should I say when\n"
+ .string "I win a battle?$"
+
+gText_082C1FEC:: @ 82C1FEC
+ .string "{STR_VAR_1}\p"
+ .string "Ah! That saying! It refreshes me\n"
+ .string "and makes me feel reborn!\p"
+ .string "I must use that right away!\p"
+ .string "And now, I must take my leave,\n"
+ .string "{PLAYER}…\p"
+ .string "I will go out to battle many others,\n"
+ .string "but never will I forget your teachings.\p"
+ .string "Perhaps one day…\n"
+ .string "Farewell!$"
+
+gText_082C20D1:: @ 82C20D1
+ .string "Eek! I spotted {PLAYER}!\n"
+ .string "I… I’m overjoyed to see you!\p"
+ .string "Oh-oh-oh! There’s something I just\n"
+ .string "had to ask you!\p"
+ .string "A little while ago, I won a battle.\n"
+ .string "That part was giddying!\p"
+ .string "But it made me so overjoyed that\n"
+ .string "I choked up and couldn’t say a thing!\p"
+ .string "So now, {PLAYER}, please, I want you to\n"
+ .string "think up an exit line for when I win!$"
+
+gText_082C21FF:: @ 82C21FF
+ .string "{STR_VAR_1}\p"
+ .string "Waaaaah!\n"
+ .string "I’m going to say that?!\l"
+ .string "I… I’m delirious with joy!\p"
+ .string "Th-th-thank you!\n"
+ .string "I have nothing left to regret now!\p"
+ .string "I’m going to travel now and battle\n"
+ .string "all sorts of people.\p"
+ .string "Everything, I owe it to you, {PLAYER}.\n"
+ .string "Really, really, thank you!\p"
+ .string "I’ve got to go now, but let’s meet\n"
+ .string "in battle one day!$"
+
+gText_082C231C:: @ 82C231C
+ .string "Hola, bueno!\n"
+ .string "{PLAYER}{STRING 5}!\p"
+ .string "You know, I’m getting the itch to roam\n"
+ .string "and battle where I may.\p"
+ .string "But before I do, I want your advice\n"
+ .string "once again, please!\p"
+ .string "If I were to win a battle, what would\n"
+ .string "be a good boast I could say to my\l"
+ .string "fallen TRAINER opponent?$"
+
+gText_082C2407:: @ 82C2407
+ .string "{STR_VAR_1}\p"
+ .string "Uh-huh, that’s sweet!\n"
+ .string "Si, bueno!\l"
+ .string "I’ll try saying that, like, ham!\p"
+ .string "And now, it’s time to say good-bye!\n"
+ .string "Thanks for all sorts of things!\p"
+ .string "Give me a battle one day, OK?\n"
+ .string "Adios!$"
+
+gText_082C24B5:: @ 82C24B5
+ .string "{PLAYER}{STRING 5}, there’s big trouble!\p"
+ .string "When I win a battle, I brag about it\n"
+ .string "for an hour at least!\p"
+ .string "Of course I’m lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at chatting.\p"
+ .string "So, how about deciding for me what\n"
+ .string "I should say after winning a battle,\l"
+ .string "master?$"
+
+gText_082C25B1:: @ 82C25B1
+ .string "{STR_VAR_1}\p"
+ .string "That’s what I should say, huh?\n"
+ .string "Then, I’ll stay away from that!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks for teaching me all this time,\n"
+ .string "master!\p"
+ .string "I’m finally understanding what being\n"
+ .string "a TRAINER is about.\p"
+ .string "I’m going to go out and win battles\n"
+ .string "against any TRAINER.\p"
+ .string "Maybe it’ll be you one day, master!\p"
+ .string "That’s all!\n"
+ .string "Farewell, my master!$"
+
+gText_082C2707:: @ 82C2707
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "This will be my last question,\l"
+ .string "don’t you cry!\p"
+ .string "It’s a saying question\n"
+ .string "that begs your suggestion!\p"
+ .string "If I win a match, what can I say\n"
+ .string "in a real cool way?$"
+
+gText_082C27D4:: @ 82C27D4
+ .string "{STR_VAR_1}\p"
+ .string "Perfect! That’s what I’ll use.\n"
+ .string "I was right to make you choose!\p"
+ .string "And now, I think it’d be best,\n"
+ .string "if I were to fly the nest!\p"
+ .string "Thanks for all you taught me.\n"
+ .string "I’ll be off on a battle spree!\p"
+ .string "B-O-N-V-O-Y-A-G-E!\n"
+ .string "And that spells bon voyage,\l"
+ .string "to you this is my homage!$"
+
+gText_082C28D6:: @ 82C28D6
+ .string "Oh, yeah, {PLAYER}!\n"
+ .string "I found you again today!\p"
+ .string "What should I do? Ask you again?\n"
+ .string "Why not? I’m already asking you!\p"
+ .string "Anyways, {PLAYER}…\n"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\l"
+ .string "I need some more advice for me!\p"
+ .string "It’s about what I should yell.\n"
+ .string "Something cool to holler when\l"
+ .string "a battle ends well.\p"
+ .string "Come on, I wanna hear you say it!$"
+
+gText_082C2A0B:: @ 82C2A0B
+ .string "{STR_VAR_1}\p"
+ .string "All right, all right!\n"
+ .string "I’ll use that because it’s so tight!\p"
+ .string "I’m out of things to ask you.\n"
+ .string "Waving bye is all that’s left to do.\p"
+ .string "But maybe one day we’ll meet, with one\n"
+ .string "destined to go down in defeat.\p"
+ .string "But, it really is time to say farewell.\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me!\p"
+ .string "Take care, {PLAYER}!\n"
+ .string "Love ya!$"
+
+gText_082C2B50:: @ 82C2B50
+ .string "{PLAYER}{STRING 5}, I’m finished…\n"
+ .string "My nose won’t stop dripping…\p"
+ .string "I was trying to think up something\n"
+ .string "cool to say when I win a battle.\p"
+ .string "It inspired me so much, it made me cry,\n"
+ .string "and now my nose won’t stop running…\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me, {PLAYER}{STRING 5}.\p"
+ .string "When I win a battle,\n"
+ .string "what should I say?$"
+
+gText_082C2C77:: @ 82C2C77
+ .string "{STR_VAR_1}\p"
+ .string "… … …That’s good.\n"
+ .string "No, it’s awe inspiring!\l"
+ .string "It’s bringing fresh tears to my eyes!\p"
+ .string "But in spite of my tears and runny\n"
+ .string "nose, I will use that saying!\p"
+ .string "I’m plumb out of things to ask you,\n"
+ .string "{PLAYER}{STRING 5}.\p"
+ .string "From now on, we’re rivals!\n"
+ .string "Thanks for everything!$"
+
+gText_082C2D67:: @ 82C2D67
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "You’re making me all nervous.\p"
+ .string "I… I need your advice again.\n"
+ .string "I’ll make it my last, though…\p"
+ .string "It’s really embarrassing to ask,\n"
+ .string "but what if I win a battle?\l"
+ .string "What should I say?$"
+
+gText_082C2E41:: @ 82C2E41
+ .string "{STR_VAR_1}\p"
+ .string "Oh… Okay!\n"
+ .string "I’ll try to say that!\l"
+ .string "I might be too nervous to say it…\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "I have to say good-bye now.\p"
+ .string "I’ll obey all that you’ve taught me,\n"
+ .string "{PLAYER}{STRING 5}, and do the best I can.$"
+
+gText_082C2EF5:: @ 82C2EF5
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps a clever {PLAYER} DOLL?\p"
+ .string "Oh, no, no, no, don’t worry!\n"
+ .string "If you really are real, please\l"
+ .string "forget about my rudeness.\p"
+ .string "No need to be so angry. All I wish for\n"
+ .string "is more of your fine advice.\p"
+ .string "It concerns a saying.\p"
+ .string "More precisely, what should I say\n"
+ .string "if I win a battle?$"
+
+gText_082C3023:: @ 82C3023
+ .string "{STR_VAR_1}\p"
+ .string "… … … … … …\n"
+ .string "When I win a match…\p"
+ .string "{STR_VAR_1}\p"
+ .string "…Are you serious?\p"
+ .string "I see. If you are serious, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope even I will be able to\n"
+ .string "put that saying to good use.\p"
+ .string "I seem to have run dry on what advice\n"
+ .string "I need.\p"
+ .string "I do believe it’s high time I bid you\n"
+ .string "farewell and strike out on my own.\p"
+ .string "Thank you, my mentor!\n"
+ .string "I apologize for my skepticism!$"
diff --git a/include/apprentice.h b/include/apprentice.h
new file mode 100644
index 000000000..90383b737
--- /dev/null
+++ b/include/apprentice.h
@@ -0,0 +1,20 @@
+#ifndef GUARD_APPRENTICE_H
+#define GUARD_APPRENTICE_H
+
+#define APPRENTICE_SPECIES_COUNT 10
+
+struct ApprenticeTrainer
+{
+ u8 name[6][PLAYER_NAME_LENGTH + 1]; // For all six languages.
+ u16 otId;
+ u8 facilityClass;
+ u16 species[APPRENTICE_SPECIES_COUNT];
+ u8 rest[14];
+};
+
+extern const struct ApprenticeTrainer gApprentices[];
+
+void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId);
+const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language);
+
+#endif // GUARD_APPRENTICE_H
diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h
new file mode 100644
index 000000000..9db58bb8e
--- /dev/null
+++ b/include/constants/apprentice.h
@@ -0,0 +1,22 @@
+#ifndef GUARD_CONSTANTS_APPRENTICE_H
+#define GUARD_CONSTANTS_APPRENTICE_H
+
+#define APPRENTICE_ASK_WHICH_LEVEL 0
+#define APPRENTICE_ASK_3SPECIES 1
+#define APPRENTICE_ASK_2SPECIES 2
+#define APPRENTICE_ASK_MOVES 3
+#define APPRENTICE_ASK_GIVE 4
+#define APPRENTICE_ASK_YES_NO 6
+
+#define APPRENTICE_BUFF_SPECIES1 0
+#define APPRENTICE_BUFF_SPECIES2 1
+#define APPRENTICE_BUFF_SPECIES3 2
+#define APPRENTICE_BUFF_MOVE1 3
+#define APPRENTICE_BUFF_MOVE2 4
+#define APPRENTICE_BUFF_ITEM 5
+#define APPRENTICE_BUFF_NAME 6
+#define APPRENTICE_BUFF_EASY_CHAT 7
+#define APPRENTICE_BUFF_LEVEL 8
+#define APPRENTICE_BUFF_SPECIES4 9
+
+#endif // GUARD_CONSTANTS_APPRENTICE_H
diff --git a/include/global.h b/include/global.h
index 9ae892b5c..43e829dcf 100644
--- a/include/global.h
+++ b/include/global.h
@@ -295,11 +295,25 @@ struct UnknownSaveBlock2Struct
u8 field_EB;
}; // sizeof = 0xEC
-struct UnkRecordMixingStruct
+struct ApprenticeMon
{
- u8 field_0[0x34];
+ u16 species;
+ u16 moves[4];
+ u16 item;
+};
+
+struct Apprentice
+{
+ u8 id:5;
+ u8 lvlMode:2; // + 1
+ u8 field_1;
+ u8 number;
+ struct ApprenticeMon monData[3];
+ u16 easyChatWords[6];
u8 playerId[4];
- u8 field_38[10];
+ u8 playerName[PLAYER_NAME_LENGTH];
+ u8 language;
+ u32 unk40;
};
struct UnknownPokemonStruct
@@ -466,6 +480,15 @@ struct BattleFrontier
/*0xEFC*/ struct FrontierMonData field_EFC[3];
};
+struct Sav2_B8
+{
+ u8 unk0_0:2;
+ u8 unk0_1:2;
+ u8 unk0_2:2;
+ u8 unk0_3:2;
+ u16 unk2;
+};
+
struct SaveBlock2
{
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
@@ -490,13 +513,17 @@ struct SaveBlock2
/*0xA8*/ u32 field_A8;
/*0xAC*/ u32 encryptionKey;
- // TODO: fix and verify labels
+ // Possibly player's apprentice, will document once battle tower is decompiled.
/*0xB0*/ u8 field_B0;
- /*0xB1*/ u8 field_B1;
+ /*0xB1*/ u8 field_B1_0:2;
+ /*0xB1*/ u8 field_B1_1:4;
+ /*0xB1*/ u8 field_B1_2:2;
/*0xB2*/ u8 field_B2_0:3;
/*0xB2*/ u8 field_B2_1:2;
- /*0xB3*/ u8 field_B3[0x29];
- /*0xDC*/ struct UnkRecordMixingStruct field_DC[4];
+ /*0xB3*/ u8 field_B3;
+ /*0xB4*/ u8 field_B4[3];
+ /*0xB8*/ struct Sav2_B8 field_B8[9];
+ /*0xDC*/ struct Apprentice apprentices[4];
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpResults pokeJump;
/*0x20C*/ struct BerryPickingResults berryPick;
diff --git a/include/item_menu.h b/include/item_menu.h
index 8a474bc0f..59316e948 100644
--- a/include/item_menu.h
+++ b/include/item_menu.h
@@ -54,6 +54,7 @@ extern u16 gSpecialVar_ItemId;
void sub_81AAC14(void);
void sub_81AAC50(void);
void sub_81AAC70(void);
+void sub_81AAC28(void);
void bag_menu_mail_related(void);
void CB2_BagMenuFromStartMenu(void);
u8 sub_81ABB2C(u8 pocketId);
diff --git a/include/menu.h b/include/menu.h
index 2689b026c..d105eb5ec 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -50,7 +50,7 @@ void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
void reset_temp_tile_data_buffers(void);
void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode);
bool8 free_temp_tile_data_buffers_if_possible(void);
-struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16);
+struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock);
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode);
s8 Menu_ProcessInputNoWrap_(void);
diff --git a/include/pokemon.h b/include/pokemon.h
index 9eddd8155..d261fba85 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -240,32 +240,6 @@ struct PokemonStorage
/*0x83C2*/ u8 boxWallpapers[14];
};
-struct UnknownPokemonSubStruct2
-{
- u16 species;
- u16 moves[4];
- u16 item;
-};
-
-struct UnknownPokemonStruct2
-{
- u8 field_0_0 : 5;
- u8 field_0_1 : 2;
- u8 field_1;
- u8 field_2;
- u8 field_3;
- struct UnknownPokemonSubStruct2 mons[3];
- u8 field_28[23];
- u8 language;
-};
-
-struct UnknownPokemonStruct3
-{
- u8 field_0[48];
- u16 field_30;
- u8 field_32[38];
-};
-
struct Unknown_806F160_Struct
{
u8 field_0_0:4;
@@ -472,7 +446,7 @@ void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u
void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread);
void sub_806819C(struct Pokemon *mon, struct UnknownPokemonStruct *src);
void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lvl50);
-void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u8 monId);
+void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId);
void CreateMonWithEVSpreadPersonalityOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId);
void sub_80686FC(struct Pokemon *mon, struct UnknownPokemonStruct *dest);
void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId);
diff --git a/include/script_menu.h b/include/script_menu.h
index c50bef00f..8870e80b9 100644
--- a/include/script_menu.h
+++ b/include/script_menu.h
@@ -13,5 +13,6 @@ s32 convert_pixel_width_to_tile_width(s32);
u8 CreateWindowFromRect(u8, u8, u8, u8);
void sub_80E2A78(u8);
u32 display_text_and_get_width(const u8*, u32);
+u8 sub_80E2D5C(u8 arg0, u8 tileWidth);
#endif //GUARD_SCRIPT_MENU_H
diff --git a/ld_script.txt b/ld_script.txt
index b77c50547..626e80f1a 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -247,6 +247,7 @@ SECTIONS {
asm/battle_frontier_1.o(.text);
src/menu.o(.text);
src/battle_factory.o(.text);
+ src/apprentice.o(.text);
asm/battle_frontier_2.o(.text);
src/item_menu.o(.text);
src/list_menu.o(.text);
diff --git a/src/apprentice.c b/src/apprentice.c
new file mode 100644
index 000000000..b4b20f672
--- /dev/null
+++ b/src/apprentice.c
@@ -0,0 +1,1415 @@
+#include "global.h"
+#include "apprentice.h"
+#include "constants/apprentice.h"
+#include "string_util.h"
+#include "script.h"
+#include "text.h"
+#include "random.h"
+#include "main.h"
+#include "malloc.h"
+#include "strings.h"
+#include "menu.h"
+#include "script_menu.h"
+#include "party_menu.h"
+#include "item_menu.h"
+#include "data2.h"
+#include "task.h"
+#include "item.h"
+#include "sound.h"
+#include "battle_tower.h"
+#include "event_data.h"
+#include "international_string_util.h"
+#include "field_player_avatar.h"
+#include "new_game.h"
+#include "event_object_movement.h"
+#include "constants/items.h"
+#include "constants/songs.h"
+
+struct Unk030062ECStruct
+{
+ u8 unk0;
+ u16 unk2[3][5];
+ u8 unk20[3][5];
+};
+
+struct Unk030062F0Struct
+{
+ u16 unk0;
+ u16 unk2;
+ u16 unk4;
+ u16 unk6;
+};
+
+extern struct Unk030062ECStruct *gUnknown_030062EC;
+extern struct Unk030062F0Struct *gUnknown_030062F0;
+extern void (*gUnknown_030062F4)(void);
+
+extern void sub_8165AE8(struct Apprentice *);
+
+extern const u8 *const gUnknown_08611330[];
+extern const u8 *const gUnknown_08610FF0[][2];
+extern const u8 *const gUnknown_086112B0[][2];
+extern const u8 *const gUnknown_08611230[][2];
+extern const u8 *const gUnknown_086111B0[][2];
+extern const u8 *const gUnknown_08610EF0[][4];
+extern const u8 *const gUnknown_08611070[][5];
+extern const u8 gUnknown_08611548[8];
+extern const u8 gUnknown_086114D3[];
+extern const bool8 gUnknown_08611370[];
+extern void (* const gUnknown_086114E0[])(void);
+
+extern const u8 gUnknown_085DCEDC[];
+extern const u8 gUnknown_085DCF0E[];
+extern const u8 gUnknown_085DCEFA[];
+extern const u8 gUnknown_085DCF2C[];
+
+// text
+extern const u8 gText_Give[];
+extern const u8 gText_NoNeed[];
+extern const u8 gText_Yes[];
+extern const u8 gText_No[];
+
+// This file's functions.
+void sub_81A087C(void);
+static u16 sub_819FF98(u8 arg0);
+static bool8 sub_81A0194(u8 arg0, u16 moveId);
+static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId);
+static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height);
+static void RemoveAndHideWindow(u8 windowId);
+static void ExecuteFuncAfterButtonPress(void (*func)(void));
+
+void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId)
+{
+ u8 i, var;
+ const u8 *str;
+
+ var = gSaveBlock2Ptr->apprentices[saveblockApprenticeId].number;
+ for (i = 0; var != 0 && i < 4; var /= 10, i++)
+ ;
+
+ StringCopy7(gStringVar1, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].playerName);
+ ConvertInternationalString(gStringVar1, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].language);
+ ConvertIntToDecimalStringN(gStringVar2, gSaveBlock2Ptr->apprentices[saveblockApprenticeId].number, STR_CONV_MODE_RIGHT_ALIGN, i);
+ str = gUnknown_08611330[gSaveBlock2Ptr->apprentices[saveblockApprenticeId].id];
+ StringExpandPlaceholders(gStringVar4, str);
+}
+
+void sub_819FA50(void)
+{
+ EnableBothScriptContexts();
+}
+
+void sub_819FA5C(struct Apprentice *apprentice)
+{
+ u8 i;
+
+ for (i = 0; i < 6; i++)
+ apprentice->easyChatWords[i] |= 0xFFFF;
+
+ apprentice->playerName[0] = EOS;
+ apprentice->id = 16;
+}
+
+void sub_819FAA0(void)
+{
+ u8 i, j;
+
+ gSaveBlock2Ptr->field_B2_1 = 0;
+ for (i = 0; i < 4; i++)
+ {
+ for (j = 0; j < 6; j++)
+ gSaveBlock2Ptr->apprentices[i].easyChatWords[j] |= 0xFFFF;
+ gSaveBlock2Ptr->apprentices[i].id = 16;
+ gSaveBlock2Ptr->apprentices[i].playerName[0] = EOS;
+ gSaveBlock2Ptr->apprentices[i].lvlMode = 0;
+ gSaveBlock2Ptr->apprentices[i].number = 0;
+ gSaveBlock2Ptr->apprentices[i].field_1 = 0;
+ for (j = 0; j < 4; j++)
+ gSaveBlock2Ptr->apprentices[i].playerId[j] = 0;
+ gSaveBlock2Ptr->apprentices[i].language = gGameLanguage;
+ gSaveBlock2Ptr->apprentices[i].unk40 = 0;
+ }
+
+ sub_81A087C();
+}
+
+bool8 sub_819FBB0(void)
+{
+ return (gSaveBlock2Ptr->field_B1_0 != 0);
+}
+
+void sub_819FBC8(void)
+{
+ if (gSaveBlock2Ptr->apprentices[0].number == 0)
+ {
+ do
+ {
+ gSaveBlock2Ptr->field_B0 = gUnknown_08611548[Random() % ARRAY_COUNT(gUnknown_08611548)];
+ } while (gSaveBlock2Ptr->field_B0 == gSaveBlock2Ptr->apprentices[0].id);
+ }
+ else
+ {
+ do
+ {
+ gSaveBlock2Ptr->field_B0 = Random() % 16;
+ } while (gSaveBlock2Ptr->field_B0 == gSaveBlock2Ptr->apprentices[0].id);
+ }
+}
+
+void sub_819FC40(u8 value)
+{
+ gSaveBlock2Ptr->field_B1_0 = value;
+}
+
+void sub_819FC60(void)
+{
+ u8 array[10];
+ u8 i;
+
+ for (i = 0; i < ARRAY_COUNT(array); i++)
+ array[i] = i;
+
+ for (i = 0; i < 50; i++)
+ {
+ u8 temp;
+ u8 var1 = Random() % ARRAY_COUNT(array);
+ u8 var2 = Random() % ARRAY_COUNT(array);
+ SWAP(array[var1], array[var2], temp);
+ }
+
+ for (i = 0; i < 3; i++)
+ gSaveBlock2Ptr->field_B4[i] = ((array[i * 2] & 0xF) << 4) | ((array[i * 2 + 1]) & 0xF);
+}
+
+u8 sub_819FCF8(u8 val, u8 *arg1, u8 *arg2)
+{
+ u8 i, count;
+ u8 ret = 0;
+
+ if (val == 2)
+ {
+ do
+ {
+ ret = Random() % 3;
+ for (count = 0, i = 0; i < 5; i++)
+ {
+ if (gUnknown_030062EC->unk2[ret][i] != 0)
+ count++;
+ }
+ } while (count > 3);
+ }
+ else if (val == 1)
+ {
+ ret = arg1[*arg2];
+ (*arg2)++;
+ }
+
+ return ret;
+}
+
+void sub_819FD64(void)
+{
+ u8 sp_0[10];
+ u8 sp_C[3];
+ u8 sp_10;
+ u8 i, j;
+ u8 rand1, rand2;
+ u8 id;
+
+ for (i = 0; i < 3; i++)
+ sp_C[i] = i;
+ for (i = 0; i < 10; i++)
+ {
+ u8 temp;
+ rand1 = Random() % ARRAY_COUNT(sp_C);
+ rand2 = Random() % ARRAY_COUNT(sp_C);
+ SWAP(sp_C[rand1], sp_C[rand2], temp);
+ }
+
+ for (i = 0; i < 10; i++)
+ sp_0[i] = gUnknown_086114D3[i];
+ for (i = 0; i < 50; i++)
+ {
+ u8 temp;
+ rand1 = Random() % ARRAY_COUNT(sp_0);
+ rand2 = Random() % ARRAY_COUNT(sp_0);
+ SWAP(sp_0[rand1], sp_0[rand2], temp);
+ }
+
+ gUnknown_030062EC = AllocZeroed(sizeof(*gUnknown_030062EC));
+ gUnknown_030062EC->unk0 = 0;
+ for (i = 0; i < 5; i++)
+ {
+ for (j = 0; j < 3; j++)
+ gUnknown_030062EC->unk20[j][i] = 4;
+ }
+
+ sp_10 = 0;
+ for (i = 0; i < 9; i++)
+ {
+ gSaveBlock2Ptr->field_B8[i].unk0_0 = sp_0[i];
+ if (sp_0[i] != 3)
+ {
+ gSaveBlock2Ptr->field_B8[i].unk0_1 = sub_819FCF8(sp_0[i], sp_C, &sp_10);
+ id = gSaveBlock2Ptr->field_B8[i].unk0_1;
+ if (sp_0[i] == 2)
+ {
+ do
+ {
+ rand1 = Random() % 4;
+ for (j = 0; j < gUnknown_030062EC->unk0 + 1; j++)
+ {
+ if (gUnknown_030062EC->unk20[id][j] == rand1)
+ break;
+ }
+ } while (j != gUnknown_030062EC->unk0 + 1);
+
+ gUnknown_030062EC->unk20[id][gUnknown_030062EC->unk0] = rand1;
+ gSaveBlock2Ptr->field_B8[i].unk0_2 = rand1;
+ gSaveBlock2Ptr->field_B8[i].unk2 = sub_819FF98(gSaveBlock2Ptr->field_B8[i].unk0_1);
+ }
+ }
+ }
+
+ FREE_AND_SET_NULL(gUnknown_030062EC);
+}
+
+// No idea why a do-while loop is needed, but it will not match without it.
+
+#define APPRENTICE_SPECIES_ID(speciesArrId, monId) speciesArrId = (gSaveBlock2Ptr->field_B4[monId] >> \
+ (((gSaveBlock2Ptr->field_B2_0 >> monId) & 1) << 2)) & 0xF; \
+ do {} while (0)
+
+// Why the need to have two macros do the exact thing differently?
+#define APPRENTICE_SPECIES_ID_2(speciesArrId, monId) { u8 a0 = ((gSaveBlock2Ptr->field_B2_0 >> monId) & 1);\
+ speciesArrId = gSaveBlock2Ptr->field_B4[monId]; \
+ speciesArrId = ((speciesArrId) >> (a0 << 2)) & 0xF; \
+ }
+
+static u16 sub_819FF98(u8 arg0)
+{
+ u8 i, j;
+ u8 id;
+ u8 knownMovesCount;
+ u16 species;
+ const u16 *learnset;
+ bool32 var_24 = FALSE;
+ u16 moveId = 0;
+ bool32 valid;
+ u8 level;
+
+ if (arg0 < 3)
+ {
+ APPRENTICE_SPECIES_ID(id, arg0);
+ }
+ else
+ {
+ id = 0;
+ }
+
+ species = gApprentices[gSaveBlock2Ptr->field_B0].species[id];
+ learnset = gLevelUpLearnsets[species];
+ j = 0;
+ if (gSaveBlock2Ptr->field_B1_0 == 1)
+ level = 50;
+ else
+ level = 60;
+
+ for (j = 0; learnset[j] != 0xFFFF; j++)
+ {
+ if ((learnset[j] & 0xFE00) > (level << 9))
+ break;
+ }
+
+ knownMovesCount = j;
+ i = 0;
+ while (i < 5)
+ {
+ if (Random() % 2 == 0 || var_24 == TRUE)
+ {
+ do
+ {
+ do
+ {
+ id = Random() % (NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES);
+ valid = CanSpeciesLearnTMHM(species, id);
+ }
+ while (!valid);
+
+ moveId = ItemIdToBattleMoveId(ITEM_TM01 + id);
+ valid = TRUE;
+
+ if (knownMovesCount < 5)
+ j = 0;
+ else
+ j = knownMovesCount - 4;
+
+ for (; j < knownMovesCount; j++)
+ {
+ if ((learnset[j] & 0x1FF) == moveId)
+ {
+ valid = FALSE;
+ break;
+ }
+ }
+ } while (valid != TRUE);
+ }
+ else
+ {
+ if (knownMovesCount < 5)
+ {
+ var_24 = TRUE;
+ continue;
+ }
+ else
+ {
+ do
+ {
+ u8 learnsetId = Random() % (knownMovesCount - 4);
+ moveId = learnset[learnsetId] & 0x1FF;
+ valid = TRUE;
+ for (j = knownMovesCount - 4; j < knownMovesCount; j++)
+ {
+ if ((learnset[j] & 0x1FF) == moveId)
+ {
+ valid = FALSE;
+ break;
+ }
+ }
+ } while (valid != TRUE);
+ }
+ }
+
+ if (sub_81A0194(arg0, moveId))
+ {
+ if (gUnknown_08611370[moveId])
+ break;
+ i++;
+ }
+ }
+
+ gUnknown_030062EC->unk0++;
+ return moveId;
+}
+
+static bool8 sub_81A0194(u8 arg0, u16 moveId)
+{
+ u8 i;
+
+ for (i = 0; i < 5; i++)
+ {
+ if (gUnknown_030062EC->unk2[arg0][i] == moveId)
+ return FALSE;
+ }
+
+ gUnknown_030062EC->unk2[arg0][gUnknown_030062EC->unk0] = moveId;
+ return TRUE;
+}
+
+void GetLatestLearnedMoves(u16 species, u16 *moves)
+{
+ u8 i, j;
+ u8 level, knownMovesCount;
+ const u16 *learnset;
+
+ if (gSaveBlock2Ptr->field_B1_0 == 1)
+ level = 50;
+ else
+ level = 60;
+
+ learnset = gLevelUpLearnsets[species];
+ for (i = 0; learnset[i] != 0xFFFF; i++)
+ {
+ if ((learnset[i] & 0xFE00) > (level << 9))
+ break;
+ }
+
+ knownMovesCount = i;
+ if (knownMovesCount > 4)
+ knownMovesCount = 4;
+
+ for (j = 0; j < knownMovesCount; j++)
+ moves[j] = learnset[(i - 1) - j] & 0x1FF;
+}
+
+u16 sub_81A0284(u8 arg0, u8 speciesTableId, u8 arg2)
+{
+ u16 moves[4];
+ u8 i, count;
+
+ if (gSaveBlock2Ptr->field_B1_1 < 3)
+ return 0;
+
+ count = 0;
+ for (i = 0; i < 9; i++)
+ {
+ if (gSaveBlock2Ptr->field_B8[i].unk0_0 == 0)
+ break;
+ count++;
+ }
+
+ GetLatestLearnedMoves(gApprentices[gSaveBlock2Ptr->field_B0].species[speciesTableId], moves);
+ for (i = 0; i < count && i < gSaveBlock2Ptr->field_B1_1 - 3; i++)
+ {
+ if (gSaveBlock2Ptr->field_B8[i].unk0_0 == 2
+ && gSaveBlock2Ptr->field_B8[i].unk0_1 == arg0
+ && gSaveBlock2Ptr->field_B8[i].unk0_3 != 0)
+ {
+ moves[gSaveBlock2Ptr->field_B8[i].unk0_2] = gSaveBlock2Ptr->field_B8[i].unk2;
+ }
+ }
+
+ return moves[arg2];
+}
+
+void sub_81A0390(u8 arg0)
+{
+ struct ApprenticeMon *apprenticeMons[3];
+ u8 i, j;
+ u32 speciesTableId;
+
+ for (i = 0; i < 3; i++)
+ {
+ gSaveBlock2Ptr->apprentices[0].monData[i].species = 0;
+ gSaveBlock2Ptr->apprentices[0].monData[i].item = 0;
+ for (j = 0; j < 4; j++)
+ gSaveBlock2Ptr->apprentices[0].monData[i].moves[j] = 0;
+ }
+
+ j = gSaveBlock2Ptr->field_B1_2;
+ for (i = 0; i < 3; i++)
+ {
+ apprenticeMons[j] = &gSaveBlock2Ptr->apprentices[0].monData[i];
+ j = (j + 1) % 3;
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ APPRENTICE_SPECIES_ID(speciesTableId, i);
+ apprenticeMons[i]->species = gApprentices[gSaveBlock2Ptr->field_B0].species[speciesTableId];
+ GetLatestLearnedMoves(apprenticeMons[i]->species, apprenticeMons[i]->moves);
+ }
+
+ for (i = 0; i < arg0; i++)
+ {
+ u8 var1 = gSaveBlock2Ptr->field_B8[i].unk0_0;
+ u8 monId = gSaveBlock2Ptr->field_B8[i].unk0_1;
+ if (var1 == 1)
+ {
+ if (gSaveBlock2Ptr->field_B8[i].unk0_3 != 0)
+ apprenticeMons[monId]->item = gSaveBlock2Ptr->field_B8[i].unk2;
+ }
+ else if (var1 == 2)
+ {
+ if (gSaveBlock2Ptr->field_B8[i].unk0_3 != 0)
+ {
+ u32 moveSlot = gSaveBlock2Ptr->field_B8[i].unk0_2;
+ apprenticeMons[monId]->moves[moveSlot] = gSaveBlock2Ptr->field_B8[i].unk2;
+ }
+ }
+ }
+}
+
+static void CreateMenuWithAnswers(u8 arg0)
+{
+ u8 i;
+ u8 windowId;
+ const u8 *strings[3];
+ u8 count = 2;
+ u8 width;
+ u8 left;
+ u8 top;
+ s32 pixelWidth;
+
+ switch (arg0)
+ {
+ case APPRENTICE_ASK_WHICH_LEVEL:
+ left = 0x12;
+ top = 8;
+ strings[0] = gText_Lv50;
+ strings[1] = gText_OpenLevel;
+ break;
+ case APPRENTICE_ASK_3SPECIES:
+ count = 3;
+ left = 0x12;
+ top = 6;
+ for (i = 0; i < 3; i++)
+ {
+ u16 species;
+ u32 speciesTableId;
+
+ APPRENTICE_SPECIES_ID(speciesTableId, i);
+ species = gApprentices[gSaveBlock2Ptr->field_B0].species[speciesTableId];
+ strings[i] = gSpeciesNames[species];
+ }
+ break;
+ case APPRENTICE_ASK_2SPECIES:
+ left = 0x12;
+ top = 8;
+ if (gSaveBlock2Ptr->field_B1_1 > 2)
+ return;
+ strings[1] = gSpeciesNames[gUnknown_030062F0->unk2];
+ strings[0] = gSpeciesNames[gUnknown_030062F0->unk0];
+ break;
+ case APPRENTICE_ASK_MOVES:
+ left = 0x11;
+ top = 8;
+ strings[0] = gMoveNames[gUnknown_030062F0->unk4];
+ strings[1] = gMoveNames[gUnknown_030062F0->unk6];
+ break;
+ case APPRENTICE_ASK_GIVE:
+ left = 0x12;
+ top = 8;
+ strings[0] = gText_Give;
+ strings[1] = gText_NoNeed;
+ break;
+ case APPRENTICE_ASK_YES_NO:
+ left = 0x14;
+ top = 8;
+ strings[0] = gText_Yes;
+ strings[1] = gText_No;
+ break;
+ default:
+ left = 0;
+ top = 0;
+ break;
+ }
+
+ pixelWidth = 0;
+ for (i = 0; i < count; i++)
+ {
+ s32 width = GetStringWidth(1, strings[i], 0);
+ if (width > pixelWidth)
+ pixelWidth = width;
+ }
+
+ width = convert_pixel_width_to_tile_width(pixelWidth);
+ left = sub_80E2D5C(left, width);
+ windowId = CreateAndShowWindow(left, top, width, count * 2);
+ SetStandardWindowBorderStyle(windowId, 0);
+
+ for (i = 0; i < count; i++)
+ AddTextPrinterParameterized(windowId, 1, strings[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL);
+
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, 0);
+ CreateChooseAnswerTask(TRUE, count, windowId);
+}
+
+#define tNoBButton data[4]
+#define tWrapAround data[5]
+#define tWindowId data[6]
+
+void Task_ChooseAnswer(u8 taskId)
+{
+ s8 input;
+ s16 *data = gTasks[taskId].data;
+
+ if (!tWrapAround)
+ input = Menu_ProcessInputNoWrapAround();
+ else
+ input = ProcessMenuInput();
+
+ switch (input)
+ {
+ case MENU_NOTHING_CHOSEN:
+ return;
+ case MENU_B_PRESSED:
+ if (tNoBButton)
+ return;
+
+ PlaySE(SE_SELECT);
+ gSpecialVar_Result = 0x7F;
+ break;
+ default:
+ gSpecialVar_Result = input;
+ break;
+ }
+
+ RemoveAndHideWindow(tWindowId);
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+}
+
+static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height)
+{
+ u8 windowId;
+ struct WindowTemplate winTemplate = CreateWindowTemplate(0, left + 1, top + 1, width, height, 15, 100);
+
+ windowId = AddWindow(&winTemplate);
+ PutWindowTilemap(windowId);
+ CopyWindowToVram(windowId, 3);
+ return windowId;
+}
+
+static void RemoveAndHideWindow(u8 windowId)
+{
+ sub_8198070(windowId, TRUE);
+ RemoveWindow(windowId);
+}
+
+static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId)
+{
+ u8 taskId = CreateTask(Task_ChooseAnswer, 80);
+ gTasks[taskId].tNoBButton = noBButton;
+
+ if (itemsCount > 3)
+ gTasks[taskId].tWrapAround = TRUE;
+ else
+ gTasks[taskId].tWrapAround = FALSE;
+
+ gTasks[taskId].tWindowId = windowId;
+}
+
+#undef tNoBButton
+#undef tWrapAround
+#undef tWindowId
+
+void sub_81A085C(void)
+{
+ gUnknown_086114E0[gSpecialVar_0x8004]();
+}
+
+void sub_81A087C(void)
+{
+ u8 i;
+
+ sub_819FBC8();
+ gSaveBlock2Ptr->field_B1_0 = 0;
+ gSaveBlock2Ptr->field_B1_1 = 0;
+ gSaveBlock2Ptr->field_B1_2 = 0;
+ gSaveBlock2Ptr->field_B2_0 = 0;
+
+ for (i = 0; i < 3; i++)
+ gSaveBlock2Ptr->field_B4[i] = 0;
+
+ for (i = 0; i < 9; i++)
+ {
+ gSaveBlock2Ptr->field_B8[i].unk0_0 = 0;
+ gSaveBlock2Ptr->field_B8[i].unk0_1 = 0;
+ gSaveBlock2Ptr->field_B8[i].unk0_2 = 0;
+ gSaveBlock2Ptr->field_B8[i].unk0_3 = 0;
+ gSaveBlock2Ptr->field_B8[i].unk2 = 0;
+ }
+}
+
+void sub_81A093C(void)
+{
+ if (!sub_819FBB0())
+ gSpecialVar_Result = FALSE;
+ else
+ gSpecialVar_Result = TRUE;
+}
+
+void sub_81A0964(void)
+{
+ sub_819FC40(gSpecialVar_0x8005);
+}
+
+void sub_81A0978(void)
+{
+ sub_819FBC8();
+}
+
+void sub_81A0984(void)
+{
+ sub_819FD64();
+}
+
+void sub_81A0990(void)
+{
+ gSaveBlock2Ptr->field_B1_1++;
+}
+
+void sub_81A09B4(void)
+{
+ gSpecialVar_Result = gSaveBlock2Ptr->field_B1_1;
+}
+
+void sub_81A09D0(void)
+{
+ s32 var = gSaveBlock2Ptr->field_B1_1 - 3;
+ if (var < 0)
+ {
+ gSpecialVar_Result = FALSE;
+ }
+ else
+ {
+ if (var > 8)
+ gSpecialVar_Result = TRUE;
+
+ if (!gSaveBlock2Ptr->field_B8[var].unk0_0)
+ gSpecialVar_Result = TRUE;
+ else
+ gSpecialVar_Result = FALSE;
+ }
+}
+
+void sub_81A0A20(void)
+{
+ CreateMenuWithAnswers(gSpecialVar_0x8005);
+}
+
+static void Task_WaitForPrintingMessage(u8 taskId)
+{
+ if (!RunTextPrintersAndIsPrinter0Active())
+ {
+ DestroyTask(taskId);
+ if (gSpecialVar_0x8005)
+ ExecuteFuncAfterButtonPress(EnableBothScriptContexts);
+ else
+ EnableBothScriptContexts();
+ }
+}
+
+static void PrintMessage(void)
+{
+ const u8 *string;
+
+ if (gSpecialVar_0x8006 == 6)
+ {
+ string = gUnknown_08610FF0[gSaveBlock2Ptr->field_B0][0];
+ }
+ else if (gSpecialVar_0x8006 == 7)
+ {
+ string = gUnknown_08610FF0[gSaveBlock2Ptr->field_B0][1];
+ }
+ else if (gSpecialVar_0x8006 == 8)
+ {
+ string = gUnknown_086111B0[gSaveBlock2Ptr->field_B0][0];
+ }
+ else if (gSpecialVar_0x8006 == 9)
+ {
+ string = gUnknown_086111B0[gSaveBlock2Ptr->field_B0][1];
+ }
+ else if (gSpecialVar_0x8006 == 4)
+ {
+ string = gUnknown_08611230[gSaveBlock2Ptr->field_B0][0];
+ }
+ else if (gSpecialVar_0x8006 == 5)
+ {
+ string = gUnknown_08611230[gSaveBlock2Ptr->field_B0][1];
+ }
+ else if (gSpecialVar_0x8006 == 10)
+ {
+ string = gUnknown_08611070[gSaveBlock2Ptr->field_B0][0];
+ }
+ else if (gSpecialVar_0x8006 == 11)
+ {
+ string = gUnknown_086112B0[gSaveBlock2Ptr->field_B0][0];
+ }
+ else if (gSpecialVar_0x8006 == 12)
+ {
+ string = gUnknown_08611070[gSaveBlock2Ptr->field_B0][3];
+ }
+ else if (gSpecialVar_0x8006 == 13)
+ {
+ string = gUnknown_08611070[gSaveBlock2Ptr->field_B0][1];
+ }
+ else if (gSpecialVar_0x8006 == 16)
+ {
+ string = gUnknown_08611070[gSaveBlock2Ptr->field_B0][4];
+ }
+ else if (gSpecialVar_0x8006 == 14)
+ {
+ string = gUnknown_08611070[gSaveBlock2Ptr->field_B0][2];
+ }
+ else if (gSpecialVar_0x8006 == 15)
+ {
+ string = gUnknown_086112B0[gSaveBlock2Ptr->field_B0][1];
+ }
+ else if (gSpecialVar_0x8006 == 0)
+ {
+ string = gUnknown_08610EF0[gSaveBlock2Ptr->field_B0][0];
+ }
+ else if (gSpecialVar_0x8006 == 1)
+ {
+ string = gUnknown_08610EF0[gSaveBlock2Ptr->field_B0][1];
+ }
+ else if (gSpecialVar_0x8006 == 2)
+ {
+ string = gUnknown_08610EF0[gSaveBlock2Ptr->field_B0][2];
+ }
+ else if (gSpecialVar_0x8006 == 3)
+ {
+ string = gUnknown_08610EF0[gSaveBlock2Ptr->field_B0][3];
+ }
+ else
+ {
+ EnableBothScriptContexts();
+ return;
+ }
+
+ StringExpandPlaceholders(gStringVar4, string);
+ AddTextPrinterForMessage(TRUE);
+ CreateTask(Task_WaitForPrintingMessage, 1);
+}
+
+void sub_81A0C9C(void)
+{
+ ScriptContext2_Enable();
+ FreezeEventObjects();
+ sub_808B864();
+ sub_808BCF4();
+ NewMenuHelpers_DrawDialogueFrame(0, 1);
+ PrintMessage();
+}
+
+void sub_81A0CC0(void)
+{
+ if (gSaveBlock2Ptr->field_B1_1 < 3)
+ {
+ gSpecialVar_Result = 2;
+ }
+ else if (gSaveBlock2Ptr->field_B1_1 > 11)
+ {
+ gSpecialVar_Result = 5;
+ }
+ else
+ {
+ s32 id = gSaveBlock2Ptr->field_B1_1 - 3;
+ switch (gSaveBlock2Ptr->field_B8[id].unk0_0)
+ {
+ case 1:
+ gSpecialVar_Result = 4;
+ break;
+ case 2:
+ gSpecialVar_Result = 3;
+ break;
+ case 3:
+ gSpecialVar_Result = 1;
+ break;
+ default:
+ gSpecialVar_Result = 5;
+ break;
+ }
+ }
+}
+
+void sub_81A0D40(void)
+{
+ if (gSpecialVar_0x8005)
+ {
+ u8 bitNo = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->field_B2_0 |= 1 << bitNo;
+ }
+}
+
+void sub_81A0D80(void)
+{
+ if (gSaveBlock2Ptr->field_B1_1 >= 3)
+ {
+ u8 id = gSaveBlock2Ptr->field_B1_1 - 3;
+ if (gSpecialVar_0x8005)
+ gSaveBlock2Ptr->field_B8[id].unk0_3 = 1;
+ else
+ gSaveBlock2Ptr->field_B8[id].unk0_3 = 0;
+ }
+}
+
+void sub_81A0DD4(void)
+{
+ u8 i;
+ u8 count = 0;
+ u8 id1, id2;
+
+ for (i = 0; i < 9 && gSaveBlock2Ptr->field_B8[i].unk0_0; count++, i++)
+ ;
+
+ gUnknown_030062F0 = AllocZeroed(sizeof(*gUnknown_030062F0));
+ if (gSpecialVar_0x8005 == 2)
+ {
+ if (gSaveBlock2Ptr->field_B1_1 < 3)
+ {
+ id1 = gSaveBlock2Ptr->field_B4[gSaveBlock2Ptr->field_B1_1] >> 4;
+ gUnknown_030062F0->unk2 = gApprentices[gSaveBlock2Ptr->field_B0].species[id1];
+
+ id2 = gSaveBlock2Ptr->field_B4[gSaveBlock2Ptr->field_B1_1] & 0xF;
+ gUnknown_030062F0->unk0 = gApprentices[gSaveBlock2Ptr->field_B0].species[id2];
+ }
+ }
+ else if (gSpecialVar_0x8005 == 3)
+ {
+ if (gSaveBlock2Ptr->field_B1_1 >= 3
+ && gSaveBlock2Ptr->field_B1_1 < count + 3
+ && gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk0_0 == 2)
+ {
+ count = gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk0_1;
+ APPRENTICE_SPECIES_ID_2(id1, count);
+ gUnknown_030062F0->unk0 = gApprentices[gSaveBlock2Ptr->field_B0].species[id1];
+ gUnknown_030062F0->unk4 = sub_81A0284(count, id1, gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk0_2);
+ gUnknown_030062F0->unk6 = gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk2;
+ }
+ }
+ else if (gSpecialVar_0x8005 == 4)
+ {
+ if (gSaveBlock2Ptr->field_B1_1 >= 3
+ && gSaveBlock2Ptr->field_B1_1 < count + 3
+ && gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk0_0 == 1)
+ {
+ count = gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk0_1;
+ APPRENTICE_SPECIES_ID_2(id2, count);
+ gUnknown_030062F0->unk0 = gApprentices[gSaveBlock2Ptr->field_B0].species[id2];
+ }
+ }
+}
+
+void sub_81A0FE4(void)
+{
+ FREE_AND_SET_NULL(gUnknown_030062F0);
+}
+
+void sub_81A0FFC(void)
+{
+ u8 *stringDst;
+ u8 text[16];
+ u32 speciesArrayId;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ stringDst = gStringVar1;
+ break;
+ case 1:
+ stringDst = gStringVar2;
+ break;
+ case 2:
+ stringDst = gStringVar3;
+ break;
+ default:
+ return;
+ }
+
+ switch (gSpecialVar_0x8006)
+ {
+ case APPRENTICE_BUFF_SPECIES1:
+ StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk0]);
+ break;
+ case APPRENTICE_BUFF_SPECIES2:
+ StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk2]);
+ break;
+ case APPRENTICE_BUFF_SPECIES3:
+ StringCopy(stringDst, gSpeciesNames[gUnknown_030062F0->unk0]);
+ break;
+ case APPRENTICE_BUFF_MOVE1:
+ StringCopy(stringDst, gMoveNames[gUnknown_030062F0->unk4]);
+ break;
+ case APPRENTICE_BUFF_MOVE2:
+ StringCopy(stringDst, gMoveNames[gUnknown_030062F0->unk6]);
+ break;
+ case APPRENTICE_BUFF_ITEM:
+ StringCopy(stringDst, ItemId_GetName(gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk2));
+ break;
+ case APPRENTICE_BUFF_NAME:
+ TVShowConvertInternationalString(text, GetApprenticeNameInLanguage(gSaveBlock2Ptr->field_B0, LANGUAGE_ENGLISH), LANGUAGE_ENGLISH);
+ StringCopy(stringDst, text);
+ break;
+ case APPRENTICE_BUFF_LEVEL:
+ if (gSaveBlock2Ptr->field_B1_0 == 1)
+ StringCopy(stringDst, gText_Lv50);
+ else
+ StringCopy(stringDst, gText_OpenLevel);
+ break;
+ case APPRENTICE_BUFF_EASY_CHAT:
+ ConvertBattleFrontierTrainerSpeechToString(gSaveBlock2Ptr->apprentices[0].easyChatWords);
+ StringCopy(stringDst, gStringVar4);
+ break;
+ case APPRENTICE_BUFF_SPECIES4:
+ if (gSaveBlock2Ptr->field_B1_2 < 3)
+ {
+ APPRENTICE_SPECIES_ID(speciesArrayId, gSaveBlock2Ptr->field_B1_2);
+ }
+ else
+ {
+ speciesArrayId = 0;
+ }
+ StringCopy(stringDst, gSpeciesNames[gApprentices[gSaveBlock2Ptr->field_B0].species[speciesArrayId]]);
+ break;
+ }
+}
+
+void sub_81A11F8(void)
+{
+ gSaveBlock2Ptr->field_B1_2 = gSpecialVar_0x8005;
+}
+
+void sub_81A1218(void)
+{
+ sub_81AAC28();
+}
+
+#ifdef NONMATCHING
+void sub_81A1224(void)
+{
+ u8 count;
+ u8 i, j;
+
+ if (gSaveBlock2Ptr->field_B1_1 < 3)
+ return;
+
+ count = 0;
+ for (j = 0; j < 9 && gSaveBlock2Ptr->field_B8[j].unk0_0; count++, j++)
+ ;
+
+ for (i = 0; i < count && i < gSaveBlock2Ptr->field_B1_1 - 3; i++)
+ {
+ if (gSaveBlock2Ptr->field_B8[i].unk0_0 == 1
+ && gSaveBlock2Ptr->field_B8[i].unk0_3
+ && gSaveBlock2Ptr->field_B8[i].unk2 == gSpecialVar_0x8005)
+ {
+ gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk0_3 = 0;
+ gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk2 = gSpecialVar_0x8005;
+ gSpecialVar_Result = i;
+ return;
+ }
+ }
+
+ gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk0_3 = 1;
+ gSaveBlock2Ptr->field_B8[gSaveBlock2Ptr->field_B1_1 - 3].unk2 = gSpecialVar_0x8005;
+ gSpecialVar_Result = 1;
+}
+#else
+NAKED
+void sub_81A1224(void)
+{
+ asm_unified("\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ ldr r1, =gSaveBlock2Ptr\n\
+ ldr r3, [r1]\n\
+ adds r0, r3, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ adds r7, r1, 0\n\
+ cmp r0, 0x2\n\
+ bhi _081A1242\n\
+ b _081A1362\n\
+_081A1242:\n\
+ movs r5, 0\n\
+ movs r2, 0\n\
+ adds r0, r3, 0\n\
+ adds r0, 0xB8\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 30\n\
+ ldr r1, =gSpecialVar_0x8005\n\
+ mov r12, r1\n\
+ ldr r1, =gSpecialVar_Result\n\
+ mov r8, r1\n\
+ cmp r0, 0\n\
+ beq _081A127C\n\
+ adds r3, r7, 0\n\
+_081A125C:\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ cmp r2, 0x8\n\
+ bhi _081A127C\n\
+ ldr r0, [r3]\n\
+ lsls r1, r2, 2\n\
+ adds r0, r1\n\
+ adds r0, 0xB8\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 30\n\
+ cmp r0, 0\n\
+ bne _081A125C\n\
+_081A127C:\n\
+ movs r4, 0\n\
+ cmp r4, r5\n\
+ bcs _081A1322\n\
+ ldr r0, [r7]\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ cmp r4, r0\n\
+ bge _081A1322\n\
+ adds r6, r7, 0\n\
+ mov r9, r4\n\
+_081A1296:\n\
+ ldr r3, [r6]\n\
+ lsls r0, r4, 2\n\
+ adds r2, r3, r0\n\
+ adds r0, r2, 0\n\
+ adds r0, 0xB8\n\
+ ldrb r1, [r0]\n\
+ lsls r0, r1, 30\n\
+ lsrs r0, 30\n\
+ cmp r0, 0x1\n\
+ bne _081A1308\n\
+ lsrs r0, r1, 6\n\
+ cmp r0, 0\n\
+ beq _081A1308\n\
+ adds r0, r2, 0\n\
+ adds r0, 0xBA\n\
+ ldrh r0, [r0]\n\
+ mov r2, r12\n\
+ ldrh r2, [r2]\n\
+ cmp r0, r2\n\
+ bne _081A1308\n\
+ adds r0, r3, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r0, r3, r0\n\
+ adds r0, 0xB8\n\
+ ldrb r2, [r0]\n\
+ movs r1, 0x3F\n\
+ ands r1, r2\n\
+ strb r1, [r0]\n\
+ ldr r1, [r6]\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r1, r0\n\
+ mov r2, r12\n\
+ ldrh r0, [r2]\n\
+ adds r1, 0xBA\n\
+ strh r0, [r1]\n\
+ mov r1, r9\n\
+ mov r0, r8\n\
+ strh r1, [r0]\n\
+ b _081A1362\n\
+ .pool\n\
+_081A1308:\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ cmp r4, r5\n\
+ bcs _081A1322\n\
+ ldr r0, [r6]\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ cmp r4, r0\n\
+ blt _081A1296\n\
+_081A1322:\n\
+ ldr r2, [r7]\n\
+ adds r0, r2, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r2, r0\n\
+ adds r2, 0xB8\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x3F\n\
+ ands r0, r1\n\
+ movs r1, 0x40\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r1, [r7]\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r1, r0\n\
+ mov r2, r12\n\
+ ldrh r0, [r2]\n\
+ adds r1, 0xBA\n\
+ strh r0, [r1]\n\
+ movs r0, 0x1\n\
+ mov r1, r8\n\
+ strh r0, [r1]\n\
+_081A1362:\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+");
+}
+#endif // NONMATCHING
+
+void sub_81A1370(void)
+{
+ s32 i;
+ s32 r10;
+ s32 r9;
+
+ if (gSaveBlock2Ptr->apprentices[0].playerName[0] == EOS)
+ return;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (gSaveBlock2Ptr->apprentices[i + 1].playerName[0] == EOS)
+ {
+ gSaveBlock2Ptr->apprentices[i + 1] = gSaveBlock2Ptr->apprentices[0];
+ return;
+ }
+ }
+
+ r10 = 0xFFFF;
+ r9 = -1;
+ for (i = 1; i < 4; i++)
+ {
+ if (ReadUnalignedWord(gSaveBlock2Ptr->apprentices[i].playerId) == ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId)
+ && gSaveBlock2Ptr->apprentices[i].number < r10)
+ {
+ r10 = gSaveBlock2Ptr->apprentices[i].number;
+ r9 = i;
+ }
+ }
+
+ if (r9 > 0)
+ gSaveBlock2Ptr->apprentices[r9] = gSaveBlock2Ptr->apprentices[0];
+}
+
+void sub_81A1438(void)
+{
+ u8 i;
+
+ gSaveBlock2Ptr->apprentices[0].id = gSaveBlock2Ptr->field_B0;
+ gSaveBlock2Ptr->apprentices[0].lvlMode = gSaveBlock2Ptr->field_B1_0;
+
+ for (i = 0; i < 9 && gSaveBlock2Ptr->field_B8[i].unk0_0; i++)
+ ;
+
+ gSaveBlock2Ptr->apprentices[0].field_1 = i;
+ if (gSaveBlock2Ptr->apprentices[0].number < 255)
+ gSaveBlock2Ptr->apprentices[0].number++;
+
+ sub_81A0390(gSaveBlock2Ptr->apprentices[0].field_1);
+ for (i = 0; i < 4; i++)
+ gSaveBlock2Ptr->apprentices[0].playerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
+
+ StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName);
+ gSaveBlock2Ptr->apprentices[0].language = gGameLanguage;
+ sub_8165AE8(&gSaveBlock2Ptr->apprentices[0]);
+}
+
+void sub_81A150C(void)
+{
+ u8 i;
+ u8 mapObjectGfxId;
+ u8 class = gApprentices[gSaveBlock2Ptr->apprentices[0].id].facilityClass;
+
+ for (i = 0; i < 30 && gUnknown_085DCEDC[i] != class; i++)
+ ;
+
+ if (i != 30)
+ {
+ mapObjectGfxId = gUnknown_085DCF0E[i];
+ VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
+ }
+ else
+ {
+ for (i = 0; i < 20 && gUnknown_085DCEFA[i] != class; i++)
+ ;
+
+ if (i != 20)
+ {
+ mapObjectGfxId = gUnknown_085DCF2C[i];
+ VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
+ }
+ }
+}
+
+void sub_81A15A4(void)
+{
+ u8 i;
+ u8 mapObjectGfxId;
+ u8 class = gApprentices[gSaveBlock2Ptr->field_B0].facilityClass;
+
+ for (i = 0; i < 30 && gUnknown_085DCEDC[i] != class; i++)
+ ;
+
+ if (i != 30)
+ {
+ mapObjectGfxId = gUnknown_085DCF0E[i];
+ VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
+ }
+ else
+ {
+ for (i = 0; i < 20 && gUnknown_085DCEFA[i] != class; i++)
+ ;
+
+ if (i != 20)
+ {
+ mapObjectGfxId = gUnknown_085DCF2C[i];
+ VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
+ }
+ }
+}
+
+void sub_81A1638(void)
+{
+ gSpecialVar_0x8004 = 1;
+}
+
+void sub_81A1644(void)
+{
+ gSpecialVar_0x8004 = 1;
+}
+
+const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language)
+{
+ const struct ApprenticeTrainer *apprentice = &gApprentices[apprenticeId];
+
+ switch (language)
+ {
+ case LANGUAGE_JAPANESE:
+ return apprentice->name[0];
+ case LANGUAGE_ENGLISH:
+ return apprentice->name[1];
+ case LANGUAGE_FRENCH:
+ return apprentice->name[2];
+ case LANGUAGE_ITALIAN:
+ return apprentice->name[3];
+ case LANGUAGE_GERMAN:
+ return apprentice->name[4];
+ case LANGUAGE_SPANISH:
+ default:
+ return apprentice->name[5];
+ }
+}
+
+void sub_81A16B4(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
+ SwitchTaskToFollowupFunc(taskId);
+}
+
+static void Task_ExecuteFuncAfterButtonPress(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
+ {
+ gUnknown_030062F4 = (void*)(u32)(((u16)gTasks[taskId].data[0] | (gTasks[taskId].data[1] << 0x10)));
+ gUnknown_030062F4();
+ DestroyTask(taskId);
+ }
+}
+
+static void ExecuteFuncAfterButtonPress(void (*func)(void))
+{
+ u8 taskId = CreateTask(Task_ExecuteFuncAfterButtonPress, 1);
+ gTasks[taskId].data[0] = (u32)(func);
+ gTasks[taskId].data[1] = (u32)(func) >> 16;
+}
+
+void sub_81A175C(TaskFunc taskFunc)
+{
+ u8 taskId = CreateTask(sub_81A16B4, 1);
+ SetTaskFuncWithFollowupFunc(taskId, sub_81A16B4, taskFunc);
+}
diff --git a/src/easy_chat.c b/src/easy_chat.c
index fbf4c0e70..50ed0a649 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -352,7 +352,7 @@ void easy_chat_input_maybe(void)
words = &gSaveBlock1Ptr->lilycoveLady.quiz.unk_014;
break;
case 19:
- words = (u16 *)&gSaveBlock2Ptr->field_DC[0].field_0[0x28];
+ words = gSaveBlock2Ptr->field_DC[0].easyChatWords;
break;
case 20:
words = sub_801B058();
diff --git a/src/pokemon.c b/src/pokemon.c
index 8e2e3b764..40f7e94b2 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -35,6 +35,7 @@
#include "pokenav.h"
#include "pokemon_storage_system.h"
#include "recorded_battle.h"
+#include "apprentice.h"
struct SpeciesItem
{
@@ -69,7 +70,6 @@ extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[];
extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
-extern const struct UnknownPokemonStruct3 gUnknown_08610970[];
extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
extern const u8 gTrainerClassNames[][13];
@@ -80,7 +80,6 @@ extern u8 StorageGetCurrentBox(void);
extern void set_unknown_box_id(u8);
extern void sub_803FA70(u8 battlerId);
extern u8 sav1_map_get_name(void);
-extern const u8 *sub_81A1650(u8, u8 language);
extern u8 GetFrontierEnemyMonLevel(u8);
extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void);
@@ -2873,27 +2872,27 @@ void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lv
CalculateMonStats(mon);
}
-void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u8 monId)
+void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId)
{
s32 i;
u16 evAmount;
u8 language;
- u32 otId = gUnknown_08610970[src->field_0_0].field_30;
- u32 personality = ((gUnknown_08610970[src->field_0_0].field_30 >> 8) | ((gUnknown_08610970[src->field_0_0].field_30 & 0xFF) << 8))
- + src->mons[monId].species + src->field_2;
+ u32 otId = gApprentices[src->id].otId;
+ u32 personality = ((gApprentices[src->id].otId >> 8) | ((gApprentices[src->id].otId & 0xFF) << 8))
+ + src->monData[monId].species + src->number;
CreateMon(mon,
- src->mons[monId].species,
- GetFrontierEnemyMonLevel(src->field_0_1 - 1),
+ src->monData[monId].species,
+ GetFrontierEnemyMonLevel(src->lvlMode - 1),
0x1F,
TRUE,
personality,
TRUE,
otId);
- SetMonData(mon, MON_DATA_HELD_ITEM, &src->mons[monId].item);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &src->monData[monId].item);
for (i = 0; i < 4; i++)
- SetMonMoveSlot(mon, src->mons[monId].moves[i], i);
+ SetMonMoveSlot(mon, src->monData[monId].moves[i], i);
evAmount = MAX_TOTAL_EVS / NUM_STATS;
for (i = 0; i < NUM_STATS; i++)
@@ -2901,7 +2900,7 @@ void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u
language = src->language;
SetMonData(mon, MON_DATA_LANGUAGE, &language);
- SetMonData(mon, MON_DATA_OT_NAME, sub_81A1650(src->field_0_0, language));
+ SetMonData(mon, MON_DATA_OT_NAME, GetApprenticeNameInLanguage(src->id, language));
CalculateMonStats(mon);
}
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 6c6f69fa8..2f28ff360 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -83,7 +83,7 @@ struct PlayerRecordsEmerald
/* 0x1124 */ struct EmeraldBattleTowerRecord battleTowerRecord;
/* 0x1210 */ u16 unk_1210;
/* 0x1214 */ LilycoveLady lilycoveLady;
- /* 0x1254 */ struct UnkRecordMixingStruct unk_1254[2];
+ /* 0x1254 */ struct Apprentice apprentice[2];
/* 0x12dc */ struct UnkRecordMixingStruct2 unk_12dc;
/* 0x1434 */ u8 field_1434[0x10];
}; // 0x1444
@@ -134,8 +134,8 @@ static void sub_80E7B2C(const u8 *);
static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *, size_t, u8, TVShow *);
static void sub_80E7F68(u16 *item, u8 which);
static void sub_80E7FF8(u8 taskId);
-static void sub_80E8110(struct UnkRecordMixingStruct *arg0, struct UnkRecordMixingStruct *arg1);
-static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg2);
+static void sub_80E8110(struct Apprentice *arg0, struct Apprentice *arg1);
+static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2);
static void sub_80E89AC(struct UnkRecordMixingStruct2 *arg0, size_t arg1, u32 arg2);
static void sub_80E89F8(struct RecordMixingDayCareMail *dst);
static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src);
@@ -199,7 +199,7 @@ static void SetSrcLookupPointers(void)
gUnknown_03001148 = &gUnknown_02039F9C;
sBattleTowerSave = &gSaveBlock2Ptr->frontier.battleTower;
sLilycoveLadySave = &gSaveBlock1Ptr->lilycoveLady;
- gUnknown_03001154 = gSaveBlock2Ptr->field_DC;
+ gUnknown_03001154 = gSaveBlock2Ptr->apprentices;
sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->frontier.battleTower;
}
@@ -265,7 +265,7 @@ static void PrepareExchangePacket(void)
if (GetMultiplayerId() == 0)
sSentRecord->emerald.unk_1210 = GetRecordMixingGift();
- sub_80E8110(sSentRecord->emerald.unk_1254, gUnknown_03001154);
+ sub_80E8110(sSentRecord->emerald.apprentice, gUnknown_03001154);
sub_80E8260(&sSentRecord->emerald.unk_12dc);
}
}
@@ -298,7 +298,7 @@ static void ReceiveExchangePacket(u32 which)
ReceiveBattleTowerData(&sReceivedRecords->emerald.battleTowerRecord, sizeof(struct PlayerRecordsEmerald), which);
sub_80E7F68(&sReceivedRecords->emerald.unk_1210, which);
ReceiveLilycoveLadyData(&sReceivedRecords->emerald.lilycoveLady, sizeof(struct PlayerRecordsEmerald), which);
- sub_80E8468(sReceivedRecords->emerald.unk_1254, sizeof(struct PlayerRecordsEmerald), (u8) which);
+ ReceiveApprenticeData(sReceivedRecords->emerald.apprentice, sizeof(struct PlayerRecordsEmerald), (u8) which);
sub_80E89AC(&sReceivedRecords->emerald.unk_12dc, sizeof(struct PlayerRecordsEmerald), (u8) which);
}
}
@@ -1551,13 +1551,13 @@ static void sub_80E7FF8(u8 taskId)
// New Emerald functions
-static void sub_80E8110(struct UnkRecordMixingStruct *dst, struct UnkRecordMixingStruct *src)
+static void sub_80E8110(struct Apprentice *dst, struct Apprentice *src)
{
s32 i, id;
s32 var_2C, var_28, var_24, r8;
- dst[0].field_38[0] = 0xFF;
- dst[1].field_38[0] = 0xFF;
+ dst[0].playerName[0] = EOS;
+ dst[1].playerName[0] = EOS;
dst[0] = src[0];
@@ -1568,7 +1568,7 @@ static void sub_80E8110(struct UnkRecordMixingStruct *dst, struct UnkRecordMixin
for (i = 0; i < 2; i++)
{
id = ((i + gSaveBlock2Ptr->field_B2_1) % 3) + 1;
- if (src[id].field_38[0] != 0xFF)
+ if (src[id].playerName[0] != EOS)
{
if (ReadUnalignedWord(src[id].playerId) != ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId))
{
@@ -1646,14 +1646,14 @@ void sub_80E8260(struct UnkRecordMixingStruct2 *dst)
}
}
-static bool32 sub_80E841C(struct UnkRecordMixingStruct *arg0, struct UnkRecordMixingStruct *arg1)
+static bool32 sub_80E841C(struct Apprentice *arg0, struct Apprentice *arg1)
{
s32 i;
for (i = 0; i < 4; i++)
{
if (ReadUnalignedWord(arg0->playerId) == ReadUnalignedWord(arg1[i].playerId)
- && arg0->field_0[2] == arg1[i].field_0[2])
+ && arg0->field_2 == arg1[i].field_2)
{
return TRUE;
}
@@ -1662,10 +1662,10 @@ static bool32 sub_80E841C(struct UnkRecordMixingStruct *arg0, struct UnkRecordMi
return FALSE;
}
-static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg2)
+static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2)
{
s32 i, r7, r8;
- struct UnkRecordMixingStruct *structPtr;
+ struct Apprentice *structPtr;
u32 mixIndices[4];
u32 structId;
@@ -1675,7 +1675,7 @@ static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg
r8 = 0;
for (i = 0; i < 2; i++)
{
- if (structPtr[i].field_38[0] != 0xFF && !sub_80E841C(&structPtr[i], gSaveBlock2Ptr->field_DC))
+ if (structPtr[i].playerName[0] != EOS && !sub_80E841C(&structPtr[i], gSaveBlock2Ptr->apprentices))
{
r7++;
r8 = i;
@@ -1686,14 +1686,14 @@ static void sub_80E8468(struct UnkRecordMixingStruct *arg0, size_t arg1, u32 arg
{
case 1:
structId = gSaveBlock2Ptr->field_B2_1 + 1;
- gSaveBlock2Ptr->field_DC[structId] = structPtr[r8];
+ gSaveBlock2Ptr->apprentices[structId] = structPtr[r8];
gSaveBlock2Ptr->field_B2_1 = (gSaveBlock2Ptr->field_B2_1 + 1) % 3;
break;
case 2:
for (i = 0; i < 2; i++)
{
structId = ((i ^ 1) + gSaveBlock2Ptr->field_B2_1) % 3 + 1;
- gSaveBlock2Ptr->field_DC[structId] = structPtr[i];
+ gSaveBlock2Ptr->apprentices[structId] = structPtr[i];
}
gSaveBlock2Ptr->field_B2_1 = (gSaveBlock2Ptr->field_B2_1 + 2) % 3;
break;