diff options
42 files changed, 1781 insertions, 2235 deletions
@@ -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..6abd904a 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -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..affbe1c1 100644 --- a/arm9/asm/scrcmd.s +++ b/arm9/asm/scrcmd.s @@ -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..a434a5cb 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 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_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_0206F3FC.s b/arm9/asm/unk_0206F3FC.s index db3328a4..212030cc 100644 --- a/arm9/asm/unk_0206F3FC.s +++ b/arm9/asm/unk_0206F3FC.s @@ -5672,7 +5672,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 +5715,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] 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_02079C70.s b/arm9/asm/unk_02079C70.s index c701f1a8..33c0a040 100644 --- a/arm9/asm/unk_02079C70.s +++ b/arm9/asm/unk_02079C70.s @@ -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/global.inc b/arm9/global.inc index c039fd35..fa50aacb 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -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..02bc8f52 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] @@ -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..05283e3d 100644 --- a/arm9/modules/07/asm/module_07.s +++ b/arm9/modules/07/asm/module_07.s @@ -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/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s index a962fbf2..6b184294 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 @@ -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..53969b45 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} 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..73025559 100644 --- a/arm9/modules/62/asm/module_62.s +++ b/arm9/modules/62/asm/module_62.s @@ -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] 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/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s index 8e74df8f..667a4ae1 100644 --- a/arm9/modules/80/asm/module_80.s +++ b/arm9/modules/80/asm/module_80.s @@ -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/pokemon.c b/arm9/src/pokemon.c index 48b1a225..7fe8191a 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); + FUN_02029C74(&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); + FUN_02029C74((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/trainer_data.c b/arm9/src/trainer_data.c new file mode 100644 index 00000000..7c52a78f --- /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 EnemyTrainerSet * 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 EnemyTrainerSet * 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_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/poketool/trainer/trdata.json b/files/poketool/trainer/trdata.json index 81b05ddd..e666bb53 100644 --- a/files/poketool/trainer/trdata.json +++ b/files/poketool/trainer/trdata.json @@ -7,7 +7,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -23,7 +23,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -39,7 +39,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -60,7 +60,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -81,7 +81,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -97,7 +97,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -113,7 +113,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -129,7 +129,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -145,7 +145,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -161,7 +161,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -182,7 +182,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -198,7 +198,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -214,7 +214,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -235,7 +235,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -256,7 +256,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -277,7 +277,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -297,7 +297,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -327,7 +327,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -358,7 +358,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -374,7 +374,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -390,7 +390,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -406,7 +406,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -447,7 +447,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -463,7 +463,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -489,7 +489,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -505,7 +505,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -521,7 +521,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -542,7 +542,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -558,7 +558,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -574,7 +574,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -595,7 +595,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -611,7 +611,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -632,7 +632,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -658,7 +658,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -679,7 +679,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -700,7 +700,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -731,7 +731,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -752,7 +752,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -773,7 +773,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -794,7 +794,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -820,7 +820,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -836,7 +836,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -852,7 +852,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -873,7 +873,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -894,7 +894,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -915,7 +915,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -941,7 +941,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -967,7 +967,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1003,7 +1003,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1019,7 +1019,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1035,7 +1035,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1051,7 +1051,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1067,7 +1067,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1083,7 +1083,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1099,7 +1099,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -1120,7 +1120,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1146,7 +1146,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1172,7 +1172,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1188,7 +1188,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1204,7 +1204,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1220,7 +1220,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1236,7 +1236,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1252,7 +1252,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1268,7 +1268,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1284,7 +1284,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -1305,7 +1305,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1347,7 +1347,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1378,7 +1378,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -1421,7 +1421,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -1437,7 +1437,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1468,7 +1468,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1489,7 +1489,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1505,7 +1505,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1521,7 +1521,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1542,7 +1542,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 50,
@@ -1563,7 +1563,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1579,7 +1579,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1595,7 +1595,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1621,7 +1621,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -1647,7 +1647,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1668,7 +1668,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1686,7 +1686,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1704,7 +1704,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1722,7 +1722,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1740,7 +1740,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1756,7 +1756,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1772,7 +1772,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1788,7 +1788,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1809,7 +1809,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1830,7 +1830,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1851,7 +1851,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1867,7 +1867,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1888,7 +1888,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1919,7 +1919,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1940,7 +1940,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1961,7 +1961,7 @@ "unk2": 0,
"items": [],
"unkC": 0,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -1982,7 +1982,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -1998,7 +1998,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2014,7 +2014,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2036,7 +2036,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2052,7 +2052,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2068,7 +2068,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2089,7 +2089,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2115,7 +2115,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2136,7 +2136,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2157,7 +2157,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2178,7 +2178,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2204,7 +2204,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2226,7 +2226,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2242,7 +2242,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2263,7 +2263,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2289,7 +2289,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -2310,7 +2310,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2336,7 +2336,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2352,7 +2352,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2368,7 +2368,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2384,7 +2384,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2400,7 +2400,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2416,7 +2416,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2437,7 +2437,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2463,7 +2463,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -2501,7 +2501,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2517,7 +2517,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2533,7 +2533,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2549,7 +2549,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2565,7 +2565,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2581,7 +2581,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -2607,7 +2607,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -2623,7 +2623,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -2649,7 +2649,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2665,7 +2665,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2681,7 +2681,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2714,7 +2714,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2758,7 +2758,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2780,7 +2780,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2824,7 +2824,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2850,7 +2850,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2866,7 +2866,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2887,7 +2887,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -2903,7 +2903,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2947,7 +2947,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -2980,7 +2980,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3011,7 +3011,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3032,7 +3032,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3053,7 +3053,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3069,7 +3069,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3100,7 +3100,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3121,7 +3121,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -3147,7 +3147,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3163,7 +3163,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3179,7 +3179,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3195,7 +3195,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3211,7 +3211,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3232,7 +3232,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3268,7 +3268,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -3289,7 +3289,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3305,7 +3305,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3321,7 +3321,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3337,7 +3337,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3363,7 +3363,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3379,7 +3379,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3400,7 +3400,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3431,7 +3431,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3452,7 +3452,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3496,7 +3496,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -3517,7 +3517,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3538,7 +3538,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3554,7 +3554,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3580,7 +3580,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3596,7 +3596,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -3628,7 +3628,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -3669,7 +3669,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3695,7 +3695,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3716,7 +3716,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3747,7 +3747,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3773,7 +3773,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3789,7 +3789,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3805,7 +3805,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3821,7 +3821,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3837,7 +3837,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3863,7 +3863,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3879,7 +3879,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -3900,7 +3900,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3921,7 +3921,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3937,7 +3937,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3958,7 +3958,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -3984,7 +3984,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4000,7 +4000,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4026,7 +4026,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4042,7 +4042,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4063,7 +4063,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4089,7 +4089,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4110,7 +4110,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4131,7 +4131,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4147,7 +4147,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4178,7 +4178,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4198,7 +4198,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4214,7 +4214,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4230,7 +4230,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4246,7 +4246,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4262,7 +4262,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4288,7 +4288,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4314,7 +4314,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4335,7 +4335,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4351,7 +4351,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4370,7 +4370,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4389,7 +4389,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -4410,7 +4410,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4426,7 +4426,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4442,7 +4442,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4458,7 +4458,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4474,7 +4474,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4490,7 +4490,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4506,7 +4506,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4522,7 +4522,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4538,7 +4538,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4554,7 +4554,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4570,7 +4570,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4586,7 +4586,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4602,7 +4602,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4618,7 +4618,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4634,7 +4634,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4650,7 +4650,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -4671,7 +4671,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4715,7 +4715,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4737,7 +4737,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4770,7 +4770,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4803,7 +4803,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -4847,7 +4847,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -4880,7 +4880,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4896,7 +4896,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -4922,7 +4922,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -4955,7 +4955,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -4976,7 +4976,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5002,7 +5002,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5023,7 +5023,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -5044,7 +5044,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -5065,7 +5065,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5081,7 +5081,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5097,7 +5097,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -5141,7 +5141,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5157,7 +5157,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5173,7 +5173,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5189,7 +5189,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5209,7 +5209,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5242,7 +5242,7 @@ "ITEM_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -5282,7 +5282,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -5311,7 +5311,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -5340,7 +5340,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -5372,7 +5372,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -5419,7 +5419,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5435,7 +5435,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5451,7 +5451,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5467,7 +5467,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5483,7 +5483,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5499,7 +5499,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5540,7 +5540,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5561,7 +5561,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -5577,7 +5577,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5618,7 +5618,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5641,7 +5641,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -5715,7 +5715,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -5789,7 +5789,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -5863,7 +5863,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -5934,7 +5934,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -5950,7 +5950,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -5996,7 +5996,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -6079,7 +6079,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6112,7 +6112,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6134,7 +6134,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6178,7 +6178,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6210,7 +6210,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6236,7 +6236,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6262,7 +6262,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6288,7 +6288,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6314,7 +6314,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6340,7 +6340,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6361,7 +6361,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6392,7 +6392,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6425,7 +6425,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6469,7 +6469,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6501,7 +6501,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6533,7 +6533,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6555,7 +6555,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6588,7 +6588,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -6621,7 +6621,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6643,7 +6643,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -6675,7 +6675,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6696,7 +6696,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6717,7 +6717,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -6738,7 +6738,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6754,7 +6754,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6780,7 +6780,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -6821,7 +6821,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -6842,7 +6842,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -6875,7 +6875,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -6904,7 +6904,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -6924,7 +6924,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -6945,7 +6945,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -6966,7 +6966,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -6982,7 +6982,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7003,7 +7003,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7035,7 +7035,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7057,7 +7057,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7078,7 +7078,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7094,7 +7094,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7110,7 +7110,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7136,7 +7136,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7152,7 +7152,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7190,7 +7190,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7228,7 +7228,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7250,7 +7250,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7281,7 +7281,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -7302,7 +7302,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 40,
@@ -7327,7 +7327,7 @@ "ITEM_SUPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -7377,7 +7377,7 @@ "ITEM_SUPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -7427,7 +7427,7 @@ "ITEM_HYPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -7477,7 +7477,7 @@ "ITEM_HYPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -7527,7 +7527,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -7589,7 +7589,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -7648,7 +7648,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7664,7 +7664,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7685,7 +7685,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7711,7 +7711,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7741,7 +7741,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7762,7 +7762,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7783,7 +7783,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7804,7 +7804,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7820,7 +7820,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7850,7 +7850,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7881,7 +7881,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -7912,7 +7912,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7933,7 +7933,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7954,7 +7954,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7970,7 +7970,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -7986,7 +7986,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8002,7 +8002,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8018,7 +8018,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8039,7 +8039,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8070,7 +8070,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8092,7 +8092,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8114,7 +8114,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -8133,7 +8133,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8165,7 +8165,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8187,7 +8187,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -8206,7 +8206,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8222,7 +8222,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8238,7 +8238,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8259,7 +8259,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8275,7 +8275,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8291,7 +8291,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8307,7 +8307,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8323,7 +8323,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8339,7 +8339,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8355,7 +8355,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8371,7 +8371,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8391,7 +8391,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8424,7 +8424,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8445,7 +8445,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8461,7 +8461,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8482,7 +8482,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8498,7 +8498,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -8542,7 +8542,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8558,7 +8558,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8574,7 +8574,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8590,7 +8590,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8606,7 +8606,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -8637,7 +8637,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -8658,7 +8658,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8674,7 +8674,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8690,7 +8690,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8711,7 +8711,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -8727,7 +8727,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8748,7 +8748,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8764,7 +8764,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8780,7 +8780,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8796,7 +8796,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8816,7 +8816,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8848,7 +8848,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8878,7 +8878,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8908,7 +8908,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8934,7 +8934,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8960,7 +8960,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -8986,7 +8986,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9002,7 +9002,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9018,7 +9018,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9039,7 +9039,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9055,7 +9055,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9099,7 +9099,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9143,7 +9143,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9176,7 +9176,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9192,7 +9192,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9225,7 +9225,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9269,7 +9269,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -9313,7 +9313,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9329,7 +9329,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9345,7 +9345,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9361,7 +9361,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9382,7 +9382,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9403,7 +9403,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9424,7 +9424,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -9445,7 +9445,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9464,7 +9464,7 @@ "ITEM_SUPER_POTION"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -9514,7 +9514,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -9573,7 +9573,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9620,7 +9620,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9654,7 +9654,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9701,7 +9701,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9748,7 +9748,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -9795,7 +9795,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9826,7 +9826,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9842,7 +9842,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9872,7 +9872,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -9888,7 +9888,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9908,7 +9908,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9924,7 +9924,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9945,7 +9945,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9966,7 +9966,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -9992,7 +9992,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10008,7 +10008,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10029,7 +10029,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10050,7 +10050,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10071,7 +10071,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10111,7 +10111,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10127,7 +10127,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10148,7 +10148,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10191,7 +10191,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10212,7 +10212,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10228,7 +10228,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10244,7 +10244,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10265,7 +10265,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10286,7 +10286,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10302,7 +10302,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10318,7 +10318,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10334,7 +10334,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10350,7 +10350,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10366,7 +10366,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10382,7 +10382,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10398,7 +10398,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10414,7 +10414,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10430,7 +10430,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10446,7 +10446,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10462,7 +10462,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10483,7 +10483,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10499,7 +10499,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10515,7 +10515,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10536,7 +10536,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -10557,7 +10557,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10573,7 +10573,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10589,7 +10589,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10605,7 +10605,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10626,7 +10626,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10652,7 +10652,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10673,7 +10673,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10694,7 +10694,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10710,7 +10710,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10730,7 +10730,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10762,7 +10762,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10792,7 +10792,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10812,7 +10812,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10828,7 +10828,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10844,7 +10844,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10860,7 +10860,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10876,7 +10876,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10892,7 +10892,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10913,7 +10913,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10929,7 +10929,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10945,7 +10945,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10961,7 +10961,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -10977,7 +10977,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -11032,7 +11032,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -11087,7 +11087,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -11142,7 +11142,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 80,
@@ -11197,7 +11197,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 80,
@@ -11252,7 +11252,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 80,
@@ -11307,7 +11307,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -11373,7 +11373,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -11439,7 +11439,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -11505,7 +11505,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -11582,7 +11582,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -11659,7 +11659,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 200,
@@ -11736,7 +11736,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11762,7 +11762,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -11803,7 +11803,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11819,7 +11819,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11835,7 +11835,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11865,7 +11865,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11881,7 +11881,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11907,7 +11907,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11928,7 +11928,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11944,7 +11944,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11960,7 +11960,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11976,7 +11976,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -11992,7 +11992,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12008,7 +12008,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12024,7 +12024,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12050,7 +12050,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -12072,7 +12072,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -12104,7 +12104,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -12148,7 +12148,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -12192,7 +12192,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12208,7 +12208,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12224,7 +12224,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12245,7 +12245,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12261,7 +12261,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12282,7 +12282,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12308,7 +12308,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12324,7 +12324,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12345,7 +12345,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12361,7 +12361,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12387,7 +12387,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12403,7 +12403,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12424,7 +12424,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12445,7 +12445,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12466,7 +12466,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12482,7 +12482,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12508,7 +12508,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12529,7 +12529,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12555,7 +12555,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12571,7 +12571,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12592,7 +12592,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12613,7 +12613,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12639,7 +12639,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12655,7 +12655,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12681,7 +12681,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12702,7 +12702,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12728,7 +12728,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -12749,7 +12749,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -12796,7 +12796,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12812,7 +12812,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12838,7 +12838,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12854,7 +12854,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12880,7 +12880,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -12901,7 +12901,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -12922,7 +12922,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12938,7 +12938,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12954,7 +12954,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12975,7 +12975,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -12996,7 +12996,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13022,7 +13022,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13043,7 +13043,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -13072,7 +13072,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13095,7 +13095,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13116,7 +13116,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13137,7 +13137,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13153,7 +13153,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13174,7 +13174,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13190,7 +13190,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13212,7 +13212,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13228,7 +13228,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13244,7 +13244,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13260,7 +13260,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -13291,7 +13291,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13317,7 +13317,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13338,7 +13338,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13359,7 +13359,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -13385,7 +13385,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13406,7 +13406,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13422,7 +13422,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13438,7 +13438,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13459,7 +13459,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13485,7 +13485,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13506,7 +13506,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13539,7 +13539,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13561,7 +13561,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13594,7 +13594,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13627,7 +13627,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13660,7 +13660,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13682,7 +13682,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13715,7 +13715,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13748,7 +13748,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13781,7 +13781,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13803,7 +13803,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13836,7 +13836,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13880,7 +13880,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13913,7 +13913,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13957,7 +13957,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -13990,7 +13990,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14012,7 +14012,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14045,7 +14045,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14067,7 +14067,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14111,7 +14111,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14144,7 +14144,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14165,7 +14165,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14186,7 +14186,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14207,7 +14207,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14228,7 +14228,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14254,7 +14254,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14275,7 +14275,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14301,7 +14301,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14317,7 +14317,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14338,7 +14338,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14359,7 +14359,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14375,7 +14375,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14396,7 +14396,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14417,7 +14417,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -14438,7 +14438,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14459,7 +14459,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14475,7 +14475,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14496,7 +14496,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14522,7 +14522,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14543,7 +14543,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14564,7 +14564,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14585,7 +14585,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14611,7 +14611,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -14627,7 +14627,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -14671,7 +14671,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -14748,7 +14748,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14769,7 +14769,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14791,7 +14791,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14813,7 +14813,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14835,7 +14835,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14857,7 +14857,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14877,7 +14877,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14897,7 +14897,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14917,7 +14917,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14937,7 +14937,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14957,7 +14957,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -14977,7 +14977,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -15054,7 +15054,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 150,
@@ -15131,7 +15131,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15175,7 +15175,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15219,7 +15219,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15263,7 +15263,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15307,7 +15307,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15351,7 +15351,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 60,
@@ -15395,7 +15395,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15411,7 +15411,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15427,7 +15427,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15443,7 +15443,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15464,7 +15464,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15485,7 +15485,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15506,7 +15506,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -15527,7 +15527,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -15548,7 +15548,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -15569,7 +15569,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -15590,7 +15590,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -15611,7 +15611,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15632,7 +15632,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15658,7 +15658,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15684,7 +15684,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15710,7 +15710,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15736,7 +15736,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15762,7 +15762,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15788,7 +15788,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15810,7 +15810,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15832,7 +15832,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15854,7 +15854,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -15898,7 +15898,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -15931,7 +15931,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15957,7 +15957,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15973,7 +15973,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -15989,7 +15989,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16010,7 +16010,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16031,7 +16031,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16052,7 +16052,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16068,7 +16068,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16084,7 +16084,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16100,7 +16100,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16116,7 +16116,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16132,7 +16132,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16153,7 +16153,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16174,7 +16174,7 @@ "unk2": 0,
"items": [],
"unkC": 0,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16207,7 +16207,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16251,7 +16251,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16295,7 +16295,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16328,7 +16328,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16350,7 +16350,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16394,7 +16394,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16427,7 +16427,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16460,7 +16460,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16493,7 +16493,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -16537,7 +16537,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16558,7 +16558,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16579,7 +16579,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16600,7 +16600,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16621,7 +16621,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16647,7 +16647,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16673,7 +16673,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16694,7 +16694,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16715,7 +16715,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16741,7 +16741,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16767,7 +16767,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16783,7 +16783,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16799,7 +16799,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16820,7 +16820,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16841,7 +16841,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -16862,7 +16862,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -16883,7 +16883,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -16921,7 +16921,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 10,
@@ -16961,7 +16961,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16979,7 +16979,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -16997,7 +16997,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17013,7 +17013,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17029,7 +17029,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17045,7 +17045,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17061,7 +17061,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17087,7 +17087,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17113,7 +17113,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -17129,7 +17129,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -17157,7 +17157,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17175,7 +17175,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17191,7 +17191,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17207,7 +17207,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17223,7 +17223,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17239,7 +17239,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17260,7 +17260,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17281,7 +17281,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17302,7 +17302,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17323,7 +17323,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17344,7 +17344,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17365,7 +17365,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17386,7 +17386,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17407,7 +17407,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17428,7 +17428,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17449,7 +17449,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17470,7 +17470,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17491,7 +17491,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17513,7 +17513,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17535,7 +17535,7 @@ "unk2": 0,
"items": [],
"unkC": 0,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17557,7 +17557,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17573,7 +17573,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17589,7 +17589,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17605,7 +17605,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17626,7 +17626,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17647,7 +17647,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17668,7 +17668,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17684,7 +17684,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17702,7 +17702,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17720,7 +17720,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17738,7 +17738,7 @@ "ITEM_FULL_RESTORE"
],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17754,7 +17754,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17775,7 +17775,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17796,7 +17796,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17817,7 +17817,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17838,7 +17838,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17859,7 +17859,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17880,7 +17880,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17901,7 +17901,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -17922,7 +17922,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17943,7 +17943,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17964,7 +17964,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -17990,7 +17990,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18011,7 +18011,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18032,7 +18032,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18053,7 +18053,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18079,7 +18079,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18105,7 +18105,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18131,7 +18131,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18147,7 +18147,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18163,7 +18163,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18179,7 +18179,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18195,7 +18195,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18216,7 +18216,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18237,7 +18237,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18253,7 +18253,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18269,7 +18269,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18285,7 +18285,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18301,7 +18301,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18322,7 +18322,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18343,7 +18343,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18364,7 +18364,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18380,7 +18380,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18401,7 +18401,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18422,7 +18422,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18438,7 +18438,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18454,7 +18454,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18470,7 +18470,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18486,7 +18486,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18502,7 +18502,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18518,7 +18518,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18544,7 +18544,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18570,7 +18570,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18592,7 +18592,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -18636,7 +18636,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18658,7 +18658,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -18702,7 +18702,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 100,
@@ -18746,7 +18746,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18762,7 +18762,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18778,7 +18778,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18794,7 +18794,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18810,7 +18810,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18826,7 +18826,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18842,7 +18842,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18858,7 +18858,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18874,7 +18874,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18890,7 +18890,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18906,7 +18906,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18922,7 +18922,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18938,7 +18938,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18954,7 +18954,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18970,7 +18970,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -18986,7 +18986,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19002,7 +19002,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19018,7 +19018,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -19039,7 +19039,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -19060,7 +19060,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -19081,7 +19081,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 2,
+ "doubleBattle": 2,
"party": [
{
"difficulty": 0,
@@ -19102,7 +19102,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19118,7 +19118,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19134,7 +19134,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19150,7 +19150,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19166,7 +19166,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19182,7 +19182,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19198,7 +19198,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19214,7 +19214,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19230,7 +19230,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19246,7 +19246,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19262,7 +19262,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19278,7 +19278,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19294,7 +19294,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19310,7 +19310,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19326,7 +19326,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19342,7 +19342,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19358,7 +19358,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19374,7 +19374,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19390,7 +19390,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19411,7 +19411,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19441,7 +19441,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19462,7 +19462,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19483,7 +19483,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19516,7 +19516,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19537,7 +19537,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19558,7 +19558,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19579,7 +19579,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19612,7 +19612,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19628,7 +19628,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -19649,7 +19649,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 50,
@@ -19670,7 +19670,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19691,7 +19691,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19724,7 +19724,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19744,7 +19744,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -19765,7 +19765,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -19808,7 +19808,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -19834,7 +19834,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -19860,7 +19860,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -19886,7 +19886,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -19963,7 +19963,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20040,7 +20040,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20117,7 +20117,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20194,7 +20194,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20271,7 +20271,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 250,
@@ -20348,7 +20348,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -20364,7 +20364,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -20385,7 +20385,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -20401,7 +20401,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 0,
@@ -20417,7 +20417,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -20433,7 +20433,7 @@ "unk2": 0,
"items": [],
"unkC": 1,
- "unk10": 0,
+ "doubleBattle": 0,
"party": [
{
"difficulty": 30,
@@ -20454,7 +20454,7 @@ "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..9c02c7db 100644 --- a/files/poketool/trainer/trdata.json.txt +++ b/files/poketool/trainer/trdata.json.txt @@ -17,7 +17,7 @@ const struct TrainerData __data[] = { {{ length(trainer.party) }}, { {% for item in trainer.items %}{{ item }},{% endfor %} }, {{ trainer.unkC }}, - {{ trainer.unk10 }} + {{ trainer.doubleBattle }} }, ## endfor }; 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/seal.h b/include/seal.h new file mode 100644 index 00000000..9e31e2e4 --- /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 padding_120[0x50]; +}; + +u32 FUN_02029C58(void); +void FUN_02029C60(struct SealCase * sealCase); +void FUN_02029C74(const CapsuleArray * a0, CapsuleArray * a1); +struct SealCase * FUN_02029C80(struct SaveBlock2 * sav2); +CapsuleArray * FUN_02029C8C(struct SealCase * sealCase, s32 idx); +void FUN_02029CA4(struct SealCase * sealCase, const CapsuleArray * src, s32 idx); +Coords8 * FUN_02029CC8(CapsuleArray * a0, s32 a1); +u8 FUN_02029CE0(Coords8 * a0); +u8 FUN_02029CE4(Coords8 * a0); +u8 FUN_02029CE8(Coords8 * a0); + +#endif //POKEDIAMOND_SEAL_H diff --git a/include/trainer_data.h b/include/trainer_data.h index 6a5b69a4..0951a5dd 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 @@ -76,4 +78,13 @@ struct EnemyTrainerSet struct TrainerDataLoaded datas[4]; }; +void EnemyTrainerSet_Init(struct EnemyTrainerSet * 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 EnemyTrainerSet * enemies, s32 party_id, u32 heap_id); + #endif //POKEDIAMOND_TRAINER_DATA_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 |