summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL.md2
-rw-r--r--arm9/arm9.lsf8
-rw-r--r--arm9/asm/scrcmd.s8
-rw-r--r--arm9/asm/scrcmd_12.s6
-rw-r--r--arm9/asm/scrcmd_4.s2
-rw-r--r--arm9/asm/scrcmd_8.s4
-rw-r--r--arm9/asm/unk_020023C0.s2
-rw-r--r--arm9/asm/unk_02006D98.s4
-rw-r--r--arm9/asm/unk_0200CABC.s2
-rw-r--r--arm9/asm/unk_02021FF8.s309
-rw-r--r--arm9/asm/unk_02029C58.s102
-rw-r--r--arm9/asm/unk_0202BE98.s4
-rw-r--r--arm9/asm/unk_020377F0.s2
-rw-r--r--arm9/asm/unk_0204653C.s2
-rw-r--r--arm9/asm/unk_020476CC.s4
-rw-r--r--arm9/asm/unk_0204B0A0.s2
-rw-r--r--arm9/asm/unk_02060CCC.s4
-rw-r--r--arm9/asm/unk_0206ABC4.s749
-rw-r--r--arm9/asm/unk_0206B688.s357
-rw-r--r--arm9/asm/unk_0206BB28.s37
-rw-r--r--arm9/asm/unk_0206C700.s4
-rw-r--r--arm9/asm/unk_0206E2F0.s2
-rw-r--r--arm9/asm/unk_0206F3FC.s37
-rw-r--r--arm9/asm/unk_02073DA8.s6
-rw-r--r--arm9/asm/unk_020772F0.s691
-rw-r--r--arm9/asm/unk_02079C70.s14
-rw-r--r--arm9/asm/unk_0207D5BC.s2
-rw-r--r--arm9/asm/unk_0207FD00.s12
-rw-r--r--arm9/asm/unk_02080C38.s2
-rw-r--r--arm9/asm/unk_020859C0.s265
-rw-r--r--arm9/asm/unk_02088F0C.s12
-rw-r--r--arm9/global.inc92
-rw-r--r--arm9/modules/05/asm/module_05.s10
-rw-r--r--arm9/modules/06/asm/module_06.s14
-rw-r--r--arm9/modules/07/asm/module_07.s20
-rw-r--r--arm9/modules/08/asm/module_08.s28
-rw-r--r--arm9/modules/09/asm/module_09.s10
-rw-r--r--arm9/modules/11/asm/module_11_thumb1.s4
-rw-r--r--arm9/modules/11/asm/module_11_thumb2.s66
-rw-r--r--arm9/modules/14/asm/module_14.s20
-rw-r--r--arm9/modules/15/asm/module_15.s2
-rw-r--r--arm9/modules/18/asm/module_18.s6
-rw-r--r--arm9/modules/23/asm/module_23.s2
-rw-r--r--arm9/modules/62/asm/module_62.s26
-rw-r--r--arm9/modules/67/asm/module_67.s8
-rw-r--r--arm9/modules/68/asm/module_68.s4
-rw-r--r--arm9/modules/71/asm/module_71.s14
-rw-r--r--arm9/modules/75/asm/module_75.s4
-rw-r--r--arm9/modules/80/asm/module_80.s14
-rw-r--r--arm9/src/mail_message.c6
-rw-r--r--arm9/src/pokemon.c201
-rw-r--r--arm9/src/save_arrays.c8
-rw-r--r--arm9/src/script_buffers.c29
-rw-r--r--arm9/src/seal_case.c59
-rw-r--r--arm9/src/trainer_data.c403
-rw-r--r--arm9/src/unk_020139D8.c106
-rw-r--r--arm9/src/unk_02021FF8.c176
-rw-r--r--arm9/src/unk_0206B688.c185
-rw-r--r--arm9/src/unk_0206BB28.c25
-rw-r--r--files/msgdata/msg/.gitignore1
-rw-r--r--files/msgdata/msg/narc_0559.txt850
-rw-r--r--files/poketool/trainer/trdata.json4245
-rw-r--r--files/poketool/trainer/trdata.json.txt3
-rw-r--r--files/poketool/trainer/trpoke.json.txt16
-rw-r--r--filesystem.mk4
-rw-r--r--include/constants/seal_constants.h87
-rw-r--r--include/constants/trainers.h854
-rw-r--r--include/pokedex.h2
-rw-r--r--include/pokemon.h35
-rw-r--r--include/proto.h2
-rw-r--r--include/script_buffers.h23
-rw-r--r--include/seal.h24
-rw-r--r--include/trainer_data.h15
-rw-r--r--include/unk_020139D8.h12
-rw-r--r--include/unk_02021FF8.h30
-rw-r--r--include/unk_0206B688.h21
-rw-r--r--include/unk_0206BB28.h12
-rw-r--r--tools/msgenc/msgenc.cpp27
78 files changed, 5623 insertions, 4839 deletions
diff --git a/INSTALL.md b/INSTALL.md
index 4d4f038b..35eb054d 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -46,6 +46,8 @@ You will still require the following packages:
Install them using either the Cygwin package manager or using pacman on Msys2.
+**NOTE FOR MSYS2:** You will need to compile and install [libpng](https://www.libpng.org/pub/png/libpng.html) from source.
+
### 4. Build ROM
Run `make` to build the ROM. The ROM will be output as `build/diamond.us/pokediamond.us.nds`
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 29b8e407..274f2ccd 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -104,7 +104,7 @@ Static arm9
Object unk_02028980.o
Object unk_02029A84.o
Object unk_02029AE0.o
- Object unk_02029C58.o
+ Object seal_case.o
Object unk_02029CEC.o
Object igt.o
Object unk_02029EC4.o
@@ -246,9 +246,11 @@ Static arm9
Object unk_02064E90.o
Object unk_020653EC.o
Object unk_02066840.o
+
+ ##poketool##
Object pokemon.o
Object waza.o
- Object unk_0206ABC4.o
+ Object trainer_data.o
Object pokemon_storage_system.o
Object unk_0206B688.o
Object party.o
@@ -259,6 +261,8 @@ Static arm9
Object unk_0206DE24.o
Object unk_0206E0F0.o
Object unk_0206E2F0.o
+
+ ##itemtool##
Object itemtool.o
Object bag.o
Object unk_0206F1F0.o
diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s
index b874b757..2f0cb3ef 100644
--- a/arm9/asm/scrcmd.s
+++ b/arm9/asm/scrcmd.s
@@ -3863,7 +3863,7 @@ FUN_0203B7F0: ; 0x0203B7F0
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
bl FUN_02029E0C
strh r0, [r4, #0x0]
mov r0, #0x0
@@ -3892,7 +3892,7 @@ FUN_0203B81C: ; 0x0203B81C
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
add r1, r6, #0x0
bl FUN_02029E2C
strh r0, [r4, #0x0]
@@ -3921,7 +3921,7 @@ FUN_0203B85C: ; 0x0203B85C
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
lsl r2, r4, #0x10
add r1, r6, #0x0
asr r2, r2, #0x10
@@ -6376,7 +6376,7 @@ FUN_0203CBE8: ; 0x0203CBE8
ldr r0, [sp, #0x0]
ldr r2, [r6, #0x0]
mov r3, #0xb
- bl FUN_0206AD4C
+ bl GetTrainerMessageByIdPair
add r0, r4, #0x0
mov r1, #0x1
bl FUN_02039438
diff --git a/arm9/asm/scrcmd_12.s b/arm9/asm/scrcmd_12.s
index 137140a8..cc011b0f 100644
--- a/arm9/asm/scrcmd_12.s
+++ b/arm9/asm/scrcmd_12.s
@@ -625,7 +625,7 @@ _020431D4:
add r7, r0, #0x0
add r0, r4, #0x0
add r1, r7, #0x0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
add r0, r7, #0x0
mov r1, #0x90
add r2, r5, #0x0
@@ -985,7 +985,7 @@ FUN_020434B0: ; 0x020434B0
b _020434E2
_020434CA:
ldr r0, [r5, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
add r1, r4, #0x0
mov r2, #0x1
bl FUN_02029DD4
@@ -1017,7 +1017,7 @@ FUN_020434E8: ; 0x020434E8
pop {r3-r5, pc}
_02043502:
ldr r0, [r5, #0xc]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
add r1, r4, #0x0
mov r2, #0x1
bl FUN_02029D44
diff --git a/arm9/asm/scrcmd_4.s b/arm9/asm/scrcmd_4.s
index 14d6ef99..3bad9d50 100644
--- a/arm9/asm/scrcmd_4.s
+++ b/arm9/asm/scrcmd_4.s
@@ -1308,6 +1308,6 @@ FUN_02041174: ; 0x02041174
str r1, [r4, #0x8]
ldrb r1, [r2, #0x0]
ldr r0, [r0, #0x0]
- bl FUN_0200B7A8
+ bl ScrStrBufs_UpperFirstChar
mov r0, #0x0
pop {r4, pc}
diff --git a/arm9/asm/scrcmd_8.s b/arm9/asm/scrcmd_8.s
index 84b2eb30..fbb5b223 100644
--- a/arm9/asm/scrcmd_8.s
+++ b/arm9/asm/scrcmd_8.s
@@ -110,7 +110,7 @@ _02041CF2:
ldr r0, [r6, #0x0]
add r1, r7, #0x0
add r2, r5, #0x0
- bl FUN_0200B708
+ bl BufferEasyChatWord
b _02041E38
_02041D28:
add r0, r4, #0x0
@@ -133,7 +133,7 @@ _02041D28:
ldr r0, [r6, #0x0]
add r1, r7, #0x0
add r2, r5, #0x0
- bl FUN_0200B708
+ bl BufferEasyChatWord
b _02041E38
_02041D5E:
mov r1, #0x0
diff --git a/arm9/asm/unk_020023C0.s b/arm9/asm/unk_020023C0.s
index a84fda87..604c7211 100644
--- a/arm9/asm/unk_020023C0.s
+++ b/arm9/asm/unk_020023C0.s
@@ -180,7 +180,7 @@ _020024DA:
beq _0200251A
b _02002700
_020024E4:
- add r0, r0, #0x1
+ add r0, r0, #0x1 ; =0x0000FFFF EOS
cmp r5, r0
beq _020024EC
b _02002700
diff --git a/arm9/asm/unk_02006D98.s b/arm9/asm/unk_02006D98.s
index 8bcac588..0e1ff930 100644
--- a/arm9/asm/unk_02006D98.s
+++ b/arm9/asm/unk_02006D98.s
@@ -150,7 +150,7 @@ _02006E12:
strb r0, [r4, r2]
sub r2, #0x4b
ldr r2, [r4, r2]
- mov r0, #0x75
+ mov r0, #0x75 ; NARC_POKETOOL_POKEGRA_OTHERPOKE
mov r1, #0xd3
bl AllocAndReadWholeNarcMemberByIdPair
add r1, sp, #0xc
@@ -3641,7 +3641,7 @@ _0200874A:
mov r2, #0xa6
lsl r2, r2, #0x2
ldr r2, [r5, r2]
- mov r0, #0x75
+ mov r0, #0x75 ; NARC_POKETOOL_POKEGRA_OTHERPOKE
mov r1, #0xd4
bl AllocAndReadWholeNarcMemberByIdPair
add r1, sp, #0x18
diff --git a/arm9/asm/unk_0200CABC.s b/arm9/asm/unk_0200CABC.s
index bfab698c..70ccee6d 100644
--- a/arm9/asm/unk_0200CABC.s
+++ b/arm9/asm/unk_0200CABC.s
@@ -1078,7 +1078,7 @@ FUN_0200D300: ; 0x0200D300
add r3, r6, #0x0
str r4, [sp, #0xc]
bl FUN_0200687C
- mov r0, #0x24
+ mov r0, #0x24 ; NARC_GRAPHIC_FIELD_BOARD
mov r1, #0x1
add r2, r4, #0x0
bl AllocAndReadWholeNarcMemberByIdPair
diff --git a/arm9/asm/unk_02021FF8.s b/arm9/asm/unk_02021FF8.s
deleted file mode 100644
index 0609835c..00000000
--- a/arm9/asm/unk_02021FF8.s
+++ /dev/null
@@ -1,309 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .section .rodata
-
- .global UNK_020EE6CC
-UNK_020EE6CC: ; 0x020EE6CC
- .word FUN_020221EC
- .word FUN_02022208
-
- .text
-
- thumb_func_start FUN_02022030
-FUN_02022030: ; 0x02022030
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- beq _02022044
- ldrh r1, [r0, #0x8]
- mov r0, #0xf1
- lsl r0, r0, #0x8
- cmp r1, r0
- bne _02022044
- mov r0, #0x1
- bx lr
-_02022044:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02022048
-FUN_02022048: ; 0x02022048
- push {r3-r7, lr}
- add r4, r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02022030
- cmp r0, #0x0
- beq _020220B2
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- ldrh r0, [r0, #0x2]
- add r1, #0x8
- ldr r7, _020220BC ; =0x000001FF
- lsl r0, r0, #0x1
- add r3, r1, r0
- mov r0, #0x0
- add r4, #0xa
- add r1, r0, #0x0
-_0202206C:
- ldrh r2, [r4, #0x0]
- asr r2, r0
- and r2, r7
- lsl r2, r2, #0x10
- add r0, #0x9
- lsr r2, r2, #0x10
- cmp r0, #0xf
- blt _02022094
- add r4, r4, #0x2
- sub r0, #0xf
- beq _02022094
- ldrh r6, [r4, #0x0]
- mov r5, #0x9
- sub r5, r5, r0
- lsl r6, r5
- ldr r5, _020220BC ; =0x000001FF
- and r5, r6
- orr r2, r5
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
-_02022094:
- ldr r5, _020220BC ; =0x000001FF
- cmp r2, r5
- beq _020220A2
- strh r2, [r3, #0x0]
- add r3, r3, #0x2
- add r1, r1, #0x1
- b _0202206C
-_020220A2:
- ldr r0, _020220C0 ; =0x0000FFFF
- strh r0, [r3, #0x0]
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x2]
- add r1, r0, r1
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x2]
- pop {r3-r7, pc}
-_020220B2:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- bl StringCat
- pop {r3-r7, pc}
- .balign 4
-_020220BC: .word 0x000001FF
-_020220C0: .word 0x0000FFFF
-
- thumb_func_start FUN_020220C4
-FUN_020220C4: ; 0x020220C4
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- cmp r7, #0x0
- bne _020220D6
- bl ErrorHandling
-_020220D6:
- ldr r0, [sp, #0x18]
- mov r1, #0x14
- bl AllocFromHeap
- add r4, r0, #0x0
- beq _0202211C
- str r5, [r4, #0x0]
- str r7, [r4, #0x4]
- ldr r0, [sp, #0x0]
- str r6, [r4, #0x8]
- str r0, [r4, #0xc]
- ldr r0, [sp, #0x18]
- lsl r1, r7, #0x2
- bl AllocFromHeap
- str r0, [r4, #0x10]
- cmp r0, #0x0
- beq _02022114
- mov r6, #0x0
- cmp r7, #0x0
- bls _0202211C
- add r5, r6, #0x0
-_02022102:
- ldr r0, [r4, #0x10]
- add r0, r0, r5
- bl FUN_02022120
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, r7
- blo _02022102
- b _0202211C
-_02022114:
- add r0, r4, #0x0
- bl FreeToHeap
- mov r4, #0x0
-_0202211C:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02022120
-FUN_02022120: ; 0x02022120
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strh r1, [r0, #0x2]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202212C
-FUN_0202212C: ; 0x0202212C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02022136
- bl ErrorHandling
-_02022136:
- ldr r0, [r4, #0x10]
- bl FreeToHeap
- add r0, r4, #0x0
- bl FreeToHeap
- pop {r4, pc}
-
- thumb_func_start FUN_02022144
-FUN_02022144: ; 0x02022144
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_02020A98
- str r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02022190
- bl FUN_02020AA4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- bls _020221AE
- add r4, r6, #0x0
-_02022164:
- ldr r0, [r5, #0x10]
- add r0, r0, r4
- ldrb r0, [r0, #0x1]
- cmp r0, #0x0
- ldr r0, [r5, #0x0]
- beq _02022178
- add r0, r0, r4
- bl FUN_02020A40
- b _0202217E
-_02022178:
- add r0, r0, r4
- bl FUN_02020A6C
-_0202217E:
- ldr r1, [r5, #0x10]
- add r6, r6, #0x1
- add r1, r1, r4
- strb r0, [r1, #0x1]
- ldr r0, [r5, #0x4]
- add r4, r4, #0x4
- cmp r6, r0
- blo _02022164
- b _020221AE
-_02022190:
- ldr r0, [r5, #0x4]
- mov r3, #0x0
- str r3, [sp, #0x4]
- cmp r0, #0x0
- bls _020221AE
- add r2, r3, #0x0
- add r1, r3, #0x0
-_0202219E:
- ldr r0, [r5, #0x10]
- add r3, r3, #0x1
- add r0, r0, r2
- strb r1, [r0, #0x1]
- ldr r0, [r5, #0x4]
- add r2, r2, #0x4
- cmp r3, r0
- blo _0202219E
-_020221AE:
- mov r4, #0x0
- cmp r0, #0x0
- bls _020221E4
- add r7, r4, #0x0
-_020221B6:
- ldr r3, [r5, #0x10]
- ldr r1, [sp, #0x0]
- add r0, r3, r7
- ldrb r3, [r3, r7]
- ldr r2, [sp, #0x4]
- lsl r6, r3, #0x2
- ldr r3, _020221E8 ; =UNK_020EE6CC
- ldr r3, [r3, r6]
- blx r3
- add r1, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- beq _020221DA
- ldr r2, [r5, #0xc]
- ldr r3, [r5, #0x8]
- add r0, r4, #0x0
- blx r3
-_020221DA:
- ldr r0, [r5, #0x4]
- add r4, r4, #0x1
- add r7, r7, #0x4
- cmp r4, r0
- blo _020221B6
-_020221E4:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020221E8: .word UNK_020EE6CC
-
- thumb_func_start FUN_020221EC
-FUN_020221EC: ; 0x020221EC
- push {r3, lr}
- ldrb r1, [r0, #0x1]
- cmp r1, #0x0
- beq _02022202
- cmp r2, #0x0
- beq _02022202
- mov r1, #0x1
- bl FUN_0202223C
- mov r0, #0x0
- pop {r3, pc}
-_02022202:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
-
- thumb_func_start FUN_02022208
-FUN_02022208: ; 0x02022208
- push {r3, lr}
- ldrb r2, [r0, #0x1]
- cmp r2, #0x0
- beq _02022220
- ldrh r2, [r0, #0x2]
- ldr r1, _02022238 ; =0x0000FFFF
- cmp r2, r1
- bhs _0202221C
- add r1, r2, #0x1
- strh r1, [r0, #0x2]
-_0202221C:
- mov r0, #0x2
- pop {r3, pc}
-_02022220:
- cmp r1, #0x0
- beq _0202222E
- mov r1, #0x0
- bl FUN_0202223C
- mov r0, #0x3
- pop {r3, pc}
-_0202222E:
- mov r1, #0x0
- bl FUN_0202223C
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_02022238: .word 0x0000FFFF
-
- thumb_func_start FUN_0202223C
-FUN_0202223C: ; 0x0202223C
- strb r1, [r0, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x2]
- bx lr
diff --git a/arm9/asm/unk_02029C58.s b/arm9/asm/unk_02029C58.s
deleted file mode 100644
index bc21a139..00000000
--- a/arm9/asm/unk_02029C58.s
+++ /dev/null
@@ -1,102 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_02029C58
-FUN_02029C58: ; 0x02029C58
- mov r0, #0x17
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029C60
-FUN_02029C60: ; 0x02029C60
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02029C58
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl MI_CpuFill8
- pop {r4, pc}
-
- thumb_func_start FUN_02029C74
-FUN_02029C74: ; 0x02029C74
- ldr r3, _02029C7C ; =MI_CpuCopy8
- mov r2, #0x18
- bx r3
- nop
-_02029C7C: .word MI_CpuCopy8
-
- thumb_func_start FUN_02029C80
-FUN_02029C80: ; 0x02029C80
- ldr r3, _02029C88 ; =SavArray_get
- mov r1, #0x15
- bx r3
- nop
-_02029C88: .word SavArray_get
-
- thumb_func_start FUN_02029C8C
-FUN_02029C8C: ; 0x02029C8C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0xc
- blt _02029C9A
- bl ErrorHandling
-_02029C9A:
- mov r0, #0x18
- mul r0, r4
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02029CA4
-FUN_02029CA4: ; 0x02029CA4
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r6, #0xc
- blt _02029CB4
- bl ErrorHandling
-_02029CB4:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029C8C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02029C74
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02029CC8
-FUN_02029CC8: ; 0x02029CC8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x8
- blt _02029CD6
- bl ErrorHandling
-_02029CD6:
- lsl r0, r4, #0x1
- add r0, r4, r0
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02029CE0
-FUN_02029CE0: ; 0x02029CE0
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02029CE4
-FUN_02029CE4: ; 0x02029CE4
- ldrb r0, [r0, #0x1]
- bx lr
-
- thumb_func_start FUN_02029CE8
-FUN_02029CE8: ; 0x02029CE8
- ldrb r0, [r0, #0x2]
- bx lr
diff --git a/arm9/asm/unk_0202BE98.s b/arm9/asm/unk_0202BE98.s
index 2b1b2f16..37bc1c4e 100644
--- a/arm9/asm/unk_0202BE98.s
+++ b/arm9/asm/unk_0202BE98.s
@@ -133,10 +133,10 @@ FUN_0202BF7C: ; 0x0202BF7C
mov r1, #0xec
mul r1, r2
add r1, r3, r1
- ldr r3, _0202BF8C ; =FUN_02069A64
+ ldr r3, _0202BF8C ; =CopyBoxPokemonToPokemon
bx r3
nop
-_0202BF8C: .word FUN_02069A64
+_0202BF8C: .word CopyBoxPokemonToPokemon
thumb_func_start FUN_0202BF90
FUN_0202BF90: ; 0x0202BF90
diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s
index d0d60821..e7d630f6 100644
--- a/arm9/asm/unk_020377F0.s
+++ b/arm9/asm/unk_020377F0.s
@@ -1687,7 +1687,7 @@ _02038386:
bl GetPartyMonByIndex
add r1, r0, #0x0
ldr r0, [r4, #0x44]
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [r4, #0x60]
bl FUN_0206C92C
mov r0, #0x1a
diff --git a/arm9/asm/unk_0204653C.s b/arm9/asm/unk_0204653C.s
index b74847fc..4309494e 100644
--- a/arm9/asm/unk_0204653C.s
+++ b/arm9/asm/unk_0204653C.s
@@ -1482,7 +1482,7 @@ _0204711A:
ldr r1, [r7, #0xc]
ldr r2, [sp, #0x20]
add r0, r4, #0x0
- bl FUN_0206ABC4
+ bl EnemyTrainerSet_Init
ldr r0, [r7, #0xc]
bl FUN_02029FC8
mov r1, #0x8
diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s
index 374ab418..568c4b5d 100644
--- a/arm9/asm/unk_020476CC.s
+++ b/arm9/asm/unk_020476CC.s
@@ -663,7 +663,7 @@ _02047C40:
add r1, r4, #0x0
bl GetPartyMonByIndex
add r1, r5, #0x0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
add r0, r5, #0x0
mov r1, #0xa0
mov r2, #0x0
@@ -858,7 +858,7 @@ _02047DEE:
sub r1, r1, #0x1
bl GetPartyMonByIndex
ldr r1, [sp, #0x8]
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r1, [sp, #0x8]
add r0, r5, #0x0
mov r2, #0x0
diff --git a/arm9/asm/unk_0204B0A0.s b/arm9/asm/unk_0204B0A0.s
index f2e46ab6..a78c13d0 100644
--- a/arm9/asm/unk_0204B0A0.s
+++ b/arm9/asm/unk_0204B0A0.s
@@ -149,7 +149,7 @@ FUN_0204B1DC: ; 0x0204B1DC
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0x0
- bl FUN_02069D50
+ bl Party_UpdatePokerus
ldr r0, [r5, #0xc]
bl SavArray_Flags_get
add r6, r0, #0x0
diff --git a/arm9/asm/unk_02060CCC.s b/arm9/asm/unk_02060CCC.s
index 3265d601..44e19c06 100644
--- a/arm9/asm/unk_02060CCC.s
+++ b/arm9/asm/unk_02060CCC.s
@@ -2783,7 +2783,7 @@ _0206211E:
ldr r1, [r1, #0xc]
ldr r2, [sp, #0xc]
mov r3, #0x0
- bl FUN_0200B708
+ bl BufferEasyChatWord
mov r0, #0x0
str r0, [sp, #0x0]
ldr r1, [sp, #0x4]
@@ -2791,7 +2791,7 @@ _0206211E:
ldr r1, [r1, #0xc]
ldr r2, [sp, #0xc]
mov r3, #0x1
- bl FUN_0200B708
+ bl BufferEasyChatWord
ldr r0, [sp, #0x8]
mov r1, #0x2
add r2, r4, #0x0
diff --git a/arm9/asm/unk_0206ABC4.s b/arm9/asm/unk_0206ABC4.s
deleted file mode 100644
index b4b3d88e..00000000
--- a/arm9/asm/unk_0206ABC4.s
+++ /dev/null
@@ -1,749 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .section .rodata
-
- .global UNK_020F8010
-UNK_020F8010: ; 0x020F8010
- .byte 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0
- .byte 0, 1, 1, 0, 0, 1, 1, 2, 0, 1, 1, 0, 0, 0, 1, 2
- .byte 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 2
- .byte 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0
- .byte 0, 0, 1, 0, 0, 1, 2, 0, 1, 0, 1, 0, 1, 1, 1, 0
- .byte 1, 0, 2, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0
- .byte 1, 0, 0, 0
-
- .text
-
- thumb_func_start FUN_0206ABC4
-FUN_0206ABC4: ; 0x0206ABC4
- push {r3-r7, lr}
- sub sp, #0x48
- str r2, [sp, #0x4]
- ldr r2, _0206AC70 ; =0x0000022F
- str r0, [sp, #0x0]
- add r4, r1, #0x0
- ldr r3, [sp, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl NewMsgDataFromNarc
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- bl FUN_02024EC0
- bl FUN_02024EE8
- ldr r4, [sp, #0x0]
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r5, r4, #0x0
- mov r7, #0x0
- str r0, [sp, #0x8]
- add r5, #0x3c
-_0206ABF4:
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _0206AC48
- add r1, sp, #0x14
- bl TrainerData_ReadTrData
- ldr r3, [sp, #0x8]
- add r6, sp, #0x14
- add r3, #0x28
- mov r2, #0x6
-_0206AC08:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206AC08
- ldr r0, [r6, #0x0]
- str r0, [r3, #0x0]
- add r0, sp, #0x14
- ldrb r0, [r0, #0x1]
- cmp r0, #0x3f
- bne _0206AC26
- ldr r1, [sp, #0xc]
- add r0, r5, #0x0
- bl CopyU16StringArray
- b _0206AC3E
-_0206AC26:
- ldr r0, [sp, #0x10]
- ldr r1, [r4, #0x18]
- bl NewString_ReadMsgData
- add r6, r0, #0x0
- add r1, r5, #0x0
- mov r2, #0x8
- bl CopyStringToU16Array
- add r0, r6, #0x0
- bl String_dtor
-_0206AC3E:
- ldr r0, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r1, r7, #0x0
- bl LoadTrainerParty
-_0206AC48:
- ldr r0, [sp, #0x8]
- add r7, r7, #0x1
- add r0, #0x34
- add r4, r4, #0x4
- add r5, #0x34
- str r0, [sp, #0x8]
- cmp r7, #0x4
- blt _0206ABF4
- ldr r0, [sp, #0x0]
- ldr r1, [r0, #0x0]
- ldr r0, [sp, #0x24]
- orr r1, r0
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x10]
- bl DestroyMsgData
- add sp, #0x48
- pop {r3-r7, pc}
- nop
-_0206AC70: .word 0x0000022F
-
- thumb_func_start TrainerData_GetAttr
-TrainerData_GetAttr: ; 0x0206AC74
- push {r4-r5, lr}
- sub sp, #0x34
- add r5, r1, #0x0
- add r1, sp, #0x0
- bl TrainerData_ReadTrData
- cmp r5, #0x9
- bhi _0206ACCC
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206AC90: ; jump table (using 16-bit offset)
- .short _0206ACA4 - _0206AC90 - 2; case 0
- .short _0206ACAA - _0206AC90 - 2; case 1
- .short _0206ACB0 - _0206AC90 - 2; case 2
- .short _0206ACB6 - _0206AC90 - 2; case 3
- .short _0206ACBC - _0206AC90 - 2; case 4
- .short _0206ACBC - _0206AC90 - 2; case 5
- .short _0206ACBC - _0206AC90 - 2; case 6
- .short _0206ACBC - _0206AC90 - 2; case 7
- .short _0206ACC6 - _0206AC90 - 2; case 8
- .short _0206ACCA - _0206AC90 - 2; case 9
-_0206ACA4:
- add r0, sp, #0x0
- ldrb r4, [r0, #0x0]
- b _0206ACCC
-_0206ACAA:
- add r0, sp, #0x0
- ldrb r4, [r0, #0x1]
- b _0206ACCC
-_0206ACB0:
- add r0, sp, #0x0
- ldrb r4, [r0, #0x2]
- b _0206ACCC
-_0206ACB6:
- add r0, sp, #0x0
- ldrb r4, [r0, #0x3]
- b _0206ACCC
-_0206ACBC:
- sub r0, r5, #0x4
- lsl r1, r0, #0x1
- add r0, sp, #0x4
- ldrh r4, [r0, r1]
- b _0206ACCC
-_0206ACC6:
- ldr r4, [sp, #0xc]
- b _0206ACCC
-_0206ACCA:
- ldr r4, [sp, #0x10]
-_0206ACCC:
- add r0, r4, #0x0
- add sp, #0x34
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206ACD4
-FUN_0206ACD4: ; 0x0206ACD4
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
- add r7, r1, #0x0
- ldr r1, [sp, #0x4]
- mov r0, #0x3b
- add r4, r2, #0x0
- bl GetNarcMemberSizeByIdPair
- add r6, r0, #0x0
- mov r0, #0x2
- str r0, [sp, #0x0]
- add r0, sp, #0xc
- mov r1, #0x89
- mov r2, #0x0
- lsl r3, r5, #0x1
- bl ReadFromNarcMemberByIdPair
- mov r0, #0x3b
- add r1, r4, #0x0
- bl NARC_ctor
- add r4, sp, #0xc
- ldrh r2, [r4, #0x0]
- str r0, [sp, #0x8]
- cmp r2, r6
- beq _0206AD40
-_0206AD0E:
- add r0, sp, #0xc
- add r0, #0x2
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- mov r1, #0x0
- mov r3, #0x4
- bl NARC_ReadFromMember
- ldrh r1, [r4, #0x2]
- cmp r1, r5
- bne _0206AD30
- ldrh r0, [r4, #0x4]
- cmp r0, r7
- bne _0206AD30
- mov r0, #0x1
- str r0, [sp, #0x4]
- b _0206AD40
-_0206AD30:
- cmp r1, r5
- bne _0206AD40
- ldrh r0, [r4, #0x0]
- add r0, r0, #0x4
- strh r0, [r4, #0x0]
- ldrh r2, [r4, #0x0]
- cmp r2, r6
- bne _0206AD0E
-_0206AD40:
- ldr r0, [sp, #0x8]
- bl NARC_dtor
- ldr r0, [sp, #0x4]
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206AD4C
-FUN_0206AD4C: ; 0x0206AD4C
- push {r3-r7, lr}
- sub sp, #0x18
- add r6, r0, #0x0
- add r7, r1, #0x0
- mov r0, #0x3b
- mov r1, #0x0
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl GetNarcMemberSizeByIdPair
- add r5, r0, #0x0
- mov r0, #0x2
- str r0, [sp, #0x0]
- add r0, sp, #0x10
- mov r1, #0x89
- mov r2, #0x0
- lsl r3, r6, #0x1
- bl ReadFromNarcMemberByIdPair
- ldr r1, [sp, #0x8]
- mov r0, #0x3b
- bl NARC_ctor
- add r4, sp, #0x10
- ldrh r2, [r4, #0x0]
- str r0, [sp, #0xc]
- cmp r2, r5
- beq _0206ADC2
-_0206AD84:
- add r0, sp, #0x10
- add r0, #0x2
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- mov r1, #0x0
- mov r3, #0x4
- bl NARC_ReadFromMember
- ldrh r0, [r4, #0x2]
- cmp r0, r6
- bne _0206ADB6
- ldrh r0, [r4, #0x4]
- cmp r0, r7
- bne _0206ADB6
- ldr r0, [sp, #0x4]
- add r2, sp, #0x10
- str r0, [sp, #0x0]
- ldrh r2, [r2, #0x0]
- ldr r1, _0206ADDC ; =0x0000022E
- ldr r3, [sp, #0x8]
- mov r0, #0x1a
- lsr r2, r2, #0x2
- bl ReadMsgData_NewNarc_ExistingString
- b _0206ADC2
-_0206ADB6:
- ldrh r0, [r4, #0x0]
- add r0, r0, #0x4
- strh r0, [r4, #0x0]
- ldrh r2, [r4, #0x0]
- cmp r2, r5
- bne _0206AD84
-_0206ADC2:
- ldr r0, [sp, #0xc]
- bl NARC_dtor
- add r0, sp, #0x10
- ldrh r0, [r0, #0x0]
- cmp r0, r5
- bne _0206ADD6
- ldr r0, [sp, #0x4]
- bl StringSetEmpty
-_0206ADD6:
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_0206ADDC: .word 0x0000022E
-
- thumb_func_start TrainerData_ReadTrData
-TrainerData_ReadTrData: ; 0x0206ADE0
- ldr r3, _0206ADEC ; =ReadWholeNarcMemberByIdPair
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x39
- bx r3
- nop
-_0206ADEC: .word ReadWholeNarcMemberByIdPair
-
- thumb_func_start TrainerData_ReadTrPoke
-TrainerData_ReadTrPoke: ; 0x0206ADF0
- ldr r3, _0206ADFC ; =ReadWholeNarcMemberByIdPair
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x3a
- bx r3
- nop
-_0206ADFC: .word ReadWholeNarcMemberByIdPair
-
- thumb_func_start FUN_0206AE00
-FUN_0206AE00: ; 0x0206AE00
- ldr r1, _0206AE08 ; =UNK_020F8010
- ldrb r0, [r1, r0]
- bx lr
- nop
-_0206AE08: .word UNK_020F8010
-
- thumb_func_start LoadTrainerParty
-LoadTrainerParty: ; 0x0206AE0C
- push {r3-r7, lr}
- sub sp, #0x50
- add r7, r1, #0x0
- add r4, r0, #0x0
- add r5, r2, #0x0
- bl GetLCRNGSeed
- lsl r6, r7, #0x2
- str r0, [sp, #0x44]
- add r0, r4, r6
- ldr r0, [r0, #0x4]
- mov r1, #0x6
- bl InitPartyWithMaxSize
- add r0, r5, #0x0
- mov r1, #0x60
- bl AllocFromHeap
- str r0, [sp, #0x4c]
- add r0, r5, #0x0
- bl AllocMonZeroed
- str r0, [sp, #0x40]
- add r0, r4, r6
- ldr r0, [r0, #0x18]
- ldr r1, [sp, #0x4c]
- bl TrainerData_ReadTrPoke
- mov r0, #0x34
- add r5, r7, #0x0
- mul r5, r0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- bl FUN_0206AE00
- cmp r0, #0x1
- bne _0206AE5E
- mov r0, #0x78
- str r0, [sp, #0x10]
- b _0206AE62
-_0206AE5E:
- mov r0, #0x88
- str r0, [sp, #0x10]
-_0206AE62:
- add r0, r4, r5
- add r0, #0x28
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bhi _0206AF26
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206AE78: ; jump table (using 16-bit offset)
- .short _0206AE80 - _0206AE78 - 2; case 0
- .short _0206AF28 - _0206AE78 - 2; case 1
- .short _0206AFE8 - _0206AE78 - 2; case 2
- .short _0206B08C - _0206AE78 - 2; case 3
-_0206AE80:
- mov r0, #0x0
- str r0, [sp, #0x48]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _0206AF26
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x28]
- add r0, r4, r6
- str r0, [sp, #0x24]
-_0206AE96:
- ldr r0, [sp, #0x24]
- ldr r2, [sp, #0x28]
- ldr r1, [r0, #0x18]
- ldr r0, [sp, #0x28]
- ldrh r3, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- ldrh r0, [r0, #0x4]
- add r2, r3, r2
- add r0, r0, r2
- add r7, r1, r0
- add r0, r7, #0x0
- bl SetLCRNGSeed
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206AECE
-_0206AEBC:
- bl LCRandom
- add r7, r0, #0x0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- add r6, r6, #0x1
- cmp r6, r0
- blt _0206AEBC
-_0206AECE:
- ldr r0, [sp, #0x10]
- lsl r1, r7, #0x8
- add r6, r1, r0
- ldr r0, [sp, #0x28]
- ldrh r1, [r0, #0x0]
- mov r0, #0x1f
- mul r0, r1
- mov r1, #0xff
- bl _s32_div_f
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r3, r3, #0x18
- str r6, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x28]
- ldrh r1, [r1, #0x4]
- ldrh r2, [r2, #0x2]
- ldr r0, [sp, #0x40]
- lsr r3, r3, #0x18
- bl CreateMon
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0x40]
- ldr r0, [r0, #0x4]
- bl AddMonToParty
- ldr r0, [sp, #0x28]
- add r0, r0, #0x6
- str r0, [sp, #0x28]
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x48]
- cmp r0, r1
- blt _0206AE96
-_0206AF26:
- b _0206B156
-_0206AF28:
- mov r0, #0x0
- str r0, [sp, #0x18]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _0206AFE6
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x30]
- add r0, r4, r6
- str r0, [sp, #0x2c]
-_0206AF3E:
- ldr r0, [sp, #0x2c]
- ldr r2, [sp, #0x30]
- ldr r1, [r0, #0x18]
- ldr r0, [sp, #0x30]
- ldrh r3, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- ldrh r0, [r0, #0x4]
- add r2, r3, r2
- add r0, r0, r2
- add r7, r1, r0
- add r0, r7, #0x0
- bl SetLCRNGSeed
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206AF76
-_0206AF64:
- bl LCRandom
- add r7, r0, #0x0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- add r6, r6, #0x1
- cmp r6, r0
- blt _0206AF64
-_0206AF76:
- ldr r0, [sp, #0x10]
- lsl r1, r7, #0x8
- add r6, r1, r0
- ldr r0, [sp, #0x30]
- ldrh r1, [r0, #0x0]
- mov r0, #0x1f
- mul r0, r1
- mov r1, #0xff
- bl _s32_div_f
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r3, r3, #0x18
- str r6, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x30]
- ldr r2, [sp, #0x30]
- ldrh r1, [r1, #0x4]
- ldrh r2, [r2, #0x2]
- ldr r0, [sp, #0x40]
- lsr r3, r3, #0x18
- bl CreateMon
- ldr r7, [sp, #0x30]
- mov r6, #0x0
-_0206AFB0:
- ldrh r1, [r7, #0x6]
- lsl r2, r6, #0x18
- ldr r0, [sp, #0x40]
- lsr r2, r2, #0x18
- bl MonSetMoveInSlot
- add r6, r6, #0x1
- add r7, r7, #0x2
- cmp r6, #0x4
- blt _0206AFB0
- ldr r0, [sp, #0x2c]
- ldr r1, [sp, #0x40]
- ldr r0, [r0, #0x4]
- bl AddMonToParty
- ldr r0, [sp, #0x30]
- add r0, #0xe
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x18]
- add r0, r0, #0x1
- str r0, [sp, #0x18]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x18]
- cmp r0, r1
- blt _0206AF3E
-_0206AFE6:
- b _0206B156
-_0206AFE8:
- mov r0, #0x0
- str r0, [sp, #0x1c]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _0206B08A
- add r0, r4, r6
- ldr r7, [sp, #0x4c]
- str r0, [sp, #0x34]
-_0206AFFC:
- ldr r0, [sp, #0x34]
- ldrh r3, [r7, #0x0]
- ldrh r2, [r7, #0x2]
- ldr r1, [r0, #0x18]
- ldrh r0, [r7, #0x4]
- add r2, r3, r2
- add r0, r0, r2
- add r0, r1, r0
- str r0, [sp, #0x14]
- bl SetLCRNGSeed
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206B030
-_0206B01E:
- bl LCRandom
- str r0, [sp, #0x14]
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- add r6, r6, #0x1
- cmp r6, r0
- blt _0206B01E
-_0206B030:
- ldr r0, [sp, #0x14]
- lsl r1, r0, #0x8
- ldr r0, [sp, #0x10]
- add r6, r1, r0
- ldrh r1, [r7, #0x0]
- mov r0, #0x1f
- mul r0, r1
- mov r1, #0xff
- bl _s32_div_f
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r3, r3, #0x18
- str r6, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldrh r1, [r7, #0x4]
- ldrh r2, [r7, #0x2]
- ldr r0, [sp, #0x40]
- lsr r3, r3, #0x18
- bl CreateMon
- ldr r0, [sp, #0x40]
- mov r1, #0x6
- add r2, r7, #0x6
- bl SetMonData
- ldr r0, [sp, #0x34]
- ldr r1, [sp, #0x40]
- ldr r0, [r0, #0x4]
- bl AddMonToParty
- ldr r0, [sp, #0x1c]
- add r7, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0x1c]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x1c]
- cmp r0, r1
- blt _0206AFFC
-_0206B08A:
- b _0206B156
-_0206B08C:
- mov r0, #0x0
- str r0, [sp, #0x20]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _0206B156
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x3c]
- add r0, r4, r6
- str r0, [sp, #0x38]
-_0206B0A2:
- ldr r0, [sp, #0x38]
- ldr r2, [sp, #0x3c]
- ldr r1, [r0, #0x18]
- ldr r0, [sp, #0x3c]
- ldrh r3, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- ldrh r0, [r0, #0x4]
- add r2, r3, r2
- add r0, r0, r2
- add r7, r1, r0
- add r0, r7, #0x0
- bl SetLCRNGSeed
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206B0DA
-_0206B0C8:
- bl LCRandom
- add r7, r0, #0x0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- add r6, r6, #0x1
- cmp r6, r0
- blt _0206B0C8
-_0206B0DA:
- ldr r0, [sp, #0x10]
- lsl r1, r7, #0x8
- add r6, r1, r0
- ldr r0, [sp, #0x3c]
- ldrh r1, [r0, #0x0]
- mov r0, #0x1f
- mul r0, r1
- mov r1, #0xff
- bl _s32_div_f
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r3, r3, #0x18
- str r6, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x3c]
- ldr r2, [sp, #0x3c]
- ldrh r1, [r1, #0x4]
- ldrh r2, [r2, #0x2]
- ldr r0, [sp, #0x40]
- lsr r3, r3, #0x18
- bl CreateMon
- ldr r2, [sp, #0x3c]
- ldr r0, [sp, #0x40]
- mov r1, #0x6
- add r2, r2, #0x6
- bl SetMonData
- ldr r7, [sp, #0x3c]
- mov r6, #0x0
-_0206B120:
- ldrh r1, [r7, #0x8]
- lsl r2, r6, #0x18
- ldr r0, [sp, #0x40]
- lsr r2, r2, #0x18
- bl MonSetMoveInSlot
- add r6, r6, #0x1
- add r7, r7, #0x2
- cmp r6, #0x4
- blt _0206B120
- ldr r0, [sp, #0x38]
- ldr r1, [sp, #0x40]
- ldr r0, [r0, #0x4]
- bl AddMonToParty
- ldr r0, [sp, #0x3c]
- add r0, #0x10
- str r0, [sp, #0x3c]
- ldr r0, [sp, #0x20]
- add r0, r0, #0x1
- str r0, [sp, #0x20]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x20]
- cmp r0, r1
- blt _0206B0A2
-_0206B156:
- ldr r0, [sp, #0x4c]
- bl FreeToHeap
- ldr r0, [sp, #0x40]
- bl FreeToHeap
- ldr r0, [sp, #0x44]
- bl SetLCRNGSeed
- add sp, #0x50
- pop {r3-r7, pc}
diff --git a/arm9/asm/unk_0206B688.s b/arm9/asm/unk_0206B688.s
deleted file mode 100644
index c92d347d..00000000
--- a/arm9/asm/unk_0206B688.s
+++ /dev/null
@@ -1,357 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .section .rodata
-
- .global UNK_020F8074
-UNK_020F8074: ; 0x020F8074
- .byte 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x01, 0x02, 0x02
- .byte 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02
- .byte 0x02, 0x02, 0x02, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02
- .byte 0x02, 0x02, 0x00, 0x02, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
- .byte 0x02, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01
- .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02
- .byte 0x02, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02
- .byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x01, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x01, 0x02
- .byte 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01
- .byte 0x01, 0x01, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x02, 0x02
- .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00
- .byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x02, 0x02, 0x01, 0x01
- .byte 0x01, 0x01, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x02, 0x00, 0x02, 0x01, 0x01, 0x01
- .byte 0x01, 0x01, 0x01, 0x00, 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x01, 0x02
- .byte 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x02, 0x02, 0x02, 0x01, 0x02, 0x00, 0x00, 0x02, 0x02, 0x02
- .byte 0x02, 0x02, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x02, 0x00, 0x00
- .byte 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00
- .byte 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00
- .byte 0x00, 0x01, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, 0x02, 0x00
- .byte 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02
- .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x00
- .byte 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02
- .byte 0x02, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01
- .byte 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x00, 0x02, 0x02, 0x00, 0x01, 0x00, 0x02, 0x02, 0x00
- .byte 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x02
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
- .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .text
-
- thumb_func_start FUN_0206B688
-FUN_0206B688: ; 0x0206B688
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl AcquireBoxMonLock
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl GetBoxMonData
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl GetBoxMonData
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl BoxMon_GetAlternateForme
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0206B6D4
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl ReleaseBoxMonLock
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206B6C8
-FUN_0206B6C8: ; 0x0206B6C8
- push {r3, lr}
- bl FUN_020690E4
- bl FUN_0206B688
- pop {r3, pc}
-
- thumb_func_start FUN_0206B6D4
-FUN_0206B6D4: ; 0x0206B6D4
- cmp r1, #0x1
- bne _0206B6E8
- ldr r1, _0206B748 ; =0x000001EA
- cmp r0, r1
- bne _0206B6E2
- add r1, #0xc
- b _0206B6E4
-_0206B6E2:
- add r1, #0xb
-_0206B6E4:
- add r0, r1, #0x0
- bx lr
-_0206B6E8:
- cmp r2, #0x0
- beq _0206B73A
- ldr r3, _0206B74C ; =0x00000182
- cmp r0, r3
- bne _0206B6F8
- add r3, #0x74
- add r0, r2, r3
- bx lr
-_0206B6F8:
- cmp r0, #0xc9
- bne _0206B702
- add r3, #0x78
- add r0, r2, r3
- bx lr
-_0206B702:
- add r1, r3, #0x0
- add r1, #0x1a
- cmp r0, r1
- bne _0206B710
- add r3, #0x93
- add r0, r2, r3
- bx lr
-_0206B710:
- add r1, r3, #0x0
- add r1, #0x1b
- cmp r0, r1
- bne _0206B71E
- add r3, #0x95
- add r0, r2, r3
- bx lr
-_0206B71E:
- add r1, r3, #0x0
- add r1, #0x24
- cmp r0, r1
- bne _0206B72C
- add r3, #0x97
- add r0, r2, r3
- bx lr
-_0206B72C:
- add r1, r3, #0x0
- add r1, #0x25
- cmp r0, r1
- bne _0206B73A
- add r3, #0x98
- add r0, r2, r3
- bx lr
-_0206B73A:
- ldr r1, _0206B750 ; =0x000001ED
- cmp r0, r1
- bls _0206B742
- mov r0, #0x0
-_0206B742:
- add r0, r0, #0x7
- bx lr
- nop
-_0206B748: .word 0x000001EA
-_0206B74C: .word 0x00000182
-_0206B750: .word 0x000001ED
-
- thumb_func_start BoxMon_GetAlternateForme
-BoxMon_GetAlternateForme: ; 0x0206B754
- push {r4, lr}
- mov r1, #0xad
- mov r2, #0x0
- add r4, r0, #0x0
- bl GetBoxMonData
- ldr r2, _0206B7B8 ; =0x0000019D
- cmp r0, r2
- bhi _0206B784
- sub r1, r2, #0x1
- cmp r0, r1
- blo _0206B774
- beq _0206B7A4
- cmp r0, r2
- beq _0206B7A4
- b _0206B7B4
-_0206B774:
- cmp r0, #0xc9
- bhi _0206B77C
- beq _0206B79C
- b _0206B7B4
-_0206B77C:
- sub r2, #0x1b
- cmp r0, r2
- beq _0206B7A4
- b _0206B7B4
-_0206B784:
- add r1, r2, #0x0
- add r1, #0x9
- cmp r0, r1
- bhi _0206B794
- add r2, #0x9
- cmp r0, r2
- beq _0206B7A4
- b _0206B7B4
-_0206B794:
- add r2, #0xa
- cmp r0, r2
- beq _0206B7A4
- b _0206B7B4
-_0206B79C:
- add r0, r4, #0x0
- bl GetBoxMonUnownLetter
- pop {r4, pc}
-_0206B7A4:
- add r0, r4, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl GetBoxMonData
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r4, pc}
-_0206B7B4:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0206B7B8: .word 0x0000019D
-
- thumb_func_start FUN_0206B7BC
-FUN_0206B7BC: ; 0x0206B7BC
- cmp r2, #0x1
- bne _0206B7CE
- ldr r1, _0206B830 ; =0x000001EA
- cmp r0, r1
- bne _0206B7CA
- add r0, r1, #0x5
- b _0206B82A
-_0206B7CA:
- add r0, r1, #0x4
- b _0206B82A
-_0206B7CE:
- ldr r3, _0206B834 ; =0x000001ED
- cmp r0, r3
- bls _0206B7D8
- mov r0, #0x0
- b _0206B82A
-_0206B7D8:
- cmp r1, #0x0
- beq _0206B82A
- add r2, r3, #0x0
- sub r2, #0x6b
- cmp r0, r2
- bne _0206B7EA
- add r0, r3, #0x2
- add r0, r1, r0
- b _0206B82A
-_0206B7EA:
- cmp r0, #0xc9
- bne _0206B7F4
- add r0, r3, #0x5
- add r0, r1, r0
- b _0206B82A
-_0206B7F4:
- add r2, r3, #0x0
- sub r2, #0x51
- cmp r0, r2
- bne _0206B802
- add r3, #0x21
- add r0, r1, r3
- b _0206B82A
-_0206B802:
- add r2, r3, #0x0
- sub r2, #0x50
- cmp r0, r2
- bne _0206B810
- add r3, #0x23
- add r0, r1, r3
- b _0206B82A
-_0206B810:
- add r2, r3, #0x0
- sub r2, #0x47
- cmp r0, r2
- bne _0206B81E
- add r3, #0x25
- add r0, r1, r3
- b _0206B82A
-_0206B81E:
- add r2, r3, #0x0
- sub r2, #0x46
- cmp r0, r2
- bne _0206B82A
- add r3, #0x26
- add r0, r1, r3
-_0206B82A:
- ldr r1, _0206B838 ; =UNK_020F8074
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0206B830: .word 0x000001EA
-_0206B834: .word 0x000001ED
-_0206B838: .word UNK_020F8074
-
- thumb_func_start FUN_0206B83C
-FUN_0206B83C: ; 0x0206B83C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl AcquireBoxMonLock
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl BoxMon_GetAlternateForme
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl GetBoxMonData
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl GetBoxMonData
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl ReleaseBoxMonLock
- ldr r2, [sp, #0x0]
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_0206B7BC
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206B87C
-FUN_0206B87C: ; 0x0206B87C
- push {r3, lr}
- bl FUN_020690E4
- bl FUN_0206B83C
- pop {r3, pc}
-
- thumb_func_start FUN_0206B888
-FUN_0206B888: ; 0x0206B888
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0206B88C
-FUN_0206B88C: ; 0x0206B88C
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_0206B890
-FUN_0206B890: ; 0x0206B890
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_0206B894
-FUN_0206B894: ; 0x0206B894
- mov r0, #0x6
- bx lr
-
- thumb_func_start FUN_0206B898
-FUN_0206B898: ; 0x0206B898
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0206B89C
-FUN_0206B89C: ; 0x0206B89C
- mov r0, #0x3
- bx lr
-
- thumb_func_start FUN_0206B8A0
-FUN_0206B8A0: ; 0x0206B8A0
- mov r0, #0x5
- bx lr
diff --git a/arm9/asm/unk_0206BB28.s b/arm9/asm/unk_0206BB28.s
deleted file mode 100644
index 15f4469e..00000000
--- a/arm9/asm/unk_0206BB28.s
+++ /dev/null
@@ -1,37 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_0206BB28
-FUN_0206BB28: ; 0x0206BB28
- push {r3, lr}
- bl Sav2_Pokedex_get
- bl FUN_0206BB34
- pop {r3, pc}
-
- thumb_func_start FUN_0206BB34
-FUN_0206BB34: ; 0x0206BB34
- push {r3, lr}
- bl Pokedex_GetNatDexFlag
- cmp r0, #0x1
- bne _0206BB42
- mov r0, #0x1
- pop {r3, pc}
-_0206BB42:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206BB48
-FUN_0206BB48: ; 0x0206BB48
- push {r3, lr}
- cmp r0, #0x0
- bne _0206BB58
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- bl SpeciesToSinnohDexNo
- add r1, r0, #0x0
-_0206BB58:
- add r0, r1, #0x0
- pop {r3, pc}
diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s
index c42b766a..f5a0873e 100644
--- a/arm9/asm/unk_0206C700.s
+++ b/arm9/asm/unk_0206C700.s
@@ -2096,7 +2096,7 @@ _0206D86E:
add r5, r0, #0x0
ldr r0, [r4, #0x28]
add r1, r5, #0x0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
mov r0, #0x49
lsl r0, r0, #0x2
str r0, [sp, #0x0]
@@ -2576,7 +2576,7 @@ FUN_0206DC80: ; 0x0206DC80
add r5, r0, #0x0
ldr r0, [r4, #0x28]
add r1, r5, #0x0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
add r2, r4, #0x0
add r0, r5, #0x0
mov r1, #0x5
diff --git a/arm9/asm/unk_0206E2F0.s b/arm9/asm/unk_0206E2F0.s
index 6741fd51..ab6068fc 100644
--- a/arm9/asm/unk_0206E2F0.s
+++ b/arm9/asm/unk_0206E2F0.s
@@ -134,7 +134,7 @@ FUN_0206E39C: ; 0x0206E39C
thumb_func_start FUN_0206E3A8
FUN_0206E3A8: ; 0x0206E3A8
push {r4-r6, lr}
- bl FUN_02029C80
+ bl Sav2_SealCase_get
add r6, r0, #0x0
mov r5, #0x0
mov r4, #0x1
diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s
index db3328a4..8d7d828a 100644
--- a/arm9/asm/unk_0206F3FC.s
+++ b/arm9/asm/unk_0206F3FC.s
@@ -8,11 +8,12 @@
.global UNK_020F944C
UNK_020F944C: ; 0x020F944C
- .byte 0x01
-
- .global UNK_020F944D
-UNK_020F944D: ; 0x020F944D
- .byte 0x03, 0x1A, 0x03, 0x01, 0x0A, 0x1A, 0x0A, 0x01, 0x11, 0x1A, 0x11
+ .byte 0x01, 0x03
+ .byte 0x1A, 0x03
+ .byte 0x01, 0x0A
+ .byte 0x1A, 0x0A
+ .byte 0x01, 0x11
+ .byte 0x1A, 0x11
.global UNK_020F9458
UNK_020F9458: ; 0x020F9458
@@ -20,8 +21,10 @@ UNK_020F9458: ; 0x020F9458
.global UNK_020F9468
UNK_020F9468: ; 0x020F9468
- .byte 0x00, 0x02, 0x04, 0x01, 0x03, 0x05, 0x01, 0x03, 0x05, 0x00, 0x02, 0x04, 0x04, 0x02, 0x00, 0x05
- .byte 0x03, 0x01, 0x05, 0x03, 0x01, 0x04, 0x02, 0x00
+ .byte 0x00, 0x02, 0x04, 0x01, 0x03, 0x05
+ .byte 0x01, 0x03, 0x05, 0x00, 0x02, 0x04
+ .byte 0x04, 0x02, 0x00, 0x05, 0x03, 0x01
+ .byte 0x05, 0x03, 0x01, 0x04, 0x02, 0x00
.global UNK_020F9480
UNK_020F9480: ; 0x020F9480
@@ -1005,7 +1008,7 @@ _0206FAFC:
bl DestroyMsgData
ldr r0, _0206FB50 ; =0x00000698
ldr r0, [r6, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
mov r0, #0x6a
lsl r0, r0, #0x4
ldr r0, [r6, r0]
@@ -1265,7 +1268,7 @@ FUN_0206FD24: ; 0x0206FD24
mov r1, #0x11
mov r3, #0x3
bl FUN_020068C8
- mov r0, #0x14
+ mov r0, #0x14 ; NARC_GRAPHIC_PLIST_GRA
mov r1, #0x10
mov r2, #0xc
bl AllocAndReadWholeNarcMemberByIdPair
@@ -1438,7 +1441,7 @@ _0206FEC2:
mov r0, #0xf
mov r1, #0xe
mov r3, #0xc
- bl FUN_0200B870
+ bl MessagePrinter_new
ldr r1, _0206FF64 ; =0x00000698
str r0, [r6, r1]
mov r0, #0xc
@@ -4614,7 +4617,7 @@ FUN_020717E8: ; 0x020717E8
lsl r3, r3, #0x1
add r0, r0, r3
mov r12, r0
- ldr r0, _0207184C ; =UNK_020F944D
+ ldr r0, _0207184C ; =UNK_020F944C + 1
ldrb r7, [r0, r1]
_02071816:
lsl r0, r2, #0x2
@@ -4643,7 +4646,7 @@ _02071824:
nop
_02071844: .word 0x00001005
_02071848: .word UNK_020F944C
-_0207184C: .word UNK_020F944D
+_0207184C: .word UNK_020F944C + 1
thumb_func_start FUN_02071850
FUN_02071850: ; 0x02071850
@@ -4653,7 +4656,7 @@ FUN_02071850: ; 0x02071850
lsl r0, r0, #0x3
add r0, #0x14
strh r0, [r1, #0x0]
- ldr r0, _0207186C ; =UNK_020F944D
+ ldr r0, _0207186C ; =UNK_020F944C + 1
ldrb r0, [r0, r3]
lsl r0, r0, #0x3
add r0, #0x14
@@ -4661,7 +4664,7 @@ FUN_02071850: ; 0x02071850
bx lr
.balign 4
_02071868: .word UNK_020F944C
-_0207186C: .word UNK_020F944D
+_0207186C: .word UNK_020F944C + 1
thumb_func_start FUN_02071870
FUN_02071870: ; 0x02071870
@@ -5672,7 +5675,7 @@ FUN_02072080: ; 0x02072080
add r2, sp, #0x0
bl SetMonData
add r0, r5, #0x0
- bl FUN_02069EC4
+ bl Pokemon_UpdateArceusForme
ldr r1, _020720D8 ; =0x00000B25
ldr r0, _020720D4 ; =0x000005A4
ldrb r3, [r4, r1]
@@ -5715,7 +5718,7 @@ FUN_020720E0: ; 0x020720E0
add r2, sp, #0x1c
bl SetMonData
add r0, r5, #0x0
- bl FUN_02069EC4
+ bl Pokemon_UpdateArceusForme
ldr r1, _02072138 ; =0x00000B25
mov r2, #0x2c
ldrb r3, [r4, r1]
@@ -6194,7 +6197,7 @@ FUN_020724D4: ; 0x020724D4
add r4, r0, #0x0
add r5, r1, #0x0
add r6, r2, #0x0
- mov r0, #0x14
+ mov r0, #0x14 ; NARC_GRAPHIC_PLIST_GRA
mov r1, #0x16
add r2, r4, #0x0
add r7, r3, #0x0
diff --git a/arm9/asm/unk_02073DA8.s b/arm9/asm/unk_02073DA8.s
index 8b8442a3..6635b399 100644
--- a/arm9/asm/unk_02073DA8.s
+++ b/arm9/asm/unk_02073DA8.s
@@ -246,7 +246,7 @@ _02073F66:
add r2, sp, #0x0
bl SetMonData
add r0, r6, #0x0
- bl FUN_02069EC4
+ bl Pokemon_UpdateArceusForme
ldr r2, _02074058 ; =0x0000069C
mov r1, #0x52
ldr r0, [r5, r2]
@@ -633,7 +633,7 @@ FUN_020742A8: ; 0x020742A8
add r2, sp, #0x0
bl SetMonData
add r0, r5, #0x0
- bl FUN_02069EC4
+ bl Pokemon_UpdateArceusForme
ldr r1, _02074330 ; =0x00000B25
mov r2, #0x2c
ldrb r3, [r4, r1]
@@ -790,7 +790,7 @@ FUN_02074428: ; 0x02074428
ldrb r1, [r4, r1]
ldr r0, [r0, #0x0]
bl GetPartyMonByIndex
- bl FUN_0206AA84
+ bl Pokemon_RemoveCapsule
ldr r0, _0207444C ; =0x000005A4
mov r1, #0x0
ldr r0, [r4, r0]
diff --git a/arm9/asm/unk_020772F0.s b/arm9/asm/unk_020772F0.s
index 7ada0ae4..7a24d756 100644
--- a/arm9/asm/unk_020772F0.s
+++ b/arm9/asm/unk_020772F0.s
@@ -2,8 +2,6 @@
.include "global.inc"
.extern gMain
- .extern gMain
- .extern gMain
.section .rodata
@@ -25,7 +23,9 @@ UNK_020F9D38: ; 0x020F9D38
.global UNK_020F9D40
UNK_020F9D40: ; 0x020F9D40
- .byte 0x70, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00
+ .word 0x00000070
+ .word 0x0000004C
+ .word 0x00000048
.global UNK_020F9D4C
UNK_020F9D4C: ; 0x020F9D4C
@@ -37,25 +37,52 @@ UNK_020F9D5C: ; 0x020F9D5C
.global UNK_020F9D6C
UNK_020F9D6C: ; 0x020F9D6C
- .byte 0x19, 0x00, 0x39, 0x00, 0x59, 0x00, 0x61, 0x00, 0x7A, 0x00, 0x9E, 0x00, 0xC6, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x2B, 0x00, 0x20, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x3F, 0x00, 0x09, 0x00
- .byte 0x30, 0x00, 0xE2, 0x00, 0xFF, 0xFF, 0x8D, 0x00, 0x74, 0x00, 0x60, 0x00, 0x6A, 0x00, 0x2F, 0x00
- .byte 0x01, 0x00, 0x2B, 0x00, 0x3F, 0x00, 0x09, 0x00, 0x30, 0x00, 0xE2, 0x00, 0xFF, 0xFF
+ .short 0x0019
+ .short 0x0039
+ .short 0x0059
+ .short 0x0061
+ .short 0x007A
+ .short 0x009E
+ .short 0x00C6
+ .short 0x0000
+ .short 0x0003
+ .short 0x002B
+ .short 0x0020
+ .short 0x002F
+ .short 0x0001
+ .short 0x002B
+ .short 0x003F
+ .short 0x0009
+ .short 0x0030
+ .short 0x00E2
+ .short 0xFFFF
+ .short 0x008D
+ .short 0x0074
+ .short 0x0060
+ .short 0x006A
+ .short 0x002F
+ .short 0x0001
+ .short 0x002B
+ .short 0x003F
+ .short 0x0009
+ .short 0x0030
+ .short 0x00E2
+ .short 0xFFFF
.global UNK_020F9DAA
UNK_020F9DAA: ; 0x020F9DAA
- .byte 0x02, 0xE0, 0x02, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x04, 0xE0, 0x04, 0xE0, 0x04, 0xD0, 0x04, 0xD0
- .byte 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x08, 0xE0, 0x08, 0xE0
+ .short 0xE002, 0xE002, 0xE003, 0xE003, 0xE004, 0xE004, 0xD004, 0xD004
+ .short 0xE007, 0xE007, 0xE007, 0xE008, 0xE008
.global UNK_020F9DC4
UNK_020F9DC4: ; 0x020F9DC4
- .byte 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0, 0x04, 0xD0
- .byte 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x08, 0xE0, 0x08, 0xE0
+ .short 0xD004, 0xD004, 0xD004, 0xD004, 0xD004, 0xD004, 0xD004, 0xD004
+ .short 0xE007, 0xE007, 0xE007, 0xE008, 0xE008
.global UNK_020F9DDE
UNK_020F9DDE: ; 0x020F9DDE
- .byte 0xE3, 0x00, 0xE4, 0x00, 0xF9, 0x00, 0xF8, 0x00, 0xE5, 0x00, 0xE6, 0x00, 0xF5, 0x00, 0xF6, 0x00
- .byte 0xF7, 0x00, 0xE7, 0x00, 0x01, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xFF, 0xFF, 0x00, 0x00
+ .short 0x00E3, 0x00E4, 0x00F9, 0x00F8, 0x00E5, 0x00E6, 0x00F5, 0x00F6
+ .short 0x00F7, 0x00E7, 0x0001, 0x00EE, 0x00EF, 0xFFFF, 0x0000
.global UNK_020F9DFC
UNK_020F9DFC: ; 0x020F9DFC
@@ -64,33 +91,33 @@ UNK_020F9DFC: ; 0x020F9DFC
.global UNK_020F9E18
UNK_020F9E18: ; 0x020F9E18
- .byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01
- .byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE
+ .short 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020F9E34
UNK_020F9E34: ; 0x020F9E34
- .byte 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0A, 0x01, 0x0B, 0x01, 0x0C, 0x01, 0x0D, 0x01, 0x0E, 0x01
- .byte 0x11, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFF
+ .short 0x0107, 0x0108, 0x0109, 0x010A, 0x010B, 0x010C, 0x010D, 0x010E
+ .short 0x0111, 0x010F, 0x0110, 0x0001, 0x0001, 0xFFFF
.global UNK_020F9E50
UNK_020F9E50: ; 0x020F9E50
- .byte 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01
- .byte 0x29, 0x01, 0x2A, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x0121, 0x0122, 0x0123, 0x0124, 0x0125, 0x0126, 0x0127, 0x0128
+ .short 0x0129, 0x012A, 0x01DE, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020F9E6C
UNK_020F9E6C: ; 0x020F9E6C
- .byte 0x2B, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x2E, 0x01, 0x2F, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01
- .byte 0x33, 0x01, 0x34, 0x01, 0xDE, 0x01, 0xAD, 0x01, 0xAE, 0x01, 0xFF, 0xFF
+ .short 0x012B, 0x012C, 0x012D, 0x012E, 0x012F, 0x0130, 0x0131, 0x0132
+ .short 0x0133, 0x0134, 0x01DE, 0x01AD, 0x01AE, 0xFFFF
.global UNK_020F9E88
UNK_020F9E88: ; 0x020F9E88
- .byte 0x35, 0x01, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3A, 0x01, 0x3B, 0x01, 0x3C, 0x01
- .byte 0x3D, 0x01, 0x3E, 0x01, 0xDE, 0x01, 0xB3, 0x01, 0xBE, 0x01, 0xFF, 0xFF
+ .short 0x0135, 0x0136, 0x0137, 0x0138, 0x0139, 0x013A, 0x013B, 0x013C
+ .short 0x013D, 0x013E, 0x01DE, 0x01B3, 0x01BE, 0xFFFF
.global UNK_020F9EA4
UNK_020F9EA4: ; 0x020F9EA4
- .byte 0x3F, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x01, 0xDE, 0x01, 0xDE, 0x01
- .byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xBB, 0x01, 0xBC, 0x01, 0xFF, 0xFF
+ .short 0x013F, 0x0140, 0x0141, 0x0142, 0x0143, 0x0144, 0x01DE, 0x01DE
+ .short 0x01DE, 0x01DE, 0x01DE, 0x01BB, 0x01BC, 0xFFFF
.global UNK_020F9EC0
UNK_020F9EC0: ; 0x020F9EC0
@@ -99,38 +126,38 @@ UNK_020F9EC0: ; 0x020F9EC0
.global UNK_020F9EDC
UNK_020F9EDC: ; 0x020F9EDC
- .byte 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4A, 0x01, 0x4B, 0x01, 0x4C, 0x01
- .byte 0x4D, 0x01, 0x4E, 0x01, 0xDE, 0x01, 0xAD, 0x01, 0xAE, 0x01, 0xFF, 0xFF
+ .short 0x0145, 0x0146, 0x0147, 0x0148, 0x0149, 0x014A, 0x014B, 0x014C
+ .short 0x014D, 0x014E, 0x01DE, 0x01AD, 0x01AE, 0xFFFF
.global UNK_020F9EF8
UNK_020F9EF8: ; 0x020F9EF8
- .byte 0x4F, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01
- .byte 0x57, 0x01, 0x58, 0x01, 0xDE, 0x01, 0xB3, 0x01, 0xBE, 0x01, 0xFF, 0xFF
+ .short 0x014F, 0x0150, 0x0151, 0x0152, 0x0153, 0x0154, 0x0155, 0x0156
+ .short 0x0157, 0x0158, 0x01DE, 0x01B3, 0x01BE, 0xFFFF
.global UNK_020F9F14
UNK_020F9F14: ; 0x020F9F14
- .byte 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0xFC, 0x00, 0xFA, 0x00, 0xFD, 0x00
- .byte 0xFB, 0x00, 0xFE, 0x00, 0x05, 0x01, 0x01, 0x00, 0x01, 0x00, 0xFF, 0xFF
+ .short 0x00FF, 0x0100, 0x0101, 0x0102, 0x0103, 0x00FC, 0x00FA, 0x00FD
+ .short 0x00FB, 0x00FE, 0x0105, 0x0001, 0x0001, 0xFFFF
.global UNK_020F9F30
UNK_020F9F30: ; 0x020F9F30
- .byte 0xE8, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xF0, 0x00, 0xF1, 0x00
- .byte 0xF2, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0x06, 0x01, 0x04, 0x01, 0xFF, 0xFF
+ .short 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00F0, 0x00F1
+ .short 0x00F2, 0x00F3, 0x00F4, 0x0106, 0x0104, 0xFFFF
.global UNK_020F9F4C
UNK_020F9F4C: ; 0x020F9F4C
- .byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01
- .byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE
+ .short 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020F9F68
UNK_020F9F68: ; 0x020F9F68
- .byte 0xA2, 0x00, 0xA3, 0x00, 0xA4, 0x00, 0xA5, 0x00, 0xA6, 0x00, 0xA7, 0x00, 0xA8, 0x00, 0xA9, 0x00
- .byte 0xAA, 0x00, 0xAB, 0x00, 0x01, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xFF, 0xFF
+ .short 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9
+ .short 0x00AA, 0x00AB, 0x0001, 0x00E1, 0x00E2, 0xFFFF
.global UNK_020F9F84
UNK_020F9F84: ; 0x020F9F84
- .byte 0xAD, 0x01, 0xAE, 0x01, 0xC4, 0x01, 0xC5, 0x01, 0xAB, 0x01, 0xAC, 0x01, 0xDE, 0x01, 0xDE, 0x01
- .byte 0xDE, 0x01, 0xBB, 0x01, 0xBC, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x01AD, 0x01AE, 0x01C4, 0x01C5, 0x01AB, 0x01AC, 0x01DE, 0x01DE
+ .short 0x01DE, 0x01BB, 0x01BC, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020F9FA0
UNK_020F9FA0: ; 0x020F9FA0
@@ -139,33 +166,33 @@ UNK_020F9FA0: ; 0x020F9FA0
.global UNK_020F9FBC
UNK_020F9FBC: ; 0x020F9FBC
- .byte 0xB4, 0x01, 0xB5, 0x01, 0xB2, 0x01, 0xB3, 0x01, 0xB9, 0x01, 0xBA, 0x01, 0xDE, 0x01, 0xDE, 0x01
- .byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x01B4, 0x01B5, 0x01B2, 0x01B3, 0x01B9, 0x01BA, 0x01DE, 0x01DE
+ .short 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020F9FD8
UNK_020F9FD8: ; 0x020F9FD8
- .byte 0xAF, 0x01, 0xB0, 0x01, 0xC3, 0x01, 0xD0, 0x01, 0xC0, 0x01, 0xD2, 0x01, 0xBD, 0x01, 0xBE, 0x01
- .byte 0xBF, 0x01, 0xB1, 0x01, 0xC1, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x01AF, 0x01B0, 0x01C3, 0x01D0, 0x01C0, 0x01D2, 0x01BD, 0x01BE
+ .short 0x01BF, 0x01B1, 0x01C1, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020F9FF4
UNK_020F9FF4: ; 0x020F9FF4
- .byte 0xCB, 0x01, 0xCC, 0x01, 0xCD, 0x01, 0xCE, 0x01, 0xCF, 0x01, 0xC6, 0x01, 0xC8, 0x01, 0xC9, 0x01
- .byte 0xC7, 0x01, 0xCA, 0x01, 0xD1, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x01CB, 0x01CC, 0x01CD, 0x01CE, 0x01CF, 0x01C6, 0x01C8, 0x01C9
+ .short 0x01C7, 0x01CA, 0x01D1, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020FA010
UNK_020FA010: ; 0x020FA010
- .byte 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01
- .byte 0x29, 0x01, 0x2A, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x0121, 0x0122, 0x0123, 0x0124, 0x0125, 0x0126, 0x0127, 0x0128
+ .short 0x0129, 0x012A, 0x01DE, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020FA02C
UNK_020FA02C: ; 0x020FA02C
- .byte 0xD3, 0x01, 0xD4, 0x01, 0xD5, 0x01, 0xD6, 0x01, 0xD7, 0x01, 0xD8, 0x01, 0xD9, 0x01, 0xDA, 0x01
- .byte 0xDD, 0x01, 0xDB, 0x01, 0xDC, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xFF, 0xFF
+ .short 0x01D3, 0x01D4, 0x01D5, 0x01D6, 0x01D7, 0x01D8, 0x01D9, 0x01DA
+ .short 0x01DD, 0x01DB, 0x01DC, 0x01DE, 0x01DE, 0xFFFF
.global UNK_020FA048
UNK_020FA048: ; 0x020FA048
- .byte 0x59, 0x01, 0x5A, 0x01, 0x5B, 0x01, 0x5C, 0x01, 0x5D, 0x01, 0x5E, 0x01, 0xDE, 0x01, 0xDE, 0x01
- .byte 0xDE, 0x01, 0xDE, 0x01, 0xDE, 0x01, 0xBB, 0x01, 0xBC, 0x01, 0xFF, 0xFF
+ .short 0x0159, 0x015A, 0x015B, 0x015C, 0x015D, 0x015E, 0x01DE, 0x01DE
+ .short 0x01DE, 0x01DE, 0x01DE, 0x01BB, 0x01BC, 0xFFFF
.global UNK_020FA064
UNK_020FA064: ; 0x020FA064
@@ -176,26 +203,26 @@ UNK_020FA064: ; 0x020FA064
.global UNK_020FA0A0
UNK_020FA0A0: ; 0x020FA0A0
- .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
+ .short 0x0000, 0x0000, 0x0001, 0x0000, 0x0002, 0x0000, 0x0003, 0x0000
+ .short 0x0004, 0x0000, 0x0005, 0x0000, 0x0006, 0x0000, 0x0003, 0x0000
.global UNK_020FA0C0
UNK_020FA0C0: ; 0x020FA0C0
- .byte 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
- .byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
- .byte 0x01, 0x00, 0xFF, 0xFF
+ .short 0x0121, 0x0122, 0x0123, 0x0124, 0x0125, 0x0001, 0x0001, 0x0001
+ .short 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001
+ .short 0x0001, 0xFFFF
.global UNK_020FA0E4
UNK_020FA0E4: ; 0x020FA0E4
- .byte 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2A, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
- .byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
- .byte 0x01, 0x00, 0xFF, 0xFF
+ .short 0x0126, 0x0127, 0x0128, 0x0129, 0x012A, 0x0001, 0x0001, 0x0001
+ .short 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001
+ .short 0x0001, 0xFFFF
.global UNK_020FA108
UNK_020FA108: ; 0x020FA108
- .byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
- .byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
- .byte 0x01, 0x00, 0xFF, 0xFF
+ .short 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001
+ .short 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001
+ .short 0x0001, 0xFFFF
.global UNK_020FA12C
UNK_020FA12C: ; 0x020FA12C
@@ -205,122 +232,440 @@ UNK_020FA12C: ; 0x020FA12C
.global UNK_020FA154
UNK_020FA154: ; 0x020FA154
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global UNK_020FA158
-UNK_020FA158: ; 0x020FA158
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
+ .word 0x00000000, 0x00000000
+ .word 0x00000000, 0xFFFFFFFF
+ .word 0x00000000, 0x00000001
+ .word 0xFFFFFFFF, 0x00000000
+ .word 0x00000001, 0x00000000
.global UNK_020FA17C
UNK_020FA17C: ; 0x020FA17C
- .byte 0x31, 0x00
-
- .global UNK_020FA17E
-UNK_020FA17E: ; 0x020FA17E
- .byte 0x32, 0x00, 0x34, 0x00, 0x35, 0x00, 0x37, 0x00, 0x38, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3D, 0x00
- .byte 0x3E, 0x00, 0x81, 0x00, 0x82, 0x00, 0x84, 0x00, 0x85, 0x00, 0x87, 0x00, 0x88, 0x00, 0x8A, 0x00
- .byte 0x8B, 0x00, 0x8D, 0x00, 0x8E, 0x00
+ .short 0x0031, 0x0032
+ .short 0x0034, 0x0035
+ .short 0x0037, 0x0038
+ .short 0x003A, 0x003B
+ .short 0x003D, 0x003E
+ .short 0x0081, 0x0082
+ .short 0x0084, 0x0085
+ .short 0x0087, 0x0088
+ .short 0x008A, 0x008B
+ .short 0x008D, 0x008E
.global UNK_020FA1A4
UNK_020FA1A4: ; 0x020FA1A4
- .byte 0x24, 0x00
-
- .global UNK_020FA1A6
-UNK_020FA1A6: ; 0x020FA1A6
- .byte 0x26, 0x00, 0x74, 0x00, 0x76, 0x00, 0x32, 0x00, 0x31, 0x00, 0x35, 0x00, 0x34, 0x00, 0x38, 0x00
- .byte 0x37, 0x00, 0x3B, 0x00, 0x3A, 0x00, 0x3E, 0x00, 0x3D, 0x00, 0x82, 0x00, 0x81, 0x00, 0x85, 0x00
- .byte 0x84, 0x00, 0x88, 0x00, 0x87, 0x00, 0x8B, 0x00, 0x8A, 0x00, 0x8E, 0x00, 0x8D, 0x00
+ .short 0x0024, 0x0026
+ .short 0x0074, 0x0076
+ .short 0x0032, 0x0031
+ .short 0x0035, 0x0034
+ .short 0x0038, 0x0037
+ .short 0x003B, 0x003A
+ .short 0x003E, 0x003D
+ .short 0x0082, 0x0081
+ .short 0x0085, 0x0084
+ .short 0x0088, 0x0087
+ .short 0x008B, 0x008A
+ .short 0x008E, 0x008D
.global UNK_020FA1D4
UNK_020FA1D4: ; 0x020FA1D4
- .byte 0x04, 0x00, 0x00, 0x00
+ .word 0x00000004
.global UNK_020FA1D8
UNK_020FA1D8: ; 0x020FA1D8
- .byte 0x44, 0x00, 0x00, 0x00
+ .word 0x00000044
.global UNK_020FA1DC
UNK_020FA1DC: ; 0x020FA1DC
- .byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
- .byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
- .byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00
- .byte 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
+ .word 0x00000003, 0x00000001
+ .word 0x00000024, 0x00000044
+ .word 0x00000008, 0x00000001
+ .word 0x00000044, 0x00000044
+ .word 0x0000000D, 0x00000001
+ .word 0x00000000, 0x000000C8
+ .word 0x00000012, 0x00000001
+ .word 0x00000065, 0x00000044
+ .word 0x00000014, 0x00000001
.global UNK_020FA224
UNK_020FA224: ; 0x020FA224
- .byte 0x88, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
- .byte 0xB0, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x1A, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .word 0x00000088, 0x00000044, 0x00000017, 0x00000001
+ .word 0x000000B0, 0x00000044, 0x00000019, 0x00000001
+ .word 0x00000016, 0x00000038, 0x00000025, 0x00000002
+ .word 0x0000001A, 0x0000005B, 0x00000027, 0x00000000
.global UNK_020FA264
UNK_020FA264: ; 0x020FA264
- .byte 0x19, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x39, 0x3C, 0x00, 0x00, 0x02, 0x00, 0x59, 0x3C, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x04, 0x00, 0x9D, 0x3C, 0x01, 0x00, 0x08, 0x00, 0xC5, 0x3C
- .byte 0x01, 0x00, 0x0B, 0x00, 0x1C, 0x58, 0x02, 0x00, 0x00, 0x01, 0x2C, 0x58, 0x02, 0x00, 0x01, 0x01
- .byte 0x3C, 0x58, 0x02, 0x00, 0x02, 0x01, 0x4C, 0x58, 0x02, 0x00, 0x03, 0x01, 0x5C, 0x58, 0x02, 0x00
- .byte 0x04, 0x01, 0x6C, 0x58, 0x02, 0x00, 0x05, 0x01, 0x7C, 0x58, 0x02, 0x00, 0x06, 0x01, 0x8C, 0x58
- .byte 0x02, 0x00, 0x07, 0x01, 0x9C, 0x58, 0x02, 0x00, 0x08, 0x01, 0xAC, 0x58, 0x02, 0x00, 0x09, 0x01
- .byte 0xBC, 0x58, 0x02, 0x00, 0x0A, 0x01, 0xCC, 0x58, 0x02, 0x00, 0x0B, 0x01, 0xDC, 0x58, 0x02, 0x00
- .byte 0x0C, 0x01, 0x1C, 0x6B, 0x02, 0x00, 0x00, 0x02, 0x2C, 0x6B, 0x02, 0x00, 0x01, 0x02, 0x3C, 0x6B
- .byte 0x02, 0x00, 0x02, 0x02, 0x4C, 0x6B, 0x02, 0x00, 0x03, 0x02, 0x5C, 0x6B, 0x02, 0x00, 0x04, 0x02
- .byte 0x6C, 0x6B, 0x02, 0x00, 0x05, 0x02, 0x7C, 0x6B, 0x02, 0x00, 0x06, 0x02, 0x8C, 0x6B, 0x02, 0x00
- .byte 0x07, 0x02, 0x9C, 0x6B, 0x02, 0x00, 0x08, 0x02, 0xAC, 0x6B, 0x02, 0x00, 0x09, 0x02, 0xBC, 0x6B
- .byte 0x02, 0x00, 0x0A, 0x02, 0xCC, 0x6B, 0x02, 0x00, 0x0B, 0x02, 0xDC, 0x6B, 0x02, 0x00, 0x0C, 0x02
- .byte 0x1C, 0x7E, 0x02, 0x00, 0x00, 0x03, 0x2C, 0x7E, 0x02, 0x00, 0x01, 0x03, 0x3C, 0x7E, 0x02, 0x00
- .byte 0x02, 0x03, 0x4C, 0x7E, 0x02, 0x00, 0x03, 0x03, 0x5C, 0x7E, 0x02, 0x00, 0x04, 0x03, 0x6C, 0x7E
- .byte 0x02, 0x00, 0x05, 0x03, 0x7C, 0x7E, 0x02, 0x00, 0x06, 0x03, 0x8C, 0x7E, 0x02, 0x00, 0x07, 0x03
- .byte 0x9C, 0x7E, 0x02, 0x00, 0x08, 0x03, 0xAC, 0x7E, 0x02, 0x00, 0x09, 0x03, 0xBC, 0x7E, 0x02, 0x00
- .byte 0x0A, 0x03, 0xCC, 0x7E, 0x02, 0x00, 0x0B, 0x03, 0xDC, 0x7E, 0x02, 0x00, 0x0C, 0x03, 0x1C, 0x91
- .byte 0x02, 0x00, 0x00, 0x04, 0x2C, 0x91, 0x02, 0x00, 0x01, 0x04, 0x3C, 0x91, 0x02, 0x00, 0x02, 0x04
- .byte 0x4C, 0x91, 0x02, 0x00, 0x03, 0x04, 0x5C, 0x91, 0x02, 0x00, 0x04, 0x04, 0x6C, 0x91, 0x02, 0x00
- .byte 0x05, 0x04, 0x7C, 0x91, 0x02, 0x00, 0x06, 0x04, 0x8C, 0x91, 0x02, 0x00, 0x07, 0x04, 0x9C, 0x91
- .byte 0x02, 0x00, 0x08, 0x04, 0xAC, 0x91, 0x02, 0x00, 0x09, 0x04, 0xBC, 0x91, 0x02, 0x00, 0x0A, 0x04
- .byte 0xCC, 0x91, 0x02, 0x00, 0x0B, 0x04, 0xDC, 0x91, 0x02, 0x00, 0x0C, 0x04, 0x1C, 0xA4, 0x02, 0x00
- .byte 0x00, 0x05, 0x2C, 0xA4, 0x02, 0x00, 0x01, 0x05, 0x3C, 0xA4, 0x02, 0x00, 0x02, 0x05, 0x4C, 0xA4
- .byte 0x02, 0x00, 0x03, 0x05, 0x5C, 0xA4, 0x02, 0x00, 0x04, 0x05, 0x6C, 0xA4, 0x02, 0x00, 0x05, 0x05
- .byte 0x7C, 0xA4, 0x02, 0x00, 0x06, 0x05, 0x8C, 0xA4, 0x02, 0x00, 0x07, 0x05, 0x9C, 0xA4, 0x02, 0x00
- .byte 0x08, 0x05, 0xAC, 0xA4, 0x02, 0x00, 0x09, 0x05, 0xBC, 0xA4, 0x02, 0x00, 0x0A, 0x05, 0xCC, 0xA4
- .byte 0x02, 0x00, 0x0B, 0x05, 0xDC, 0xA4, 0x02, 0x00, 0x0C, 0x05
+ .byte 0x19, 0x3C
+ .short 0x0000
+ .byte 0x00, 0x00
+
+ .byte 0x39, 0x3C
+ .short 0x0000
+ .byte 0x02, 0x00
+
+ .byte 0x59, 0x3C
+ .short 0x0000
+ .byte 0x04, 0x00
+
+ .byte 0x00, 0xC0
+ .short 0x0000
+ .byte 0x04, 0x00
+
+ .byte 0x9D, 0x3C
+ .short 0x0001
+ .byte 0x08, 0x00
+
+ .byte 0xC5, 0x3C
+ .short 0x0001
+ .byte 0x0B, 0x00
+
+ .byte 0x1C, 0x58
+ .short 0x0002
+ .byte 0x00, 0x01
+
+ .byte 0x2C, 0x58
+ .short 0x0002
+ .byte 0x01, 0x01
+
+ .byte 0x3C, 0x58
+ .short 0x0002
+ .byte 0x02, 0x01
+
+ .byte 0x4C, 0x58
+ .short 0x0002
+ .byte 0x03, 0x01
+
+ .byte 0x5C, 0x58
+ .short 0x0002
+ .byte 0x04, 0x01
+
+ .byte 0x6C, 0x58
+ .short 0x0002
+ .byte 0x05, 0x01
+
+ .byte 0x7C, 0x58
+ .short 0x0002
+ .byte 0x06, 0x01
+
+ .byte 0x8C, 0x58
+ .short 0x0002
+ .byte 0x07, 0x01
+
+ .byte 0x9C, 0x58
+ .short 0x0002
+ .byte 0x08, 0x01
+
+ .byte 0xAC, 0x58
+ .short 0x0002
+ .byte 0x09, 0x01
+
+ .byte 0xBC, 0x58
+ .short 0x0002
+ .byte 0x0A, 0x01
+
+ .byte 0xCC, 0x58
+ .short 0x0002
+ .byte 0x0B, 0x01
+
+ .byte 0xDC, 0x58
+ .short 0x0002
+ .byte 0x0C, 0x01
+
+ .byte 0x1C, 0x6B
+ .short 0x0002
+ .byte 0x00, 0x02
+
+ .byte 0x2C, 0x6B
+ .short 0x0002
+ .byte 0x01, 0x02
+
+ .byte 0x3C, 0x6B
+ .short 0x0002
+ .byte 0x02, 0x02
+
+ .byte 0x4C, 0x6B
+ .short 0x0002
+ .byte 0x03, 0x02
+
+ .byte 0x5C, 0x6B
+ .short 0x0002
+ .byte 0x04, 0x02
+
+ .byte 0x6C, 0x6B
+ .short 0x0002
+ .byte 0x05, 0x02
+
+ .byte 0x7C, 0x6B
+ .short 0x0002
+ .byte 0x06, 0x02
+
+ .byte 0x8C, 0x6B
+ .short 0x0002
+ .byte 0x07, 0x02
+
+ .byte 0x9C, 0x6B
+ .short 0x0002
+ .byte 0x08, 0x02
+
+ .byte 0xAC, 0x6B
+ .short 0x0002
+ .byte 0x09, 0x02
+
+ .byte 0xBC, 0x6B
+ .short 0x0002
+ .byte 0x0A, 0x02
+
+ .byte 0xCC, 0x6B
+ .short 0x0002
+ .byte 0x0B, 0x02
+
+ .byte 0xDC, 0x6B
+ .short 0x0002
+ .byte 0x0C, 0x02
+
+ .byte 0x1C, 0x7E
+ .short 0x0002
+ .byte 0x00, 0x03
+
+ .byte 0x2C, 0x7E
+ .short 0x0002
+ .byte 0x01, 0x03
+
+ .byte 0x3C, 0x7E
+ .short 0x0002
+ .byte 0x02, 0x03
+
+ .byte 0x4C, 0x7E
+ .short 0x0002
+ .byte 0x03, 0x03
+
+ .byte 0x5C, 0x7E
+ .short 0x0002
+ .byte 0x04, 0x03
+
+ .byte 0x6C, 0x7E
+ .short 0x0002
+ .byte 0x05, 0x03
+
+ .byte 0x7C, 0x7E
+ .short 0x0002
+ .byte 0x06, 0x03
+
+ .byte 0x8C, 0x7E
+ .short 0x0002
+ .byte 0x07, 0x03
+
+ .byte 0x9C, 0x7E
+ .short 0x0002
+ .byte 0x08, 0x03
+
+ .byte 0xAC, 0x7E
+ .short 0x0002
+ .byte 0x09, 0x03
+
+ .byte 0xBC, 0x7E
+ .short 0x0002
+ .byte 0x0A, 0x03
+
+ .byte 0xCC, 0x7E
+ .short 0x0002
+ .byte 0x0B, 0x03
+
+ .byte 0xDC, 0x7E
+ .short 0x0002
+ .byte 0x0C, 0x03
+
+ .byte 0x1C, 0x91
+ .short 0x0002
+ .byte 0x00, 0x04
+
+ .byte 0x2C, 0x91
+ .short 0x0002
+ .byte 0x01, 0x04
+
+ .byte 0x3C, 0x91
+ .short 0x0002
+ .byte 0x02, 0x04
+
+ .byte 0x4C, 0x91
+ .short 0x0002
+ .byte 0x03, 0x04
+
+ .byte 0x5C, 0x91
+ .short 0x0002
+ .byte 0x04, 0x04
+
+ .byte 0x6C, 0x91
+ .short 0x0002
+ .byte 0x05, 0x04
+
+ .byte 0x7C, 0x91
+ .short 0x0002
+ .byte 0x06, 0x04
+
+ .byte 0x8C, 0x91
+ .short 0x0002
+ .byte 0x07, 0x04
+
+ .byte 0x9C, 0x91
+ .short 0x0002
+ .byte 0x08, 0x04
+
+ .byte 0xAC, 0x91
+ .short 0x0002
+ .byte 0x09, 0x04
+
+ .byte 0xBC, 0x91
+ .short 0x0002
+ .byte 0x0A, 0x04
+
+ .byte 0xCC, 0x91
+ .short 0x0002
+ .byte 0x0B, 0x04
+
+ .byte 0xDC, 0x91
+ .short 0x0002
+ .byte 0x0C, 0x04
+
+ .byte 0x1C, 0xA4
+ .short 0x0002
+ .byte 0x00, 0x05
+
+ .byte 0x2C, 0xA4
+ .short 0x0002
+ .byte 0x01, 0x05
+
+ .byte 0x3C, 0xA4
+ .short 0x0002
+ .byte 0x02, 0x05
+
+ .byte 0x4C, 0xA4
+ .short 0x0002
+ .byte 0x03, 0x05
+
+ .byte 0x5C, 0xA4
+ .short 0x0002
+ .byte 0x04, 0x05
+
+ .byte 0x6C, 0xA4
+ .short 0x0002
+ .byte 0x05, 0x05
+
+ .byte 0x7C, 0xA4
+ .short 0x0002
+ .byte 0x06, 0x05
+
+ .byte 0x8C, 0xA4
+ .short 0x0002
+ .byte 0x07, 0x05
+
+ .byte 0x9C, 0xA4
+ .short 0x0002
+ .byte 0x08, 0x05
+
+ .byte 0xAC, 0xA4
+ .short 0x0002
+ .byte 0x09, 0x05
+
+ .byte 0xBC, 0xA4
+ .short 0x0002
+ .byte 0x0A, 0x05
+
+ .byte 0xCC, 0xA4
+ .short 0x0002
+ .byte 0x0B, 0x05
+
+ .byte 0xDC, 0xA4
+ .short 0x0002
+ .byte 0x0C, 0x05
.global UNK_020FA40E
UNK_020FA40E: ; 0x020FA40E
- .byte 0x03, 0x00, 0x01, 0x00, 0x02, 0x00, 0x05, 0x00, 0x01, 0x00, 0x04, 0x00, 0x07, 0x00, 0x01, 0x00
- .byte 0x06, 0x00, 0x09, 0x00, 0x01, 0x00, 0x08, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x53, 0x00
- .byte 0x01, 0x00, 0x52, 0x00, 0x55, 0x00, 0x01, 0x00, 0x54, 0x00, 0x57, 0x00, 0x01, 0x00, 0x56, 0x00
- .byte 0x59, 0x00, 0x01, 0x00, 0x58, 0x00, 0x5B, 0x00, 0x01, 0x00, 0x5A, 0x00, 0x45, 0x00, 0x01, 0x00
- .byte 0x44, 0x00, 0x47, 0x00, 0x01, 0x00, 0x46, 0x00, 0x49, 0x00, 0x01, 0x00, 0x48, 0x00, 0x95, 0x00
- .byte 0x01, 0x00, 0x94, 0x00, 0x97, 0x00, 0x01, 0x00, 0x96, 0x00, 0x99, 0x00, 0x01, 0x00, 0x98, 0x00
- .byte 0xAC, 0x00, 0x01, 0x00, 0xC6, 0x00, 0xAD, 0x00, 0x01, 0x00, 0xC7, 0x00, 0xAE, 0x00, 0x01, 0x00
- .byte 0xC8, 0x00, 0xAF, 0x00, 0x01, 0x00, 0xC9, 0x00, 0xB0, 0x00, 0x01, 0x00, 0xCA, 0x00, 0xB1, 0x00
- .byte 0x01, 0x00, 0xCB, 0x00, 0xB2, 0x00, 0x01, 0x00, 0xCC, 0x00, 0xB3, 0x00, 0x01, 0x00, 0xCD, 0x00
- .byte 0xB4, 0x00, 0x01, 0x00, 0xCE, 0x00, 0xB5, 0x00, 0x01, 0x00, 0xCF, 0x00, 0xB6, 0x00, 0x01, 0x00
- .byte 0xD0, 0x00, 0xB7, 0x00, 0x01, 0x00, 0xD1, 0x00, 0xB8, 0x00, 0x01, 0x00, 0xD2, 0x00, 0xB9, 0x00
- .byte 0x01, 0x00, 0xD3, 0x00, 0xBA, 0x00, 0x01, 0x00, 0xD4, 0x00, 0xBB, 0x00, 0x01, 0x00, 0xD5, 0x00
- .byte 0xBC, 0x00, 0x01, 0x00, 0xD6, 0x00, 0xBD, 0x00, 0x01, 0x00, 0xD7, 0x00, 0xBE, 0x00, 0x01, 0x00
- .byte 0xD8, 0x00, 0xBF, 0x00, 0x01, 0x00, 0xD9, 0x00, 0xC0, 0x00, 0x01, 0x00, 0xDA, 0x00, 0xC1, 0x00
- .byte 0x01, 0x00, 0xDB, 0x00, 0xC2, 0x00, 0x01, 0x00, 0xDC, 0x00, 0xC3, 0x00, 0x01, 0x00, 0xDD, 0x00
- .byte 0xC4, 0x00, 0x01, 0x00, 0xDE, 0x00, 0xC5, 0x00, 0x01, 0x00, 0xDF, 0x00, 0x25, 0x00, 0x26, 0x00
- .byte 0x24, 0x00, 0x75, 0x00, 0x76, 0x00, 0x74, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x0E, 0x00
- .byte 0x0F, 0x00, 0x01, 0x00, 0x10, 0x00, 0x11, 0x00, 0x01, 0x00, 0x12, 0x00, 0x13, 0x00, 0x01, 0x00
- .byte 0x14, 0x00, 0x15, 0x00, 0x01, 0x00, 0x16, 0x00, 0x17, 0x00, 0x01, 0x00, 0x18, 0x00, 0x19, 0x00
- .byte 0x01, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x1E, 0x00
- .byte 0x1F, 0x00, 0x01, 0x00, 0x20, 0x00, 0x21, 0x00, 0x01, 0x00, 0x22, 0x00, 0x23, 0x00, 0x01, 0x00
- .byte 0x27, 0x00, 0x28, 0x00, 0x01, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x01, 0x00, 0x5C, 0x00, 0x5D, 0x00
- .byte 0x01, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x01, 0x00, 0x60, 0x00, 0x61, 0x00, 0x01, 0x00, 0x62, 0x00
- .byte 0x63, 0x00, 0x01, 0x00, 0x64, 0x00, 0x65, 0x00, 0x01, 0x00, 0x66, 0x00, 0x67, 0x00, 0x01, 0x00
- .byte 0x68, 0x00, 0x69, 0x00, 0x01, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x01, 0x00, 0x6C, 0x00, 0x6D, 0x00
- .byte 0x01, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x01, 0x00, 0x70, 0x00, 0x71, 0x00, 0x01, 0x00, 0x72, 0x00
- .byte 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x78, 0x00, 0x01, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x01, 0x00
- .byte 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00
- .byte 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x80, 0x00
- .byte 0x81, 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00
- .byte 0x89, 0x00, 0x8A, 0x00, 0x8B, 0x00, 0x8C, 0x00, 0x8D, 0x00, 0x8E, 0x00, 0x00, 0x00
+ .short 0x0003, 0x0001, 0x0002
+ .short 0x0005, 0x0001, 0x0004
+ .short 0x0007, 0x0001, 0x0006
+ .short 0x0009, 0x0001, 0x0008
+ .short 0x000B, 0x0001, 0x000A
+ .short 0x0053, 0x0001, 0x0052
+ .short 0x0055, 0x0001, 0x0054
+ .short 0x0057, 0x0001, 0x0056
+ .short 0x0059, 0x0001, 0x0058
+ .short 0x005B, 0x0001, 0x005A
+ .short 0x0045, 0x0001, 0x0044
+ .short 0x0047, 0x0001, 0x0046
+ .short 0x0049, 0x0001, 0x0048
+ .short 0x0095, 0x0001, 0x0094
+ .short 0x0097, 0x0001, 0x0096
+ .short 0x0099, 0x0001, 0x0098
+ .short 0x00AC, 0x0001, 0x00C6
+ .short 0x00AD, 0x0001, 0x00C7
+ .short 0x00AE, 0x0001, 0x00C8
+ .short 0x00AF, 0x0001, 0x00C9
+ .short 0x00B0, 0x0001, 0x00CA
+ .short 0x00B1, 0x0001, 0x00CB
+ .short 0x00B2, 0x0001, 0x00CC
+ .short 0x00B3, 0x0001, 0x00CD
+ .short 0x00B4, 0x0001, 0x00CE
+ .short 0x00B5, 0x0001, 0x00CF
+ .short 0x00B6, 0x0001, 0x00D0
+ .short 0x00B7, 0x0001, 0x00D1
+ .short 0x00B8, 0x0001, 0x00D2
+ .short 0x00B9, 0x0001, 0x00D3
+ .short 0x00BA, 0x0001, 0x00D4
+ .short 0x00BB, 0x0001, 0x00D5
+ .short 0x00BC, 0x0001, 0x00D6
+ .short 0x00BD, 0x0001, 0x00D7
+ .short 0x00BE, 0x0001, 0x00D8
+ .short 0x00BF, 0x0001, 0x00D9
+ .short 0x00C0, 0x0001, 0x00DA
+ .short 0x00C1, 0x0001, 0x00DB
+ .short 0x00C2, 0x0001, 0x00DC
+ .short 0x00C3, 0x0001, 0x00DD
+ .short 0x00C4, 0x0001, 0x00DE
+ .short 0x00C5, 0x0001, 0x00DF
+ .short 0x0025, 0x0026, 0x0024
+ .short 0x0075, 0x0076, 0x0074
+ .short 0x000C, 0x000D, 0x0001
+ .short 0x000E, 0x000F, 0x0001
+ .short 0x0010, 0x0011, 0x0001
+ .short 0x0012, 0x0013, 0x0001
+ .short 0x0014, 0x0015, 0x0001
+ .short 0x0016, 0x0017, 0x0001
+ .short 0x0018, 0x0019, 0x0001
+ .short 0x001A, 0x001B, 0x0001
+ .short 0x001C, 0x001D, 0x0001
+ .short 0x001E, 0x001F, 0x0001
+ .short 0x0020, 0x0021, 0x0001
+ .short 0x0022, 0x0023, 0x0001
+ .short 0x0027, 0x0028, 0x0001
+ .short 0x0029, 0x002A, 0x0001
+ .short 0x005C, 0x005D, 0x0001
+ .short 0x005E, 0x005F, 0x0001
+ .short 0x0060, 0x0061, 0x0001
+ .short 0x0062, 0x0063, 0x0001
+ .short 0x0064, 0x0065, 0x0001
+ .short 0x0066, 0x0067, 0x0001
+ .short 0x0068, 0x0069, 0x0001
+ .short 0x006A, 0x006B, 0x0001
+ .short 0x006C, 0x006D, 0x0001
+ .short 0x006E, 0x006F, 0x0001
+ .short 0x0070, 0x0071, 0x0001
+ .short 0x0072, 0x0073, 0x0001
+ .short 0x0077, 0x0078, 0x0001
+ .short 0x0079, 0x007A, 0x0001
+ .short 0x0030, 0x0031, 0x0032
+ .short 0x0033, 0x0034, 0x0035
+ .short 0x0036, 0x0037, 0x0038
+ .short 0x0039, 0x003A, 0x003B
+ .short 0x003C, 0x003D, 0x003E
+ .short 0x0080, 0x0081, 0x0082
+ .short 0x0083, 0x0084, 0x0085
+ .short 0x0086, 0x0087, 0x0088
+ .short 0x0089, 0x008A, 0x008B
+ .short 0x008C, 0x008D, 0x008E
.global UNK_020FA5FC
+ .balign 4, 0
UNK_020FA5FC: ; 0x020FA5FC
.word FUN_020772E8, FUN_020774EC, FUN_02077894, 0xFFFFFFFF
@@ -336,31 +681,11 @@ UNK_02106058: ; 0x02106058
.global UNK_0210606C
UNK_0210606C: ; 0x0210606C
- .word UNK_020F9E6C
- .word UNK_020F9E88
- .word UNK_020F9EA4
- .word UNK_020F9E18
- .word UNK_020F9E50
- .word UNK_020F9EDC
- .word UNK_020F9EF8
- .word UNK_020FA048
- .word UNK_020F9F4C
- .word UNK_020FA010
- .word UNK_020F9F84
- .word UNK_020F9FBC
- .word UNK_020F9FD8
- .word UNK_020F9FF4
- .word UNK_020FA02C
- .word UNK_020F9F68
- .word UNK_020F9DDE
- .word UNK_020F9F30
- .word UNK_020F9F14
- .word UNK_020F9E34
- .word UNK_020FA0C0
- .word UNK_020FA0E4
- .word UNK_020FA108
- .word UNK_020FA108
- .word UNK_020FA108
+ .word UNK_020F9E6C, UNK_020F9E88, UNK_020F9EA4, UNK_020F9E18, UNK_020F9E50
+ .word UNK_020F9EDC, UNK_020F9EF8, UNK_020FA048, UNK_020F9F4C, UNK_020FA010
+ .word UNK_020F9F84, UNK_020F9FBC, UNK_020F9FD8, UNK_020F9FF4, UNK_020FA02C
+ .word UNK_020F9F68, UNK_020F9DDE, UNK_020F9F30, UNK_020F9F14, UNK_020F9E34
+ .word UNK_020FA0C0, UNK_020FA0E4, UNK_020FA108, UNK_020FA108, UNK_020FA108
.section .bss
@@ -3424,7 +3749,7 @@ FUN_02078BE0: ; 0x02078BE0
mov r1, #0x0
bl FUN_02078BD0
add r4, r0, #0x0
- ldr r0, _02078C8C ; =UNK_020FA158
+ ldr r0, _02078C8C ; =UNK_020FA154 + 4
ldr r1, [r5, #0x20]
ldr r0, [r0, r6]
mov r2, #0x6
@@ -3488,7 +3813,7 @@ _02078C84:
pop {r3-r7, pc}
nop
_02078C88: .word UNK_020FA154
-_02078C8C: .word UNK_020FA158
+_02078C8C: .word UNK_020FA154 + 4
_02078C90: .word 0x0000D004
_02078C94: .word 0x0000E001
@@ -4776,7 +5101,7 @@ _0207969C:
ldrh r0, [r1, #0x0]
cmp r5, r0
bne _020796AE
- ldr r0, _02079704 ; =UNK_020FA1A6
+ ldr r0, _02079704 ; =UNK_020FA1A4 + 2
lsl r1, r2, #0x2
ldrh r0, [r0, r1]
strh r0, [r6, r7]
@@ -4795,7 +5120,7 @@ _020796BC:
ldrh r0, [r1, #0x0]
cmp r5, r0
bne _020796CE
- ldr r0, _0207970C ; =UNK_020FA17E
+ ldr r0, _0207970C ; =UNK_020FA17C + 2
lsl r1, r2, #0x2
ldrh r0, [r0, r1]
strh r0, [r6, r7]
@@ -4829,9 +5154,9 @@ _020796F4: .word UNK_020FA40E
_020796F8: .word 0x0000D001
_020796FC: .word 0x0000E006
_02079700: .word UNK_020FA1A4
-_02079704: .word UNK_020FA1A6
+_02079704: .word UNK_020FA1A4 + 2
_02079708: .word UNK_020FA17C
-_0207970C: .word UNK_020FA17E
+_0207970C: .word UNK_020FA17C + 2
thumb_func_start FUN_02079710
FUN_02079710: ; 0x02079710
diff --git a/arm9/asm/unk_02079C70.s b/arm9/asm/unk_02079C70.s
index c701f1a8..8bace89f 100644
--- a/arm9/asm/unk_02079C70.s
+++ b/arm9/asm/unk_02079C70.s
@@ -664,7 +664,7 @@ FUN_0207A1A0: ; 0x0207A1A0
mov r0, #0x1
mov r1, #0x2
mov r3, #0x13
- bl FUN_0200B870
+ bl MessagePrinter_new
mov r1, #0x67
lsl r1, r1, #0x4
str r0, [r4, r1]
@@ -742,7 +742,7 @@ FUN_0207A264: ; 0x0207A264
mov r0, #0x67
lsl r0, r0, #0x4
ldr r0, [r4, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
ldr r0, _0207A2D0 ; =0x0000067C
ldr r0, [r4, r0]
bl ScrStrBufs_delete
@@ -1536,7 +1536,7 @@ _0207A896:
add r4, r0, #0x0
add r0, r6, #0x0
add r1, r4, #0x0
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
b _0207A8C0
_0207A8BA:
bl FUN_0207B628
@@ -1825,7 +1825,7 @@ FUN_0207AAE0: ; 0x0207AAE0
add r4, r0, #0x0
add r0, r6, #0x0
add r1, r4, #0x0
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
add r0, r5, #0x0
add r1, r4, #0x0
add r2, r7, #0x0
@@ -2163,7 +2163,7 @@ _0207AD26:
_0207ADE0:
add r0, r6, #0x0
add r1, r4, #0x0
- bl FUN_02069BC8
+ bl MonGetFlavorPreference
cmp r0, #0x1
bne _0207ADF4
add r0, r5, #0x0
@@ -2202,7 +2202,7 @@ _0207ADFE:
orr r0, r2
str r0, [r5, #0x50]
add r0, r6, #0x0
- bl FUN_02069E94
+ bl Pokemon_IsImmuneToPokerus
cmp r0, #0x1
bne _0207AE4E
ldr r1, [r5, #0x50]
@@ -2215,7 +2215,7 @@ _0207ADFE:
b _0207AE84
_0207AE4E:
add r0, r6, #0x0
- bl FUN_02069E74
+ bl Pokemon_HasPokerus
cmp r0, #0x1
bne _0207AE7C
ldr r2, [r5, #0x50]
diff --git a/arm9/asm/unk_0207D5BC.s b/arm9/asm/unk_0207D5BC.s
index ca5fef37..2546b905 100644
--- a/arm9/asm/unk_0207D5BC.s
+++ b/arm9/asm/unk_0207D5BC.s
@@ -1540,7 +1540,7 @@ FUN_0207E190: ; 0x0207E190
add r4, r0, #0x0
add r0, r6, #0x0
add r1, r4, #0x0
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
mov r0, #0x91
lsl r0, r0, #0x2
ldr r0, [r5, r0]
diff --git a/arm9/asm/unk_0207FD00.s b/arm9/asm/unk_0207FD00.s
index 294b8bfc..e48ad6f9 100644
--- a/arm9/asm/unk_0207FD00.s
+++ b/arm9/asm/unk_0207FD00.s
@@ -5,14 +5,14 @@
.global UNK_020FBB48
UNK_020FBB48: ; 0x020FBB48
- .byte 0x46, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00
+ .short 0x0046, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045
.global UNK_020FBB54
UNK_020FBB54: ; 0x020FBB54
- .byte 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x4E, 0x00
- .byte 0x4F, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00
- .byte 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, 0x00, 0x5D, 0x00, 0x5E, 0x00
- .byte 0x5F, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00
+ .short 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E
+ .short 0x004F, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056
+ .short 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E
+ .short 0x005F, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064
.text
@@ -1171,7 +1171,7 @@ FUN_02080678: ; 0x02080678
_0208068A:
ldr r0, [r5, #0xc]
add r1, r4, #0x0
- bl FUN_02069BC8
+ bl MonGetFlavorPreference
cmp r0, #0x1
bne _02080698
add r6, r4, #0x1
diff --git a/arm9/asm/unk_02080C38.s b/arm9/asm/unk_02080C38.s
index 458d4420..0f1630ed 100644
--- a/arm9/asm/unk_02080C38.s
+++ b/arm9/asm/unk_02080C38.s
@@ -930,7 +930,7 @@ _02081304:
bl FUN_02029F9C
ldr r0, [r6, #0x8]
ldr r1, [r4, #0x0]
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
mov r0, #0x8
mov r1, #0x14
bl String_ctor
diff --git a/arm9/asm/unk_020859C0.s b/arm9/asm/unk_020859C0.s
index 7b65b9e5..846e5336 100644
--- a/arm9/asm/unk_020859C0.s
+++ b/arm9/asm/unk_020859C0.s
@@ -11,77 +11,168 @@ UNK_020FCAD8: ; 0x020FCAD8
.global UNK_020FCAE8
UNK_020FCAE8: ; 0x020FCAE8
- .byte 0xB8, 0x00
-
- .global UNK_020FCAEA
-UNK_020FCAEA: ; 0x020FCAEA
- .byte 0x00, 0x25
-
- .global UNK_020FCAEC
-UNK_020FCAEC: ; 0x020FCAEC
- .byte 0x25
-
- .global UNK_020FCAED
-UNK_020FCAED: ; 0x020FCAED
- .byte 0x00
-
- .global UNK_020FCAEE
-UNK_020FCAEE: ; 0x020FCAEE
- .byte 0xE7, 0x03
-
- .global UNK_020FCAF0
-UNK_020FCAF0: ; 0x020FCAF0
- .byte 0x00, 0x00, 0xB9, 0x00, 0x01, 0x25, 0x25, 0x00, 0x32, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x02, 0x25
- .byte 0x26, 0x00, 0x32, 0x00, 0x01, 0x00, 0xBB, 0x00, 0x03, 0x25, 0x27, 0x00, 0x32, 0x00, 0x02, 0x00
- .byte 0xBC, 0x00, 0x04, 0x25, 0x28, 0x00, 0x32, 0x00, 0x03, 0x00, 0xBD, 0x00, 0x05, 0x25, 0x29, 0x00
- .byte 0x64, 0x00, 0x04, 0x00, 0xBE, 0x00, 0x06, 0x25, 0x2A, 0x00, 0x64, 0x00, 0x05, 0x00, 0xC0, 0x00
- .byte 0x07, 0x25, 0x2B, 0x00, 0x32, 0x00, 0x06, 0x00, 0xBF, 0x00, 0x08, 0x25, 0x2C, 0x00, 0x32, 0x00
- .byte 0x07, 0x00, 0xC2, 0x00, 0x09, 0x25, 0x2D, 0x00, 0x32, 0x00, 0x08, 0x00, 0xC1, 0x00, 0x0A, 0x25
- .byte 0x2E, 0x00, 0x32, 0x00, 0x09, 0x00, 0xC4, 0x00, 0x0B, 0x25, 0x2F, 0x00, 0x64, 0x00, 0x0A, 0x00
- .byte 0xC3, 0x00, 0x0C, 0x25, 0x30, 0x00, 0x64, 0x00, 0x0B, 0x00, 0xC5, 0x00, 0x0D, 0x25, 0x31, 0x00
- .byte 0x64, 0x00, 0x0C, 0x00, 0xC6, 0x00, 0x0E, 0x25, 0x32, 0x00, 0x64, 0x00, 0x0D, 0x00, 0xC7, 0x00
- .byte 0x0F, 0x25, 0x33, 0x00, 0x64, 0x00, 0x0E, 0x00, 0xC8, 0x00, 0x4D, 0x25, 0x34, 0x00, 0x64, 0x00
- .byte 0x0F, 0x00, 0xC9, 0x00, 0x10, 0x25, 0x39, 0x00, 0x64, 0x00, 0x10, 0x00, 0xCA, 0x00, 0x11, 0x25
- .byte 0x3A, 0x00, 0x64, 0x00, 0x11, 0x00, 0xCB, 0x00, 0x12, 0x25, 0x3B, 0x00, 0x64, 0x00, 0x12, 0x00
- .byte 0xCC, 0x00, 0x13, 0x25, 0x3C, 0x00, 0x64, 0x00, 0x13, 0x00, 0xCD, 0x00, 0x14, 0x25, 0x35, 0x00
- .byte 0x64, 0x00, 0x14, 0x00, 0xCE, 0x00, 0x15, 0x25, 0x36, 0x00, 0x64, 0x00, 0x15, 0x00, 0xCF, 0x00
- .byte 0x16, 0x25, 0x37, 0x00, 0x64, 0x00, 0x16, 0x00, 0xD0, 0x00, 0x17, 0x25, 0x38, 0x00, 0x64, 0x00
- .byte 0x17, 0x00, 0xD1, 0x00, 0x18, 0x25, 0x3D, 0x00, 0x32, 0x00, 0x18, 0x00, 0xD2, 0x00, 0x19, 0x25
- .byte 0x3E, 0x00, 0x32, 0x00, 0x19, 0x00, 0xD3, 0x00, 0x1A, 0x25, 0x3F, 0x00, 0x32, 0x00, 0x1A, 0x00
- .byte 0xD4, 0x00, 0x1B, 0x25, 0x40, 0x00, 0x32, 0x00, 0x1B, 0x00, 0xD6, 0x00, 0x1C, 0x25, 0x41, 0x00
- .byte 0x32, 0x00, 0x1C, 0x00, 0xD5, 0x00, 0x1D, 0x25, 0x42, 0x00, 0x32, 0x00, 0x1D, 0x00, 0xD8, 0x00
- .byte 0x1E, 0x25, 0x43, 0x00, 0x32, 0x00, 0x1E, 0x00, 0xD7, 0x00, 0x1F, 0x25, 0x44, 0x00, 0x32, 0x00
- .byte 0x1F, 0x00, 0xD9, 0x00, 0x20, 0x25, 0x45, 0x00, 0x32, 0x00, 0x20, 0x00, 0xDA, 0x00, 0x21, 0x25
- .byte 0x46, 0x00, 0x32, 0x00, 0x21, 0x00, 0xDB, 0x00, 0x22, 0x25, 0x47, 0x00, 0x64, 0x00, 0x22, 0x00
- .byte 0xDC, 0x00, 0x23, 0x25, 0x48, 0x00, 0x64, 0x00, 0x23, 0x00, 0xDD, 0x00, 0x24, 0x25, 0x49, 0x00
- .byte 0x32, 0x00, 0x24, 0x00, 0xDE, 0x00, 0x25, 0x25, 0x4A, 0x00, 0x32, 0x00, 0x25, 0x00, 0xDF, 0x00
- .byte 0x26, 0x25, 0x4B, 0x00, 0x32, 0x00, 0x26, 0x00, 0xE0, 0x00, 0x27, 0x25, 0x4C, 0x00, 0x32, 0x00
- .byte 0x27, 0x00, 0xE1, 0x00, 0x28, 0x25, 0x4D, 0x00, 0x32, 0x00, 0x28, 0x00, 0xE2, 0x00, 0x29, 0x25
- .byte 0x4E, 0x00, 0x32, 0x00, 0x29, 0x00, 0xE3, 0x00, 0x2A, 0x25, 0x4F, 0x00, 0x32, 0x00, 0x2A, 0x00
- .byte 0xE4, 0x00, 0x2B, 0x25, 0x50, 0x00, 0x32, 0x00, 0x2B, 0x00, 0xE5, 0x00, 0x2C, 0x25, 0x51, 0x00
- .byte 0x32, 0x00, 0x2C, 0x00, 0xE6, 0x00, 0x2D, 0x25, 0x52, 0x00, 0x32, 0x00, 0x2D, 0x00, 0xE7, 0x00
- .byte 0x2E, 0x25, 0x53, 0x00, 0x32, 0x00, 0x2E, 0x00, 0xE8, 0x00, 0x2F, 0x25, 0x54, 0x00, 0x32, 0x00
- .byte 0x2F, 0x00, 0xE9, 0x00, 0x30, 0x25, 0x55, 0x00, 0x32, 0x00, 0x30, 0x00, 0xEA, 0x00, 0x31, 0x25
- .byte 0x56, 0x01, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x32, 0x25, 0x57, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0xEC, 0x00, 0x33, 0x25, 0x58, 0x01, 0x00, 0x00, 0x00, 0x00, 0xED, 0x00, 0x34, 0x25, 0x59, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x35, 0x25, 0x5A, 0x01, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x00
- .byte 0x36, 0x25, 0x5B, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x37, 0x25, 0x5C, 0x01, 0x00, 0x00
- .byte 0x00, 0x00, 0xF1, 0x00, 0x38, 0x25, 0x5D, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x39, 0x25
- .byte 0x5E, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x3A, 0x25, 0x5F, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0xF4, 0x00, 0x3B, 0x25, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x3C, 0x25, 0x61, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x3D, 0x25, 0x62, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x00
- .byte 0x3E, 0x25, 0x63, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x3F, 0x25, 0x64, 0x01, 0x00, 0x00
- .byte 0x00, 0x00, 0xF9, 0x00, 0x40, 0x25, 0x65, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x41, 0x25
- .byte 0x66, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x42, 0x25, 0x67, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0xFC, 0x00, 0x43, 0x25, 0x68, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x44, 0x25, 0x69, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x45, 0x25, 0x6A, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
- .byte 0x46, 0x25, 0x6B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0x25, 0x6C, 0x01, 0x00, 0x00
- .byte 0x00, 0x00, 0x01, 0x01, 0x48, 0x25, 0x6D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x49, 0x25
- .byte 0x6E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x4A, 0x25, 0x6F, 0x01, 0x00, 0x00, 0x00, 0x00
- .byte 0x04, 0x01, 0x4B, 0x25, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x4C, 0x25, 0x71, 0x01
- .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x4E, 0x25, 0x72, 0x00, 0x00, 0x00, 0x31, 0x00, 0x07, 0x01
- .byte 0x4F, 0x25, 0x73, 0x00, 0x00, 0x00, 0x32, 0x00, 0x08, 0x01, 0x50, 0x25, 0x74, 0x00, 0x00, 0x00
- .byte 0x33, 0x00, 0x00, 0x00
+ .short 0x00B8
+ .byte 0x00, 0x25, 0x25, 0x00, 0xE7, 0x03, 0x00, 0x00
+ .short 0x00B9
+ .byte 0x01, 0x25, 0x25, 0x00, 0x32, 0x00, 0x00, 0x00
+ .short 0x00BA
+ .byte 0x02, 0x25, 0x26, 0x00, 0x32, 0x00, 0x01, 0x00
+ .short 0x00BB
+ .byte 0x03, 0x25, 0x27, 0x00, 0x32, 0x00, 0x02, 0x00
+ .short 0x00BC
+ .byte 0x04, 0x25, 0x28, 0x00, 0x32, 0x00, 0x03, 0x00
+ .short 0x00BD
+ .byte 0x05, 0x25, 0x29, 0x00, 0x64, 0x00, 0x04, 0x00
+ .short 0x00BE
+ .byte 0x06, 0x25, 0x2A, 0x00, 0x64, 0x00, 0x05, 0x00
+ .short 0x00C0
+ .byte 0x07, 0x25, 0x2B, 0x00, 0x32, 0x00, 0x06, 0x00
+ .short 0x00BF
+ .byte 0x08, 0x25, 0x2C, 0x00, 0x32, 0x00, 0x07, 0x00
+ .short 0x00C2
+ .byte 0x09, 0x25, 0x2D, 0x00, 0x32, 0x00, 0x08, 0x00
+ .short 0x00C1
+ .byte 0x0A, 0x25, 0x2E, 0x00, 0x32, 0x00, 0x09, 0x00
+ .short 0x00C4
+ .byte 0x0B, 0x25, 0x2F, 0x00, 0x64, 0x00, 0x0A, 0x00
+ .short 0x00C3
+ .byte 0x0C, 0x25, 0x30, 0x00, 0x64, 0x00, 0x0B, 0x00
+ .short 0x00C5
+ .byte 0x0D, 0x25, 0x31, 0x00, 0x64, 0x00, 0x0C, 0x00
+ .short 0x00C6
+ .byte 0x0E, 0x25, 0x32, 0x00, 0x64, 0x00, 0x0D, 0x00
+ .short 0x00C7
+ .byte 0x0F, 0x25, 0x33, 0x00, 0x64, 0x00, 0x0E, 0x00
+ .short 0x00C8
+ .byte 0x4D, 0x25, 0x34, 0x00, 0x64, 0x00, 0x0F, 0x00
+ .short 0x00C9
+ .byte 0x10, 0x25, 0x39, 0x00, 0x64, 0x00, 0x10, 0x00
+ .short 0x00CA
+ .byte 0x11, 0x25, 0x3A, 0x00, 0x64, 0x00, 0x11, 0x00
+ .short 0x00CB
+ .byte 0x12, 0x25, 0x3B, 0x00, 0x64, 0x00, 0x12, 0x00
+ .short 0x00CC
+ .byte 0x13, 0x25, 0x3C, 0x00, 0x64, 0x00, 0x13, 0x00
+ .short 0x00CD
+ .byte 0x14, 0x25, 0x35, 0x00, 0x64, 0x00, 0x14, 0x00
+ .short 0x00CE
+ .byte 0x15, 0x25, 0x36, 0x00, 0x64, 0x00, 0x15, 0x00
+ .short 0x00CF
+ .byte 0x16, 0x25, 0x37, 0x00, 0x64, 0x00, 0x16, 0x00
+ .short 0x00D0
+ .byte 0x17, 0x25, 0x38, 0x00, 0x64, 0x00, 0x17, 0x00
+ .short 0x00D1
+ .byte 0x18, 0x25, 0x3D, 0x00, 0x32, 0x00, 0x18, 0x00
+ .short 0x00D2
+ .byte 0x19, 0x25, 0x3E, 0x00, 0x32, 0x00, 0x19, 0x00
+ .short 0x00D3
+ .byte 0x1A, 0x25, 0x3F, 0x00, 0x32, 0x00, 0x1A, 0x00
+ .short 0x00D4
+ .byte 0x1B, 0x25, 0x40, 0x00, 0x32, 0x00, 0x1B, 0x00
+ .short 0x00D6
+ .byte 0x1C, 0x25, 0x41, 0x00, 0x32, 0x00, 0x1C, 0x00
+ .short 0x00D5
+ .byte 0x1D, 0x25, 0x42, 0x00, 0x32, 0x00, 0x1D, 0x00
+ .short 0x00D8
+ .byte 0x1E, 0x25, 0x43, 0x00, 0x32, 0x00, 0x1E, 0x00
+ .short 0x00D7
+ .byte 0x1F, 0x25, 0x44, 0x00, 0x32, 0x00, 0x1F, 0x00
+ .short 0x00D9
+ .byte 0x20, 0x25, 0x45, 0x00, 0x32, 0x00, 0x20, 0x00
+ .short 0x00DA
+ .byte 0x21, 0x25, 0x46, 0x00, 0x32, 0x00, 0x21, 0x00
+ .short 0x00DB
+ .byte 0x22, 0x25, 0x47, 0x00, 0x64, 0x00, 0x22, 0x00
+ .short 0x00DC
+ .byte 0x23, 0x25, 0x48, 0x00, 0x64, 0x00, 0x23, 0x00
+ .short 0x00DD
+ .byte 0x24, 0x25, 0x49, 0x00, 0x32, 0x00, 0x24, 0x00
+ .short 0x00DE
+ .byte 0x25, 0x25, 0x4A, 0x00, 0x32, 0x00, 0x25, 0x00
+ .short 0x00DF
+ .byte 0x26, 0x25, 0x4B, 0x00, 0x32, 0x00, 0x26, 0x00
+ .short 0x00E0
+ .byte 0x27, 0x25, 0x4C, 0x00, 0x32, 0x00, 0x27, 0x00
+ .short 0x00E1
+ .byte 0x28, 0x25, 0x4D, 0x00, 0x32, 0x00, 0x28, 0x00
+ .short 0x00E2
+ .byte 0x29, 0x25, 0x4E, 0x00, 0x32, 0x00, 0x29, 0x00
+ .short 0x00E3
+ .byte 0x2A, 0x25, 0x4F, 0x00, 0x32, 0x00, 0x2A, 0x00
+ .short 0x00E4
+ .byte 0x2B, 0x25, 0x50, 0x00, 0x32, 0x00, 0x2B, 0x00
+ .short 0x00E5
+ .byte 0x2C, 0x25, 0x51, 0x00, 0x32, 0x00, 0x2C, 0x00
+ .short 0x00E6
+ .byte 0x2D, 0x25, 0x52, 0x00, 0x32, 0x00, 0x2D, 0x00
+ .short 0x00E7
+ .byte 0x2E, 0x25, 0x53, 0x00, 0x32, 0x00, 0x2E, 0x00
+ .short 0x00E8
+ .byte 0x2F, 0x25, 0x54, 0x00, 0x32, 0x00, 0x2F, 0x00
+ .short 0x00E9
+ .byte 0x30, 0x25, 0x55, 0x00, 0x32, 0x00, 0x30, 0x00
+ .short 0x00EA
+ .byte 0x31, 0x25, 0x56, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00EB
+ .byte 0x32, 0x25, 0x57, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00EC
+ .byte 0x33, 0x25, 0x58, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00ED
+ .byte 0x34, 0x25, 0x59, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00EE
+ .byte 0x35, 0x25, 0x5A, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00EF
+ .byte 0x36, 0x25, 0x5B, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F0
+ .byte 0x37, 0x25, 0x5C, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F1
+ .byte 0x38, 0x25, 0x5D, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F2
+ .byte 0x39, 0x25, 0x5E, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F3
+ .byte 0x3A, 0x25, 0x5F, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F4
+ .byte 0x3B, 0x25, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F5
+ .byte 0x3C, 0x25, 0x61, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F6
+ .byte 0x3D, 0x25, 0x62, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F7
+ .byte 0x3E, 0x25, 0x63, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F8
+ .byte 0x3F, 0x25, 0x64, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00F9
+ .byte 0x40, 0x25, 0x65, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FA
+ .byte 0x41, 0x25, 0x66, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FB
+ .byte 0x42, 0x25, 0x67, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FC
+ .byte 0x43, 0x25, 0x68, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FD
+ .byte 0x44, 0x25, 0x69, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FE
+ .byte 0x45, 0x25, 0x6A, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x00FF
+ .byte 0x46, 0x25, 0x6B, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0100
+ .byte 0x47, 0x25, 0x6C, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0101
+ .byte 0x48, 0x25, 0x6D, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0102
+ .byte 0x49, 0x25, 0x6E, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0103
+ .byte 0x4A, 0x25, 0x6F, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0104
+ .byte 0x4B, 0x25, 0x70, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0105
+ .byte 0x4C, 0x25, 0x71, 0x01, 0x00, 0x00, 0x00, 0x00
+ .short 0x0106
+ .byte 0x4E, 0x25, 0x72, 0x00, 0x00, 0x00, 0x31, 0x00
+ .short 0x0107
+ .byte 0x4F, 0x25, 0x73, 0x00, 0x00, 0x00, 0x32, 0x00
+ .short 0x0108
+ .byte 0x50, 0x25, 0x74, 0x00, 0x00, 0x00, 0x33, 0x00
.text
@@ -160,7 +251,7 @@ _02085A60:
ldr r0, [r4, #0x0]
add r1, r6, #0x0
ldr r0, [r0, #0x20]
- bl FUN_02029C8C
+ bl SealCase_GetCapsuleI
str r7, [r5, #0x4]
str r0, [r5, #0x8]
add r6, r6, #0x1
@@ -565,7 +656,7 @@ _02085DDC:
add r0, r5, #0x0
bl FUN_0204AF3C
ldr r0, [r6, #0x10]
- bl FUN_02029C80
+ bl Sav2_SealCase_get
str r0, [r7, #0x20]
add r0, r7, #0x0
mov r1, #0x0
@@ -679,7 +770,7 @@ _02085EA6:
ldr r1, [sp, #0x8]
ldr r0, [r7, #0x20]
sub r1, r1, #0x1
- bl FUN_02029C8C
+ bl SealCase_GetCapsuleI
add r2, r0, #0x0
add r0, r5, #0x0
mov r1, #0xaa
@@ -687,10 +778,10 @@ _02085EA6:
ldr r1, [sp, #0x8]
ldr r0, [r7, #0x20]
sub r1, r1, #0x1
- bl FUN_02029C8C
+ bl SealCase_GetCapsuleI
mov r1, #0x0
- bl FUN_02029CC8
- bl FUN_02029CE0
+ bl Capsule_GetSealI
+ bl Seal_GetId
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_02085FD0
@@ -807,12 +898,12 @@ _02085FDE:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _02085FF0 ; =UNK_020FCAEA
+ ldr r0, _02085FF0 ; =UNK_020FCAE8 + 2
ldrb r0, [r0, r1]
pop {r4, pc}
nop
_02085FEC: .word 0x0000032A
-_02085FF0: .word UNK_020FCAEA
+_02085FF0: .word UNK_020FCAE8 + 2
thumb_func_start FUN_02085FF4
FUN_02085FF4: ; 0x02085FF4
@@ -826,12 +917,12 @@ _02086002:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _02086014 ; =UNK_020FCAEC
+ ldr r0, _02086014 ; =UNK_020FCAE8 + 4
ldrb r0, [r0, r1]
pop {r4, pc}
nop
_02086010: .word 0x0000032A
-_02086014: .word UNK_020FCAEC
+_02086014: .word UNK_020FCAE8 + 4
thumb_func_start FUN_02086018
FUN_02086018: ; 0x02086018
@@ -845,12 +936,12 @@ _02086026:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _02086038 ; =UNK_020FCAED
+ ldr r0, _02086038 ; =UNK_020FCAE8 + 5
ldrb r0, [r0, r1]
pop {r4, pc}
nop
_02086034: .word 0x0000032A
-_02086038: .word UNK_020FCAED
+_02086038: .word UNK_020FCAE8 + 5
thumb_func_start FUN_0208603C
FUN_0208603C: ; 0x0208603C
@@ -864,12 +955,12 @@ _0208604A:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _0208605C ; =UNK_020FCAEE
+ ldr r0, _0208605C ; =UNK_020FCAE8 + 6
ldrh r0, [r0, r1]
pop {r4, pc}
nop
_02086058: .word 0x0000032A
-_0208605C: .word UNK_020FCAEE
+_0208605C: .word UNK_020FCAE8 + 6
thumb_func_start FUN_02086060
FUN_02086060: ; 0x02086060
@@ -883,9 +974,9 @@ _0208606E:
mov r0, #0xa
add r1, r4, #0x0
mul r1, r0
- ldr r0, _02086080 ; =UNK_020FCAF0
+ ldr r0, _02086080 ; =UNK_020FCAE8 + 8
ldrb r0, [r0, r1]
pop {r4, pc}
nop
_0208607C: .word 0x0000032A
-_02086080: .word UNK_020FCAF0
+_02086080: .word UNK_020FCAE8 + 8
diff --git a/arm9/asm/unk_02088F0C.s b/arm9/asm/unk_02088F0C.s
index 1c3bc9f2..aab23503 100644
--- a/arm9/asm/unk_02088F0C.s
+++ b/arm9/asm/unk_02088F0C.s
@@ -552,7 +552,7 @@ FUN_02088F0C: ; 0x02088F0C
add r4, r0, #0x0
add r0, r6, #0x0
str r5, [r4, #0x0]
- bl FUN_020139D8
+ bl EasyChatManager_new
str r0, [r4, #0x4]
mov r3, #0x0
ldr r0, _02088F48 ; =0x0000189E
@@ -579,7 +579,7 @@ FUN_02088F4C: ; 0x02088F4C
add r4, r0, #0x0
beq _02088F5E
ldr r0, [r4, #0x4]
- bl FUN_02013A10
+ bl EasyChatManager_delete
add r0, r4, #0x0
bl FreeToHeap
_02088F5E:
@@ -730,7 +730,7 @@ FUN_02089050: ; 0x02089050
str r0, [sp, #0xc]
ldr r0, _020890BC ; =0x00000189
mov r1, #0x0
- bl FUN_02013A9C
+ bl GetECWordIndexByPair
str r0, [sp, #0x8]
mov r7, #0x0
ldr r0, [sp, #0x4]
@@ -789,7 +789,7 @@ FUN_020890C4: ; 0x020890C4
str r0, [sp, #0x10]
ldr r0, _02089144 ; =0x00000186
mov r1, #0x0
- bl FUN_02013A9C
+ bl GetECWordIndexByPair
add r6, r0, #0x0
add r0, r6, #0x5
lsl r0, r0, #0x10
@@ -1070,7 +1070,7 @@ FUN_020892CC: ; 0x020892CC
add r1, #0x68
ldrh r1, [r1, #0x0]
add r2, r3, #0x0
- bl FUN_02013A30
+ bl EasyChatManager_ReadWordIntoString
pop {r4, pc}
.balign 4
@@ -1112,7 +1112,7 @@ FUN_02089310: ; 0x02089310
add r1, r0, #0x0
ldr r0, [r5, #0x4]
add r2, r4, #0x0
- bl FUN_02013A30
+ bl EasyChatManager_ReadWordIntoString
_02089330:
pop {r4-r6, pc}
nop
diff --git a/arm9/global.inc b/arm9/global.inc
index c039fd35..8f1f4448 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -566,9 +566,9 @@
.extern BufferPoketchAppName
.extern BufferTrainerClassName
.extern BufferTrainerClassNameWithArticle
-.extern BufferTrainerClassName2
-.extern FUN_0200B10C
-.extern FUN_0200B144
+.extern BufferTrainerClassNameFromDataStruct
+.extern BufferTrainerName
+.extern BufferTrainerNameFromDataStruct
.extern BufferUndergroundItemName
.extern BufferUndergroundItemNameWithArticle
.extern BufferUndergroundTrapName
@@ -594,13 +594,13 @@
.extern BufferFashionName
.extern BufferFashionNameWithArticle
.extern BufferContestBackgroundName
-.extern FUN_0200B708
+.extern BufferEasyChatWord
.extern BufferMonthNameAbbr
-.extern FUN_0200B7A8
+.extern ScrStrBufs_UpperFirstChar
.extern StringExpandPlaceholders
-.extern FUN_0200B84C
-.extern FUN_0200B870
-.extern FUN_0200B990
+.extern ScrStrBufs_ResetBuffers
+.extern MessagePrinter_new
+.extern MessagePrinter_delete
.extern FUN_0200B9A8
.extern FUN_0200B9EC
.extern FUN_0200BA78
@@ -903,11 +903,11 @@
.extern MailMsg_SetMsgBankAndNum
.extern MailMsg_SetFieldI
.extern MailMsg_SetTrailingFieldsEmpty
-.extern FUN_020139D8
-.extern FUN_02013A10
-.extern FUN_02013A30
-.extern FUN_02013A58
-.extern FUN_02013A9C
+.extern EasyChatManager_new
+.extern EasyChatManager_delete
+.extern EasyChatManager_ReadWordIntoString
+.extern GetECWordIntoStringByIndex
+.extern GetECWordIndexByPair
.extern FUN_02013B28
.extern FUN_02013B2C
.extern FUN_02013B5C
@@ -1407,7 +1407,7 @@
.extern StringCat
.extern StrAddChar
.extern StrUpperFirstChar
-.extern FUN_02022048
+.extern StringCat_HandleTrainerName
.extern FUN_020220C4
.extern FUN_0202212C
.extern FUN_02022144
@@ -1959,16 +1959,16 @@
.extern FUN_02029B90
.extern FUN_02029C00
.extern FUN_02029C08
-.extern FUN_02029C58
-.extern FUN_02029C60
-.extern FUN_02029C74
-.extern FUN_02029C80
-.extern FUN_02029C8C
-.extern FUN_02029CA4
-.extern FUN_02029CC8
-.extern FUN_02029CE0
-.extern FUN_02029CE4
-.extern FUN_02029CE8
+.extern Sav2_SealCase_sizeof
+.extern Sav2_SealCase_init
+.extern CapsuleArray_copy
+.extern Sav2_SealCase_get
+.extern SealCase_GetCapsuleI
+.extern SealCase_SetCapsuleI
+.extern Capsule_GetSealI
+.extern Seal_GetId
+.extern Seal_GetXCoord
+.extern Seal_GetYCoord
.extern FUN_02029CEC
.extern FUN_02029CF4
.extern FUN_02029CF8
@@ -4797,24 +4797,24 @@
.extern FUN_020698E0
.extern FUN_020698E8
.extern FUN_020699A4
-.extern FUN_02069A64
-.extern FUN_02069AEC
+.extern CopyBoxPokemonToPokemon
+.extern Party_GetMaxLevel
.extern SpeciesToSinnohDexNo
-.extern FUN_02069B60
-.extern FUN_02069B88
-.extern FUN_02069BA0
-.extern FUN_02069BB4
-.extern FUN_02069BC8
-.extern FUN_02069BE4
-.extern FUN_02069BFC
-.extern FUN_02069C4C
-.extern FUN_02069CF4
-.extern FUN_02069D50
-.extern FUN_02069DC8
-.extern FUN_02069E74
-.extern FUN_02069E94
-.extern FUN_02069EC4
-.extern FUN_02069ECC
+.extern SinnohDexNoToSpecies
+.extern CopyPokemonToPokemon
+.extern CopyPokemonToBoxPokemon
+.extern CopyBoxPokemonToBoxPokemon
+.extern MonGetFlavorPreference
+.extern GetFlavorPreferenceFromPID
+.extern Species_LoadLearnsetTable
+.extern Party_GivePokerusAtRandom
+.extern Party_MaskMonsWithPokerus
+.extern Party_UpdatePokerus
+.extern Party_SpreadPokerus
+.extern Pokemon_HasPokerus
+.extern Pokemon_IsImmuneToPokerus
+.extern Pokemon_UpdateArceusForme
+.extern BoxMon_UpdateArceusForme
.extern GetArceusTypeByHeldItemEffect
.extern LoadWotbl_HandleAlternateForme
.extern FUN_02069FB0
@@ -4831,19 +4831,19 @@
.extern FUN_0206A998
.extern FUN_0206A9AC
.extern FUN_0206AA30
-.extern FUN_0206AA84
+.extern Pokemon_RemoveCapsule
.extern RestoreBoxMonPP
.extern LoadAllWazaTbl
.extern GetWazaAttr
.extern WazaGetMaxPp
.extern GetAttrFromWazaTbl
-.extern FUN_0206ABC4
+.extern EnemyTrainerSet_Init
.extern TrainerData_GetAttr
-.extern FUN_0206ACD4
-.extern FUN_0206AD4C
+.extern TrainerMessageWithIdPairExists
+.extern GetTrainerMessageByIdPair
.extern TrainerData_ReadTrData
.extern TrainerData_ReadTrPoke
-.extern FUN_0206AE00
+.extern TrainerClass_GetGenderOrTrainerCount
.extern PCStorage_init
.extern PCStorage_sizeof
.extern PCStorage_PlaceMonInFirstEmptySlotInAnyBox
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index f9672ea0..b665a9b3 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -14436,7 +14436,7 @@ MOD05_021EC4F0: ; 0x021EC4F0
_021EC544:
ldr r1, [sp, #4]
add r0, r4, #0
- bl FUN_02069BB4
+ bl CopyBoxPokemonToBoxPokemon
add r0, r5, #0
mov r1, #0
bl DayCareMon_SetSteps
@@ -14599,7 +14599,7 @@ MOD05_021EC668: ; 0x021EC668
lsr r7, r0, #0x10
add r0, r5, #0
add r1, r4, #0
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
add r0, r4, #0
mov r1, #0xa0
mov r2, #0
@@ -14680,7 +14680,7 @@ MOD05_021EC744: ; 0x021EC744
add r4, r0, #0
add r0, r6, #0
add r1, r4, #0
- bl FUN_02069BA0
+ bl CopyPokemonToBoxPokemon
add r0, r4, #0
mov r1, #8
mov r2, #0
@@ -15240,7 +15240,7 @@ MOD05_021ECB6C: ; 0x021ECB6C
ldr r0, [sp, #0x18]
ldr r1, [sp, #0xc]
add r2, #0x30
- bl FUN_02069BFC
+ bl Species_LoadLearnsetTable
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x14]
@@ -16911,7 +16911,7 @@ _021ED7CE:
bl SetMonData
add r0, r6, #0
add r1, r4, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [sp, #0x10]
bl String_dtor
add r0, r6, #0
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 2af29137..1337a593 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -5094,7 +5094,7 @@ _0223BC5A:
str r0, [r1, #0x20]
ldr r0, [sp, #0x2c]
ldr r1, [r5, #0xc]
- bl FUN_0206ABC4
+ bl EnemyTrainerSet_Init
add r0, sp, #0x30
str r0, [sp]
ldr r1, [sp, #0x20]
@@ -5531,7 +5531,7 @@ _0223BFFE:
str r0, [r1, #0x20]
ldr r0, [sp, #0x24]
ldr r1, [r5, #0xc]
- bl FUN_0206ABC4
+ bl EnemyTrainerSet_Init
add r0, sp, #0x28
str r0, [sp]
ldr r1, [sp, #0x18]
@@ -5841,7 +5841,7 @@ _0223C2A2:
str r0, [r1, #0x20]
ldr r0, [r4]
ldr r1, [r5, #0xc]
- bl FUN_0206ABC4
+ bl EnemyTrainerSet_Init
add r0, sp, #0x28
str r0, [sp]
ldr r1, [sp, #0x1c]
@@ -8177,7 +8177,7 @@ _0223D456:
str r0, [r4, r1]
b _0223D472
_0223D468:
- bl FUN_02029C80
+ bl Sav2_SealCase_get
mov r1, #0x21
lsl r1, r1, #4
str r0, [r4, r1]
@@ -22218,7 +22218,7 @@ _022445A6:
ldr r0, [sp, #4]
bl GetPartyMonByIndex
add r1, r4, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
add r0, r4, #0
mov r1, #0xa0
mov r2, #0
@@ -31096,10 +31096,10 @@ MOD06_0224891C: ; 0x0224891C
bl CreateInGameTradeMon
ldr r1, [sp, #0x20]
add r0, r7, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [r5, #4]
ldr r1, [sp, #0x24]
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [sp, #0x20]
bl FUN_020690E4
str r0, [r4]
diff --git a/arm9/modules/07/asm/module_07.s b/arm9/modules/07/asm/module_07.s
index 2659dd5c..1a91192a 100644
--- a/arm9/modules/07/asm/module_07.s
+++ b/arm9/modules/07/asm/module_07.s
@@ -4972,7 +4972,7 @@ MOD07_0221469C: ; 0x0221469C
mov r0, #0xf
mov r1, #0xe
mov r2, #0
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [sp, #0xc]
ldr r0, [r6]
ldr r0, [r0, #0x24]
@@ -5008,7 +5008,7 @@ _022146F6:
ldr r0, [sp, #0x10]
bl DestroyMsgData
ldr r0, [sp, #0xc]
- bl FUN_0200B990
+ bl MessagePrinter_delete
ldr r0, [sp, #8]
bl ScrStrBufs_delete
add sp, #0x14
@@ -5049,7 +5049,7 @@ MOD07_02214720: ; 0x02214720
add r0, r1, r0
add r0, #0x29
ldrb r0, [r0]
- bl FUN_0206AE00
+ bl TrainerClass_GetGenderOrTrainerCount
str r0, [sp, #0x10]
ldr r0, [r4, #0x24]
mov r1, #0x10
@@ -5101,7 +5101,7 @@ _022147BC:
add r0, r1, r0
add r0, #0x29
ldrb r0, [r0]
- bl FUN_0206AE00
+ bl TrainerClass_GetGenderOrTrainerCount
str r0, [sp, #0x14]
ldr r0, [r4, #0x24]
mov r1, #0x10
@@ -5134,7 +5134,7 @@ _02214808:
add r0, r1, r0
add r0, #0x29
ldrb r0, [r0]
- bl FUN_0206AE00
+ bl TrainerClass_GetGenderOrTrainerCount
str r0, [sp, #0x18]
ldr r0, [r4, #0x24]
mov r1, #0x10
@@ -5167,7 +5167,7 @@ _02214854:
add r0, r1, r0
add r0, #0x29
ldrb r0, [r0]
- bl FUN_0206AE00
+ bl TrainerClass_GetGenderOrTrainerCount
str r0, [sp, #0x1c]
ldr r0, [r4, #0x24]
mov r1, #0x10
@@ -5205,12 +5205,12 @@ _022148A0:
bne _022148EA
add r0, #0x5d
ldrb r0, [r0]
- bl FUN_0206AE00
+ bl TrainerClass_GetGenderOrTrainerCount
str r0, [sp, #8]
ldr r0, [r4]
add r0, #0xc5
ldrb r0, [r0]
- bl FUN_0206AE00
+ bl TrainerClass_GetGenderOrTrainerCount
str r0, [sp, #0xc]
ldr r0, [r4, #0x18]
add r1, r5, #0
@@ -5224,12 +5224,12 @@ _022148A0:
_022148EA:
add r0, #0x29
ldrb r0, [r0]
- bl FUN_0206AE00
+ bl TrainerClass_GetGenderOrTrainerCount
str r0, [sp, #8]
ldr r0, [r4]
add r0, #0x91
ldrb r0, [r0]
- bl FUN_0206AE00
+ bl TrainerClass_GetGenderOrTrainerCount
str r0, [sp, #0xc]
ldr r0, [r4, #0x14]
add r1, r5, #0
diff --git a/arm9/modules/08/asm/module_08.s b/arm9/modules/08/asm/module_08.s
index bd4cc319..b6af83a9 100644
--- a/arm9/modules/08/asm/module_08.s
+++ b/arm9/modules/08/asm/module_08.s
@@ -45124,10 +45124,10 @@ _022282DC:
_022282F8:
ldr r0, [sp, #0x14]
add r1, r5, #0
- bl FUN_02029CC8
+ bl Capsule_GetSealI
add r7, r0, #0
beq _02228360
- bl FUN_02029CE0
+ bl Seal_GetId
cmp r0, #0
beq _02228360
cmp r0, #0x51
@@ -45193,10 +45193,10 @@ _02228376:
_02228384:
ldr r0, [sp, #0x18]
add r1, r5, #0
- bl FUN_02029CC8
+ bl Capsule_GetSealI
add r7, r0, #0
beq _022283EC
- bl FUN_02029CE0
+ bl Seal_GetId
cmp r0, #0
beq _022283EC
cmp r0, #0x51
@@ -45262,10 +45262,10 @@ _02228402:
_02228410:
ldr r0, [sp, #0x1c]
add r1, r5, #0
- bl FUN_02029CC8
+ bl Capsule_GetSealI
add r7, r0, #0
beq _02228478
- bl FUN_02029CE0
+ bl Seal_GetId
cmp r0, #0
beq _02228478
cmp r0, #0x51
@@ -45331,10 +45331,10 @@ _0222848E:
_0222849C:
ldr r0, [sp, #0x20]
add r1, r5, #0
- bl FUN_02029CC8
+ bl Capsule_GetSealI
add r7, r0, #0
beq _02228504
- bl FUN_02029CE0
+ bl Seal_GetId
cmp r0, #0
beq _02228504
cmp r0, #0x51
@@ -45765,13 +45765,13 @@ MOD08_022287C4: ; 0x022287C4
add r1, sp, #0
bl MOD08_02228710
ldr r0, [r4, #0x14]
- bl FUN_02029CE0
+ bl Seal_GetId
bl FUN_02086018
ldr r0, [r4, #0x14]
- bl FUN_02029CE4
+ bl Seal_GetXCoord
add r6, r0, #0
ldr r0, [r4, #0x14]
- bl FUN_02029CE8
+ bl Seal_GetYCoord
sub r6, #0xbe
lsl r1, r6, #0x10
asr r3, r1, #0x10
@@ -49049,10 +49049,10 @@ MOD08_0222A02C: ; 0x0222A02C
MOD08_0222A058: ; 0x0222A058
push {r3, r4, r5, lr}
add r5, r0, #0
- bl FUN_02029CE4
+ bl Seal_GetXCoord
add r4, r0, #0
add r0, r5, #0
- bl FUN_02029CE8
+ bl Seal_GetYCoord
add r1, r0, #0
add r0, r4, #0
mov r2, #0xbe
@@ -49077,7 +49077,7 @@ _0222A084:
sub r1, r1, #1
bne _0222A084
add r0, r4, #0
- bl FUN_02029CE0
+ bl Seal_GetId
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_02086018
diff --git a/arm9/modules/09/asm/module_09.s b/arm9/modules/09/asm/module_09.s
index 59100716..e98eadea 100644
--- a/arm9/modules/09/asm/module_09.s
+++ b/arm9/modules/09/asm/module_09.s
@@ -2368,7 +2368,7 @@ MOD09_02213138: ; 0x02213138
mov r0, #0xf
ldr r3, [r3, #0xc]
mov r1, #0xe
- bl FUN_0200B870
+ bl MessagePrinter_new
ldr r1, _02213184 ; =0x00001FA4
str r0, [r4, r1]
ldr r0, [r4]
@@ -2399,7 +2399,7 @@ MOD09_02213190: ; 0x02213190
bl DestroyMsgData
ldr r0, _022131BC ; =0x00001FA4
ldr r0, [r4, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
ldr r0, _022131C0 ; =0x00001FAC
ldr r0, [r4, r0]
bl ScrStrBufs_delete
@@ -3474,7 +3474,7 @@ MOD09_022139D4: ; 0x022139D4
ldr r0, _02213B74 ; =0x00001FAC
mov r1, #0
ldr r0, [r5, r0]
- bl FUN_0200B144
+ bl BufferTrainerNameFromDataStruct
ldr r1, _02213B74 ; =0x00001FAC
add r2, r4, #0
ldr r0, [r5, r1]
@@ -14095,7 +14095,7 @@ MOD09_022192A4: ; 0x022192A4
ldr r3, [r3, #0xc]
mov r1, #0xe
mov r2, #0
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [r4, #0xc]
ldr r0, [r4]
ldr r0, [r0, #0xc]
@@ -14117,7 +14117,7 @@ MOD09_022192E4: ; 0x022192E4
ldr r0, [r4, #0x10]
bl DestroyMsgData
ldr r0, [r4, #0xc]
- bl FUN_0200B990
+ bl MessagePrinter_delete
ldr r0, [r4, #0x14]
bl ScrStrBufs_delete
ldr r0, [r4, #0x18]
diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s
index bbcb304d..30ee9995 100644
--- a/arm9/modules/11/asm/module_11_thumb1.s
+++ b/arm9/modules/11/asm/module_11_thumb1.s
@@ -706,7 +706,7 @@ MOD11_0222DB50: ; 0x0222DB50
mov r1, #1
mov r2, #0xf
mov r3, #5
- bl FUN_0200B870
+ bl MessagePrinter_new
mov r1, #0x6a
lsl r1, r1, #2
str r0, [r4, r1]
@@ -1369,7 +1369,7 @@ _0222E1AC:
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
mov r0, #2
bl FUN_02002CF8
ldr r0, [r4, #0x1c]
diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s
index a962fbf2..15f4c237 100644
--- a/arm9/modules/11/asm/module_11_thumb2.s
+++ b/arm9/modules/11/asm/module_11_thumb2.s
@@ -4694,7 +4694,7 @@ MOD11_0223158C: ; 0x0223158C
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
- bl FUN_02069AEC
+ bl Party_GetMaxLevel
ldr r1, _022315BC ; =MOD11_0225DC1C
lsl r0, r0, #2
ldrb r1, [r1, r4]
@@ -4914,7 +4914,7 @@ _0223174C:
add r0, r4, #0
add r1, r7, #0
mov r3, #5
- bl FUN_0206AD4C
+ bl GetTrainerMessageByIdPair
add r0, r6, #0
mov r1, #0xff
bl FUN_02019620
@@ -6187,7 +6187,7 @@ MOD11_022321AC: ; 0x022321AC
add r2, r0, #0
ldr r0, [r5, #0x14]
add r1, r4, #0
- bl BufferTrainerClassName2
+ bl BufferTrainerClassNameFromDataStruct
pop {r3, r4, r5, pc}
thumb_func_start MOD11_022321C4
@@ -6200,7 +6200,7 @@ MOD11_022321C4: ; 0x022321C4
add r2, r0, #0
ldr r0, [r5, #0x14]
add r1, r4, #0
- bl FUN_0200B144
+ bl BufferTrainerNameFromDataStruct
pop {r3, r4, r5, pc}
thumb_func_start MOD11_022321DC
@@ -24749,7 +24749,7 @@ _0223B414:
lsl r1, r1, #0x18
ldr r0, [sp]
lsr r1, r1, #0x18
- bl FUN_02069CF4
+ bl Party_MaskMonsWithPokerus
cmp r0, #0
beq _0223B42E
lsl r0, r4, #0x11
@@ -38100,9 +38100,9 @@ MOD11_02241CF0: ; 0x02241CF0
mov r1, #0
bl MOD11_0222FF88
add r6, r0, #0
- bl FUN_02069C4C
+ bl Party_GivePokerusAtRandom
add r0, r6, #0
- bl FUN_02069DC8
+ bl Party_SpreadPokerus
_02241D16:
cmp r4, #0
beq _02241D20
@@ -45181,7 +45181,7 @@ _022452F8:
ldr r0, [sp, #8]
mov r1, #0xd
mov r2, #5
- bl FUN_0206ACD4
+ bl TrainerMessageWithIdPairExists
cmp r0, #0
beq _02245334
mov r1, #0x85
@@ -45219,7 +45219,7 @@ _0224533C:
ldr r0, [sp, #8]
mov r1, #0xe
mov r2, #5
- bl FUN_0206ACD4
+ bl TrainerMessageWithIdPairExists
cmp r0, #0
beq _0224537C
ldr r1, _0224548C ; =0x00002E7D
@@ -45276,7 +45276,7 @@ _022453C6:
ldr r0, [sp, #8]
mov r1, #0xf
mov r2, #5
- bl FUN_0206ACD4
+ bl TrainerMessageWithIdPairExists
cmp r0, #0
beq _022453F0
ldr r1, _0224548C ; =0x00002E7D
@@ -45340,7 +45340,7 @@ _0224543A:
ldr r0, [sp, #8]
mov r1, #0x10
mov r2, #5
- bl FUN_0206ACD4
+ bl TrainerMessageWithIdPairExists
cmp r0, #0
beq _02245472
ldr r1, _0224548C ; =0x00002E7D
@@ -52971,7 +52971,7 @@ _02248E3A:
str r1, [r4, r0]
ldr r0, _02248F68 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -53002,7 +53002,7 @@ _02248E76:
str r1, [r4, r0]
ldr r0, _02248F68 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -53033,7 +53033,7 @@ _02248EB2:
str r1, [r4, r0]
ldr r0, _02248F68 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -53067,7 +53067,7 @@ _02248EFC:
str r1, [r4, r0]
ldr r0, _02248F68 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -53108,7 +53108,7 @@ _02248F64: .word 0x00002DB0
_02248F68: .word 0x00002DA8
_02248F6C:
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -54103,7 +54103,7 @@ _02249708: .word 0x00002DCC
_0224970C: .word 0x00002DA8
_02249710:
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -54135,7 +54135,7 @@ _0224972C:
str r1, [r4, r0]
ldr r0, _02249A5C ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -54167,7 +54167,7 @@ _0224976A:
str r1, [r4, r0]
ldr r0, _02249A5C ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -54199,7 +54199,7 @@ _022497A8:
str r1, [r4, r0]
ldr r0, _02249A5C ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -54234,7 +54234,7 @@ _022497F4:
str r1, [r4, r0]
ldr r0, _02249A5C ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
mov r1, #0
mvn r1, r1
cmp r0, r1
@@ -55536,7 +55536,7 @@ _0224A1B6:
add r2, r4, r0
ldr r0, _0224A344 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r6, #1
cmp r0, r1
bne _0224A1F6
@@ -55572,7 +55572,7 @@ _0224A1FC:
add r2, r4, r0
ldr r0, _0224A344 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r6, #1
cmp r0, r1
bne _0224A23C
@@ -55608,7 +55608,7 @@ _0224A242:
add r2, r4, r0
ldr r0, _0224A344 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r6, #1
cmp r0, r1
bne _0224A282
@@ -55644,7 +55644,7 @@ _0224A288:
add r2, r4, r0
ldr r0, _0224A344 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r6, #1
cmp r0, r1
bne _0224A2C8
@@ -55680,7 +55680,7 @@ _0224A2CE:
add r2, r4, r0
ldr r0, _0224A344 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r6, #1
cmp r0, r1
bne _0224A30E
@@ -56300,7 +56300,7 @@ _0224A77A:
add r2, r4, r0
ldr r0, _0224A874 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r5, #1
cmp r0, r1
ldr r0, _0224A850 ; =0x00003118
@@ -56333,7 +56333,7 @@ _0224A7BC:
add r2, r4, r0
ldr r0, _0224A874 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r5, #1
cmp r0, r1
ldr r0, _0224A850 ; =0x00003118
@@ -56366,7 +56366,7 @@ _0224A7FE:
add r2, r4, r0
ldr r0, _0224A874 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r5, #1
cmp r0, r1
ldr r0, _0224A850 ; =0x00003118
@@ -56413,7 +56413,7 @@ _0224A878:
add r2, r4, r0
ldr r0, _0224AB18 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r5, #1
cmp r0, r1
ldr r0, _0224AB1C ; =0x00003118
@@ -56446,7 +56446,7 @@ _0224A8B0:
add r2, r4, r0
ldr r0, _0224AB18 ; =0x00002DA8
ldr r0, [r2, r0]
- bl FUN_02069BE4
+ bl GetFlavorPreferenceFromPID
sub r1, r5, #1
cmp r0, r1
ldr r0, _0224AB1C ; =0x00003118
@@ -71782,7 +71782,7 @@ _022521DC:
bl GetPartyMonByIndex
add r1, r0, #0
ldr r0, [sp, #0x1c]
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [r4, #4]
ldrb r1, [r5, #0x1c]
add r0, r0, r6
@@ -71822,7 +71822,7 @@ _02252232:
bl GetPartyMonByIndex
add r1, r0, #0
ldr r0, [sp, #0x20]
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [r4, #4]
ldrb r1, [r5, #0x1c]
add r0, r0, r7
diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s
index 7b1720cb..ae226da3 100644
--- a/arm9/modules/14/asm/module_14.s
+++ b/arm9/modules/14/asm/module_14.s
@@ -8885,7 +8885,7 @@ _021DBC56:
lsl r1, r1, #4
ldr r0, [r4]
ldr r1, [r5, r1]
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
mov r1, #0x49
lsl r1, r1, #2
ldr r0, [r5, r1]
@@ -9038,7 +9038,7 @@ _021DBD8E:
lsl r1, r1, #4
ldr r1, [r5, r1]
add r0, r7, r6
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
b _021DBDB0
_021DBDA2:
mov r1, #0x1a
@@ -9367,7 +9367,7 @@ _021DC034:
lsl r1, r1, #4
ldr r0, [sp]
ldr r1, [r5, r1]
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
mov r0, #0x1a
lsl r0, r0, #4
ldr r0, [r5, r0]
@@ -9633,7 +9633,7 @@ _021DC254:
cmp r0, r1
bne _021DC26A
ldr r0, [r4]
- bl FUN_02069ECC
+ bl BoxMon_UpdateArceusForme
_021DC26A:
add sp, #4
pop {r3, r4, r5, r6}
@@ -19435,13 +19435,13 @@ _021E0DAC:
mov r1, #6
mov r2, #0xf
mov r3, #0xa
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [r5, #0x18]
mov r0, #1
mov r1, #2
mov r2, #0xf
mov r3, #0xa
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [r5, #0x1c]
mov r0, #0xa
add r3, r5, #0
@@ -19516,12 +19516,12 @@ _021E0E72:
ldr r0, [r5, #0x18]
cmp r0, #0
beq _021E0E7C
- bl FUN_0200B990
+ bl MessagePrinter_delete
_021E0E7C:
ldr r0, [r5, #0x1c]
cmp r0, #0
beq _021E0E86
- bl FUN_0200B990
+ bl MessagePrinter_delete
_021E0E86:
ldr r0, [r5, #0x44]
cmp r0, #0
@@ -21555,7 +21555,7 @@ _021E1DBC:
mov r1, #0xd
mov r2, #4
mov r3, #0xa
- bl FUN_0200B870
+ bl MessagePrinter_new
str r0, [r5, #0x44]
mov r0, #0x7d
lsl r0, r0, #2
@@ -21687,7 +21687,7 @@ _021E1F58:
ldr r0, [r5, #0x44]
cmp r0, #0
beq _021E1F62
- bl FUN_0200B990
+ bl MessagePrinter_delete
_021E1F62:
ldr r0, _021E1F94 ; =0x00004BFC
ldr r0, [r5, r0]
diff --git a/arm9/modules/15/asm/module_15.s b/arm9/modules/15/asm/module_15.s
index d8172549..6c23c898 100644
--- a/arm9/modules/15/asm/module_15.s
+++ b/arm9/modules/15/asm/module_15.s
@@ -5154,7 +5154,7 @@ MOD15_021D9C58: ; 0x021D9C58
bl MOD15_021D9C08
ldr r1, [r5, #0x4c]
add r0, r6, #0
- bl FUN_02013A58
+ bl GetECWordIntoStringByIndex
ldr r1, [r5, #0x4c]
mov r0, #1
mov r2, #0
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index 081a836b..b611c883 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -7720,7 +7720,7 @@ _0223D212:
bl BufferUndergroundItemNameWithArticle
add r0, r5, #0
mov r1, #2
- bl FUN_0200B7A8
+ bl ScrStrBufs_UpperFirstChar
bl MOD18_0223D638
bl MOD18_0224DBB4
mov r1, #0x5f
@@ -42040,11 +42040,11 @@ MOD18_0224DF40: ; 0x0224DF40
thumb_func_start MOD18_0224DF54
MOD18_0224DF54: ; 0x0224DF54
- ldr r3, _0224DF5C ; =FUN_0200B7A8
+ ldr r3, _0224DF5C ; =ScrStrBufs_UpperFirstChar
ldr r0, [r0, #0x28]
bx r3
nop
-_0224DF5C: .word FUN_0200B7A8
+_0224DF5C: .word ScrStrBufs_UpperFirstChar
thumb_func_end MOD18_0224DF54
thumb_func_start MOD18_0224DF60
diff --git a/arm9/modules/23/asm/module_23.s b/arm9/modules/23/asm/module_23.s
index f3a4f14c..5550c76b 100644
--- a/arm9/modules/23/asm/module_23.s
+++ b/arm9/modules/23/asm/module_23.s
@@ -1032,7 +1032,7 @@ MOD23_02254F94: ; 0x02254F94
_02254FCE:
lsl r0, r4, #0x10
lsr r0, r0, #0x10
- bl FUN_02069B60
+ bl SinnohDexNoToSpecies
add r4, r0, #0
_02254FD8:
cmp r4, #0
diff --git a/arm9/modules/62/asm/module_62.s b/arm9/modules/62/asm/module_62.s
index 79190f60..76088322 100644
--- a/arm9/modules/62/asm/module_62.s
+++ b/arm9/modules/62/asm/module_62.s
@@ -952,7 +952,7 @@ _0222DC90:
ldr r0, [r0, #0x20]
ldr r2, [r7, r2]
add r1, sp, #0
- bl FUN_02029CA4
+ bl SealCase_SetCapsuleI
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
@@ -3017,18 +3017,18 @@ _0222EC9A:
add r7, #8
ldr r0, [r7, r6]
add r1, sp, #0x10
- bl FUN_02029C74
+ bl CapsuleArray_copy
add r0, r5, #0
str r0, [sp, #4]
add r0, #8
str r0, [sp, #4]
ldr r0, [r0, r4]
ldr r1, [r7, r6]
- bl FUN_02029C74
+ bl CapsuleArray_copy
ldr r1, [sp, #4]
add r0, sp, #0x10
ldr r1, [r1, r4]
- bl FUN_02029C74
+ bl CapsuleArray_copy
add r0, r5, #0
bl MOD62_0222EC28
add sp, #0x28
@@ -4363,14 +4363,14 @@ MOD62_0222F778: ; 0x0222F778
mov r0, #0xf1
lsl r0, r0, #2
ldr r0, [r1, r0]
- ldr r3, _0222F78C ; =FUN_02029C74
+ ldr r3, _0222F78C ; =CapsuleArray_copy
lsl r0, r0, #3
add r0, r1, r0
ldr r0, [r0, #8]
add r1, #0x68
bx r3
.align 2, 0
-_0222F78C: .word FUN_02029C74
+_0222F78C: .word CapsuleArray_copy
thumb_func_end MOD62_0222F778
thumb_func_start MOD62_0222F790
@@ -4379,14 +4379,14 @@ MOD62_0222F790: ; 0x0222F790
add r2, r0, #0
lsl r1, r1, #2
ldr r1, [r2, r1]
- ldr r3, _0222F7A4 ; =FUN_02029C74
+ ldr r3, _0222F7A4 ; =CapsuleArray_copy
lsl r1, r1, #3
add r1, r2, r1
add r0, #0x68
ldr r1, [r1, #8]
bx r3
.align 2, 0
-_0222F7A4: .word FUN_02029C74
+_0222F7A4: .word CapsuleArray_copy
thumb_func_end MOD62_0222F790
thumb_func_start MOD62_0222F7A8
@@ -4466,7 +4466,7 @@ MOD62_0222F80C: ; 0x0222F80C
add r1, #0x64
ldr r0, [r0, #4]
ldr r1, [r5, r1]
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
pop {r3, r4, r5, r6, r7, pc}
_0222F832:
ldr r1, [r5]
@@ -4487,7 +4487,7 @@ _0222F83E:
ldr r1, _0222F86C ; =0x00000428
add r0, r7, #0
ldr r1, [r5, r1]
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
pop {r3, r4, r5, r6, r7, pc}
_0222F85C:
ldr r1, [r5]
@@ -4512,8 +4512,8 @@ MOD62_0222F870: ; 0x0222F870
_0222F87A:
add r0, r6, #0
add r1, r4, #0
- bl FUN_02029CC8
- bl FUN_02029CE0
+ bl Capsule_GetSealI
+ bl Seal_GetId
cmp r0, #0
beq _0222F88C
add r5, r5, #1
@@ -6516,7 +6516,7 @@ _02230860:
add r0, r2, r0
ldr r5, [r0, #4]
ldr r0, [r2, #0x20]
- bl FUN_02029C8C
+ bl SealCase_GetCapsuleI
add r2, r0, #0
add r0, r5, #0
mov r1, #0xaa
diff --git a/arm9/modules/67/asm/module_67.s b/arm9/modules/67/asm/module_67.s
index d71a7476..a72ccebc 100644
--- a/arm9/modules/67/asm/module_67.s
+++ b/arm9/modules/67/asm/module_67.s
@@ -1742,7 +1742,7 @@ _021D828A:
mov r1, #1
lsl r2, r2, #0x10
lsr r2, r2, #0x11
- bl FUN_0200B10C
+ bl BufferTrainerName
_021D82BA:
cmp r5, #0xe
bhi _021D82CA
@@ -2302,7 +2302,7 @@ MOD67_021D86DC: ; 0x021D86DC
ldrh r2, [r4, #4]
ldr r0, [r5, #0x54]
mov r1, #1
- bl FUN_0200B10C
+ bl BufferTrainerName
ldr r0, [r5, #0x54]
ldr r1, [r5, #0x58]
add r2, r7, #0
@@ -2343,7 +2343,7 @@ MOD67_021D873C: ; 0x021D873C
ldrh r2, [r4, #4]
ldr r0, [r5, #0x54]
mov r1, #0
- bl FUN_0200B10C
+ bl BufferTrainerName
ldr r0, [r5, #0x54]
ldr r1, [r5, #0x58]
add r2, r7, #0
@@ -2384,7 +2384,7 @@ MOD67_021D8790: ; 0x021D8790
ldrh r2, [r4, #4]
ldr r0, [r5, #0x54]
mov r1, #0
- bl FUN_0200B10C
+ bl BufferTrainerName
ldr r0, [r5, #0x54]
ldr r1, [r5, #0x58]
add r2, r7, #0
diff --git a/arm9/modules/68/asm/module_68.s b/arm9/modules/68/asm/module_68.s
index c201069e..dfab7ef8 100644
--- a/arm9/modules/68/asm/module_68.s
+++ b/arm9/modules/68/asm/module_68.s
@@ -441,7 +441,7 @@ MOD68_021D7870: ; 0x021D7870
mov r1, #2
mov r2, #0
mov r3, #0x24
- bl FUN_0200B870
+ bl MessagePrinter_new
add r1, r4, #0
add r1, #0xcc
str r0, [r1]
@@ -464,7 +464,7 @@ MOD68_021D78A8: ; 0x021D78A8
add r0, r4, #0
add r0, #0xcc
ldr r0, [r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
add r4, #0xc8
ldr r0, [r4]
bl ScrStrBufs_delete
diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s
index 4f418110..b77c8662 100644
--- a/arm9/modules/71/asm/module_71.s
+++ b/arm9/modules/71/asm/module_71.s
@@ -6329,12 +6329,12 @@ MOD71_022309E8: ; 0x022309E8
add r1, r6, #0
bl GetPartyMonByIndex
add r1, r7, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [sp, #8]
ldr r1, [sp, #0xc]
bl GetPartyMonByIndex
add r1, r4, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
add r0, r4, #0
mov r1, #0x4c
mov r2, #0
@@ -6359,13 +6359,13 @@ _02230A40:
mov r3, #0
bl FUN_0208089C
add r0, r4, #0
- bl FUN_0206AA84
+ bl Pokemon_RemoveCapsule
ldr r1, [r5, #0x3c]
add r0, r7, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r1, [r5, #0x40]
add r0, r4, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
bl FUN_02031190
mov r1, #1
eor r0, r1
@@ -6390,13 +6390,13 @@ _02230A98:
bl GetPartyMonByIndex
add r1, r0, #0
add r0, r4, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [sp, #8]
ldr r1, [sp, #0xc]
bl GetPartyMonByIndex
add r1, r0, #0
add r0, r7, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
ldr r0, [r5, #0x1c]
add r1, r4, #0
bl MOD71_02230AE4
diff --git a/arm9/modules/75/asm/module_75.s b/arm9/modules/75/asm/module_75.s
index f6d498ce..63f45d1d 100644
--- a/arm9/modules/75/asm/module_75.s
+++ b/arm9/modules/75/asm/module_75.s
@@ -446,7 +446,7 @@ MOD75_021E6F00: ; 0x021E6F00
mov r0, #0x11
lsl r0, r0, #4
ldr r0, [r4, r0]
- bl FUN_0200B990
+ bl MessagePrinter_delete
mov r0, #0x46
lsl r0, r0, #2
ldr r0, [r4, r0]
@@ -946,7 +946,7 @@ MOD75_021E737C: ; 0x021E737C
mov r1, #2
mov r2, #0
mov r3, #6
- bl FUN_0200B870
+ bl MessagePrinter_new
mov r1, #0x11
lsl r1, r1, #4
str r0, [r4, r1]
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index 8e74df8f..29a329f0 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -5624,7 +5624,7 @@ MOD80_0223022C: ; 0x0223022C
str r0, [r5, r1]
sub r1, #0x1c
ldr r0, [r5, r1]
- bl FUN_0200B84C
+ bl ScrStrBufs_ResetBuffers
ldr r0, _022302B4 ; =0x0000011E
ldrb r2, [r4, r0]
cmp r2, #0
@@ -13583,7 +13583,7 @@ _022342B0:
add r0, #0xbc
ldr r0, [r0]
add r1, r5, #0
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
_022342BC:
ldr r0, [r4]
ldr r0, [r0, #0x1c]
@@ -14618,7 +14618,7 @@ MOD80_02234AC0: ; 0x02234AC0
push {r4, lr}
add r4, r0, #0
add r0, #0xd4
- bl FUN_0206AA84
+ bl Pokemon_RemoveCapsule
add r0, r4, #0
add r0, #0xd4
bl MOD80_0222DBC4
@@ -14939,7 +14939,7 @@ MOD80_02234CFC: ; 0x02234CFC
push {r4, lr}
add r4, r0, #0
add r0, #0xd4
- bl FUN_0206AA84
+ bl Pokemon_RemoveCapsule
add r0, r4, #0
add r0, #0xc4
ldr r1, [r0]
@@ -16076,7 +16076,7 @@ MOD80_02235534: ; 0x02235534
ldr r0, [r0, #0xc]
bl PCStorage_GetMonByIndexPair
add r1, r4, #0
- bl FUN_02069A64
+ bl CopyBoxPokemonToPokemon
add r2, r5, #0
ldr r0, [r5]
add r2, #0xb8
@@ -16104,7 +16104,7 @@ _02235590:
ldr r0, [r0, #8]
bl GetPartyMonByIndex
add r4, r0, #0
- bl FUN_0206AA84
+ bl Pokemon_RemoveCapsule
add r2, r5, #0
ldr r0, [r5]
add r2, #0xb8
@@ -17720,7 +17720,7 @@ MOD80_02236218: ; 0x02236218
bl GetPartyMonByIndex
add r1, r0, #0
add r0, r4, #0
- bl FUN_02069B88
+ bl CopyPokemonToPokemon
add sp, #8
pop {r3, r4, r5, pc}
_02236248:
diff --git a/arm9/src/mail_message.c b/arm9/src/mail_message.c
index 4d1b75c6..a5837d89 100644
--- a/arm9/src/mail_message.c
+++ b/arm9/src/mail_message.c
@@ -16,7 +16,7 @@ struct UnkStruct_020ED556
u16 unk_8;
};
-extern u16 FUN_02013A9C(s16 bank, u16 num);
+extern u16 GetECWordIndexByPair(s16 bank, u16 num);
const u16 UNK_020ED54C[] = {
397,
@@ -68,9 +68,9 @@ void MailMsg_init_fromTemplate(struct MailMessage * mailMsg, u32 a1)
MailMsg_init_withBank(mailMsg, UNK_020ED556[a1].unk_0);
mailMsg->msg_no = UNK_020ED556[a1].unk_1;
if (UNK_020ED556[a1].unk_2 != -1)
- mailMsg->fields[0] = FUN_02013A9C(UNK_020ED556[a1].unk_2, UNK_020ED556[a1].unk_4);
+ mailMsg->fields[0] = GetECWordIndexByPair(UNK_020ED556[a1].unk_2, UNK_020ED556[a1].unk_4);
if (UNK_020ED556[a1].unk_6 != -1)
- mailMsg->fields[1] = FUN_02013A9C(UNK_020ED556[a1].unk_6, UNK_020ED556[a1].unk_8);
+ mailMsg->fields[1] = GetECWordIndexByPair(UNK_020ED556[a1].unk_6, UNK_020ED556[a1].unk_8);
}
}
diff --git a/arm9/src/pokemon.c b/arm9/src/pokemon.c
index 48b1a225..b3e53d1a 100644
--- a/arm9/src/pokemon.c
+++ b/arm9/src/pokemon.c
@@ -10,7 +10,7 @@
#include "math_util.h"
#include "move_data.h"
#include "string_util.h"
-#include "text.h"
+#include "seal.h"
#include "msgdata.h"
#include "itemtool.h"
#include "constants/abilities.h"
@@ -21,8 +21,6 @@
#pragma thumb on
-extern void FUN_02029C74(const u8 *, u8 *);
-
u32 GetMonDataInternal(struct Pokemon * pokemon, int attr, void * ptr);
u32 GetBoxMonDataInternal(struct BoxPokemon * pokemon, int attr, void * ptr);
void SetMonDataInternal(struct Pokemon * pokemon, int attr, void * ptr);
@@ -39,12 +37,12 @@ u32 FUN_020696A8(struct BoxPokemon * boxmon, u16 move);
void FUN_02069718(struct BoxPokemon * boxmon, u16 move);
void BoxMonSetMoveInSlot(struct BoxPokemon * boxmon, u16 move, u8 slot);
void FUN_020698E8(struct BoxPokemon * boxmon, int slot1, int slot2);
-s8 FUN_02069BD0(struct BoxPokemon * boxmon, int flavor);
-s8 FUN_02069BE4(u32 personality, int flavor);
-u8 FUN_02069CF4(struct PlayerParty * party_p, u8 mask);
-BOOL FUN_02069E7C(struct BoxPokemon * boxmon);
-BOOL FUN_02069E9C(struct BoxPokemon * boxmon);
-void FUN_02069ECC(struct BoxPokemon * boxmon);
+s8 BoxMonGetFlavorPreference(struct BoxPokemon * boxmon, int flavor);
+s8 GetFlavorPreferenceFromPID(u32 personality, int flavor);
+u8 Party_MaskMonsWithPokerus(struct PlayerParty * party_p, u8 mask);
+BOOL BoxMon_HasPokerus(struct BoxPokemon * boxmon);
+BOOL BoxMon_IsImmuneToPokerus(struct BoxPokemon * boxmon);
+void BoxMon_UpdateArceusForme(struct BoxPokemon * boxmon);
void LoadWotbl_HandleAlternateForme(int species, int forme, u16 * wotbl);
void FUN_0206A054(struct BoxPokemon * boxmon, struct PlayerData * a1, u32 pokeball, u32 a3, u32 encounterType, u32 heap_id);
BOOL MonHasMove(struct Pokemon * pokemon, u16 move);
@@ -118,61 +116,62 @@ const u16 sLegendaryMonsList[] = {
SPECIES_ARCEUS,
};
-const s8 UNK_020F7F16[][5] = {
- // Atk, Def, Spd, SpA, SpD
- { 0, 0, 0, 0, 0},
- { 1, 0, 0, 0, -1},
- { 1, 0, -1, 0, 0},
- { 1, -1, 0, 0, 0},
- { 1, 0, 0, -1, 0},
- { -1, 0, 0, 0, 1},
- { 0, 0, 0, 0, 0},
- { 0, 0, -1, 0, 1},
- { 0, -1, 0, 0, 1},
- { 0, 0, 0, -1, 1},
- { -1, 0, 1, 0, 0},
- { 0, 0, 1, 0, -1},
- { 0, 0, 0, 0, 0},
- { 0, -1, 1, 0, 0},
- { 0, 0, 1, -1, 0},
- { -1, 1, 0, 0, 0},
- { 0, 1, 0, 0, -1},
- { 0, 1, -1, 0, 0},
- { 0, 0, 0, 0, 0},
- { 0, 1, 0, -1, 0},
- { -1, 0, 0, 1, 0},
- { 0, 0, 0, 1, -1},
- { 0, 0, -1, 1, 0},
- { 0, -1, 0, 1, 0},
- { 0, 0, 0, 0, 0},
+const s8 sFlavorPreferencesByNature[][5] = {
+ // Spicy, Dry, Sweet, Bitter, Sour
+ { 0, 0, 0, 0, 0 }, // NATURE_HARDY
+ { 1, 0, 0, 0, -1 }, // NATURE_LONELY
+ { 1, 0, -1, 0, 0 }, // NATURE_BRAVE
+ { 1, -1, 0, 0, 0 }, // NATURE_ADAMANT
+ { 1, 0, 0, -1, 0 }, // NATURE_NAUGHTY
+ { -1, 0, 0, 0, 1 }, // NATURE_BOLD
+ { 0, 0, 0, 0, 0 }, // NATURE_DOCILE
+ { 0, 0, -1, 0, 1 }, // NATURE_RELAXED
+ { 0, -1, 0, 0, 1 }, // NATURE_IMPISH
+ { 0, 0, 0, -1, 1 }, // NATURE_LAX
+ { -1, 0, 1, 0, 0 }, // NATURE_TIMID
+ { 0, 0, 1, 0, -1 }, // NATURE_HASTY
+ { 0, 0, 0, 0, 0 }, // NATURE_SERIOUS
+ { 0, -1, 1, 0, 0 }, // NATURE_JOLLY
+ { 0, 0, 1, -1, 0 }, // NATURE_NAIVE
+ { -1, 1, 0, 0, 0 }, // NATURE_MODEST
+ { 0, 1, 0, 0, -1 }, // NATURE_MILD
+ { 0, 1, -1, 0, 0 }, // NATURE_QUIET
+ { 0, 0, 0, 0, 0 }, // NATURE_BASHFUL
+ { 0, 1, 0, -1, 0 }, // NATURE_RASH
+ { -1, 0, 0, 1, 0 }, // NATURE_CALM
+ { 0, 0, 0, 1, -1 }, // NATURE_GENTLE
+ { 0, 0, -1, 1, 0 }, // NATURE_SASSY
+ { 0, -1, 0, 1, 0 }, // NATURE_CAREFUL
+ { 0, 0, 0, 0, 0 }, // NATURE_QUIRKY
};
const s8 sNatureStatMods[][5] = {
- { 0, 0, 0, 0, 0 },
- { 1, -1, 0, 0, 0 },
- { 1, 0, -1, 0, 0 },
- { 1, 0, 0, -1, 0 },
- { 1, 0, 0, 0, -1 },
- { -1, 1, 0, 0, 0 },
- { 0, 0, 0, 0, 0 },
- { 0, 1, -1, 0, 0 },
- { 0, 1, 0, -1, 0 },
- { 0, 1, 0, 0, -1 },
- { -1, 0, 1, 0, 0 },
- { 0, -1, 1, 0, 0 },
- { 0, 0, 0, 0, 0 },
- { 0, 0, 1, -1, 0 },
- { 0, 0, 1, 0, -1 },
- { -1, 0, 0, 1, 0 },
- { 0, -1, 0, 1, 0 },
- { 0, 0, -1, 1, 0 },
- { 0, 0, 0, 0, 0 },
- { 0, 0, 0, 1, -1 },
- { -1, 0, 0, 0, 1 },
- { 0, -1, 0, 0, 1 },
- { 0, 0, -1, 0, 1 },
- { 0, 0, 0, -1, 1 },
- { 0, 0, 0, 0, 0 },
+ // Atk, Def, Speed, SpAtk, SpDef
+ { 0, 0, 0, 0, 0 }, // NATURE_HARDY
+ { 1, -1, 0, 0, 0 }, // NATURE_LONELY
+ { 1, 0, -1, 0, 0 }, // NATURE_BRAVE
+ { 1, 0, 0, -1, 0 }, // NATURE_ADAMANT
+ { 1, 0, 0, 0, -1 }, // NATURE_NAUGHTY
+ { -1, 1, 0, 0, 0 }, // NATURE_BOLD
+ { 0, 0, 0, 0, 0 }, // NATURE_DOCILE
+ { 0, 1, -1, 0, 0 }, // NATURE_RELAXED
+ { 0, 1, 0, -1, 0 }, // NATURE_IMPISH
+ { 0, 1, 0, 0, -1 }, // NATURE_LAX
+ { -1, 0, 1, 0, 0 }, // NATURE_TIMID
+ { 0, -1, 1, 0, 0 }, // NATURE_HASTY
+ { 0, 0, 0, 0, 0 }, // NATURE_SERIOUS
+ { 0, 0, 1, -1, 0 }, // NATURE_JOLLY
+ { 0, 0, 1, 0, -1 }, // NATURE_NAIVE
+ { -1, 0, 0, 1, 0 }, // NATURE_MODEST
+ { 0, -1, 0, 1, 0 }, // NATURE_MILD
+ { 0, 0, -1, 1, 0 }, // NATURE_QUIET
+ { 0, 0, 0, 0, 0 }, // NATURE_BASHFUL
+ { 0, 0, 0, 1, -1 }, // NATURE_RASH
+ { -1, 0, 0, 0, 1 }, // NATURE_CALM
+ { 0, -1, 0, 0, 1 }, // NATURE_GENTLE
+ { 0, 0, -1, 0, 1 }, // NATURE_SASSY
+ { 0, 0, 0, -1, 1 }, // NATURE_CAREFUL
+ { 0, 0, 0, 0, 0 }, // NATURE_QUIRKY
};
void ZeroMonData(struct Pokemon * pokemon)
@@ -563,10 +562,10 @@ u32 GetMonDataInternal(struct Pokemon * pokemon, int attr, void * dest)
case MON_DATA_SPDEF:
return pokemon->party.spdef;
case MON_DATA_MAIL_STRUCT:
- Mail_copy(&pokemon->party.seal_something, dest);
+ Mail_copy(&pokemon->party.mail, dest);
return 1;
case MON_DATA_SEAL_COORDS:
- FUN_02029C74(pokemon->party.sealCoords, dest);
+ CapsuleArray_copy(&pokemon->party.sealCoords, dest);
return 1;
default:
return GetBoxMonDataInternal(&pokemon->box, attr, dest);
@@ -1051,10 +1050,10 @@ void SetMonDataInternal(struct Pokemon * pokemon, int attr, void * value)
pokemon->party.spdef = VALUE(u16);
break;
case MON_DATA_MAIL_STRUCT:
- Mail_copy((const struct Mail *)value, &pokemon->party.seal_something);
+ Mail_copy((const struct Mail *)value, &pokemon->party.mail);
break;
case MON_DATA_SEAL_COORDS:
- FUN_02029C74((const u8 *)value, pokemon->party.sealCoords);
+ CapsuleArray_copy((CapsuleArray *)value, &pokemon->party.sealCoords);
break;
default:
SetBoxMonDataInternal(&pokemon->box, attr, value);
@@ -2990,10 +2989,10 @@ BOOL MonHasMove(struct Pokemon * pokemon, u16 move)
return FALSE;
}
-void FUN_02069A64(struct BoxPokemon * src, struct Pokemon * dest)
+void CopyBoxPokemonToPokemon(struct BoxPokemon * src, struct Pokemon * dest)
{
u32 sp0 = 0;
- u8 sp4[12][2];
+ CapsuleArray sp4;
struct Mail * mail;
dest->box = *src;
if (dest->box.box_lock)
@@ -3005,12 +3004,12 @@ void FUN_02069A64(struct BoxPokemon * src, struct Pokemon * dest)
SetMonData(dest, MON_DATA_MAIL_STRUCT, mail);
FreeToHeap(mail);
SetMonData(dest, MON_DATA_CAPSULE, &sp0);
- MIi_CpuClearFast(0, sp4, sizeof(sp4));
- SetMonData(dest, MON_DATA_SEAL_COORDS, sp4);
+ MIi_CpuClearFast(0, &sp4, sizeof(sp4));
+ SetMonData(dest, MON_DATA_SEAL_COORDS, &sp4);
CalcMonLevelAndStats(dest);
}
-u8 FUN_02069AEC(struct PlayerParty * party)
+u8 Party_GetMaxLevel(struct PlayerParty * party)
{
int i;
int r7 = GetPartyCount(party);
@@ -3037,7 +3036,7 @@ u16 SpeciesToSinnohDexNo(u16 species)
return ret;
}
-u16 FUN_02069B60(u16 sinnoh_dex)
+u16 SinnohDexNoToSpecies(u16 sinnoh_dex)
{
u16 ret = SPECIES_NONE;
if (sinnoh_dex <= SINNOH_DEX_COUNT)
@@ -3045,38 +3044,38 @@ u16 FUN_02069B60(u16 sinnoh_dex)
return ret;
}
-void FUN_02069B88(struct Pokemon * src, struct Pokemon * dest)
+void CopyPokemonToPokemon(struct Pokemon * src, struct Pokemon * dest)
{
*dest = *src;
}
-void FUN_02069BA0(struct Pokemon * src, struct BoxPokemon * dest)
+void CopyPokemonToBoxPokemon(struct Pokemon * src, struct BoxPokemon * dest)
{
*dest = src->box;
}
-void FUN_02069BB4(struct BoxPokemon * src, struct BoxPokemon * dest)
+void CopyBoxPokemonToBoxPokemon(struct BoxPokemon * src, struct BoxPokemon * dest)
{
*dest = *src;
}
-s8 FUN_02069BC8(struct Pokemon * pokemon, int flavor)
+s8 MonGetFlavorPreference(struct Pokemon * pokemon, int flavor)
{
- return FUN_02069BD0(&pokemon->box, flavor);
+ return BoxMonGetFlavorPreference(&pokemon->box, flavor);
}
-s8 FUN_02069BD0(struct BoxPokemon * boxmon, int flavor)
+s8 BoxMonGetFlavorPreference(struct BoxPokemon * boxmon, int flavor)
{
u32 personality = GetBoxMonData(boxmon, MON_DATA_PERSONALITY, NULL);
- return FUN_02069BE4(personality, flavor);
+ return GetFlavorPreferenceFromPID(personality, flavor);
}
-s8 FUN_02069BE4(u32 personality, int flavor)
+s8 GetFlavorPreferenceFromPID(u32 personality, int flavor)
{
- return UNK_020F7F16[GetNatureFromPersonality(personality)][flavor];
+ return sFlavorPreferencesByNature[GetNatureFromPersonality(personality)][flavor];
}
-int FUN_02069BFC(u16 species, u32 forme, u16 * dest)
+int Species_LoadLearnsetTable(u16 species, u32 forme, u16 * dest)
{
int i;
u16 * wotbl = AllocFromHeap(0, 22 * sizeof(u16));
@@ -3089,7 +3088,7 @@ int FUN_02069BFC(u16 species, u32 forme, u16 * dest)
return i;
}
-void FUN_02069C4C(struct PlayerParty * party)
+void Party_GivePokerusAtRandom(struct PlayerParty * party)
{
int count = GetPartyCount(party);
int idx;
@@ -3105,7 +3104,7 @@ void FUN_02069C4C(struct PlayerParty * party)
idx = LCRandom() % count;
pokemon = GetPartyMonByIndex(party, idx);
} while (GetMonData(pokemon, MON_DATA_SPECIES, NULL) == SPECIES_NONE || GetMonData(pokemon, MON_DATA_IS_EGG, NULL));
- if (!FUN_02069CF4(party, (u8)MaskOfFlagNo(idx)))
+ if (!Party_MaskMonsWithPokerus(party, (u8)MaskOfFlagNo(idx)))
{
do
{
@@ -3121,7 +3120,7 @@ void FUN_02069C4C(struct PlayerParty * party)
}
}
-u8 FUN_02069CF4(struct PlayerParty * party, u8 mask)
+u8 Party_MaskMonsWithPokerus(struct PlayerParty * party, u8 mask)
{
int i = 0;
u32 flag = 1;
@@ -3152,7 +3151,7 @@ u8 FUN_02069CF4(struct PlayerParty * party, u8 mask)
return ret;
}
-void FUN_02069D50(struct PlayerParty * party, int r5)
+void Party_UpdatePokerus(struct PlayerParty * party, int r5)
{
int i;
u8 pokerus;
@@ -3178,7 +3177,7 @@ void FUN_02069D50(struct PlayerParty * party, int r5)
}
}
-void FUN_02069DC8(struct PlayerParty * party)
+void Party_SpreadPokerus(struct PlayerParty * party)
{
int count = GetPartyCount(party);
int i;
@@ -3215,22 +3214,22 @@ void FUN_02069DC8(struct PlayerParty * party)
}
}
-BOOL FUN_02069E74(struct Pokemon * pokemon)
+BOOL Pokemon_HasPokerus(struct Pokemon * pokemon)
{
- return FUN_02069E7C(&pokemon->box);
+ return BoxMon_HasPokerus(&pokemon->box);
}
-BOOL FUN_02069E7C(struct BoxPokemon * boxmon)
+BOOL BoxMon_HasPokerus(struct BoxPokemon * boxmon)
{
return !!(GetBoxMonData(boxmon, MON_DATA_POKERUS, NULL) & 0xF);
}
-BOOL FUN_02069E94(struct Pokemon * pokemon)
+BOOL Pokemon_IsImmuneToPokerus(struct Pokemon * pokemon)
{
- return FUN_02069E9C(&pokemon->box);
+ return BoxMon_IsImmuneToPokerus(&pokemon->box);
}
-BOOL FUN_02069E9C(struct BoxPokemon * boxmon)
+BOOL BoxMon_IsImmuneToPokerus(struct BoxPokemon * boxmon)
{
u8 pokerus = (u8)GetBoxMonData(boxmon, MON_DATA_POKERUS, NULL);
if (pokerus & 0xF)
@@ -3240,12 +3239,12 @@ BOOL FUN_02069E9C(struct BoxPokemon * boxmon)
return FALSE;
}
-void FUN_02069EC4(struct Pokemon * pokemon)
+void Pokemon_UpdateArceusForme(struct Pokemon * pokemon)
{
- FUN_02069ECC(&pokemon->box);
+ BoxMon_UpdateArceusForme(&pokemon->box);
}
-void FUN_02069ECC(struct BoxPokemon * boxmon)
+void BoxMon_UpdateArceusForme(struct BoxPokemon * boxmon)
{
u32 species = GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL);
u32 ability = GetBoxMonData(boxmon, MON_DATA_ABILITY, NULL);
@@ -3460,7 +3459,7 @@ void FUN_0206A23C(struct Pokemon * r5, u32 personality)
struct Pokemon * sp4;
sp4 = AllocMonZeroed(0);
- FUN_02069B88(r5, sp4);
+ CopyPokemonToPokemon(r5, sp4);
r4 = &GetSubstruct(&sp4->box, r5->box.pid, 0)->blockA;
r6 = &GetSubstruct(&sp4->box, r5->box.pid, 1)->blockB;
r7 = &GetSubstruct(&sp4->box, r5->box.pid, 2)->blockC;
@@ -3711,7 +3710,7 @@ int FUN_0206AA30(int x)
case TRAINER_CLASS_PKMN_TRAINER_POKEKID:
return x - TRAINER_CLASS_COMMANDER_JUPITER;
default:
- if (FUN_0206AE00(x) == 1)
+ if (TrainerClass_GetGenderOrTrainerCount(x) == 1)
return 1;
else
return 0;
@@ -3721,13 +3720,13 @@ int FUN_0206AA30(int x)
}
}
-void FUN_0206AA84(struct Pokemon * pokemon)
+void Pokemon_RemoveCapsule(struct Pokemon * pokemon)
{
u8 sp0 = 0;
- u8 sp1[12][2];
- MIi_CpuClearFast(0, sp1, sizeof(sp1));
+ CapsuleArray sp1;
+ MIi_CpuClearFast(0, &sp1, sizeof(sp1));
SetMonData(pokemon, MON_DATA_CAPSULE, &sp0);
- SetMonData(pokemon, MON_DATA_SEAL_COORDS, sp1);
+ SetMonData(pokemon, MON_DATA_SEAL_COORDS, &sp1);
}
void RestoreBoxMonPP(struct BoxPokemon * boxmon)
diff --git a/arm9/src/save_arrays.c b/arm9/src/save_arrays.c
index 43e83403..397f1f69 100644
--- a/arm9/src/save_arrays.c
+++ b/arm9/src/save_arrays.c
@@ -12,6 +12,8 @@
#include "unk_020254B8.h"
#include "daycare.h"
#include "pokedex.h"
+#include "seal.h"
+#include "unk_020139D8.h"
extern u32 FUN_0202AC20(void);
extern u32 FUN_02034D7C(void);
@@ -24,7 +26,6 @@ extern u32 FUN_02028054(void);
extern u32 FUN_02028980(void);
extern u32 FUN_02029A84(void);
extern u32 FUN_02029FB0(void);
-extern u32 FUN_02029C58(void);
extern u32 FUN_02029EC4(void);
extern u32 FUN_0202A89C(void);
extern u32 FUN_0202A8F4(void);
@@ -36,7 +37,6 @@ extern u32 FUN_020281E0(void);
extern u32 FUN_02029AE0(void);
extern u32 FUN_0202BE98(void);
extern u32 FUN_0202C0E0(void);
-extern u32 FUN_02013B28(void);
extern void FUN_0202AC28(void *);
extern void FUN_02034D98(void *);
extern void FUN_02024E6C(void *);
@@ -48,7 +48,6 @@ extern void FUN_0202805C(void *);
extern void FUN_02028994(void *);
extern void FUN_02029A8C(void *);
extern void FUN_02029FB8(void *);
-extern void FUN_02029C60(void *);
extern void FUN_02029ECC(void *);
extern void FUN_0202A8A4(void *);
extern void FUN_0202A8F8(void *);
@@ -60,7 +59,6 @@ extern void FUN_020281E8(void *);
extern void FUN_02029AE8(void *);
extern void FUN_0202BEA0(void *);
extern void FUN_0202C0E4(void *);
-extern void FUN_02013B2C(void *);
const struct SaveChunkHeader UNK_020EE6E0[] = {
{ 0, 32, (SAVSIZEFN)Sav2_HOF_sizeof, (SAVINITFN)Sav2_HOF_init },
@@ -89,7 +87,7 @@ const struct SaveChunkHeader UNK_020EE700[] = {
{ 18, 0, (SAVSIZEFN)FUN_02028980, (SAVINITFN)FUN_02028994 },
{ 19, 0, (SAVSIZEFN)FUN_02029A84, (SAVINITFN)FUN_02029A8C },
{ 20, 0, (SAVSIZEFN)FUN_02029FB0, (SAVINITFN)FUN_02029FB8 },
- { 21, 0, (SAVSIZEFN)FUN_02029C58, (SAVINITFN)FUN_02029C60 },
+ { 21, 0, (SAVSIZEFN)Sav2_SealCase_sizeof, (SAVINITFN)Sav2_SealCase_init },
{ 22, 0, (SAVSIZEFN)FUN_02029EC4, (SAVINITFN)FUN_02029ECC },
{ 23, 0, (SAVSIZEFN)FUN_0202A89C, (SAVINITFN)FUN_0202A8A4 },
{ 24, 0, (SAVSIZEFN)FUN_0202A8F4, (SAVINITFN)FUN_0202A8F8 },
diff --git a/arm9/src/script_buffers.c b/arm9/src/script_buffers.c
index c29feed3..431f63b4 100644
--- a/arm9/src/script_buffers.c
+++ b/arm9/src/script_buffers.c
@@ -9,6 +9,7 @@
#include "unk_020286F8.h"
#include "filesystem.h"
#include "unk_0201B8B8.h"
+#include "trainer_data.h"
#include "script_buffers.h"
#pragma thumb on
@@ -16,8 +17,8 @@
extern void * FUN_02024EC0(struct SaveBlock2 * sav2);
extern u16 * FUN_02024EE8(void *);
extern u32 GetCityNamesMsgdataIdByCountry(u32);
-extern void FUN_02013A58(u32 a0, struct String * a1);
-extern void FUN_02022048(struct String * dest, const struct String * src);
+extern void GetECWordIntoStringByIndex(u32 a0, struct String * a1);
+extern void StringCat_HandleTrainerName(struct String * dest, const struct String * src);
extern void StrAddChar(struct String * str, u16 val);
extern void * FUN_02006BB0(NarcId, s32, s32, struct UnkStruct_0200B870_sub **, u32);
extern BOOL UncompressFromNarc(NarcId narcId, s32 memberNo, BOOL a2, u32 heap_id, BOOL a4);
@@ -363,18 +364,18 @@ void BufferTrainerClassNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 trc
}
}
-void BufferTrainerClassName2(struct ScrStrBufs * mgr, u32 idx, struct Trainer * tr)
+void BufferTrainerClassNameFromDataStruct(struct ScrStrBufs * mgr, u32 idx, struct TrainerDataLoaded * tr)
{
struct MsgData * msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 560, mgr->heap_id);
if (msgData != NULL)
{
- ReadMsgDataIntoString(msgData, tr->unk1, mgr->tmpbuf);
+ ReadMsgDataIntoString(msgData, tr->data.trainerClass, mgr->tmpbuf);
SetStringAsPlaceholder(mgr, idx, mgr->tmpbuf, NULL);
DestroyMsgData(msgData);
}
}
-void FUN_0200B10C(struct ScrStrBufs * mgr, u32 idx, u32 msgno)
+void BufferTrainerName(struct ScrStrBufs * mgr, u32 idx, u32 msgno)
{
struct MsgData * msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 559, mgr->heap_id);
if (msgData != NULL)
@@ -385,9 +386,9 @@ void FUN_0200B10C(struct ScrStrBufs * mgr, u32 idx, u32 msgno)
}
}
-void FUN_0200B144(struct ScrStrBufs * mgr, u32 idx, void * unk_struct)
+void BufferTrainerNameFromDataStruct(struct ScrStrBufs * mgr, u32 idx, struct TrainerDataLoaded * trdata)
{
- CopyU16ArrayToString(mgr->tmpbuf, (u16 *)((char *)unk_struct + 20));
+ CopyU16ArrayToString(mgr->tmpbuf, trdata->name);
SetStringAsPlaceholder(mgr, idx, mgr->tmpbuf, NULL);
}
@@ -587,7 +588,7 @@ void BufferCityName(struct ScrStrBufs * mgr, u32 idx, u32 a2, u32 a3)
void FUN_0200B518(struct ScrStrBufs * mgr, u32 idx, u32 a2)
{
- FUN_02013A58(a2, mgr->tmpbuf);
+ GetECWordIntoStringByIndex(a2, mgr->tmpbuf);
SetStringAsPlaceholder(mgr, idx, mgr->tmpbuf, NULL);
}
@@ -684,7 +685,7 @@ void BufferContestBackgroundName(struct ScrStrBufs * mgr, u32 idx, u32 bg)
}
}
-void FUN_0200B708(struct ScrStrBufs * mgr, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28)
+void BufferEasyChatWord(struct ScrStrBufs * mgr, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28)
{
void * r6 = FUN_0202881C(sav2);
u8 sp10 = FUN_020287F8(r6, r5);
@@ -708,7 +709,7 @@ void BufferMonthNameAbbr(struct ScrStrBufs * mgr, u32 idx, u32 month)
}
}
-void FUN_0200B7A8(struct ScrStrBufs * mgr, u32 idx)
+void ScrStrBufs_UpperFirstChar(struct ScrStrBufs * mgr, u32 idx)
{
StrUpperFirstChar(mgr->array[idx].msg);
}
@@ -725,7 +726,7 @@ void StringExpandPlaceholders(struct ScrStrBufs * mgr, struct String * dest, str
{
u32 idx = MsgArray_ControlCodeGetField(cstr, 0);
GF_ASSERT(idx < mgr->count);
- FUN_02022048(dest, mgr->array[idx].msg);
+ StringCat_HandleTrainerName(dest, mgr->array[idx].msg);
cstr = MsgArray_SkipControlCode(cstr);
}
else
@@ -741,13 +742,13 @@ void StringExpandPlaceholders(struct ScrStrBufs * mgr, struct String * dest, str
}
}
-void FUN_0200B84C(struct ScrStrBufs * mgr)
+void ScrStrBufs_ResetBuffers(struct ScrStrBufs * mgr)
{
for (int i = 0; i < mgr->count; i++)
StringSetEmpty(mgr->array[i].msg);
}
-struct UnkStruct_0200B870 * FUN_0200B870(u32 r5, u32 r6, u32 sp4, u32 r4)
+struct UnkStruct_0200B870 * MessagePrinter_new(u32 r5, u32 r6, u32 sp4, u32 r4)
{
struct UnkStruct_0200B870 * sp8 = AllocFromHeap(r4, sizeof(struct UnkStruct_0200B870));
if (sp8 != NULL)
@@ -793,7 +794,7 @@ struct UnkStruct_0200B870 * FUN_0200B870(u32 r5, u32 r6, u32 sp4, u32 r4)
return sp8;
}
-void FUN_0200B990(struct UnkStruct_0200B870 * a0)
+void MessagePrinter_delete(struct UnkStruct_0200B870 * a0)
{
if (a0 != NULL)
{
diff --git a/arm9/src/seal_case.c b/arm9/src/seal_case.c
new file mode 100644
index 00000000..b1359a02
--- /dev/null
+++ b/arm9/src/seal_case.c
@@ -0,0 +1,59 @@
+#include "global.h"
+#include "save_block_2.h"
+#include "MI_memory.h"
+#include "seal.h"
+
+#pragma thumb on
+
+u32 Sav2_SealCase_sizeof(void)
+{
+ return sizeof(struct SealCase);
+}
+
+void Sav2_SealCase_init(struct SealCase * sealCase)
+{
+ MI_CpuClear8(sealCase, Sav2_SealCase_sizeof());
+}
+
+void CapsuleArray_copy(const CapsuleArray * a0, CapsuleArray * a1)
+{
+ MI_CpuCopy8(a0, a1, sizeof(CapsuleArray));
+}
+
+struct SealCase * Sav2_SealCase_get(struct SaveBlock2 * sav2)
+{
+ return (struct SealCase *)SavArray_get(sav2, 21);
+}
+
+CapsuleArray * SealCase_GetCapsuleI(struct SealCase * sealCase, s32 idx)
+{
+ GF_ASSERT(idx < 12);
+ return &sealCase->coords[idx];
+}
+
+void SealCase_SetCapsuleI(struct SealCase * sealCase, const CapsuleArray * src, s32 idx)
+{
+ GF_ASSERT(idx < 12);
+ CapsuleArray_copy(src, SealCase_GetCapsuleI(sealCase, idx));
+}
+
+Coords8 * Capsule_GetSealI(CapsuleArray * a0, s32 a1)
+{
+ GF_ASSERT(a1 < 8);
+ return &(*a0)[a1];
+}
+
+s32 Seal_GetId(Coords8 * a0)
+{
+ return (*a0)[0];
+}
+
+s32 Seal_GetXCoord(Coords8 * a0)
+{
+ return (*a0)[1];
+}
+
+s32 Seal_GetYCoord(Coords8 * a0)
+{
+ return (*a0)[2];
+}
diff --git a/arm9/src/trainer_data.c b/arm9/src/trainer_data.c
new file mode 100644
index 00000000..7af4b2ce
--- /dev/null
+++ b/arm9/src/trainer_data.c
@@ -0,0 +1,403 @@
+#include "global.h"
+#include "heap.h"
+#include "trainer_data.h"
+#include "math_util.h"
+#include "party.h"
+#include "proto.h"
+#include "msgdata.h"
+#include "constants/trainer_classes.h"
+
+#pragma thumb on
+
+extern void * FUN_02024EC0(struct SaveBlock2 *);
+extern u16 * FUN_02024EE8(void *);
+
+// Loads all battle opponents, including multi-battle partner if exists.
+void EnemyTrainerSet_Init(struct BattleSetupStruct * enemies, struct SaveBlock2 * sav2, u32 heap_id)
+{
+ struct TrainerDataLoaded trdata;
+ struct MsgData * msgData;
+ u16 * rivalName;
+ s32 i;
+ struct String * str;
+
+ // FIXME: String formatting in files/msgdata/msg/narc_0559.txt is abnormal.
+ msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 559, heap_id);
+ rivalName = FUN_02024EE8(FUN_02024EC0(sav2));
+ for (i = 0; i < 4; i++)
+ {
+ if (enemies->trainer_idxs[i] != 0)
+ {
+ TrainerData_ReadTrData(enemies->trainer_idxs[i], &trdata.data);
+ enemies->datas[i] = trdata;
+ if (trdata.data.trainerClass == TRAINER_CLASS_PKMN_TRAINER_BARRY)
+ {
+ CopyU16StringArray(enemies->datas[i].name, rivalName);
+ }
+ else
+ {
+ str = NewString_ReadMsgData(msgData, enemies->trainer_idxs[i]);
+ CopyStringToU16Array(str, enemies->datas[i].name, OT_NAME_LENGTH + 1);
+ String_dtor(str);
+ }
+ CreateNPCTrainerParty(enemies, i, heap_id);
+ }
+ }
+ enemies->flags |= trdata.data.doubleBattle;
+ DestroyMsgData(msgData);
+}
+
+s32 TrainerData_GetAttr(u32 tr_idx, u32 attr_no)
+{
+ struct TrainerDataLoaded trainer;
+ s32 ret;
+
+ TrainerData_ReadTrData(tr_idx, &trainer.data);
+ switch (attr_no)
+ {
+ case 0:
+ ret = trainer.data.trainerType;
+ break;
+ case 1:
+ ret = trainer.data.trainerClass;
+ break;
+ case 2:
+ ret = trainer.data.unk_2;
+ break;
+ case 3:
+ ret = trainer.data.npoke;
+ break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ attr_no -= 4;
+ ret = trainer.data.items[attr_no];
+ break;
+ case 8:
+ ret = (s32)trainer.data.unk_C;
+ break;
+ case 9:
+ ret = (s32)trainer.data.doubleBattle;
+ break;
+ }
+ return ret; // UB: uninitialized in event of invalid attr
+}
+
+// Relevant files:
+// files/poketool/trmsg/trtbl.narc
+// files/poketool/trmsg/trtblofs.narc
+// files/msgdata/msg/narc_0558.txt
+// trtbl is a single-member NARC whose entries are two shorts each. The first short
+// designates the trainer ID and the second the message ID. They are ordered the same
+// as the corresponding msgdata file. All messages for a given trainer are found together,
+// however the trainers are not in order in this file. trtblofs gives a pointer into trtbl
+// for each trainer. trtblofs is also a single-member NARC whose entries are shorts, one
+// per NPC trainer.
+BOOL TrainerMessageWithIdPairExists(u32 trainer_idx, u32 msg_id, u32 heap_id)
+{
+ u16 rdbuf[3];
+ struct NARC * trTblNarc;
+ BOOL ret = FALSE;
+ u32 trTblSize;
+
+ trTblSize = GetNarcMemberSizeByIdPair(NARC_POKETOOL_TRMSG_TRTBL, 0);
+ ReadFromNarcMemberByIdPair(&rdbuf[0], NARC_POKETOOL_TRMSG_TRTBLOFS, 0, trainer_idx * 2, 2);
+ trTblNarc = NARC_ctor(NARC_POKETOOL_TRMSG_TRTBL, heap_id);
+ while (rdbuf[0] != trTblSize)
+ {
+ NARC_ReadFromMember(trTblNarc, 0, rdbuf[0], 4, &rdbuf[1]);
+ if (rdbuf[1] == trainer_idx && rdbuf[2] == msg_id)
+ {
+ ret = TRUE;
+ break;
+ }
+ if (rdbuf[1] != trainer_idx)
+ break;
+ rdbuf[0] += 4;
+ }
+ NARC_dtor(trTblNarc);
+ return ret;
+}
+
+void GetTrainerMessageByIdPair(u32 trainer_idx, u32 msg_id, struct String * str, u32 heap_id)
+{
+ u16 rdbuf[3];
+ u32 trTblSize;
+ struct NARC * trTblNarc;
+
+ trTblSize = GetNarcMemberSizeByIdPair(NARC_POKETOOL_TRMSG_TRTBL, 0);
+ ReadFromNarcMemberByIdPair(&rdbuf[0], NARC_POKETOOL_TRMSG_TRTBLOFS, 0, trainer_idx * 2, 2);
+ trTblNarc = NARC_ctor(NARC_POKETOOL_TRMSG_TRTBL, heap_id);
+ while (rdbuf[0] != trTblSize)
+ {
+ NARC_ReadFromMember(trTblNarc, 0, rdbuf[0], 4, &rdbuf[1]);
+ if (rdbuf[1] == trainer_idx && rdbuf[2] == msg_id)
+ {
+ ReadMsgData_NewNarc_ExistingString(NARC_MSGDATA_MSG, 558, (u32)(rdbuf[0] / 4), heap_id, str);
+ break;
+ }
+ rdbuf[0] += 4;
+ }
+ NARC_dtor(trTblNarc);
+ if (rdbuf[0] == trTblSize)
+ StringSetEmpty(str);
+}
+
+void TrainerData_ReadTrData(u32 idx, struct TrainerData * dest)
+{
+ ReadWholeNarcMemberByIdPair(dest, NARC_POKETOOL_TRAINER_TRDATA, (s32)idx);
+}
+
+void TrainerData_ReadTrPoke(u32 idx, union TrainerMon * dest)
+{
+ ReadWholeNarcMemberByIdPair(dest, NARC_POKETOOL_TRAINER_TRPOKE, (s32)idx);
+}
+
+const u8 sTrainerClassGenderCountTbl[] = {
+ /*TRAINER_CLASS_PKMN_TRAINER_M*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_F*/ 1,
+ /*TRAINER_CLASS_YOUNGSTER*/ 0,
+ /*TRAINER_CLASS_LASS*/ 1,
+ /*TRAINER_CLASS_CAMPER*/ 0,
+ /*TRAINER_CLASS_PICNICKER*/ 1,
+ /*TRAINER_CLASS_BUG_CATCHER*/ 0,
+ /*TRAINER_CLASS_AROMA_LADY*/ 1,
+ /*TRAINER_CLASS_TWINS*/ 1,
+ /*TRAINER_CLASS_HIKER*/ 0,
+ /*TRAINER_CLASS_BATTLE_GIRL*/ 1,
+ /*TRAINER_CLASS_FISHERMAN*/ 0,
+ /*TRAINER_CLASS_CYCLIST_M*/ 0,
+ /*TRAINER_CLASS_CYCLIST_F*/ 1,
+ /*TRAINER_CLASS_BLACK_BELT*/ 0,
+ /*TRAINER_CLASS_ARTIST*/ 0,
+ /*TRAINER_CLASS_PKMN_BREEDER_M*/ 0,
+ /*TRAINER_CLASS_PKMN_BREEDER_F*/ 1,
+ /*TRAINER_CLASS_COWGIRL*/ 1,
+ /*TRAINER_CLASS_JOGGER*/ 0,
+ /*TRAINER_CLASS_POKEFAN_M*/ 0,
+ /*TRAINER_CLASS_POKEFAN_F*/ 1,
+ /*TRAINER_CLASS_POKE_KID*/ 1,
+ /*TRAINER_CLASS_YOUNG_COUPLE*/ 2,
+ /*TRAINER_CLASS_ACE_TRAINER_M*/ 0,
+ /*TRAINER_CLASS_ACE_TRAINER_F*/ 1,
+ /*TRAINER_CLASS_WAITRESS*/ 1,
+ /*TRAINER_CLASS_VETERAN*/ 0,
+ /*TRAINER_CLASS_NINJA_BOY*/ 0,
+ /*TRAINER_CLASS_DRAGON_TAMER*/ 0,
+ /*TRAINER_CLASS_BIRD_KEEPER*/ 1,
+ /*TRAINER_CLASS_DOUBLE_TEAM*/ 2,
+ /*TRAINER_CLASS_RICH_BOY*/ 0,
+ /*TRAINER_CLASS_LADY*/ 1,
+ /*TRAINER_CLASS_GENTLEMAN*/ 0,
+ /*TRAINER_CLASS_SOCIALITE*/ 1,
+ /*TRAINER_CLASS_BEAUTY*/ 1,
+ /*TRAINER_CLASS_COLLECTOR*/ 0,
+ /*TRAINER_CLASS_POLICEMAN*/ 0,
+ /*TRAINER_CLASS_PKMN_RANGER_M*/ 0,
+ /*TRAINER_CLASS_PKMN_RANGER_F*/ 1,
+ /*TRAINER_CLASS_SCIENTIST*/ 0,
+ /*TRAINER_CLASS_SWIMMER_M*/ 0,
+ /*TRAINER_CLASS_SWIMMER_F*/ 1,
+ /*TRAINER_CLASS_TUBER_M*/ 0,
+ /*TRAINER_CLASS_TUBER_F*/ 1,
+ /*TRAINER_CLASS_SAILOR*/ 0,
+ /*TRAINER_CLASS_SIS_AND_BRO*/ 2,
+ /*TRAINER_CLASS_RUIN_MANIAC*/ 0,
+ /*TRAINER_CLASS_PSYCHIC_M*/ 0,
+ /*TRAINER_CLASS_PSYCHIC_F*/ 1,
+ /*TRAINER_CLASS_PI*/ 0,
+ /*TRAINER_CLASS_GUITARIST*/ 0,
+ /*TRAINER_CLASS_ACE_TRAINER_SNOW_M*/ 0,
+ /*TRAINER_CLASS_ACE_TRAINER_SNOW_F*/ 1,
+ /*TRAINER_CLASS_SKIER_M*/ 0,
+ /*TRAINER_CLASS_SKIER_F*/ 1,
+ /*TRAINER_CLASS_ROUGHNECK*/ 0,
+ /*TRAINER_CLASS_CLOWN*/ 0,
+ /*TRAINER_CLASS_WORKER*/ 0,
+ /*TRAINER_CLASS_SCHOOL_KID_M*/ 0,
+ /*TRAINER_CLASS_SCHOOL_KID_F*/ 1,
+ /*TRAINER_CLASS_LEADER_ROARK*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_BARRY*/ 0,
+ /*TRAINER_CLASS_LEADER_BYRON*/ 0,
+ /*TRAINER_CLASS_ELITE_FOUR_AARON*/ 0,
+ /*TRAINER_CLASS_ELITE_FOUR_BERTHA*/ 1,
+ /*TRAINER_CLASS_ELITE_FOUR_FLINT*/ 0,
+ /*TRAINER_CLASS_ELITE_FOUR_LUCIEN*/ 0,
+ /*TRAINER_CLASS_CHAMPION*/ 1,
+ /*TRAINER_CLASS_BELLE__PA*/ 2,
+ /*TRAINER_CLASS_RANCHER*/ 0,
+ /*TRAINER_CLASS_COMMANDER_MARS*/ 1,
+ /*TRAINER_CLASS_GALACTIC*/ 0,
+ /*TRAINER_CLASS_LEADER_GARDENIA*/ 1,
+ /*TRAINER_CLASS_LEADER_WAKE*/ 0,
+ /*TRAINER_CLASS_LEADER_MAYLENE*/ 1,
+ /*TRAINER_CLASS_LEADER_FANTINA*/ 1,
+ /*TRAINER_CLASS_LEADER_CANDICE*/ 1,
+ /*TRAINER_CLASS_LEADER_VOLKNER*/ 0,
+ /*TRAINER_CLASS_PARASOL_LADY*/ 1,
+ /*TRAINER_CLASS_WAITER*/ 0,
+ /*TRAINER_CLASS_INTERVIEWERS*/ 2,
+ /*TRAINER_CLASS_CAMERAMAN*/ 0,
+ /*TRAINER_CLASS_REPORTER*/ 1,
+ /*TRAINER_CLASS_IDOL*/ 1,
+ /*TRAINER_CLASS_GALACTIC_BOSS*/ 0,
+ /*TRAINER_CLASS_COMMANDER_JUPITER*/ 1,
+ /*TRAINER_CLASS_COMMANDER_SATURN*/ 1,
+ /*TRAINER_CLASS_GALACTIC_F*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_RICH_BOY*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_PICNICKER*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_CAMPER*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_POKEKID*/ 1,
+ /*TRAINER_CLASS_PKMN_TRAINER_LUCAS*/ 0,
+ /*TRAINER_CLASS_PKMN_TRAINER_DAWN*/ 1,
+ /*TRAINER_CLASS_TOWER_TYCOON*/ 0
+};
+
+// Returns 0 for male, 1 for female, 2 for doubles. See above vector.
+int TrainerClass_GetGenderOrTrainerCount(int a0)
+{
+ return sTrainerClassGenderCountTbl[a0];
+}
+
+void CreateNPCTrainerParty(struct BattleSetupStruct * enemies, s32 party_id, u32 heap_id)
+{
+ union TrainerMon * data;
+ s32 i;
+ s32 j;
+ u32 seed_bak;
+ struct Pokemon * pokemon;
+ struct TrainerMonSpeciesItemMoves * monSpeciesItemMoves;
+ struct TrainerMonSpeciesItem * monSpeciesItem;
+ struct TrainerMonSpeciesMoves * monSpeciesMoves;
+ struct TrainerMonSpecies * monSpecies;
+ u32 seed;
+ u32 personality;
+ u8 iv;
+ u32 pid_gender;
+
+ // We abuse the RNG for personality value generation, so back up the overworld
+ // state
+ seed_bak = GetLCRNGSeed();
+ InitPartyWithMaxSize(enemies->parties[party_id], PARTY_SIZE);
+ data = (union TrainerMon *)AllocFromHeap(heap_id, sizeof(union TrainerMon) * PARTY_SIZE);
+ pokemon = AllocMonZeroed(heap_id);
+ TrainerData_ReadTrPoke(enemies->trainer_idxs[party_id], data);
+
+ // If a Pokemon's gender ratio is 50/50, the generated Pokemon will be the same
+ // gender as its trainer. Otherwise, it will assume the more abundant gender
+ // according to its species gender ratio. In double battles, the behavior is
+ // identical to that of a solitary male opponent.
+ pid_gender = (u32)((TrainerClass_GetGenderOrTrainerCount(enemies->datas[party_id].data.trainerClass) == 1) ? 0x78 : 0x88);
+
+ // The trainer types can be more efficiently and expandibly treated as a flag
+ // array, with bit 0 being custom moveset and bit 1 being held item.
+ // Nintendo didn't do it that way, instead using a switch statement and a lot
+ // of code duplication. This has been the case since the 2nd generation games.
+ switch (enemies->datas[party_id].data.trainerType)
+ {
+ case TRTYPE_MON:
+ {
+ monSpecies = &data->species;
+ for (i = 0; i < enemies->datas[party_id].data.npoke; i++)
+ {
+ // Generate personality by seeding with a value based on the difficulty,
+ // level, species, and opponent ID. Roll the RNG N times, where N is
+ // the index of its trainer class. Finally, left shift the 16-bit
+ // pseudorandom value and add the gender selector.
+ // This guarantees that NPC trainers' Pokemon are generated in a
+ // consistent manner between attempts.
+ seed = monSpecies[i].difficulty + monSpecies[i].level + monSpecies[i].species + enemies->trainer_idxs[party_id];
+ SetLCRNGSeed(seed);
+ for (j = 0; j < enemies->datas[party_id].data.trainerClass; j++)
+ {
+ seed = LCRandom();
+ }
+ personality = (seed << 8);
+ personality += pid_gender;
+
+ // Difficulty is a number between 0 and 250 which directly corresponds
+ // to the (uniform) IV spread of the generated Pokemon.
+ iv = (u8)((monSpecies[i].difficulty * 31) / 255);
+ CreateMon(pokemon, monSpecies[i].species, monSpecies[i].level, iv, 1, (s32)personality, 2, 0);
+
+ // If you were treating the trainer type as a bitfield, you'd put the
+ // checks for held item and moves here. You'd also treat the trpoke
+ // data as a flat u16 array rather than an array of fixed-width structs.
+ AddMonToParty(enemies->parties[party_id], pokemon);
+ }
+ break;
+ }
+ case TRTYPE_MON_MOVES:
+ {
+ monSpeciesMoves = &data->species_moves;
+ for (i = 0; i < enemies->datas[party_id].data.npoke; i++)
+ {
+ seed = monSpeciesMoves[i].difficulty + monSpeciesMoves[i].level + monSpeciesMoves[i].species + enemies->trainer_idxs[party_id];
+ SetLCRNGSeed(seed);
+ for (j = 0; j < enemies->datas[party_id].data.trainerClass; j++)
+ {
+ seed = LCRandom();
+ }
+ personality = (seed << 8);
+ personality += pid_gender;
+ iv = (u8)((monSpeciesMoves[i].difficulty * 31) / 255);
+ CreateMon(pokemon, monSpeciesMoves[i].species, monSpeciesMoves[i].level, iv, 1, (s32)personality, 2, 0);
+ for (j = 0; j < 4; j++)
+ {
+ MonSetMoveInSlot(pokemon, monSpeciesMoves[i].moves[j], (u8)j);
+ }
+ AddMonToParty(enemies->parties[party_id], pokemon);
+ }
+ break;
+ }
+ case TRTYPE_MON_ITEM:
+ {
+ monSpeciesItem = &data->species_item;
+ for (i = 0; i < enemies->datas[party_id].data.npoke; i++)
+ {
+ seed = monSpeciesItem[i].difficulty + monSpeciesItem[i].level + monSpeciesItem[i].species + enemies->trainer_idxs[party_id];
+ SetLCRNGSeed(seed);
+ for (j = 0; j < enemies->datas[party_id].data.trainerClass; j++)
+ {
+ seed = LCRandom();
+ }
+ personality = (seed << 8);
+ personality += pid_gender;
+ iv = (u8)((monSpeciesItem[i].difficulty * 31) / 255);
+ CreateMon(pokemon, monSpeciesItem[i].species, monSpeciesItem[i].level, iv, 1, (s32)personality, 2, 0);
+ SetMonData(pokemon, MON_DATA_HELD_ITEM, &monSpeciesItem[i].item);
+ AddMonToParty(enemies->parties[party_id], pokemon);
+ }
+ break;
+ }
+ case TRTYPE_MON_ITEM_MOVES:
+ {
+ monSpeciesItemMoves = &data->species_item_moves;
+ for (i = 0; i < enemies->datas[party_id].data.npoke; i++)
+ {
+ seed = monSpeciesItemMoves[i].difficulty + monSpeciesItemMoves[i].level + monSpeciesItemMoves[i].species + enemies->trainer_idxs[party_id];
+ SetLCRNGSeed(seed);
+ for (j = 0; j < enemies->datas[party_id].data.trainerClass; j++)
+ {
+ seed = LCRandom();
+ }
+ personality = (seed << 8);
+ personality += pid_gender;
+ iv = (u8)((monSpeciesItemMoves[i].difficulty * 31) / 255);
+ CreateMon(pokemon, monSpeciesItemMoves[i].species, monSpeciesItemMoves[i].level, iv, 1, (s32)personality, 2, 0);
+ SetMonData(pokemon, MON_DATA_HELD_ITEM, &monSpeciesItemMoves[i].item);
+ for (j = 0; j < 4; j++)
+ {
+ MonSetMoveInSlot(pokemon, monSpeciesItemMoves[i].moves[j], (u8)j);
+ }
+ AddMonToParty(enemies->parties[party_id], pokemon);
+ }
+ break;
+ }
+ }
+ FreeToHeap(data);
+ FreeToHeap(pokemon);
+ SetLCRNGSeed(seed_bak);
+}
diff --git a/arm9/src/unk_020139D8.c b/arm9/src/unk_020139D8.c
index 82c96ea9..796190b2 100644
--- a/arm9/src/unk_020139D8.c
+++ b/arm9/src/unk_020139D8.c
@@ -7,7 +7,7 @@
#pragma thumb on
-const u8 UNK_020ED5B4[][2] = {
+const u8 sNarcLanguages[][2] = {
{ LANGUAGE_JAPANESE, 0 },
{ LANGUAGE_ENGLISH, 1 },
{ LANGUAGE_FRENCH, 2 },
@@ -16,32 +16,32 @@ const u8 UNK_020ED5B4[][2] = {
{ LANGUAGE_SPANISH, 5 },
};
-const u16 UNK_020ED5C0[] = {
- 362,
- 589,
- 565,
- 553,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394
+const u16 sNarcMsgBanks[] = {
+ 362, // Species names
+ 589, // Move names
+ 565, // Type names
+ 553, // Ability names
+ 388, // Trainer
+ 389, // People
+ 390, // Greetings
+ 391, // Lifestyle
+ 392, // Feelings
+ 393, // Tough words
+ 394 // Union
};
-const u16 UNK_020ED5D6[] = {
- 496,
- 468,
- 18,
- 124,
- 38,
- 38,
- 107,
- 104,
- 47,
- 32,
- 23
+const u16 sNarcMsgCounts[] = {
+ 496, // Species names
+ 468, // Move names
+ 18, // Type names
+ 124, // Ability names
+ 38, // Trainer
+ 38, // People
+ 107, // Greetings
+ 104, // Lifestyle
+ 47, // Feelings
+ 32, // Tough words
+ 23 // Union
};
const u16 UNK_020ED580[] = { 0x04C0, 0x04F0 };
@@ -76,19 +76,19 @@ const struct UnkStruct_020ED5EC
{ UNK_020ED594, NELEMS(UNK_020ED594) },
};
-struct UnkStruct_020139D8 * FUN_020139D8(u32 heap_id)
+struct UnkStruct_020139D8 * EasyChatManager_new(u32 heap_id)
{
struct UnkStruct_020139D8 * ret = (struct UnkStruct_020139D8 *)AllocFromHeap(heap_id, sizeof(struct UnkStruct_020139D8));
s32 i;
for (i = 0; i < 11; i++)
{
ret->heap_id = heap_id; // inadvertently inside the loop
- ret->msgDatas[i] = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, UNK_020ED5C0[i], heap_id);
+ ret->msgDatas[i] = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, sNarcMsgBanks[i], heap_id);
}
return ret;
}
-void FUN_02013A10(struct UnkStruct_020139D8 * unk)
+void EasyChatManager_delete(struct UnkStruct_020139D8 * unk)
{
s32 i;
for (i = 0; i < 11; i++)
@@ -98,61 +98,61 @@ void FUN_02013A10(struct UnkStruct_020139D8 * unk)
FreeToHeap(unk);
}
-void FUN_02013A30(struct UnkStruct_020139D8 * unk, u16 a1, struct String * str)
+void EasyChatManager_ReadWordIntoString(struct UnkStruct_020139D8 * unk, u16 wordIdx, struct String * str)
{
- s32 sp4;
- s32 sp0;
- FUN_02013AEC(a1, &sp4, &sp0);
- ReadMsgDataIntoString(unk->msgDatas[sp4], (u32)sp0, str);
+ s32 msgBank;
+ s32 msgNo;
+ GetCategoryAndMsgNoByECWordIdx(wordIdx, &msgBank, &msgNo);
+ ReadMsgDataIntoString(unk->msgDatas[msgBank], (u32)msgNo, str);
}
-void FUN_02013A58(u16 a0, struct String * a1)
+void GetECWordIntoStringByIndex(u16 wordIdx, struct String * a1)
{
- s32 sp8;
- s32 sp4;
- if (a0 != 0xFFFF)
+ s32 msgBank;
+ s32 msgNo;
+ if (wordIdx != 0xFFFF)
{
- FUN_02013AEC(a0, &sp8, &sp4);
- sp8 = UNK_020ED5C0[sp8];
- ReadMsgData_NewNarc_ExistingString(NARC_MSGDATA_MSG, (u32)sp8, (u32)sp4, 0, a1);
+ GetCategoryAndMsgNoByECWordIdx(wordIdx, &msgBank, &msgNo);
+ msgBank = sNarcMsgBanks[msgBank];
+ ReadMsgData_NewNarc_ExistingString(NARC_MSGDATA_MSG, (u32)msgBank, (u32)msgNo, 0, a1);
}
else
StringSetEmpty(a1);
}
-u16 FUN_02013A9C(u16 a0, u16 a1)
+u16 GetECWordIndexByPair(u16 msgBank, u16 msgNo)
{
u32 i;
u16 k;
u16 j;
for (i = 0; i < 11; i++)
{
- if (a0 == UNK_020ED5C0[i])
+ if (msgBank == sNarcMsgBanks[i])
{
for (j = 0, k = 0; j < i; j++)
- k += UNK_020ED5D6[j];
- return (u16)(k + a1);
+ k += sNarcMsgCounts[j];
+ return (u16)(k + msgNo);
}
}
return 0xFFFF;
}
-void FUN_02013AEC(u32 a0, s32 * a1, s32 * a2)
+void GetCategoryAndMsgNoByECWordIdx(u32 wordIdx, s32 * msgBank_p, s32 * msgNo_p)
{
s32 i;
s32 j;
u32 r3;
- r3 = a0 & 0xFFF;
+ r3 = wordIdx & 0xFFF;
j = 0;
- for (i = 0; i < NELEMS(UNK_020ED5D6); i++)
+ for (i = 0; i < NELEMS(sNarcMsgCounts); i++)
{
- j += UNK_020ED5D6[i];
+ j += sNarcMsgCounts[i];
if (r3 < j)
{
- *a1 = i;
- *a2 = (s32)(r3 - (j - UNK_020ED5D6[i]));
+ *msgBank_p = i;
+ *msgNo_p = (s32)(r3 - (j - sNarcMsgCounts[i]));
return;
}
}
@@ -170,9 +170,9 @@ void FUN_02013B2C(struct UnkStruct_02013B28 * unk)
unk->unk_4 = 0;
for (i = 0; i < 6; i++)
{
- if (UNK_020ED5B4[i][0] == GAME_LANGUAGE)
+ if (sNarcLanguages[i][0] == GAME_LANGUAGE)
{
- FUN_02013C18(unk, UNK_020ED5B4[i][1]);
+ FUN_02013C18(unk, sNarcLanguages[i][1]);
break;
}
}
@@ -233,7 +233,7 @@ u16 FUN_02013BE4(u16 a0)
s32 i;
u16 skip = 0;
for (i = 0; i < 9; i++)
- skip += UNK_020ED5D6[i];
+ skip += sNarcMsgCounts[i];
return (u16)(skip + a0);
}
diff --git a/arm9/src/unk_02021FF8.c b/arm9/src/unk_02021FF8.c
new file mode 100644
index 00000000..2fe37556
--- /dev/null
+++ b/arm9/src/unk_02021FF8.c
@@ -0,0 +1,176 @@
+#include "global.h"
+#include "string16.h"
+#include "heap.h"
+#include "unk_02021FF8.h"
+
+#pragma thumb on
+
+BOOL String_IsTrainerName(struct String * string)
+{
+ return string->size != 0 && string->data[0] == 0xF100;
+}
+
+void StringCat_HandleTrainerName(struct String * dest, struct String * src)
+{
+ if (String_IsTrainerName(src))
+ {
+ u16 * dest_p = &dest->data[dest->size];
+ u16 * src_p = &src->data[1];
+ s32 bit = 0;
+ u32 outsize = 0;
+ u16 cur_char = 0;
+
+ while (1)
+ {
+ cur_char = (u16)((*src_p >> bit) & 0x1FF);
+ bit += 9;
+ if (bit >= 15)
+ {
+ src_p++;
+ bit -= 15;
+ if (bit != 0)
+ {
+ cur_char |= (*src_p << (9 - bit)) & 0x1FF;
+ }
+ }
+ if (cur_char == 0x1FF)
+ break;
+ *dest_p++ = cur_char;
+ outsize++;
+ }
+ *dest_p = EOS;
+ dest->size += outsize;
+ }
+ else
+ StringCat(dest, src);
+}
+
+struct UnkStruct_020220C4 * FUN_020220C4(u8 * a0, u32 a1, void (*a2)(s32, s32, u32), u32 a3, u32 a4)
+{
+ struct UnkStruct_020220C4 * ret;
+ s32 i;
+ GF_ASSERT(a1 != 0);
+ ret = AllocFromHeap(a4, sizeof(struct UnkStruct_020220C4));
+ if (ret != NULL)
+ {
+ ret->field_0 = a0;
+ ret->field_4 = a1;
+ ret->field_8 = a2;
+ ret->field_C = a3;
+ ret->field_10 = AllocFromHeap(a4, a1 * sizeof(struct UnkStruct_020220C4_sub));
+ if (ret->field_10 != NULL)
+ {
+ for (i = 0; i < a1; i++)
+ {
+ FUN_02022120(&ret->field_10[i]);
+ }
+ }
+ else
+ {
+ FreeToHeap(ret);
+ ret = NULL;
+ }
+ }
+ return ret;
+}
+
+void FUN_02022120(struct UnkStruct_020220C4_sub * sub)
+{
+ sub->field_0 = 0;
+ sub->field_1 = 0;
+ sub->field_2 = 0;
+}
+
+void FUN_0202212C(struct UnkStruct_020220C4 * unk)
+{
+ GF_ASSERT(unk != NULL);
+ FreeToHeap(unk->field_10);
+ FreeToHeap(unk);
+}
+
+extern u16 FUN_02020A98(void);
+extern u16 FUN_02020AA4(void);
+extern u8 FUN_02020A40(u8 * a0);
+extern u8 FUN_02020A6C(u8 * a0);
+
+s32 (*const UNK_020EE6CC[])(struct UnkStruct_020220C4_sub * a0, u32 a1, u32 a2) = {
+ FUN_020221EC,
+ FUN_02022208
+};
+
+void FUN_02022144(struct UnkStruct_020220C4 * unk)
+{
+ u32 sp4;
+ u32 sp0 = FUN_02020A98();
+ s32 i;
+ s32 r1;
+ if (sp0 != 0)
+ {
+ sp4 = FUN_02020AA4();
+ for (i = 0; i < unk->field_4; i++)
+ {
+ u8 res;
+ if (unk->field_10[i].field_1 != 0)
+ {
+ res = FUN_02020A40(&unk->field_0[4 * i]);
+ }
+ else
+ {
+ res = FUN_02020A6C(&unk->field_0[4 * i]);
+ }
+ unk->field_10[i].field_1 = res;
+ }
+ }
+ else
+ {
+ sp4 = 0;
+ for (i = 0; i < unk->field_4; i++)
+ {
+ unk->field_10[i].field_1 = 0;
+ }
+ }
+ for (i = 0; i < unk->field_4; i++)
+ {
+ r1 = UNK_020EE6CC[unk->field_10[i].field_0](&unk->field_10[i], sp0, sp4);
+ if (r1 != -1)
+ {
+ unk->field_8(i, r1, unk->field_C);
+ }
+ }
+}
+
+s32 FUN_020221EC(struct UnkStruct_020220C4_sub * a0, u32 a1, u32 a2)
+{
+#pragma unused(a1)
+ if (a0->field_1 && a2)
+ {
+ FUN_0202223C(a0, 1);
+ return 0;
+ }
+ return -1;
+}
+
+s32 FUN_02022208(struct UnkStruct_020220C4_sub * a0, u32 a1, u32 a2)
+{
+#pragma unused(a2)
+ if (a0->field_1)
+ {
+ if (a0->field_2 < 0xFFFF)
+ a0->field_2++;
+ return 2;
+ }
+ else if (a1)
+ {
+ FUN_0202223C(a0, 0);
+ return 3;
+ }
+ FUN_0202223C(a0, 0);
+ return 1;
+}
+
+void FUN_0202223C(struct UnkStruct_020220C4_sub * a0, u8 a1)
+{
+ a0->field_0 = a1;
+ a0->field_2 = 0;
+}
+
diff --git a/arm9/src/unk_0206B688.c b/arm9/src/unk_0206B688.c
new file mode 100644
index 00000000..465fa842
--- /dev/null
+++ b/arm9/src/unk_0206B688.c
@@ -0,0 +1,185 @@
+#include "global.h"
+#include "pokemon.h"
+#include "unk_0206B688.h"
+
+#pragma thumb on
+
+u16 BoxMon_GetAlternateForme(struct BoxPokemon * boxmon);
+u32 FUN_0206B6D4(u32 species, u32 is_egg, u32 forme);
+
+u32 FUN_0206B688(struct BoxPokemon * boxmon)
+{
+ BOOL decry = AcquireBoxMonLock(boxmon);
+ u32 species = GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL);
+ u32 is_egg = GetBoxMonData(boxmon, MON_DATA_IS_EGG, NULL);
+ u32 forme = BoxMon_GetAlternateForme(boxmon);
+ u32 ret = FUN_0206B6D4(species, is_egg, forme);
+ ReleaseBoxMonLock(boxmon, decry);
+ return ret;
+}
+
+u32 FUN_0206B6C8(struct Pokemon * pokemon)
+{
+ return FUN_0206B688(FUN_020690E4(pokemon));
+}
+
+u32 FUN_0206B6D4(u32 species, u32 is_egg, u32 forme)
+{
+ if (is_egg == TRUE)
+ {
+ if (species == SPECIES_MANAPHY)
+ return 502;
+ else
+ return 501;
+ }
+ if (forme != 0)
+ {
+ if (species == SPECIES_DEOXYS)
+ return 502 + forme;
+ if (species == SPECIES_UNOWN)
+ return 506 + forme;
+ if (species == SPECIES_BURMY)
+ return 533 + forme;
+ if (species == SPECIES_WORMADAM)
+ return 535 + forme;
+ if (species == SPECIES_SHELLOS)
+ return 537 + forme;
+ if (species == SPECIES_GASTRODON)
+ return 538 + forme;
+ }
+ return (species <= SPECIES_ARCEUS ? species : 0) + 7;
+}
+
+u16 BoxMon_GetAlternateForme(struct BoxPokemon * boxmon)
+{
+ u32 species = GetBoxMonData(boxmon, MON_DATA_SPECIES2, NULL);
+ switch (species)
+ {
+ case SPECIES_UNOWN:
+ return GetBoxMonUnownLetter(boxmon);
+ case SPECIES_DEOXYS:
+ case SPECIES_BURMY:
+ case SPECIES_WORMADAM:
+ case SPECIES_SHELLOS:
+ case SPECIES_GASTRODON:
+ return (u16) GetBoxMonData(boxmon, MON_DATA_FORME, NULL);
+ default:
+ return 0;
+ }
+}
+
+const u8 UNK_020F8074[] = {
+ 0, 1, 1, 1, 0, 0, 0, 0, 2, 2, 1, 1, 0, 1, 2, 2,
+ 0, 0, 0, 2, 1, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2,
+ 2, 2, 2, 0, 0, 2, 1, 0, 0, 2, 2, 1, 0, 0, 0, 0,
+ 0, 2, 2, 2, 1, 1, 1, 2, 1, 2, 0, 0, 0, 0, 0, 2,
+ 2, 2, 0, 2, 0, 1, 1, 1, 2, 2, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 1, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 1, 2, 2, 1,
+ 1, 0, 0, 1, 0, 0, 0, 0, 2, 2, 0, 1, 2, 1, 0, 2,
+ 2, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 1,
+ 0, 0, 0, 0, 0, 2, 2, 0, 1, 1, 1, 1, 1, 1, 2, 2,
+ 2, 2, 2, 2, 2, 0, 0, 1, 0, 2, 2, 0, 0, 0, 1, 2,
+ 2, 0, 0, 2, 0, 0, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1,
+ 1, 1, 0, 0, 2, 2, 2, 0, 0, 0, 0, 1, 0, 2, 2, 2,
+ 0, 0, 2, 0, 0, 1, 2, 0, 0, 2, 0, 0, 2, 2, 0, 0,
+ 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 2, 1, 1,
+ 1, 1, 1, 0, 2, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 2, 0, 2, 1, 1, 1,
+ 1, 1, 1, 0, 2, 2, 0, 0, 1, 1, 1, 2, 0, 1, 1, 2,
+ 2, 1, 1, 1, 1, 0, 2, 2, 2, 1, 2, 0, 0, 2, 2, 2,
+ 2, 2, 2, 0, 0, 1, 0, 0, 0, 0, 2, 0, 1, 2, 0, 0,
+ 2, 0, 1, 0, 1, 0, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+ 2, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 0,
+ 1, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0,
+ 0, 1, 0, 2, 2, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, 0,
+ 1, 0, 0, 1, 1, 1, 1, 0, 0, 2, 2, 0, 0, 0, 0, 2,
+ 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 2, 2, 2, 2, 2, 0, 1, 0,
+ 2, 0, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+ 2, 1, 1, 0, 2, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1,
+ 0, 2, 1, 0, 2, 1, 1, 0, 2, 2, 0, 1, 0, 2, 2, 0,
+ 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 1, 0, 0, 0, 0, 0, 0
+};
+
+u32 FUN_0206B7BC(u32 species, u32 forme, u32 is_egg)
+{
+ if (is_egg == TRUE)
+ {
+ if (species == SPECIES_MANAPHY)
+ species = 495;
+ else
+ species = 494;
+ }
+ else if (species > SPECIES_ARCEUS)
+ species = 0;
+ else if (forme != 0)
+ {
+ if (species == SPECIES_DEOXYS)
+ species = 495 + forme;
+ else if (species == SPECIES_UNOWN)
+ species = 498 + forme;
+ else if (species == SPECIES_BURMY)
+ species = 526 + forme;
+ else if (species == SPECIES_WORMADAM)
+ species = 528 + forme;
+ else if (species == SPECIES_SHELLOS)
+ species = 530 + forme;
+ else if (species == SPECIES_GASTRODON)
+ species = 531 + forme;
+ }
+ return UNK_020F8074[species];
+}
+
+u32 FUN_0206B83C(struct BoxPokemon * boxmon)
+{
+ BOOL decry = AcquireBoxMonLock(boxmon);
+ u32 forme = BoxMon_GetAlternateForme(boxmon);
+ u32 species = GetBoxMonData(boxmon, MON_DATA_SPECIES, NULL);
+ u32 is_egg = GetBoxMonData(boxmon, MON_DATA_IS_EGG, NULL);
+ ReleaseBoxMonLock(boxmon, decry);
+ return FUN_0206B7BC(species, forme, is_egg);
+}
+
+u32 FUN_0206B87C(struct Pokemon * pokemon)
+{
+ return FUN_0206B83C(FUN_020690E4(pokemon));
+}
+
+u32 FUN_0206B888(void)
+{
+ return 0;
+}
+
+u32 FUN_0206B88C(void)
+{
+ return 2;
+}
+
+u32 FUN_0206B890(void)
+{
+ return 4;
+}
+
+u32 FUN_0206B894(void)
+{
+ return 6;
+}
+
+u32 FUN_0206B898(void)
+{
+ return 1;
+}
+
+u32 FUN_0206B89C(void)
+{
+ return 3;
+}
+
+u32 FUN_0206B8A0(void)
+{
+ return 5;
+}
diff --git a/arm9/src/unk_0206BB28.c b/arm9/src/unk_0206BB28.c
new file mode 100644
index 00000000..baaecc6a
--- /dev/null
+++ b/arm9/src/unk_0206BB28.c
@@ -0,0 +1,25 @@
+#include "global.h"
+#include "save_block_2.h"
+#include "pokedex.h"
+#include "pokemon.h"
+#include "unk_0206BB28.h"
+
+#pragma thumb on
+
+BOOL FUN_0206BB28(struct SaveBlock2 * sav2)
+{
+ return FUN_0206BB34(Sav2_Pokedex_get(sav2));
+}
+
+BOOL FUN_0206BB34(struct Pokedex * pokedex)
+{
+ return Pokedex_GetNatDexFlag(pokedex) == TRUE;
+}
+
+u32 FUN_0206BB48(BOOL isNationalDex, u32 species)
+{
+ if (!isNationalDex)
+ species = SpeciesToSinnohDexNo((u16)species);
+ return species;
+}
+
diff --git a/files/msgdata/msg/.gitignore b/files/msgdata/msg/.gitignore
index a8a0dcec..74ed169b 100644
--- a/files/msgdata/msg/.gitignore
+++ b/files/msgdata/msg/.gitignore
@@ -1 +1,2 @@
*.bin
+narc_0559.txt
diff --git a/files/msgdata/msg/narc_0559.txt b/files/msgdata/msg/narc_0559.txt
deleted file mode 100644
index 7368b8c4..00000000
--- a/files/msgdata/msg/narc_0559.txt
+++ /dev/null
@@ -1,850 +0,0 @@
-{F100}{7DDE}{7FFE}
-{F100}{2D3E}{7A6D}{562A}{2545}{7FFD}
-{F100}{2736}{5A5D}{54A8}
-{F100}춈{5AC5}{5428}{134D}{7FFD}
-{F100}{1B37}{4A3D}{5169}{2149}{7FFD}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{3B3E}{1A85}{55A9}
-{F100}춤{5A8D}{54A8}{1958}{7A2D}
-{F100}춤{5AB5}{5328}
-{F100}{2D2C}{2A2D}{522A}{2553}{7FFD}
-{F100}춥찔{54EA}{7F56}
-{F100}{1B36}{6AD5}{70BB}{6DDE}{6A6C}{7FEB}
-{F100}쵭{3A3D}{51AA}
-{F100}{1B3D}{2A4D}{516A}
-{F100}촬{5A95}{5269}{7F50}
-{F100}{1B38}{4A3D}{54E9}츙{7ABD}
-{F100}{1335}{7A85}{526A}{7F5D}
-{F100}{212F}{6A6D}{516B}{1346}{4AC5}{7FE9}
-{F100}{252B}{6A45}{526A}{7F5B}
-{F100}{2734}{1ABD}{5529}{7F4C}
-{F100}췐{4A3D}{5169}{3B56}{7FFD}
-{F100}{392B}젼{7FEA}
-{F100}쵭{1A8D}{55E9}
-{F100}{2734}{2A65}{7FEA}
-{F100}{3B3C}{2A2D}{7FEA}
-{F100}{1337}{5A5D}{54A8}
-{F100}{1B38}{3A3D}{542A}{7F49}
-{F100}쵯찔{516A}
-{F100}출{4A3D}{5269}{7F50}
-{F100}{332B}쩝{536B}{7F52}
-{F100}{252B}{4AC5}{54E9}{3B52}{7FFD}
-{F100}쵱{6ACD}{526A}{7F52}
-{F100}{1335}{5AD5}{54A9}
-{F100}{3334}쩝{536B}{7F52}
-{F100}{1332}{1A85}{54A9}
-{F100}{273C}{1A35}{55A9}{7F58}
-{F100}{212B}{4A4D}{516B}{1152}{6A4D}{7FEA}
-{F100}{2734}{5A95}{5628}츄{7A95}
-{F100}{3B35}{1A85}{7FE9}
-{F100}{272D}{5A45}{7FEB}
-{F100}쵤{2A95}{516A}{7F4C}
-{F100}{1B41}쥠{536A}{2345}{7FFD}
-{F100}{212B}{1A35}{55A9}{7F58}
-{F100}{1334}{2A95}{536A}{134A}{7AB5}
-{F100}{193D}젼{542A}{3B49}{7FFD}
-{F100}{1B3C}{4A3D}{5169}{1156}{7FFD}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}촬{5A95}{5269}{2150}{7A4D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{3B3E}{2EF5}{77B8}{333D}{7A4D}
-{F100}쵯좡{536A}{7F50}
-{F100}{232B}{1A35}{55A9}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{133E}{5AB5}{77A9}{3DC2}{59F7}{5169}
-{F100}{2D2F}{1A95}{55E9}{7F58}
-{F100}{212B}{7AED}{55EA}{7F45}
-{F100}{2D2C}{5A6D}{54A8}
-{F100}{112B}{1A2D}{7FEA}
-{F100}{2734}젼{7FEA}
-{F100}춈{4AC5}{5169}{7F52}
-{F100}촬{5AD5}{5229}{7F53}
-{F100}축{6AC5}{536A}{1F47}{7FFD}
-{F100}{2D2C}{5A6D}{54A8}측{7FFD}
-{F100}췐{6A3D}{70BB}{69DE}{2A4C}{7FEA}
-{F100}{212B}{4A4D}{516B}{1152}{5AB5}{7FE8}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}췐{4A3D}{7FE9}
-{F100}{133D}{2A2D}{7FEA}
-{F100}{1B38}{7A3D}{7FE9}
-{F100}쵯{4AC5}{5269}{1B56}{1A95}{7FE9}
-{F100}쵭{3ABD}{54AA}
-{F100}{1337}{5A85}{55E9}츳{7FFD}
-{F100}{1334}{1AB5}{5469}{7F5D}
-{F100}{133C}{2A6D}{516A}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{272C}{6A35}{5768}
-{F100}{212B}{4A4D}{7FEB}
-{F100}{3B2E}{5A85}{54A8}
-{F100}{3334}{2A2D}{7FEA}
-{F100}촨{1A8D}{55A9}{2553}{7FFD}
-{F100}{2D3E}{2A2D}{536B}{7F57}
-{F100}춥찔{54EA}{7F56}
-{F100}{1334}{2A55}{55A9}{3B49}{7FFD}
-{F100}{212B}{5A85}{55E9}{2553}{7FFD}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{313D}{2A4D}{5169}{2752}{7FFD}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}촨{1A85}{51A9}
-{F100}{193D}젼{562A}{254D}{7FFD}
-{F100}{352F}{2A2D}{7FEA}
-{F100}쵤{1A85}{5769}
-{F100}쵸{5AB5}{7FEB}
-{F100}쵭{1AB5}{5229}
-{F100}{192D}젼{55EA}췹{7FFD}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}축쫓{7FEA}
-{F100}{1335}{2A95}{526A}{1958}{7FFD}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}{2D2C}{5AED}{54A8}
-{F100}{3332}직{526B}{7F56}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7AC5}{5328}{2149}{7A85}
-{F100}힘{3A6D}{5169}{214D}{7FFD}
-{F100}촨쨔{54EA}{7F57}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{2D31}{3A4D}{54E9}{3B56}{7FFD}
-{F100}{132E}{1AB5}{53E9}
-{F100}춈{4AC5}{5169}{1B52}젼{7FEA}
-{F100}{0F3D}징{562B}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{212C}{7A2D}{5269}
-{F100}쵠{6AB5}{526A}{3158}{7FFD}
-{F100}쵱{6ACD}{516A}
-{F100}쵸{5AB5}{5169}
-{F100}{2D2C}잿{5429}{3B49}{7FFD}
-{F100}{112F}{5ADD}{55A8}{7F48}
-{F100}쵯죕{542B}{255D}{7FFD}
-{F100}{252B}{6A45}{526A}{7F45}
-{F100}촬쥠{54EB}{7F52}
-{F100}{2139}{2A6D}{536B}{7F45}
-{F100}{193D}{3A2D}{54AB}
-{F100}{1D2C}{6A9D}{54AA}
-{F100}{1336}{5AE5}{5269}
-{F100}쵸{5A45}{55E9}{2553}{7FFD}
-{F100}{252B}{3AC5}{54AA}{274D}{7FFD}
-{F100}{312F}{5A65}{54A8}
-{F100}{3336}{1A7D}{7FE9}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{1A5D}{526B}{7F50}
-{F100}{3336}{7A3D}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{112B}{5AB5}{5169}{7F52}
-{F100}{2D2F}{7A6D}{7FE9}
-{F100}{1B40}{7A95}{5268}{3152}{7FFD}
-{F100}{1334}{7ABD}{536A}췰{7FFD}
-{F100}{2D2F}{7A6D}{5168}
-{F100}쵯{1AC5}{5429}{255D}{7FFD}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}{1B2E}쥠{54EA}{7F52}
-{F100}충{1A95}{55E9}츳{7FFD}
-{F100}{272D}{5AB5}{7FEB}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}쵭{1A7D}{7FE9}
-{F100}{193D}{2A2D}{54AA}{2553}{7FFD}
-{F100}{2D2C}젼{562B}
-{F100}{212B}{7A4D}{7FE8}
-{F100}{1331}{6A9D}{52EA}{7F49}
-{F100}{272D}{1A85}{7FE9}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{3336}{4AC5}{5269}{7F56}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}{1341}쩝{526A}{7F5D}
-{F100}{1B3C}{5A3D}{55A8}{2748}{7FFD}
-{F100}{2D30}{2A2D}{51EA}{2F4D}{3A3D}{7FEA}
-{F100}{272D}쥠{54EB}{7F52}
-{F100}{2D3E}{5A9D}{7FEB}
-{F100}{2F39}{5A3D}{55A8}
-{F100}{1B37}{5AB5}{54A8}췸{7FFD}
-{F100}{332B}{6A35}{526A}{7F49}
-{F100}축{3A6D}{5269}
-{F100}{2D2D}{7AED}{562A}{2145}{7FFD}
-{F100}촨{7ABD}{516A}{1152}{5AB5}{7FE8}
-{F100}쵠{6A35}{536A}{2149}{1A85}{7FE9}
-{F100}{272D}{5A85}{54A9}
-{F100}쵸{3ABD}{54AA}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}쵭{7A3D}{7FE9}
-{F100}{193A}죕{542A}{294D}{7FFD}
-{F100}{272E}{5A95}{5428}{7F48}
-{F100}{2D2C}{5A6D}{54A8}{7F45}
-{F100}{212F}{6A6D}{5169}{7F4C}
-{F100}{1B36}직{55E9}{3B49}{7FFD}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}{2339}{6A2D}{7FEA}
-{F100}{1332}{6A95}{576A}
-{F100}쵸{5AB5}{5169}{7F4C}
-{F100}{3B3D}{2A45}{526A}{7F5D}
-{F100}{112F}{5A5D}{55A8}
-{F100}{212D}{5A2D}{562B}{2553}{7FFD}
-{F100}{2539}{6A45}{526A}{7F4E}
-{F100}{212D}{2A6D}{562A}{2553}{7FFD}
-{F100}촬{5AD5}{5229}
-{F100}쵤{5A95}{7FE8}
-{F100}{2D2C}{7AED}{5268}
-{F100}충{1A85}{54A9}{1B47}{7A2D}
-{F100}{2734}{2EF5}{77B8}축{7AC5}
-{F100}{212B}{2EF5}{77B8}쵯{7AED}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{2D31}{2A2D}{562A}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{2734}{5A95}{5628}{274C}{7A95}
-{F100}촬{5AB5}{5669}{7F57}
-{F100}{273C}{6A2D}{53EA}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{3B2C}{3AB5}{54AA}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}쵭{7A3D}{55E9}{2553}{7FFD}
-{F100}쵠{5AB5}{7FEB}
-{F100}{193A}죕{536A}{7F54}
-{F100}{1334}{2A95}{516A}
-{F100}{252B}{1A5D}{5429}{7F45}
-{F100}총{3AB5}{54AA}
-{F100}{132C}쨔{532B}{7F45}
-{F100}{2130}{2A6D}{562A}
-{F100}{3336}{5A3D}{5169}{7F52}
-{F100}{332D}쨔{536B}{7F57}
-{F100}{2D2E}{3A4D}{7FEB}
-{F100}{3B2D}직{532B}츈{7FFD}
-{F100}{133D}{3AB5}{5369}{7F53}
-{F100}{2F33}{5A2D}{5169}{7F4C}
-{F100}춤{5AD5}{54A8}측{7A65}
-{F100}{212B}{7A6D}{5368}{7F45}
-{F100}{272E}{3ACD}{5429}{2F45}{7FFD}
-{F100}{2D2C}잿{5769}
-{F100}{3533}{2A2D}{7FEA}
-{F100}{1330}{2AB5}{516A}{1152}{7A9D}
-{F100}{112F}{5ADD}{54A9}
-{F100}쵤찔{5269}{7F52}
-{F100}{132E}{2A95}{536A}{7F57}
-{F100}{132D}{5ABD}{55A8}
-{F100}{212B}{1A85}{54A9}
-{F100}췐{4A3D}{5269}{3B56}{7FFD}
-{F100}{333C}{1A35}{54A9}
-{F100}{2D2C}{5A4D}{54A8}측{7FFD}
-{F100}촨{4AC5}{5269}{1B56}{1A95}{7FE9}
-{F100}{132E}쩝{536B}{3B52}{7FFD}
-{F100}쵭{5A8D}{5269}
-{F100}쵸{5AED}{7FE8}
-{F100}쵸{3AE5}{526B}{2150}{7FFD}
-{F100}{2D2C}죕{562B}{1352}{7AED}
-{F100}{352B}{6A2D}{70BB}{6FDE}잽{562B}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}쵸{7AB5}{54E8}
-{F100}{2D2F}{7A6D}{53E8}
-{F100}{232F}{5A8D}{77A8}{3DC2}{59B7}{5429}
-{F100}쵸{7AB5}{7FEA}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{273E}{5A95}{7FEB}
-{F100}{1334}{6AB5}{576A}
-{F100}{2D3A}{7A4D}{562A}{2553}{7FFD}
-{F100}{2736}{2A95}{536A}{7F49}
-{F100}촨{2A85}{536B}{7F52}
-{F100}쵱{6AB5}{576A}
-{F100}{3B41}잿{562B}
-{F100}{2D2D}{5A2D}{52E9}
-{F100}출쫓{7FEA}
-{F100}{272D}{6A85}{5768}
-{F100}촬{6AB5}{526A}{7F52}
-{F100}출{5A55}{5268}{7F50}
-{F100}{1334}{2A55}{5269}{3B56}{7FFD}
-{F100}촨쨔{7FEA}
-{F100}{1B3C}{7A3D}{5769}
-{F100}쵠쨔{5269}{1B52}{7A2D}
-{F100}춰{1A7D}{7FE9}
-{F100}쵸찔{526A}{1352}{7FFD}
-{F100}최직{536B}측{7FFD}
-{F100}촨직{5369}{1347}{7FFD}
-{F100}{2740}{7A85}{54A9}{2D49}{7FFD}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}쵸{1A45}{5429}{254D}{7A4D}
-{F100}쵯죕{542B}{254D}{7FFD}
-{F100}촨{3AB5}{542A}{254D}{7A4D}
-{F100}{2737}쥠{576A}
-{F100}{2736}{5ACD}{55E9}
-{F100}{212B}{4A4D}{516B}
-{F100}춤{6A35}{536A}측{7FFD}
-{F100}{1B2E}{2A2D}{516A}
-{F100}{192D}{5A4D}{526B}{2552}{7A4D}
-{F100}{1337}{4A5D}{5169}{7F52}
-{F100}촬{2A95}{576A}
-{F100}{193E}{1A9D}{516A}{7F57}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{2D3E}{5A4D}{7FEB}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}쵸{7AB5}{7FE8}
-{F100}{1F3D}찔{526A}{7F56}
-{F100}촬{5A8D}{5169}{7F52}
-{F100}{192D}{2A2D}{51EA}{7F49}
-{F100}{2730}{6AB5}{526A}{3157}{7FFD}
-{F100}쵤{6AB5}{536A}{2757}{7A95}
-{F100}쵸{7A3D}{5269}{3D52}{1A6D}{7FE9}
-{F100}{1B3E}{6A4D}{516A}
-{F100}{192D}{5AB5}{55E9}{1B58}{1A95}{7FE9}
-{F100}{3B2D}직{5769}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B36}직{55E9}{3B45}{7FFD}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}촬쥠{516A}{7F57}
-{F100}{133D}{5A35}{55E8}{1B58}{2A2D}{7FEA}
-{F100}{272E}{2A95}{576A}
-{F100}{2D3E}{2A4D}{562A}{2553}{7FFD}
-{F100}{272D}{2A95}{526A}{7F56}
-{F100}쵸{5AB5}{5269}{7F50}
-{F100}{2732}쥠{576A}
-{F100}{2D2B}{5A8D}{54A8}{2748}{7FFD}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}쵯{5AC5}{7FE9}
-{F100}{1331}{5AB5}{55A8}{2748}{7FFD}
-{F100}{273C}{5AE5}{77AB}{3DC2}욱{536A}
-{F100}{133E}{5AD5}{54A9}
-{F100}{1B35}{7A95}{526A}{7F5D}
-{F100}{2D31}{7A2D}{5268}
-{F100}{3B3E}{1A85}{55A9}
-{F100}{332B}{1AC5}{546B}{7F52}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}췐{7A3D}{5169}{3B56}{7FFD}
-{F100}쵱{6ADD}{526A}{0F52}{7A4D}
-{F100}{1B2E}{3A4D}{54E9}
-{F100}축{7AB5}{5269}{7F56}
-{F100}{272E}{5A8D}{54A9}{2B4D}{1ACD}{7FE9}
-{F100}쵭{5A8D}{5428}
-{F100}{133E}{6AB5}{576A}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{2734}{7A4D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{2734}{5A95}{5328}
-{F100}{1B37}{5A3D}{5328}
-{F100}{2D2B}{4AC5}{5669}{7F56}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{2D2C}{2A4D}{522A}{7F45}
-{F100}{2D2C}{2A2D}{522A}{7F4D}
-{F100}{212D}{6A2D}{536A}{1347}{7FFD}
-{F100}{2735}{5A45}{7FEB}
-{F100}쵱직{54E9}{7F52}
-{F100}{132E}{2A2D}{522A}{1356}{7FFD}
-{F100}출{4A3D}{5169}{2149}{7FFD}
-{F100}{132E}{5ABD}{55A9}{1349}{7FFD}
-{F100}{1335}직{55A9}{7F45}
-{F100}춰쥠{526B}{7F56}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{3B2D}{1AB5}{55EB}
-{F100}{3B2D}{1AB5}{55EB}
-{F100}쵸{7AB5}{7FEA}
-{F100}{3334}{5AA5}{5629}{2D49}{7FFD}
-{F100}{3334}{5AA5}{5629}{2D49}{7FFD}
-{F100}춤{1AC5}{55AB}{7F52}
-{F100}춤{1AC5}{55AB}{7F52}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D2B}{1AC5}{55AB}{7F53}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}쵤{6AB5}{576A}
-{F100}{1331}{5AB5}{5428}{7F48}
-{F100}{1B37}{1A85}{55E9}
-{F100}{1335}직{5169}{7F50}
-{F100}{112F}{5A45}{5269}
-{F100}{1B41}쥠{536A}{7F49}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}촨{7ABD}{536A}{3B48}{7FFD}
-{F100}{193E}{3A4D}{522A}{2D53}{7A4D}
-{F100}촬{3A8D}{54AA}
-{F100}쵸{6ACD}{536A}{1347}{7FFD}
-{F100}{133C}{5A5D}{54A9}{2145}{7A45}
-{F100}{2736}{1AB5}{54A9}{275E}{7FFD}
-{F100}쵯{5AB5}{54A9}{7F45}
-{F100}{333D}{1A8D}{526A}{7F56}
-{F100}{273E}{5AB5}{7FE9}
-{F100}{252B}{7A2D}
-{F100}{1336}{7A4D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{2D2B}{1A6D}{5429}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}췐{4A3D}{5169}{1B56}{4A2D}{7FE9}
-{F100}춤{7A8D}{54EA}{7F52}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{193D}{1A2D}{54AB}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}최{5A35}{5169}{7F52}
-{F100}{2D2C}{2A4D}{54AA}{2545}{7FFD}
-{F100}{2D2C}{7ACD}{5268}
-{F100}{132E}{3AD5}{54AA}
-{F100}{1B38}{3A3D}{542A}{7F45}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{212D}{5A2D}{55A9}{7F49}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}춰{2AED}{526A}
-{F100}쵭{7A3D}{5769}
-{F100}촨죕{542B}{255D}{7FFD}
-{F100}{133E}{6AB5}{526A}{2150}{7FFD}
-{F100}{2D2C}{2A4D}{522A}{2549}{7FFD}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B41}쥠{576A}
-{F100}{2D2C}잿{5269}{7F52}
-{F100}{2D2C}{2A4D}{522A}{2553}{7FFD}
-{F100}{333B}{2A4D}{562A}{254D}{7FFD}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}쵸{7AB5}{7FEA}
-{F100}{1B35}{6AB5}{5768}
-{F100}{1336}{2A9D}{516A}{1156}{7FFD}
-{F100}{133C}{1A35}{53E9}{1945}{7FFD}
-{F100}{2139}{2A6D}{526B}{7F56}
-{F100}{132C}{4AC5}{77A9}{3DC2}{3967}{51AA}
-{F100}{1B37}{1A7D}{77A9}{3DC2}{59C7}{5628}
-{F100}{212B}{7A6D}{54EA}{7F52}
-{F100}{2F33}{5A8D}{5268}{7F50}
-{F100}쵯찔{526A}{7F49}
-{F100}촬{6AB5}{576A}{7F50}
-{F100}{332F}{1A5D}{54A9}{7F49}
-{F100}{1337}{1AB5}{5229}{314D}{7A65}
-{F100}{1335}직{55A9}{0F4D}{7A7D}
-{F100}{1336}{2A9D}{516A}{1156}{7A9D}
-{F100}{133C}{1A35}{51E9}췰{7FFD}
-{F100}{212C}찔{532B}{7F49}
-{F100}{273C}{5A8D}{54A8}
-{F100}{3B35}{5A85}{5269}
-{F100}충{1A85}{55A9}{134D}{7FFD}
-{F100}{2F2F}{1AC5}{51A9}{2545}{7FFD}
-{F100}{232F}죕{536A}{7F53}
-{F100}쵠{6A35}{536A}{2149}{5A85}{7FE8}
-{F100}쵤쨔{526A}{7F5D}
-{F100}{232F}{2A2D}{566A}{2149}{7FFD}
-{F100}쵯쨔{7FEA}
-{F100}{332B}{6A45}{526A}{7F5D}
-{F100}{1331}{1A95}{56A9}{7F45}
-{F100}{2D35}{7AED}{562A}{2145}{7FFD}
-{F100}{1331}{2A9D}{52A9}{1356}{7AED}
-{F100}촬{5AB5}{5269}{7F52}
-{F100}{1335}{3A4D}{5169}{7F52}
-{F100}{313D}{2A2D}{542A}{3B49}{7FFD}
-{F100}{2D2E}{7A2D}{5269}
-{F100}{1335}{2A95}{576A}
-{F100}{273C}{3A45}{542A}{274A}{7FFD}
-{F100}춤쫓{7FEA}
-{F100}{2734}{1ABD}{7FE9}
-{F100}{1330}{5A85}{5729}
-{F100}{333B}{2A6D}{54AA}
-{F100}{2D31}{4A2D}{5169}{7F51}
-{F100}{1335}{2A4D}{516A}{7F52}
-{F100}{313D}{2A4D}{5169}{7F52}
-{F100}{1F3D}찔{516A}{7F56}
-{F100}힘젼{7FEA}
-{F100}{132E}{2A2D}{54AA}{7F45}
-{F100}{2D2B}{5A6D}{54A8}{7F45}
-{F100}촬{5A95}{7FE8}
-{F100}{1B37}{5A7D}{5768}츙{7FFD}
-{F100}{1337}{3A2D}{5169}{7F52}
-{F100}춤직{55A9}{7F45}
-{F100}쵯{7ABD}{516A}{1152}{5AB5}{7FE8}
-{F100}쵭{1ABD}{536A}{7F52}
-{F100}춈{5AC5}{55E8}츄{7FFD}
-{F100}{2737}{5A95}{5569}{1359}{7FFD}
-{F100}{272D}{6AB5}{5368}{7F52}
-{F100}{313D}{6A4D}{542A}{254D}{7A5D}
-{F100}촬{7A6D}{576A}
-{F100}{192D}젼{55EA}{3B49}{7FFD}
-{F100}촬{3AD5}{54AA}
-{F100}{2D31}{2A6D}{52A9}{254D}{7FFD}
-{F100}출{7AED}
-{F100}쵭{6AB5}{526A}{3158}{7FFD}
-{F100}{3B35}{1A85}{55A9}
-{F100}{132E}{4ABD}{5169}{255B}{7FFD}
-{F100}{372E}{5A2D}{54AB}{7F49}
-{F100}{2F2B}좡{526A}{7F49}
-{F100}{1330}{5A85}{51E9}츈{7FFD}
-{F100}{2D35}{7A6D}{562A}{7F45}
-{F100}{2131}{2A4D}{54AA}
-{F100}{3335}쨔{7FEB}
-{F100}춤{7A8D}
-{F100}춰{1A45}{7FE9}
-{F100}{2734}{2A2D}{54AA}{7F45}
-{F100}{273D}{4AA5}{5369}{7F45}
-{F100}쵸쥠{54EA}{3B56}{7FFD}
-{F100}{3B36}{5A45}{5169}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}쵤쨔{516A}{7F52}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{192D}{6A4D}{576A}{7F50}
-{F100}{1B3C}{1A85}{5769}
-{F100}쵸쨔{526A}{7F5D}
-{F100}{332C}{7A3D}{7FE9}
-{F100}{1B37}{5AB5}{7FE8}
-{F100}{3336}{5A3D}{55E8}
-{F100}{3336}{5A3D}{55E8}
-{F100}{3336}{5A3D}{55E8}
-{F100}촬{2ADD}{7FEA}
-{F100}촬{2ADD}{7FEA}
-{F100}촬{2ADD}{7FEA}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{3336}{5A3D}{55E8}
-{F100}{3336}{5A3D}{55E8}
-{F100}{3336}{5A3D}{55E8}
-{F100}촬{2ADD}{7FEA}
-{F100}촬{2ADD}{7FEA}
-{F100}촬{2ADD}{7FEA}
-{F100}{212F}{6A6D}{516B}{1346}{4AC5}{7FE9}
-{F100}{212F}{6A6D}{516B}{1346}{4AC5}{7FE9}
-{F100}{212F}{6A6D}{516B}{1346}{4AC5}{7FE9}
-{F100}{1335}{5AD5}{54A9}
-{F100}{1335}{5AD5}{54A9}
-{F100}{1335}{5AD5}{54A9}
-{F100}{1332}{1A85}{54A9}
-{F100}{1332}{1A85}{54A9}
-{F100}{1332}{1A85}{54A9}
-{F100}{2D2C}{5A6D}{54A8}측{7FFD}
-{F100}{2D2C}{5A6D}{54A8}측{7FFD}
-{F100}{332B}{6A45}{526A}{7F5D}
-{F100}{212B}{1A35}{55A9}{7F58}
-{F100}{212B}{1A35}{55A9}{7F58}
-{F100}{212B}{1A35}{55A9}{7F58}
-{F100}{1334}{2A95}{536A}{134A}{7AB5}
-{F100}{1334}{2A95}{536A}{134A}{7AB5}
-{F100}{1334}{2A95}{536A}{134A}{7AB5}
-{F100}췐{7A3D}{5169}{3B56}{7FFD}
-{F100}췐{7A3D}{5169}{3B56}{7FFD}
-{F100}췐{7A3D}{5169}{3B56}{7FFD}
-{F100}촬쥠{54EB}{7F52}
-{F100}{2139}{2A6D}{536B}{7F45}
-{F100}{3533}{2A2D}{7FEA}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{2734}{2A65}{7FEA}
-{F100}{2734}{2A65}{7FEA}
-{F100}{2734}{2A65}{7FEA}
-{F100}쵯찔{516A}
-{F100}쵯찔{516A}
-{F100}쵯찔{516A}
-{F100}축{6AC5}{536A}{1F47}{7FFD}
-{F100}축{6AC5}{536A}{1F47}{7FFD}
-{F100}쵤찔{5269}{7F52}
-{F100}{1331}{2A9D}{52A9}{1356}{7AED}
-{F100}쵭{1A7D}{7FE9}
-{F100}{132E}{2A95}{536A}{7F57}
-{F100}{132E}{2A95}{536A}{7F57}
-{F100}{273C}{3A45}{542A}{274A}{7FFD}
-{F100}춤쫓{7FEA}
-{F100}{193D}{2A2D}{54AA}{2553}{7FFD}
-{F100}쵸{5AED}{7FE8}
-{F100}쵸{5AED}{7FE8}
-{F100}{132E}{2A2D}{54AA}{7F45}
-{F100}{2D2B}{5A6D}{54A8}{7F45}
-{F100}{1B37}{7AC5}{5328}{2149}{7A85}
-{F100}{1B37}{7AC5}{5328}{2149}{7A85}
-{F100}쵸{3AE5}{526B}{2150}{7FFD}
-{F100}{272D}{6AB5}{5368}{7F52}
-{F100}힘{3A6D}{5169}{214D}{7FFD}
-{F100}힘{3A6D}{5169}{214D}{7FFD}
-{F100}{2D2C}죕{562B}{1352}{7AED}
-{F100}촬{7A6D}{576A}
-{F100}쵸{7AB5}{54E8}
-{F100}쵸{7AB5}{54E8}
-{F100}{2734}{1ABD}{5529}{7F4C}
-{F100}{2734}{1ABD}{5529}{7F4C}
-{F100}{1B37}{1A5D}{526B}{7F50}
-{F100}{212B}{7A4D}{7FE8}
-{F100}{133E}{5AB5}{77A9}{3DC2}{59F7}{5169}
-{F100}{133E}{5AB5}{77A9}{3DC2}{59F7}{5169}
-{F100}촨쨔{54EA}{7F57}
-{F100}촨쨔{54EA}{7F57}
-{F100}{1334}{1AB5}{5469}{7F5D}
-{F100}{1334}{1AB5}{5469}{7F5D}
-{F100}{1334}{1AB5}{5469}{7F5D}
-{F100}{273E}{5A95}{7FEB}
-{F100}쵤{6AB5}{576A}
-{F100}쵤{6AB5}{576A}
-{F100}{2D2D}{5A2D}{52E9}
-{F100}{2D2D}{5A2D}{52E9}
-{F100}{193A}죕{536A}{7F54}
-{F100}촬{3AD5}{54AA}
-{F100}{133C}{2A6D}{516A}
-{F100}{133C}{2A6D}{516A}
-{F100}춤{5A8D}{54A8}{1958}{7A2D}
-{F100}춤{5A8D}{54A8}{1958}{7A2D}
-{F100}춤{5A8D}{54A8}{1958}{7A2D}
-{F100}쵸{1A45}{5429}{254D}{7A4D}
-{F100}쵸{1A45}{5429}{254D}{7A4D}
-{F100}쵸{1A45}{5429}{254D}{7A4D}
-{F100}{193E}{3A4D}{522A}{2D53}{7A4D}
-{F100}{193E}{3A4D}{522A}{2D53}{7A4D}
-{F100}{193E}{3A4D}{522A}{2D53}{7A4D}
-{F100}{2D2C}{2A2D}{522A}{2553}{7FFD}
-{F100}{2D2C}{2A2D}{522A}{2553}{7FFD}
-{F100}{2D2C}{2A2D}{522A}{2553}{7FFD}
-{F100}{212B}{4A4D}{516B}
-{F100}{212B}{4A4D}{516B}
-{F100}{212B}{4A4D}{516B}
-{F100}쵯{5AB5}{54A9}{7F45}
-{F100}쵯{5AB5}{54A9}{7F45}
-{F100}쵯{5AB5}{54A9}{7F45}
-{F100}촬{5A95}{5269}{2150}{7A4D}
-{F100}촬{5A95}{5269}{2150}{7A4D}
-{F100}촬{5A95}{5269}{2150}{7A4D}
-{F100}촬{2A95}{576A}
-{F100}촬{2A95}{576A}
-{F100}촬{2A95}{576A}
-{F100}{2D3E}{5A4D}{7FEB}
-{F100}{2D3E}{5A4D}{7FEB}
-{F100}{1337}{5A85}{55E9}츳{7FFD}
-{F100}{1337}{5A85}{55E9}츳{7FFD}
-{F100}{1337}{5A85}{55E9}츳{7FFD}
-{F100}춥찔{54EA}{7F56}
-{F100}춥찔{54EA}{7F56}
-{F100}춥찔{54EA}{7F56}
-{F100}{3B35}{1A85}{55A9}
-{F100}{212B}{5A85}{55E9}{2553}{7FFD}
-{F100}{212B}{5A85}{55E9}{2553}{7FFD}
-{F100}{212B}{5A85}{55E9}{2553}{7FFD}
-{F100}{2F2B}좡{526A}{7F49}
-{F100}쵸{7AB5}{7FE8}
-{F100}쵸{7AB5}{7FE8}
-{F100}췐{4A3D}{5169}{1B56}{4A2D}{7FE9}
-{F100}{193D}{1A2D}{54AB}
-{F100}{193D}{1A2D}{54AB}
-{F100}{193D}{1A2D}{54AB}
-{F100}췐{4A3D}{7FE9}
-{F100}췐{4A3D}{7FE9}
-{F100}췐{4A3D}{7FE9}
-{F100}{3B2D}직{5769}
-{F100}{3B2D}직{5769}
-{F100}{112F}{5ADD}{55A8}{7F48}
-{F100}{112F}{5ADD}{55A8}{7F48}
-{F100}{1D2C}{6A9D}{54AA}
-{F100}{1D2C}{6A9D}{54AA}
-{F100}{252B}{6A45}{526A}{7F45}
-{F100}{252B}{6A45}{526A}{7F45}
-{F100}쵸{5A45}{55E9}{2553}{7FFD}
-{F100}쵸{5A45}{55E9}{2553}{7FFD}
-{F100}{1341}쩝{526A}{7F5D}
-{F100}{2D30}{2A2D}{51EA}{2F4D}{3A3D}{7FEA}
-{F100}{2131}{2A4D}{54AA}
-{F100}{1B37}{5AB5}{54A8}췸{7FFD}
-{F100}{2D2D}{7AED}{562A}{2145}{7FFD}
-{F100}{2734}{2A2D}{54AA}{7F45}
-{F100}{2D3E}{7A6D}{562A}{2545}{7FFD}
-{F100}{2D3E}{7A6D}{562A}{2545}{7FFD}
-{F100}{2D3E}{7A6D}{562A}{2545}{7FFD}
-{F100}촬쥠{516A}{7F57}
-{F100}촬쥠{516A}{7F57}
-{F100}촬쥠{516A}{7F57}
-{F100}쵭{1AB5}{5229}
-{F100}쵭{1AB5}{5229}
-{F100}{192D}젼{55EA}췹{7FFD}
-{F100}{2D2C}{5A6D}{54A8}
-{F100}{192D}젼{55EA}췹{7FFD}
-{F100}{2D2C}{5A6D}{54A8}
-{F100}{2D2B}{5A8D}{54A8}{2748}{7FFD}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{2D2B}{1AC5}{55AB}{7F53}
-{F100}{2D2B}{1AC5}{55AB}{7F53}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}춥{5AB5}{77A8}{3DC2}{59F7}{5469}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{252B}{1A5D}{5429}{0F4D}{7A2D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{1B37}{7A3D}{5269}{7F5D}
-{F100}{273C}{5A85}{54A8}{7F48}
-{F100}촨{6AB5}{536A}{7F49}
-{F100}{2738}{1AB5}{516A}{7F52}
-{F100}{273C}{5A85}{54A8}{7F48}
-{F100}촨{6AB5}{536A}{7F49}
-{F100}{2738}{1AB5}{516A}{7F52}
-{F100}{273C}{5A85}{54A8}{7F48}
-{F100}촨{6AB5}{536A}{7F49}
-{F100}{2738}{1AB5}{516A}{7F52}
-{F100}축{1A85}{526A}{7F56}
-{F100}{252B}{3AC5}{54AA}
-{F100}{2D2C}{2A4D}{54AA}{7F45}
-{F100}촬{6AB5}{536A}{2F59}{7FFD}
-{F100}{2D30}젼{55A9}{0F4D}{7A7D}
-{F100}{2D3E}{2A2D}{54EB}{7F52}
-{F100}쵭{1A95}{5629}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{132D}{6A45}{536A}{7F47}
-{F100}{2D31}{2ACD}{562A}
-{F100}{1B2E}쥠{516A}{7F52}
-{F100}{2732}쥠{5269}{7F52}
-{F100}{272D}{6A95}{516A}{7F48}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
-{F100}{2D31}{2ACD}{562A}
diff --git a/files/poketool/trainer/trdata.json b/files/poketool/trainer/trdata.json
index 81b05ddd..336f8469 100644
--- a/files/poketool/trainer/trdata.json
+++ b/files/poketool/trainer/trdata.json
@@ -2,12 +2,13 @@
"trdata": [
{
"index": 1,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Tristan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18,12 +19,13 @@
},
{
"index": 2,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Logan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -34,12 +36,13 @@
},
{
"index": 3,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Natalie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -55,12 +58,13 @@
},
{
"index": 4,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Michael",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -76,12 +80,13 @@
},
{
"index": 5,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -92,12 +97,13 @@
},
{
"index": 6,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -108,12 +114,13 @@
},
{
"index": 7,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -124,12 +131,13 @@
},
{
"index": 8,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -140,12 +148,13 @@
},
{
"index": 9,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -156,12 +165,13 @@
},
{
"index": 10,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Tyler",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -177,12 +187,13 @@
},
{
"index": 11,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Samantha",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -193,12 +204,13 @@
},
{
"index": 12,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Sarah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -209,12 +221,13 @@
},
{
"index": 13,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BUG_CATCHER",
+ "name": "Brandon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -230,12 +243,13 @@
},
{
"index": 14,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Taylor",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -251,12 +265,13 @@
},
{
"index": 15,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TWINS",
+ "name": "Liv & Liz",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -272,12 +287,13 @@
},
{
"index": 16,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Jacob",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -292,12 +308,13 @@
},
{
"index": 17,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Siena",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -322,12 +339,13 @@
},
{
"index": 18,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Daniel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -353,12 +371,13 @@
},
{
"index": 19,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Nicholas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -369,12 +388,13 @@
},
{
"index": 20,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BATTLE_GIRL",
+ "name": "Kelsey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -385,12 +405,13 @@
},
{
"index": 21,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Elizabeth",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -401,12 +422,13 @@
},
{
"index": 22,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Andrew",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -442,12 +464,13 @@
},
{
"index": 23,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Joseph",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -458,12 +481,13 @@
},
{
"index": 24,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Zachary",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -484,12 +508,13 @@
},
{
"index": 25,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_M",
+ "name": "Axel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -500,12 +525,13 @@
},
{
"index": 26,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_M",
+ "name": "James",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -516,12 +542,13 @@
},
{
"index": 27,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_M",
+ "name": "John",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -537,12 +564,13 @@
},
{
"index": 28,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_M",
+ "name": "Ryan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -553,12 +581,13 @@
},
{
"index": 29,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_F",
+ "name": "Megan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -569,12 +598,13 @@
},
{
"index": 30,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_F",
+ "name": "Nicole",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -590,12 +620,13 @@
},
{
"index": 31,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_F",
+ "name": "Kayla",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -606,12 +637,13 @@
},
{
"index": 32,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_F",
+ "name": "Rachel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -627,12 +659,13 @@
},
{
"index": 33,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Austin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -653,12 +686,13 @@
},
{
"index": 34,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Anthony",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -674,12 +708,13 @@
},
{
"index": 35,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Lauren",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -695,12 +730,13 @@
},
{
"index": 36,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Kevin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -726,12 +762,13 @@
},
{
"index": 37,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Justin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -747,12 +784,13 @@
},
{
"index": 38,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BATTLE_GIRL",
+ "name": "Helen",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -768,12 +806,13 @@
},
{
"index": 39,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Robert",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -789,12 +828,13 @@
},
{
"index": 40,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Alexander",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -815,12 +855,13 @@
},
{
"index": 41,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Jonathan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -831,12 +872,13 @@
},
{
"index": 42,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Kyle",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -847,12 +889,13 @@
},
{
"index": 43,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Cody",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -868,12 +911,13 @@
},
{
"index": 44,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Hannah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -889,12 +933,13 @@
},
{
"index": 45,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ARTIST",
+ "name": "William",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -910,12 +955,13 @@
},
{
"index": 46,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_M",
+ "name": "Albert",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -936,12 +982,13 @@
},
{
"index": 47,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_F",
+ "name": "Jennifer",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -962,12 +1009,13 @@
},
{
"index": 48,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COWGIRL",
+ "name": "Shelley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -998,12 +1046,13 @@
},
{
"index": 49,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_JOGGER",
+ "name": "Richard",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1014,12 +1063,13 @@
},
{
"index": 50,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1030,12 +1080,13 @@
},
{
"index": 51,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1046,12 +1097,13 @@
},
{
"index": 52,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1062,12 +1114,13 @@
},
{
"index": 53,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Danielle",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1078,12 +1131,13 @@
},
{
"index": 54,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1094,12 +1148,13 @@
},
{
"index": 55,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNG_COUPLE",
+ "name": "Ty & Sue",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -1115,12 +1170,13 @@
},
{
"index": 56,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_M",
+ "name": "Kahlil",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1141,12 +1197,13 @@
},
{
"index": 57,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_F",
+ "name": "Amber",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1167,12 +1224,13 @@
},
{
"index": 58,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COWGIRL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1183,12 +1241,13 @@
},
{
"index": 59,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_JOGGER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1199,12 +1258,13 @@
},
{
"index": 60,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1215,12 +1275,13 @@
},
{
"index": 61,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1231,12 +1292,13 @@
},
{
"index": 62,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1247,12 +1309,13 @@
},
{
"index": 63,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1263,12 +1326,13 @@
},
{
"index": 64,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WAITRESS",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1279,12 +1343,13 @@
},
{
"index": 65,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TWINS",
+ "name": "Teri & Tia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -1300,12 +1365,13 @@
},
{
"index": 66,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Ernest",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1342,12 +1408,13 @@
},
{
"index": 67,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Alyssa",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1373,12 +1440,13 @@
},
{
"index": 68,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Brian",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -1416,12 +1484,13 @@
},
{
"index": 69,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Adam",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -1432,12 +1501,13 @@
},
{
"index": 70,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Joel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1463,12 +1533,13 @@
},
{
"index": 71,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Nathan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1484,12 +1555,13 @@
},
{
"index": 72,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Davido",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1500,12 +1572,13 @@
},
{
"index": 73,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Patrick",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1516,12 +1589,13 @@
},
{
"index": 74,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Brianna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1537,12 +1611,13 @@
},
{
"index": 75,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DOUBLE_TEAM",
+ "name": "Zac & Jen",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 50,
@@ -1558,12 +1633,13 @@
},
{
"index": 76,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Alexandra",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1574,12 +1650,13 @@
},
{
"index": 77,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BATTLE_GIRL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1590,12 +1667,13 @@
},
{
"index": 78,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Zach",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1616,12 +1694,13 @@
},
{
"index": 79,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Sean",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -1642,12 +1721,13 @@
},
{
"index": 80,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Nick",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1663,12 +1743,13 @@
},
{
"index": 81,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Katherine",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1679,14 +1760,15 @@
},
{
"index": 82,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RICH_BOY",
+ "name": "Jason",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1697,14 +1779,15 @@
},
{
"index": 83,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LADY",
+ "name": "Melissa",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1715,14 +1798,15 @@
},
{
"index": 84,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GENTLEMAN",
+ "name": "Jeremy",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1733,14 +1817,15 @@
},
{
"index": 85,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SOCIALITE",
+ "name": "Reina",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1751,12 +1836,13 @@
},
{
"index": 86,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1767,12 +1853,13 @@
},
{
"index": 87,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1783,12 +1870,13 @@
},
{
"index": 88,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Bobby",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1804,12 +1892,13 @@
},
{
"index": 89,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Alex",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1825,12 +1914,13 @@
},
{
"index": 90,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Dylan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1846,12 +1936,13 @@
},
{
"index": 91,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Juan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1862,12 +1953,13 @@
},
{
"index": 92,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Cameron",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1883,12 +1975,13 @@
},
{
"index": 93,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Travis",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1914,12 +2007,13 @@
},
{
"index": 94,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Taylor",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1935,12 +2029,13 @@
},
{
"index": 95,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Jeffrey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1956,12 +2051,13 @@
},
{
"index": 96,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Allison",
"unk2": 0,
"items": [],
"unkC": 0,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1977,12 +2073,13 @@
},
{
"index": 97,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1993,12 +2090,13 @@
},
{
"index": 98,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2009,12 +2107,13 @@
},
{
"index": 99,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Stefano",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2031,12 +2130,13 @@
},
{
"index": 100,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2047,12 +2147,13 @@
},
{
"index": 101,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2063,12 +2164,13 @@
},
{
"index": 102,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Caleb",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2084,12 +2186,13 @@
},
{
"index": 103,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Sheltin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2110,12 +2213,13 @@
},
{
"index": 104,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Evan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2131,12 +2235,13 @@
},
{
"index": 105,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Haley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2152,12 +2257,13 @@
},
{
"index": 106,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Mary",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2173,12 +2279,13 @@
},
{
"index": 107,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TUBER_M",
+ "name": "Jared",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2199,12 +2306,13 @@
},
{
"index": 108,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_TUBER_F",
+ "name": "Chelsea",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2221,12 +2329,13 @@
},
{
"index": 109,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BATTLE_GIRL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2237,12 +2346,13 @@
},
{
"index": 110,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Paul",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2258,12 +2368,13 @@
},
{
"index": 111,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Kenneth",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2284,12 +2395,13 @@
},
{
"index": 112,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SIS_AND_BRO",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -2305,12 +2417,13 @@
},
{
"index": 113,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Bryan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2331,12 +2444,13 @@
},
{
"index": 114,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Hunter",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2347,12 +2461,13 @@
},
{
"index": 115,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2363,12 +2478,13 @@
},
{
"index": 116,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2379,12 +2495,13 @@
},
{
"index": 117,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2395,12 +2512,13 @@
},
{
"index": 118,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2411,12 +2529,13 @@
},
{
"index": 119,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Mitchell",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2432,12 +2551,13 @@
},
{
"index": 120,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Abigail",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2458,12 +2578,13 @@
},
{
"index": 121,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PI",
+ "name": "Carlos",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -2496,12 +2617,13 @@
},
{
"index": 122,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2512,12 +2634,13 @@
},
{
"index": 123,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PI",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2528,12 +2651,13 @@
},
{
"index": 124,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2544,12 +2668,13 @@
},
{
"index": 125,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2560,12 +2685,13 @@
},
{
"index": 126,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2576,12 +2702,13 @@
},
{
"index": 127,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Gregory",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -2602,12 +2729,13 @@
},
{
"index": 128,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Derek",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -2618,12 +2746,13 @@
},
{
"index": 129,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Nathaniel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -2644,12 +2773,13 @@
},
{
"index": 130,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_JOGGER",
+ "name": "Scott",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2660,12 +2790,13 @@
},
{
"index": 131,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2676,12 +2807,13 @@
},
{
"index": 132,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Blake",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2709,12 +2841,13 @@
},
{
"index": 133,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Garrett",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2753,12 +2886,13 @@
},
{
"index": 134,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Laura",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2775,12 +2909,13 @@
},
{
"index": 135,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Maria",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2819,12 +2954,13 @@
},
{
"index": 136,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Bradley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2845,12 +2981,13 @@
},
{
"index": 137,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Edward",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2861,12 +2998,13 @@
},
{
"index": 138,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Kaitlyn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2882,12 +3020,13 @@
},
{
"index": 139,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Andrea",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2898,12 +3037,13 @@
},
{
"index": 140,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Dalton",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2942,12 +3082,13 @@
},
{
"index": 141,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Olivia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2975,12 +3116,13 @@
},
{
"index": 142,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Shawn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3006,12 +3148,13 @@
},
{
"index": 143,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Bjorn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3027,12 +3170,13 @@
},
{
"index": 144,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Lexie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3048,12 +3192,13 @@
},
{
"index": 145,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Madison",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3064,12 +3209,13 @@
},
{
"index": 146,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Antonio",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3095,12 +3241,13 @@
},
{
"index": 147,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Ethan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3116,12 +3263,13 @@
},
{
"index": 148,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Luke",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -3142,12 +3290,13 @@
},
{
"index": 149,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3158,12 +3307,13 @@
},
{
"index": 150,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3174,12 +3324,13 @@
},
{
"index": 151,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3190,12 +3341,13 @@
},
{
"index": 152,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3206,12 +3358,13 @@
},
{
"index": 153,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Miguel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3227,12 +3380,13 @@
},
{
"index": 154,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Luc",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3263,12 +3417,13 @@
},
{
"index": 155,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SIS_AND_BRO",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -3284,12 +3439,13 @@
},
{
"index": 156,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3300,12 +3456,13 @@
},
{
"index": 157,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3316,12 +3473,13 @@
},
{
"index": 158,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3332,12 +3490,13 @@
},
{
"index": 159,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Adrian",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3358,12 +3517,13 @@
},
{
"index": 160,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Erik",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3374,12 +3534,13 @@
},
{
"index": 161,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Vincent",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3395,12 +3556,13 @@
},
{
"index": 162,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Jessica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3426,12 +3588,13 @@
},
{
"index": 163,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Erica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3447,12 +3610,13 @@
},
{
"index": 164,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Katelyn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3491,12 +3655,13 @@
},
{
"index": 165,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SIS_AND_BRO",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -3512,12 +3677,13 @@
},
{
"index": 166,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Dillon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3533,12 +3699,13 @@
},
{
"index": 167,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Vanessa",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3549,12 +3716,13 @@
},
{
"index": 168,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Cory",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3575,12 +3743,13 @@
},
{
"index": 169,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3591,12 +3760,13 @@
},
{
"index": 170,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Jake",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -3623,12 +3793,13 @@
},
{
"index": 171,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Shannon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -3664,12 +3835,13 @@
},
{
"index": 172,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Brett",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3690,12 +3862,13 @@
},
{
"index": 173,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Alec",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3711,12 +3884,13 @@
},
{
"index": 174,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "George",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3742,12 +3916,13 @@
},
{
"index": 175,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Cole",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3768,12 +3943,13 @@
},
{
"index": 176,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ROUGHNECK",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3784,12 +3960,13 @@
},
{
"index": 177,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ROUGHNECK",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3800,12 +3977,13 @@
},
{
"index": 178,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3816,12 +3994,13 @@
},
{
"index": 179,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3832,12 +4011,13 @@
},
{
"index": 180,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Luther",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3858,12 +4038,13 @@
},
{
"index": 181,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ARTIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3874,12 +4055,13 @@
},
{
"index": 182,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNG_COUPLE",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -3895,12 +4077,13 @@
},
{
"index": 183,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Wesley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3916,12 +4099,13 @@
},
{
"index": 184,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Ricardo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3932,12 +4116,13 @@
},
{
"index": 185,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Francisco",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3953,12 +4138,13 @@
},
{
"index": 186,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Colton",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3979,12 +4165,13 @@
},
{
"index": 187,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Troy",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3995,12 +4182,13 @@
},
{
"index": 188,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Oscar",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4021,12 +4209,13 @@
},
{
"index": 189,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Miranda",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4037,12 +4226,13 @@
},
{
"index": 190,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Aubree",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4058,12 +4248,13 @@
},
{
"index": 191,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Paige",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4084,12 +4275,13 @@
},
{
"index": 192,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Crystal",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4105,12 +4297,13 @@
},
{
"index": 193,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Cassandra",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4126,12 +4319,13 @@
},
{
"index": 194,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Gabrielle",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4142,12 +4336,13 @@
},
{
"index": 195,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Colin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4173,12 +4368,13 @@
},
{
"index": 196,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Mason",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4193,12 +4389,13 @@
},
{
"index": 197,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4209,12 +4406,13 @@
},
{
"index": 198,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4225,12 +4423,13 @@
},
{
"index": 199,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4241,12 +4440,13 @@
},
{
"index": 200,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4257,12 +4457,13 @@
},
{
"index": 201,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BUG_CATCHER",
+ "name": "Jack",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4283,12 +4484,13 @@
},
{
"index": 202,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BUG_CATCHER",
+ "name": "Phillip",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4309,12 +4511,13 @@
},
{
"index": 203,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BUG_CATCHER",
+ "name": "Donald",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4330,12 +4533,13 @@
},
{
"index": 204,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Briana",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4346,12 +4550,13 @@
},
{
"index": 205,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Elijah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4365,12 +4570,13 @@
},
{
"index": 206,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Lindsey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4384,12 +4590,13 @@
},
{
"index": 207,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNG_COUPLE",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -4405,12 +4612,13 @@
},
{
"index": 208,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4421,12 +4629,13 @@
},
{
"index": 209,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4437,12 +4646,13 @@
},
{
"index": 210,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4453,12 +4663,13 @@
},
{
"index": 211,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4469,12 +4680,13 @@
},
{
"index": 212,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4485,12 +4697,13 @@
},
{
"index": 213,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4501,12 +4714,13 @@
},
{
"index": 214,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4517,12 +4731,13 @@
},
{
"index": 215,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4533,12 +4748,13 @@
},
{
"index": 216,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4549,12 +4765,13 @@
},
{
"index": 217,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4565,12 +4782,13 @@
},
{
"index": 218,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4581,12 +4799,13 @@
},
{
"index": 219,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4597,12 +4816,13 @@
},
{
"index": 220,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4613,12 +4833,13 @@
},
{
"index": 221,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCHOOL_KID_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4629,12 +4850,13 @@
},
{
"index": 222,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCHOOL_KID_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4645,12 +4867,13 @@
},
{
"index": 223,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNG_COUPLE",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -4666,12 +4889,13 @@
},
{
"index": 224,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Omar",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4710,12 +4934,13 @@
},
{
"index": 225,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Henry",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4732,12 +4957,13 @@
},
{
"index": 226,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Mariah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4765,12 +4991,13 @@
},
{
"index": 227,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Sydney",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4798,12 +5025,13 @@
},
{
"index": 228,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Edgar",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -4842,12 +5070,13 @@
},
{
"index": 229,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Clayton",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -4875,12 +5104,13 @@
},
{
"index": 230,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Ondrej",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4891,12 +5121,13 @@
},
{
"index": 231,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Clinton",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4917,12 +5148,13 @@
},
{
"index": 232,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "David",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -4950,12 +5182,13 @@
},
{
"index": 233,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Hana",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4971,12 +5204,13 @@
},
{
"index": 234,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Bryce",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4997,12 +5231,13 @@
},
{
"index": 235,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Valencia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5018,12 +5253,13 @@
},
{
"index": 236,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DOUBLE_TEAM",
+ "name": "Jo & Pat",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -5039,12 +5275,13 @@
},
{
"index": 237,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DOUBLE_TEAM",
+ "name": "Al & Kay",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -5060,12 +5297,13 @@
},
{
"index": 238,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5076,12 +5314,13 @@
},
{
"index": 239,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5092,12 +5331,13 @@
},
{
"index": 240,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Grant",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -5136,12 +5376,13 @@
},
{
"index": 241,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5152,12 +5393,13 @@
},
{
"index": 242,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5168,12 +5410,13 @@
},
{
"index": 243,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5184,12 +5427,13 @@
},
{
"index": 244,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Jonathon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5204,12 +5448,13 @@
},
{
"index": 245,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Darius",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5234,15 +5479,16 @@
},
{
"index": 246,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_LEADER_ROARK",
+ "name": "Roark",
"unk2": 0,
"items": [
"ITEM_POTION",
"ITEM_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -5277,12 +5523,13 @@
},
{
"index": 247,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -5306,12 +5553,13 @@
},
{
"index": 248,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -5335,12 +5583,13 @@
},
{
"index": 249,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -5364,15 +5613,16 @@
},
{
"index": 250,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_LEADER_BYRON",
+ "name": "Byron",
"unk2": 0,
"items": [
"ITEM_HYPER_POTION",
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -5414,12 +5664,13 @@
},
{
"index": 251,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5430,12 +5681,13 @@
},
{
"index": 252,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5446,12 +5698,13 @@
},
{
"index": 253,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5462,12 +5715,13 @@
},
{
"index": 254,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5478,12 +5732,13 @@
},
{
"index": 255,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5494,12 +5749,13 @@
},
{
"index": 256,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Jackson",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5535,12 +5791,13 @@
},
{
"index": 257,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Gary",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5556,12 +5813,13 @@
},
{
"index": 258,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Philip",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -5572,12 +5830,13 @@
},
{
"index": 259,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Jenna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5613,12 +5872,13 @@
},
{
"index": 260,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Angela",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5633,15 +5893,16 @@
},
{
"index": 261,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_ELITE_FOUR_AARON",
+ "name": "Aaron",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE",
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -5707,15 +5968,16 @@
},
{
"index": 262,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_ELITE_FOUR_BERTHA",
+ "name": "Bertha",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE",
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -5781,15 +6043,16 @@
},
{
"index": 263,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_ELITE_FOUR_FLINT",
+ "name": "Flint",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE",
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -5855,15 +6118,16 @@
},
{
"index": 264,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_ELITE_FOUR_LUCIEN",
+ "name": "Lucian",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE",
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -5929,12 +6193,13 @@
},
{
"index": 265,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Curtis",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5945,12 +6210,13 @@
},
{
"index": 266,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Drew",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5986,8 +6252,9 @@
},
{
"index": 267,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_CHAMPION",
+ "name": "Cynthia",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE",
@@ -5996,7 +6263,7 @@
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -6074,12 +6341,13 @@
},
{
"index": 268,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Sergio",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6107,12 +6375,13 @@
},
{
"index": 269,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Isaiah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6129,12 +6398,13 @@
},
{
"index": 270,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Savannah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6173,12 +6443,13 @@
},
{
"index": 271,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Alicia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6205,12 +6476,13 @@
},
{
"index": 272,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Douglas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6231,12 +6503,13 @@
},
{
"index": 273,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Brady",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6257,12 +6530,13 @@
},
{
"index": 274,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Ivan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6283,12 +6557,13 @@
},
{
"index": 275,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Fernando",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6309,12 +6584,13 @@
},
{
"index": 276,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Edwin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6335,12 +6611,13 @@
},
{
"index": 277,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Hayden",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6356,12 +6633,13 @@
},
{
"index": 278,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Dennis",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6387,12 +6665,13 @@
},
{
"index": 279,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Cesar",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6420,12 +6699,13 @@
},
{
"index": 280,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Allen",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6464,12 +6744,13 @@
},
{
"index": 281,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Zachery",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6496,12 +6777,13 @@
},
{
"index": 282,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Ruben",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6528,12 +6810,13 @@
},
{
"index": 283,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Breanna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6550,12 +6833,13 @@
},
{
"index": 284,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Catherine",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6583,12 +6867,13 @@
},
{
"index": 285,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Destiny",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6616,12 +6901,13 @@
},
{
"index": 286,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Jamie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6638,12 +6924,13 @@
},
{
"index": 287,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Maya",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6670,12 +6957,13 @@
},
{
"index": 288,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Maxwell",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6691,12 +6979,13 @@
},
{
"index": 289,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Brittney",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6712,12 +7001,13 @@
},
{
"index": 290,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BELLE__PA",
+ "name": "Ava & Matt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -6733,12 +7023,13 @@
},
{
"index": 291,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RANCHER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6749,12 +7040,13 @@
},
{
"index": 292,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RANCHER",
+ "name": "Marco",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6775,12 +7067,13 @@
},
{
"index": 293,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Erick",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -6816,12 +7109,13 @@
},
{
"index": 294,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TWINS",
+ "name": "Emma & Lil",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -6837,12 +7131,13 @@
},
{
"index": 295,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_COMMANDER_MARS",
+ "name": "Mars",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -6870,12 +7165,13 @@
},
{
"index": 296,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -6899,12 +7195,13 @@
},
{
"index": 297,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -6919,12 +7216,13 @@
},
{
"index": 298,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -6940,12 +7238,13 @@
},
{
"index": 299,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -6961,12 +7260,13 @@
},
{
"index": 300,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Tony",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6977,12 +7277,13 @@
},
{
"index": 301,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Jerry",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -6998,12 +7299,13 @@
},
{
"index": 302,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Preston",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7030,12 +7332,13 @@
},
{
"index": 303,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Lonnie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7052,12 +7355,13 @@
},
{
"index": 304,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Calvin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7073,12 +7377,13 @@
},
{
"index": 305,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Larry",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7089,12 +7394,13 @@
},
{
"index": 306,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_JOGGER",
+ "name": "Wyatt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7105,12 +7411,13 @@
},
{
"index": 307,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_JOGGER",
+ "name": "Craig",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7131,12 +7438,13 @@
},
{
"index": 308,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_JOGGER",
+ "name": "Raul",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7147,12 +7455,13 @@
},
{
"index": 309,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Colby",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7185,12 +7494,13 @@
},
{
"index": 310,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Darren",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7223,12 +7533,13 @@
},
{
"index": 311,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Rafael",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7245,12 +7556,13 @@
},
{
"index": 312,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Jeffery",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7276,12 +7588,13 @@
},
{
"index": 313,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Carl",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -7297,12 +7610,13 @@
},
{
"index": 314,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Ricky",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7319,15 +7633,16 @@
},
{
"index": 315,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_LEADER_GARDENIA",
+ "name": "Gardenia",
"unk2": 0,
"items": [
"ITEM_SUPER_POTION",
"ITEM_SUPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -7369,15 +7684,16 @@
},
{
"index": 316,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_LEADER_WAKE",
+ "name": "Wake",
"unk2": 0,
"items": [
"ITEM_SUPER_POTION",
"ITEM_SUPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -7419,15 +7735,16 @@
},
{
"index": 317,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_LEADER_MAYLENE",
+ "name": "Maylene",
"unk2": 0,
"items": [
"ITEM_HYPER_POTION",
"ITEM_HYPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -7469,15 +7786,16 @@
},
{
"index": 318,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_LEADER_FANTINA",
+ "name": "Fantina",
"unk2": 0,
"items": [
"ITEM_HYPER_POTION",
"ITEM_HYPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -7519,15 +7837,16 @@
},
{
"index": 319,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_LEADER_CANDICE",
+ "name": "Candice",
"unk2": 0,
"items": [
"ITEM_HYPER_POTION",
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -7581,15 +7900,16 @@
},
{
"index": 320,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_LEADER_VOLKNER",
+ "name": "Volkner",
"unk2": 0,
"items": [
"ITEM_HYPER_POTION",
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -7643,12 +7963,13 @@
},
{
"index": 321,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7659,12 +7980,13 @@
},
{
"index": 322,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Madeline",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7680,12 +8002,13 @@
},
{
"index": 323,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Kaitlin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7706,12 +8029,13 @@
},
{
"index": 324,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_LASS",
+ "name": "Caroline",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7736,12 +8060,13 @@
},
{
"index": 325,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_LASS",
+ "name": "Molly",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7757,12 +8082,13 @@
},
{
"index": 326,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Louis",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7778,12 +8104,13 @@
},
{
"index": 327,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PARASOL_LADY",
+ "name": "Alexa",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7799,12 +8126,13 @@
},
{
"index": 328,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PARASOL_LADY",
+ "name": "Sabrina",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7815,12 +8143,13 @@
},
{
"index": 329,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Diana",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7845,12 +8174,13 @@
},
{
"index": 330,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Cheyenne",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7876,12 +8206,13 @@
},
{
"index": 331,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Meghan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7907,12 +8238,13 @@
},
{
"index": 332,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Danny",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7928,12 +8260,13 @@
},
{
"index": 333,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Thomas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7949,12 +8282,13 @@
},
{
"index": 334,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RICH_BOY",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7965,12 +8299,13 @@
},
{
"index": 335,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RICH_BOY",
+ "name": "Trey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7981,12 +8316,13 @@
},
{
"index": 336,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LADY",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7997,12 +8333,13 @@
},
{
"index": 337,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Marc",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8013,12 +8350,13 @@
},
{
"index": 338,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Skyler",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8034,12 +8372,13 @@
},
{
"index": 339,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Damian",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8065,12 +8404,13 @@
},
{
"index": 340,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCHOOL_KID_M",
+ "name": "Chance",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8087,12 +8427,13 @@
},
{
"index": 341,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCHOOL_KID_M",
+ "name": "Forrest",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8109,12 +8450,13 @@
},
{
"index": 342,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCHOOL_KID_M",
+ "name": "Harrison",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -8128,12 +8470,13 @@
},
{
"index": 343,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCHOOL_KID_F",
+ "name": "Mackenzie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8160,12 +8503,13 @@
},
{
"index": 344,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCHOOL_KID_F",
+ "name": "Tiera",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8182,12 +8526,13 @@
},
{
"index": 345,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCHOOL_KID_F",
+ "name": "Christine",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -8201,12 +8546,13 @@
},
{
"index": 346,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Cyndy",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8217,12 +8563,13 @@
},
{
"index": 347,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8233,12 +8580,13 @@
},
{
"index": 348,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Lindsay",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8254,12 +8602,13 @@
},
{
"index": 349,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8270,12 +8619,13 @@
},
{
"index": 350,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8286,12 +8636,13 @@
},
{
"index": 351,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8302,12 +8653,13 @@
},
{
"index": 352,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8318,12 +8670,13 @@
},
{
"index": 353,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8334,12 +8687,13 @@
},
{
"index": 354,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8350,12 +8704,13 @@
},
{
"index": 355,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Dallas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8366,12 +8721,13 @@
},
{
"index": 356,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Sebastian",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8386,12 +8742,13 @@
},
{
"index": 357,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Donny",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8419,12 +8776,13 @@
},
{
"index": 358,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TUBER_M",
+ "name": "Trenton",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8440,12 +8798,13 @@
},
{
"index": 359,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TUBER_M",
+ "name": "Conner",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8456,12 +8815,13 @@
},
{
"index": 360,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TUBER_F",
+ "name": "Mariel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8477,12 +8837,13 @@
},
{
"index": 361,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TUBER_F",
+ "name": "Holly",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8493,12 +8854,13 @@
},
{
"index": 362,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Armando",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -8537,12 +8899,13 @@
},
{
"index": 363,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WAITER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8553,12 +8916,13 @@
},
{
"index": 364,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WAITER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8569,12 +8933,13 @@
},
{
"index": 365,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WAITER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8585,12 +8950,13 @@
},
{
"index": 366,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WAITRESS",
+ "name": "Kati",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8601,12 +8967,13 @@
},
{
"index": 367,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Gerardo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8632,12 +8999,13 @@
},
{
"index": 368,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_INTERVIEWERS",
+ "name": "Roxy & Oli",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -8653,12 +9021,13 @@
},
{
"index": 369,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMERAMAN",
+ "name": "Tevin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8669,12 +9038,13 @@
},
{
"index": 370,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_REPORTER",
+ "name": "Kinsey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8685,12 +9055,13 @@
},
{
"index": 371,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Grace",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8706,12 +9077,13 @@
},
{
"index": 372,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BATTLE_GIRL",
+ "name": "Tyler",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -8722,12 +9094,13 @@
},
{
"index": 373,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Autumn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8743,12 +9116,13 @@
},
{
"index": 374,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8759,12 +9133,13 @@
},
{
"index": 375,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8775,12 +9150,13 @@
},
{
"index": 376,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMERAMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8791,12 +9167,13 @@
},
{
"index": 377,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Zackary",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8811,12 +9188,13 @@
},
{
"index": 378,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Lawrence",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8843,12 +9221,13 @@
},
{
"index": 379,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Diego",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8873,12 +9252,13 @@
},
{
"index": 380,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Parker",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8903,12 +9283,13 @@
},
{
"index": 381,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Dominique",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8929,12 +9310,13 @@
},
{
"index": 382,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Jamal",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8955,12 +9337,13 @@
},
{
"index": 383,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Terry",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8981,12 +9364,13 @@
},
{
"index": 384,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8997,12 +9381,13 @@
},
{
"index": 385,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9013,12 +9398,13 @@
},
{
"index": 386,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Joe",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9034,12 +9420,13 @@
},
{
"index": 387,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9050,12 +9437,13 @@
},
{
"index": 388,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Jonah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9094,12 +9482,13 @@
},
{
"index": 389,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Micah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9138,12 +9527,13 @@
},
{
"index": 390,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Arthur",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9171,12 +9561,13 @@
},
{
"index": 391,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9187,12 +9578,13 @@
},
{
"index": 392,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Brenda",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9220,12 +9612,13 @@
},
{
"index": 393,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Brandi",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9264,12 +9657,13 @@
},
{
"index": 394,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Clarice",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9308,12 +9702,13 @@
},
{
"index": 395,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Kody",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9324,12 +9719,13 @@
},
{
"index": 396,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Landon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9340,12 +9736,13 @@
},
{
"index": 397,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Deandre",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9356,12 +9753,13 @@
},
{
"index": 398,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Rachael",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9377,12 +9775,13 @@
},
{
"index": 399,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Desiree",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9398,12 +9797,13 @@
},
{
"index": 400,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Kendra",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9419,12 +9819,13 @@
},
{
"index": 401,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Walter",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -9440,12 +9841,13 @@
},
{
"index": 402,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GENTLEMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9456,15 +9858,16 @@
},
{
"index": 403,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_GALACTIC_BOSS",
+ "name": "Cyrus",
"unk2": 0,
"items": [
"ITEM_SUPER_POTION",
"ITEM_SUPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -9506,15 +9909,16 @@
},
{
"index": 404,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_GALACTIC_BOSS",
+ "name": "Cyrus",
"unk2": 0,
"items": [
"ITEM_SUPER_POTION",
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -9568,12 +9972,13 @@
},
{
"index": 405,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_COMMANDER_MARS",
+ "name": "Mars",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9615,12 +10020,13 @@
},
{
"index": 406,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_COMMANDER_JUPITER",
+ "name": "Jupiter",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9649,12 +10055,13 @@
},
{
"index": 407,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_COMMANDER_JUPITER",
+ "name": "Jupiter",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9696,12 +10103,13 @@
},
{
"index": 408,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_COMMANDER_SATURN",
+ "name": "Saturn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9743,12 +10151,13 @@
},
{
"index": 409,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_COMMANDER_SATURN",
+ "name": "Saturn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9790,12 +10199,13 @@
},
{
"index": 410,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9821,12 +10231,13 @@
},
{
"index": 411,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9837,12 +10248,13 @@
},
{
"index": 412,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9867,12 +10279,13 @@
},
{
"index": 413,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9883,12 +10296,13 @@
},
{
"index": 414,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9903,12 +10317,13 @@
},
{
"index": 415,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9919,12 +10334,13 @@
},
{
"index": 416,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9940,12 +10356,13 @@
},
{
"index": 417,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9961,12 +10378,13 @@
},
{
"index": 418,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9987,12 +10405,13 @@
},
{
"index": 419,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10003,12 +10422,13 @@
},
{
"index": 420,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10024,12 +10444,13 @@
},
{
"index": 421,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10045,12 +10466,13 @@
},
{
"index": 422,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10066,12 +10488,13 @@
},
{
"index": 423,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10106,12 +10529,13 @@
},
{
"index": 424,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10122,12 +10546,13 @@
},
{
"index": 425,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10143,12 +10568,13 @@
},
{
"index": 426,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10186,12 +10612,13 @@
},
{
"index": 427,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10207,12 +10634,13 @@
},
{
"index": 428,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10223,12 +10651,13 @@
},
{
"index": 429,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10239,12 +10668,13 @@
},
{
"index": 430,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10260,12 +10690,13 @@
},
{
"index": 431,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Arturo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10281,12 +10712,13 @@
},
{
"index": 432,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10297,12 +10729,13 @@
},
{
"index": 433,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10313,12 +10746,13 @@
},
{
"index": 434,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10329,12 +10763,13 @@
},
{
"index": 435,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10345,12 +10780,13 @@
},
{
"index": 436,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10361,12 +10797,13 @@
},
{
"index": 437,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10377,12 +10814,13 @@
},
{
"index": 438,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10393,12 +10831,13 @@
},
{
"index": 439,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10409,12 +10848,13 @@
},
{
"index": 440,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10425,12 +10865,13 @@
},
{
"index": 441,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10441,12 +10882,13 @@
},
{
"index": 442,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Harry",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10457,12 +10899,13 @@
},
{
"index": 443,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Gerald",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10478,12 +10921,13 @@
},
{
"index": 444,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Miles",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10494,12 +10938,13 @@
},
{
"index": 445,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Kendal",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10510,12 +10955,13 @@
},
{
"index": 446,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Eddie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10531,12 +10977,13 @@
},
{
"index": 447,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Willie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10552,12 +10999,13 @@
},
{
"index": 448,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SOCIALITE",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10568,12 +11016,13 @@
},
{
"index": 449,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10584,12 +11033,13 @@
},
{
"index": 450,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Cassidy",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10600,12 +11050,13 @@
},
{
"index": 451,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Theodore",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10621,12 +11072,13 @@
},
{
"index": 452,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Damon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10647,12 +11099,13 @@
},
{
"index": 453,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Maurice",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10668,12 +11121,13 @@
},
{
"index": 454,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Reginald",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10689,12 +11143,13 @@
},
{
"index": 455,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Lorenzo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10705,12 +11160,13 @@
},
{
"index": 456,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Karina",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10725,12 +11181,13 @@
},
{
"index": 457,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Summer",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10757,12 +11214,13 @@
},
{
"index": 458,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Tori",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10787,12 +11245,13 @@
},
{
"index": 459,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Ana",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10807,12 +11266,13 @@
},
{
"index": 460,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Lee",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10823,12 +11283,13 @@
},
{
"index": 461,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10839,12 +11300,13 @@
},
{
"index": 462,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10855,12 +11317,13 @@
},
{
"index": 463,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10871,12 +11334,13 @@
},
{
"index": 464,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10887,12 +11351,13 @@
},
{
"index": 465,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Ariel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10908,12 +11373,13 @@
},
{
"index": 466,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10924,12 +11390,13 @@
},
{
"index": 467,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RICH_BOY",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10940,12 +11407,13 @@
},
{
"index": 468,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RICH_BOY",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10956,12 +11424,13 @@
},
{
"index": 469,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LADY",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10972,12 +11441,13 @@
},
{
"index": 470,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -11027,12 +11497,13 @@
},
{
"index": 471,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -11082,12 +11553,13 @@
},
{
"index": 472,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -11137,12 +11609,13 @@
},
{
"index": 473,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 80,
@@ -11192,12 +11665,13 @@
},
{
"index": 474,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 80,
@@ -11247,12 +11721,13 @@
},
{
"index": 475,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 80,
@@ -11302,12 +11777,13 @@
},
{
"index": 476,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -11368,12 +11844,13 @@
},
{
"index": 477,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -11434,12 +11911,13 @@
},
{
"index": 478,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -11500,12 +11978,13 @@
},
{
"index": 479,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -11577,12 +12056,13 @@
},
{
"index": 480,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -11654,12 +12134,13 @@
},
{
"index": 481,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -11731,12 +12212,13 @@
},
{
"index": 482,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Zachariah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11757,12 +12239,13 @@
},
{
"index": 483,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Samson",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -11798,12 +12281,13 @@
},
{
"index": 484,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCHOOL_KID_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11814,12 +12298,13 @@
},
{
"index": 485,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCHOOL_KID_F",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11830,12 +12315,13 @@
},
{
"index": 486,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Shaun",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11860,12 +12346,13 @@
},
{
"index": 487,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11876,12 +12363,13 @@
},
{
"index": 488,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Fabian",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11902,12 +12390,13 @@
},
{
"index": 489,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Brennan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11923,12 +12412,13 @@
},
{
"index": 490,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Bruce",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11939,12 +12429,13 @@
},
{
"index": 491,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Devon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11955,12 +12446,13 @@
},
{
"index": 492,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Nicola",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11971,12 +12463,13 @@
},
{
"index": 493,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11987,12 +12480,13 @@
},
{
"index": 494,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Claire",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12003,12 +12497,13 @@
},
{
"index": 495,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12019,12 +12514,13 @@
},
{
"index": 496,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Wayne",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12045,12 +12541,13 @@
},
{
"index": 497,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_TUBER_M",
+ "name": "Jacky",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -12067,12 +12564,13 @@
},
{
"index": 498,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_TUBER_F",
+ "name": "Caitlyn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -12099,12 +12597,13 @@
},
{
"index": 499,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Terrell",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -12143,12 +12642,13 @@
},
{
"index": 500,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Brenden",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -12187,12 +12687,13 @@
},
{
"index": 501,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WAITER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12203,12 +12704,13 @@
},
{
"index": 502,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12219,12 +12721,13 @@
},
{
"index": 503,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Willy",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12240,12 +12743,13 @@
},
{
"index": 504,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Braden",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12256,12 +12760,13 @@
},
{
"index": 505,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Brendon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12277,12 +12782,13 @@
},
{
"index": 506,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Quentin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12303,12 +12809,13 @@
},
{
"index": 507,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12319,12 +12826,13 @@
},
{
"index": 508,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12340,12 +12848,13 @@
},
{
"index": 509,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12356,12 +12865,13 @@
},
{
"index": 510,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12382,12 +12892,13 @@
},
{
"index": 511,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12398,12 +12909,13 @@
},
{
"index": 512,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12419,12 +12931,13 @@
},
{
"index": 513,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12440,12 +12953,13 @@
},
{
"index": 514,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12461,12 +12975,13 @@
},
{
"index": 515,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12477,12 +12992,13 @@
},
{
"index": 516,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12503,12 +13019,13 @@
},
{
"index": 517,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12524,12 +13041,13 @@
},
{
"index": 518,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12550,12 +13068,13 @@
},
{
"index": 519,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12566,12 +13085,13 @@
},
{
"index": 520,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12587,12 +13107,13 @@
},
{
"index": 521,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12608,12 +13129,13 @@
},
{
"index": 522,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12634,12 +13156,13 @@
},
{
"index": 523,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12650,12 +13173,13 @@
},
{
"index": 524,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12676,12 +13200,13 @@
},
{
"index": 525,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12697,12 +13222,13 @@
},
{
"index": 526,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12723,12 +13249,13 @@
},
{
"index": 527,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC_F",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12744,12 +13271,13 @@
},
{
"index": 528,
- "type": 3,
+ "type": "TRTYPE_MON_ITEM_MOVES",
"class": "TRAINER_CLASS_COMMANDER_MARS",
+ "name": "Mars",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -12791,12 +13319,13 @@
},
{
"index": 529,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ROUGHNECK",
+ "name": "Kirby",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12807,12 +13336,13 @@
},
{
"index": 530,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_M",
+ "name": "Leonard",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12833,12 +13363,13 @@
},
{
"index": 531,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_F",
+ "name": "Rebekah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12849,12 +13380,13 @@
},
{
"index": 532,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Oliver",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12875,12 +13407,13 @@
},
{
"index": 533,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BELLE__PA",
+ "name": "Beth & Bob",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -12896,12 +13429,13 @@
},
{
"index": 534,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNG_COUPLE",
+ "name": "Mike & Nat",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -12917,12 +13451,13 @@
},
{
"index": 535,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Alison",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12933,12 +13468,13 @@
},
{
"index": 536,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ARTIST",
+ "name": "Ismael",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12949,12 +13485,13 @@
},
{
"index": 537,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_F",
+ "name": "Kaylee",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12970,12 +13507,13 @@
},
{
"index": 538,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMERAMAN",
+ "name": "Darryl",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12991,12 +13529,13 @@
},
{
"index": 539,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Eugene",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13017,12 +13556,13 @@
},
{
"index": 540,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKEFAN_F",
+ "name": "Meredith",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13038,12 +13578,13 @@
},
{
"index": 541,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PI",
+ "name": "Kendrick",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -13067,12 +13608,13 @@
},
{
"index": 542,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GENTLEMAN",
+ "name": "Leonardo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13088,14 +13630,15 @@
},
{
"index": 543,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SOCIALITE",
+ "name": "Rebecca",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13111,12 +13654,13 @@
},
{
"index": 544,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Blythe",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13132,12 +13676,13 @@
},
{
"index": 545,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RICH_BOY",
+ "name": "Roman",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13148,12 +13693,13 @@
},
{
"index": 546,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LADY",
+ "name": "Kylie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13169,12 +13715,13 @@
},
{
"index": 547,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_REPORTER",
+ "name": "Valerie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13185,12 +13732,13 @@
},
{
"index": 548,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCHOOL_KID_M",
+ "name": "Esteban",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13207,12 +13755,13 @@
},
{
"index": 549,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Emilio",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13223,12 +13772,13 @@
},
{
"index": 550,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Gabriella",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13239,12 +13789,13 @@
},
{
"index": 551,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Harley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13255,12 +13806,13 @@
},
{
"index": 552,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Emanuel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -13286,12 +13838,13 @@
},
{
"index": 553,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Karl",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13312,12 +13865,13 @@
},
{
"index": 554,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Audrey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13333,12 +13887,13 @@
},
{
"index": 555,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Geneva",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13354,12 +13909,13 @@
},
{
"index": 556,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Krystal",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13380,12 +13936,13 @@
},
{
"index": 557,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Geoffrey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13401,12 +13958,13 @@
},
{
"index": 558,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Darien",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13417,12 +13975,13 @@
},
{
"index": 559,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Keegan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13433,12 +13992,13 @@
},
{
"index": 560,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Stanley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13454,12 +14014,13 @@
},
{
"index": 561,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Drake",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13480,12 +14041,13 @@
},
{
"index": 562,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Kenny",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13501,12 +14063,13 @@
},
{
"index": 563,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Rodolfo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13534,12 +14097,13 @@
},
{
"index": 564,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Saul",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13556,12 +14120,13 @@
},
{
"index": 565,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Jose",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13589,12 +14154,13 @@
},
{
"index": 566,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Felix",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13622,12 +14188,13 @@
},
{
"index": 567,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Quinn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13655,12 +14222,13 @@
},
{
"index": 568,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Graham",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13677,12 +14245,13 @@
},
{
"index": 569,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Keenan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13710,12 +14279,13 @@
},
{
"index": 570,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Stefan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13743,12 +14313,13 @@
},
{
"index": 571,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Skylar",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13776,12 +14347,13 @@
},
{
"index": 572,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Abel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13798,12 +14370,13 @@
},
{
"index": 573,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Deanna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13831,12 +14404,13 @@
},
{
"index": 574,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Ariana",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13875,12 +14449,13 @@
},
{
"index": 575,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Dana",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13908,12 +14483,13 @@
},
{
"index": 576,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Mikayla",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13952,12 +14528,13 @@
},
{
"index": 577,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Meagan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13985,12 +14562,13 @@
},
{
"index": 578,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Sandra",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14007,12 +14585,13 @@
},
{
"index": 579,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Kassandra",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14040,12 +14619,13 @@
},
{
"index": 580,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Jasmin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14062,12 +14642,13 @@
},
{
"index": 581,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Natasha",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14106,12 +14687,13 @@
},
{
"index": 582,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Monique",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14139,12 +14721,13 @@
},
{
"index": 583,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Corbin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14160,12 +14743,13 @@
},
{
"index": 584,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Sterling",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14181,12 +14765,13 @@
},
{
"index": 585,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Daisy",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14202,12 +14787,13 @@
},
{
"index": 586,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Chelsey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14223,12 +14809,13 @@
},
{
"index": 587,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Davon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14249,12 +14836,13 @@
},
{
"index": 588,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Griffin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14270,12 +14858,13 @@
},
{
"index": 589,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Ray",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14296,12 +14885,13 @@
},
{
"index": 590,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Jarrett",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14312,12 +14902,13 @@
},
{
"index": 591,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Kyler",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14333,12 +14924,13 @@
},
{
"index": 592,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Deshawn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14354,12 +14946,13 @@
},
{
"index": 593,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Dwayne",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14370,12 +14963,13 @@
},
{
"index": 594,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Ashlee",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14391,12 +14985,13 @@
},
{
"index": 595,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Felicia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14412,12 +15007,13 @@
},
{
"index": 596,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Krista",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14433,12 +15029,13 @@
},
{
"index": 597,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Glenn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14454,12 +15051,13 @@
},
{
"index": 598,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Kurt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14470,12 +15068,13 @@
},
{
"index": 599,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Sam",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14491,12 +15090,13 @@
},
{
"index": 600,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Wade",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14517,12 +15117,13 @@
},
{
"index": 601,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Joanna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14538,12 +15139,13 @@
},
{
"index": 602,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Sophia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14559,12 +15161,13 @@
},
{
"index": 603,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Mallory",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14580,12 +15183,13 @@
},
{
"index": 604,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Lydia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14606,12 +15210,13 @@
},
{
"index": 605,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14622,12 +15227,13 @@
},
{
"index": 606,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Harlan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -14666,12 +15272,13 @@
},
{
"index": 607,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -14743,12 +15350,13 @@
},
{
"index": 608,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_AROMA_LADY",
+ "name": "Cheryl",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14764,12 +15372,13 @@
},
{
"index": 609,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_RICH_BOY",
+ "name": "Riley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14786,12 +15395,13 @@
},
{
"index": 610,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_PICNICKER",
+ "name": "Marley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14808,12 +15418,13 @@
},
{
"index": 611,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_CAMPER",
+ "name": "Buck",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14830,12 +15441,13 @@
},
{
"index": 612,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_POKEKID",
+ "name": "Mira",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14852,12 +15464,13 @@
},
{
"index": 613,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS",
+ "name": "Lucas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14872,12 +15485,13 @@
},
{
"index": 614,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS",
+ "name": "Lucas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14892,12 +15506,13 @@
},
{
"index": 615,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS",
+ "name": "Lucas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14912,12 +15527,13 @@
},
{
"index": 616,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_DAWN",
+ "name": "Dawn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14932,12 +15548,13 @@
},
{
"index": 617,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_DAWN",
+ "name": "Dawn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14952,12 +15569,13 @@
},
{
"index": 618,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_DAWN",
+ "name": "Dawn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14972,12 +15590,13 @@
},
{
"index": 619,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -15049,12 +15668,13 @@
},
{
"index": 620,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -15126,12 +15746,13 @@
},
{
"index": 621,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS",
+ "name": "Lucas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15170,12 +15791,13 @@
},
{
"index": 622,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS",
+ "name": "Lucas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15214,12 +15836,13 @@
},
{
"index": 623,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_LUCAS",
+ "name": "Lucas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15258,12 +15881,13 @@
},
{
"index": 624,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_DAWN",
+ "name": "Dawn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15302,12 +15926,13 @@
},
{
"index": 625,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_DAWN",
+ "name": "Dawn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15346,12 +15971,13 @@
},
{
"index": 626,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_DAWN",
+ "name": "Dawn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15390,12 +16016,13 @@
},
{
"index": 627,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Elizabeth",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15406,12 +16033,13 @@
},
{
"index": 628,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Elizabeth",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15422,12 +16050,13 @@
},
{
"index": 629,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_AROMA_LADY",
+ "name": "Elizabeth",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15438,12 +16067,13 @@
},
{
"index": 630,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ARTIST",
+ "name": "Kevin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15459,12 +16089,13 @@
},
{
"index": 631,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ARTIST",
+ "name": "Kevin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15480,12 +16111,13 @@
},
{
"index": 632,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_ARTIST",
+ "name": "Kevin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15501,12 +16133,13 @@
},
{
"index": 633,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BATTLE_GIRL",
+ "name": "Helen",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -15522,12 +16155,13 @@
},
{
"index": 634,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BATTLE_GIRL",
+ "name": "Helen",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -15543,12 +16177,13 @@
},
{
"index": 635,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BATTLE_GIRL",
+ "name": "Helen",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -15564,12 +16199,13 @@
},
{
"index": 636,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Brianna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -15585,12 +16221,13 @@
},
{
"index": 637,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Brianna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -15606,12 +16243,13 @@
},
{
"index": 638,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BIRD_KEEPER",
+ "name": "Audrey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15627,12 +16265,13 @@
},
{
"index": 639,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_M",
+ "name": "Albert",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15653,12 +16292,13 @@
},
{
"index": 640,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_M",
+ "name": "Albert",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15679,12 +16319,13 @@
},
{
"index": 641,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_M",
+ "name": "Albert",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15705,12 +16346,13 @@
},
{
"index": 642,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_F",
+ "name": "Jennifer",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15731,12 +16373,13 @@
},
{
"index": 643,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_F",
+ "name": "Jennifer",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15757,12 +16400,13 @@
},
{
"index": 644,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_BREEDER_F",
+ "name": "Jennifer",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15783,12 +16427,13 @@
},
{
"index": 645,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Zackary",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15805,12 +16450,13 @@
},
{
"index": 646,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Zackary",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15827,12 +16473,13 @@
},
{
"index": 647,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_CAMPER",
+ "name": "Zackary",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15849,12 +16496,13 @@
},
{
"index": 648,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Dalton",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -15893,12 +16541,13 @@
},
{
"index": 649,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Olivia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -15926,12 +16575,13 @@
},
{
"index": 650,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COLLECTOR",
+ "name": "Ivan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15952,12 +16602,13 @@
},
{
"index": 651,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COWGIRL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15968,12 +16619,13 @@
},
{
"index": 652,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_COWGIRL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15984,12 +16636,13 @@
},
{
"index": 653,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_M",
+ "name": "John",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16005,12 +16658,13 @@
},
{
"index": 654,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_M",
+ "name": "John",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16026,12 +16680,13 @@
},
{
"index": 655,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_M",
+ "name": "John",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16047,12 +16702,13 @@
},
{
"index": 656,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_F",
+ "name": "Kayla",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16063,12 +16719,13 @@
},
{
"index": 657,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_F",
+ "name": "Kayla",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16079,12 +16736,13 @@
},
{
"index": 658,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CYCLIST_F",
+ "name": "Kayla",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16095,12 +16753,13 @@
},
{
"index": 659,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Patrick",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16111,12 +16770,13 @@
},
{
"index": 660,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Patrick",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16127,12 +16787,13 @@
},
{
"index": 661,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Hayden",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16148,12 +16809,13 @@
},
{
"index": 662,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_DRAGON_TAMER",
+ "name": "Geoffrey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16169,12 +16831,13 @@
},
{
"index": 663,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Jake",
"unk2": 0,
"items": [],
"unkC": 0,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16202,12 +16865,13 @@
},
{
"index": 664,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Dennis",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16246,12 +16910,13 @@
},
{
"index": 665,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Dennis",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16290,12 +16955,13 @@
},
{
"index": 666,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Rodolfo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16323,12 +16989,13 @@
},
{
"index": 667,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_M",
+ "name": "Saul",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16345,12 +17012,13 @@
},
{
"index": 668,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Shannon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16389,12 +17057,13 @@
},
{
"index": 669,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Maya",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16422,12 +17091,13 @@
},
{
"index": 670,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Maya",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16455,12 +17125,13 @@
},
{
"index": 671,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Deanna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16488,12 +17159,13 @@
},
{
"index": 672,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_F",
+ "name": "Ariana",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16532,12 +17204,13 @@
},
{
"index": 673,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Mitchell",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16553,12 +17226,13 @@
},
{
"index": 674,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Mitchell",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16574,12 +17248,13 @@
},
{
"index": 675,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Maxwell",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16595,12 +17270,13 @@
},
{
"index": 676,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_M",
+ "name": "Corbin",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16616,12 +17292,13 @@
},
{
"index": 677,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Abigail",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16642,12 +17319,13 @@
},
{
"index": 678,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Abigail",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16668,12 +17346,13 @@
},
{
"index": 679,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Brittney",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16689,12 +17368,13 @@
},
{
"index": 680,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PSYCHIC_F",
+ "name": "Daisy",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16710,12 +17390,13 @@
},
{
"index": 681,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RANCHER",
+ "name": "Marco",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16736,12 +17417,13 @@
},
{
"index": 682,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RANCHER",
+ "name": "Marco",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16762,12 +17444,13 @@
},
{
"index": 683,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Joseph",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16778,12 +17461,13 @@
},
{
"index": 684,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Joseph",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16794,12 +17478,13 @@
},
{
"index": 685,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Miguel",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16815,12 +17500,13 @@
},
{
"index": 686,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_FISHERMAN",
+ "name": "Alec",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16836,12 +17522,13 @@
},
{
"index": 687,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TWINS",
+ "name": "Teri & Tia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -16857,12 +17544,13 @@
},
{
"index": 688,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TWINS",
+ "name": "Teri & Tia",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -16878,12 +17566,13 @@
},
{
"index": 689,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PI",
+ "name": "Carlos",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -16916,12 +17605,13 @@
},
{
"index": 690,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PI",
+ "name": "Carlos",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -16954,14 +17644,15 @@
},
{
"index": 691,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GENTLEMAN",
+ "name": "Jeremy",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16972,14 +17663,15 @@
},
{
"index": 692,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GENTLEMAN",
+ "name": "Jeremy",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16990,14 +17682,15 @@
},
{
"index": 693,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GENTLEMAN",
+ "name": "Jeremy",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17008,12 +17701,13 @@
},
{
"index": 694,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Tony",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17024,12 +17718,13 @@
},
{
"index": 695,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Harry",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17040,12 +17735,13 @@
},
{
"index": 696,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RUIN_MANIAC",
+ "name": "Harry",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17056,12 +17752,13 @@
},
{
"index": 697,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_JOGGER",
+ "name": "Craig",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17082,12 +17779,13 @@
},
{
"index": 698,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_JOGGER",
+ "name": "Craig",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17108,12 +17806,13 @@
},
{
"index": 699,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Philip",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -17124,12 +17823,13 @@
},
{
"index": 700,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BLACK_BELT",
+ "name": "Davon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -17150,14 +17850,15 @@
},
{
"index": 701,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SOCIALITE",
+ "name": "Reina",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17168,14 +17869,15 @@
},
{
"index": 702,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SOCIALITE",
+ "name": "Reina",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17186,12 +17888,13 @@
},
{
"index": 703,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Samantha",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17202,12 +17905,13 @@
},
{
"index": 704,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Samantha",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17218,12 +17922,13 @@
},
{
"index": 705,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Samantha",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17234,12 +17939,13 @@
},
{
"index": 706,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Madeline",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17255,12 +17961,13 @@
},
{
"index": 707,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Madeline",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17276,12 +17983,13 @@
},
{
"index": 708,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Madeline",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17297,12 +18005,13 @@
},
{
"index": 709,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Theodore",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17318,12 +18027,13 @@
},
{
"index": 710,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Theodore",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17339,12 +18049,13 @@
},
{
"index": 711,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_HIKER",
+ "name": "Theodore",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17360,12 +18071,13 @@
},
{
"index": 712,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BUG_CATCHER",
+ "name": "Brandon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17381,12 +18093,13 @@
},
{
"index": 713,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BUG_CATCHER",
+ "name": "Brandon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17402,12 +18115,13 @@
},
{
"index": 714,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BUG_CATCHER",
+ "name": "Brandon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17423,12 +18137,13 @@
},
{
"index": 715,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PARASOL_LADY",
+ "name": "Alexa",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17444,12 +18159,13 @@
},
{
"index": 716,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PARASOL_LADY",
+ "name": "Alexa",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17465,12 +18181,13 @@
},
{
"index": 717,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PARASOL_LADY",
+ "name": "Alexa",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17486,12 +18203,13 @@
},
{
"index": 718,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Karina",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17508,12 +18226,13 @@
},
{
"index": 719,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Karina",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17530,12 +18249,13 @@
},
{
"index": 720,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PICNICKER",
+ "name": "Karina",
"unk2": 0,
"items": [],
"unkC": 0,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17552,12 +18272,13 @@
},
{
"index": 721,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Danielle",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17568,12 +18289,13 @@
},
{
"index": 722,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Danielle",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17584,12 +18306,13 @@
},
{
"index": 723,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Danielle",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17600,12 +18323,13 @@
},
{
"index": 724,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Danny",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17621,12 +18345,13 @@
},
{
"index": 725,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Danny",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17642,12 +18367,13 @@
},
{
"index": 726,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Danny",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17663,12 +18389,13 @@
},
{
"index": 727,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RICH_BOY",
+ "name": "Trey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17679,12 +18406,13 @@
},
{
"index": 728,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_RICH_BOY",
+ "name": "Trey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17695,14 +18423,15 @@
},
{
"index": 729,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LADY",
+ "name": "Melissa",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17713,14 +18442,15 @@
},
{
"index": 730,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LADY",
+ "name": "Melissa",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17731,14 +18461,15 @@
},
{
"index": 731,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LADY",
+ "name": "Melissa",
"unk2": 0,
"items": [
"ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17749,12 +18480,13 @@
},
{
"index": 732,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Taylor",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17770,12 +18502,13 @@
},
{
"index": 733,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Taylor",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17791,12 +18524,13 @@
},
{
"index": 734,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Taylor",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17812,12 +18546,13 @@
},
{
"index": 735,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_M",
+ "name": "Kyler",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17833,12 +18568,13 @@
},
{
"index": 736,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Allison",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17854,12 +18590,13 @@
},
{
"index": 737,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Allison",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17875,12 +18612,13 @@
},
{
"index": 738,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Allison",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17896,12 +18634,13 @@
},
{
"index": 739,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_PKMN_RANGER_F",
+ "name": "Ashlee",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17917,12 +18656,13 @@
},
{
"index": 740,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Marc",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17938,12 +18678,13 @@
},
{
"index": 741,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Marc",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17959,12 +18700,13 @@
},
{
"index": 742,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SAILOR",
+ "name": "Zachariah",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17985,12 +18727,13 @@
},
{
"index": 743,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Shaun",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18006,12 +18749,13 @@
},
{
"index": 744,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Shaun",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18027,12 +18771,13 @@
},
{
"index": 745,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Shaun",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18048,12 +18793,13 @@
},
{
"index": 746,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Zach",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18074,12 +18820,13 @@
},
{
"index": 747,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Zach",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18100,12 +18847,13 @@
},
{
"index": 748,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_NINJA_BOY",
+ "name": "Zach",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18126,12 +18874,13 @@
},
{
"index": 749,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Cyndy",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18142,12 +18891,13 @@
},
{
"index": 750,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_BEAUTY",
+ "name": "Cyndy",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18158,12 +18908,13 @@
},
{
"index": 751,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Edward",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18174,12 +18925,13 @@
},
{
"index": 752,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Edward",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18190,12 +18942,13 @@
},
{
"index": 753,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Bjorn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18211,12 +18964,13 @@
},
{
"index": 754,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_M",
+ "name": "Bjorn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18232,12 +18986,13 @@
},
{
"index": 755,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Andrea",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18248,12 +19003,13 @@
},
{
"index": 756,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Andrea",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18264,12 +19020,13 @@
},
{
"index": 757,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Madison",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18280,12 +19037,13 @@
},
{
"index": 758,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SKIER_F",
+ "name": "Madison",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18296,12 +19054,13 @@
},
{
"index": 759,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Wesley",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18317,12 +19076,13 @@
},
{
"index": 760,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Francisco",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18338,12 +19098,13 @@
},
{
"index": 761,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Glenn",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18359,12 +19120,13 @@
},
{
"index": 762,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Miranda",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18375,12 +19137,13 @@
},
{
"index": 763,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Crystal",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18396,12 +19159,13 @@
},
{
"index": 764,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_F",
+ "name": "Joanna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18417,12 +19181,13 @@
},
{
"index": 765,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Tristan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18433,12 +19198,13 @@
},
{
"index": 766,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Tristan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18449,12 +19215,13 @@
},
{
"index": 767,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Tristan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18465,12 +19232,13 @@
},
{
"index": 768,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Dallas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18481,12 +19249,13 @@
},
{
"index": 769,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Dallas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18497,12 +19266,13 @@
},
{
"index": 770,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Dallas",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18513,12 +19283,13 @@
},
{
"index": 771,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TUBER_M",
+ "name": "Jared",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18539,12 +19310,13 @@
},
{
"index": 772,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TUBER_M",
+ "name": "Jared",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18565,12 +19337,13 @@
},
{
"index": 773,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_TUBER_F",
+ "name": "Chelsea",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18587,12 +19360,13 @@
},
{
"index": 774,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Brian",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -18631,12 +19405,13 @@
},
{
"index": 775,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_TUBER_F",
+ "name": "Chelsea",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18653,12 +19428,13 @@
},
{
"index": 776,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Brian",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -18697,12 +19473,13 @@
},
{
"index": 777,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Armando",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -18741,12 +19518,13 @@
},
{
"index": 778,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_VETERAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18757,12 +19535,13 @@
},
{
"index": 779,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMERAMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18773,12 +19552,13 @@
},
{
"index": 780,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMERAMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18789,12 +19569,13 @@
},
{
"index": 781,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMERAMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18805,12 +19586,13 @@
},
{
"index": 782,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMERAMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18821,12 +19603,13 @@
},
{
"index": 783,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CAMERAMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18837,12 +19620,13 @@
},
{
"index": 784,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18853,12 +19637,13 @@
},
{
"index": 785,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Arturo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18869,12 +19654,13 @@
},
{
"index": 786,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Arturo",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18885,12 +19671,13 @@
},
{
"index": 787,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18901,12 +19688,13 @@
},
{
"index": 788,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18917,12 +19705,13 @@
},
{
"index": 789,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GUITARIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18933,12 +19722,13 @@
},
{
"index": 790,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18949,12 +19739,13 @@
},
{
"index": 791,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18965,12 +19756,13 @@
},
{
"index": 792,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18981,12 +19773,13 @@
},
{
"index": 793,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18997,12 +19790,13 @@
},
{
"index": 794,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_IDOL",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19013,12 +19807,13 @@
},
{
"index": 795,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_INTERVIEWERS",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -19034,12 +19829,13 @@
},
{
"index": 796,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_INTERVIEWERS",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -19055,12 +19851,13 @@
},
{
"index": 797,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_INTERVIEWERS",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -19076,12 +19873,13 @@
},
{
"index": 798,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_INTERVIEWERS",
+ "name": "Tara & Tim",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -19097,12 +19895,13 @@
},
{
"index": 799,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19113,12 +19912,13 @@
},
{
"index": 800,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19129,12 +19929,13 @@
},
{
"index": 801,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19145,12 +19946,13 @@
},
{
"index": 802,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19161,12 +19963,13 @@
},
{
"index": 803,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_CLOWN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19177,12 +19980,13 @@
},
{
"index": 804,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19193,12 +19997,13 @@
},
{
"index": 805,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19209,12 +20014,13 @@
},
{
"index": 806,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19225,12 +20031,13 @@
},
{
"index": 807,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19241,12 +20048,13 @@
},
{
"index": 808,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POLICEMAN",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19257,12 +20065,13 @@
},
{
"index": 809,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_REPORTER",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19273,12 +20082,13 @@
},
{
"index": 810,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_REPORTER",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19289,12 +20099,13 @@
},
{
"index": 811,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_REPORTER",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19305,12 +20116,13 @@
},
{
"index": 812,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_REPORTER",
+ "name": "Angelica",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19321,12 +20133,13 @@
},
{
"index": 813,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19337,12 +20150,13 @@
},
{
"index": 814,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_SWIMMER_M",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19353,12 +20167,13 @@
},
{
"index": 815,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WAITER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19369,12 +20184,13 @@
},
{
"index": 816,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Mickey",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19385,12 +20201,13 @@
},
{
"index": 817,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Roland",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19406,12 +20223,13 @@
},
{
"index": 818,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_LASS",
+ "name": "Carrie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19436,12 +20254,13 @@
},
{
"index": 819,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Norman",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19457,12 +20276,13 @@
},
{
"index": 820,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Roland",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19478,12 +20298,13 @@
},
{
"index": 821,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_LASS",
+ "name": "Carrie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19511,12 +20332,13 @@
},
{
"index": 822,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Norman",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19532,12 +20354,13 @@
},
{
"index": 823,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Roland",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19553,12 +20376,13 @@
},
{
"index": 824,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_LASS",
+ "name": "Carrie",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19574,12 +20398,13 @@
},
{
"index": 825,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_YOUNGSTER",
+ "name": "Norman",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19607,12 +20432,13 @@
},
{
"index": 826,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_TOWER_TYCOON",
+ "name": "Palmer",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19623,12 +20449,13 @@
},
{
"index": 827,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_M",
+ "name": "Anton",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -19644,12 +20471,13 @@
},
{
"index": 828,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_ACE_TRAINER_SNOW_F",
+ "name": "Brenna",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -19665,12 +20493,13 @@
},
{
"index": 829,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Darrius",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19686,12 +20515,13 @@
},
{
"index": 830,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Fredrick",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19719,12 +20549,13 @@
},
{
"index": 831,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_SCIENTIST",
+ "name": "Travon",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19739,12 +20570,13 @@
},
{
"index": 832,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_POKE_KID",
+ "name": "Janet",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19760,12 +20592,13 @@
},
{
"index": 833,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -19803,12 +20636,13 @@
},
{
"index": 834,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -19829,12 +20663,13 @@
},
{
"index": 835,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -19855,12 +20690,13 @@
},
{
"index": 836,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -19881,12 +20717,13 @@
},
{
"index": 837,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -19958,12 +20795,13 @@
},
{
"index": 838,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20035,12 +20873,13 @@
},
{
"index": 839,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20112,12 +20951,13 @@
},
{
"index": 840,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20189,12 +21029,13 @@
},
{
"index": 841,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20266,12 +21107,13 @@
},
{
"index": 842,
- "type": 1,
+ "type": "TRTYPE_MON_MOVES",
"class": "TRAINER_CLASS_PKMN_TRAINER_BARRY",
+ "name": "Cedric",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20343,12 +21185,13 @@
},
{
"index": 843,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -20359,12 +21202,13 @@
},
{
"index": 844,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Dillan",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -20380,12 +21224,13 @@
},
{
"index": 845,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Holden",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -20396,12 +21241,13 @@
},
{
"index": 846,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_WORKER",
+ "name": "Conrad",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -20412,12 +21258,13 @@
},
{
"index": 847,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -20428,12 +21275,13 @@
},
{
"index": 848,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -20449,12 +21297,13 @@
},
{
"index": 849,
- "type": 0,
+ "type": "TRTYPE_MON",
"class": "TRAINER_CLASS_GALACTIC",
+ "name": "Grunt",
"unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
diff --git a/files/poketool/trainer/trdata.json.txt b/files/poketool/trainer/trdata.json.txt
index c85e80e4..1c1c0bf8 100644
--- a/files/poketool/trainer/trdata.json.txt
+++ b/files/poketool/trainer/trdata.json.txt
@@ -11,13 +11,14 @@ const struct TrainerData __data[] = {
{},
## for trainer in trdata
{
+ // Trainer #{{trainer.index}}, {{ trainer.class }} {{ trainer.name }}
{{ trainer.type }},
{{ trainer.class }},
{{ trainer.unk2 }},
{{ length(trainer.party) }},
{ {% for item in trainer.items %}{{ item }},{% endfor %} },
{{ trainer.unkC }},
- {{ trainer.unk10 }}
+ {{ trainer.doubleBattle }}
},
## endfor
};
diff --git a/files/poketool/trainer/trpoke.json.txt b/files/poketool/trainer/trpoke.json.txt
index 09fa70b3..b4e5c1cf 100644
--- a/files/poketool/trainer/trpoke.json.txt
+++ b/files/poketool/trainer/trpoke.json.txt
@@ -10,20 +10,20 @@
u32 __size[] = { 8,
## for trainer in trdata
- (max({{ length(trainer.party) }} * {% if trainer.type == 0 %}6{% else if trainer.type == 1 %}14{% else if trainer.type == 2 %}8{% else %}16{% endif %}, 8) + 3) & ~3,
+ (max({{ length(trainer.party) }} * {% if trainer.type == "TRTYPE_MON" %}6{% else if trainer.type == "TRTYPE_MON_MOVES" %}14{% else if trainer.type == "TRTYPE_MONE_ITEM" %}8{% else %}16{% endif %}, 8) + 3) & ~3,
## endfor
};
const u16 __data[] = { 0, 0, 0, 0,
## for trainer in trdata
- // Trainer #{{ trainer.index }}
-## if trainer.type == 0
+ // Trainer #{{ trainer.index }}, {{ trainer.class }} {{ trainer.name }}
+## if trainer.type == "TRTYPE_MON"
## set mon_length = 3
-## else if trainer.type == 1
+## else if trainer.type == "TRTYPE_MON_MOVES"
## set mon_length = 7
-## else if trainer.type == 2
+## else if trainer.type == "TRTYPE_MON_ITEM"
## set mon_length = 4
-## else if trainer.type == 3
+## else if trainer.type == "TRTYPE_MON_ITEM_MOVES"
## set mon_length = 8
## endif
## set total_length = mon_length * length(trainer.party)
@@ -31,10 +31,10 @@ const u16 __data[] = { 0, 0, 0, 0,
{{ mon.difficulty }}, // Difficulty 0-255
{{ mon.level }}, // Level
{{ mon.species }}, // Species
-## if trainer.type == 2 or trainer.type == 3
+## if trainer.type == "TRTYPE_MON_ITEM" or trainer.type == "TRTYPE_MON_ITEM_MOVES"
{{ mon.item }}, // Held item
## endif
-## if trainer.type == 1 or trainer.type == 3
+## if trainer.type == "TRTYPE_MON_MOVES" or trainer.type == "TRTYPE_MON_ITEM_MOVES"
// Moveset
## for i in range(4)
## if i < length(mon.moves)
diff --git a/filesystem.mk b/filesystem.mk
index 96eafc4b..ec0c9c10 100644
--- a/filesystem.mk
+++ b/filesystem.mk
@@ -3171,6 +3171,10 @@ files/msgdata/msg.narc: \
files/msgdata/msg/narc_0622.bin \
files/msgdata/msg/narc_0623.bin
+## Trainer names
+files/msgdata/msg/narc_0559.txt: files/poketool/trainer/trdata.json
+ (echo " -"; $(GREP) -w '"name":' $< | cut -d'"' -f4) | $(SED) 's/^(.+)$$/{TRNAME}\1\r/g' > $@
+
CHARMAP = charmap.txt
files/msgdata/msg/%.bin: files/msgdata/msg/%.txt files/msgdata/msg/%.key $(CHARMAP)
diff --git a/include/constants/seal_constants.h b/include/constants/seal_constants.h
new file mode 100644
index 00000000..c246195b
--- /dev/null
+++ b/include/constants/seal_constants.h
@@ -0,0 +1,87 @@
+#ifndef POKEDIAMOND_CONSTANTS_SEAL_CONSTANTS_H
+#define POKEDIAMOND_CONSTANTS_SEAL_CONSTANTS_H
+
+// The different kinds of seals you can have
+#define SEAL_NONE 0
+#define SEAL_HEART_A 1
+#define SEAL_HEART_B 2
+#define SEAL_HEART_C 3
+#define SEAL_HEART_D 4
+#define SEAL_HEART_E 5
+#define SEAL_HEART_F 6
+#define SEAL_STAR_A 7
+#define SEAL_STAR_B 8
+#define SEAL_STAR_C 9
+#define SEAL_STAR_D 10
+#define SEAL_STAR_E 11
+#define SEAL_STAR_F 12
+#define SEAL_LINE_A 13
+#define SEAL_LINE_B 14
+#define SEAL_LINE_C 15
+#define SEAL_SMOKE_A 16
+#define SEAL_SMOKE_B 17
+#define SEAL_SMOKE_C 18
+#define SEAL_SMOKE_D 19
+#define SEAL_ELE_A 20
+#define SEAL_ELE_B 21
+#define SEAL_ELE_C 22
+#define SEAL_ELE_D 23
+#define SEAL_FOAMY_A 24
+#define SEAL_FOAMY_B 25
+#define SEAL_FOAMY_C 26
+#define SEAL_FOAMY_D 27
+#define SEAL_FIRE_A 28
+#define SEAL_FIRE_B 29
+#define SEAL_FIRE_C 30
+#define SEAL_FIRE_D 31
+#define SEAL_PARTY_A 32
+#define SEAL_PARTY_B 33
+#define SEAL_PARTY_C 34
+#define SEAL_PARTY_D 35
+#define SEAL_FLORA_A 36
+#define SEAL_FLORA_B 37
+#define SEAL_FLORA_C 38
+#define SEAL_FLORA_D 39
+#define SEAL_FLORA_E 40
+#define SEAL_FLORA_F 41
+#define SEAL_SONG_A 42
+#define SEAL_SONG_B 43
+#define SEAL_SONG_C 44
+#define SEAL_SONG_D 45
+#define SEAL_SONG_E 46
+#define SEAL_SONG_F 47
+#define SEAL_SONG_G 48
+#define SEAL_A 49
+#define SEAL_B 50
+#define SEAL_C 51
+#define SEAL_D 52
+#define SEAL_E 53
+#define SEAL_F 54
+#define SEAL_G 55
+#define SEAL_H 56
+#define SEAL_I 57
+#define SEAL_J 58
+#define SEAL_K 59
+#define SEAL_L 60
+#define SEAL_M 61
+#define SEAL_N 62
+#define SEAL_O 63
+#define SEAL_P 64
+#define SEAL_Q 65
+#define SEAL_R 66
+#define SEAL_S 67
+#define SEAL_T 68
+#define SEAL_U 69
+#define SEAL_V 70
+#define SEAL_W 71
+#define SEAL_X 72
+#define SEAL_Y 73
+#define SEAL_Z 74
+#define SEAL_SHOCK 75
+#define SEAL_MYSTERY 76
+#define SEAL_LINE_D 77
+#define SEAL_LIQUID 78
+#define SEAL_BURST 79
+#define SEAL_TWINKLE 80
+
+#endif //POKEDIAMOND_CONSTANTS_SEAL_CONSTANTS_H
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
new file mode 100644
index 00000000..d8f48017
--- /dev/null
+++ b/include/constants/trainers.h
@@ -0,0 +1,854 @@
+#ifndef POKEDIAMOND_CONSTANTS_TRAINERS_H
+#define POKEDIAMOND_CONSTANTS_TRAINERS_H
+
+#define TRAINER_YOUNGSTER_TRISTAN 1
+#define TRAINER_YOUNGSTER_LOGAN 2
+#define TRAINER_LASS_NATALIE 3
+#define TRAINER_YOUNGSTER_MICHAEL 4
+#define TRAINER_CAMPER_MICKEY 5
+#define TRAINER_CAMPER_MICKEY_2 6
+#define TRAINER_PICNICKER_ANGELICA 7
+#define TRAINER_PICNICKER_ANGELICA_2 8
+#define TRAINER_YOUNGSTER_MICKEY 9
+#define TRAINER_YOUNGSTER_TYLER 10
+#define TRAINER_LASS_SAMANTHA 11
+#define TRAINER_LASS_SARAH 12
+#define TRAINER_BUG_CATCHER_BRANDON 13
+#define TRAINER_AROMA_LADY_TAYLOR 14
+#define TRAINER_TWINS_LIV_LIZ 15
+#define TRAINER_CAMPER_JACOB 16
+#define TRAINER_PICNICKER_SIENA 17
+#define TRAINER_HIKER_DANIEL 18
+#define TRAINER_HIKER_NICHOLAS 19
+#define TRAINER_BATTLE_GIRL_KELSEY 20
+#define TRAINER_AROMA_LADY_ELIZABETH 21
+#define TRAINER_FISHERMAN_ANDREW 22
+#define TRAINER_FISHERMAN_JOSEPH 23
+#define TRAINER_FISHERMAN_ZACHARY 24
+#define TRAINER_CYCLIST_M_AXEL 25
+#define TRAINER_CYCLIST_M_JAMES 26
+#define TRAINER_CYCLIST_M_JOHN 27
+#define TRAINER_CYCLIST_M_RYAN 28
+#define TRAINER_CYCLIST_F_MEGAN 29
+#define TRAINER_CYCLIST_F_NICOLE 30
+#define TRAINER_CYCLIST_F_KAYLA 31
+#define TRAINER_CYCLIST_F_RACHEL 32
+#define TRAINER_YOUNGSTER_AUSTIN 33
+#define TRAINER_CAMPER_ANTHONY 34
+#define TRAINER_PICNICKER_LAUREN 35
+#define TRAINER_HIKER_KEVIN 36
+#define TRAINER_HIKER_JUSTIN 37
+#define TRAINER_BATTLE_GIRL_HELEN 38
+#define TRAINER_HIKER_ROBERT 39
+#define TRAINER_HIKER_ALEXANDER 40
+#define TRAINER_HIKER_JONATHAN 41
+#define TRAINER_BLACK_BELT_KYLE 42
+#define TRAINER_FISHERMAN_CODY 43
+#define TRAINER_AROMA_LADY_HANNAH 44
+#define TRAINER_ARTIST_WILLIAM 45
+#define TRAINER_PKMN_BREEDER_M_ALBERT 46
+#define TRAINER_PKMN_BREEDER_F_JENNIFER 47
+#define TRAINER_COWGIRL_SHELLEY 48
+#define TRAINER_JOGGER_RICHARD 49
+#define TRAINER_POKEFAN_M_MICKEY 50
+#define TRAINER_POKEFAN_F_ANGELICA 51
+#define TRAINER_YOUNGSTER_MICKEY_2 52
+#define TRAINER_POKE_KID_DANIELLE 53
+#define TRAINER_FISHERMAN_MICKEY 54
+#define TRAINER_YOUNG_COUPLE_TY_SUE 55
+#define TRAINER_PKMN_BREEDER_M_KAHLIL 56
+#define TRAINER_PKMN_BREEDER_F_AMBER 57
+#define TRAINER_COWGIRL_ANGELICA 58
+#define TRAINER_JOGGER_MICKEY 59
+#define TRAINER_POKEFAN_M_MICKEY_2 60
+#define TRAINER_POKEFAN_F_ANGELICA_2 61
+#define TRAINER_ACE_TRAINER_M_MICKEY 62
+#define TRAINER_ACE_TRAINER_F_ANGELICA 63
+#define TRAINER_WAITRESS_ANGELICA 64
+#define TRAINER_TWINS_TERI_TIA 65
+#define TRAINER_ACE_TRAINER_M_ERNEST 66
+#define TRAINER_ACE_TRAINER_F_ALYSSA 67
+#define TRAINER_VETERAN_BRIAN 68
+#define TRAINER_BLACK_BELT_ADAM 69
+#define TRAINER_NINJA_BOY_JOEL 70
+#define TRAINER_NINJA_BOY_NATHAN 71
+#define TRAINER_NINJA_BOY_DAVIDO 72
+#define TRAINER_DRAGON_TAMER_PATRICK 73
+#define TRAINER_BIRD_KEEPER_BRIANNA 74
+#define TRAINER_DOUBLE_TEAM_ZAC_JEN 75
+#define TRAINER_BIRD_KEEPER_ALEXANDRA 76
+#define TRAINER_BATTLE_GIRL_ANGELICA 77
+#define TRAINER_NINJA_BOY_ZACH 78
+#define TRAINER_BLACK_BELT_SEAN 79
+#define TRAINER_NINJA_BOY_NICK 80
+#define TRAINER_BIRD_KEEPER_KATHERINE 81
+#define TRAINER_RICH_BOY_JASON 82
+#define TRAINER_LADY_MELISSA 83
+#define TRAINER_GENTLEMAN_JEREMY 84
+#define TRAINER_SOCIALITE_REINA 85
+#define TRAINER_BEAUTY_ANGELICA 86
+#define TRAINER_COLLECTOR_MICKEY 87
+#define TRAINER_POLICEMAN_BOBBY 88
+#define TRAINER_POLICEMAN_ALEX 89
+#define TRAINER_POLICEMAN_DYLAN 90
+#define TRAINER_FISHERMAN_JUAN 91
+#define TRAINER_FISHERMAN_CAMERON 92
+#define TRAINER_FISHERMAN_TRAVIS 93
+#define TRAINER_PKMN_RANGER_M_TAYLOR 94
+#define TRAINER_PKMN_RANGER_M_JEFFREY 95
+#define TRAINER_PKMN_RANGER_F_ALLISON 96
+#define TRAINER_PKMN_RANGER_F_ANGELICA 97
+#define TRAINER_SCIENTIST_MICKEY 98
+#define TRAINER_SCIENTIST_STEFANO 99
+#define TRAINER_YOUNGSTER_MICKEY_3 100
+#define TRAINER_YOUNGSTER_MICKEY_4 101
+#define TRAINER_POLICEMAN_CALEB 102
+#define TRAINER_SWIMMER_M_SHELTIN 103
+#define TRAINER_SWIMMER_M_EVAN 104
+#define TRAINER_SWIMMER_F_HALEY 105
+#define TRAINER_SWIMMER_F_MARY 106
+#define TRAINER_TUBER_M_JARED 107
+#define TRAINER_TUBER_F_CHELSEA 108
+#define TRAINER_BATTLE_GIRL_ANGELICA_2 109
+#define TRAINER_SAILOR_PAUL 110
+#define TRAINER_FISHERMAN_KENNETH 111
+#define TRAINER_SIS_AND_BRO_TARA_TIM 112
+#define TRAINER_RUIN_MANIAC_BRYAN 113
+#define TRAINER_RUIN_MANIAC_HUNTER 114
+#define TRAINER_HIKER_MICKEY 115
+#define TRAINER_VETERAN_MICKEY 116
+#define TRAINER_CAMPER_MICKEY_3 117
+#define TRAINER_PICNICKER_ANGELICA_3 118
+#define TRAINER_PSYCHIC_M_MITCHELL 119
+#define TRAINER_PSYCHIC_F_ABIGAIL 120
+#define TRAINER_PI_CARLOS 121
+#define TRAINER_GUITARIST_MICKEY 122
+#define TRAINER_PI_MICKEY 123
+#define TRAINER_BEAUTY_ANGELICA_2 124
+#define TRAINER_BEAUTY_ANGELICA_3 125
+#define TRAINER_BLACK_BELT_MICKEY 126
+#define TRAINER_BLACK_BELT_GREGORY 127
+#define TRAINER_BLACK_BELT_DEREK 128
+#define TRAINER_BLACK_BELT_NATHANIEL 129
+#define TRAINER_JOGGER_SCOTT 130
+#define TRAINER_BIRD_KEEPER_ANGELICA 131
+#define TRAINER_ACE_TRAINER_SNOW_M_BLAKE 132
+#define TRAINER_ACE_TRAINER_SNOW_M_GARRETT 133
+#define TRAINER_ACE_TRAINER_SNOW_F_LAURA 134
+#define TRAINER_ACE_TRAINER_SNOW_F_MARIA 135
+#define TRAINER_SKIER_M_BRADLEY 136
+#define TRAINER_SKIER_M_EDWARD 137
+#define TRAINER_SKIER_F_KAITLYN 138
+#define TRAINER_SKIER_F_ANDREA 139
+#define TRAINER_ACE_TRAINER_SNOW_M_DALTON 140
+#define TRAINER_ACE_TRAINER_SNOW_F_OLIVIA 141
+#define TRAINER_SKIER_M_SHAWN 142
+#define TRAINER_SKIER_M_BJORN 143
+#define TRAINER_SKIER_F_LEXIE 144
+#define TRAINER_SKIER_F_MADISON 145
+#define TRAINER_NINJA_BOY_ANTONIO 146
+#define TRAINER_NINJA_BOY_ETHAN 147
+#define TRAINER_BLACK_BELT_LUKE 148
+#define TRAINER_SWIMMER_M_MICKEY 149
+#define TRAINER_SWIMMER_M_MICKEY_2 150
+#define TRAINER_SWIMMER_F_ANGELICA 151
+#define TRAINER_SWIMMER_F_ANGELICA_2 152
+#define TRAINER_FISHERMAN_MIGUEL 153
+#define TRAINER_FISHERMAN_LUC 154
+#define TRAINER_SIS_AND_BRO_TARA_TIM_2 155
+#define TRAINER_SWIMMER_M_MICKEY_3 156
+#define TRAINER_SWIMMER_M_MICKEY_4 157
+#define TRAINER_SWIMMER_F_ANGELICA_3 158
+#define TRAINER_SWIMMER_M_ADRIAN 159
+#define TRAINER_SWIMMER_M_ERIK 160
+#define TRAINER_SWIMMER_M_VINCENT 161
+#define TRAINER_SWIMMER_F_JESSICA 162
+#define TRAINER_SWIMMER_F_ERICA 163
+#define TRAINER_SWIMMER_F_KATELYN 164
+#define TRAINER_SIS_AND_BRO_TARA_TIM_3 165
+#define TRAINER_SWIMMER_M_DILLON 166
+#define TRAINER_SWIMMER_F_VANESSA 167
+#define TRAINER_FISHERMAN_CORY 168
+#define TRAINER_RUIN_MANIAC_MICKEY 169
+#define TRAINER_ACE_TRAINER_M_JAKE 170
+#define TRAINER_ACE_TRAINER_F_SHANNON 171
+#define TRAINER_FISHERMAN_BRETT 172
+#define TRAINER_FISHERMAN_ALEC 173
+#define TRAINER_FISHERMAN_GEORGE 174
+#define TRAINER_FISHERMAN_COLE 175
+#define TRAINER_ROUGHNECK_MICKEY 176
+#define TRAINER_ROUGHNECK_MICKEY_2 177
+#define TRAINER_GUITARIST_MICKEY_2 178
+#define TRAINER_CLOWN_MICKEY 179
+#define TRAINER_SAILOR_LUTHER 180
+#define TRAINER_ARTIST_MICKEY 181
+#define TRAINER_YOUNG_COUPLE_TARA_TIM 182
+#define TRAINER_SWIMMER_M_WESLEY 183
+#define TRAINER_SWIMMER_M_RICARDO 184
+#define TRAINER_SWIMMER_M_FRANCISCO 185
+#define TRAINER_SWIMMER_M_COLTON 186
+#define TRAINER_SWIMMER_M_TROY 187
+#define TRAINER_SWIMMER_M_OSCAR 188
+#define TRAINER_SWIMMER_F_MIRANDA 189
+#define TRAINER_SWIMMER_F_AUBREE 190
+#define TRAINER_SWIMMER_F_PAIGE 191
+#define TRAINER_SWIMMER_F_CRYSTAL 192
+#define TRAINER_SWIMMER_F_CASSANDRA 193
+#define TRAINER_SWIMMER_F_GABRIELLE 194
+#define TRAINER_WORKER_COLIN 195
+#define TRAINER_WORKER_MASON 196
+#define TRAINER_WORKER_MICKEY 197
+#define TRAINER_SCIENTIST_MICKEY_2 198
+#define TRAINER_SCIENTIST_MICKEY_3 199
+#define TRAINER_SCIENTIST_MICKEY_4 200
+#define TRAINER_BUG_CATCHER_JACK 201
+#define TRAINER_BUG_CATCHER_PHILLIP 202
+#define TRAINER_BUG_CATCHER_DONALD 203
+#define TRAINER_LASS_BRIANA 204
+#define TRAINER_PSYCHIC_M_ELIJAH 205
+#define TRAINER_PSYCHIC_F_LINDSEY 206
+#define TRAINER_YOUNG_COUPLE_TARA_TIM_2 207
+#define TRAINER_WORKER_MICKEY_2 208
+#define TRAINER_WORKER_MICKEY_3 209
+#define TRAINER_WORKER_MICKEY_4 210
+#define TRAINER_ACE_TRAINER_SNOW_M_MICKEY 211
+#define TRAINER_ACE_TRAINER_SNOW_M_MICKEY_2 212
+#define TRAINER_ACE_TRAINER_SNOW_F_ANGELICA 213
+#define TRAINER_ACE_TRAINER_SNOW_F_ANGELICA_2 214
+#define TRAINER_VETERAN_MICKEY_2 215
+#define TRAINER_VETERAN_MICKEY_3 216
+#define TRAINER_PSYCHIC_M_MICKEY 217
+#define TRAINER_PSYCHIC_F_ANGELICA 218
+#define TRAINER_DRAGON_TAMER_MICKEY 219
+#define TRAINER_SAILOR_MICKEY 220
+#define TRAINER_SCHOOL_KID_M_MICKEY 221
+#define TRAINER_SCHOOL_KID_F_ANGELICA 222
+#define TRAINER_YOUNG_COUPLE_TARA_TIM_3 223
+#define TRAINER_ACE_TRAINER_M_OMAR 224
+#define TRAINER_ACE_TRAINER_M_HENRY 225
+#define TRAINER_ACE_TRAINER_F_MARIAH 226
+#define TRAINER_ACE_TRAINER_F_SYDNEY 227
+#define TRAINER_VETERAN_EDGAR 228
+#define TRAINER_VETERAN_CLAYTON 229
+#define TRAINER_DRAGON_TAMER_ONDREJ 230
+#define TRAINER_DRAGON_TAMER_CLINTON 231
+#define TRAINER_BLACK_BELT_DAVID 232
+#define TRAINER_BIRD_KEEPER_HANA 233
+#define TRAINER_PSYCHIC_M_BRYCE 234
+#define TRAINER_PSYCHIC_F_VALENCIA 235
+#define TRAINER_DOUBLE_TEAM_JO_PAT 236
+#define TRAINER_DOUBLE_TEAM_AL_KAY 237
+#define TRAINER_YOUNGSTER_MICKEY_5 238
+#define TRAINER_LASS_ANGELICA 239
+#define TRAINER_VETERAN_GRANT 240
+#define TRAINER_FISHERMAN_MICKEY_2 241
+#define TRAINER_SAILOR_MICKEY_2 242
+#define TRAINER_BEAUTY_ANGELICA_4 243
+#define TRAINER_YOUNGSTER_JONATHON 244
+#define TRAINER_YOUNGSTER_DARIUS 245
+#define TRAINER_LEADER_ROARK_ROARK 246
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC 247
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_2 248
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_3 249
+#define TRAINER_LEADER_BYRON_BYRON 250
+#define TRAINER_ACE_TRAINER_F_ANGELICA_2 251
+#define TRAINER_CAMPER_MICKEY_4 252
+#define TRAINER_CAMPER_MICKEY_5 253
+#define TRAINER_CAMPER_MICKEY_6 254
+#define TRAINER_CAMPER_MICKEY_7 255
+#define TRAINER_WORKER_JACKSON 256
+#define TRAINER_WORKER_GARY 257
+#define TRAINER_BLACK_BELT_PHILIP 258
+#define TRAINER_AROMA_LADY_JENNA 259
+#define TRAINER_AROMA_LADY_ANGELA 260
+#define TRAINER_ELITE_FOUR_AARON_AARON 261
+#define TRAINER_ELITE_FOUR_BERTHA_BERTHA 262
+#define TRAINER_ELITE_FOUR_FLINT_FLINT 263
+#define TRAINER_ELITE_FOUR_LUCIEN_LUCIAN 264
+#define TRAINER_CAMPER_CURTIS 265
+#define TRAINER_CAMPER_DREW 266
+#define TRAINER_CHAMPION_CYNTHIA 267
+#define TRAINER_ACE_TRAINER_SNOW_M_SERGIO 268
+#define TRAINER_ACE_TRAINER_SNOW_M_ISAIAH 269
+#define TRAINER_ACE_TRAINER_SNOW_F_SAVANNAH 270
+#define TRAINER_ACE_TRAINER_SNOW_F_ALICIA 271
+#define TRAINER_COLLECTOR_DOUGLAS 272
+#define TRAINER_COLLECTOR_BRADY 273
+#define TRAINER_COLLECTOR_IVAN 274
+#define TRAINER_COLLECTOR_FERNANDO 275
+#define TRAINER_COLLECTOR_EDWIN 276
+#define TRAINER_DRAGON_TAMER_HAYDEN 277
+#define TRAINER_ACE_TRAINER_M_DENNIS 278
+#define TRAINER_ACE_TRAINER_M_CESAR 279
+#define TRAINER_ACE_TRAINER_M_ALLEN 280
+#define TRAINER_ACE_TRAINER_M_ZACHERY 281
+#define TRAINER_ACE_TRAINER_M_RUBEN 282
+#define TRAINER_ACE_TRAINER_F_BREANNA 283
+#define TRAINER_ACE_TRAINER_F_CATHERINE 284
+#define TRAINER_ACE_TRAINER_F_DESTINY 285
+#define TRAINER_ACE_TRAINER_F_JAMIE 286
+#define TRAINER_ACE_TRAINER_F_MAYA 287
+#define TRAINER_PSYCHIC_M_MAXWELL 288
+#define TRAINER_PSYCHIC_F_BRITTNEY 289
+#define TRAINER_BELLE__PA_AVA_MATT 290
+#define TRAINER_RANCHER_MICKEY 291
+#define TRAINER_RANCHER_MARCO 292
+#define TRAINER_FISHERMAN_ERICK 293
+#define TRAINER_TWINS_EMMA_LIL 294
+#define TRAINER_COMMANDER_MARS_MARS 295
+#define TRAINER_GALACTIC_GRUNT 296
+#define TRAINER_GALACTIC_GRUNT_2 297
+#define TRAINER_GALACTIC_GRUNT_3 298
+#define TRAINER_GALACTIC_GRUNT_4 299
+#define TRAINER_GUITARIST_TONY 300
+#define TRAINER_GUITARIST_JERRY 301
+#define TRAINER_GUITARIST_PRESTON 302
+#define TRAINER_GUITARIST_LONNIE 303
+#define TRAINER_RUIN_MANIAC_CALVIN 304
+#define TRAINER_RUIN_MANIAC_LARRY 305
+#define TRAINER_JOGGER_WYATT 306
+#define TRAINER_JOGGER_CRAIG 307
+#define TRAINER_JOGGER_RAUL 308
+#define TRAINER_BLACK_BELT_COLBY 309
+#define TRAINER_BLACK_BELT_DARREN 310
+#define TRAINER_BLACK_BELT_RAFAEL 311
+#define TRAINER_BLACK_BELT_JEFFERY 312
+#define TRAINER_BLACK_BELT_CARL 313
+#define TRAINER_BLACK_BELT_RICKY 314
+#define TRAINER_LEADER_GARDENIA_GARDENIA 315
+#define TRAINER_LEADER_WAKE_WAKE 316
+#define TRAINER_LEADER_MAYLENE_MAYLENE 317
+#define TRAINER_LEADER_FANTINA_FANTINA 318
+#define TRAINER_LEADER_CANDICE_CANDICE 319
+#define TRAINER_LEADER_VOLKNER_VOLKNER 320
+#define TRAINER_LASS_ANGELICA_2 321
+#define TRAINER_LASS_MADELINE 322
+#define TRAINER_LASS_KAITLIN 323
+#define TRAINER_LASS_CAROLINE 324
+#define TRAINER_LASS_MOLLY 325
+#define TRAINER_HIKER_LOUIS 326
+#define TRAINER_PARASOL_LADY_ALEXA 327
+#define TRAINER_PARASOL_LADY_SABRINA 328
+#define TRAINER_PICNICKER_DIANA 329
+#define TRAINER_PICNICKER_CHEYENNE 330
+#define TRAINER_POKE_KID_MEGHAN 331
+#define TRAINER_POLICEMAN_DANNY 332
+#define TRAINER_POLICEMAN_THOMAS 333
+#define TRAINER_RICH_BOY_MICKEY 334
+#define TRAINER_RICH_BOY_TREY 335
+#define TRAINER_LADY_ANGELICA 336
+#define TRAINER_SAILOR_MARC 337
+#define TRAINER_SAILOR_SKYLER 338
+#define TRAINER_SAILOR_DAMIAN 339
+#define TRAINER_SCHOOL_KID_M_CHANCE 340
+#define TRAINER_SCHOOL_KID_M_FORREST 341
+#define TRAINER_SCHOOL_KID_M_HARRISON 342
+#define TRAINER_SCHOOL_KID_F_MACKENZIE 343
+#define TRAINER_SCHOOL_KID_F_TIERA 344
+#define TRAINER_SCHOOL_KID_F_CHRISTINE 345
+#define TRAINER_BEAUTY_CYNDY 346
+#define TRAINER_BEAUTY_ANGELICA_5 347
+#define TRAINER_BEAUTY_LINDSAY 348
+#define TRAINER_SKIER_M_MICKEY 349
+#define TRAINER_SKIER_F_ANGELICA 350
+#define TRAINER_SWIMMER_M_MICKEY_5 351
+#define TRAINER_SWIMMER_M_MICKEY_6 352
+#define TRAINER_SWIMMER_F_ANGELICA_4 353
+#define TRAINER_SWIMMER_F_ANGELICA_5 354
+#define TRAINER_YOUNGSTER_DALLAS 355
+#define TRAINER_YOUNGSTER_SEBASTIAN 356
+#define TRAINER_YOUNGSTER_DONNY 357
+#define TRAINER_TUBER_M_TRENTON 358
+#define TRAINER_TUBER_M_CONNER 359
+#define TRAINER_TUBER_F_MARIEL 360
+#define TRAINER_TUBER_F_HOLLY 361
+#define TRAINER_VETERAN_ARMANDO 362
+#define TRAINER_WAITER_MICKEY 363
+#define TRAINER_WAITER_MICKEY_2 364
+#define TRAINER_WAITER_MICKEY_3 365
+#define TRAINER_WAITRESS_KATI 366
+#define TRAINER_WORKER_GERARDO 367
+#define TRAINER_INTERVIEWERS_ROXY_OLI 368
+#define TRAINER_CAMERAMAN_TEVIN 369
+#define TRAINER_REPORTER_KINSEY 370
+#define TRAINER_IDOL_GRACE 371
+#define TRAINER_BATTLE_GIRL_TYLER 372
+#define TRAINER_BIRD_KEEPER_AUTUMN 373
+#define TRAINER_PKMN_BREEDER_M_MICKEY 374
+#define TRAINER_PKMN_BREEDER_F_ANGELICA 375
+#define TRAINER_CAMERAMAN_MICKEY 376
+#define TRAINER_CAMPER_ZACKARY 377
+#define TRAINER_CAMPER_LAWRENCE 378
+#define TRAINER_CAMPER_DIEGO 379
+#define TRAINER_CAMPER_PARKER 380
+#define TRAINER_COLLECTOR_DOMINIQUE 381
+#define TRAINER_COLLECTOR_JAMAL 382
+#define TRAINER_COLLECTOR_TERRY 383
+#define TRAINER_POKEFAN_M_MICKEY_3 384
+#define TRAINER_POKEFAN_F_ANGELICA_3 385
+#define TRAINER_DRAGON_TAMER_JOE 386
+#define TRAINER_ACE_TRAINER_M_MICKEY_2 387
+#define TRAINER_ACE_TRAINER_M_JONAH 388
+#define TRAINER_ACE_TRAINER_M_MICAH 389
+#define TRAINER_ACE_TRAINER_M_ARTHUR 390
+#define TRAINER_ACE_TRAINER_F_ANGELICA_3 391
+#define TRAINER_ACE_TRAINER_F_BRENDA 392
+#define TRAINER_ACE_TRAINER_F_BRANDI 393
+#define TRAINER_ACE_TRAINER_F_CLARICE 394
+#define TRAINER_PSYCHIC_M_KODY 395
+#define TRAINER_PSYCHIC_M_LANDON 396
+#define TRAINER_PSYCHIC_M_DEANDRE 397
+#define TRAINER_PSYCHIC_F_RACHAEL 398
+#define TRAINER_PSYCHIC_F_DESIREE 399
+#define TRAINER_PSYCHIC_F_KENDRA 400
+#define TRAINER_FISHERMAN_WALTER 401
+#define TRAINER_GENTLEMAN_MICKEY 402
+#define TRAINER_GALACTIC_BOSS_CYRUS 403
+#define TRAINER_GALACTIC_BOSS_CYRUS_2 404
+#define TRAINER_COMMANDER_MARS_MARS_2 405
+#define TRAINER_COMMANDER_JUPITER_JUPITER 406
+#define TRAINER_COMMANDER_JUPITER_JUPITER_2 407
+#define TRAINER_COMMANDER_SATURN_SATURN 408
+#define TRAINER_COMMANDER_SATURN_SATURN_2 409
+#define TRAINER_GALACTIC_GRUNT_5 410
+#define TRAINER_GALACTIC_GRUNT_6 411
+#define TRAINER_GALACTIC_GRUNT_7 412
+#define TRAINER_GALACTIC_GRUNT_8 413
+#define TRAINER_GALACTIC_GRUNT_9 414
+#define TRAINER_GALACTIC_GRUNT_10 415
+#define TRAINER_GALACTIC_GRUNT_11 416
+#define TRAINER_GALACTIC_GRUNT_12 417
+#define TRAINER_GALACTIC_GRUNT_13 418
+#define TRAINER_GALACTIC_GRUNT_14 419
+#define TRAINER_GALACTIC_GRUNT_15 420
+#define TRAINER_GALACTIC_F_GRUNT 421
+#define TRAINER_GALACTIC_F_GRUNT_2 422
+#define TRAINER_GALACTIC_F_GRUNT_3 423
+#define TRAINER_GALACTIC_F_GRUNT_4 424
+#define TRAINER_GALACTIC_F_GRUNT_5 425
+#define TRAINER_GALACTIC_F_GRUNT_6 426
+#define TRAINER_GALACTIC_F_GRUNT_7 427
+#define TRAINER_GALACTIC_F_GRUNT_8 428
+#define TRAINER_GALACTIC_F_GRUNT_9 429
+#define TRAINER_GALACTIC_F_GRUNT_10 430
+#define TRAINER_GUITARIST_ARTURO 431
+#define TRAINER_GUITARIST_MICKEY_3 432
+#define TRAINER_GUITARIST_MICKEY_4 433
+#define TRAINER_GUITARIST_MICKEY_5 434
+#define TRAINER_GUITARIST_MICKEY_6 435
+#define TRAINER_GUITARIST_MICKEY_7 436
+#define TRAINER_IDOL_ANGELICA 437
+#define TRAINER_IDOL_ANGELICA_2 438
+#define TRAINER_IDOL_ANGELICA_3 439
+#define TRAINER_IDOL_ANGELICA_4 440
+#define TRAINER_RUIN_MANIAC_MICKEY_2 441
+#define TRAINER_RUIN_MANIAC_HARRY 442
+#define TRAINER_RUIN_MANIAC_GERALD 443
+#define TRAINER_BLACK_BELT_MILES 444
+#define TRAINER_BLACK_BELT_KENDAL 445
+#define TRAINER_BLACK_BELT_EDDIE 446
+#define TRAINER_BLACK_BELT_WILLIE 447
+#define TRAINER_SOCIALITE_ANGELICA 448
+#define TRAINER_LASS_ANGELICA_3 449
+#define TRAINER_LASS_CASSIDY 450
+#define TRAINER_HIKER_THEODORE 451
+#define TRAINER_HIKER_DAMON 452
+#define TRAINER_HIKER_MAURICE 453
+#define TRAINER_HIKER_REGINALD 454
+#define TRAINER_HIKER_LORENZO 455
+#define TRAINER_PICNICKER_KARINA 456
+#define TRAINER_PICNICKER_SUMMER 457
+#define TRAINER_PICNICKER_TORI 458
+#define TRAINER_PICNICKER_ANA 459
+#define TRAINER_CLOWN_LEE 460
+#define TRAINER_CLOWN_MICKEY_2 461
+#define TRAINER_CLOWN_MICKEY_3 462
+#define TRAINER_CLOWN_MICKEY_4 463
+#define TRAINER_CLOWN_MICKEY_5 464
+#define TRAINER_POKE_KID_ARIEL 465
+#define TRAINER_POLICEMAN_MICKEY 466
+#define TRAINER_RICH_BOY_MICKEY_2 467
+#define TRAINER_RICH_BOY_MICKEY_3 468
+#define TRAINER_LADY_ANGELICA_2 469
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_4 470
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_5 471
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_6 472
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_7 473
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_8 474
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_9 475
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_10 476
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_11 477
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_12 478
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_13 479
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_14 480
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_15 481
+#define TRAINER_SAILOR_ZACHARIAH 482
+#define TRAINER_SAILOR_SAMSON 483
+#define TRAINER_SCHOOL_KID_M_MICKEY_2 484
+#define TRAINER_SCHOOL_KID_F_ANGELICA_2 485
+#define TRAINER_SCIENTIST_SHAUN 486
+#define TRAINER_SCIENTIST_MICKEY_5 487
+#define TRAINER_NINJA_BOY_FABIAN 488
+#define TRAINER_NINJA_BOY_BRENNAN 489
+#define TRAINER_NINJA_BOY_BRUCE 490
+#define TRAINER_BEAUTY_DEVON 491
+#define TRAINER_BEAUTY_NICOLA 492
+#define TRAINER_SWIMMER_M_MICKEY_7 493
+#define TRAINER_SWIMMER_F_CLAIRE 494
+#define TRAINER_YOUNGSTER_MICKEY_6 495
+#define TRAINER_YOUNGSTER_WAYNE 496
+#define TRAINER_TUBER_M_JACKY 497
+#define TRAINER_TUBER_F_CAITLYN 498
+#define TRAINER_VETERAN_TERRELL 499
+#define TRAINER_VETERAN_BRENDEN 500
+#define TRAINER_WAITER_MICKEY_4 501
+#define TRAINER_WORKER_MICKEY_5 502
+#define TRAINER_WORKER_WILLY 503
+#define TRAINER_WORKER_BRADEN 504
+#define TRAINER_WORKER_BRENDON 505
+#define TRAINER_WORKER_QUENTIN 506
+#define TRAINER_GALACTIC_GRUNT_16 507
+#define TRAINER_GALACTIC_GRUNT_17 508
+#define TRAINER_GALACTIC_GRUNT_18 509
+#define TRAINER_GALACTIC_GRUNT_19 510
+#define TRAINER_GALACTIC_GRUNT_20 511
+#define TRAINER_GALACTIC_GRUNT_21 512
+#define TRAINER_GALACTIC_GRUNT_22 513
+#define TRAINER_GALACTIC_GRUNT_23 514
+#define TRAINER_GALACTIC_GRUNT_24 515
+#define TRAINER_GALACTIC_GRUNT_25 516
+#define TRAINER_GALACTIC_GRUNT_26 517
+#define TRAINER_GALACTIC_GRUNT_27 518
+#define TRAINER_GALACTIC_GRUNT_28 519
+#define TRAINER_GALACTIC_GRUNT_29 520
+#define TRAINER_GALACTIC_GRUNT_30 521
+#define TRAINER_GALACTIC_F_GRUNT_11 522
+#define TRAINER_GALACTIC_F_GRUNT_12 523
+#define TRAINER_GALACTIC_F_GRUNT_13 524
+#define TRAINER_GALACTIC_F_GRUNT_14 525
+#define TRAINER_GALACTIC_F_GRUNT_15 526
+#define TRAINER_GALACTIC_F_GRUNT_16 527
+#define TRAINER_COMMANDER_MARS_MARS_3 528
+#define TRAINER_ROUGHNECK_KIRBY 529
+#define TRAINER_POKEFAN_M_LEONARD 530
+#define TRAINER_POKEFAN_F_REBEKAH 531
+#define TRAINER_YOUNGSTER_OLIVER 532
+#define TRAINER_BELLE__PA_BETH_BOB 533
+#define TRAINER_YOUNG_COUPLE_MIKE_NAT 534
+#define TRAINER_AROMA_LADY_ALISON 535
+#define TRAINER_ARTIST_ISMAEL 536
+#define TRAINER_PKMN_BREEDER_F_KAYLEE 537
+#define TRAINER_CAMERAMAN_DARRYL 538
+#define TRAINER_COLLECTOR_EUGENE 539
+#define TRAINER_POKEFAN_F_MEREDITH 540
+#define TRAINER_PI_KENDRICK 541
+#define TRAINER_GENTLEMAN_LEONARDO 542
+#define TRAINER_SOCIALITE_REBECCA 543
+#define TRAINER_LASS_BLYTHE 544
+#define TRAINER_RICH_BOY_ROMAN 545
+#define TRAINER_LADY_KYLIE 546
+#define TRAINER_REPORTER_VALERIE 547
+#define TRAINER_SCHOOL_KID_M_ESTEBAN 548
+#define TRAINER_SCIENTIST_EMILIO 549
+#define TRAINER_BEAUTY_GABRIELLA 550
+#define TRAINER_BEAUTY_HARLEY 551
+#define TRAINER_VETERAN_EMANUEL 552
+#define TRAINER_RUIN_MANIAC_KARL 553
+#define TRAINER_BIRD_KEEPER_AUDREY 554
+#define TRAINER_BIRD_KEEPER_GENEVA 555
+#define TRAINER_BIRD_KEEPER_KRYSTAL 556
+#define TRAINER_DRAGON_TAMER_GEOFFREY 557
+#define TRAINER_DRAGON_TAMER_DARIEN 558
+#define TRAINER_DRAGON_TAMER_KEEGAN 559
+#define TRAINER_DRAGON_TAMER_STANLEY 560
+#define TRAINER_DRAGON_TAMER_DRAKE 561
+#define TRAINER_DRAGON_TAMER_KENNY 562
+#define TRAINER_ACE_TRAINER_M_RODOLFO 563
+#define TRAINER_ACE_TRAINER_M_SAUL 564
+#define TRAINER_ACE_TRAINER_M_JOSE 565
+#define TRAINER_ACE_TRAINER_M_FELIX 566
+#define TRAINER_ACE_TRAINER_M_QUINN 567
+#define TRAINER_ACE_TRAINER_M_GRAHAM 568
+#define TRAINER_ACE_TRAINER_M_KEENAN 569
+#define TRAINER_ACE_TRAINER_M_STEFAN 570
+#define TRAINER_ACE_TRAINER_M_SKYLAR 571
+#define TRAINER_ACE_TRAINER_M_ABEL 572
+#define TRAINER_ACE_TRAINER_F_DEANNA 573
+#define TRAINER_ACE_TRAINER_F_ARIANA 574
+#define TRAINER_ACE_TRAINER_F_DANA 575
+#define TRAINER_ACE_TRAINER_F_MIKAYLA 576
+#define TRAINER_ACE_TRAINER_F_MEAGAN 577
+#define TRAINER_ACE_TRAINER_F_SANDRA 578
+#define TRAINER_ACE_TRAINER_F_KASSANDRA 579
+#define TRAINER_ACE_TRAINER_F_JASMIN 580
+#define TRAINER_ACE_TRAINER_F_NATASHA 581
+#define TRAINER_ACE_TRAINER_F_MONIQUE 582
+#define TRAINER_PSYCHIC_M_CORBIN 583
+#define TRAINER_PSYCHIC_M_STERLING 584
+#define TRAINER_PSYCHIC_F_DAISY 585
+#define TRAINER_PSYCHIC_F_CHELSEY 586
+#define TRAINER_BLACK_BELT_DAVON 587
+#define TRAINER_BLACK_BELT_GRIFFIN 588
+#define TRAINER_BLACK_BELT_RAY 589
+#define TRAINER_BLACK_BELT_JARRETT 590
+#define TRAINER_PKMN_RANGER_M_KYLER 591
+#define TRAINER_PKMN_RANGER_M_DESHAWN 592
+#define TRAINER_PKMN_RANGER_M_DWAYNE 593
+#define TRAINER_PKMN_RANGER_F_ASHLEE 594
+#define TRAINER_PKMN_RANGER_F_FELICIA 595
+#define TRAINER_PKMN_RANGER_F_KRISTA 596
+#define TRAINER_SWIMMER_M_GLENN 597
+#define TRAINER_SWIMMER_M_KURT 598
+#define TRAINER_SWIMMER_M_SAM 599
+#define TRAINER_SWIMMER_M_WADE 600
+#define TRAINER_SWIMMER_F_JOANNA 601
+#define TRAINER_SWIMMER_F_SOPHIA 602
+#define TRAINER_SWIMMER_F_MALLORY 603
+#define TRAINER_SWIMMER_F_LYDIA 604
+#define TRAINER_VETERAN_MICKEY_4 605
+#define TRAINER_VETERAN_HARLAN 606
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_16 607
+#define TRAINER_PKMN_TRAINER_AROMA_LADY_CHERYL 608
+#define TRAINER_PKMN_TRAINER_RICH_BOY_RILEY 609
+#define TRAINER_PKMN_TRAINER_PICNICKER_MARLEY 610
+#define TRAINER_PKMN_TRAINER_CAMPER_BUCK 611
+#define TRAINER_PKMN_TRAINER_POKEKID_MIRA 612
+#define TRAINER_PKMN_TRAINER_LUCAS_LUCAS 613
+#define TRAINER_PKMN_TRAINER_LUCAS_LUCAS_2 614
+#define TRAINER_PKMN_TRAINER_LUCAS_LUCAS_3 615
+#define TRAINER_PKMN_TRAINER_DAWN_DAWN 616
+#define TRAINER_PKMN_TRAINER_DAWN_DAWN_2 617
+#define TRAINER_PKMN_TRAINER_DAWN_DAWN_3 618
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_17 619
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_18 620
+#define TRAINER_PKMN_TRAINER_LUCAS_LUCAS_4 621
+#define TRAINER_PKMN_TRAINER_LUCAS_LUCAS_5 622
+#define TRAINER_PKMN_TRAINER_LUCAS_LUCAS_6 623
+#define TRAINER_PKMN_TRAINER_DAWN_DAWN_4 624
+#define TRAINER_PKMN_TRAINER_DAWN_DAWN_5 625
+#define TRAINER_PKMN_TRAINER_DAWN_DAWN_6 626
+#define TRAINER_AROMA_LADY_ELIZABETH_2 627
+#define TRAINER_AROMA_LADY_ELIZABETH_3 628
+#define TRAINER_AROMA_LADY_ELIZABETH_4 629
+#define TRAINER_ARTIST_KEVIN 630
+#define TRAINER_ARTIST_KEVIN_2 631
+#define TRAINER_ARTIST_KEVIN_3 632
+#define TRAINER_BATTLE_GIRL_HELEN_2 633
+#define TRAINER_BATTLE_GIRL_HELEN_3 634
+#define TRAINER_BATTLE_GIRL_HELEN_4 635
+#define TRAINER_BIRD_KEEPER_BRIANNA_2 636
+#define TRAINER_BIRD_KEEPER_BRIANNA_3 637
+#define TRAINER_BIRD_KEEPER_AUDREY_2 638
+#define TRAINER_PKMN_BREEDER_M_ALBERT_2 639
+#define TRAINER_PKMN_BREEDER_M_ALBERT_3 640
+#define TRAINER_PKMN_BREEDER_M_ALBERT_4 641
+#define TRAINER_PKMN_BREEDER_F_JENNIFER_2 642
+#define TRAINER_PKMN_BREEDER_F_JENNIFER_3 643
+#define TRAINER_PKMN_BREEDER_F_JENNIFER_4 644
+#define TRAINER_CAMPER_ZACKARY_2 645
+#define TRAINER_CAMPER_ZACKARY_3 646
+#define TRAINER_CAMPER_ZACKARY_4 647
+#define TRAINER_ACE_TRAINER_SNOW_M_DALTON_2 648
+#define TRAINER_ACE_TRAINER_SNOW_F_OLIVIA_2 649
+#define TRAINER_COLLECTOR_IVAN_2 650
+#define TRAINER_COWGIRL_ANGELICA_2 651
+#define TRAINER_COWGIRL_ANGELICA_3 652
+#define TRAINER_CYCLIST_M_JOHN_2 653
+#define TRAINER_CYCLIST_M_JOHN_3 654
+#define TRAINER_CYCLIST_M_JOHN_4 655
+#define TRAINER_CYCLIST_F_KAYLA_2 656
+#define TRAINER_CYCLIST_F_KAYLA_3 657
+#define TRAINER_CYCLIST_F_KAYLA_4 658
+#define TRAINER_DRAGON_TAMER_PATRICK_2 659
+#define TRAINER_DRAGON_TAMER_PATRICK_3 660
+#define TRAINER_DRAGON_TAMER_HAYDEN_2 661
+#define TRAINER_DRAGON_TAMER_GEOFFREY_2 662
+#define TRAINER_ACE_TRAINER_M_JAKE_2 663
+#define TRAINER_ACE_TRAINER_M_DENNIS_2 664
+#define TRAINER_ACE_TRAINER_M_DENNIS_3 665
+#define TRAINER_ACE_TRAINER_M_RODOLFO_2 666
+#define TRAINER_ACE_TRAINER_M_SAUL_2 667
+#define TRAINER_ACE_TRAINER_F_SHANNON_2 668
+#define TRAINER_ACE_TRAINER_F_MAYA_2 669
+#define TRAINER_ACE_TRAINER_F_MAYA_3 670
+#define TRAINER_ACE_TRAINER_F_DEANNA_2 671
+#define TRAINER_ACE_TRAINER_F_ARIANA_2 672
+#define TRAINER_PSYCHIC_M_MITCHELL_2 673
+#define TRAINER_PSYCHIC_M_MITCHELL_3 674
+#define TRAINER_PSYCHIC_M_MAXWELL_2 675
+#define TRAINER_PSYCHIC_M_CORBIN_2 676
+#define TRAINER_PSYCHIC_F_ABIGAIL_2 677
+#define TRAINER_PSYCHIC_F_ABIGAIL_3 678
+#define TRAINER_PSYCHIC_F_BRITTNEY_2 679
+#define TRAINER_PSYCHIC_F_DAISY_2 680
+#define TRAINER_RANCHER_MARCO_2 681
+#define TRAINER_RANCHER_MARCO_3 682
+#define TRAINER_FISHERMAN_JOSEPH_2 683
+#define TRAINER_FISHERMAN_JOSEPH_3 684
+#define TRAINER_FISHERMAN_MIGUEL_2 685
+#define TRAINER_FISHERMAN_ALEC_2 686
+#define TRAINER_TWINS_TERI_TIA_2 687
+#define TRAINER_TWINS_TERI_TIA_3 688
+#define TRAINER_PI_CARLOS_2 689
+#define TRAINER_PI_CARLOS_3 690
+#define TRAINER_GENTLEMAN_JEREMY_2 691
+#define TRAINER_GENTLEMAN_JEREMY_3 692
+#define TRAINER_GENTLEMAN_JEREMY_4 693
+#define TRAINER_GUITARIST_TONY_2 694
+#define TRAINER_RUIN_MANIAC_HARRY_2 695
+#define TRAINER_RUIN_MANIAC_HARRY_3 696
+#define TRAINER_JOGGER_CRAIG_2 697
+#define TRAINER_JOGGER_CRAIG_3 698
+#define TRAINER_BLACK_BELT_PHILIP_2 699
+#define TRAINER_BLACK_BELT_DAVON_2 700
+#define TRAINER_SOCIALITE_REINA_2 701
+#define TRAINER_SOCIALITE_REINA_3 702
+#define TRAINER_LASS_SAMANTHA_2 703
+#define TRAINER_LASS_SAMANTHA_3 704
+#define TRAINER_LASS_SAMANTHA_4 705
+#define TRAINER_LASS_MADELINE_2 706
+#define TRAINER_LASS_MADELINE_3 707
+#define TRAINER_LASS_MADELINE_4 708
+#define TRAINER_HIKER_THEODORE_2 709
+#define TRAINER_HIKER_THEODORE_3 710
+#define TRAINER_HIKER_THEODORE_4 711
+#define TRAINER_BUG_CATCHER_BRANDON_2 712
+#define TRAINER_BUG_CATCHER_BRANDON_3 713
+#define TRAINER_BUG_CATCHER_BRANDON_4 714
+#define TRAINER_PARASOL_LADY_ALEXA_2 715
+#define TRAINER_PARASOL_LADY_ALEXA_3 716
+#define TRAINER_PARASOL_LADY_ALEXA_4 717
+#define TRAINER_PICNICKER_KARINA_2 718
+#define TRAINER_PICNICKER_KARINA_3 719
+#define TRAINER_PICNICKER_KARINA_4 720
+#define TRAINER_POKE_KID_DANIELLE_2 721
+#define TRAINER_POKE_KID_DANIELLE_3 722
+#define TRAINER_POKE_KID_DANIELLE_4 723
+#define TRAINER_POLICEMAN_DANNY_2 724
+#define TRAINER_POLICEMAN_DANNY_3 725
+#define TRAINER_POLICEMAN_DANNY_4 726
+#define TRAINER_RICH_BOY_TREY_2 727
+#define TRAINER_RICH_BOY_TREY_3 728
+#define TRAINER_LADY_MELISSA_2 729
+#define TRAINER_LADY_MELISSA_3 730
+#define TRAINER_LADY_MELISSA_4 731
+#define TRAINER_PKMN_RANGER_M_TAYLOR_2 732
+#define TRAINER_PKMN_RANGER_M_TAYLOR_3 733
+#define TRAINER_PKMN_RANGER_M_TAYLOR_4 734
+#define TRAINER_PKMN_RANGER_M_KYLER_2 735
+#define TRAINER_PKMN_RANGER_F_ALLISON_2 736
+#define TRAINER_PKMN_RANGER_F_ALLISON_3 737
+#define TRAINER_PKMN_RANGER_F_ALLISON_4 738
+#define TRAINER_PKMN_RANGER_F_ASHLEE_2 739
+#define TRAINER_SAILOR_MARC_2 740
+#define TRAINER_SAILOR_MARC_3 741
+#define TRAINER_SAILOR_ZACHARIAH_2 742
+#define TRAINER_SCIENTIST_SHAUN_2 743
+#define TRAINER_SCIENTIST_SHAUN_3 744
+#define TRAINER_SCIENTIST_SHAUN_4 745
+#define TRAINER_NINJA_BOY_ZACH_2 746
+#define TRAINER_NINJA_BOY_ZACH_3 747
+#define TRAINER_NINJA_BOY_ZACH_4 748
+#define TRAINER_BEAUTY_CYNDY_2 749
+#define TRAINER_BEAUTY_CYNDY_3 750
+#define TRAINER_SKIER_M_EDWARD_2 751
+#define TRAINER_SKIER_M_EDWARD_3 752
+#define TRAINER_SKIER_M_BJORN_2 753
+#define TRAINER_SKIER_M_BJORN_3 754
+#define TRAINER_SKIER_F_ANDREA_2 755
+#define TRAINER_SKIER_F_ANDREA_3 756
+#define TRAINER_SKIER_F_MADISON_2 757
+#define TRAINER_SKIER_F_MADISON_3 758
+#define TRAINER_SWIMMER_M_WESLEY_2 759
+#define TRAINER_SWIMMER_M_FRANCISCO_2 760
+#define TRAINER_SWIMMER_M_GLENN_2 761
+#define TRAINER_SWIMMER_F_MIRANDA_2 762
+#define TRAINER_SWIMMER_F_CRYSTAL_2 763
+#define TRAINER_SWIMMER_F_JOANNA_2 764
+#define TRAINER_YOUNGSTER_TRISTAN_2 765
+#define TRAINER_YOUNGSTER_TRISTAN_3 766
+#define TRAINER_YOUNGSTER_TRISTAN_4 767
+#define TRAINER_YOUNGSTER_DALLAS_2 768
+#define TRAINER_YOUNGSTER_DALLAS_3 769
+#define TRAINER_YOUNGSTER_DALLAS_4 770
+#define TRAINER_TUBER_M_JARED_2 771
+#define TRAINER_TUBER_M_JARED_3 772
+#define TRAINER_TUBER_F_CHELSEA_2 773
+#define TRAINER_VETERAN_BRIAN_2 774
+#define TRAINER_TUBER_F_CHELSEA_3 775
+#define TRAINER_VETERAN_BRIAN_3 776
+#define TRAINER_VETERAN_ARMANDO_2 777
+#define TRAINER_VETERAN_MICKEY_5 778
+#define TRAINER_CAMERAMAN_MICKEY_2 779
+#define TRAINER_CAMERAMAN_MICKEY_3 780
+#define TRAINER_CAMERAMAN_MICKEY_4 781
+#define TRAINER_CAMERAMAN_MICKEY_5 782
+#define TRAINER_CAMERAMAN_MICKEY_6 783
+#define TRAINER_GUITARIST_MICKEY_8 784
+#define TRAINER_GUITARIST_ARTURO_2 785
+#define TRAINER_GUITARIST_ARTURO_3 786
+#define TRAINER_GUITARIST_MICKEY_9 787
+#define TRAINER_GUITARIST_MICKEY_10 788
+#define TRAINER_GUITARIST_MICKEY_11 789
+#define TRAINER_IDOL_ANGELICA_5 790
+#define TRAINER_IDOL_ANGELICA_6 791
+#define TRAINER_IDOL_ANGELICA_7 792
+#define TRAINER_IDOL_ANGELICA_8 793
+#define TRAINER_IDOL_ANGELICA_9 794
+#define TRAINER_INTERVIEWERS_TARA_TIM 795
+#define TRAINER_INTERVIEWERS_TARA_TIM_2 796
+#define TRAINER_INTERVIEWERS_TARA_TIM_3 797
+#define TRAINER_INTERVIEWERS_TARA_TIM_4 798
+#define TRAINER_CLOWN_MICKEY_6 799
+#define TRAINER_CLOWN_MICKEY_7 800
+#define TRAINER_CLOWN_MICKEY_8 801
+#define TRAINER_CLOWN_MICKEY_9 802
+#define TRAINER_CLOWN_MICKEY_10 803
+#define TRAINER_POKE_KID_ANGELICA 804
+#define TRAINER_POKE_KID_ANGELICA_2 805
+#define TRAINER_POKE_KID_ANGELICA_3 806
+#define TRAINER_POKE_KID_ANGELICA_4 807
+#define TRAINER_POLICEMAN_MICKEY_2 808
+#define TRAINER_REPORTER_ANGELICA 809
+#define TRAINER_REPORTER_ANGELICA_2 810
+#define TRAINER_REPORTER_ANGELICA_3 811
+#define TRAINER_REPORTER_ANGELICA_4 812
+#define TRAINER_SCIENTIST_MICKEY_6 813
+#define TRAINER_SWIMMER_M_MICKEY_8 814
+#define TRAINER_WAITER_MICKEY_5 815
+#define TRAINER_WORKER_MICKEY_6 816
+#define TRAINER_YOUNGSTER_ROLAND 817
+#define TRAINER_LASS_CARRIE 818
+#define TRAINER_YOUNGSTER_NORMAN 819
+#define TRAINER_YOUNGSTER_ROLAND_2 820
+#define TRAINER_LASS_CARRIE_2 821
+#define TRAINER_YOUNGSTER_NORMAN_2 822
+#define TRAINER_YOUNGSTER_ROLAND_3 823
+#define TRAINER_LASS_CARRIE_3 824
+#define TRAINER_YOUNGSTER_NORMAN_3 825
+#define TRAINER_TOWER_TYCOON_PALMER 826
+#define TRAINER_ACE_TRAINER_SNOW_M_ANTON 827
+#define TRAINER_ACE_TRAINER_SNOW_F_BRENNA 828
+#define TRAINER_SCIENTIST_DARRIUS 829
+#define TRAINER_SCIENTIST_FREDRICK 830
+#define TRAINER_SCIENTIST_TRAVON 831
+#define TRAINER_POKE_KID_JANET 832
+#define TRAINER_GALACTIC_GRUNT_31 833
+#define TRAINER_GALACTIC_GRUNT_32 834
+#define TRAINER_GALACTIC_GRUNT_33 835
+#define TRAINER_GALACTIC_GRUNT_34 836
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_19 837
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_20 838
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_21 839
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_22 840
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_23 841
+#define TRAINER_PKMN_TRAINER_BARRY_CEDRIC_24 842
+#define TRAINER_GALACTIC_GRUNT_35 843
+#define TRAINER_WORKER_DILLAN 844
+#define TRAINER_WORKER_HOLDEN 845
+#define TRAINER_WORKER_CONRAD 846
+#define TRAINER_GALACTIC_GRUNT_36 847
+#define TRAINER_GALACTIC_GRUNT_37 848
+#define TRAINER_GALACTIC_GRUNT_38 849
+
+#endif //POKEDIAMOND_CONSTANTS_TRAINERS_H
diff --git a/include/pokedex.h b/include/pokedex.h
index 11058569..891fddb5 100644
--- a/include/pokedex.h
+++ b/include/pokedex.h
@@ -2,6 +2,8 @@
#define POKEDIAMOND_POKEDEX_H
#include "global.h"
+#include "pokemon.h"
+#include "save_block_2.h"
struct Pokedex
{
diff --git a/include/pokemon.h b/include/pokemon.h
index 097df9e0..d107bf85 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -142,8 +142,8 @@ struct PartyPokemon
/* 0x096 */ u16 speed;
/* 0x098 */ u16 spatk;
/* 0x09A */ u16 spdef;
- /* 0x09C */ struct Mail seal_something; // a struct?
- /* 0x0D4 */ u8 sealCoords[0x18]; // u8 pairs?
+ /* 0x09C */ struct Mail mail;
+ /* 0x0D4 */ u8 sealCoords[8][3]; // seal coords
};
struct Pokemon {
@@ -263,6 +263,7 @@ void FUN_02069038(u32 a0, u32 a1, u32 a2, s32 a3, u32 a4, u32 a5, u32 a6);
void FUN_020690AC(struct SomeDrawPokemonStruct * a0, u32 a1);
u32 FUN_020690C4(void);
u32 FUN_020690C8(void);
+u8 GetBoxMonUnownLetter(struct BoxPokemon * boxmon);
u8 GetMonUnownLetter(struct Pokemon * pokemon);
struct BoxPokemon * FUN_020690E4(struct Pokemon * pokemon);
@@ -278,21 +279,21 @@ u32 FUN_02069818(struct Pokemon * pokemon, u32 * r5, u16 * sp0);
void FUN_020698E0(struct Pokemon * pokemon, int slot1, int slot2);
void FUN_020698E8(struct BoxPokemon * boxmon, int slot1, int slot2);
void FUN_020699A4(struct Pokemon * pokemon, u32 slot);
-void FUN_02069A64(struct BoxPokemon * src, struct Pokemon * dest);
-u8 FUN_02069AEC(struct PlayerParty * party);
+void CopyBoxPokemonToPokemon(struct BoxPokemon * src, struct Pokemon * dest);
+u8 Party_GetMaxLevel(struct PlayerParty * party);
u16 SpeciesToSinnohDexNo(u16 species);
-u16 FUN_02069B60(u16 sinnoh_dex);
-void FUN_02069B88(struct Pokemon * src, struct Pokemon * dest);
-void FUN_02069BA0(struct Pokemon * src, struct BoxPokemon * dest);
-void FUN_02069BB4(struct BoxPokemon * src, struct BoxPokemon * dest);
-s8 FUN_02069BC8(struct Pokemon * pokemon, int flavor);
-int FUN_02069BFC(u16 species, u32 forme, u16 * dest);
-void FUN_02069C4C(struct PlayerParty * party);
-void FUN_02069D50(struct PlayerParty * party, int r5);
-void FUN_02069DC8(struct PlayerParty * party);
-BOOL FUN_02069E74(struct Pokemon * pokemon);
-BOOL FUN_02069E94(struct Pokemon * pokemon);
-void FUN_02069EC4(struct Pokemon * pokemon);
+u16 SinnohDexNoToSpecies(u16 sinnoh_dex);
+void CopyPokemonToPokemon(struct Pokemon * src, struct Pokemon * dest);
+void CopyPokemonToBoxPokemon(struct Pokemon * src, struct BoxPokemon * dest);
+void CopyBoxPokemonToBoxPokemon(struct BoxPokemon * src, struct BoxPokemon * dest);
+s8 MonGetFlavorPreference(struct Pokemon * pokemon, int flavor);
+int Species_LoadLearnsetTable(u16 species, u32 forme, u16 * dest);
+void Party_GivePokerusAtRandom(struct PlayerParty * party);
+void Party_UpdatePokerus(struct PlayerParty * party, int r5);
+void Party_SpreadPokerus(struct PlayerParty * party);
+BOOL Pokemon_HasPokerus(struct Pokemon * pokemon);
+BOOL Pokemon_IsImmuneToPokerus(struct Pokemon * pokemon);
+void Pokemon_UpdateArceusForme(struct Pokemon * pokemon);
void FUN_02069FB0(u32 r7, u32 r5, u32 r4, u32 r6, u32 sp18, u32 sp1C, u32 sp20);
void FUN_0206A014(struct Pokemon * pokemon, struct PlayerData * a1, u32 pokeball, u32 a3, u32 encounterType, u32 heap_id);
void FUN_0206A094(struct Pokemon * pokemon, u32 a1, u32 a2);
@@ -304,7 +305,7 @@ BOOL IsPokemonLegendaryOrMythical(u16 species);
u16 GetLegendaryMon(u32 idx);
BOOL FUN_0206A998(struct Pokemon * pokemon);
BOOL FUN_0206A9AC(struct BoxPokemon * boxmon, struct PlayerData * sb2, u32 heap_id);
-void FUN_0206AA84(struct Pokemon * pokemon);
+void Pokemon_RemoveCapsule(struct Pokemon * pokemon);
void RestoreBoxMonPP(struct BoxPokemon * boxmon);
#endif //POKEDIAMOND_POKEMON_H
diff --git a/include/proto.h b/include/proto.h
index 365c0ecd..7af3f19d 100644
--- a/include/proto.h
+++ b/include/proto.h
@@ -7,7 +7,7 @@
#include "string16.h" // for struct definitions
#include "player_data.h" // for struct definitions
-int FUN_0206AE00(int x);
+int TrainerClass_GetGenderOrTrainerCount(int x);
int FUN_02014C3C(u8);
void FUN_02014C54(int, int, struct UnkStruct_02069038 *, u8);
u32 IsNighttime(void); // is day or night
diff --git a/include/script_buffers.h b/include/script_buffers.h
index 63aaf65d..d0fff528 100644
--- a/include/script_buffers.h
+++ b/include/script_buffers.h
@@ -3,6 +3,7 @@
#include "pokemon.h"
#include "pokemon_storage_system.h"
+#include "trainer_data.h"
struct UnkStruct_0200AA80_sub_sub
{
@@ -23,12 +24,6 @@ struct ScrStrBufs
struct String * tmpbuf;
};
-struct Trainer
-{
- u8 unk0;
- u8 unk1;
-};
-
struct UnkStruct_0200B870_sub
{
u8 filler_00[16];
@@ -75,9 +70,9 @@ void BufferLandmarkName(struct ScrStrBufs * mgr, u32 idx, u32 landmark);
void BufferPoketchAppName(struct ScrStrBufs * mgr, u32 idx, u32 app);
void BufferTrainerClassName(struct ScrStrBufs * mgr, u32 idx, u32 trclass);
void BufferTrainerClassNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 trclass);
-void BufferTrainerClassName2(struct ScrStrBufs * mgr, u32 idx, struct Trainer * tr);
-void FUN_0200B10C(struct ScrStrBufs * mgr, u32 idx, u32 msgno);
-void FUN_0200B144(struct ScrStrBufs * mgr, u32 idx, void * unk_struct);
+void BufferTrainerClassNameFromDataStruct(struct ScrStrBufs * mgr, u32 idx, struct TrainerDataLoaded * tr);
+void BufferTrainerName(struct ScrStrBufs * mgr, u32 idx, u32 msgno);
+void BufferTrainerNameFromDataStruct(struct ScrStrBufs * mgr, u32 idx, struct TrainerDataLoaded * trdata);
void BufferUndergroundItemName(struct ScrStrBufs * mgr, u32 idx, u32 item);
void BufferUndergroundItemNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 item);
void BufferUndergroundTrapName(struct ScrStrBufs * mgr, u32 idx, u32 trap);
@@ -103,13 +98,13 @@ void BufferPoffinName(struct ScrStrBufs * mgr, u32 idx, u32 poffin);
void BufferFashionName(struct ScrStrBufs * mgr, u32 idx, u32 fashion);
void BufferFashionNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 fashion);
void BufferContestBackgroundName(struct ScrStrBufs * mgr, u32 idx, u32 bg);
-void FUN_0200B708(struct ScrStrBufs * mgr, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28);
+void BufferEasyChatWord(struct ScrStrBufs * mgr, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28);
void BufferMonthNameAbbr(struct ScrStrBufs * mgr, u32 idx, u32 month);
-void FUN_0200B7A8(struct ScrStrBufs * mgr, u32 idx);
+void ScrStrBufs_UpperFirstChar(struct ScrStrBufs * mgr, u32 idx);
void StringExpandPlaceholders(struct ScrStrBufs * mgr, struct String * dest, struct String * src);
-void FUN_0200B84C(struct ScrStrBufs * mgr);
-struct UnkStruct_0200B870 * FUN_0200B870(u32 r5, u32 r6, u32 sp4, u32 r4);
-void FUN_0200B990(struct UnkStruct_0200B870 * a0);
+void ScrStrBufs_ResetBuffers(struct ScrStrBufs * mgr);
+struct UnkStruct_0200B870 * MessagePrinter_new(u32 r5, u32 r6, u32 sp4, u32 r4);
+void MessagePrinter_delete(struct UnkStruct_0200B870 * a0);
void FUN_0200B9A8(struct UnkStruct_0200B870 * a0, int a1, int a2, int a3, int a4);
void FUN_0200B9EC(struct UnkStruct_0200B870 * string, u32 value, u32 n, enum PrintingMode mode, int sp30, int r5, int r7);
diff --git a/include/seal.h b/include/seal.h
new file mode 100644
index 00000000..7c4b04a5
--- /dev/null
+++ b/include/seal.h
@@ -0,0 +1,24 @@
+#ifndef POKEDIAMOND_SEAL_H
+#define POKEDIAMOND_SEAL_H
+
+typedef u8 Coords8[3];
+typedef Coords8 CapsuleArray[8];
+
+struct SealCase
+{
+ CapsuleArray coords[12];
+ u8 sealCounts[80];
+};
+
+u32 Sav2_SealCase_sizeof(void);
+void Sav2_SealCase_init(struct SealCase * sealCase);
+void CapsuleArray_copy(const CapsuleArray * a0, CapsuleArray * a1);
+struct SealCase * Sav2_SealCase_get(struct SaveBlock2 * sav2);
+CapsuleArray * SealCase_GetCapsuleI(struct SealCase * sealCase, s32 idx);
+void SealCase_SetCapsuleI(struct SealCase * sealCase, const CapsuleArray * src, s32 idx);
+Coords8 * Capsule_GetSealI(CapsuleArray * a0, s32 a1);
+s32 Seal_GetId(Coords8 * a0);
+s32 Seal_GetXCoord(Coords8 * a0);
+s32 Seal_GetYCoord(Coords8 * a0);
+
+#endif //POKEDIAMOND_SEAL_H
diff --git a/include/trainer_data.h b/include/trainer_data.h
index 6a5b69a4..8a63e290 100644
--- a/include/trainer_data.h
+++ b/include/trainer_data.h
@@ -2,6 +2,8 @@
#define POKEDIAMOND_TRAINER_DATA_H
#include "global.h"
+#include "save_block_2.h"
+#include "string16.h"
#include "constants/pokemon.h"
struct TrainerMonSpecies
@@ -57,7 +59,7 @@ struct TrainerData
u8 npoke;
u16 items[4];
u32 unk_C;
- u32 unk_10;
+ u32 doubleBattle;
};
struct TrainerDataLoaded
@@ -67,7 +69,7 @@ struct TrainerDataLoaded
u8 padding[16];
};
-struct EnemyTrainerSet
+struct BattleSetupStruct
{
u32 flags;
struct PlayerParty * parties[4];
@@ -76,4 +78,13 @@ struct EnemyTrainerSet
struct TrainerDataLoaded datas[4];
};
+void EnemyTrainerSet_Init(struct BattleSetupStruct * sp0, struct SaveBlock2 * r4, u32 sp4);
+s32 TrainerData_GetAttr(u32 tr_idx, u32 attr_no);
+BOOL TrainerMessageWithIdPairExists(u32 pos, u32 idx, u32 heap_id);
+void GetTrainerMessageByIdPair(u32 pos, u32 idx, struct String * str, u32 heap_id);
+void TrainerData_ReadTrData(u32 idx, struct TrainerData * dest);
+void TrainerData_ReadTrPoke(u32 idx, union TrainerMon * dest);
+int TrainerClass_GetGenderOrTrainerCount(int a0);
+void CreateNPCTrainerParty(struct BattleSetupStruct * enemies, s32 party_id, u32 heap_id);
+
#endif //POKEDIAMOND_TRAINER_DATA_H
diff --git a/include/unk_020139D8.h b/include/unk_020139D8.h
index 652c9caf..3960a4be 100644
--- a/include/unk_020139D8.h
+++ b/include/unk_020139D8.h
@@ -13,12 +13,12 @@ struct UnkStruct_02013B28
u32 unk_4;
};
-struct UnkStruct_020139D8 * FUN_020139D8(u32 heap_id);
-void FUN_02013A10(struct UnkStruct_020139D8 * unk);
-void FUN_02013A30(struct UnkStruct_020139D8 * unk, u16 a1, struct String * str);
-void FUN_02013A58(u16 a0, struct String * a1);
-u16 FUN_02013A9C(u16 a0, u16 a1);
-void FUN_02013AEC(u32 a0, s32 * a1, s32 * a2);
+struct UnkStruct_020139D8 * EasyChatManager_new(u32 heap_id);
+void EasyChatManager_delete(struct UnkStruct_020139D8 * unk);
+void EasyChatManager_ReadWordIntoString(struct UnkStruct_020139D8 * unk, u16 a1, struct String * str);
+void GetECWordIntoStringByIndex(u16 a0, struct String * a1);
+u16 GetECWordIndexByPair(u16 a0, u16 a1);
+void GetCategoryAndMsgNoByECWordIdx(u32 a0, s32 * a1, s32 * a2);
u32 FUN_02013B28(void);
void FUN_02013B2C(struct UnkStruct_02013B28 * unk);
struct UnkStruct_02013B28 * FUN_02013B5C(struct SaveBlock2 * sav2);
diff --git a/include/unk_02021FF8.h b/include/unk_02021FF8.h
new file mode 100644
index 00000000..59120668
--- /dev/null
+++ b/include/unk_02021FF8.h
@@ -0,0 +1,30 @@
+#ifndef POKEDIAMOND_UNK_02021FF8_H
+#define POKEDIAMOND_UNK_02021FF8_H
+
+struct UnkStruct_020220C4_sub
+{
+ u8 field_0;
+ u8 field_1;
+ u16 field_2;
+};
+
+struct UnkStruct_020220C4
+{
+ u8 * field_0;
+ u32 field_4;
+ void (*field_8)(s32, s32, u32);
+ u32 field_C;
+ struct UnkStruct_020220C4_sub * field_10;
+};
+
+BOOL String_IsTrainerName(struct String * string);
+void StringCat_HandleTrainerName(struct String * dest, struct String * src);
+struct UnkStruct_020220C4 * FUN_020220C4(u8 * a0, u32 a1, void (*a2)(s32, s32, u32), u32 a3, u32 a4);
+void FUN_02022120(struct UnkStruct_020220C4_sub * sub);
+void FUN_0202212C(struct UnkStruct_020220C4 * unk);
+void FUN_02022144(struct UnkStruct_020220C4 * unk);
+s32 FUN_020221EC(struct UnkStruct_020220C4_sub * a0, u32 a1, u32 a2);
+s32 FUN_02022208(struct UnkStruct_020220C4_sub * a0, u32 a1, u32 a2);
+void FUN_0202223C(struct UnkStruct_020220C4_sub * a0, u8 a1);
+
+#endif //POKEDIAMOND_UNK_02021FF8_H
diff --git a/include/unk_0206B688.h b/include/unk_0206B688.h
new file mode 100644
index 00000000..cf8136b1
--- /dev/null
+++ b/include/unk_0206B688.h
@@ -0,0 +1,21 @@
+#ifndef POKEDIAMOND_UNK_0206B688_H
+#define POKEDIAMOND_UNK_0206B688_H
+
+#include "pokemon.h"
+
+u32 FUN_0206B688(struct BoxPokemon * boxmon);
+u32 FUN_0206B6C8(struct Pokemon * pokemon);
+u32 FUN_0206B6D4(u32 species, u32 is_egg, u32 forme);
+u16 BoxMon_GetAlternateForme(struct BoxPokemon * boxmon);
+u32 FUN_0206B7BC(u32 species, u32 forme, u32 is_egg);
+u32 FUN_0206B83C(struct BoxPokemon * boxmon);
+u32 FUN_0206B87C(struct Pokemon * pokemon);
+u32 FUN_0206B888(void);
+u32 FUN_0206B88C(void);
+u32 FUN_0206B890(void);
+u32 FUN_0206B894(void);
+u32 FUN_0206B898(void);
+u32 FUN_0206B89C(void);
+u32 FUN_0206B8A0(void);
+
+#endif //POKEDIAMOND_UNK_0206B688_H
diff --git a/include/unk_0206BB28.h b/include/unk_0206BB28.h
new file mode 100644
index 00000000..ff60e220
--- /dev/null
+++ b/include/unk_0206BB28.h
@@ -0,0 +1,12 @@
+#ifndef POKEDIAMOND_UNK_0206BB28_H
+#define POKEDIAMOND_UNK_0206BB28_H
+
+#include "save_block_2.h"
+#include "pokedex.h"
+#include "pokemon.h"
+
+BOOL FUN_0206BB28(struct SaveBlock2 * sav2);
+BOOL FUN_0206BB34(struct Pokedex * pokedex);
+u32 FUN_0206BB48(BOOL isNationalDex, u32 species);
+
+#endif //POKEDIAMOND_UNK_0206BB28_H
diff --git a/tools/msgenc/msgenc.cpp b/tools/msgenc/msgenc.cpp
index 232a3bee..9ec21ed2 100644
--- a/tools/msgenc/msgenc.cpp
+++ b/tools/msgenc/msgenc.cpp
@@ -115,6 +115,9 @@ void encode_messages() {
for (auto message : files) {
u16string encoded;
uint16_t seed = i * 596947;
+ bool is_trname = false;
+ uint32_t trnamebuf = 0;
+ int bit = 0;
for (size_t j = 0; j < message.size(); j++) {
if (message[j] == '{') {
size_t k = message.find('}', j);
@@ -144,6 +147,9 @@ void encode_messages() {
for (auto num_i : args) {
encoded += enc_short(num_i, seed);
}
+ } else if (command == "TRNAME") {
+ is_trname = true;
+ encoded += enc_short(0xF100, seed);
} else {
encoded += enc_short(stoi(enclosed, nullptr, 16), seed);
}
@@ -162,10 +168,29 @@ void encode_messages() {
ss << "unrecognized character: file " << i << " pos " << (j + 1);
throw runtime_error(ss.str());
}
- encoded += enc_short(code, seed);
+ if (is_trname) {
+ if (code & ~0x1FF) {
+ stringstream ss;
+ ss << "invalid character for bitpacked string: " << substr;
+ throw runtime_error(ss.str());
+ }
+ trnamebuf |= code << bit;
+ bit += 9;
+ if (bit >= 15) {
+ bit -= 15;
+ encoded += enc_short(trnamebuf & 0x7FFF, seed);
+ trnamebuf >>= 15;
+ }
+ } else {
+ encoded += enc_short(code, seed);
+ }
j += k;
}
}
+ if (is_trname && bit > 1) {
+ trnamebuf |= 0xFFFF << bit;
+ encoded += enc_short(trnamebuf & 0x7FFF, seed);
+ }
encoded += enc_short(0xFFFF, seed);
MsgAlloc alloc {0, 0};
if (i > 1) {