diff options
238 files changed, 40367 insertions, 49946 deletions
diff --git a/INSTALL.md b/INSTALL.md index cd8f4b185..bb5e9849d 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -8,16 +8,22 @@ Make sure that there is an environment variable called DEVKITARM with the path o Then get the compiler from https://github.com/pret/agbcc and run the following commands. - ./build.sh - ./install.sh PATH_OF_POKEEMERALD_DIRECTORY +``` +./build.sh +./install.sh PATH_OF_POKEEMERALD_DIRECTORY +``` Then in the pokeemerald directory, build the tools. - ./build_tools.sh +``` +./build_tools.sh +``` Finally, build the rom. - make +``` +make +``` # Windows @@ -26,3 +32,65 @@ Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM). Then get the compiled tools from https://github.com/pret/pokeruby-tools. Copy the `tools/` folder over the `tools/` folder in your pokeemerald directory. You can then build pokeemerald using `make` in the MSYS environment provided with devkitARM. + +# Mac + +Installing pokeemerald on a Mac requires macOS >= 10.12 (Sierra or higher). + +Download a [devkitPRO pacman](https://github.com/devkitPro/pacman/releases/tag/v1.0.0) + +Run the following commands in Terminal: + + +``` +xcode-select --install + +sudo dkp-pacman -S devkitARM + +export DEVKITPRO=/opt/devkitpro +echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc +export DEVKITARM=$DEVKITPRO/devkitARM +echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc +echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile + +git clone https://github.com/pret/pokeemerald +git clone https://github.com/pret/agbcc + +cd agbcc/ +./build.sh +./install.sh ../pokeemerald + +cd ../pokeemerald +./build_tools.sh +``` + +And build the ROM with `make`. + +# Faster builds + +After the first build, subsequent builds are faster. You can further speed up the build: + +## Parallel build + +This significantly speeds up the build on modern machines. + +By default `make` only runs a single thread. You can tell `make` to run on multiple threads with `make -j`. See the manfile for usage (`man make`). + +The optimal value for `-j` is the number of logical cores on your machine. You can run `nproc` to see the exact number. + +``` +$ nproc +8 +``` + +If you have 8 cores, run: `make -j8` + +`-j` on its own will spawn a new thread for each job. A clean build will have thousands of jobs, which will be slower than not using -j at all. + +## Disable the dependency scanning + +If you've only changed `.c` or `.s` files, you can turn off the dependency scanning temporarily. Changes to any other files will be ignored, and the build will either fail or not reflect those changes. + +`make NODEP=1` + + @@ -25,14 +25,13 @@ ASFLAGS := -mcpu=arm7tdmi CC1 := tools/agbcc/bin/agbcc override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm -CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef +CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include -nostdinc -undef LDFLAGS = -Map ../../$(MAP) LIB := -L ../../tools/agbcc/lib -lgcc -lc -SHA1 := sha1sum -c - +SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c GFX := tools/gbagfx/gbagfx AIF := tools/aif2pcm/aif2pcm MID := $(abspath tools/mid2agb/mid2agb) diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s index 755653156..3515b973e 100644 --- a/asm/battle_anim_80A9C70.s +++ b/asm/battle_anim_80A9C70.s @@ -623,8 +623,8 @@ _080AA186: bx r0 thumb_func_end sub_80AA124 - thumb_func_start sub_80AA18C -sub_80AA18C: @ 80AA18C + thumb_func_start AnimTask_StatsChange +AnimTask_StatsChange: @ 80AA18C push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -853,7 +853,7 @@ _080AA352: pop {r0} bx r0 .pool - thumb_func_end sub_80AA18C + thumb_func_end AnimTask_StatsChange thumb_func_start LaunchStatusAnimation LaunchStatusAnimation: @ 80AA364 diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s index 522c5d5f5..e353cb475 100644 --- a/asm/battle_frontier_1.s +++ b/asm/battle_frontier_1.s @@ -6481,7 +6481,7 @@ _0819218E: mov r0, r9 cmp r0, 0 bne _081921C4 - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 b _081921FC .pool @@ -9539,7 +9539,7 @@ _08193B84: ldr r0, [r4] bl Free str r6, [r4] - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 ldr r1, =gTasks lsls r0, r5, 2 @@ -11320,7 +11320,7 @@ _08194B24: ands r0, r1 cmp r0, 0 bne _08194B3C - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 adds r0, r4, 0 bl DestroyTask diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 5fda6ab45..38e0d2e62 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -1321,7 +1321,7 @@ _0819AFB8: bl Free str r5, [r7] bl FreeAllWindowBuffers - ldr r0, =sub_80861B0 + ldr r0, =CB2_ReturnToFieldContinueScript bl SetMainCallback2 adds r0, r6, 0 bl DestroyTask @@ -4491,7 +4491,7 @@ _0819CAA4: bl Free str r5, [r7] bl FreeAllWindowBuffers - ldr r0, =sub_80861B0 + ldr r0, =CB2_ReturnToFieldContinueScript bl SetMainCallback2 adds r0, r6, 0 bl DestroyTask @@ -11843,7 +11843,7 @@ sub_81A0784: @ 81A0784 movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 1e07bdb9c..7340ea1ce 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -3172,7 +3172,7 @@ _08163A3C: _08163A74: bl sub_816537C _08163A78: - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 add sp, 0x4 pop {r4-r6} diff --git a/asm/cable_club.s b/asm/cable_club.s index 201f23c17..0297c2f80 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -2586,7 +2586,7 @@ sp02A_crash_sound: @ 80B39BC push {lr} ldr r0, =gSpecialVar_0x8006 ldrb r0, [r0] - ldr r1, =CB2_ReturnToFieldContinueScript + ldr r1, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl sub_80C4E74 pop {r0} bx r0 diff --git a/asm/contest.s b/asm/contest.s index 453ecb04c..978421c3d 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -102,7 +102,7 @@ LoadContestBgAfterMoveAnim: @ 80D7724 movs r4, 0 movs r5, 0xA0 _080D775E: - ldr r0, =0x0201a004 + ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 @@ -576,7 +576,7 @@ _080D7B4E: ldr r1, =gReservedSpritePaletteCount movs r0, 0x4 strb r0, [r1] - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -928,7 +928,7 @@ _080D7ED8: ldr r4, =0x06002000 adds r1, r4, 0 bl LZDecompressVram - ldr r3, =0x02018000 + ldr r3, =gHeap+0x18000 movs r5, 0x80 lsls r5, 6 ldr r1, =0x040000d4 @@ -976,7 +976,7 @@ _080D7F40: ldr r0, =gContestResources ldr r0, [r0] ldr r1, [r0, 0x2C] - ldr r2, =0x0201aa04 + ldr r2, =gHeap+0x1AA04 ldr r0, =0x040000d4 str r1, [r0] str r2, [r0, 0x4] @@ -1022,7 +1022,7 @@ _080D7F7C: mov r0, sp adds r2, r6, 0 bl CpuSet - ldr r1, =0x0201a004 + ldr r1, =gHeap+0x1A004 ldr r0, =0x040000d4 mov r2, r8 str r2, [r0] @@ -1393,7 +1393,7 @@ sub_80D833C: @ 80D833C strh r1, [r0] bl sub_80DCD48 ldr r1, =gPlttBufferUnfaded - ldr r2, =0x0201a204 + ldr r2, =gHeap+0x1A204 ldr r0, =0x040000d4 str r1, [r0] str r2, [r0, 0x4] @@ -2070,7 +2070,7 @@ _080D897C: movs r0, 0 bl sub_80DED60 ldr r1, =gPlttBufferFaded - ldr r0, =0x0201a604 + ldr r0, =gHeap+0x1A604 movs r2, 0x80 lsls r2, 3 ldr r4, =0x040000d4 @@ -5012,7 +5012,7 @@ _080DA33A: sub_80DA348: @ 80DA348 lsls r0, 24 lsrs r0, 24 - ldr r2, =0x0201a204 + ldr r2, =gHeap+0x1A204 ldr r3, =gPlttBufferUnfaded ldr r1, =0x040000d4 str r2, [r1] @@ -10211,7 +10211,7 @@ sub_80DCCD8: @ 80DCCD8 thumb_func_start sub_80DCD08 sub_80DCD08: @ 80DCD08 push {lr} - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -10250,7 +10250,7 @@ sub_80DCD48: @ 80DCD48 ldrb r0, [r0] cmp r0, 0 beq _080DCE44 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -10639,7 +10639,7 @@ sub_80DD04C: @ 80DD04C movs r4, 0 movs r5, 0xA0 _080DD052: - ldr r0, =0x0201a004 + ldr r0, =gHeap+0x1A004 adds r0, r5, r0 ldr r1, =gUnknown_02039F26 adds r1, r4, r1 @@ -12351,7 +12351,7 @@ sub_80DDE30: @ 80DDE30 ldrsh r0, [r4, r1] cmp r0, 0 bne _080DDE78 - ldr r0, =0x02019000 + ldr r0, =gHeap+0x19000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -12360,7 +12360,7 @@ sub_80DDE30: @ 80DDE30 b _080DDE8C .pool _080DDE78: - ldr r0, =0x02018000 + ldr r0, =gHeap+0x18000 ldr r1, =0x06002000 movs r2, 0x80 lsls r2, 5 @@ -15417,7 +15417,7 @@ sub_80DF704: @ 80DF704 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r2, r0, r1 @@ -15468,7 +15468,7 @@ sub_80DF750: @ 80DF750 bne _080DF766 b _080DF924 _080DF766: - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 @@ -15493,7 +15493,7 @@ _080DF784: lsrs r7, r0, 24 cmp r7, 0x3 bls _080DF784 - ldr r0, =0x02000000 + ldr r0, =gHeap movs r1, 0xD0 lsls r1, 9 adds r0, r1 diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index ba1fa1c29..36f444955 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -1825,7 +1825,7 @@ _080F6884: adds r0, r5, 0 bl DestroyTask bl FreeAllWindowBuffers - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 bl sub_80F7E64 _080F68A8: diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 621e26038..99fec9d99 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -11,7 +11,7 @@ sub_80FC4F4: @ 80FC4F4 adds r2, r0, 0 lsls r4, r1, 16 lsrs r4, 16 - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r0, r5, 0 adds r1, r2, 0 adds r2, r4, 0 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 1d8753fa0..4ee0fa2ae 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -623,7 +623,7 @@ _0811A7C2: bl overworld_free_bg_tilemaps ldr r0, =gSpecialVar_0x8004 ldrb r0, [r0] - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript adds r1, r4, 0 adds r3, r5, 0 bl sub_811A20C @@ -760,7 +760,7 @@ sub_811A8CC: @ 811A8CC ldr r1, [r0] ldr r0, =0x00003b6e adds r1, r0 - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript movs r0, 0xF movs r3, 0x3 bl sub_811A20C @@ -776,7 +776,7 @@ sub_811A8F0: @ 811A8F0 ldr r1, [r0] ldr r0, =0x00003b5a adds r1, r0 - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript movs r0, 0x10 movs r3, 0x3 bl sub_811A20C @@ -792,7 +792,7 @@ sub_811A914: @ 811A914 ldr r1, [r0] ldr r0, =0x00003b6c adds r1, r0 - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript movs r0, 0x12 movs r3, 0x3 bl sub_811A20C @@ -808,7 +808,7 @@ sub_811A938: @ 811A938 ldr r1, [r0] ldr r0, =0x00003b5a adds r1, r0 - ldr r2, =sub_80861B0 + ldr r2, =CB2_ReturnToFieldContinueScript movs r0, 0x11 movs r3, 0x3 bl sub_811A20C @@ -3691,7 +3691,7 @@ sub_811BDF0: @ 811BDF0 adds r6, r0, 0 ldr r0, =gSaveBlock1Ptr ldr r4, [r0] - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r0, =0x00003b70 adds r5, r4, r0 adds r0, r5, 0 @@ -3707,17 +3707,17 @@ sub_811BDF0: @ 811BDF0 bl TVShowConvertInternationalString movs r0, 0 mov r1, sp - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr b _0811BE3C .pool _0811BE34: ldr r1, =gText_Lady movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr _0811BE3C: ldr r1, =gText_F700sQuiz adds r0, r6, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders add sp, 0x20 pop {r4-r6} pop {r0} diff --git a/asm/field_specials.s b/asm/field_specials.s deleted file mode 100644 index 75aa161e5..000000000 --- a/asm/field_specials.s +++ /dev/null @@ -1,8075 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Special_ShowDiploma -Special_ShowDiploma: @ 8137CB4 - push {lr} - ldr r0, =CB2_ShowDiploma - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ShowDiploma - - thumb_func_start Special_ViewWallClock -Special_ViewWallClock: @ 8137CC8 - push {lr} - ldr r0, =gMain - ldr r1, =CB2_ReturnToField - str r1, [r0, 0x8] - ldr r0, =Cb2_ViewWallClock - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end Special_ViewWallClock - - thumb_func_start ResetCyclingRoadChallengeData -ResetCyclingRoadChallengeData: @ 8137CEC - ldr r0, =gBikeCyclingChallenge - movs r1, 0 - strb r1, [r0] - ldr r0, =0x0203ab55 - strb r1, [r0] - ldr r1, =gUnknown_0203AB58 - movs r0, 0 - str r0, [r1] - bx lr - .pool - thumb_func_end ResetCyclingRoadChallengeData - - thumb_func_start Special_BeginCyclingRoadChallenge -Special_BeginCyclingRoadChallenge: @ 8137D0C - ldr r1, =gBikeCyclingChallenge - movs r0, 0x1 - strb r0, [r1] - ldr r1, =0x0203ab55 - movs r0, 0 - strb r0, [r1] - ldr r1, =gUnknown_0203AB58 - ldr r0, =gMain - ldr r0, [r0, 0x20] - str r0, [r1] - bx lr - .pool - thumb_func_end Special_BeginCyclingRoadChallenge - - thumb_func_start GetPlayerAvatarBike -GetPlayerAvatarBike: @ 8137D34 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08137D46 - movs r0, 0x1 - b _08137D58 -_08137D46: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _08137D56 - movs r0, 0 - b _08137D58 -_08137D56: - movs r0, 0x2 -_08137D58: - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarBike - - thumb_func_start DetermineCyclingRoadResults -DetermineCyclingRoadResults: @ 8137D5C - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0x63 - bhi _08137D88 - ldr r4, =gStringVar1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceTimes - adds r0, r4, 0 - bl StringAppend - b _08137D90 - .pool -_08137D88: - ldr r0, =gStringVar1 - ldr r1, =gText_99TimesPlus - bl StringCopy -_08137D90: - ldr r0, =0x00000e0f - cmp r7, r0 - bhi _08137DF0 - ldr r4, =gStringVar2 - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0xAD - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - adds r0, r7, 0 - movs r1, 0x3C - bl __umodsi3 - movs r1, 0x64 - muls r0, r1 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gText_SpaceSeconds - adds r0, r4, 0 - bl StringAppend - b _08137DF8 - .pool -_08137DF0: - ldr r0, =gStringVar2 - ldr r1, =gText_1MinutePlus - bl StringCopy -_08137DF8: - movs r4, 0 - cmp r6, 0 - bne _08137E0C - movs r4, 0x5 - b _08137E2A - .pool -_08137E0C: - cmp r6, 0x3 - bhi _08137E14 - movs r4, 0x4 - b _08137E2A -_08137E14: - cmp r6, 0x9 - bhi _08137E1C - movs r4, 0x3 - b _08137E2A -_08137E1C: - cmp r6, 0x13 - bhi _08137E24 - movs r4, 0x2 - b _08137E2A -_08137E24: - cmp r6, 0x63 - bhi _08137E2A - movs r4, 0x1 -_08137E2A: - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - cmp r0, 0xA - bhi _08137E3A - adds r0, r4, 0x5 - b _08137E58 -_08137E3A: - cmp r0, 0xF - bhi _08137E42 - adds r0, r4, 0x4 - b _08137E58 -_08137E42: - cmp r0, 0x14 - bhi _08137E4A - adds r0, r4, 0x3 - b _08137E58 -_08137E4A: - cmp r0, 0x28 - bhi _08137E52 - adds r0, r4, 0x2 - b _08137E58 -_08137E52: - cmp r0, 0x3B - bhi _08137E5C - adds r0, r4, 0x1 -_08137E58: - lsls r0, 24 - lsrs r4, r0, 24 -_08137E5C: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end DetermineCyclingRoadResults - - thumb_func_start FinishCyclingRoadChallenge -FinishCyclingRoadChallenge: @ 8137E6C - push {r4,r5,lr} - ldr r0, =gMain - ldr r1, =gUnknown_0203AB58 - ldr r4, [r0, 0x20] - ldr r0, [r1] - subs r4, r0 - ldr r5, =0x0203ab55 - ldrb r1, [r5] - adds r0, r4, 0 - bl DetermineCyclingRoadResults - ldrb r1, [r5] - adds r0, r4, 0 - bl RecordCyclingRoadResults - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FinishCyclingRoadChallenge - - thumb_func_start RecordCyclingRoadResults -RecordCyclingRoadResults: @ 8137E9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r6, =0x00004028 - adds r0, r6, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r7, =0x00004029 - adds r0, r7, 0 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, r5 - bhi _08137ECC - cmp r4, 0 - bne _08137EE6 -_08137ECC: - lsls r1, r5, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl VarSet - lsrs r1, r5, 16 - adds r0, r7, 0 - bl VarSet - ldr r0, =0x00004027 - mov r1, r8 - bl VarSet -_08137EE6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end RecordCyclingRoadResults - - thumb_func_start GetRecordedCyclingRoadResults -GetRecordedCyclingRoadResults: @ 8137EFC - push {r4,lr} - ldr r0, =0x00004028 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004029 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, 0 - beq _08137F3C - ldr r0, =0x00004027 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl DetermineCyclingRoadResults - movs r0, 0x1 - b _08137F3E - .pool -_08137F3C: - movs r0, 0 -_08137F3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetRecordedCyclingRoadResults - - thumb_func_start UpdateCyclingRoadState -UpdateCyclingRoadState: @ 8137F44 - push {r4,lr} - ldr r0, =gUnknown_020322DC - ldrh r1, [r0] - ldr r0, =0x00000c1d - cmp r1, r0 - beq _08137F7C - ldr r4, =0x000040a9 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _08137F6E - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bne _08137F7C -_08137F6E: - adds r0, r4, 0 - movs r1, 0 - bl VarSet - movs r0, 0 - bl Overworld_SetSavedMusic -_08137F7C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateCyclingRoadState - - thumb_func_start SetSSTidalFlag -SetSSTidalFlag: @ 8137F90 - push {lr} - ldr r0, =0x0000088d - bl FlagSet - ldr r0, =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end SetSSTidalFlag - - thumb_func_start ResetSSTidalFlag -ResetSSTidalFlag: @ 8137FB0 - push {lr} - ldr r0, =0x0000088d - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetSSTidalFlag - - thumb_func_start CountSSTidalStep -CountSSTidalStep: @ 8137FC0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x0000088d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08137FE6 - ldr r0, =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _08137FF4 -_08137FE6: - movs r0, 0 - b _08137FF6 - .pool -_08137FF4: - movs r0, 0x1 -_08137FF6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end CountSSTidalStep - - thumb_func_start GetSSTidalLocation -GetSSTidalLocation: @ 8137FFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _081380C2 - lsls r0, 2 - ldr r1, =_08138038 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08138038: - .4byte _08138060 - .4byte _08138070 - .4byte _08138064 - .4byte _08138068 - .4byte _08138068 - .4byte _0813806C - .4byte _08138098 - .4byte _08138060 - .4byte _08138064 - .4byte _0813806C -_08138060: - movs r0, 0x1 - b _081380CE -_08138064: - movs r0, 0x4 - b _081380CE -_08138068: - movs r0, 0x2 - b _081380CE -_0813806C: - movs r0, 0x3 - b _081380CE -_08138070: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _08138080 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _081380C0 -_08138080: - cmp r0, 0x8B - bhi _0813808E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _081380C0 -_0813808E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _081380C0 -_08138098: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _081380A8 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _081380BE -_081380A8: - cmp r0, 0x91 - bhi _081380B6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _081380BE -_081380B6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_081380BE: - subs r0, r1 -_081380C0: - strh r0, [r6] -_081380C2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_081380CE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetSSTidalLocation - - thumb_func_start is_tile_that_overrides_player_control -is_tile_that_overrides_player_control: @ 81380D8 - push {lr} - movs r0, 0x88 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813810A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813810A - cmp r0, 0x3 - ble _081380F6 - cmp r0, 0x6 - bne _0813810A -_081380F6: - ldr r0, =0x000040f2 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138118 -_0813810A: - movs r0, 0 - b _0813811A - .pool -_08138118: - movs r0, 0x1 -_0813811A: - pop {r1} - bx r1 - thumb_func_end is_tile_that_overrides_player_control - - thumb_func_start sub_8138120 -sub_8138120: @ 8138120 - push {lr} - movs r0, 0x8A - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08138152 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _08138152 - cmp r0, 0x3 - ble _0813813E - cmp r0, 0x6 - bne _08138152 -_0813813E: - ldr r0, =0x000040f3 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _08138160 -_08138152: - movs r0, 0 - b _08138162 - .pool -_08138160: - movs r0, 0x1 -_08138162: - pop {r1} - bx r1 - thumb_func_end sub_8138120 - - thumb_func_start sub_8138168 -sub_8138168: @ 8138168 - push {lr} - movs r0, 0x72 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813819A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813819A - cmp r0, 0x3 - ble _08138186 - cmp r0, 0x6 - bne _0813819A -_08138186: - ldr r0, =0x000040f5 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0x9 - bhi _081381A8 -_0813819A: - movs r0, 0 - b _081381AA - .pool -_081381A8: - movs r0, 0x1 -_081381AA: - pop {r1} - bx r1 - thumb_func_end sub_8138168 - - thumb_func_start sub_81381B0 -sub_81381B0: @ 81381B0 - push {lr} - movs r0, 0x80 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081381E2 - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _081381E2 - cmp r0, 0x3 - ble _081381CE - cmp r0, 0x6 - bne _081381E2 -_081381CE: - ldr r0, =0x000040f4 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _081381F0 -_081381E2: - movs r0, 0 - b _081381F2 - .pool -_081381F0: - movs r0, 0x1 -_081381F2: - pop {r1} - bx r1 - thumb_func_end sub_81381B0 - - thumb_func_start sub_81381F8 -sub_81381F8: @ 81381F8 - push {lr} - movs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0813822A - ldr r0, =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x1 - blt _0813822A - cmp r0, 0x3 - ble _08138216 - cmp r0, 0x6 - bne _0813822A -_08138216: - ldr r0, =0x000040f6 - bl GetVarPointer - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xF9 - bhi _08138238 -_0813822A: - movs r0, 0 - b _0813823A - .pool -_08138238: - movs r0, 0x1 -_0813823A: - pop {r1} - bx r1 - thumb_func_end sub_81381F8 - - thumb_func_start GetLinkPartnerNames -GetLinkPartnerNames: @ 8138240 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0813828A - ldr r0, =gTVStringVarPtrs - mov r8, r0 -_08138262: - cmp r7, r4 - beq _08138280 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138280: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _08138262 -_0813828A: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetLinkPartnerNames - - thumb_func_start SpawnLinkPartnerEventObject -SpawnLinkPartnerEventObject: @ 81382A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, =gUnknown_085B2B5C - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, =gUnknown_085B2B60 - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _08138310 - cmp r0, 0x2 - bgt _081382F4 - cmp r0, 0x1 - beq _0813833C - b _08138350 - .pool -_081382F4: - cmp r1, 0x3 - beq _081382FE - cmp r1, 0x4 - beq _08138324 - b _08138350 -_081382FE: - movs r7, 0x2 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - subs r0, 0x1 - b _0813832C - .pool -_08138310: - movs r7, 0x1 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0813834A - .pool -_08138324: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x1 -_0813832C: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _08138350 - .pool -_0813833C: - movs r7, 0x3 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - mov r9, r3 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0813834A: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_08138350: - movs r6, 0 - b _08138410 - .pool -_08138358: - cmp r10, r6 - beq _0813840A - ldr r0, =gLinkPlayers - lsls r2, r6, 3 - subs r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - adds r4, r0, 0 - cmp r3, 0x1 - blt _0813838C - cmp r3, 0x2 - ble _0813837C - cmp r3, 0x3 - beq _08138388 - b _0813838C - .pool -_0813837C: - ldrb r0, [r1, 0x13] - movs r5, 0xEC - cmp r0, 0 - bne _0813839C - movs r5, 0xEB - b _0813839C -_08138388: - ldrb r0, [r1, 0x13] - b _08138394 -_0813838C: - subs r0, r2, r6 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x13] -_08138394: - movs r5, 0x69 - cmp r0, 0 - bne _0813839C - movs r5, 0x64 -_0813839C: - mov r0, sp - adds r0, r7 - adds r0, 0x8 - ldrb r1, [r0] - movs r4, 0xF0 - subs r4, r6 - lsls r4, 24 - lsrs r4, 24 - lsls r2, r7, 1 - mov r0, sp - adds r0, r2 - adds r0, 0xC - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r3, r9 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - add r0, r12 - adds r3, r0, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r12, r3 - mov r0, sp - adds r0, 0xD - adds r0, r2 - movs r2, 0 - ldrsb r2, [r0, r2] - mov r3, r8 - lsls r0, r3, 16 - asrs r0, 16 - adds r0, r2 - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r5, 0 - adds r2, r4, 0 - mov r3, r12 - bl SpawnSpecialEventObjectParameterized - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_813842C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0813840A - movs r7, 0 -_0813840A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08138410: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _08138358 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SpawnLinkPartnerEventObject - - thumb_func_start sub_813842C -sub_813842C: @ 813842C - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r2, r1 - lsrs r5, r2, 24 - lsrs r4, r0, 24 - movs r2, 0xA8 - lsls r2, 21 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08138454 - cmp r4, 0x64 - beq _08138454 - cmp r4, 0x69 - bne _081384E6 -_08138454: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - adds r0, r3, 0 - bl GetEventObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _081384E6 - ldr r1, =gEventObjects - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - lsls r3, r5, 4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - cmp r4, 0x69 - beq _081384D8 - cmp r4, 0x69 - bgt _081384A8 - cmp r4, 0x64 - beq _081384C4 - b _081384E6 - .pool -_081384A8: - cmp r4, 0xEB - beq _081384B2 - cmp r4, 0xEC - beq _081384BC - b _081384E6 -_081384B2: - ldr r0, =gEventObjectPalette33 - b _081384C6 - .pool -_081384BC: - ldr r0, =gEventObjectPalette34 - b _081384C6 - .pool -_081384C4: - ldr r0, =gEventObjectPalette8 -_081384C6: - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette - b _081384E6 - .pool -_081384D8: - ldr r0, =gEventObjectPalette17 - movs r2, 0x80 - lsls r2, 1 - adds r1, r3, r2 - movs r2, 0x20 - bl LoadPalette -_081384E6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813842C - - thumb_func_start MauvilleGymSpecial1 -MauvilleGymSpecial1: @ 81384F0 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =gUnknown_085B2B68 -_081384F6: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0813851C - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - b _0813852A - .pool -_0813851C: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, =0x00000205 - bl MapGridSetMetatileIdAt -_0813852A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081384F6 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial1 - - thumb_func_start MauvilleGymSpecial2 -MauvilleGymSpecial2: @ 8138540 - push {r4-r6,lr} - movs r5, 0xC -_08138544: - movs r4, 0x7 - adds r6, r5, 0x1 -_08138548: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0813855A - b _08138734 -_0813855A: - lsls r0, 2 - ldr r1, =_0813856C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813856C: - .4byte _081386F2 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813864C - .4byte _08138652 - .4byte _0813868C - .4byte _08138694 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813865C - .4byte _08138662 - .4byte _0813869C - .4byte _081386A4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813866C - .4byte _08138672 - .4byte _081386AC - .4byte _081386B4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813867C - .4byte _08138684 - .4byte _081386BC - .4byte _081386C4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386CC - .4byte _081386DC - .4byte _081386EC - .4byte _08138714 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _081386D4 - .4byte _081386E4 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _08138734 - .4byte _0813872A - .4byte _0813871C -_0813864C: - movs r2, 0x8C - lsls r2, 2 - b _08138720 -_08138652: - ldr r2, =0x00000231 - b _08138720 - .pool -_0813865C: - movs r2, 0x8E - lsls r2, 2 - b _08138720 -_08138662: - ldr r2, =0x00000239 - b _08138720 - .pool -_0813866C: - movs r2, 0x88 - lsls r2, 2 - b _08138720 -_08138672: - ldr r2, =0x00000221 - b _08138720 - .pool -_0813867C: - ldr r2, =0x00000e28 - b _08138720 - .pool -_08138684: - ldr r2, =0x00000e29 - b _08138720 - .pool -_0813868C: - ldr r2, =0x00000232 - b _08138720 - .pool -_08138694: - ldr r2, =0x00000233 - b _08138720 - .pool -_0813869C: - ldr r2, =0x0000023a - b _08138720 - .pool -_081386A4: - ldr r2, =0x0000023b - b _08138720 - .pool -_081386AC: - ldr r2, =0x00000222 - b _08138720 - .pool -_081386B4: - ldr r2, =0x00000223 - b _08138720 - .pool -_081386BC: - ldr r2, =0x00000e2a - b _08138720 - .pool -_081386C4: - ldr r2, =0x00000e2b - b _08138720 - .pool -_081386CC: - ldr r2, =0x00000e42 - b _08138720 - .pool -_081386D4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386DC: - ldr r2, =0x00000e43 - b _08138720 - .pool -_081386E4: - ldr r2, =0x0000021a - b _08138720 - .pool -_081386EC: - movs r2, 0xE4 - lsls r2, 4 - b _08138720 -_081386F2: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0813870C - ldr r2, =0x00000e48 - b _08138720 - .pool -_0813870C: - ldr r2, =0x00000e49 - b _08138720 - .pool -_08138714: - ldr r2, =0x00000e41 - b _08138720 - .pool -_0813871C: - movs r2, 0xE5 - lsls r2, 4 -_08138720: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _08138734 -_0813872A: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_08138734: - adds r4, 0x1 - cmp r4, 0xF - bgt _0813873C - b _08138548 -_0813873C: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _08138744 - b _08138544 -_08138744: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial2 - - thumb_func_start MauvilleGymSpecial3 -MauvilleGymSpecial3: @ 8138750 - push {r4-r6,lr} - ldr r4, =gUnknown_085B2B68 - movs r5, 0x3 -_08138756: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _08138756 - movs r5, 0xC -_0813876A: - movs r4, 0x7 - adds r6, r5, 0x1 -_0813876E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _08138780 - b _081388CA -_08138780: - lsls r0, 2 - ldr r1, =_0813879C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813879C: - .4byte _08138860 - .4byte _08138866 - .4byte _08138880 - .4byte _08138888 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _08138870 - .4byte _08138876 - .4byte _08138890 - .4byte _08138898 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388A0 - .4byte _081388A8 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388B0 - .4byte _081388B0 - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388CA - .4byte _081388C0 -_08138860: - movs r2, 0x8C - lsls r2, 2 - b _081388B2 -_08138866: - ldr r2, =0x00000231 - b _081388B2 - .pool -_08138870: - movs r2, 0x8E - lsls r2, 2 - b _081388B2 -_08138876: - ldr r2, =0x00000239 - b _081388B2 - .pool -_08138880: - ldr r2, =0x00000232 - b _081388B2 - .pool -_08138888: - ldr r2, =0x00000233 - b _081388B2 - .pool -_08138890: - ldr r2, =0x0000023a - b _081388B2 - .pool -_08138898: - ldr r2, =0x0000023b - b _081388B2 - .pool -_081388A0: - ldr r2, =0x00000e42 - b _081388B2 - .pool -_081388A8: - ldr r2, =0x00000e43 - b _081388B2 - .pool -_081388B0: - ldr r2, =0x0000021a -_081388B2: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _081388CA - .pool -_081388C0: - ldr r2, =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_081388CA: - adds r4, 0x1 - cmp r4, 0xF - bgt _081388D2 - b _0813876E -_081388D2: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _081388DA - b _0813876A -_081388DA: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end MauvilleGymSpecial3 - - thumb_func_start PetalburgGymSpecial1 -PetalburgGymSpecial1: @ 81388E4 - push {lr} - ldr r0, =gUnknown_0203AB5C - movs r1, 0 - strb r1, [r0] - ldr r0, =gUnknown_0203AB5D - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, =Task_PetalburgGym - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial1 - - thumb_func_start Task_PetalburgGym -Task_PetalburgGym: @ 8138910 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_085B2B78 - ldr r5, =gUnknown_0203AB5D - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, =gUnknown_0203AB5C - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0813896C - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, =gUnknown_085B2B7E - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl PetalburgGymFunc - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _08138970 - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _08138970 - .pool -_0813896C: - adds r0, r2, 0x1 - strb r0, [r4] -_08138970: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Task_PetalburgGym - - thumb_func_start PetalburgGymFunc -PetalburgGymFunc: @ 8138978 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _08138A40 - lsls r0, 2 - ldr r1, =_081389A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081389A0: - .4byte _081389C0 - .4byte _081389D2 - .4byte _081389E4 - .4byte _081389F6 - .4byte _08138A04 - .4byte _08138A1A - .4byte _08138A26 - .4byte _08138A34 -_081389C0: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _08138A14 -_081389D2: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _08138A14 -_081389E4: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _08138A14 -_081389F6: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _08138A3E -_08138A04: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_08138A14: - strh r0, [r1] - strh r0, [r1, 0x2] - b _08138A40 -_08138A1A: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _08138A3E -_08138A26: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _08138A3E -_08138A34: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_08138A3E: - strh r0, [r1] -_08138A40: - movs r6, 0 - cmp r6, r7 - bcs _08138A92 - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_08138A5E: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _08138A5E -_08138A92: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PetalburgGymFunc - - thumb_func_start PetalburgGymSpecial2 -PetalburgGymSpecial2: @ 8138AA4 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, =gUnknown_085B2B7E - ldrh r1, [r1, 0x8] - bl PetalburgGymFunc - pop {r0} - bx r0 - .pool - thumb_func_end PetalburgGymSpecial2 - - thumb_func_start ShowFieldMessageStringVar4 -ShowFieldMessageStringVar4: @ 8138AC0 - push {lr} - ldr r0, =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end ShowFieldMessageStringVar4 - - thumb_func_start StorePlayerCoordsInVars -StorePlayerCoordsInVars: @ 8138AD0 - ldr r1, =gSpecialVar_0x8004 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2] - strh r0, [r1] - ldr r1, =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .pool - thumb_func_end StorePlayerCoordsInVars - - thumb_func_start GetPlayerTrainerIdOnesDigit -GetPlayerTrainerIdOnesDigit: @ 8138AF0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPlayerTrainerIdOnesDigit - - thumb_func_start GetPlayerBigGuyGirlString -GetPlayerBigGuyGirlString: @ 8138B10 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B34 - ldr r0, =gStringVar1 - ldr r1, =gText_BigGuy - bl StringCopy - b _08138B3C - .pool -_08138B34: - ldr r0, =gStringVar1 - ldr r1, =gText_BigGirl - bl StringCopy -_08138B3C: - pop {r0} - bx r0 - .pool - thumb_func_end GetPlayerBigGuyGirlString - - thumb_func_start GetRivalSonDaughterString -GetRivalSonDaughterString: @ 8138B48 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08138B6C - ldr r0, =gStringVar1 - ldr r1, =gText_Daughter - bl StringCopy - b _08138B74 - .pool -_08138B6C: - ldr r0, =gStringVar1 - ldr r1, =gText_Son - bl StringCopy -_08138B74: - pop {r0} - bx r0 - .pool - thumb_func_end GetRivalSonDaughterString - - thumb_func_start sub_8138B80 -sub_8138B80: @ 8138B80 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - bx lr - .pool - thumb_func_end sub_8138B80 - - thumb_func_start CableCarWarp -CableCarWarp: @ 8138B8C - push {lr} - sub sp, 0x4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _08138BB0 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl Overworld_SetWarpDestination - b _08138BC2 - .pool -_08138BB0: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl Overworld_SetWarpDestination -_08138BC2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end CableCarWarp - - thumb_func_start SetFlagInVar -SetFlagInVar: @ 8138BC8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetFlagInVar - - thumb_func_start GetWeekCount -GetWeekCount: @ 8138BDC - push {lr} - ldr r0, =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =0x0000270f - cmp r0, r1 - bls _08138BF6 - adds r0, r1, 0 -_08138BF6: - pop {r1} - bx r1 - .pool - thumb_func_end GetWeekCount - - thumb_func_start GetLeadMonFriendshipScore -GetLeadMonFriendshipScore: @ 8138C04 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _08138C2C - movs r0, 0x6 - b _08138C7E - .pool -_08138C2C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _08138C3C - movs r0, 0x5 - b _08138C7E -_08138C3C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _08138C4C - movs r0, 0x4 - b _08138C7E -_08138C4C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _08138C5C - movs r0, 0x3 - b _08138C7E -_08138C5C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _08138C6C - movs r0, 0x2 - b _08138C7E -_08138C6C: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _08138C7C - movs r0, 0 - b _08138C7E -_08138C7C: - movs r0, 0x1 -_08138C7E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLeadMonFriendshipScore - - thumb_func_start CB2_FieldShowRegionMap -CB2_FieldShowRegionMap: @ 8138C84 - push {lr} - ldr r0, =CB2_ReturnToFieldContinueScript - bl sub_817018C - pop {r0} - bx r0 - .pool - thumb_func_end CB2_FieldShowRegionMap - - thumb_func_start FieldShowRegionMap -FieldShowRegionMap: @ 8138C94 - push {lr} - ldr r0, =CB2_FieldShowRegionMap - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end FieldShowRegionMap - - thumb_func_start DoPCTurnOnEffect -DoPCTurnOnEffect: @ 8138CA4 - push {r4,lr} - ldr r4, =Task_PCTurnOnEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138CD8 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138CD8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoPCTurnOnEffect - - thumb_func_start Task_PCTurnOnEffect -Task_PCTurnOnEffect: @ 8138CE8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138D06 - adds r0, r1, 0 - bl PCTurnOnEffect_0 -_08138D06: - pop {r0} - bx r0 - .pool - thumb_func_end Task_PCTurnOnEffect - - thumb_func_start PCTurnOnEffect_0 -PCTurnOnEffect_0: @ 8138D10 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138D7C - strh r5, [r4, 0xE] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138D44 - cmp r0, 0x3 - bgt _08138D3A - cmp r0, 0x2 - beq _08138D40 - b _08138D4C -_08138D3A: - cmp r1, 0x4 - beq _08138D48 - b _08138D4C -_08138D40: - movs r6, 0 - b _08138D4A -_08138D44: - movs r6, 0xFF - b _08138D4A -_08138D48: - movs r6, 0x1 -_08138D4A: - movs r5, 0xFF -_08138D4C: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl PCTurnOnEffect_1 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138D7C - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138D7C: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PCTurnOnEffect_0 - - thumb_func_start PCTurnOnEffect_1 -PCTurnOnEffect_1: @ 8138D88 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _08138DC4 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DAC - movs r3, 0x4 - b _08138DE6 - .pool -_08138DAC: - cmp r0, 0x1 - bne _08138DB8 - ldr r3, =0x0000025a - b _08138DE6 - .pool -_08138DB8: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x00000259 - b _08138DE6 - .pool -_08138DC4: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138DD4 - movs r3, 0x5 - b _08138DE6 - .pool -_08138DD4: - cmp r0, 0x1 - bne _08138DE0 - ldr r3, =0x0000027f - b _08138DE6 - .pool -_08138DE0: - cmp r0, 0x2 - bne _08138DE6 - ldr r3, =0x0000027e -_08138DE6: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOnEffect_1 - - thumb_func_start DoPCTurnOffEffect -DoPCTurnOffEffect: @ 8138E20 - push {lr} - bl PCTurnOffEffect - pop {r0} - bx r0 - thumb_func_end DoPCTurnOffEffect - - thumb_func_start PCTurnOffEffect -PCTurnOffEffect: @ 8138E2C - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _08138E56 - cmp r0, 0x3 - bgt _08138E4C - cmp r0, 0x2 - beq _08138E52 - b _08138E5E -_08138E4C: - cmp r1, 0x4 - beq _08138E5A - b _08138E5E -_08138E52: - movs r6, 0 - b _08138E5C -_08138E56: - movs r6, 0xFF - b _08138E5C -_08138E5A: - movs r6, 0x1 -_08138E5C: - movs r5, 0xFF -_08138E5E: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _08138E70 - movs r4, 0x4 - b _08138E82 - .pool -_08138E70: - cmp r0, 0x1 - bne _08138E7C - ldr r4, =0x0000025a - b _08138E82 - .pool -_08138E7C: - cmp r0, 0x2 - bne _08138E82 - ldr r4, =0x00000259 -_08138E82: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end PCTurnOffEffect - - thumb_func_start DoLotteryCornerComputerEffect -DoLotteryCornerComputerEffect: @ 8138EC0 - push {r4,lr} - ldr r4, =Task_LotteryCornerComputerEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08138EF4 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_08138EF4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end DoLotteryCornerComputerEffect - - thumb_func_start Task_LotteryCornerComputerEffect -Task_LotteryCornerComputerEffect: @ 8138F04 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08138F22 - adds r0, r1, 0 - bl LotteryCornerComputerEffect -_08138F22: - pop {r0} - bx r0 - .pool - thumb_func_end Task_LotteryCornerComputerEffect - - thumb_func_start LotteryCornerComputerEffect -LotteryCornerComputerEffect: @ 8138F2C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _08138F9A - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08138F64 - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _08138F7A - .pool -_08138F64: - ldr r2, =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_08138F7A: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _08138F9A - ldrb r0, [r4, 0xA] - bl DestroyTask -_08138F9A: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end LotteryCornerComputerEffect - - thumb_func_start EndLotteryCornerComputerEffect -EndLotteryCornerComputerEffect: @ 8138FAC - push {lr} - ldr r2, =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .pool - thumb_func_end EndLotteryCornerComputerEffect - - thumb_func_start SetTrickHouseEndRoomFlag -SetTrickHouseEndRoomFlag: @ 8138FD4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetTrickHouseEndRoomFlag - - thumb_func_start ResetTrickHouseEndRoomFlag -ResetTrickHouseEndRoomFlag: @ 8138FEC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x000001f5 - strh r0, [r1] - bl FlagClear - pop {r0} - bx r0 - .pool - thumb_func_end ResetTrickHouseEndRoomFlag - - thumb_func_start CheckLeadMonCool -CheckLeadMonCool: @ 8139004 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _08139028 - movs r0, 0x1 - b _0813902A - .pool -_08139028: - movs r0, 0 -_0813902A: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCool - - thumb_func_start CheckLeadMonBeauty -CheckLeadMonBeauty: @ 8139030 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _08139054 - movs r0, 0x1 - b _08139056 - .pool -_08139054: - movs r0, 0 -_08139056: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonBeauty - - thumb_func_start CheckLeadMonCute -CheckLeadMonCute: @ 813905C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _08139080 - movs r0, 0x1 - b _08139082 - .pool -_08139080: - movs r0, 0 -_08139082: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCute - - thumb_func_start CheckLeadMonSmart -CheckLeadMonSmart: @ 8139088 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _081390AC - movs r0, 0x1 - b _081390AE - .pool -_081390AC: - movs r0, 0 -_081390AE: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonSmart - - thumb_func_start CheckLeadMonTough -CheckLeadMonTough: @ 81390B4 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _081390D8 - movs r0, 0x1 - b _081390DA - .pool -_081390D8: - movs r0, 0 -_081390DA: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonTough - - thumb_func_start IsGrassTypeInParty -IsGrassTypeInParty: @ 81390E0 - push {r4-r6,lr} - movs r5, 0 - ldr r6, =gBaseStats -_081390E6: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0813913C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0813913C - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _08139128 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0813913C -_08139128: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - b _0813914A - .pool -_0813913C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _081390E6 - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813914A: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end IsGrassTypeInParty - - thumb_func_start SpawnScriptEventObject -SpawnScriptEventObject: @ 8139158 - push {lr} - sub sp, 0x8 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialEventObjectParameterized - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gEventObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .pool - thumb_func_end SpawnScriptEventObject - - thumb_func_start RemoveScriptEventObject -RemoveScriptEventObject: @ 81391AC - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveEventObjectByLocalIdAndMap - pop {r0} - bx r0 - .pool - thumb_func_end RemoveScriptEventObject - - thumb_func_start GetPokeblockNameByMonNature -GetPokeblockNameByMonNature: @ 81391D0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl CopyMonFavoritePokeblockName - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end GetPokeblockNameByMonNature - - thumb_func_start GetSecretBaseNearbyMapName -GetSecretBaseNearbyMapName: @ 8139200 - push {r4,lr} - ldr r4, =gStringVar1 - ldr r0, =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GetSecretBaseNearbyMapName - - thumb_func_start sub_8139228 -sub_8139228: @ 8139228 - push {lr} - movs r0, 0x20 - bl GetGameStat - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8139228 - - thumb_func_start sub_8139238 -sub_8139238: @ 8139238 - push {lr} - ldr r0, =gStringVar1 - bl GetEreaderTrainerName - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139238 - - thumb_func_start sub_8139248 -sub_8139248: @ 8139248 - push {r4,r5,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =0x00002e68 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, =0x00002e6a - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, =gUnknown_085B2B88 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _08139294 - ldr r4, =gUnknown_085B2B94 - b _08139296 - .pool -_08139294: - ldr r4, =gUnknown_085B2BA0 -_08139296: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139248 - - thumb_func_start sub_81392AC -sub_81392AC: @ 81392AC - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000213 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392CC - movs r0, 0x1 - b _081392CE - .pool -_081392CC: - movs r0, 0 -_081392CE: - pop {r1} - bx r1 - thumb_func_end sub_81392AC - - thumb_func_start sub_81392D4 -sub_81392D4: @ 81392D4 - push {lr} - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x85 - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _081392F0 - movs r0, 0x1 - b _081392F2 - .pool -_081392F0: - movs r0, 0 -_081392F2: - pop {r1} - bx r1 - thumb_func_end sub_81392D4 - - thumb_func_start sub_81392F8 -sub_81392F8: @ 81392F8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000215 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139318 - movs r0, 0x1 - b _0813931A - .pool -_08139318: - movs r0, 0 -_0813931A: - pop {r1} - bx r1 - thumb_func_end sub_81392F8 - - thumb_func_start sub_8139320 -sub_8139320: @ 8139320 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldr r0, =0x00000216 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139340 - movs r0, 0x1 - b _08139342 - .pool -_08139340: - movs r0, 0 -_08139342: - pop {r1} - bx r1 - thumb_func_end sub_8139320 - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 8139348 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GiveLeadMonEffortRibbon -GiveLeadMonEffortRibbon: @ 8139370 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x2A - bl IncrementGameStat - ldr r0, =0x0000089b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x47 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _081393B6 - adds r0, r4, 0 - movs r1, 0x47 - bl sub_80EE4DC -_081393B6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end GiveLeadMonEffortRibbon - - thumb_func_start Special_AreLeadMonEVsMaxedOut -Special_AreLeadMonEVsMaxedOut: @ 81393C8 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, =0x01fd0000 - cmp r0, r1 - bhi _081393F4 - movs r0, 0 - b _081393F6 - .pool -_081393F4: - movs r0, 0x1 -_081393F6: - pop {r1} - bx r1 - thumb_func_end Special_AreLeadMonEVsMaxedOut - - thumb_func_start sub_81393FC -sub_81393FC: @ 81393FC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08139454 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _08139454 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139434 - ldr r0, =0x0000409a - movs r1, 0x4 - b _08139446 - .pool -_08139434: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08139454 - ldr r0, =0x0000409a - movs r1, 0x5 -_08139446: - bl VarSet - movs r0, 0x1 - b _08139456 - .pool -_08139454: - movs r0, 0 -_08139456: - pop {r1} - bx r1 - thumb_func_end sub_81393FC - - thumb_func_start SetShoalItemFlag -SetShoalItemFlag: @ 813945C - push {lr} - ldr r0, =0x000008bf - bl FlagSet - pop {r0} - bx r0 - .pool - thumb_func_end SetShoalItemFlag - - thumb_func_start PutZigzagoonInPlayerParty -PutZigzagoonInPlayerParty: @ 813946C - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end PutZigzagoonInPlayerParty - - thumb_func_start IsStarterInParty -IsStarterInParty: @ 81394D8 - push {r4-r6,lr} - ldr r0, =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139526 -_081394FA: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0813951C - movs r0, 0x1 - b _08139528 - .pool -_0813951C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _081394FA -_08139526: - movs r0, 0 -_08139528: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsStarterInParty - - thumb_func_start ScriptCheckFreePokemonStorageSpace -ScriptCheckFreePokemonStorageSpace: @ 8139530 - push {lr} - bl CheckFreePokemonStorageSpace - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end ScriptCheckFreePokemonStorageSpace - - thumb_func_start IsPokerusInParty -IsPokerusInParty: @ 8139540 - push {lr} - ldr r0, =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _08139558 - movs r0, 0x1 - b _0813955A - .pool -_08139558: - movs r0, 0 -_0813955A: - pop {r1} - bx r1 - thumb_func_end IsPokerusInParty - - thumb_func_start sub_8139560 -sub_8139560: @ 8139560 - push {lr} - ldr r0, =sub_81395BC - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - strh r0, [r1, 0xC] - ldr r0, =gSpecialVar_0x8007 - ldrh r0, [r0] - strh r0, [r1, 0xE] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139560 - - thumb_func_start sub_81395BC -sub_81395BC: @ 81395BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08139614 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4] - negs r0, r0 - strh r0, [r4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x8 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08139614 - adds r0, r5, 0 - bl sub_8139620 - bl InstallCameraPanAheadCallback -_08139614: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81395BC - - thumb_func_start sub_8139620 -sub_8139620: @ 8139620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_8139620 - - thumb_func_start sub_8139634 -sub_8139634: @ 8139634 - push {lr} - movs r0, 0x95 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8139634 - - thumb_func_start SetRoute119Weather -SetRoute119Weather: @ 8139648 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139664 - movs r0, 0x14 - bl SetSav1Weather -_08139664: - pop {r0} - bx r0 - thumb_func_end SetRoute119Weather - - thumb_func_start SetRoute123Weather -SetRoute123Weather: @ 8139668 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_map_type_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139684 - movs r0, 0x15 - bl SetSav1Weather -_08139684: - pop {r0} - bx r0 - thumb_func_end SetRoute123Weather - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 8139688 - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _081396D6 -_08139698: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081396CC - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _081396CC - adds r0, r5, 0 - b _081396D8 - .pool -_081396CC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _08139698 -_081396D6: - movs r0, 0 -_081396D8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start ScriptGetPartyMonSpecies -ScriptGetPartyMonSpecies: @ 81396E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .pool - thumb_func_end ScriptGetPartyMonSpecies - - thumb_func_start nullsub_54 -nullsub_54: @ 8139708 - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_813970C -sub_813970C: @ 813970C - push {r4,lr} - ldr r0, =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _08139734 - movs r0, 0 - b _0813974C - .pool -_08139734: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0813974A - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0813974C -_0813974A: - movs r0, 0x8 -_0813974C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813970C - - thumb_func_start sub_8139754 -sub_8139754: @ 8139754 - push {r4,lr} - ldr r0, =0x000040c2 - ldr r4, =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8139754 - - thumb_func_start sub_8139770 -sub_8139770: @ 8139770 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x2 - bne _081397A6 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - ldr r4, =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r4, 0 - bl StringCompare - cmp r0, 0 - beq _081397BC -_081397A6: - movs r0, 0x1 - b _081397BE - .pool -_081397BC: - movs r0, 0 -_081397BE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8139770 - - thumb_func_start sub_81397C4 -sub_81397C4: @ 81397C4 - push {r4,r5,lr} - ldr r2, =gSpecialVar_Result - ldrh r1, [r2] - ldr r0, =0x0000270f - cmp r1, r0 - bls _081397E0 - movs r0, 0 - bl TV_PrintIntToStringVar - b _08139862 - .pool -_081397E0: - ldr r0, =0x000003e7 - cmp r1, r0 - bls _081397F8 - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0813981C - .pool -_081397F8: - cmp r1, 0x63 - bls _0813980C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0813981C - .pool -_0813980C: - cmp r1, 0x9 - bls _0813983C - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0813981C: - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _08139862 - .pool -_0813983C: - ldr r4, =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_08139862: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81397C4 - - thumb_func_start sub_813986C -sub_813986C: @ 813986C - push {lr} - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x4 - bhi _081398B8 - lsls r0, 2 - ldr r1, =_08139888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139888: - .4byte _0813989C - .4byte _081398A0 - .4byte _081398A4 - .4byte _081398A8 - .4byte _081398AC -_0813989C: - movs r0, 0x3 - b _081398AE -_081398A0: - movs r0, 0x4 - b _081398AE -_081398A4: - movs r0, 0 - b _081398AE -_081398A8: - movs r0, 0x1 - b _081398AE -_081398AC: - movs r0, 0x2 -_081398AE: - bl mevent_081445C0 - lsls r0, 16 - lsrs r0, 16 - b _081398BA -_081398B8: - movs r0, 0 -_081398BA: - pop {r1} - bx r1 - thumb_func_end sub_813986C - - thumb_func_start sub_81398C0 -sub_81398C0: @ 81398C0 - push {r4,lr} - ldr r1, =gSpecialVar_0x8004 - ldr r2, =0xfffffedf - adds r0, r2, 0 - ldrh r2, [r1] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x39 - bls _081398E0 - movs r0, 0 - b _081398FC - .pool -_081398E0: - ldr r4, =gStringVar2 - ldrh r0, [r1] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - movs r0, 0x1 -_081398FC: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_81398C0 - - thumb_func_start sub_813990C -sub_813990C: @ 813990C - push {r4,r5,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _08139942 -_0813991C: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x4 - bl GetMonData - cmp r0, 0x1 - bne _08139938 - movs r0, 0x1 - b _08139944 - .pool -_08139938: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0813991C -_08139942: - movs r0, 0 -_08139944: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813990C - - thumb_func_start InMultiBattleRoom -InMultiBattleRoom: @ 813994C - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00000f1a - cmp r1, r0 - bne _08139978 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _08139978 - movs r0, 0x1 - b _0813997A - .pool -_08139978: - movs r0, 0 -_0813997A: - pop {r1} - bx r1 - thumb_func_end InMultiBattleRoom - - thumb_func_start sub_8139980 -sub_8139980: @ 8139980 - push {lr} - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0x8 - movs r1, 0 - bl SetCameraPanning - pop {r0} - bx r0 - thumb_func_end sub_8139980 - - thumb_func_start sub_8139994 -sub_8139994: @ 8139994 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _081399E4 - lsls r0, 2 - ldr r1, =_081399B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081399B8: - .4byte _081399E4 - .4byte _081399D0 - .4byte _081399D4 - .4byte _081399D8 - .4byte _081399DC - .4byte _081399E0 -_081399D0: - movs r1, 0x5 - b _081399E6 -_081399D4: - movs r1, 0x6 - b _081399E6 -_081399D8: - movs r1, 0x7 - b _081399E6 -_081399DC: - movs r1, 0x8 - b _081399E6 -_081399E0: - movs r1, 0xF - b _081399E6 -_081399E4: - movs r1, 0x4 -_081399E6: - ldr r0, =0x00004043 - bl VarSet - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139994 - - thumb_func_start sub_81399F4 -sub_81399F4: @ 81399F4 - push {r4,lr} - ldr r2, =gUnknown_0203AB60 - movs r0, 0 - strh r0, [r2] - ldr r1, =gUnknown_0203AB62 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r3, [r0] - movs r0, 0x14 - ldrsb r0, [r3, r0] - adds r4, r1, 0 - cmp r0, 0xD - bne _08139A6E - ldrb r0, [r3, 0x15] - subs r0, 0x10 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x4 - bhi _08139A6E - lsls r0, 2 - ldr r1, =_08139A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08139A34: - .4byte _08139A66 - .4byte _08139A5E - .4byte _08139A56 - .4byte _08139A4E - .4byte _08139A48 -_08139A48: - movs r0, 0 - strh r0, [r2] - b _08139A6C -_08139A4E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x1 - b _08139A6C -_08139A56: - movs r0, 0 - strh r0, [r2] - movs r0, 0x2 - b _08139A6C -_08139A5E: - movs r0, 0 - strh r0, [r2] - movs r0, 0x3 - b _08139A6C -_08139A66: - movs r0, 0 - strh r0, [r2] - movs r0, 0x4 -_08139A6C: - strh r0, [r4] -_08139A6E: - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81399F4 - - thumb_func_start sub_8139A78 -sub_8139A78: @ 8139A78 - push {r4-r6,lr} - ldr r0, =sub_8139AF4 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r4, r1, r0 - movs r3, 0 - strh r3, [r4, 0x2] - strh r3, [r4, 0x4] - movs r6, 0x1 - strh r6, [r4, 0x8] - ldr r0, =gSpecialVar_0x8005 - ldr r1, =gSpecialVar_0x8006 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bls _08139AC0 - subs r0, r2, r0 - lsls r0, 16 - lsrs r5, r0, 16 - strh r6, [r4, 0xC] - b _08139AC8 - .pool -_08139AC0: - subs r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - strh r3, [r4, 0xC] -_08139AC8: - cmp r5, 0x8 - bls _08139ACE - movs r5, 0x8 -_08139ACE: - ldr r0, =gUnknown_085B2C18 - adds r0, r5, r0 - ldrb r0, [r0] - strh r0, [r4, 0xA] - movs r0, 0 - bl SetCameraPanningCallback - ldrb r1, [r4, 0xC] - adds r0, r5, 0 - bl sub_8139C2C - movs r0, 0x59 - bl PlaySE - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139A78 - - thumb_func_start sub_8139AF4 -sub_8139AF4: @ 8139AF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _08139B54 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r0, 0x4 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08139B54 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - bl InstallCameraPanAheadCallback -_08139B54: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139AF4 - - thumb_func_start sub_8139B60 -sub_8139B60: @ 8139B60 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0xC - ldr r5, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B2BAC - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gText_ElevatorNowOn - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0xFF - mov r9, r1 - str r1, [sp, 0x4] - movs r1, 0 - mov r8, r1 - str r1, [sp, 0x8] - movs r1, 0x1 - adds r2, r4, 0 - bl PrintTextOnWindow - ldr r6, =gElevatorFloorsTable - ldr r4, =gSpecialVar_0x8005 - ldrh r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r3, r0, 0 - ldrb r0, [r5] - ldrh r1, [r4] - lsls r1, 2 - adds r1, r6 - ldr r2, [r1] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x11 - str r1, [sp] - mov r1, r9 - str r1, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x1 - bl PrintTextOnWindow - ldrb r0, [r5] - bl PutWindowTilemap - ldrb r0, [r5] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139B60 - - thumb_func_start sub_8139C10 -sub_8139C10: @ 8139C10 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C10 - - thumb_func_start sub_8139C2C -sub_8139C2C: @ 8139C2C - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, =sub_8139C80 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08139C6C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r5, [r1, 0xC] - ldr r0, =gUnknown_085B2C21 - adds r0, r6, r0 - ldrb r0, [r0] - strh r0, [r1, 0xE] -_08139C6C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C2C - - thumb_func_start sub_8139C80 -sub_8139C80: @ 8139C80 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r0, 2 - ldr r1, [sp] - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r6, r0, r1 - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _08139D7C - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08139D10 - movs r1, 0 - ldr r2, =gUnknown_085B2BF4 - mov r10, r2 -_08139CBA: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139CCA: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139CCA - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139CBA - b _08139D62 - .pool -_08139D10: - movs r1, 0 - ldr r0, =gUnknown_085B2C06 - mov r10, r0 -_08139D16: - movs r5, 0 - adds r7, r1, 0x7 - lsls r0, r1, 1 - adds r2, r1, 0x1 - mov r8, r2 - adds r0, r1 - lsls r0, 1 - mov r9, r0 -_08139D26: - adds r4, r5, 0 - adds r4, 0x8 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - asrs r0, 15 - add r0, r9 - add r0, r10 - ldrh r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - adds r2, r1, 0 - orrs r2, r0 - adds r0, r4, 0 - adds r1, r7, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08139D26 - mov r2, r8 - lsls r0, r2, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bls _08139D16 -_08139D62: - bl DrawWholeMapView - movs r0, 0 - strh r0, [r6, 0x2] - movs r0, 0 - ldrsh r1, [r6, r0] - movs r2, 0x6 - ldrsh r0, [r6, r2] - cmp r1, r0 - bne _08139D7C - ldr r0, [sp] - bl DestroyTask -_08139D7C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139C80 - - thumb_func_start sub_8139D98 -sub_8139D98: @ 8139D98 - push {r4-r7,lr} - sub sp, 0x18 - ldr r6, =gSpecialVar_0x8004 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x27 - bl GetMonData - str r0, [sp] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x28 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x29 - bl GetMonData - str r0, [sp, 0x8] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2A - bl GetMonData - str r0, [sp, 0xC] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2B - bl GetMonData - str r0, [sp, 0x10] - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x2C - bl GetMonData - str r0, [sp, 0x14] - ldr r1, =gSpecialVar_0x8005 - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r2, r1, 0 -_08139E00: - lsls r0, r4, 2 - add r0, sp - ldr r1, [r0] - ldrh r0, [r2] - adds r0, r1 - strh r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E00 - ldr r2, =gSpecialVar_0x8006 - movs r0, 0 - strh r0, [r2] - ldr r1, =gSpecialVar_0x8007 - ldr r0, [sp] - strh r0, [r1] - movs r4, 0x1 - adds r6, r2, 0 - adds r7, r1, 0 -_08139E28: - ldrh r0, [r6] - lsls r0, 2 - mov r2, sp - adds r1, r2, r0 - lsls r0, r4, 2 - adds r5, r2, r0 - ldr r1, [r1] - ldr r0, [r5] - cmp r1, r0 - bcs _08139E54 - strh r4, [r6] - b _08139E6C - .pool -_08139E54: - cmp r1, r0 - bne _08139E6E - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139E6E - strh r4, [r6] - ldr r0, [r5] -_08139E6C: - strh r0, [r7] -_08139E6E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x5 - bls _08139E28 - add sp, 0x18 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8139D98 - - thumb_func_start warp0_in_pokecenter -warp0_in_pokecenter: @ 8139E80 - push {r4,lr} - ldr r0, =gUnknown_020322DC - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B2C2A - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _08139EC6 - adds r4, r1, 0 - adds r1, r2, 0 -_08139EA4: - ldrh r0, [r2] - cmp r0, r3 - bne _08139EBC - movs r0, 0x1 - b _08139EC8 - .pool -_08139EBC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _08139EA4 -_08139EC6: - movs r0, 0 -_08139EC8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end warp0_in_pokecenter - - thumb_func_start sub_8139ED0 -sub_8139ED0: @ 8139ED0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003c1a - cmp r1, r0 - beq _08139EEC - movs r0, 0x1 - b _08139EEE - .pool -_08139EEC: - movs r0, 0 -_08139EEE: - pop {r1} - bx r1 - thumb_func_end sub_8139ED0 - - thumb_func_start UpdateFrontierManiac -UpdateFrontierManiac: @ 8139EF4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000402f - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xA - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierManiac - - thumb_func_start sub_8139F20 -sub_8139F20: @ 8139F20 - push {r4-r7,lr} - movs r4, 0 - ldr r0, =0x0000402f - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08139F34 - b _0813A03A -_08139F34: - lsls r0, r6, 2 - ldr r1, =_08139F48 - adds r1, r0, r1 - ldr r1, [r1] - adds r2, r0, 0 - mov pc, r1 - .pool - .align 2, 0 -_08139F48: - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F70 - .4byte _08139F94 - .4byte _08139FB4 - .4byte _08139FCC - .4byte _08139FE4 - .4byte _08139FFC - .4byte _0813A014 -_08139F70: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - movs r3, 0xCE - lsls r3, 4 - adds r1, r0, r3 - adds r3, r1, r2 - ldr r1, =0x00000ce2 - adds r0, r1 - adds r1, r0, r2 - ldrh r0, [r3] - ldrh r2, [r1] - cmp r0, r2 - bcs _0813A028 - b _0813A038 - .pool -_08139F94: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r3, =0x00000d0c - adds r2, r0, r3 - adds r3, 0x2 -_08139F9E: - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcs _0813A028 - b _0813A038 - .pool -_08139FB4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000de2 - adds r2, r0, r1 - ldr r3, =0x00000de4 - b _08139F9E - .pool -_08139FCC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dc8 - adds r2, r0, r1 - ldr r3, =0x00000dca - b _08139F9E - .pool -_08139FE4: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000dda - adds r2, r0, r1 - ldr r3, =0x00000ddc - b _08139F9E - .pool -_08139FFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e04 - adds r2, r0, r1 - ldr r3, =0x00000e06 - b _08139F9E - .pool -_0813A014: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000e1a - adds r2, r0, r1 - ldr r3, =0x00000e1c - adds r1, r0, r3 - ldrh r0, [r2] - ldrh r3, [r1] - cmp r0, r3 - bcc _0813A038 -_0813A028: - adds r4, r0, 0 - b _0813A03A - .pool -_0813A038: - ldrh r4, [r1] -_0813A03A: - movs r2, 0 - ldr r5, =gUnknown_085B2CC8 - lsls r0, r6, 1 - adds r1, r0, r5 - ldrb r1, [r1] - adds r3, r0, 0 - ldr r7, =gUnknown_085B2C50 - cmp r1, r4 - bcs _0813A062 - adds r1, r3, 0 -_0813A04E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bhi _0813A062 - adds r0, r2, r1 - adds r0, r5 - ldrb r0, [r0] - cmp r0, r4 - bcc _0813A04E -_0813A062: - adds r0, r3, r6 - adds r0, r2 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8139F20 - - thumb_func_start sub_813A080 -sub_813A080: @ 813A080 - push {r4-r7,lr} - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - lsrs r4, r0, 30 - cmp r5, 0x2 - bne _0813A0D8 - movs r0, 0xA9 - lsls r0, 1 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813A0D8 - ldr r1, =gSpecialVar_0x8005 - movs r0, 0x5 - strh r0, [r1] - ldr r1, =gSpecialVar_0x8006 - movs r0, 0x4 - strh r0, [r1] - b _0813A110 - .pool -_0813A0D0: - movs r0, 0x4 - strh r0, [r6] - adds r0, r3, 0x5 - b _0813A10E -_0813A0D8: - movs r3, 0 - ldr r6, =gSpecialVar_0x8005 - ldr r7, =gSpecialVar_0x8006 - lsls r1, r4, 1 - lsls r2, r5, 2 - ldr r4, =gUnknown_085B2CDC - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - adds r1, r2 - movs r2, 0xCE - lsls r2, 4 - adds r0, r2 - adds r0, r1 - ldrh r1, [r0] -_0813A0F4: - lsls r0, r3, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, r1 - bhi _0813A0D0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _0813A0F4 - movs r0, 0x4 - strh r0, [r6] - movs r0, 0xC -_0813A10E: - strh r0, [r7] -_0813A110: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A080 - - thumb_func_start sub_813A128 -sub_813A128: @ 813A128 - push {r4,lr} - ldr r0, =sub_813A2DC - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r3, r0, r1 - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - strh r0, [r3, 0x1E] - ldrh r0, [r1] - cmp r0, 0xC - bls _0813A14E - b _0813A2C6 -_0813A14E: - lsls r0, 2 - ldr r1, =_0813A168 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813A168: - .4byte _0813A19C - .4byte _0813A1AA - .4byte _0813A1C2 - .4byte _0813A1D6 - .4byte _0813A1F0 - .4byte _0813A208 - .4byte _0813A222 - .4byte _0813A23C - .4byte _0813A25A - .4byte _0813A274 - .4byte _0813A274 - .4byte _0813A28E - .4byte _0813A2A8 -_0813A19C: - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - b _0813A2BC -_0813A1AA: - movs r1, 0 - movs r0, 0x5 - strh r0, [r3, 0x8] - movs r0, 0x8 - strh r0, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x9 - strh r0, [r3, 0x10] - movs r0, 0xA - b _0813A2BE -_0813A1C2: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0x1 - strh r0, [r3, 0xC] - strh r0, [r3, 0xE] - movs r0, 0x7 - b _0813A250 -_0813A1D6: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A1F0: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A208: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A222: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0xE - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xF - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A23C: - movs r2, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r1, 0xC - strh r1, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE -_0813A250: - strh r0, [r3, 0x10] - strh r1, [r3, 0x12] - strh r2, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A25A: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xA - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xB - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A274: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0xB - strh r0, [r3, 0xA] - movs r0, 0xF - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xE - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A28E: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x13 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xA - strh r0, [r3, 0x10] - movs r0, 0xC - b _0813A2BE -_0813A2A8: - movs r1, 0 - movs r0, 0x6 - strh r0, [r3, 0x8] - movs r0, 0x7 - strh r0, [r3, 0xA] - movs r0, 0x11 - strh r0, [r3, 0xC] - movs r0, 0x1 - strh r0, [r3, 0xE] - movs r0, 0xC -_0813A2BC: - strh r0, [r3, 0x10] -_0813A2BE: - strh r0, [r3, 0x12] - strh r1, [r3, 0x14] - strh r4, [r3, 0x26] - b _0813A2D2 -_0813A2C6: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0813A2D2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A128 - - thumb_func_start sub_813A2DC -sub_813A2DC: @ 813A2DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - bl ScriptContext2_Enable - ldr r0, =gUnknown_0203AB68 - movs r5, 0 - strh r5, [r0] - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] - ldrh r0, [r6, 0x1E] - movs r1, 0 - bl sub_813AA60 - ldrb r0, [r6, 0x1E] - movs r1, 0 - bl sub_813ACE8 - ldr r4, =gUnknown_0203AB64 - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 3 - bl AllocZeroed - str r0, [r4] - ldr r0, =gUnknown_0203AB6A - strh r5, [r0] - bl sub_813A42C - movs r3, 0 - movs r4, 0 - movs r2, 0xA - ldrsh r0, [r6, r2] - add r1, sp, 0x18 - mov r8, r1 - cmp r3, r0 - bge _0813A36A - ldr r5, =gUnknown_085B2CF0 -_0813A33A: - lsls r1, r4, 2 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r5 - ldr r0, [r1] - ldr r1, =gUnknown_0203AB64 - ldr r2, [r1] - lsls r1, r4, 3 - adds r1, r2 - str r0, [r1] - str r4, [r1, 0x4] - adds r1, r3, 0 - bl display_text_and_get_width - adds r3, r0, 0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r4, r0 - blt _0813A33A -_0813A36A: - adds r0, r3, 0 - bl convert_pixel_width_to_tile_width - strh r0, [r6, 0x10] - movs r1, 0xC - ldrsh r0, [r6, r1] - movs r2, 0x10 - ldrsh r1, [r6, r2] - adds r0, r1 - cmp r0, 0x1D - ble _0813A38C - movs r0, 0x1D - subs r0, r1 - cmp r0, 0 - bge _0813A38A - movs r0, 0 -_0813A38A: - strh r0, [r6, 0xC] -_0813A38C: - ldrb r2, [r6, 0xC] - ldrb r3, [r6, 0xE] - ldrb r0, [r6, 0x10] - str r0, [sp] - ldrb r0, [r6, 0x12] - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0x64 - str r0, [sp, 0xC] - add r0, sp, 0x10 - movs r1, 0 - bl sub_8198A50 - ldr r0, [sp, 0x10] - ldr r1, [sp, 0x14] - str r0, [sp, 0x18] - str r1, [sp, 0x1C] - mov r0, r8 - bl AddWindow - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldr r4, =gUnknown_030061D0 - ldrh r0, [r6, 0xA] - strh r0, [r4, 0xC] - ldrh r0, [r6, 0x8] - strh r0, [r4, 0xE] - ldrh r0, [r6, 0x22] - strb r0, [r4, 0x10] - adds r0, r7, 0 - bl sub_813A694 - ldrh r1, [r6, 0x16] - ldrh r2, [r6, 0x18] - adds r0, r4, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x24] - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A2DC - - thumb_func_start sub_813A42C -sub_813A42C: @ 813A42C - ldr r1, =gUnknown_030061D0 - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - str r0, [r1] - ldr r0, =sub_813A46C - str r0, [r1, 0x4] - movs r0, 0 - str r0, [r1, 0x8] - movs r2, 0 - movs r0, 0x1 - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strb r2, [r1, 0x10] - strb r2, [r1, 0x11] - movs r0, 0x8 - strb r0, [r1, 0x12] - strb r2, [r1, 0x13] - movs r0, 0x21 - strb r0, [r1, 0x14] - movs r0, 0x31 - strb r0, [r1, 0x15] - movs r0, 0 - strb r0, [r1, 0x16] - movs r0, 0x1 - strb r0, [r1, 0x17] - bx lr - .pool - thumb_func_end sub_813A42C - - thumb_func_start sub_813A46C -sub_813A46C: @ 813A46C - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x5 - bl PlaySE - ldr r0, =sub_813A4EC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0813A4D4 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - movs r2, 0 - bl ListMenuGetScrollAndRow - ldr r1, =gUnknown_0203AB68 - mov r0, sp - ldrh r0, [r0] - strh r0, [r1] - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - ldr r5, =gUnknown_0203AB6A - ldrh r1, [r5] - bl sub_813AC44 - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AA60 - ldrb r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AD34 - mov r0, sp - ldrh r0, [r0] - strh r0, [r5] -_0813A4D4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A46C - - thumb_func_start sub_813A4EC -sub_813A4EC: @ 813A4EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - bl ListMenuHandleInputGetItemId - adds r4, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0813A51C - adds r0, 0x1 - cmp r4, r0 - bne _0813A530 - b _0813A566 - .pool -_0813A51C: - ldr r1, =gSpecialVar_Result - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - b _0813A54C - .pool -_0813A530: - ldr r0, =gSpecialVar_Result - strh r4, [r0] - movs r0, 0x5 - bl PlaySE - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0813A54C - movs r1, 0xA - ldrsh r0, [r6, r1] - subs r0, 0x1 - cmp r4, r0 - bne _0813A558 -_0813A54C: - adds r0, r5, 0 - bl sub_813A570 - b _0813A566 - .pool -_0813A558: - adds r0, r5, 0 - bl sub_813A738 - ldr r0, =sub_813A600 - str r0, [r6] - bl EnableBothScriptContexts -_0813A566: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A4EC - - thumb_func_start sub_813A570 -sub_813A570: @ 813A570 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - bl ListMenuGetCurrentItemArrayId - ldrh r0, [r4, 0x1E] - mov r1, sp - ldrh r1, [r1] - bl sub_813AC44 - adds r0, r5, 0 - bl sub_813A738 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A570 - - thumb_func_start sub_813A600 -sub_813A600: @ 813A600 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _0813A624 - cmp r0, 0x2 - bne _0813A624 - movs r0, 0x1 - strh r0, [r1, 0x14] - ldr r0, =sub_813A664 - str r0, [r1] -_0813A624: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A600 - - thumb_func_start sub_813A630 -sub_813A630: @ 813A630 - push {lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _0813A64C - bl EnableBothScriptContexts - b _0813A65C - .pool -_0813A64C: - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x14] - adds r0, 0x1 - strh r0, [r1, 0x14] -_0813A65C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A630 - - thumb_func_start sub_813A664 -sub_813A664: @ 813A664 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - bl sub_813A694 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, =sub_813A4EC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A664 - - thumb_func_start sub_813A694 -sub_813A694: @ 813A694 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - mov r1, sp - ldr r0, =gUnknown_085B3030 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - movs r0, 0x8 - ldrsh r1, [r4, r0] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A724 - mov r2, sp - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - movs r3, 0 - strb r1, [r2, 0x1] - mov r1, sp - movs r0, 0x8 - strb r0, [r1, 0x2] - movs r0, 0x10 - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r1, r0 - asrs r1, 1 - lsls r1, 3 - adds r1, 0xC - movs r5, 0xC - ldrsh r0, [r4, r5] - subs r0, 0x1 - lsls r0, 3 - adds r1, r0 - strb r1, [r2, 0x4] - mov r1, sp - movs r2, 0x12 - ldrsh r0, [r4, r2] - lsls r0, 3 - adds r0, 0xA - strb r0, [r1, 0x5] - mov r0, sp - strh r3, [r0, 0x6] - mov r2, sp - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - subs r0, r1 - strh r0, [r2, 0x8] - ldr r1, =gUnknown_0203AB68 - mov r0, sp - bl AddScrollIndicatorArrowPair - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] -_0813A724: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A694 - - thumb_func_start sub_813A738 -sub_813A738: @ 813A738 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r2, r1, r0 - movs r0, 0x8 - ldrsh r1, [r2, r0] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r1, r0 - beq _0813A75E - ldrh r0, [r2, 0x20] - lsls r0, 24 - lsrs r0, 24 - bl RemoveScrollIndicatorArrowPair -_0813A75E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A738 - - thumb_func_start nullsub_55 -nullsub_55: @ 813A768 - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_813A76C -sub_813A76C: @ 813A76C - push {r4-r6,lr} - movs r4, 0 - ldr r6, =gLinkPlayers - ldr r0, =0x0000401f - adds r5, r0, 0 -_0813A776: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _0813A79C - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl VarSet - b _0813A7A8 - .pool -_0813A79C: - subs r0, r5, r4 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x69 - bl VarSet -_0813A7A8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _0813A776 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A76C - - thumb_func_start sub_813A7B8 -sub_813A7B8: @ 813A7B8 - push {lr} - ldr r1, =gSpecialVar_0x8004 - ldrh r0, [r1] - cmp r0, 0x5 - bls _0813A7C6 - movs r0, 0 - strh r0, [r1] -_0813A7C6: - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - ldr r1, =gUnknown_085B3040 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A7B8 - - thumb_func_start UpdateFrontierGambler -UpdateFrontierGambler: @ 813A7F4 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x00004030 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0xC - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end UpdateFrontierGambler - - thumb_func_start sub_813A820 -sub_813A820: @ 813A820 - push {r4,lr} - ldr r0, =0x00004030 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, =gUnknown_085B30A4 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - ldr r0, =0x00004031 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A820 - - thumb_func_start sub_813A854 -sub_813A854: @ 813A854 - push {r4,lr} - ldr r4, =gUnknown_085B30D4 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r0, [r0] - bl ShowFieldMessage - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A854 - - thumb_func_start sub_813A878 -sub_813A878: @ 813A878 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =0x000040ce - bl VarGet - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, =0x00004031 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =0x000040cf - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004033 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813A8F0 - ldr r1, =gUnknown_085B3104 - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r5, 8 - adds r0, r7 - cmp r1, r0 - bne _0813A8F0 - mov r0, r8 - cmp r0, 0 - beq _0813A8E8 - adds r0, r4, 0 - movs r1, 0x2 - bl VarSet - b _0813A8F0 - .pool -_0813A8E8: - adds r0, r4, 0 - movs r1, 0x3 - bl VarSet -_0813A8F0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813A878 - - thumb_func_start sub_813A8FC -sub_813A8FC: @ 813A8FC - push {lr} - sub sp, 0x2C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r1, [r0] - add r0, sp, 0xC - movs r2, 0x1 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - ldr r1, =gText_BP - bl StringCopy - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x30 - bl GetStringRightAlignXOffset - adds r3, r0, 0 - ldr r0, =gUnknown_0203AB6D - ldrb r0, [r0] - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - add r2, sp, 0xC - bl PrintTextOnWindow - add sp, 0x2C - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A8FC - - thumb_func_start sub_813A958 -sub_813A958: @ 813A958 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldr r0, =gUnknown_085B311C - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - bl sub_813A8FC - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A958 - - thumb_func_start sub_813A988 -sub_813A988: @ 813A988 - push {r4,lr} - ldr r4, =gUnknown_0203AB6D - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813A988 - - thumb_func_start sub_813A9A4 -sub_813A9A4: @ 813A9A4 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r2, =0x00000eb8 - adds r1, r0, r2 - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r1] - ldrh r0, [r0] - cmp r2, r0 - bcs _0813A9C8 - movs r0, 0 - b _0813A9CA - .pool -_0813A9C8: - subs r0, r2, r0 -_0813A9CA: - strh r0, [r1] - pop {r0} - bx r0 - thumb_func_end sub_813A9A4 - - thumb_func_start sub_813A9D0 -sub_813A9D0: @ 813A9D0 - push {lr} - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r1, r0 - ldr r0, =0x0000270f - cmp r1, r0 - ble _0813A9FC - strh r0, [r2] - b _0813A9FE - .pool -_0813A9FC: - strh r1, [r2] -_0813A9FE: - pop {r0} - bx r0 - thumb_func_end sub_813A9D0 - - thumb_func_start sub_813AA04 -sub_813AA04: @ 813AA04 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000eb8 - adds r0, r1 - ldrh r0, [r0] - bx lr - .pool - thumb_func_end sub_813AA04 - - thumb_func_start sub_813AA18 -sub_813AA18: @ 813AA18 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldr r0, =gUnknown_085B3124 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle - ldrb r0, [r4] - movs r1, 0x2 - bl CopyWindowToVram - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA18 - - thumb_func_start sub_813AA44 -sub_813AA44: @ 813AA44 - push {r4,lr} - ldr r4, =gUnknown_0203AB6E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA44 - - thumb_func_start sub_813AA60 -sub_813AA60: @ 813AA60 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - lsrs r4, r0, 16 - ldr r1, =0xfffd0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0x3 - bls _0813AA78 - b _0813ABC2 -_0813AA78: - movs r0, 0xD8 - str r0, [sp] - movs r0, 0x20 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0x4 - beq _0813AAE8 - cmp r4, 0x4 - bgt _0813AAA0 - cmp r4, 0x3 - beq _0813AAAA - b _0813ABC2 - .pool -_0813AAA0: - cmp r4, 0x5 - beq _0813AB5C - cmp r4, 0x6 - beq _0813AB94 - b _0813ABC2 -_0813AAAA: - ldr r1, =gUnknown_085B3170 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B312C - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - beq _0813AB18 - b _0813AB2C - .pool -_0813AAE8: - ldr r1, =gUnknown_085B319C - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B3142 - lsls r0, r5, 1 - adds r1, r0, r1 - ldrh r5, [r1] - ldr r0, =0x0000ffff - cmp r5, r0 - bne _0813AB2C -_0813AB18: - ldrh r0, [r1] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB2C: - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - lsls r0, r5, 24 - lsrs r0, 24 - str r4, [sp] - str r4, [sp, 0x4] - movs r1, 0x21 - movs r2, 0x58 - movs r3, 0 - bl AddDecorationIconObject - ldr r1, =gUnknown_0203AB6C - strb r0, [r1] - b _0813ABC2 - .pool -_0813AB5C: - ldr r1, =gUnknown_085B31B4 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B314E - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 - b _0813ABC2 - .pool -_0813AB94: - ldr r1, =gUnknown_085B31D0 - lsls r0, r5, 2 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - ldr r1, =gUnknown_085B315C - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - bl sub_813ABD4 -_0813ABC2: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AA60 - - thumb_func_start sub_813ABD4 -sub_813ABD4: @ 813ABD4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r4, =0x0000157c - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl AddItemIconSprite - ldr r4, =gUnknown_0203AB6C - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813AC32 - ldr r3, =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x24 - strh r1, [r0, 0x20] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5C - strh r1, [r0, 0x22] -_0813AC32: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ABD4 - - thumb_func_start sub_813AC44 -sub_813AC44: @ 813AC44 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =gUnknown_0203AB6C - ldrb r0, [r2] - cmp r0, 0x40 - beq _0813AC70 - cmp r1, 0x6 - bgt _0813AC6A - cmp r1, 0x3 - blt _0813AC6A - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources -_0813AC6A: - ldr r1, =gUnknown_0203AB6C - movs r0, 0x40 - strb r0, [r1] -_0813AC70: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC44 - - thumb_func_start sub_813AC7C -sub_813AC7C: @ 813AC7C - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - beq _0813ACB8 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B320C - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy - b _0813ACD2 - .pool -_0813ACB8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B31F8 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0xD - muls r1, r2 - ldr r2, =gMoveNames - adds r1, r2 - bl StringCopy -_0813ACD2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AC7C - - thumb_func_start sub_813ACE8 -sub_813ACE8: @ 813ACE8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - subs r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813AD20 - ldr r0, =gSpecialVar_0x8006 - ldrh r0, [r0] - cmp r0, 0 - bne _0813AD18 - ldr r4, =gUnknown_0203AB5E - ldr r0, =gUnknown_085B3220 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStandardWindowBorderStyle -_0813AD18: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_813AD34 -_0813AD20: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ACE8 - - thumb_func_start sub_813AD34 -sub_813AD34: @ 813AD34 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r7, r5, 0 - lsrs r6, r0, 24 - movs r1, 0xF7 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0813ADAC - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x60 - str r1, [sp] - movs r1, 0x30 - str r1, [sp, 0x4] - movs r1, 0x11 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r6, 0xA - bne _0813AD90 - ldrb r0, [r4] - ldr r2, =gUnknown_085B3254 - lsls r1, r5, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - b _0813ADAC - .pool -_0813AD90: - ldrb r0, [r4] - ldr r2, =gUnknown_085B3228 - lsls r1, r7, 2 - adds r1, r2 - ldr r2, [r1] - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow -_0813ADAC: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AD34 - - thumb_func_start sub_813ADB8 -sub_813ADB8: @ 813ADB8 - push {r4,lr} - ldr r4, =gUnknown_0203AB5E - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8198070 - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADB8 - - thumb_func_start sub_813ADD4 -sub_813ADD4: @ 813ADD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _0813AE90 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTasks - adds r6, r0, r1 - ldrh r0, [r6, 0x24] - lsls r0, 24 - lsrs r0, 24 - mov r4, sp - adds r4, 0x16 - add r1, sp, 0x14 - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStandardWindowBorderStyle - movs r5, 0 - mov r9, r4 - ldr r0, =gUnknown_085B2CF0 - mov r8, r0 - movs r4, 0 -_0813AE1E: - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x14 - ldrh r2, [r1] - adds r2, r5 - lsls r2, 2 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 6 - adds r2, r1 - add r2, r8 - ldr r2, [r2] - lsls r1, r5, 28 - lsrs r1, 24 - str r1, [sp] - movs r7, 0xFF - str r7, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0x1 - movs r3, 0xA - bl sub_8199F74 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0813AE1E - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gText_SelectorArrow - mov r3, r9 - ldrh r1, [r3] - lsls r1, 28 - lsrs r1, 24 - str r1, [sp] - str r7, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl PrintTextOnWindow - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r0, [r6, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram -_0813AE90: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813ADD4 - - thumb_func_start sub_813AEB4 -sub_813AEB4: @ 813AEB4 - push {r4,lr} - movs r1, 0 - ldr r0, =gSpecialVar_0x8005 - strh r1, [r0] - ldr r0, =0x0000400e - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =0x0000400d - bl VarGet - lsls r0, 16 - lsrs r1, r0, 16 - cmp r4, 0 - beq _0813AF18 - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B320C - adds r0, r1, r0 - ldrh r1, [r0] -_0813AEE2: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AEE2 - b _0813AF38 - .pool -_0813AF0C: - ldr r0, =gSpecialVar_0x8005 - strh r2, [r0] - b _0813AF38 - .pool -_0813AF18: - movs r2, 0 - lsls r1, 1 - ldr r3, =gUnknown_0861500C - ldr r0, =gUnknown_085B31F8 - adds r0, r1, r0 - ldrh r1, [r0] -_0813AF24: - lsls r0, r2, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r1 - beq _0813AF0C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1D - bls _0813AF24 -_0813AF38: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AEB4 - - thumb_func_start sub_813AF48 -sub_813AF48: @ 813AF48 - push {r4,r5,lr} - ldr r0, =sub_813A600 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xFF - beq _0813AFB6 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - ldrh r0, [r4, 0x24] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldr r0, =gUnknown_0203AB64 - ldr r0, [r0] - bl Free - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8198070 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl FillWindowPixelBuffer - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl CopyWindowToVram - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_0813AFB6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AF48 - - thumb_func_start sub_813AFC8 -sub_813AFC8: @ 813AFC8 - push {lr} - ldr r0, =task_deoxys_sound - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813AFC8 - - thumb_func_start task_deoxys_sound -task_deoxys_sound: @ 813AFDC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =0x000008d4 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B004 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B06A - .pool -_0813B004: - ldr r0, =0x00004035 - mov r8, r0 - bl VarGet - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - cmp r5, 0 - beq _0813B05C - ldr r0, =gUnknown_085B33F6 - subs r1, r5, 0x1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, r6 - bcs _0813B05C - movs r0, 0 - bl sub_813B0B4 - mov r0, r8 - movs r1, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - b _0813B070 - .pool -_0813B05C: - cmp r5, 0xA - bne _0813B080 - ldr r0, =0x000008d4 - bl FlagSet - ldr r1, =gSpecialVar_Result - movs r0, 0x2 -_0813B06A: - strh r0, [r1] - bl EnableBothScriptContexts -_0813B070: - adds r0, r7, 0 - bl DestroyTask - b _0813B0A2 - .pool -_0813B080: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_813B0B4 - ldr r0, =0x00004035 - adds r1, r5, 0 - bl VarSet - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - adds r0, r7, 0 - bl DestroyTask -_0813B0A2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end task_deoxys_sound - - thumb_func_start sub_813B0B4 -sub_813B0B4: @ 813B0B4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 5 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x1 - mov r3, sp - bl TryGetEventObjectIdByLocalIdAndMap - cmp r4, 0 - bne _0813B0F0 - movs r0, 0xC4 - bl PlaySE - b _0813B0F8 - .pool -_0813B0F0: - movs r0, 0x82 - lsls r0, 1 - bl PlaySE -_0813B0F8: - ldr r0, =sub_813B160 - movs r1, 0x8 - bl CreateTask - ldr r3, =gFieldEffectArguments - movs r0, 0x1 - str r0, [r3] - movs r0, 0x3A - str r0, [r3, 0x4] - movs r0, 0x1A - str r0, [r3, 0x8] - ldr r0, =gUnknown_085B33E0 - lsls r2, r4, 1 - adds r1, r2, r0 - ldrb r1, [r1] - str r1, [r3, 0xC] - adds r0, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - str r0, [r3, 0x10] - adds r5, r2, 0 - cmp r4, 0 - bne _0813B138 - movs r0, 0x3C - b _0813B13A - .pool -_0813B138: - movs r0, 0x5 -_0813B13A: - str r0, [r3, 0x14] - movs r0, 0x42 - bl FieldEffectStart - ldr r0, =gUnknown_085B33E0 - adds r1, r5, r0 - ldrb r1, [r1] - adds r0, 0x1 - adds r0, r5, r0 - ldrb r2, [r0] - movs r0, 0x1 - bl Overworld_SetEventObjTemplateCoords - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B0B4 - - thumb_func_start sub_813B160 -sub_813B160: @ 813B160 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x42 - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _0813B17C - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B17C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B160 - - thumb_func_start increment_var_x4026_on_birth_island_modulo_100 -increment_var_x4026_on_birth_island_modulo_100: @ 813B184 - push {r4,lr} - ldr r4, =0x00004034 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, =0x00003a1a - cmp r1, r0 - bne _0813B1C8 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0813B1C0 - adds r0, r4, 0 - movs r1, 0 - bl VarSet - b _0813B1C8 - .pool -_0813B1C0: - adds r0, r4, 0 - adds r1, r2, 0 - bl VarSet -_0813B1C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end increment_var_x4026_on_birth_island_modulo_100 - - thumb_func_start sub_813B1D0 -sub_813B1D0: @ 813B1D0 - push {lr} - ldr r0, =0x00004035 - bl VarGet - lsls r0, 24 - lsrs r0, 19 - ldr r1, =gUnknown_085B3280 - adds r0, r1 - movs r1, 0xD0 - lsls r1, 1 - movs r2, 0x8 - bl LoadPalette - movs r0, 0x80 - lsls r0, 19 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B1D0 - - thumb_func_start set_unknown_box_id -@ void set_unknown_box_id(char id) -set_unknown_box_id: @ 813B204 - ldr r1, =gUnknown_0203AB6F - strb r0, [r1] - bx lr - .pool - thumb_func_end set_unknown_box_id - - thumb_func_start get_unknown_box_id -get_unknown_box_id: @ 813B210 - ldr r0, =gUnknown_0203AB6F - ldrb r0, [r0] - bx lr - .pool - thumb_func_end get_unknown_box_id - - thumb_func_start sub_813B21C -sub_813B21C: @ 813B21C - push {r4,r5,lr} - ldr r5, =0x000008d7 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813B258 - bl StorageGetCurrentBox - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _0813B258 - adds r0, r5, 0 - bl FlagSet - movs r0, 0x1 - b _0813B25A - .pool -_0813B258: - movs r0, 0 -_0813B25A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813B21C - - thumb_func_start sub_813B260 -sub_813B260: @ 813B260 - push {r4-r7,lr} - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r4, r0, 24 -_0813B278: - movs r5, 0 - lsls r6, r4, 24 - lsls r7, r4, 16 -_0813B27E: - lsls r1, r5, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl GetBoxedMonPtr - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0813B2C0 - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _0813B2A6 - ldr r0, =0x000008d7 - bl FlagClear -_0813B2A6: - ldr r0, =0x00004036 - lsrs r1, r7, 16 - bl VarSet - bl sub_813B21C - lsls r0, 24 - lsrs r0, 24 - b _0813B2DC - .pool -_0813B2C0: - adds r5, 0x1 - cmp r5, 0x1D - ble _0813B27E - adds r4, 0x1 - cmp r4, 0xE - bne _0813B2CE - movs r4, 0 -_0813B2CE: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0813B278 - movs r0, 0 -_0813B2DC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B260 - - thumb_func_start sub_813B2E4 -sub_813B2E4: @ 813B2E4 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004038 - movs r1, 0 - bl VarSet - movs r0, 0xDF - lsls r0, 1 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B340 - ldr r0, =0x000001bf - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B330 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet - b _0813B36A - .pool -_0813B330: - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - bne _0813B354 - bl Random - lsls r0, 16 - lsrs r4, r0, 16 -_0813B340: - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0x1 - bl VarSet - b _0813B36A - .pool -_0813B354: - bl Random - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - movs r1, 0x7 - ands r4, r1 - adds r1, r4, 0 - adds r1, 0x9 - bl VarSet -_0813B36A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B2E4 - - thumb_func_start sub_813B374 -sub_813B374: @ 813B374 - push {r4,lr} - ldr r0, =0x00004037 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_085B3400 - subs r1, r4, 0x1 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl GetMapName - cmp r4, 0x8 - bls _0813B3A8 - movs r0, 0x1 - b _0813B3AA - .pool -_0813B3A8: - movs r0, 0 -_0813B3AA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B374 - - thumb_func_start sub_813B3B0 -sub_813B3B0: @ 813B3B0 - push {r4-r6,lr} - ldr r5, =0x00004038 - adds r0, r5, 0 - bl VarGet - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x00004037 - bl VarGet - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _0813B47C - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, =0x000003e7 - cmp r4, r0 - bls _0813B474 - adds r0, r5, 0 - movs r1, 0 - bl VarSet - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0x18 - bne _0813B414 - movs r0, 0x5 - ldrsb r0, [r1, r0] - cmp r0, 0x69 - bgt _0813B414 - cmp r0, 0x65 - blt _0813B414 - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B414: - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x4 - ldrsb r1, [r2, r1] - adds r3, r0, 0 - cmp r1, 0 - bne _0813B444 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, 0x34 - beq _0813B436 - cmp r0, 0x34 - blt _0813B444 - cmp r0, 0x38 - bgt _0813B444 - cmp r0, 0x36 - blt _0813B444 -_0813B436: - ldr r0, =0x00004039 - movs r1, 0x1 - b _0813B478 - .pool -_0813B444: - ldr r3, [r3] - movs r2, 0x5 - ldrsb r2, [r3, r2] - ldr r1, =gUnknown_085B3410 - subs r0, r6, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0813B468 - movs r0, 0x4 - ldrsb r0, [r3, r0] - cmp r0, 0 - bne _0813B468 - movs r0, 0x1 - b _0813B47E - .pool -_0813B468: - ldr r0, =0x00004037 - movs r1, 0 - b _0813B478 - .pool -_0813B474: - adds r0, r5, 0 - adds r1, r4, 0 -_0813B478: - bl VarSet -_0813B47C: - movs r0, 0 -_0813B47E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813B3B0 - - thumb_func_start sub_813B484 -sub_813B484: @ 813B484 - push {lr} - movs r0, 0x2 - bl sub_80AB104 - pop {r0} - bx r0 - thumb_func_end sub_813B484 - - thumb_func_start sub_813B490 -sub_813B490: @ 813B490 - push {r4-r7,lr} - movs r3, 0 - ldr r0, =gSaveBlock1Ptr - ldr r4, [r0] - movs r6, 0x4 - ldrsb r6, [r4, r6] - ldr r5, =gUnknown_085B3420 - adds r0, r5, 0x2 - mov r12, r0 - adds r7, r5, 0x1 -_0813B4A4: - lsls r0, r3, 1 - adds r2, r0, r3 - adds r0, r2, r5 - ldrb r0, [r0] - cmp r6, r0 - bne _0813B4CC - movs r1, 0x5 - ldrsb r1, [r4, r1] - adds r0, r2, r7 - ldrb r0, [r0] - cmp r1, r0 - bne _0813B4CC - mov r1, r12 - adds r0, r2, r1 - ldrb r0, [r0] - b _0813B4D8 - .pool -_0813B4CC: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xB - bls _0813B4A4 - movs r0, 0x1 -_0813B4D8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813B490 - - thumb_func_start sub_813B4E0 -sub_813B4E0: @ 813B4E0 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - bl GetRematchIdxByTrainerIdx - cmp r0, 0 - blt _0813B50C - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B50C - movs r0, 0x1 - b _0813B50E - .pool -_0813B50C: - movs r0, 0 -_0813B50E: - pop {r1} - bx r1 - thumb_func_end sub_813B4E0 - - thumb_func_start sub_813B514 -sub_813B514: @ 813B514 - push {lr} - ldr r0, =0x0000403f - bl VarGet - lsls r0, 16 - cmp r0, 0 - beq _0813B52C - movs r0, 0x1 - b _0813B52E - .pool -_0813B52C: - movs r0, 0 -_0813B52E: - pop {r1} - bx r1 - thumb_func_end sub_813B514 - - thumb_func_start sub_813B534 -sub_813B534: @ 813B534 - push {lr} - ldr r2, =gUnknown_0203AB70 - ldr r1, =gBattleTypeFlags - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - str r0, [r1] - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0813B552 - ldr r0, =sub_80B3AF8 - movs r1, 0x5 - bl CreateTask -_0813B552: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B534 - - thumb_func_start sub_813B568 -sub_813B568: @ 813B568 - push {lr} - ldr r0, =sub_813B57C - movs r1, 0x5 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B568 - - thumb_func_start sub_813B57C -sub_813B57C: @ 813B57C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x9 - bls _0813B596 - b _0813B7C6 -_0813B596: - lsls r0, 2 - ldr r1, =_0813B5A8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813B5A8: - .4byte _0813B5D0 - .4byte _0813B5E4 - .4byte _0813B614 - .4byte _0813B6B4 - .4byte _0813B6E4 - .4byte _0813B728 - .4byte _0813B764 - .4byte _0813B772 - .4byte _0813B784 - .4byte _0813B7A8 -_0813B5D0: - ldr r0, =sub_80B3AF8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0813B5DE - b _0813B7C6 -_0813B5DE: - b _0813B790 - .pool -_0813B5E4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B5F2 - b _0813B7C6 -_0813B5F2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B5FE - b _0813B790 -_0813B5FE: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_0x8004 - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B614: - bl GetBlockReceivedStatus - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0813B622 - b _0813B7C6 -_0813B622: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B62E - b _0813B790 -_0813B62E: - ldr r5, =gSpecialVar_0x8005 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r5] - movs r0, 0x1 - bl ResetBlockReceivedFlag - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B668 - ldrh r1, [r5] - cmp r1, 0x1 - bne _0813B668 - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _0813B790 - .pool -_0813B668: - ldr r0, =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - bne _0813B68C - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813B68C - ldr r1, =gSpecialVar_Result - movs r0, 0x2 - b _0813B6AC - .pool -_0813B68C: - ldrh r0, [r2] - cmp r0, 0x1 - bne _0813B6A8 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B6A8 - ldr r1, =gSpecialVar_Result - movs r0, 0x3 - b _0813B6AC - .pool -_0813B6A8: - ldr r1, =gSpecialVar_Result - movs r0, 0 -_0813B6AC: - strh r0, [r1] - b _0813B790 - .pool -_0813B6B4: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813B6C2 - b _0813B7C6 -_0813B6C2: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B790 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gSpecialVar_Result - movs r2, 0x2 - bl SendBlock - b _0813B708 - .pool -_0813B6E4: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0813B7C6 - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _0813B790 - ldr r1, =gSpecialVar_Result - ldr r0, =gBlockRecvBuffer - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0 - bl ResetBlockReceivedFlag -_0813B708: - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0813B7C6 - .pool -_0813B728: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0813B74C - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x2 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B74C: - ldr r0, =gSpecialVar_Result - ldrh r0, [r0] - cmp r0, 0x3 - bne _0813B790 - ldr r0, =gText_YourPartnerHasRetired - bl ShowFieldAutoScrollMessage - b _0813B790 - .pool -_0813B764: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0813B7C6 - b _0813B790 -_0813B772: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 - bl sub_800ADF8 - b _0813B790 -_0813B784: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B7C6 -_0813B790: - ldr r0, =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0813B7C6 - .pool -_0813B7A8: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0813B7B4 - bl sub_800AC34 -_0813B7B4: - ldr r0, =gBattleTypeFlags - ldr r1, =gUnknown_0203AB70 - ldr r1, [r1] - str r1, [r0] - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0813B7C6: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B57C - - thumb_func_start sub_813B7D8 -sub_813B7D8: @ 813B7D8 - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0813B7F8 - ldr r2, =CB2_ReturnToFieldContinueScript - movs r0, 0 - movs r1, 0x1 - bl DoRayquazaScene - b _0813B802 - .pool -_0813B7F8: - ldr r2, =CB2_ReturnToFieldContinueScript - movs r0, 0x1 - movs r1, 0 - bl DoRayquazaScene -_0813B802: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B7D8 - - thumb_func_start sub_813B80C -sub_813B80C: @ 813B80C - push {lr} - ldr r0, =sub_813B824 - movs r1, 0x8 - bl CreateTask - movs r0, 0x9D - bl PlaySE - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B80C - - thumb_func_start sub_813B824 -sub_813B824: @ 813B824 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - movs r0, 0x2 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - cmp r1, r0 - bne _0813B858 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x9D - bl PlaySE -_0813B858: - movs r0, 0 - ldrsh r1, [r4, r0] - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0813B86C - adds r0, r5, 0 - bl DestroyTask -_0813B86C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B824 - - thumb_func_start sub_813B880 -sub_813B880: @ 813B880 - push {lr} - ldr r0, =_fwalk - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x4 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r2, [r1, 0xE] - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B880 - - thumb_func_start _fwalk -_fwalk: @ 813B8B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r0, 2 - add r0, r9 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0x6 - ldrsh r1, [r5, r0] - lsls r1, 1 - adds r1, r5 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r1, 0x6 - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _0813B94E - movs r6, 0 -_0813B8EA: - movs r4, 0 - lsls r3, r6, 3 - mov r10, r3 - adds r7, r6, 0x1 - mov r8, r7 -_0813B8F4: - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - movs r2, 0 - ldrsh r0, [r1, r2] - adds r0, r4 - adds r0, 0x6 - movs r3, 0x2 - ldrsh r1, [r1, r3] - adds r1, r6 - adds r1, 0x4 - ldr r7, =0x00000201 - adds r2, r4, r7 - add r2, r10 - movs r7, 0x6 - ldrsh r3, [r5, r7] - lsls r3, 5 - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813B8F4 - mov r1, r8 - lsls r0, r1, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _0813B8EA - bl DrawWholeMapView - ldrh r0, [r5, 0x6] - adds r0, 0x1 - strh r0, [r5, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _0813B94E - mov r0, r9 - bl DestroyTask - bl EnableBothScriptContexts -_0813B94E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end _fwalk - - thumb_func_start sub_813B968 -sub_813B968: @ 813B968 - push {r4,r5,lr} - ldr r5, =gSpecialVar_Result - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - movs r1, 0x7 - bl __udivsi3 - strh r0, [r5] - ldrh r4, [r5] - adds r0, r4, 0 - movs r1, 0x14 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - subs r4, r1 - strh r4, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B968 - - thumb_func_start sub_813B9A0 -sub_813B9A0: @ 813B9A0 - push {lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x1C] - movs r0, 0xB0 - lsls r0, 4 - cmp r1, r0 - bne _0813B9B6 - movs r0, 0x3 - bl Overworld_SetHealLocationWarp -_0813B9B6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813B9A0 - - thumb_func_start sub_813B9C0 -sub_813B9C0: @ 813B9C0 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0x4 - ldrsb r1, [r0, r1] - lsls r1, 8 - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gUnknown_085B3444 - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0813BA06 - adds r4, r1, 0 - adds r1, r2, 0 -_0813B9E6: - ldrh r0, [r2] - cmp r0, r3 - bne _0813B9FC - movs r0, 0x1 - b _0813BA08 - .pool -_0813B9FC: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r4 - bne _0813B9E6 -_0813BA06: - movs r0, 0 -_0813BA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813B9C0 - - thumb_func_start ResetFanClub -ResetFanClub: @ 813BA10 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - strh r2, [r0] - bx lr - .pool - thumb_func_end ResetFanClub - - thumb_func_start sub_813BA30 -sub_813BA30: @ 813BA30 - push {lr} - bl sub_813BF44 - lsls r0, 24 - cmp r0, 0 - beq _0813BA52 - bl sub_813BCE8 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] -_0813BA52: - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA30 - - thumb_func_start sub_813BA60 -sub_813BA60: @ 813BA60 - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813BAB6 - bl sub_813BF60 - bl sub_813BD84 - ldr r1, [r4] - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - ldr r0, =0x00000315 - bl FlagClear - ldr r0, =0x00000316 - bl FlagClear - ldr r0, =0x00000317 - bl FlagClear - movs r0, 0xC6 - lsls r0, 2 - bl FlagClear - ldr r0, =0x000002da - bl FlagClear - ldr r0, =0x00004095 - movs r1, 0x1 - bl VarSet -_0813BAB6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BA60 - - thumb_func_start sub_813BADC -sub_813BADC: @ 813BADC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BB58 - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, =0x0000141e - adds r3, r0, r5 - ldrh r2, [r3] - movs r1, 0x7F - ands r1, r2 - ldr r0, =gUnknown_085B3470 - adds r0, r6, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0813BB54 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0813BB3C - bl sub_813BB74 - ldr r0, [r4] - adds r0, r5 - ldrh r2, [r0] - ldr r1, =0x0000ff80 - ands r1, r2 - strh r1, [r0] - b _0813BB58 - .pool -_0813BB3C: - ldr r2, [r4] - adds r2, r5 - ldrh r1, [r2] - ldr r0, =0x0000ff80 - ands r0, r1 - movs r1, 0x14 - orrs r0, r1 - strh r0, [r2] - b _0813BB58 - .pool -_0813BB54: - adds r0, r2, r0 - strh r0, [r3] -_0813BB58: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BADC - - thumb_func_start sub_813BB74 -sub_813BB74: @ 813BB74 - push {r4-r7,lr} - sub sp, 0x8 - movs r3, 0 - movs r5, 0 - ldr r7, =gSaveBlock1Ptr - ldr r2, =0x0000141e - movs r6, 0x1 -_0813BB82: - ldr r0, [r7] - adds r0, r2 - ldrh r1, [r0] - ldr r0, =gUnknown_085B3474 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0813BBC8 - adds r3, r5, 0 - str r2, [sp] - str r3, [sp, 0x4] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r1, 0 - beq _0813BBC8 - ldr r0, [r7] - adds r0, r2 - adds r1, r6, 0 - lsls r1, r4 - ldrh r2, [r0] - orrs r1, r2 - strh r1, [r0] - b _0813BBEA - .pool -_0813BBC8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BB82 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldr r1, =gUnknown_085B3474 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0813BBEA: - adds r0, r3, 0 - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BB74 - - thumb_func_start sub_813BC00 -sub_813BC00: @ 813BC00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r10, r0 - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813BC2E - movs r0, 0 - b _0813BC8E -_0813BC1E: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - lsls r4, r6 - ldrh r1, [r0] - eors r4, r1 - strh r4, [r0] - b _0813BC8C -_0813BC2E: - movs r5, 0 - ldr r2, =gSaveBlock1Ptr - mov r8, r2 - ldr r0, =0x0000141e - mov r9, r0 - movs r4, 0x1 -_0813BC3A: - mov r1, r8 - ldr r0, [r1] - add r0, r9 - ldrh r1, [r0] - ldr r7, =gUnknown_085B347C - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0813BC5E - mov r10, r5 - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - bne _0813BC1E -_0813BC5E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0813BC3A - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x0000141e - adds r4, r0, r2 - ldrh r1, [r4] - mov r2, r10 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0813BC8C - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0813BC8C: - mov r0, r10 -_0813BC8E: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BC00 - - thumb_func_start sub_813BCA8 -sub_813BCA8: @ 813BCA8 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r4, [r0] - movs r5, 0x1 -_0813BCBA: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0813BCCE - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0813BCCE: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0813BCBA - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BCA8 - - thumb_func_start sub_813BCE8 -sub_813BCE8: @ 813BCE8 - push {r4-r6,lr} - movs r5, 0 - ldr r2, =gSaveBlock2Ptr - ldr r0, [r2] - ldrh r1, [r0, 0xE] - ldr r0, =0x000003e6 - cmp r1, r0 - bhi _0813BD58 - adds r6, r2, 0 - b _0813BD32 - .pool -_0813BD04: - ldr r0, [r6] - ldrh r1, [r0, 0xE] - ldr r4, =gSaveBlock1Ptr - ldr r0, [r4] - movs r2, 0xA1 - lsls r2, 5 - adds r0, r2 - ldrh r0, [r0] - subs r1, r0 - cmp r1, 0xB - ble _0813BD58 - bl sub_813BC00 - ldr r0, [r4] - movs r1, 0xA1 - lsls r1, 5 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0xC - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0813BD32: - bl sub_813BCA8 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0813BD54 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, [r6] - ldrh r0, [r0, 0xE] - movs r2, 0xA1 - lsls r2, 5 - adds r1, r2 - strh r0, [r1] - b _0813BD58 - .pool -_0813BD54: - cmp r5, 0x8 - bne _0813BD04 -_0813BD58: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813BCE8 - - thumb_func_start sub_813BD60 -sub_813BD60: @ 813BD60 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BD60 - - thumb_func_start sub_813BD84 -sub_813BD84: @ 813BD84 - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, =0x0000141e - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .pool - thumb_func_end sub_813BD84 - - thumb_func_start sub_813BDB4 -sub_813BDB4: @ 813BDB4 - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0813BE14 - lsls r0, 2 - ldr r1, =_0813BDD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BDD8: - .4byte _0813BE14 - .4byte _0813BE14 - .4byte _0813BDF8 - .4byte _0813BDFE - .4byte _0813BE04 - .4byte _0813BE0A - .4byte _0813BE10 - .4byte _0813BE14 -_0813BDF8: - movs r3, 0 - movs r2, 0x3 - b _0813BE14 -_0813BDFE: - movs r3, 0 - movs r2, 0x1 - b _0813BE14 -_0813BE04: - movs r3, 0x1 - movs r2, 0 - b _0813BE14 -_0813BE0A: - movs r3, 0 - movs r2, 0x4 - b _0813BE14 -_0813BE10: - movs r3, 0x1 - movs r2, 0x5 -_0813BE14: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003150 - adds r0, r1 - adds r1, r3, 0 - bl sub_813BE30 - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BDB4 - - thumb_func_start sub_813BE30 -sub_813BE30: @ 813BE30 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r0, r5, 4 - adds r1, r6, r0 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0813BEE8 - cmp r2, 0x5 - bhi _0813BED4 - lsls r0, r2, 2 - ldr r1, =_0813BE58 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0813BE58: - .4byte _0813BED4 - .4byte _0813BE70 - .4byte _0813BE84 - .4byte _0813BE98 - .4byte _0813BEAC - .4byte _0813BEC0 -_0813BE70: - ldr r0, =gStringVar1 - ldr r1, =gText_Steven - bl StringCopy - b _0813BF04 - .pool -_0813BE84: - ldr r0, =gStringVar1 - ldr r1, =gText_Brawly - bl StringCopy - b _0813BF04 - .pool -_0813BE98: - ldr r0, =gStringVar1 - ldr r1, =gText_Winona - bl StringCopy - b _0813BF04 - .pool -_0813BEAC: - ldr r0, =gStringVar1 - ldr r1, =gText_Phoebe - bl StringCopy - b _0813BF04 - .pool -_0813BEC0: - ldr r0, =gStringVar1 - ldr r1, =gText_Glacia - bl StringCopy - b _0813BF04 - .pool -_0813BED4: - ldr r0, =gStringVar1 - ldr r1, =gText_Wallace - bl StringCopy - b _0813BF04 - .pool -_0813BEE8: - ldr r4, =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r5 - ldrb r1, [r0] - adds r0, r4, 0 - bl ConvertInternationalString -_0813BF04: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_813BE30 - - thumb_func_start sub_813BF10 -sub_813BF10: @ 813BF10 - push {lr} - ldr r0, =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0813BF40 - bl sub_813BA30 - ldr r0, =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813BF3C - bl sub_813BB74 - b _0813BF40 - .pool -_0813BF3C: - bl sub_813BC00 -_0813BF40: - pop {r0} - bx r0 - thumb_func_end sub_813BF10 - - thumb_func_start sub_813BF44 -sub_813BF44: @ 813BF44 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x0000141e - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .pool - thumb_func_end sub_813BF44 - - thumb_func_start sub_813BF60 -sub_813BF60: @ 813BF60 - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x0000141e - adds r1, r0 - ldrh r2, [r1] - movs r0, 0x80 - orrs r0, r2 - strh r0, [r1] - bx lr - .pool - thumb_func_end sub_813BF60 - - thumb_func_start sub_813BF7C -sub_813BF7C: @ 813BF7C - push {lr} - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_813BADC - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_813BF7C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index 110c5e627..0d5c6b631 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -16021,7 +16021,7 @@ sub_81B892C: @ 81B892C str r0, [sp] ldr r0, =sub_81B1370 str r0, [sp, 0x4] - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic str r0, [sp, 0x8] movs r0, 0 movs r1, 0 @@ -16042,7 +16042,7 @@ sub_81B8958: @ 81B8958 str r0, [sp] ldr r0, =sub_81B1370 str r0, [sp, 0x4] - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic str r0, [sp, 0x8] movs r0, 0xB movs r1, 0 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index b02f3e58a..9e1cf03d8 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -6,1513 +6,8 @@ .text - thumb_func_start sub_80C7128 -sub_80C7128: @ 80C7128 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - adds r7, r3, 0 - ldr r5, [sp, 0x1C] - ldr r4, [sp, 0x20] - ldr r0, [sp, 0x24] - mov r9, r0 - ldr r0, [sp, 0x28] - ldr r3, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r3, 16 - lsrs r3, 16 - mov r0, r9 - lsls r0, 17 - mov r9, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r6, r2 - adds r0, r4, 0 - muls r0, r3 - adds r0, r5 - lsls r0, 1 - adds r7, r0 - movs r4, 0 - cmp r4, r8 - bcs _080C7198 - mov r0, r9 - lsrs r0, 1 - mov r9, r0 - lsls r5, r3, 1 -_080C717E: - adds r0, r7, 0 - adds r1, r6, 0 - mov r3, r9 - lsrs r2, r3, 16 - bl CpuSet - adds r6, 0x40 - adds r7, r5 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bcc _080C717E -_080C7198: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C7128 - - thumb_func_start sub_80C71A4 -sub_80C71A4: @ 80C71A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsrs r2, 11 - adds r2, r1 - lsls r2, 1 - adds r4, r2 - lsls r3, 17 - lsrs r0, r3, 16 - str r0, [sp, 0x4] - movs r0, 0 - cmp r0, r10 - bcs _080C724E - movs r6, 0x80 - lsls r6, 5 - mov r5, sp - ldr r7, =0x040000d4 - lsrs r3, 17 - mov r9, r3 - mov r1, r9 - movs r2, 0x81 - lsls r2, 24 - orrs r1, r2 - mov r9, r1 -_080C71EA: - adds r3, r4, 0 - ldr r2, [sp, 0x4] - movs r1, 0x40 - adds r1, r4 - mov r8, r1 - adds r0, 0x1 - mov r12, r0 - cmp r2, r6 - bhi _080C7214 - movs r0, 0 - strh r0, [r5] - mov r2, sp - str r2, [r7] - str r4, [r7, 0x4] - mov r0, r9 - str r0, [r7, 0x8] - ldr r0, [r7, 0x8] - b _080C7242 - .pool -_080C7214: - movs r4, 0 - strh r4, [r5] - ldr r1, =0x040000d4 - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - ldr r0, =0x81000800 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r6 - subs r2, r6 - cmp r2, r6 - bhi _080C7214 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - lsrs r0, r2, 1 - movs r2, 0x81 - lsls r2, 24 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080C7242: - mov r4, r8 - mov r1, r12 - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, r10 - bcc _080C71EA -_080C724E: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C71A4 - - thumb_func_start c3_0808C39C -c3_0808C39C: @ 80C7268 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bls _080C7284 - b _080C756A -_080C7284: - lsls r0, 2 - ldr r1, =_080C7298 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080C7298: - .4byte _080C72AC - .4byte _080C730C - .4byte _080C7320 - .4byte _080C746A - .4byte _080C7544 -_080C72AC: - ldrb r0, [r5, 0xA] - adds r1, r5, 0 - adds r1, 0x26 - bl sub_80C75FC - bl sub_81973A4 - movs r0, 0 - movs r1, 0 - bl NewMenuHelpers_DrawDialogueFrame - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0xFF - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - b _080C7318 - .pool -_080C730C: - bl IsWeatherNotFadingIn - lsls r0, 24 - cmp r0, 0 - bne _080C7318 - b _080C756A -_080C7318: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080C756A -_080C7320: - bl ProcessMenuInput - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xC] - movs r3, 0xC - ldrsh r1, [r5, r3] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080C73D0 - cmp r1, r0 - bgt _080C7342 - subs r0, 0x1 - cmp r1, r0 - beq _080C7348 - b _080C73F6 -_080C7342: - cmp r1, 0x4 - beq _080C73D0 - b _080C73F6 -_080C7348: - ldrh r3, [r5, 0xA] - strh r3, [r5, 0xE] - ldr r2, =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080C7366 - subs r0, r3, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - cmp r0, 0 - bge _080C7366 - movs r0, 0x4 - strh r0, [r5, 0xE] -_080C7366: - ldrh r1, [r2, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C7382 - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080C7382 - movs r0, 0 - strh r0, [r5, 0xE] -_080C7382: - lsls r0, r3, 16 - asrs r0, 16 - ldrh r2, [r5, 0xE] - movs r3, 0xE - ldrsh r1, [r5, r3] - cmp r0, r1 - bne _080C7392 - b _080C756A -_080C7392: - movs r4, 0 - strh r2, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - b _080C756A - .pool -_080C73D0: - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_819746C - bl ScriptContext2_Disable - bl EnableBothScriptContexts - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask - b _080C756A -_080C73F6: - movs r3, 0xC - ldrsh r4, [r5, r3] - cmp r4, 0 - bne _080C7428 - bl CountPartyMons - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _080C7428 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_PartyFull - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _080C7532 - .pool -_080C7428: - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080C745C - bl CountPartyMons - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080C745C - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gText_JustOnePkmn - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r4, 0x3 - str r4, [sp, 0xC] - b _080C7532 - .pool -_080C745C: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - movs r0, 0x4 - strh r0, [r5, 0x8] - b _080C756A -_080C746A: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r7, 0x3 - adds r4, r7, 0 - ands r4, r1 - cmp r4, 0 - beq _080C749C - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - str r0, [sp] - b _080C7528 - .pool -_080C749C: - movs r0, 0x40 - ands r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - beq _080C74E8 - ldrh r0, [r5, 0xA] - subs r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _080C74B8 - movs r0, 0x4 - strh r0, [r5, 0xA] -_080C74B8: - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r3, 0xA - ldrsh r0, [r5, r3] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r4, [sp] - b _080C7528 - .pool -_080C74E8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C756A - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080C7500 - strh r6, [r5, 0xA] -_080C7500: - movs r0, 0x1 - bl MoveMenuCursor - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r1, =gUnknown_085716C0 - movs r2, 0xA - ldrsh r0, [r5, r2] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r2, [r0] - str r6, [sp] -_080C7528: - movs r4, 0x2 - str r4, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r7, [sp, 0xC] -_080C7532: - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - strh r4, [r5, 0x8] - b _080C756A - .pool -_080C7544: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C756A - bl overworld_free_bg_tilemaps - ldrb r0, [r5, 0xC] - bl sub_80C7D74 - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - adds r0, r4, 0 - bl DestroyTask -_080C756A: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0808C39C - - thumb_func_start sub_80C7578 -sub_80C7578: @ 80C7578 - push {lr} - ldr r0, =c3_0808C39C - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bl ScriptContext2_Enable - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7578 - thumb_func_start mapldr_0808C6D8 -mapldr_0808C6D8: @ 80C75A8 - push {r4,r5,lr} - ldr r0, =gMain - ldr r5, [r0, 0xC] - movs r0, 0 - bl SetVBlankCallback - ldr r4, =c3_0808C39C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - ldr r2, =gUnknown_02039D00 - ldrb r2, [r2] - strh r2, [r1, 0xA] - bl _call_via_r4 - adds r0, r5, 0 - bl SetVBlankCallback - bl pal_fill_black - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end mapldr_0808C6D8 - thumb_func_start sub_80C75FC -sub_80C75FC: @ 80C75FC - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r6, r0, 0 - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_085716E8 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, =gUnknown_085716C0 - mov r8, r0 - movs r1, 0x5 - bl GetMaxWidthInMenuTable - lsls r0, 24 - ldr r2, =0x00ffffff - ldr r1, [sp] - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - bl AddWindow - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - adds r0, r4, 0 - movs r1, 0x5 - mov r2, r8 - bl PrintMenuTable - adds r0, r4, 0 - movs r1, 0x5 - adds r2, r6, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - mov r0, r9 - strh r5, [r0] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C75FC - - thumb_func_start sub_80C7678 -sub_80C7678: @ 80C7678 - push {lr} - bl sub_80CAEA0 - ldr r1, =gUnknown_02039D00 - strb r0, [r1] - ldr r1, =gFieldCallback - ldr r0, =mapldr_0808C6D8 - str r0, [r1] - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7678 - - thumb_func_start sub_80C76A4 -sub_80C76A4: @ 80C76A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - lsls r1, 24 - lsrs r0, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - adds r4, r3, 0 - ldr r2, =0x0000ffff - cmp r3, 0x1 - bhi _080C76C6 - movs r2, 0x1 - cmp r3, 0x1 - beq _080C76CA -_080C76C6: - cmp r4, 0x3 - bne _080C7714 -_080C76CA: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080C7760 - cmp r1, r7 - bgt _080C7760 -_080C76E2: - asrs r4, r0, 16 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - add r0, r8 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080C770C - asrs r0, r6, 16 - adds r0, r4, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080C7760 - cmp r2, r7 - ble _080C76E2 - b _080C7760 - .pool -_080C770C: - adds r0, r4, 0 - b _080C7764 -_080C7710: - adds r0, r5, 0 - b _080C7764 -_080C7714: - lsls r0, 24 - asrs r0, 24 - lsls r2, 16 - asrs r1, r2, 16 - adds r1, r0 - lsls r0, r1, 16 - asrs r1, r0, 16 - adds r6, r2, 0 - cmp r1, 0 - blt _080C7760 - cmp r1, r7 - bgt _080C7760 -_080C772C: - asrs r5, r0, 16 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 4 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _080C7750 - adds r0, r4, 0 - movs r1, 0x2D - bl GetBoxMonData - cmp r0, 0 - beq _080C7710 -_080C7750: - asrs r0, r6, 16 - adds r0, r5, r0 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - blt _080C7760 - cmp r2, r7 - ble _080C772C -_080C7760: - movs r0, 0x1 - negs r0, r0 -_080C7764: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C76A4 - - thumb_func_start ResetPokemonStorageSystem -ResetPokemonStorageSystem: @ 80C7770 - push {r4-r6,lr} - movs r0, 0 - bl sub_80D1D18 - movs r5, 0 -_080C777A: - movs r4, 0 - lsls r6, r5, 24 -_080C777E: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r6, 24 - bl sub_80D2018 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _080C777E - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080C777A - movs r5, 0 -_080C779E: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBoxNamePtr - ldr r1, =gText_Box - bl StringCopy - adds r4, r5, 0x1 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - lsls r4, 16 - lsrs r5, r4, 16 - cmp r5, 0xD - bls _080C779E - movs r5, 0 -_080C77C2: - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x3 - ands r1, r5 - bl sub_80D2120 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _080C77C2 - bl ResetWaldaWallpaper - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ResetPokemonStorageSystem - - thumb_func_start sub_80C77E8 -sub_80C77E8: @ 80C77E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x20 - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r7, r2, 0 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, =gUnknown_0857173C - str r0, [sp, 0x18] - ldr r1, =0xffff0000 - add r4, sp, 0x18 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r7 - str r0, [r4, 0x4] - mov r1, sp - ldr r0, =gUnknown_0857175C - str r0, [sp] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1, 0x4] - strh r6, [r1, 0x6] - ldr r0, =gUnknown_08571F5C - str r0, [sp, 0x8] - movs r0, 0xC0 - lsls r0, 1 - strh r0, [r1, 0xC] - adds r0, r6, 0x1 - strh r0, [r1, 0xE] - add r0, sp, 0x10 - movs r1, 0 - movs r2, 0x8 - bl memset - ldr r0, [sp, 0x38] - cmp r0, 0 - beq _080C7846 - adds r0, r4, 0 - bl LoadSpritePalette -_080C7846: - mov r0, sp - bl LoadSpriteSheets - ldr r0, =gUnknown_02039D04 - str r5, [r0] - movs r1, 0x90 - lsls r1, 2 - adds r0, r5, r1 - strh r6, [r0] - adds r1, 0x2 - adds r0, r5, r1 - strh r7, [r0] - adds r1, 0x4 - adds r0, r5, r1 - mov r1, r8 - strb r1, [r0] - movs r1, 0x8F - lsls r1, 2 - adds r0, r5, r1 - ldr r1, [sp, 0x38] - str r1, [r0] - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C77E8 - - thumb_func_start sub_80C7890 -sub_80C7890: @ 80C7890 - push {r4,r5,lr} - ldr r5, =gUnknown_02039D04 - ldr r1, [r5] - movs r2, 0x8F - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _080C78AC - adds r2, 0x6 - adds r0, r1, r2 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C78AC: - ldr r0, [r5] - movs r4, 0x90 - lsls r4, 2 - adds r0, r4 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r5] - adds r0, r4 - ldrh r0, [r0] - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - bl FreeSpriteTilesByTag - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7890 - - thumb_func_start sub_80C78D4 -sub_80C78D4: @ 80C78D4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80C7958 - pop {r0} - bx r0 - thumb_func_end sub_80C78D4 - - thumb_func_start sub_80C78E4 -sub_80C78E4: @ 80C78E4 - push {lr} - bl sub_80C7B14 - pop {r0} - bx r0 - thumb_func_end sub_80C78E4 - - thumb_func_start sub_80C78F0 -sub_80C78F0: @ 80C78F0 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080C790C - movs r0, 0x5 - bl PlaySE - movs r0, 0xC9 - b _080C7954 - .pool -_080C790C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C792C - movs r0, 0x5 - bl PlaySE - ldr r0, =gUnknown_02039D04 - ldr r0, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - b _080C7954 - .pool -_080C792C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080C7940 - movs r0, 0x5 - bl PlaySE - bl sub_80C7BB4 - b _080C7952 -_080C7940: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080C7952 - movs r0, 0x5 - bl PlaySE - bl sub_80C7B80 -_080C7952: - movs r0, 0xC8 -_080C7954: - pop {r1} - bx r1 - thumb_func_end sub_80C78F0 - - thumb_func_start sub_80C7958 -sub_80C7958: @ 80C7958 - push {r4-r6,lr} - sub sp, 0x3C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - movs r1, 0 - str r0, [sp, 0x34] - str r1, [sp, 0x38] - movs r1, 0xC0 - lsls r1, 24 - ldr r0, [sp, 0x34] - orrs r0, r1 - str r0, [sp, 0x34] - ldr r1, =0xffff0fff - add r4, sp, 0x34 - ldr r0, [r4, 0x4] - ands r0, r1 - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r4, 0x4] - add r1, sp, 0x1C - movs r2, 0 - strh r2, [r1] - mov r0, sp - adds r0, 0x1E - strh r2, [r0] - str r4, [sp, 0x20] - ldr r0, =gDummySpriteAnimTable - str r0, [sp, 0x24] - str r2, [sp, 0x28] - ldr r0, =gDummySpriteAffineAnimTable - str r0, [sp, 0x2C] - ldr r0, =SpriteCallbackDummy - str r0, [sp, 0x30] - add r0, sp, 0x4 - movs r2, 0x18 - bl memcpy - ldr r6, =gUnknown_02039D04 - ldr r0, [r6] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - strb r5, [r0] - add r2, sp, 0x4 - ldr r1, [r6] - movs r5, 0x90 - lsls r5, 2 - adds r0, r1, r5 - ldrh r0, [r0] - strh r0, [r2] - ldr r3, =0x00000242 - adds r1, r3 - ldrh r0, [r1] - strh r0, [r2, 0x2] - adds r0, r2, 0 - movs r1, 0xA0 - movs r2, 0x60 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r3, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - str r0, [r3] - ldrb r2, [r4, 0x1] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x80 - orrs r0, r2 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - ands r1, r0 - movs r0, 0x40 - orrs r1, r0 - strb r1, [r4, 0x3] - add r1, sp, 0x4 - adds r3, r5 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r1] - ldr r0, =sSpriteAnimTable_8571710 - str r0, [sp, 0xC] - movs r4, 0 -_080C7A10: - ldr r0, [r6] - ldr r1, =0x00000246 - adds r0, r1 - ldrb r3, [r0] - add r0, sp, 0x4 - movs r1, 0x7C - movs r2, 0x50 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - ldr r2, [r6] - lsls r3, r4, 2 - adds r2, 0x4 - adds r2, r3 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r1, r0, r1 - str r1, [r2] - movs r5, 0 - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _080C7A4A - movs r0, 0xC4 - strh r0, [r1, 0x20] - movs r5, 0x2 -_080C7A4A: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080C7A6E - ldr r1, [r6] - adds r1, 0x4 - adds r1, r3 - ldr r2, [r1] - movs r0, 0x70 - strh r0, [r2, 0x22] - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x3] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C7A6E: - ldr r0, [r6] - adds r0, 0x4 - adds r0, r3 - ldr r0, [r0] - lsls r1, r5, 24 - lsrs r1, 24 - bl StartSpriteAnim - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080C7A10 - movs r4, 0 - ldr r5, =gUnknown_02039D04 -_080C7A8C: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 19 - movs r3, 0xF8 - lsls r3, 15 - adds r0, r3 - lsrs r0, 16 - lsls r2, r4, 24 - lsrs r2, 24 - ldr r1, [r5] - ldr r3, =0x00000246 - adds r1, r3 - ldrb r1, [r1] - str r1, [sp] - movs r1, 0x58 - movs r3, 0 - bl sub_80CD2E8 - adds r2, r0, 0 - ldr r0, [r5] - lsls r1, r4, 2 - adds r0, 0x20 - adds r0, r1 - str r2, [r0] - cmp r2, 0 - beq _080C7AD4 - movs r1, 0x1 - cmp r4, 0 - bne _080C7ACC - movs r3, 0x1 - negs r3, r3 - adds r1, r3, 0 -_080C7ACC: - strh r1, [r2, 0x2E] - ldr r1, [r0] - ldr r0, =sub_80C7CF4 - str r0, [r1, 0x1C] -_080C7AD4: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _080C7A8C - bl sub_80C7BE4 - add sp, 0x3C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7958 - - thumb_func_start sub_80C7B14 -sub_80C7B14: @ 80C7B14 - push {r4-r6,lr} - ldr r4, =gUnknown_02039D04 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _080C7B2A - bl DestroySprite - ldr r1, [r4] - movs r0, 0 - str r0, [r1] -_080C7B2A: - movs r5, 0 - adds r6, r4, 0 -_080C7B2E: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, 0x4 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C7B4A - bl DestroySprite - ldr r0, [r6] - adds r0, 0x4 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080C7B4A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080C7B2E - movs r5, 0 -_080C7B56: - ldr r0, =gUnknown_02039D04 - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, 0x20 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080C7B6A - bl DestroySprite -_080C7B6A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x1 - bls _080C7B56 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7B14 - - thumb_func_start sub_80C7B80 -sub_80C7B80: @ 80C7B80 - push {lr} - ldr r2, =gUnknown_02039D04 - ldr r1, [r2] - movs r0, 0x91 - lsls r0, 2 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bls _080C7BA6 - ldr r0, [r2] - movs r1, 0x91 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_080C7BA6: - bl sub_80C7BE4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7B80 - - thumb_func_start sub_80C7BB4 -sub_80C7BB4: @ 80C7BB4 - push {lr} - ldr r0, =gUnknown_02039D04 - ldr r2, [r0] - movs r1, 0x91 - lsls r1, 2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C7BD0 - subs r1, r0, 0x1 - b _080C7BD2 - .pool -_080C7BD0: - movs r1, 0xD -_080C7BD2: - movs r3, 0x91 - lsls r3, 2 - adds r0, r2, r3 - strb r1, [r0] - bl sub_80C7BE4 - pop {r0} - bx r0 - thumb_func_end sub_80C7BB4 - - thumb_func_start sub_80C7BE4 -sub_80C7BE4: @ 80C7BE4 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x24 - ldr r0, =gUnknown_02039D04 - mov r9, r0 - ldr r0, [r0] - movs r4, 0x91 - lsls r4, 2 - adds r0, r4 - ldrb r0, [r0] - bl GetBoxNamePtr - mov r10, r0 - mov r1, r9 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0] - bl CountMonsInBox - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - add r4, sp, 0x1C - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x8 - bl memset - movs r0, 0x8 - strb r0, [r4, 0x3] - movs r0, 0x4 - strb r0, [r4, 0x4] - adds r0, r4, 0 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x44 - bl FillWindowPixelBuffer - movs r0, 0x1 - mov r1, r10 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - ldr r0, =gUnknown_08571734 - mov r8, r0 - str r0, [sp] - movs r6, 0x1 - negs r6, r6 - str r6, [sp, 0x4] - mov r1, r10 - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add r0, sp, 0xC - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, =gUnknown_08571737 - add r0, sp, 0xC - bl StringAppend - movs r0, 0x1 - add r1, sp, 0xC - movs r2, 0x40 - bl GetStringCenterAlignXOffset - lsls r2, r0, 24 - lsrs r2, 24 - mov r0, r8 - str r0, [sp] - str r6, [sp, 0x4] - add r1, sp, 0xC - str r1, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0x11 - bl box_print - adds r0, r4, 0 - movs r1, 0x7 - bl GetWindowAttribute - adds r5, r0, 0 - mov r1, r9 - ldr r0, [r1] - movs r1, 0x90 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 11 - ldr r0, =0x06010100 - adds r1, r0 - ldr r2, =0x04000100 - adds r0, r5, 0 - bl CpuSet - adds r0, r4, 0 - bl RemoveWindow - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7BE4 - - thumb_func_start sub_80C7CF4 -sub_80C7CF4: @ 80C7CF4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080C7D24 - strh r2, [r1, 0x30] - ldrh r0, [r1, 0x2E] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - adds r0, 0x1 - strh r0, [r1, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080C7D24 - strh r2, [r1, 0x32] - strh r2, [r1, 0x24] -_080C7D24: - pop {r0} - bx r0 - thumb_func_end sub_80C7CF4 - - thumb_func_start sub_80C7D28 -sub_80C7D28: @ 80C7D28 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl sub_80D2AA4 - bl TransferPlttBuffer - ldr r0, =gUnknown_02039D08 - ldr r0, [r0] - movs r1, 0xB3 - lsls r1, 2 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_80C7D28 - - thumb_func_start c2_Box -c2_Box: @ 80C7D54 - push {lr} - bl RunTasks - bl do_scheduled_bg_tilemap_copies_to_vram - bl sub_80CA028 - bl sub_80CAA14 - bl AnimateSprites - bl BuildOamBuffer - pop {r0} - bx r0 - thumb_func_end c2_Box thumb_func_start sub_80C7D74 sub_80C7D74: @ 80C7D74 @@ -2473,7 +968,7 @@ _080C8668: ldr r1, =0x000002ca adds r0, r1 ldrb r0, [r0] - bl sub_80D1D18 + bl SetCurrentBox ldr r0, =gUnknown_02039D0C ldrb r0, [r0] cmp r0, 0 @@ -4705,7 +3200,7 @@ _080C9A9C: ldr r2, =0x000002ca adds r0, r2 ldrb r0, [r0] - bl sub_80D1D18 + bl SetCurrentBox ldr r0, =task_pokemon_box_related bl add_to_c3_somehow _080C9AB8: @@ -6737,7 +5232,7 @@ sub_80CAC58: @ 80CAC58 sub sp, 0xC lsls r0, 24 lsrs r6, r0, 24 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r1, =gUnknown_0857276C lsls r0, r6, 3 adds r0, r1 @@ -6774,7 +5269,7 @@ _080CACB8: adds r1, r2 _080CACC0: movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr b _080CAD30 .pool _080CACD0: @@ -6817,7 +5312,7 @@ _080CAD16: ldr r0, =0x000021eb adds r1, r0 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr _080CAD30: ldr r5, =gUnknown_02039D08 ldr r0, [r5] @@ -6827,7 +5322,7 @@ _080CAD30: lsls r1, r6, 3 adds r1, r2 ldr r1, [r1] - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x1 movs r1, 0x11 bl FillWindowPixelBuffer @@ -9968,7 +8463,7 @@ sub_80CC680: @ 80CC680 lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_80D2120 + bl SetBoxWallpaper ldr r0, =gUnknown_02039D08 ldr r0, [r0] ldr r1, =0x00000a62 @@ -13098,7 +11593,7 @@ sub_80CE0E8: @ 80CE0E8 b _080CE10C .pool _080CE108: - bl sub_80D2018 + bl ClearMonInBox _080CE10C: pop {r0} bx r0 @@ -17973,7 +16468,7 @@ _080D09EC: bl sub_80CB778 mov r0, r8 adds r1, r5, 0 - bl sub_80D2018 + bl ClearMonInBox adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -20353,8 +18848,8 @@ StorageGetCurrentBox: @ 80D1D0C .pool thumb_func_end StorageGetCurrentBox - thumb_func_start sub_80D1D18 -sub_80D1D18: @ 80D1D18 + thumb_func_start SetCurrentBox +SetCurrentBox: @ 80D1D18 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -20367,7 +18862,7 @@ _080D1D28: pop {r0} bx r0 .pool - thumb_func_end sub_80D1D18 + thumb_func_end SetCurrentBox thumb_func_start GetBoxMonDataFromAnyBox GetBoxMonDataFromAnyBox: @ 80D1D30 @@ -20768,8 +19263,8 @@ _080D2004: .pool thumb_func_end sub_80D1F98 - thumb_func_start sub_80D2018 -sub_80D2018: @ 80D2018 + thumb_func_start ClearMonInBox +ClearMonInBox: @ 80D2018 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -20798,7 +19293,7 @@ _080D2048: pop {r0} bx r0 .pool - thumb_func_end sub_80D2018 + thumb_func_end ClearMonInBox thumb_func_start sub_80D2054 sub_80D2054: @ 80D2054 @@ -20914,8 +19409,8 @@ _080D2112: .pool thumb_func_end sub_80D20F8 - thumb_func_start sub_80D2120 -sub_80D2120: @ 80D2120 + thumb_func_start SetBoxWallpaper +SetBoxWallpaper: @ 80D2120 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -20935,7 +19430,7 @@ _080D213E: pop {r0} bx r0 .pool - thumb_func_end sub_80D2120 + thumb_func_end SetBoxWallpaper thumb_func_start sub_80D214C sub_80D214C: @ 80D214C diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 988aaf41e..b2cba6dab 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -5,869 +5,7 @@ .text - thumb_func_start sub_81C3E2C -sub_81C3E2C: @ 81C3E2C - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bne _081C3E48 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c4 - b _081C3E50 - .pool -_081C3E48: - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - lsls r1, 1 - adds r0, 0x84 -_081C3E50: - adds r0, r1 - ldrh r4, [r0] - cmp r4, 0 - beq _081C3E82 - ldr r0, =gUnknown_0861CD14 - movs r1, 0x2 - bl sub_81C2D2C - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gContestEffectDescriptionPointers - ldr r2, =gContestMoves - lsls r1, r4, 3 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - movs r2, 0 - str r2, [sp] - str r2, [sp, 0x4] - movs r2, 0x6 - movs r3, 0x1 - bl sub_81C25A4 -_081C3E82: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C3E2C - - thumb_func_start sub_81C3E9C -sub_81C3E9C: @ 81C3E9C - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - ldr r0, =gUnknown_0861CD14 - movs r1, 0x2 - bl sub_81C2D2C - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - cmp r4, 0 - beq _081C3F30 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - bne _081C3F00 - adds r0, r4, 0 - bl sub_81C3C5C - ldr r1, =gMoveDescriptionPointers - subs r0, r4, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x6 - movs r3, 0x1 - bl sub_81C25A4 - b _081C3F20 - .pool -_081C3F00: - ldr r2, =gContestEffectDescriptionPointers - ldr r1, =gContestMoves - lsls r0, r6, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x6 - movs r3, 0x1 - bl sub_81C25A4 -_081C3F20: - adds r0, r5, 0 - bl PutWindowTilemap - b _081C3F36 - .pool -_081C3F30: - adds r0, r5, 0 - bl ClearWindowTilemap -_081C3F36: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C3E9C - - thumb_func_start sub_81C3F44 -sub_81C3F44: @ 81C3F44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r4, =gUnknown_0861CD14 - adds r0, r4, 0 - movs r1, 0 - bl sub_81C2D2C - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C2D2C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203CF1C - ldr r1, [r0] - ldr r2, =0x000040c4 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r2, 0 - bne _081C3F9C - ldr r1, =gText_Cancel - str r2, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x41 - bl sub_81C25A4 - b _081C4044 - .pool -_081C3F9C: - ldrh r5, [r0] - ldr r2, =0x000040c0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x2 - bne _081C3FD0 - movs r0, 0xD - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - movs r0, 0 - str r0, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x41 - bl sub_81C25A4 - b _081C3FEC - .pool -_081C3FD0: - movs r0, 0xD - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - adds r0, r7, 0 - movs r2, 0 - movs r3, 0x41 - bl sub_81C25A4 -_081C3FEC: - ldr r4, =gStringVar1 - ldr r1, =gBattleMoves - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x4] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - bl UnkTextUtil_Reset - movs r0, 0 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - movs r0, 0x1 - adds r1, r4, 0 - bl UnkTextUtil_SetPtrI - ldr r4, =gStringVar4 - ldr r1, =gUnknown_0861CE97 - adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x2C - bl GetStringRightAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - mov r0, r8 - adds r1, r4, 0 - movs r3, 0x41 - bl sub_81C25A4 -_081C4044: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C3F44 - - thumb_func_start sub_81C4064 -sub_81C4064: @ 81C4064 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0861CD14 - movs r1, 0 - bl sub_81C2D2C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x48 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x42 - bl FillWindowPixelRect - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4064 - - thumb_func_start sub_81C40A0 -sub_81C40A0: @ 81C40A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r9, r0 - mov r10, r1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r5, =gUnknown_0861CD14 - adds r0, r5, 0 - movs r1, 0 - bl sub_81C2D2C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_81C2D2C - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - mov r0, r9 - lsls r6, r0, 4 - movs r0, 0x48 - mov r8, r0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - adds r3, r6, 0 - bl FillWindowPixelRect - mov r0, r10 - lsls r7, r0, 4 - mov r0, r8 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - adds r3, r7, 0 - bl FillWindowPixelRect - movs r4, 0x30 - str r4, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - adds r3, r6, 0 - bl FillWindowPixelRect - str r4, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - adds r3, r7, 0 - bl FillWindowPixelRect - mov r0, r9 - bl sub_81C3B08 - mov r0, r10 - bl sub_81C3B08 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C40A0 - - thumb_func_start sub_81C4154 -sub_81C4154: @ 81C4154 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0861CD14 - movs r1, 0x2 - bl sub_81C2D2C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r1, =gText_HMMovesCantBeForgotten2 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r2, 0x6 - movs r3, 0x1 - bl sub_81C25A4 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4154 - - thumb_func_start sub_81C4190 -sub_81C4190: @ 81C4190 - push {r4,r5,lr} - movs r2, 0 - ldr r5, =gUnknown_0203CF1C - ldr r4, =0x000040d3 - movs r3, 0xFF -_081C419A: - ldr r0, [r5] - adds r0, r4 - adds r0, r2 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1B - bls _081C419A - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4190 - - thumb_func_start sub_81C41C0 -sub_81C41C0: @ 81C41C0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, =gUnknown_0203CF1C - ldr r0, [r5] - ldr r1, =0x000040d3 - adds r0, r1 - adds r1, r0, r4 - ldrb r0, [r1] - cmp r0, 0xFF - beq _081C41F2 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - bl DestroySprite - ldr r0, [r5] - ldr r1, =0x000040d3 - adds r0, r1 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] -_081C41F2: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C41C0 - - thumb_func_start sub_81C4204 -sub_81C4204: @ 81C4204 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r3, =gSprites - ldr r2, =gUnknown_0203CF1C - ldr r2, [r2] - ldr r4, =0x000040d3 - adds r2, r4 - adds r2, r0 - ldrb r0, [r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r3 - adds r2, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4204 - - thumb_func_start sub_81C424C -sub_81C424C: @ 81C424C - push {r4,lr} - movs r4, 0x3 -_081C4250: - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040d3 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0xFF - beq _081C4268 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C4204 -_081C4268: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1B - bls _081C4250 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C424C - thumb_func_start sub_81C4280 -sub_81C4280: @ 81C4280 - push {lr} - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _081C42B0 - cmp r0, 0x2 - bgt _081C42A4 - cmp r0, 0 - beq _081C42AA - b _081C42C2 - .pool -_081C42A4: - cmp r0, 0x3 - beq _081C42BA - b _081C42C2 -_081C42AA: - bl sub_81C43A0 - b _081C42C2 -_081C42B0: - bl sub_81C4420 - bl sub_81C44F0 - b _081C42C2 -_081C42BA: - bl sub_81C4484 - bl sub_81C44F0 -_081C42C2: - pop {r0} - bx r0 - thumb_func_end sub_81C4280 - - thumb_func_start sub_81C42C8 -sub_81C42C8: @ 81C42C8 - push {r4,r5,lr} - movs r4, 0x3 - ldr r5, =gUnknown_0203CF1C -_081C42CE: - ldr r0, [r5] - ldr r1, =0x000040d3 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081C42F2 - ldr r0, =gUnknown_0861CFC4 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl CreateSprite - ldr r1, [r5] - ldr r2, =0x000040d3 - adds r1, r2 - adds r1, r4 - strb r0, [r1] -_081C42F2: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81C4204 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _081C42CE - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C42C8 - - thumb_func_start sub_81C4318 -sub_81C4318: @ 81C4318 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040d3 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, =gSprites - adds r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - str r3, [sp] - bl StartSpriteAnim - ldr r0, =gUnknown_0861CFDC - adds r5, r0 - ldrb r1, [r5] - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r6, 0x10 - strh r6, [r4, 0x20] - movs r0, 0x8 - add r8, r0 - mov r1, r8 - strh r1, [r4, 0x22] - ldr r3, [sp] - adds r0, r3, 0 - movs r1, 0 - bl sub_81C4204 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4318 - - thumb_func_start sub_81C43A0 -sub_81C43A0: @ 81C43A0 - push {r4,r5,lr} - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - ldrb r0, [r5, 0x4] - cmp r0, 0 - beq _081C43CC - movs r0, 0x9 - movs r1, 0x78 - movs r2, 0x30 - movs r3, 0x3 - bl sub_81C4318 - movs r0, 0x4 - movs r1, 0x1 - bl sub_81C4204 - b _081C4418 - .pool -_081C43CC: - ldr r4, =gBaseStats - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x6] - movs r1, 0x78 - movs r2, 0x30 - movs r3, 0x3 - bl sub_81C4318 - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r4 - ldrb r0, [r1, 0x6] - ldrb r2, [r1, 0x7] - cmp r0, r2 - beq _081C4410 - ldrb r0, [r1, 0x7] - movs r1, 0xA0 - movs r2, 0x30 - movs r3, 0x4 - bl sub_81C4318 - movs r0, 0x4 - movs r1, 0 - bl sub_81C4204 - b _081C4418 - .pool -_081C4410: - movs r0, 0x4 - movs r1, 0x1 - bl sub_81C4204 -_081C4418: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C43A0 - - thumb_func_start sub_81C4420 -sub_81C4420: @ 81C4420 - push {r4-r6,lr} - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - movs r4, 0 - ldr r6, =gBattleMoves -_081C442E: - lsls r0, r4, 1 - adds r1, r5, 0 - adds r1, 0x14 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _081C4468 - adds r1, r0, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x2] - lsls r2, r4, 28 - movs r1, 0x80 - lsls r1, 22 - adds r2, r1 - lsrs r2, 24 - adds r3, r4, 0x3 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x55 - bl sub_81C4318 - b _081C4474 - .pool -_081C4468: - adds r0, r4, 0x3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_81C4204 -_081C4474: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081C442E - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81C4420 - - thumb_func_start sub_81C4484 -sub_81C4484: @ 81C4484 - push {r4,r5,lr} - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - movs r4, 0 -_081C4490: - lsls r0, r4, 1 - adds r1, r5, 0 - adds r1, 0x14 - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, 0 - beq _081C44D4 - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 5 - movs r1, 0x90 - lsls r1, 21 - adds r0, r1 - lsrs r0, 24 - lsls r2, r4, 28 - movs r1, 0x80 - lsls r1, 22 - adds r2, r1 - lsrs r2, 24 - adds r3, r4, 0x3 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x55 - bl sub_81C4318 - b _081C44E0 - .pool -_081C44D4: - adds r0, r4, 0x3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_81C4204 -_081C44E0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081C4490 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C4484 - - thumb_func_start sub_81C44F0 -sub_81C44F0: @ 81C44F0 - push {lr} - ldr r0, =gUnknown_0203CF1C - ldr r1, [r0] - ldr r0, =0x000040c4 - adds r3, r1, r0 - ldrh r0, [r3] - cmp r0, 0 - bne _081C4514 - movs r0, 0x7 - movs r1, 0x1 - bl sub_81C4204 - b _081C4560 - .pool -_081C4514: - ldr r2, =0x000040c0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x2 - bne _081C4540 - ldr r2, =gBattleMoves - ldrh r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - movs r1, 0x55 - movs r2, 0x60 - movs r3, 0x7 - bl sub_81C4318 - b _081C4560 - .pool -_081C4540: - ldr r1, =gContestMoves - ldrh r0, [r3] - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 5 - movs r1, 0x90 - lsls r1, 21 - adds r0, r1 - lsrs r0, 24 - movs r1, 0x55 - movs r2, 0x60 - movs r3, 0x7 - bl sub_81C4318 -_081C4560: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C44F0 thumb_func_start sub_81C4568 sub_81C4568: @ 81C4568 diff --git a/asm/pokenav.s b/asm/pokenav.s index 1ad4354a2..c9fe787e0 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -66,7 +66,7 @@ sub_81C72BC: @ 81C72BC str r0, [r4] cmp r0, 0 bne _081C72F0 - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 b _081C7320 .pool @@ -351,7 +351,7 @@ _081C752C: bl sub_81C7334 cmp r4, 0 beq _081C755C - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 b _081C7562 .pool @@ -1585,7 +1585,7 @@ sub_81C7E58: @ 81C7E58 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer mov r0, r8 adds r1, r4, 0 bl LZ77UnCompWram @@ -1667,7 +1667,7 @@ sub_81C7F24: @ 81C7F24 adds r0, r4, 0 movs r2, 0x20 bl LoadPalette - ldr r4, =0x0201d000 + ldr r4, =gDecompressionBuffer+0x1000 adds r0, r6, 0 adds r1, r4, 0 bl LZ77UnCompWram @@ -16941,17 +16941,17 @@ sub_81CF7F4: @ 81CF7F4 mov r8, r0 bl sub_81CF0F0 adds r7, r0, 0 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r4, =gStringVar1 movs r0, 0 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r0, 0xFF strb r0, [r4] ldr r5, =gStringVar2 ldr r1, =gText_NumberF700 adds r0, r5, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders mov r1, r8 ldrb r0, [r1, 0x8] movs r1, 0x1 @@ -19854,14 +19854,14 @@ sub_81D0E84: @ 81D0E84 movs r2, 0 movs r3, 0x2 bl ConvertIntToDecimalStringN - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r4, =gStringVar4 ldr r1, =gText_RibbonsF700 adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldrb r0, [r5, 0xA] movs r1, 0x44 bl FillWindowPixelBuffer @@ -27036,7 +27036,7 @@ _081D4E1C: thumb_func_start sub_81D4E30 sub_81D4E30: @ 81D4E30 push {lr} - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer movs r2, 0x80 lsls r2, 6 movs r1, 0 @@ -27657,7 +27657,7 @@ _081D5386: strb r0, [r4, 0x8] b _081D548A _081D5390: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3920 strb r0, [r4, 0xE] ldrb r0, [r4, 0xE] @@ -27683,7 +27683,7 @@ _081D53C0: strb r0, [r4, 0x8] b _081D548A _081D53C6: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer bl sub_81D3AB0 cmp r0, 0 beq _081D53EC diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index dc4412f59..61324b207 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -4,5467 +4,6 @@ .syntax unified .text - - thumb_func_start nullsub_89 -nullsub_89: @ 80124E8 - bx lr - thumb_func_end nullsub_89 - - thumb_func_start sub_80124EC -sub_80124EC: @ 80124EC - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - lsls r4, 8 - movs r0, 0x90 - lsls r0, 6 - cmp r4, r0 - beq _08012588 - cmp r4, r0 - bgt _08012526 - movs r0, 0x80 - lsls r0, 2 - cmp r4, r0 - beq _08012538 - movs r0, 0x80 - lsls r0, 3 - cmp r4, r0 - beq _08012544 - b _080125A6 -_08012526: - movs r0, 0x94 - lsls r0, 6 - cmp r4, r0 - beq _08012554 - movs r0, 0xD4 - lsls r0, 6 - cmp r4, r0 - beq _08012564 - b _080125A6 -_08012538: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - b _0801256C - .pool -_08012544: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x14 - b _0801256C - .pool -_08012554: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x28 - b _0801256C - .pool -_08012564: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x3C -_0801256C: - adds r0, r1 - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x1 - movs r3, 0 - bl sub_80173E0 - b _080125A6 - .pool -_08012588: - ldr r1, =gUnknown_082EDB60 - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x50 - adds r0, r1 - ldr r2, [r0] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x1 - movs r3, 0 - bl sub_80173E0 -_080125A6: - adds r0, r6, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80124EC - - thumb_func_start sub_80125BC -sub_80125BC: @ 80125BC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x28 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, =gSaveBlock2Ptr - ldr r2, [r6] - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - mov r8, r0 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0 - bl sub_80173E0 - ldr r1, =gText_UnkCtrlCodeF907 - add r0, sp, 0x8 - bl StringCopy - adds r5, r0, 0 - ldr r0, [r6] - adds r0, 0xA - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - movs r0, 0x11 - str r0, [sp] - mov r0, r8 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x1 - add r2, sp, 0x8 - movs r3, 0 - bl sub_80173E0 - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80125BC - - thumb_func_start sub_801262C -sub_801262C: @ 801262C - push {lr} - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x1B - bhi _080126C0 - lsls r0, 2 - ldr r1, =_08012648 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08012648: - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126C0 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 - .4byte _080126B8 -_080126B8: - ldr r0, =gStringVar4 - ldr r1, =gText_AwaitingCommunication - bl StringExpandPlaceholders -_080126C0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_801262C - - thumb_func_start sub_80126CC -sub_80126CC: @ 80126CC - push {lr} - subs r0, 0x9 - cmp r0, 0x12 - bhi _08012734 - lsls r0, 2 - ldr r1, =_080126E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080126E4: - .4byte _08012730 - .4byte _08012730 - .4byte _08012730 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012730 - .4byte _08012730 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012734 - .4byte _08012730 - .4byte _08012730 - .4byte _08012730 - .4byte _08012730 - .4byte _08012730 -_08012730: - movs r0, 0x1 - b _08012736 -_08012734: - movs r0, 0 -_08012736: - pop {r1} - bx r1 - thumb_func_end sub_80126CC - - thumb_func_start BerryBlenderLinkBecomeLeader -BerryBlenderLinkBecomeLeader: @ 801273C - push {lr} - ldr r0, =sub_8012780 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - ldr r0, =gUnknown_03000DA0 - str r1, [r0] - movs r0, 0 - strb r0, [r1, 0xC] - strb r0, [r1, 0xD] - ldr r1, =gSpecialVar_Result - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end BerryBlenderLinkBecomeLeader - - thumb_func_start sub_8012780 -sub_8012780: @ 8012780 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r6, [r0] - ldrb r0, [r6, 0xC] - cmp r0, 0x1E - bls _0801279A - bl _08012F50 -_0801279A: - lsls r0, 2 - ldr r1, =_080127AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080127AC: - .4byte _08012828 - .4byte _08012F50 - .4byte _08012F50 - .4byte _080128A0 - .4byte _080129C8 - .4byte _08012A50 - .4byte _08012A6C - .4byte _08012B8C - .4byte _08012F50 - .4byte _08012AFC - .4byte _08012B14 - .4byte _08012BA8 - .4byte _08012C5C - .4byte _08012D5A - .4byte _08012D78 - .4byte _08012D8A - .4byte _08012DA8 - .4byte _08012E62 - .4byte _08012E78 - .4byte _08012DF2 - .4byte _08012E10 - .4byte _08012ED0 - .4byte _08012EFC - .4byte _08012ED0 - .4byte _08012EE6 - .4byte _08012F50 - .4byte _08012F14 - .4byte _08012F50 - .4byte _08012F50 - .4byte _08012B54 - .4byte _08012EB6 -_08012828: - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, 0x14 - bne _08012848 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _08012848 - adds r0, r2, 0x1 - strh r0, [r3] -_08012848: - ldr r2, =gUnknown_02022C2C - ldr r1, =gUnknown_082F00C4 - ldrh r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - strb r0, [r2] - ldr r4, =gUnknown_02022C2D - ldrh r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsrs r0, 8 - strb r0, [r4] - ldrb r0, [r2] - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - bl sub_8011C10 - movs r0, 0x3 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_080128A0: - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0x4] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r6] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r6, 0x8] - ldr r0, [r6, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r6] - movs r1, 0x5 - bl sub_8017580 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x10 - bl sub_800DF90 - ldr r1, [r6] - movs r3, 0 - movs r0, 0 - strh r0, [r1, 0x18] - ldr r2, [r6] - ldrb r1, [r2, 0x1A] - subs r0, 0x4 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r2, [r6] - ldrb r1, [r2, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r6] - strb r3, [r0, 0x1B] - ldr r0, [r6, 0x4] - movs r1, 0xFF - bl sub_8016FC0 - strb r0, [r6, 0x17] - ldr r0, =gUnknown_082F00BC - bl AddWindow - strb r0, [r6, 0x10] - ldr r0, =gUnknown_02022C2D - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - cmp r1, 0x2 - blt _08012938 - cmp r1, 0x4 - ble _08012928 - cmp r1, 0x5 - beq _08012930 - b _08012938 - .pool -_08012928: - ldr r0, =gUnknown_082F011C - b _08012932 - .pool -_08012930: - ldr r0, =gUnknown_082F0124 -_08012932: - bl AddWindow - strb r0, [r6, 0xF] -_08012938: - ldr r0, =gUnknown_082F012C - bl AddWindow - strb r0, [r6, 0x11] - ldrb r0, [r6, 0x10] - movs r1, 0x22 - bl FillWindowPixelBuffer - ldrb r0, [r6, 0x10] - ldr r2, =gUnknown_082EDBC4 - movs r3, 0x1 - mov r8, r3 - str r3, [sp] - movs r4, 0x4 - str r4, [sp, 0x4] - movs r1, 0 - movs r3, 0x8 - bl sub_80173E0 - ldrb r0, [r6, 0x10] - bl PutWindowTilemap - ldrb r0, [r6, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r6, 0xF] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F015C - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldrb r1, [r6, 0xF] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r6, 0x12] - ldrb r0, [r6, 0x11] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r6, 0x11] - bl PutWindowTilemap - ldrb r0, [r6, 0x11] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - mov r5, r8 - strb r5, [r6, 0x13] - strb r4, [r6, 0xC] - b _08012F50 - .pool -_080129C8: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_082F0048 - ldr r4, =gUnknown_02022C2C - ldrb r1, [r4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, =gUnknown_02022C2D - ldrb r2, [r0] - lsrs r0, r2, 4 - cmp r0, 0 - beq _08012A2C - ldrb r1, [r6, 0x13] - subs r0, 0x1 - cmp r1, r0 - ble _08012A18 - movs r0, 0xF - ands r0, r2 - cmp r0, 0 - beq _08012A18 - ldr r0, =gStringVar4 - ldr r1, =gText_AwaitingLink - bl StringExpandPlaceholders - b _08012A34 - .pool -_08012A18: - ldr r0, =gStringVar4 - ldr r1, =gText_AwaitingCommunication - bl StringExpandPlaceholders - b _08012A34 - .pool -_08012A2C: - ldr r0, =gStringVar4 - ldrb r1, [r4] - bl sub_801262C -_08012A34: - ldrb r0, [r6, 0x11] - ldr r1, =gUnknown_02022C2D - ldrb r1, [r1] - ldrb r2, [r6, 0x13] - bl sub_80124EC - movs r0, 0x5 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012A50: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gStringVar4 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012A62 - b _08012F50 -_08012A62: - movs r0, 0x6 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012A6C: - adds r0, r6, 0 - movs r1, 0x7 - movs r2, 0xA - bl sub_801320C - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08012AA8 - ldrb r0, [r6, 0x13] - cmp r0, 0x1 - bne _08012A90 - movs r0, 0x17 - b _08012AA6 - .pool -_08012A90: - ldr r0, =gUnknown_02022C2D - ldrb r1, [r0] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _08012AA4 - movs r0, 0x1E - b _08012AA6 - .pool -_08012AA4: - movs r0, 0x13 -_08012AA6: - strb r0, [r6, 0xC] -_08012AA8: - ldr r0, =gUnknown_02022C2D - ldrb r2, [r0] - lsrs r0, r2, 4 - cmp r0, 0 - beq _08012ADE - ldrb r1, [r6, 0x13] - subs r0, 0x1 - cmp r1, r0 - ble _08012ADE - movs r4, 0xF - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08012ADE - bl sub_8012240 - cmp r0, 0 - beq _08012ADE - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08012ADE - strb r4, [r6, 0xC] - bl sub_800EF38 -_08012ADE: - ldrb r0, [r6, 0xC] - cmp r0, 0x6 - beq _08012AE6 - b _08012F50 -_08012AE6: - bl sub_80105EC - cmp r0, 0 - bne _08012AF0 - b _08012F50 -_08012AF0: - b _08012C56 - .pool -_08012AFC: - bl sub_80105EC - cmp r0, 0 - beq _08012B06 - b _08012F50 -_08012B06: - movs r0, 0x6 - strb r0, [r6, 0xC] - ldr r0, [r6] - bl sub_8013398 - strb r0, [r6, 0x13] - b _08012F50 -_08012B14: - movs r3, 0 - ldr r0, =gUnknown_02022C2C - ldrb r1, [r0] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x2 - bne _08012B24 - movs r3, 0x1 -_08012B24: - adds r0, r6, 0 - adds r0, 0xD - ldr r2, =gUnknown_082EDDC4 - lsls r1, r3, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012B3C - b _08012F50 -_08012B3C: - ldr r0, [r6] - bl sub_8013398 - strb r0, [r6, 0x13] - ldrb r0, [r6, 0x12] - bl RedrawListMenu - b _08012E5C - .pool -_08012B54: - ldr r0, =gUnknown_02022C2D - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - movs r0, 0x2 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r3, r0, 31 - adds r0, r6, 0 - adds r0, 0xD - ldr r2, =gUnknown_082EDDC4 - lsls r1, r3, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012B7E - b _08012F50 -_08012B7E: - movs r0, 0x15 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012B8C: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gStringVar4 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012B9E - b _08012F50 -_08012B9E: - movs r0, 0xB - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012BA8: - adds r4, r6, 0 - adds r4, 0xD - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r6, 0x13] - lsls r2, 5 - ldr r1, [r6] - adds r1, r2 - adds r1, 0x10 - bl sub_801064C - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08012C28 - cmp r1, r0 - bgt _08012BEC - subs r0, 0x2 - cmp r1, r0 - beq _08012C56 - b _08012F50 -_08012BEC: - cmp r1, 0 - beq _08012BF6 - cmp r1, 0x1 - beq _08012C28 - b _08012F50 -_08012BF6: - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - movs r0, 0x5 - strb r0, [r6, 0x19] - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r6, 0x13] - lsls r0, 5 - ldr r2, [r6] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x5 - b _08012C4C -_08012C28: - movs r0, 0x6 - strb r0, [r6, 0x19] - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r6, 0x13] - lsls r0, 5 - ldr r2, [r6] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x6 -_08012C4C: - bl sub_8010688 - movs r0, 0xC - strb r0, [r6, 0xC] - b _08012F50 -_08012C56: - movs r0, 0x9 - strb r0, [r6, 0xC] - b _08012F50 -_08012C5C: - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r6, 0x13] - lsls r2, 5 - ldr r1, [r6] - adds r1, r2 - adds r1, 0x10 - bl sub_8010714 - cmp r0, 0x1 - bne _08012D4A - ldrb r0, [r6, 0x19] - cmp r0, 0x5 - bne _08012D04 - ldr r1, [r6] - ldrb r0, [r6, 0x13] - lsls r0, 5 - adds r1, r0 - movs r0, 0 - strb r0, [r1, 0x1B] - ldrb r0, [r6, 0x12] - bl RedrawListMenu - ldrb r0, [r6, 0x13] - adds r0, 0x1 - strb r0, [r6, 0x13] - ldr r1, =gUnknown_02022C2D - ldrb r1, [r1] - movs r3, 0xF - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0 - ands r0, r1 - cmp r2, r0 - bne _08012D40 - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _08012CBC - cmp r2, 0x4 - bne _08012CC4 -_08012CBC: - strb r3, [r6, 0xC] - b _08012CE0 - .pool -_08012CC4: - ldr r0, =gStringVar1 - ldrb r2, [r6, 0x13] - lsls r2, 5 - subs r2, 0x20 - ldr r1, [r6] - adds r1, r2 - bl sub_8018404 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EDC9C - bl StringExpandPlaceholders - movs r0, 0xD - strb r0, [r6, 0xC] -_08012CE0: - bl sub_800EF38 - ldrb r0, [r6, 0x11] - ldr r1, =gUnknown_02022C2D - ldrb r1, [r1] - ldrb r2, [r6, 0x13] - bl sub_80124EC - b _08012D44 - .pool -_08012D04: - ldrb r1, [r6, 0x13] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011DC0 - ldr r1, [r6] - ldrb r0, [r6, 0x13] - lsls r0, 5 - adds r1, r0 - ldrb r2, [r1, 0x1A] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r6] - bl sub_8013398 - ldrb r0, [r6, 0x12] - bl RedrawListMenu -_08012D40: - movs r0, 0x4 - strb r0, [r6, 0xC] -_08012D44: - movs r0, 0 - strb r0, [r6, 0x19] - b _08012F50 -_08012D4A: - cmp r0, 0x2 - beq _08012D50 - b _08012F50 -_08012D50: - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - b _08012E5C -_08012D5A: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gStringVar4 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012D6C - b _08012F50 -_08012D6C: - movs r0, 0xE - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012D78: - ldrb r0, [r6, 0xE] - adds r0, 0x1 - strb r0, [r6, 0xE] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x78 - bhi _08012D88 - b _08012F50 -_08012D88: - b _08012DCE -_08012D8A: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gUnknown_082EDC5C - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012D9C - b _08012F50 -_08012D9C: - movs r0, 0x10 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012DA8: - adds r0, r6, 0 - adds r0, 0xD - movs r1, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08012DCE - cmp r1, 0 - bgt _08012DC8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08012DD4 - b _08012F50 -_08012DC8: - cmp r1, 0x1 - beq _08012DD4 - b _08012F50 -_08012DCE: - movs r0, 0x11 - strb r0, [r6, 0xC] - b _08012F50 -_08012DD4: - ldr r0, =gUnknown_02022C2D - ldrb r1, [r0] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _08012DEC - movs r0, 0x1E - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012DEC: - movs r0, 0x13 - strb r0, [r6, 0xC] - b _08012F50 -_08012DF2: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gUnknown_082EDC78 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08012E04 - b _08012F50 -_08012E04: - movs r0, 0x14 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012E10: - adds r0, r6, 0 - adds r0, 0xD - movs r1, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08012EC6 - cmp r1, 0 - bgt _08012E30 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08012E36 - b _08012F50 -_08012E30: - cmp r1, 0x1 - beq _08012E36 - b _08012F50 -_08012E36: - ldr r0, =gUnknown_02022C2D - ldrb r2, [r0] - movs r0, 0xF0 - ands r0, r2 - cmp r0, 0 - beq _08012E4C - movs r0, 0xF - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012E4C: - movs r3, 0xF - ldrb r1, [r6, 0x13] - adds r0, r3, 0 - ands r0, r2 - cmp r1, r0 - bne _08012E5C - strb r3, [r6, 0xC] - b _08012F50 -_08012E5C: - movs r0, 0x4 - strb r0, [r6, 0xC] - b _08012F50 -_08012E62: - adds r0, r6, 0 - movs r1, 0x7 - movs r2, 0x1D - bl sub_801320C - lsls r0, 24 - cmp r0, 0 - bne _08012F50 - movs r0, 0x12 - strb r0, [r6, 0xC] - b _08012F50 -_08012E78: - bl sub_800EF1C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08012EAE - movs r0, 0 - bl sub_800EF58 - cmp r0, 0 - beq _08012E94 - movs r0, 0x1A - strb r0, [r6, 0xC] - b _08012F50 -_08012E94: - ldrh r0, [r6, 0x1A] - adds r0, 0x1 - strh r0, [r6, 0x1A] - lsls r0, 16 - movs r1, 0x96 - lsls r1, 17 - cmp r0, r1 - bls _08012F50 - movs r0, 0x1D - strb r0, [r6, 0xC] - movs r0, 0 - strb r0, [r6, 0xD] - b _08012F50 -_08012EAE: - movs r0, 0x1D - strb r0, [r6, 0xC] - strb r1, [r6, 0xD] - b _08012F50 -_08012EB6: - adds r0, r6, 0 - adds r0, 0xD - ldr r1, =gUnknown_082EDD58 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - beq _08012F50 -_08012EC6: - movs r0, 0x17 - strb r0, [r6, 0xC] - b _08012F50 - .pool -_08012ED0: - bl sub_800E084 - bl sub_800EDD4 - adds r0, r6, 0 - bl sub_8012F64 - ldrb r0, [r6, 0xC] - adds r0, 0x1 - strb r0, [r6, 0xC] - b _08012F50 -_08012EE6: - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - ldr r1, =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08012F50 - .pool -_08012EFC: - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - ldr r1, =gSpecialVar_Result - movs r0, 0x8 - strh r0, [r1] - b _08012F50 - .pool -_08012F14: - bl sub_8011A80 - cmp r0, 0 - beq _08012F22 - movs r0, 0x1D - strb r0, [r6, 0xC] - b _08012F50 -_08012F22: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08012F50 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - bl sub_80126CC - cmp r0, 0 - beq _08012F3A - bl sub_801103C -_08012F3A: - movs r0, 0x1 - bl sub_8011068 - bl sub_80149C4 - adds r0, r6, 0 - bl sub_8012F64 - adds r0, r4, 0 - bl DestroyTask -_08012F50: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8012780 - - thumb_func_start sub_8012F64 -sub_8012F64: @ 8012F64 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x11] - bl ClearWindowTilemap - ldrb r0, [r4, 0x11] - movs r1, 0 - bl sub_819746C - ldrb r0, [r4, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r4, 0x10] - bl ClearWindowTilemap - ldrb r0, [r4, 0xF] - movs r1, 0 - bl sub_819746C - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r4, 0x11] - bl RemoveWindow - ldrb r0, [r4, 0xF] - bl RemoveWindow - ldrb r0, [r4, 0x10] - bl RemoveWindow - ldrb r0, [r4, 0x17] - bl DestroyTask - ldr r0, [r4, 0x8] - bl Free - ldr r0, [r4] - bl Free - ldr r0, [r4, 0x4] - bl Free - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8012F64 - - thumb_func_start sub_8012FC4 -sub_8012FC4: @ 8012FC4 - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x1B - bhi _08013070 - lsls r0, 2 - ldr r1, =_08012FE0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08012FE0: - .4byte _08013050 - .4byte _08013050 - .4byte _08013068 - .4byte _08013050 - .4byte _08013070 - .4byte _08013070 - .4byte _08013070 - .4byte _08013070 - .4byte _08013068 - .4byte _08013068 - .4byte _08013068 - .4byte _08013070 - .4byte _08013070 - .4byte _08013050 - .4byte _08013068 - .4byte _08013068 - .4byte _08013070 - .4byte _08013070 - .4byte _08013070 - .4byte _08013070 - .4byte _08013058 - .4byte _08013058 - .4byte _08013068 - .4byte _08013068 - .4byte _08013068 - .4byte _08013068 - .4byte _08013068 - .4byte _08013050 -_08013050: - ldr r1, =gUnknown_082EDBE8 - b _0801305A - .pool -_08013058: - ldr r1, =gUnknown_082EDC0C -_0801305A: - adds r0, r2, 0 - bl StringExpandPlaceholders - b _08013070 - .pool -_08013068: - ldr r1, =gUnknown_082EDC34 - adds r0, r2, 0 - bl StringExpandPlaceholders -_08013070: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8012FC4 - - thumb_func_start sub_8013078 -sub_8013078: @ 8013078 - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0x44 - beq _08013098 - cmp r1, 0x44 - bgt _0801308E - cmp r1, 0x41 - beq _08013098 - b _080130AA -_0801308E: - cmp r2, 0x45 - beq _080130A4 - cmp r2, 0x48 - beq _080130A4 - b _080130AA -_08013098: - ldr r1, =gUnknown_082EE560 - bl StringExpandPlaceholders - b _080130AA - .pool -_080130A4: - ldr r1, =gUnknown_082EE57C - bl StringExpandPlaceholders -_080130AA: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013078 - - thumb_func_start sub_80130B4 -sub_80130B4: @ 80130B4 - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x1B - bhi _08013158 - lsls r0, 2 - ldr r1, =_080130D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080130D0: - .4byte _08013140 - .4byte _08013140 - .4byte _08013150 - .4byte _08013140 - .4byte _08013158 - .4byte _08013158 - .4byte _08013158 - .4byte _08013158 - .4byte _08013150 - .4byte _08013150 - .4byte _08013150 - .4byte _08013158 - .4byte _08013158 - .4byte _08013140 - .4byte _08013150 - .4byte _08013150 - .4byte _08013158 - .4byte _08013158 - .4byte _08013158 - .4byte _08013158 - .4byte _08013140 - .4byte _08013140 - .4byte _08013150 - .4byte _08013150 - .4byte _08013150 - .4byte _08013150 - .4byte _08013150 - .4byte _08013140 -_08013140: - ldr r1, =gUnknown_082EFC3C - adds r0, r2, 0 - bl StringExpandPlaceholders - b _08013158 - .pool -_08013150: - ldr r1, =gUnknown_082EFC54 - adds r0, r2, 0 - bl StringExpandPlaceholders -_08013158: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80130B4 - - thumb_func_start sub_8013160 -sub_8013160: @ 8013160 - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x1B - bhi _08013204 - lsls r0, 2 - ldr r1, =_0801317C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801317C: - .4byte _080131EC - .4byte _080131EC - .4byte _080131FC - .4byte _080131EC - .4byte _08013204 - .4byte _08013204 - .4byte _08013204 - .4byte _08013204 - .4byte _080131FC - .4byte _080131FC - .4byte _080131FC - .4byte _08013204 - .4byte _08013204 - .4byte _080131EC - .4byte _080131FC - .4byte _080131FC - .4byte _08013204 - .4byte _08013204 - .4byte _08013204 - .4byte _08013204 - .4byte _080131EC - .4byte _080131EC - .4byte _080131FC - .4byte _080131FC - .4byte _080131FC - .4byte _080131FC - .4byte _080131FC - .4byte _080131EC -_080131EC: - ldr r1, =gUnknown_082EDDF4 - adds r0, r2, 0 - bl StringExpandPlaceholders - b _08013204 - .pool -_080131FC: - ldr r1, =gUnknown_082EDE0C - adds r0, r2, 0 - bl StringExpandPlaceholders -_08013204: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013160 - - thumb_func_start sub_801320C -sub_801320C: @ 801320C - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - ldr r0, [r4] - bl sub_80132D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08013228 - cmp r0, 0x2 - beq _0801325C - b _08013270 -_08013228: - movs r0, 0x2 - bl PlaySE - ldrb r0, [r4, 0x12] - bl RedrawListMenu - ldr r0, =gStringVar2 - ldrb r2, [r4, 0x13] - lsls r2, 5 - ldr r1, [r4] - adds r1, r2 - bl sub_8018404 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_02022C2C - ldrb r1, [r1] - bl sub_8012FC4 - strb r6, [r4, 0xC] - b _08013270 - .pool -_0801325C: - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - ldrb r0, [r4, 0x12] - bl RedrawListMenu - strb r5, [r4, 0xC] - movs r0, 0x1 - b _08013272 -_08013270: - movs r0, 0 -_08013272: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_801320C - - thumb_func_start sub_8013278 -sub_8013278: @ 8013278 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, =gUnknown_02022C30 - ldr r3, [r0] - movs r2, 0 - ldr r1, [r3] - lsls r0, r4, 5 - adds r1, r0 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - beq _080132A8 - cmp r0, 0x2 - beq _080132B2 - b _080132B4 - .pool -_080132A8: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _080132B4 - movs r2, 0x2 - b _080132B4 -_080132B2: - movs r2, 0x1 -_080132B4: - lsls r0, r4, 5 - ldr r3, [r3] - adds r3, r0 - str r2, [sp] - lsls r0, r4, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - adds r2, r6, 0 - bl sub_80178A0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8013278 - - thumb_func_start sub_80132D4 -sub_80132D4: @ 80132D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, =gUnknown_02022C30 - ldr r5, [r0] - movs r0, 0 - mov r8, r0 - movs r3, 0x1 -_080132E8: - ldr r0, [r5] - lsls r6, r3, 5 - adds r2, r0, r6 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - lsrs r0, 30 - mov r9, r0 - cmp r0, 0x1 - bne _08013348 - ldr r1, [r5, 0x4] - adds r0, r2, 0 - str r3, [sp] - bl sub_80176E4 - adds r4, r0, 0 - ldr r3, [sp] - cmp r4, 0xFF - beq _08013330 - ldr r1, [r5] - ldr r0, [r5, 0x4] - lsls r2, r4, 3 - subs r2, r4 - lsls r2, 2 - adds r1, r6 - adds r0, r2 - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldr r0, [r5] - adds r0, r6 - mov r1, r9 - strh r1, [r0, 0x18] - b _08013348 - .pool -_08013330: - ldr r2, [r5] - adds r2, r6 - ldrb r1, [r2, 0x1A] - movs r4, 0x4 - negs r4, r4 - adds r0, r4, 0 - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2, 0x1A] - movs r7, 0x2 - mov r8, r7 -_08013348: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x4 - bls _080132E8 - movs r6, 0 - movs r4, 0x3 -_08013356: - ldr r0, [r5] - ldr r1, [r5, 0x4] - adds r1, r6 - movs r2, 0x5 - bl sub_8017734 - adds r6, 0x1C - subs r4, 0x1 - ldr r0, [r5] - cmp r4, 0 - bge _08013356 - mov r1, r8 - cmp r1, 0x2 - beq _08013388 - adds r1, r0, 0 - movs r4, 0x4 -_08013376: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08013380 - movs r2, 0x1 - mov r8, r2 -_08013380: - adds r1, 0x20 - subs r4, 0x1 - cmp r4, 0 - bge _08013376 -_08013388: - mov r0, r8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80132D4 - - thumb_func_start sub_8013398 -sub_8013398: @ 8013398 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, =gUnknown_02022C30 - ldr r4, [r0] - movs r3, 0 -_080133A8: - ldr r0, [r4, 0x8] - lsls r2, r3, 5 - ldr r1, [r4] - adds r0, r2 - adds r1, r2 - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldm r1!, {r2,r5,r7} - stm r0!, {r2,r5,r7} - ldm r1!, {r6,r7} - stm r0!, {r6,r7} - adds r3, 0x1 - ldr r0, [r4, 0x8] - ldr r1, [r4] - cmp r3, 0x4 - ble _080133A8 - movs r5, 0 - mov r8, r1 - mov r9, r0 - movs r3, 0x4 -_080133D0: - mov r1, r9 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _080133F2 - lsls r0, r5, 5 - add r0, r8 - ldm r1!, {r2,r6,r7} - stm r0!, {r2,r6,r7} - ldm r1!, {r2,r6,r7} - stm r0!, {r2,r6,r7} - ldm r1!, {r2,r6} - stm r0!, {r2,r6} - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_080133F2: - movs r7, 0x20 - add r9, r7 - subs r3, 0x1 - cmp r3, 0 - bge _080133D0 - mov r10, r5 - cmp r5, 0x4 - bhi _08013454 - ldr r0, =gUnknown_082F045C - mov r9, r0 - movs r1, 0 - mov r12, r1 - movs r2, 0x4 - negs r2, r2 - mov r8, r2 -_08013410: - ldr r1, [r4] - lsls r3, r5, 5 - adds r1, r3 - mov r0, r9 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldr r0, [r4] - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x18] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1, 0x1A] - mov r0, r8 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r4] - adds r0, r3 - mov r6, r12 - strb r6, [r0, 0x1B] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _08013410 -_08013454: - movs r3, 0 - ldr r1, [r4] - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013474 - ldrb r0, [r1, 0x1B] - cmp r0, 0x40 - bne _08013474 - mov r10, r3 - b _08013494 - .pool -_08013474: - adds r3, 0x1 - cmp r3, 0x4 - bgt _08013494 - lsls r0, r3, 5 - adds r2, r1, r0 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013474 - ldrb r0, [r2, 0x1B] - cmp r0, 0x40 - bne _08013474 - lsls r0, r3, 24 - lsrs r0, 24 - mov r10, r0 -_08013494: - mov r0, r10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8013398 - - thumb_func_start BerryBlenderLinkJoinGroup -BerryBlenderLinkJoinGroup: @ 80134A4 - push {lr} - ldr r0, =sub_80134E8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - ldr r0, =gUnknown_03000DA4 - str r1, [r0] - movs r0, 0 - strb r0, [r1, 0x8] - strb r0, [r1, 0x9] - ldr r1, =gSpecialVar_Result - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end BerryBlenderLinkJoinGroup - - thumb_func_start sub_80134E8 -sub_80134E8: @ 80134E8 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r6, [r0] - ldrb r0, [r6, 0x8] - cmp r0, 0x17 - bls _080134FC - b _08013B82 -_080134FC: - lsls r0, 2 - ldr r1, =_08013510 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013510: - .4byte _08013570 - .4byte _080135E0 - .4byte _0801360C - .4byte _080136D8 - .4byte _08013B82 - .4byte _08013788 - .4byte _080137C4 - .4byte _08013A10 - .4byte _08013A2C - .4byte _08013A7A - .4byte _08013A8C - .4byte _08013B14 - .4byte _08013A8C - .4byte _08013AE4 - .4byte _08013A8C - .4byte _08013B24 - .4byte _08013B82 - .4byte _08013B82 - .4byte _08013A8C - .4byte _08013B44 - .4byte _08013A8C - .4byte _08013B78 - .4byte _08013B82 - .4byte _08013B68 -_08013570: - ldr r0, =gSpecialVar_0x8004 - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, 0x14 - bne _08013590 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _08013590 - adds r0, r2, 0x1 - strh r0, [r3] -_08013590: - ldr r2, =gUnknown_02022C2C - ldr r1, =gUnknown_082F0530 - ldrh r0, [r3] - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - ldrb r0, [r2] - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C5C - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r6] - movs r0, 0x1 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_080135E0: - adds r0, r6, 0 - adds r0, 0x9 - ldr r2, =gUnknown_082EFB70 - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _080135FC - b _08013B82 -_080135FC: - movs r0, 0x2 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_0801360C: - ldr r0, [r6, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r6] - movs r1, 0x10 - bl sub_8017580 - ldr r0, [r6, 0x4] - ldr r1, =gSpecialVar_0x8004 - ldrh r1, [r1] - bl sub_8016FC0 - movs r4, 0 - strb r0, [r6, 0x11] - ldr r0, =gUnknown_082F00BC - bl AddWindow - strb r0, [r6, 0xC] - ldr r0, =gUnknown_082F0174 - bl AddWindow - strb r0, [r6, 0xB] - ldr r0, =gUnknown_082F017C - bl AddWindow - strb r0, [r6, 0xD] - ldrb r0, [r6, 0xC] - movs r1, 0x22 - bl FillWindowPixelBuffer - ldrb r0, [r6, 0xC] - ldr r2, =gUnknown_082EF7DC - movs r1, 0x1 - str r1, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x8 - bl sub_80173E0 - ldrb r0, [r6, 0xC] - bl PutWindowTilemap - ldrb r0, [r6, 0xC] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r6, 0xB] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F0204 - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldrb r1, [r6, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r6, 0xE] - ldrb r0, [r6, 0xD] - movs r1, 0 - bl NewMenuHelpers_DrawStdWindowFrame - ldrb r0, [r6, 0xD] - bl PutWindowTilemap - ldrb r0, [r6, 0xD] - bl sub_80125BC - ldrb r0, [r6, 0xD] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - strb r4, [r6, 0xF] - movs r0, 0x3 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_080136D8: - bl sub_8013E44 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080136F2 - cmp r4, 0x1 - beq _080136EA - b _08013A72 -_080136EA: - movs r0, 0x2 - bl PlaySE - b _08013A72 -_080136F2: - ldrb r0, [r6, 0xE] - bl ListMenuHandleInputGetItemId - adds r4, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08013770 - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08013770 - ldr r0, [r6] - lsls r1, r4, 5 - adds r0, r1 - ldrb r1, [r0, 0xA] - ldrb r0, [r0, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013768 - lsrs r0, r1, 7 - cmp r0, 0 - bne _08013768 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8013B8C - adds r1, r0, 0 - cmp r1, 0 - bne _08013744 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8013BD8 - movs r0, 0x5 - b _08013756 - .pool -_08013744: - ldr r0, =gStringVar4 - ldr r2, =gUnknown_082EDD50 - subs r1, 0x1 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - movs r0, 0x12 -_08013756: - strb r0, [r6, 0x8] - movs r0, 0x6E - bl PlaySE - b _08013B82 - .pool -_08013768: - movs r0, 0x7 - bl PlaySE - b _08013B82 -_08013770: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0801377E - b _08013B82 -_0801377E: - movs r0, 0xA - strb r0, [r6, 0x8] - b _08013B82 - .pool -_08013788: - ldr r4, =gStringVar4 - ldr r0, =gUnknown_02022C2C - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80130B4 - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r4, 0 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _080137A6 - b _08013B82 -_080137A6: - ldr r0, =gStringVar1 - ldrb r2, [r6, 0xF] - lsls r2, 5 - ldr r1, [r6] - adds r1, r2 - bl sub_8018404 - b _08013A86 - .pool -_080137C4: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0801387A - ldr r4, =gUnknown_02022C2C - ldr r1, [r6] - ldrb r0, [r6, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - ldrb r0, [r4] - subs r0, 0x1 - cmp r0, 0x1B - bhi _0801387A - lsls r0, 2 - ldr r1, =_08013804 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013804: - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _0801387A - .4byte _0801387A - .4byte _0801387A - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _0801387A - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _0801387A - .4byte _0801387A - .4byte _0801387A - .4byte _0801387A - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 - .4byte _08013874 -_08013874: - movs r0, 0x14 - strb r0, [r6, 0x8] - b _08013B82 -_0801387A: - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x8 - bls _0801388A - b _080139EC -_0801388A: - lsls r0, 2 - ldr r1, =_08013898 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013898: - .4byte _080138BC - .4byte _080138C2 - .4byte _080139EC - .4byte _080139EC - .4byte _080138C8 - .4byte _080138C2 - .4byte _08013934 - .4byte _080139EC - .4byte _080138C2 -_080138BC: - movs r0, 0xC - strb r0, [r6, 0x8] - b _080139EC -_080138C2: - movs r0, 0xE - strb r0, [r6, 0x8] - b _080139EC -_080138C8: - ldr r5, =gStringVar4 - ldr r4, =gUnknown_02022C2C - ldrb r1, [r4] - adds r0, r5, 0 - bl sub_8013160 - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r5, 0 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _080138E6 - b _080139EC -_080138E6: - ldrb r0, [r4] - cmp r0, 0x1C - beq _080138F0 - cmp r0, 0xE - bne _08013904 -_080138F0: - movs r0, 0xC - movs r1, 0 - bl sub_8011A64 - b _080139EC - .pool -_08013904: - movs r0, 0x7 - movs r1, 0 - bl sub_8011A64 - ldr r0, =gStringVar1 - ldr r2, =gUnknown_082F0048 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r1, =gUnknown_082EDE48 - adds r0, r5, 0 - bl StringExpandPlaceholders - b _080139EC - .pool -_08013934: - ldrb r0, [r6, 0x15] - adds r2, r0, 0 - cmp r2, 0xF0 - bls _0801395C - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, =gStringVar4 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - beq _080139EC - movs r0, 0xC - movs r1, 0 - bl sub_8011A64 - movs r0, 0 - b _080139EA - .pool -_0801395C: - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x1B - bhi _080139E8 - lsls r0, 2 - ldr r1, =_08013978 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013978: - .4byte _080139EC - .4byte _080139EC - .4byte _080139E8 - .4byte _080139EC - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139EC - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139E8 - .4byte _080139EC -_080139E8: - adds r0, r2, 0x1 -_080139EA: - strb r0, [r6, 0x15] -_080139EC: - bl sub_8011A74 - lsls r0, 24 - cmp r0, 0 - beq _080139F8 - b _08013B82 -_080139F8: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08013A06 - b _08013B82 -_08013A06: - movs r0, 0x7 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_08013A10: - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, =gUnknown_082EDE64 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - bne _08013A22 - b _08013B82 -_08013A22: - movs r0, 0x8 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_08013A2C: - adds r4, r6, 0 - adds r4, 0x9 - bl sub_8011A74 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80170B8 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08013A6A - cmp r1, r0 - bgt _08013A58 - subs r0, 0x2 - cmp r1, r0 - beq _08013A6E - b _08013B82 -_08013A58: - cmp r1, 0 - beq _08013A62 - cmp r1, 0x1 - beq _08013A6A - b _08013B82 -_08013A62: - bl sub_80106D4 - movs r0, 0x9 - b _08013A70 -_08013A6A: - movs r0, 0x5 - b _08013A70 -_08013A6E: - movs r0, 0x6 -_08013A70: - strb r0, [r6, 0x8] -_08013A72: - ldrb r0, [r6, 0xE] - bl RedrawListMenu - b _08013B82 -_08013A7A: - bl sub_8011A74 - lsls r0, 24 - cmp r0, 0 - bne _08013A86 - b _08013B82 -_08013A86: - movs r0, 0x6 - strb r0, [r6, 0x8] - b _08013B82 -_08013A8C: - ldrb r0, [r6, 0xD] - bl ClearWindowTilemap - ldrb r0, [r6, 0xD] - movs r1, 0 - bl sub_819746C - ldrb r0, [r6, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r6, 0xC] - bl ClearWindowTilemap - ldrb r0, [r6, 0xB] - movs r1, 0 - bl sub_819746C - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r6, 0xD] - bl RemoveWindow - ldrb r0, [r6, 0xB] - bl RemoveWindow - ldrb r0, [r6, 0xC] - bl RemoveWindow - ldrb r0, [r6, 0x11] - bl DestroyTask - ldr r0, [r6] - bl Free - ldr r0, [r6, 0x4] - bl Free - ldrb r0, [r6, 0x8] - adds r0, 0x1 - strb r0, [r6, 0x8] - b _08013B82 -_08013AE4: - bl sub_800E084 - adds r5, r6, 0 - adds r5, 0x9 - ldr r4, =gUnknown_082EDE9C - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - beq _08013B82 - ldr r0, =gSpecialVar_Result - movs r1, 0x6 - b _08013B58 - .pool -_08013B14: - bl sub_800E084 - ldr r0, =gSpecialVar_Result - movs r1, 0x5 - b _08013B58 - .pool -_08013B24: - bl sub_800E084 - adds r5, r6, 0 - adds r5, 0x9 - ldr r4, =gUnknown_082EDE9C - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - b _08013B4A - .pool -_08013B44: - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, =gStringVar4 -_08013B4A: - bl sub_8017064 - lsls r0, 24 - cmp r0, 0 - beq _08013B82 - ldr r0, =gSpecialVar_Result - movs r1, 0x8 -_08013B58: - strh r1, [r0] - movs r0, 0x17 - strb r0, [r6, 0x8] - b _08013B82 - .pool -_08013B68: - adds r0, r4, 0 - bl DestroyTask - bl sub_80173D4 - bl sub_800EDD4 - b _08013B82 -_08013B78: - bl sub_80149C4 - adds r0, r4, 0 - bl DestroyTask -_08013B82: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80134E8 - - thumb_func_start sub_8013B8C -sub_8013B8C: @ 8013B8C - push {lr} - lsls r1, 5 - ldr r0, [r0] - adds r3, r0, r1 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x4 - bne _08013BCE - ldrb r1, [r3, 0x1] - movs r0, 0x3C - ands r0, r1 - cmp r0, 0xC - beq _08013BCE - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x9] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08013BC4 - movs r0, 0x1 - b _08013BD4 - .pool -_08013BC4: - ldrb r1, [r3] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08013BD2 -_08013BCE: - movs r0, 0 - b _08013BD4 -_08013BD2: - movs r0, 0x2 -_08013BD4: - pop {r1} - bx r1 - thumb_func_end sub_8013B8C - - thumb_func_start sub_8013BD8 -sub_8013BD8: @ 8013BD8 - push {r4,lr} - adds r4, r0, 0 - strb r1, [r4, 0xF] - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldrb r0, [r4, 0xE] - bl RedrawListMenu - ldr r0, =gStringVar1 - ldrb r2, [r4, 0xF] - lsls r2, 5 - ldr r1, [r4] - adds r1, r2 - bl sub_8018404 - ldr r1, =gUnknown_082F0530 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0x1 - bl sub_8011090 - ldrb r1, [r4, 0xF] - lsls r1, 5 - ldr r0, [r4] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011FC8 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013BD8 - - thumb_func_start sub_8013C40 -sub_8013C40: @ 8013C40 - push {lr} - ldr r0, =sub_8013C7C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r3, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, =gTasks + 0x8 - adds r1, r2 - str r1, [r3] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - ldr r2, =gUnknown_03000DA4 - str r1, [r2] - pop {r1} - bx r1 - .pool - thumb_func_end sub_8013C40 - - thumb_func_start sub_8013C7C -sub_8013C7C: @ 8013C7C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r4, [r0] - ldrb r0, [r4, 0x8] - cmp r0, 0xB - bhi _08013D80 - lsls r0, 2 - ldr r1, =_08013CA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08013CA0: - .4byte _08013CD0 - .4byte _08013D80 - .4byte _08013D04 - .4byte _08013D28 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D80 - .4byte _08013D58 - .4byte _08013D76 -_08013CD0: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C5C - movs r0, 0x1 - bl sub_80111B0 - movs r0, 0x70 - bl AllocZeroed - str r0, [r4, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - movs r0, 0x2 - strb r0, [r4, 0x8] - b _08013D80 -_08013D04: - ldr r0, [r4, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r4] - movs r1, 0x10 - bl sub_8017580 - ldr r0, [r4, 0x4] - movs r1, 0xFF - bl sub_8016FC0 - movs r1, 0 - strb r0, [r4, 0x11] - strb r1, [r4, 0xF] - movs r0, 0x3 - strb r0, [r4, 0x8] - b _08013D80 -_08013D28: - bl sub_8013E44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08013D3A - movs r0, 0x2 - bl PlaySE -_08013D3A: - ldr r0, =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - bne _08013D80 - movs r0, 0xA - strb r0, [r4, 0x8] - b _08013D80 - .pool -_08013D58: - ldrb r0, [r4, 0x11] - bl DestroyTask - ldr r0, [r4] - bl Free - ldr r0, [r4, 0x4] - bl Free - bl sub_800EDD4 - ldrb r0, [r4, 0x8] - adds r0, 0x1 - strb r0, [r4, 0x8] - b _08013D80 -_08013D76: - bl sub_800EDD4 - adds r0, r5, 0 - bl DestroyTask -_08013D80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8013C7C - - thumb_func_start sub_8013D88 -sub_8013D88: @ 8013D88 - push {lr} - adds r2, r0, 0 - cmp r1, 0xFF - bne _08013D94 -_08013D90: - movs r0, 0x1 - b _08013DB8 -_08013D94: - cmp r1, 0x16 - bhi _08013DB6 - ldr r0, =gUnknown_082F04D8 - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - b _08013DB0 - .pool -_08013DA8: - ldrb r0, [r1] - cmp r0, r2 - beq _08013D90 - adds r1, 0x1 -_08013DB0: - ldrb r0, [r1] - cmp r0, 0xFF - bne _08013DA8 -_08013DB6: - movs r0, 0 -_08013DB8: - pop {r1} - bx r1 - thumb_func_end sub_8013D88 - - thumb_func_start sub_8013DBC -sub_8013DBC: @ 8013DBC - push {lr} - ldr r0, [r0] - lsls r1, 5 - adds r1, r0, r1 - ldrb r2, [r1, 0x1A] - lsls r0, r2, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013DEE - ldrb r0, [r1, 0xA] - lsrs r0, 7 - cmp r0, 0 - beq _08013DDA - movs r0, 0x3 - b _08013DF0 -_08013DDA: - lsls r0, r2, 29 - cmp r0, 0 - bge _08013DE4 - movs r0, 0x1 - b _08013DF0 -_08013DE4: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08013DEE - movs r0, 0x2 - b _08013DF0 -_08013DEE: - movs r0, 0 -_08013DF0: - pop {r1} - bx r1 - thumb_func_end sub_8013DBC - - thumb_func_start sub_8013DF4 -sub_8013DF4: @ 8013DF4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r0, =gUnknown_02022C30 - ldr r0, [r0] - mov r8, r0 - bl sub_8013DBC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 5 - mov r2, r8 - ldr r3, [r2] - adds r3, r1 - str r0, [sp] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x8 - adds r2, r6, 0 - bl sub_80177B8 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013DF4 - - thumb_func_start sub_8013E44 -sub_8013E44: @ 8013E44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, =gUnknown_02022C30 - ldr r6, [r0] - movs r7, 0 - movs r3, 0 -_08013E54: - ldr r0, [r6] - lsls r5, r3, 5 - adds r2, r0, r5 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - mov r8, r5 - cmp r0, 0 - beq _08013F20 - ldr r1, [r6, 0x4] - adds r0, r2, 0 - str r3, [sp] - bl sub_80176E4 - adds r4, r0, 0 - ldr r3, [sp] - cmp r4, 0xFF - beq _08013EEE - ldr r0, [r6] - adds r2, r0, r5 - ldrb r1, [r2, 0x1A] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08013ECC - lsls r0, r4, 3 - subs r0, r4 - lsls r4, r0, 2 - ldr r1, [r6, 0x4] - adds r1, r4 - adds r0, r2, 0 - bl sub_8017678 - ldr r3, [sp] - cmp r0, 0 - beq _08013EB0 - ldr r1, [r6] - ldr r0, [r6, 0x4] - adds r1, r5 - adds r0, r4 - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - b _08013EDA - .pool -_08013EB0: - ldr r0, [r6] - adds r1, r0, r5 - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08013EE4 - subs r0, 0x1 - strb r0, [r1, 0x1B] - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0, 0x1B] - cmp r0, 0 - bne _08013EE4 - movs r7, 0x2 - b _08013EE4 -_08013ECC: - movs r4, 0x4 - negs r4, r4 - adds r0, r4, 0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] -_08013EDA: - ldr r0, [r6] - adds r0, r5 - movs r1, 0x40 - strb r1, [r0, 0x1B] - movs r7, 0x1 -_08013EE4: - ldr r0, [r6] - add r0, r8 - movs r1, 0 - strh r1, [r0, 0x18] - b _08013F20 -_08013EEE: - ldr r0, [r6] - adds r1, r0, r5 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x2 - beq _08013F20 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - ldr r0, [r6] - adds r2, r0, r5 - ldrh r1, [r2, 0x18] - ldr r0, =0x0000012b - cmp r1, r0 - bls _08013F20 - ldrb r0, [r2, 0x1A] - movs r7, 0x4 - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1A] - movs r7, 0x2 -_08013F20: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _08013E54 - movs r5, 0 - movs r4, 0x3 -_08013F2E: - ldr r0, [r6] - ldr r1, [r6, 0x4] - adds r1, r5 - movs r2, 0x10 - bl sub_8017734 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08013F44 - movs r7, 0x1 -_08013F44: - adds r5, 0x1C - subs r4, 0x1 - cmp r4, 0 - bge _08013F2E - adds r0, r7, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8013E44 - - thumb_func_start sub_8013F60 -sub_8013F60: @ 8013F60 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80773AC - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8013F60 - - thumb_func_start sub_8013F78 -sub_8013F78: @ 8013F78 - push {lr} - ldr r0, =sub_8013F60 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .pool - thumb_func_end sub_8013F78 - - thumb_func_start sub_8013F90 -sub_8013F90: @ 8013F90 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_02022C40 - mov r8, r0 - bl GetMultiplayerId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl sub_8018120 - adds r7, r0, 0 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _08013FFC - cmp r0, 0x1 - bgt _08013FD4 - cmp r0, 0 - beq _08013FDE - b _080140BC - .pool -_08013FD4: - cmp r0, 0x2 - beq _08014038 - cmp r0, 0x3 - beq _08014070 - b _080140BC -_08013FDE: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r1, r0 - movs r0, 0 - movs r2, 0x64 - bl SendBlock - b _080140BC - .pool -_08013FFC: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080140BC - bl GetMultiplayerId - adds r1, r0, 0 - ldr r0, =gEnemyParty - movs r2, 0x1 - eors r1, r2 - lsls r1, 24 - lsrs r1, 16 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x64 - bl memcpy - movs r0, 0x32 - bl IncrementGameStat - bl ResetBlockReceivedFlags - b _0801405A - .pool -_08014038: - ldr r4, =gBlockSendBuffer - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x00002be0 - adds r1, r0 - adds r0, r4, 0 - movs r2, 0xDC - bl memcpy - movs r0, 0 - adds r1, r4, 0 - movs r2, 0xDC - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _080140BC -_0801405A: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080140BC - .pool -_08014070: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080140BC - ldr r4, =gUnknown_020321C0 - bl GetMultiplayerId - adds r1, r0, 0 - movs r0, 0x1 - eors r1, r0 - lsls r1, 24 - lsrs r1, 16 - ldr r0, =gBlockRecvBuffer - adds r1, r0 - adds r0, r4, 0 - movs r2, 0xD8 - bl memcpy - bl ResetBlockReceivedFlags - ldr r1, =gUnknown_02032298 - strb r7, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r1, =gMain - ldr r0, =CB2_ReturnToField - str r0, [r1, 0x8] - ldr r0, =sub_807AE50 - bl SetMainCallback2 - mov r0, r8 - bl sub_801807C - adds r0, r6, 0 - bl DestroyTask -_080140BC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8013F90 - - thumb_func_start sub_80140E0 -sub_80140E0: @ 80140E0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08014104 - cmp r0, 0x1 - beq _0801411C - b _0801419E - .pool -_08014104: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08014114 - movs r0, 0x2 - bl sub_800A4D8 -_08014114: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0801419E -_0801411C: - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A9D8 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0801419E - movs r4, 0 - ldr r5, =gLinkPlayers - b _08014152 - .pool -_08014138: - lsls r1, r4, 8 - ldr r0, =gBlockRecvBuffer - adds r3, r1, r0 - movs r0, 0x64 - muls r0, r4 - ldr r1, =gTrainerCards - adds r0, r1 - ldrb r2, [r5] - adds r1, r3, 0 - bl sub_80C3120 - adds r5, 0x1C - adds r4, 0x1 -_08014152: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _08014138 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08014190 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 16 - ldr r1, =gBlockRecvBuffer - adds r3, r0, r1 - adds r0, r3, 0 - adds r0, 0x60 - ldrh r0, [r0] - bl sub_801B94C - b _08014194 - .pool -_08014190: - bl sub_801B940 -_08014194: - bl ResetBlockReceivedFlags - adds r0, r6, 0 - bl DestroyTask -_0801419E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80140E0 - - thumb_func_start sub_80141A4 -sub_80141A4: @ 80141A4 - push {r4,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _080141C0 - cmp r0, 0x1 - beq _080141D4 - b _080141F2 - .pool -_080141C0: - ldr r0, =sub_80140E0 - movs r1, 0x5 - bl CreateTask - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080141F2 - .pool -_080141D4: - ldr r0, =sub_80140E0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080141F2 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, =CB2_ReturnToField - bl sub_80C4E74 -_080141F2: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80141A4 - - thumb_func_start sub_8014210 -sub_8014210: @ 8014210 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r5, =gLinkPlayers - ldr r0, =0x00002211 - str r0, [r5, 0x14] - bl GetMultiplayerId - adds r4, r0, 0 - bl GetMultiplayerId - lsls r4, 24 - lsrs r4, 24 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - bl GetMultiplayerId - adds r4, r0, 0 - bl GetMultiplayerId - movs r2, 0x1 - eors r4, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r5 - eors r0, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, =gMain - ldr r0, =sub_80B360C - str r0, [r1, 0x8] - ldr r0, =gBattleTypeFlags - str r6, [r0] - bl PlayBattleBGM - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014210 - - thumb_func_start sub_8014290 -sub_8014290: @ 8014290 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, =0x00004087 - adds r1, r3, 0 - bl VarSet - ldr r6, =gSaveBlock1Ptr - ldr r1, [r6] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - mov r8, r2 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - str r5, [sp] - adds r3, r4, 0 - bl Overworld_SetWarpDestination - ldr r0, [r6] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0 - mov r3, r8 - bl saved_warp2_set_2 - bl warp_in - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014290 - - thumb_func_start sub_8014304 -sub_8014304: @ 8014304 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - adds r6, r3, 0 - ldr r1, [sp, 0x18] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r0, =gSpecialVar_0x8004 - strh r1, [r0] - ldr r0, =0x00004087 - bl VarSet - bl GetLinkPlayerCount - ldr r1, =gFieldLinkPlayerCount - strb r0, [r1] - bl GetMultiplayerId - ldr r1, =gUnknown_03005DB4 - strb r0, [r1] - bl sub_809D2BC - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - movs r2, 0x1 - negs r2, r2 - mov r0, r8 - lsls r0, 24 - asrs r0, 24 - mov r8, r0 - lsls r6, 24 - asrs r6, 24 - str r6, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - mov r3, r8 - bl Overworld_SetWarpDestination - bl warp_in - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014304 - - thumb_func_start sub_8014384 -sub_8014384: @ 8014384 - push {r4,lr} - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _080143A0 - cmp r0, 0x1 - beq _080143B4 - b _080143C6 - .pool -_080143A0: - ldr r0, =sub_80140E0 - movs r1, 0x5 - bl CreateTask - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _080143C6 - .pool -_080143B4: - ldr r0, =sub_80140E0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080143C6 - ldr r0, =sub_8086074 - bl SetMainCallback2 -_080143C6: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014384 - - thumb_func_start sub_80143E4 -sub_80143E4: @ 80143E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl sub_80C30A4 - cmp r5, 0 - beq _080143FE - bl sub_801B39C - adds r1, r4, 0 - adds r1, 0x60 - strh r0, [r1] - b _08014404 -_080143FE: - adds r0, r4, 0 - adds r0, 0x60 - strh r5, [r0] -_08014404: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80143E4 - - thumb_func_start sub_801440C -sub_801440C: @ 801440C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_801B940 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0xE - bhi _08014474 - lsls r0, 2 - ldr r1, =_08014434 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014434: - .4byte _08014470 - .4byte _08014470 - .4byte _08014470 - .4byte _08014470 - .4byte _08014474 - .4byte _08014474 - .4byte _08014474 - .4byte _08014474 - .4byte _08014470 - .4byte _08014470 - .4byte _08014470 - .4byte _08014474 - .4byte _08014470 - .4byte _08014474 - .4byte _08014470 -_08014470: - bl sub_800E3A8 -_08014474: - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x50 - bls _08014480 - b _08014764 -_08014480: - lsls r0, 2 - ldr r1, =_08014494 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014494: - .4byte _080145F4 - .4byte _08014620 - .4byte _0801464C - .4byte _08014678 - .4byte _080146D8 - .4byte _08014764 - .4byte _08014764 - .4byte _080146FC - .4byte _08014714 - .4byte _08014734 - .4byte _0801474C - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014698 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _080145D8 - .4byte _08014764 - .4byte _08014764 - .4byte _080146C4 - .4byte _080146D8 - .4byte _08014764 - .4byte _08014764 - .4byte _080146FC - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _08014764 - .4byte _080145D8 -_080145D8: - bl overworld_free_bg_tilemaps - ldr r1, =gMain - ldr r0, =sub_801AC54 - str r0, [r1, 0x8] - movs r0, 0x3 - bl sub_81B8518 - b _08014764 - .pool -_080145F4: - bl overworld_free_bg_tilemaps - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - movs r0, 0x1 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x18 - movs r2, 0x6 - movs r3, 0x8 - b _080146B0 - .pool -_08014620: - bl overworld_free_bg_tilemaps - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x18 - movs r2, 0x6 - movs r3, 0x8 - b _080146B0 - .pool -_0801464C: - bl overworld_free_bg_tilemaps - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - movs r0, 0x5 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x1B - movs r2, 0x5 - movs r3, 0x8 - b _080146B0 - .pool -_08014678: - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - bl overworld_free_bg_tilemaps - movs r0, 0x3 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x19 - movs r2, 0x5 - movs r3, 0x8 - b _080146B0 - .pool -_08014698: - ldr r0, =gBlockSendBuffer - movs r1, 0x1 - bl sub_80143E4 - bl overworld_free_bg_tilemaps - movs r0, 0x4 - str r0, [sp] - movs r0, 0x19 - movs r1, 0x1A - movs r2, 0x8 - movs r3, 0x9 -_080146B0: - bl sub_8014304 - ldr r0, =sub_8014384 - bl SetMainCallback2 - b _08014764 - .pool -_080146C4: - bl overworld_free_bg_tilemaps - ldr r0, =sub_8013F90 - movs r1, 0 - bl CreateTask - b _08014764 - .pool -_080146D8: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _080146E8 - bl sub_800ED10 - b _080146F6 -_080146E8: - bl sub_800ED28 - movs r0, 0x45 - movs r1, 0 - movs r2, 0x1 - bl sub_8010F84 -_080146F6: - bl sub_801DD98 - b _08014764 -_080146FC: - ldr r0, =gBlockSendBuffer - movs r1, 0 - bl sub_80143E4 - ldr r0, =sub_80141A4 - bl SetMainCallback2 - b _08014764 - .pool -_08014714: - movs r0, 0x8 - movs r1, 0x5 - movs r2, 0x1 - bl sub_8014290 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - ldr r1, =CB2_LoadMap - bl sub_802A9A8 - b _08014764 - .pool -_08014734: - movs r0, 0x7 - movs r1, 0x9 - movs r2, 0x1 - bl sub_8014290 - ldr r0, =CB2_LoadMap - bl sub_8020C70 - b _08014764 - .pool -_0801474C: - movs r0, 0x8 - movs r1, 0x5 - movs r2, 0x1 - bl sub_8014290 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - ldr r1, =CB2_LoadMap - bl sub_802493C -_08014764: - adds r0, r4, 0 - bl DestroyTask - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x44 - beq _0801477C - bl ScriptContext2_Disable -_0801477C: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_801440C - - thumb_func_start sub_8014790 -sub_8014790: @ 8014790 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r7, r0, r1 - ldr r0, =gBlockSendBuffer - mov r9, r0 - movs r1, 0 - ldrsh r0, [r7, r1] - mov r2, r9 - cmp r0, 0x8 - bls _080147B6 - b _080149B2 -_080147B6: - lsls r0, 2 - ldr r1, =_080147CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080147CC: - .4byte _080147F0 - .4byte _080148CC - .4byte _080148E4 - .4byte _0801491E - .4byte _08014934 - .4byte _0801494A - .4byte _08014986 - .4byte _08014992 - .4byte _0801499C -_080147F0: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - subs r0, 0xE - cmp r0, 0xE - bhi _080148C2 - lsls r0, 2 - ldr r1, =_08014818 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014818: - .4byte _08014854 - .4byte _080148C2 - .4byte _080148B8 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148C2 - .4byte _080148B8 - .4byte _080148B8 - .4byte _080148B8 - .4byte _080148B8 - .4byte _080148B8 - .4byte _08014854 -_08014854: - ldr r1, =gLinkPlayers - ldr r0, =0x00002211 - str r0, [r1, 0x14] - movs r2, 0 - mov r8, r2 - mov r0, r8 - strh r0, [r1, 0x18] - movs r0, 0x2 - strh r0, [r1, 0x34] - ldr r6, =gUnknown_0203CEF8 - ldrb r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gBattleScripting + 0x14 - adds r0, r4 - movs r1, 0xB - bl GetMonData - mov r1, r9 - strh r0, [r1] - ldrb r0, [r6, 0x1] - muls r0, r5 - adds r0, r4 - movs r1, 0xB - movs r2, 0 - bl GetMonData - mov r2, r9 - strh r0, [r2, 0x2] - ldr r0, =gMain - mov r1, r8 - str r1, [r0, 0x8] - movs r0, 0x4 - strh r0, [r7] - bl sub_800E3A8 - bl ResetBlockReceivedFlags - b _080149B2 - .pool -_080148B8: - bl sub_800E3A8 - adds r0, r4, 0 - bl DestroyTask -_080148C2: - bl EnableBothScriptContexts - movs r0, 0x1 - strh r0, [r7] - b _080149B2 -_080148CC: - bl ScriptContext1_IsScriptSetUp - lsls r0, 24 - cmp r0, 0 - bne _080149B2 - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - movs r0, 0x2 - strh r0, [r7] - b _080149B2 -_080148E4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080149B2 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x1D - bne _08014914 - adds r0, r4, 0 - bl DestroyTask - ldr r0, =sub_80773AC - bl SetMainCallback2 - b _080149B2 - .pool -_08014914: - bl sub_800ADF8 - movs r0, 0x3 - strh r0, [r7] - b _080149B2 -_0801491E: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080149B2 - adds r0, r4, 0 - bl DestroyTask - bl sub_80149D8 - b _080149B2 -_08014934: - movs r0, 0 - adds r1, r2, 0 - movs r2, 0xE - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _080149B2 - movs r0, 0x5 - strh r0, [r7] - b _080149B2 -_0801494A: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080149B2 - bl ResetBlockReceivedFlags - ldr r0, =gBlockRecvBuffer - movs r2, 0x80 - lsls r2, 1 - adds r1, r0, r2 - bl sub_80B2AF4 - cmp r0, 0 - beq _08014980 - ldr r0, =gSpecialVar_Result - movs r1, 0xB - strh r1, [r0] - movs r0, 0x7 - strh r0, [r7] - b _080149B2 - .pool -_08014980: - movs r0, 0x6 - strh r0, [r7] - b _080149B2 -_08014986: - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - b _080149B2 -_08014992: - bl sub_800AC34 - movs r0, 0x8 - strh r0, [r7] - b _080149B2 -_0801499C: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080149B2 - bl sub_800E084 - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_080149B2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014790 - - thumb_func_start sub_80149C4 -sub_80149C4: @ 80149C4 - push {lr} - ldr r0, =sub_8014790 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_80149C4 - - thumb_func_start sub_80149D8 -sub_80149D8: @ 80149D8 - push {lr} - ldr r0, =sub_801440C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80149D8 - - thumb_func_start sub_8014A00 -sub_8014A00: @ 8014A00 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_8014A40 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - movs r2, 0 - strb r2, [r1, 0xC] - strb r2, [r1, 0xD] - strb r4, [r1, 0x18] - ldr r0, =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014A00 - - thumb_func_start sub_8014A40 -sub_8014A40: @ 8014A40 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r5, [r0] - ldrb r0, [r5, 0xC] - cmp r0, 0x11 - bls _08014A54 - b _08014EF2 -_08014A54: - lsls r0, 2 - ldr r1, =_08014A68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014A68: - .4byte _08014AB0 - .4byte _08014AEC - .4byte _08014BBC - .4byte _08014BEC - .4byte _08014BFC - .4byte _08014C4C - .4byte _08014C24 - .4byte _08014C52 - .4byte _08014CF2 - .4byte _08014DBC - .4byte _08014DCC - .4byte _08014DE2 - .4byte _08014DFA - .4byte _08014E16 - .4byte _08014E4E - .4byte _08014E74 - .4byte _08014EA8 - .4byte _08014EE2 -_08014AB0: - ldr r1, =gUnknown_02022C2C - ldrb r0, [r5, 0x18] - strb r0, [r1] - ldr r1, =gUnknown_02022C2D - movs r0, 0x2 - strb r0, [r1] - ldrb r0, [r5, 0x18] - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - movs r0, 0 - movs r1, 0 - bl sub_8010FA0 - bl sub_800B488 - bl OpenLink - movs r0, 0x2 - bl sub_8011C10 - movs r0, 0x1 - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014AEC: - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r5] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r5, 0x8] - ldr r0, [r5, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r5] - movs r1, 0x5 - bl sub_8017580 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x10 - bl sub_800DF90 - ldr r1, [r5] - movs r3, 0 - movs r0, 0 - strh r0, [r1, 0x18] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - subs r0, 0x4 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r5] - strb r3, [r0, 0x1B] - ldr r0, [r5, 0x4] - movs r1, 0xFF - bl sub_8016FC0 - strb r0, [r5, 0x17] - ldr r0, =gUnknown_082F011C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl sub_8019930 - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - ldr r0, =0xffff00ff - ands r1, r0 - movs r0, 0xC0 - lsls r0, 4 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r5, 0xF] - ldrb r0, [r5, 0xF] - bl sub_8018784 - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F015C - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldrb r1, [r5, 0xF] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r5, 0x12] - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - strb r0, [r5, 0x13] - b _08014C42 - .pool -_08014BBC: - ldr r0, =gStringVar1 - ldr r2, =gUnknown_082F0048 - ldr r4, =gUnknown_02022C2C - ldrb r1, [r4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, =gStringVar4 - ldrb r1, [r4] - bl sub_801262C - movs r0, 0x3 - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014BEC: - ldr r0, =gStringVar4 - bl sub_8018884 - movs r0, 0x4 - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014BFC: - adds r0, r5, 0 - movs r1, 0x5 - movs r2, 0x6 - bl sub_801320C - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08014C14 - b _08014EF2 -_08014C14: - movs r0, 0xD - strb r0, [r5, 0xC] - bl sub_800E084 - b _08014EF2 - .pool -_08014C24: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, =gUnknown_082EDF40 - bl mevent_0814257C - cmp r0, 0 - bne _08014C34 - b _08014EF2 -_08014C34: - ldr r0, [r5] - bl sub_8013398 - strb r0, [r5, 0x13] - ldrb r0, [r5, 0x12] - bl RedrawListMenu -_08014C42: - movs r0, 0x2 - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014C4C: - movs r0, 0x7 - strb r0, [r5, 0xC] - b _08014EF2 -_08014C52: - adds r0, r5, 0 - adds r0, 0xD - adds r1, r5, 0 - adds r1, 0x14 - ldr r3, =gStringVar4 - movs r2, 0 - bl sub_8018B08 - lsls r0, 24 - asrs r4, r0, 24 - cmp r4, 0 - beq _08014C82 - cmp r4, 0 - bgt _08014C7C - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08014CC4 - b _08014EF2 - .pool -_08014C7C: - cmp r4, 0x1 - beq _08014CC4 - b _08014EF2 -_08014C82: - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - strb r4, [r1, 0x1B] - ldrb r0, [r5, 0x12] - bl RedrawListMenu - movs r0, 0x5 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r2, [r5] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x5 - b _08014CE8 -_08014CC4: - movs r0, 0x6 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r2, [r5] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x6 -_08014CE8: - bl sub_8010688 - movs r0, 0x8 - strb r0, [r5, 0xC] - b _08014EF2 -_08014CF2: - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8015658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r5, 0x13] - lsls r2, 5 - ldr r1, [r5] - adds r1, r2 - adds r1, 0x10 - bl sub_8010714 - adds r4, r0, 0 - cmp r4, 0x1 - bne _08014DAA - ldrb r0, [r5, 0x19] - cmp r0, 0x5 - bne _08014D64 - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - movs r0, 0 - strb r0, [r1, 0x1B] - ldrb r0, [r5, 0x12] - bl RedrawListMenu - ldrb r0, [r5, 0x13] - adds r0, 0x1 - strb r0, [r5, 0x13] - ldr r0, =gStringVar1 - ldrb r2, [r5, 0x13] - lsls r2, 5 - subs r2, 0x20 - ldr r1, [r5] - adds r1, r2 - bl sub_8018404 - ldr r0, =gStringVar4 - ldr r1, =gUnknown_082EDC9C - bl StringExpandPlaceholders - movs r0, 0x9 - strb r0, [r5, 0xC] - bl sub_800EF38 - b _08014DA4 - .pool -_08014D64: - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011DC0 - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - ldrb r2, [r1, 0x1A] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r5] - bl sub_8013398 - ldrb r0, [r5, 0x12] - bl RedrawListMenu - movs r0, 0x2 - strb r0, [r5, 0xC] -_08014DA4: - movs r0, 0 - strb r0, [r5, 0x19] - b _08014EF2 -_08014DAA: - cmp r4, 0x2 - beq _08014DB0 - b _08014EF2 -_08014DB0: - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - strb r4, [r5, 0xC] - b _08014EF2 -_08014DBC: - ldr r0, =gStringVar4 - bl sub_8018884 - movs r0, 0xA - strb r0, [r5, 0xC] - b _08014EF2 - .pool -_08014DCC: - ldrb r0, [r5, 0xE] - adds r0, 0x1 - strb r0, [r5, 0xE] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x78 - bhi _08014DDC - b _08014EF2 -_08014DDC: - movs r0, 0xB - strb r0, [r5, 0xC] - b _08014EF2 -_08014DE2: - adds r0, r5, 0 - movs r1, 0x5 - movs r2, 0x6 - bl sub_801320C - lsls r0, 24 - cmp r0, 0 - beq _08014DF4 - b _08014EF2 -_08014DF4: - movs r0, 0xC - strb r0, [r5, 0xC] - b _08014EF2 -_08014DFA: - bl sub_800EF1C - lsls r0, 24 - cmp r0, 0 - beq _08014E10 - movs r0, 0 - bl sub_800EF58 - movs r0, 0xF - strb r0, [r5, 0xC] - b _08014EF2 -_08014E10: - movs r0, 0x6 - strb r0, [r5, 0xC] - b _08014EF2 -_08014E16: - bl sub_800E084 - bl sub_800EDD4 - ldrb r0, [r5, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xF] - bl RemoveWindow - ldrb r0, [r5, 0x17] - bl DestroyTask - ldr r0, [r5, 0x8] - bl Free - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - b _08014EDA -_08014E4E: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, =gText_PleaseStartOver - bl mevent_0814257C - cmp r0, 0 - beq _08014EF2 - adds r0, r4, 0 - bl DestroyTask - ldr r1, =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08014EF2 - .pool -_08014E74: - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08014E8C - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08014E92 -_08014E8C: - movs r0, 0xD - strb r0, [r5, 0xC] - b _08014EF2 -_08014E92: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08014EF2 - movs r0, 0x1 - bl sub_8011068 - b _08014EDA - .pool -_08014EA8: - ldrb r0, [r5, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xF] - bl RemoveWindow - ldrb r0, [r5, 0x17] - bl DestroyTask - ldr r0, [r5, 0x8] - bl Free - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - bl sub_800ADF8 -_08014EDA: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] - b _08014EF2 -_08014EE2: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _08014EF2 - adds r0, r4, 0 - bl DestroyTask -_08014EF2: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8014A40 - - thumb_func_start sub_8014EFC -sub_8014EFC: @ 8014EFC - push {r4,lr} - adds r4, r0, 0 - ldr r0, =sub_8014F48 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - ldr r0, =gUnknown_03000DA4 - str r1, [r0] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - subs r4, 0x15 - strb r4, [r1, 0x12] - ldr r0, =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8014EFC - - thumb_func_start sub_8014F48 -sub_8014F48: @ 8014F48 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r7, [r0] - ldrb r0, [r7, 0x8] - cmp r0, 0xC - bls _08014F5C - b _080152A0 -_08014F5C: - lsls r0, 2 - ldr r1, =_08014F70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08014F70: - .4byte _08014FA4 - .4byte _08014FD8 - .4byte _08014FE8 - .4byte _080150B8 - .4byte _08015180 - .4byte _080151A4 - .4byte _08015204 - .4byte _08015260 - .4byte _08015204 - .4byte _0801523A - .4byte _08015204 - .4byte _08015284 - .4byte _08015290 -_08014FA4: - ldrb r0, [r7, 0x12] - adds r0, 0x15 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C5C - movs r0, 0x70 - bl AllocZeroed - str r0, [r7, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r7] - movs r0, 0x1 - strb r0, [r7, 0x8] - b _080152A0 -_08014FD8: - ldr r0, =gUnknown_082EF7F8 - bl sub_8018884 - movs r0, 0x2 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_08014FE8: - ldr r0, [r7, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r7] - movs r1, 0x10 - bl sub_8017580 - ldr r0, [r7, 0x4] - ldrb r1, [r7, 0x12] - adds r1, 0x7 - bl sub_8016FC0 - movs r6, 0 - strb r0, [r7, 0x11] - ldr r0, =gUnknown_082F0174 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl sub_8019930 - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - ldr r5, =0xffff00ff - ands r1, r5 - movs r4, 0xC0 - lsls r4, 4 - orrs r1, r4 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r7, 0xB] - ldr r0, =gUnknown_082F017C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - add r0, sp, 0x8 - ldr r1, [r0, 0x4] - ands r1, r5 - orrs r1, r4 - str r1, [r0, 0x4] - bl AddWindow - strb r0, [r7, 0xD] - ldrb r0, [r7, 0xB] - bl sub_8018784 - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F0204 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldrb r1, [r7, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r7, 0xE] - ldrb r0, [r7, 0xD] - bl sub_8018784 - ldrb r0, [r7, 0xD] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r7, 0xD] - bl PutWindowTilemap - ldrb r0, [r7, 0xD] - bl sub_80125BC - ldrb r0, [r7, 0xD] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - strb r6, [r7, 0xF] - movs r0, 0x3 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_080150B8: - bl sub_8013E44 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080150D6 - cmp r2, 0x1 - bne _080150CE - movs r0, 0x2 - bl PlaySE -_080150CE: - ldrb r0, [r7, 0xE] - bl RedrawListMenu - b _080152A0 -_080150D6: - ldrb r0, [r7, 0xE] - bl ListMenuHandleInputGetItemId - adds r2, r0, 0 - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08015168 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _08015168 - ldr r0, [r7] - lsls r1, r2, 5 - adds r0, r1 - ldrb r1, [r0, 0xA] - ldrb r0, [r0, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08015160 - lsrs r0, r1, 7 - cmp r0, 0 - bne _08015160 - strb r2, [r7, 0xF] - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldrb r0, [r7, 0xE] - bl RedrawListMenu - ldr r0, =gStringVar1 - ldrb r2, [r7, 0xF] - lsls r2, 5 - ldr r1, [r7] - adds r1, r2 - bl sub_8018404 - ldrb r1, [r7, 0xF] - lsls r1, 5 - ldr r0, [r7] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011FC8 - movs r0, 0x6E - bl PlaySE - movs r0, 0x4 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_08015160: - movs r0, 0x7 - bl PlaySE - b _080152A0 -_08015168: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08015176 - b _080152A0 -_08015176: - movs r0, 0x6 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_08015180: - ldr r0, =gUnknown_082EFC3C - bl sub_8018884 - ldr r0, =gStringVar1 - ldrb r2, [r7, 0xF] - lsls r2, 5 - ldr r1, [r7] - adds r1, r2 - bl sub_8018404 - movs r0, 0x5 - strb r0, [r7, 0x8] - b _080152A0 - .pool -_080151A4: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080151C2 - ldr r2, =gUnknown_02022C2C - ldr r1, [r7] - ldrb r0, [r7, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r2] - movs r0, 0xA - strb r0, [r7, 0x8] -_080151C2: - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _080151EE - cmp r0, 0x5 - bgt _080151E4 - cmp r0, 0x2 - bgt _080152A0 - cmp r0, 0x1 - blt _080152A0 - b _080151E8 - .pool -_080151E4: - cmp r0, 0x6 - bne _080152A0 -_080151E8: - movs r0, 0x8 - strb r0, [r7, 0x8] - b _080152A0 -_080151EE: - ldr r0, =gUnknown_082EDDF4 - bl sub_8018884 - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - b _080152A0 - .pool -_08015204: - ldrb r0, [r7, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r7, 0xD] - bl RemoveWindow - ldrb r0, [r7, 0xB] - bl RemoveWindow - ldrb r0, [r7, 0x11] - bl DestroyTask - ldr r0, [r7] - bl Free - ldr r0, [r7, 0x4] - bl Free - ldrb r0, [r7, 0x8] - adds r0, 0x1 - strb r0, [r7, 0x8] - b _080152A0 -_0801523A: - adds r5, r7, 0 - adds r5, 0x9 - ldr r4, =gUnknown_082EDF80 - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl mevent_0814257C - cmp r0, 0 - beq _080152A0 - bl sub_800E084 - b _0801526A - .pool -_08015260: - bl sub_800E084 - ldr r0, =gText_PleaseStartOver - bl sub_8018884 -_0801526A: - adds r0, r6, 0 - bl DestroyTask - bl sub_800EDD4 - ldr r1, =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _080152A0 - .pool -_08015284: - ldrb r0, [r7, 0x8] - adds r0, 0x1 - strb r0, [r7, 0x8] - bl sub_800ADF8 - b _080152A0 -_08015290: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080152A0 - adds r0, r6, 0 - bl DestroyTask -_080152A0: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8014F48 - - thumb_func_start sub_80152A8 -sub_80152A8: @ 80152A8 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =task00_081182DC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gUnknown_02022C30 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks + 0x8 - adds r1, r0 - str r1, [r2] - ldr r0, =gUnknown_03000DA4 - str r1, [r0] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - subs r4, 0x15 - strb r4, [r1, 0x12] - ldr r0, =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80152A8 - - thumb_func_start task00_081182DC -task00_081182DC: @ 80152F4 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_02022C30 - ldr r5, [r0] - ldrb r0, [r5, 0x8] - cmp r0, 0xE - bls _08015308 - b _08015604 -_08015308: - lsls r0, 2 - ldr r1, =_0801531C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0801531C: - .4byte _08015358 - .4byte _08015386 - .4byte _08015398 - .4byte _08015420 - .4byte _080154E0 - .4byte _08015504 - .4byte _08015564 - .4byte _080155A8 - .4byte _08015564 - .4byte _0801559A - .4byte _08015564 - .4byte _080155B4 - .4byte _08015564 - .4byte _080155E8 - .4byte _080155F4 -_08015358: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_8010F84 - bl sub_800B488 - bl OpenLink - bl sub_8011C5C - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r5] - movs r0, 0x1 - strb r0, [r5, 0x8] - b _08015604 -_08015386: - ldr r0, =gUnknown_082EFBC8 - bl sub_8018884 - movs r0, 0x2 - strb r0, [r5, 0x8] - b _08015604 - .pool -_08015398: - ldr r0, [r5, 0x4] - movs r1, 0x4 - bl sub_80175EC - ldr r0, [r5] - movs r1, 0x10 - bl sub_8017580 - ldr r0, [r5, 0x4] - ldrb r1, [r5, 0x12] - adds r1, 0x7 - bl sub_8016FF0 - strb r0, [r5, 0x11] - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _08015404 - ldr r0, =gUnknown_082F0174 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl sub_8019930 - lsls r0, 16 - ldr r2, =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r5, 0xB] - ldrb r0, [r5, 0xB] - bl sub_8018784 - ldr r0, =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, =gUnknown_082F0204 - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldrb r1, [r5, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r5, 0xE] - movs r0, 0 - bl CopyBgTilemapBufferToVram -_08015404: - movs r0, 0 - strb r0, [r5, 0xF] - movs r0, 0x3 - strb r0, [r5, 0x8] - b _08015604 - .pool -_08015420: - bl sub_8013E44 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08015446 - cmp r0, 0x1 - bne _08015436 - movs r0, 0x2 - bl PlaySE -_08015436: - ldrb r0, [r5, 0x13] - cmp r0, 0 - bne _0801543E - b _08015604 -_0801543E: - ldrb r0, [r5, 0xE] - bl RedrawListMenu - b _08015604 -_08015446: - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _08015452 - ldrb r0, [r5, 0xE] - bl ListMenuHandleInputGetItemId -_08015452: - ldrb r0, [r5, 0x14] - cmp r0, 0x78 - bls _080154C0 - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _080154D4 - ldrb r1, [r2, 0xA] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080154D4 - ldrb r1, [r5, 0x12] - adds r1, 0x7 - adds r0, r2, 0 - bl sub_8016F1C - cmp r0, 0 - beq _080154B4 - strb r4, [r5, 0xF] - strb r4, [r5, 0x14] - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r0, [r5] - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8015658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_8011FC8 - movs r0, 0x6E - bl PlaySE - movs r0, 0x4 - strb r0, [r5, 0x8] - b _080154D4 -_080154B4: - movs r0, 0x16 - bl PlaySE - movs r0, 0xA - strb r0, [r5, 0x8] - b _080154D4 -_080154C0: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080154D4 - movs r1, 0 - movs r0, 0x6 - strb r0, [r5, 0x8] - strb r1, [r5, 0x14] -_080154D4: - ldrb r0, [r5, 0x14] - adds r0, 0x1 - strb r0, [r5, 0x14] - b _08015604 - .pool -_080154E0: - ldr r0, =gUnknown_082EFC90 - bl sub_8018884 - ldr r0, =gStringVar1 - ldrb r2, [r5, 0xF] - lsls r2, 5 - ldr r1, [r5] - adds r1, r2 - bl sub_8018404 - movs r0, 0x5 - strb r0, [r5, 0x8] - b _08015604 - .pool -_08015504: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08015522 - ldr r2, =gUnknown_02022C2C - ldr r1, [r5] - ldrb r0, [r5, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r2] - movs r0, 0xC - strb r0, [r5, 0x8] -_08015522: - bl sub_8011A74 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _0801554E - cmp r0, 0x5 - bgt _08015544 - cmp r0, 0x2 - bgt _08015604 - cmp r0, 0x1 - blt _08015604 - b _08015548 - .pool -_08015544: - cmp r0, 0x6 - bne _08015604 -_08015548: - movs r0, 0x8 - strb r0, [r5, 0x8] - b _08015604 -_0801554E: - ldr r0, =gUnknown_082EDEC4 - bl sub_8018884 - movs r0, 0 - movs r1, 0 - bl sub_8011A64 - b _08015604 - .pool -_08015564: - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _08015580 - ldrb r0, [r5, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xB] - bl RemoveWindow -_08015580: - ldrb r0, [r5, 0x11] - bl DestroyTask - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - ldrb r0, [r5, 0x8] - adds r0, 0x1 - strb r0, [r5, 0x8] - b _08015604 -_0801559A: - adds r0, r5, 0 - adds r0, 0x9 - ldr r1, =gUnknown_082EDF04 - b _080155C2 - .pool -_080155A8: - adds r0, r5, 0 - adds r0, 0x9 - ldr r1, =gText_WirelessSearchCanceled - b _080155C2 - .pool -_080155B4: - adds r0, r5, 0 - adds r0, 0x9 - ldr r2, =gUnknown_082EFD58 - ldrb r1, [r5, 0x12] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] -_080155C2: - bl mevent_0814257C - cmp r0, 0 - beq _08015604 - bl sub_800E084 - adds r0, r4, 0 - bl DestroyTask - bl sub_800EDD4 - ldr r1, =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08015604 - .pool -_080155E8: - ldrb r0, [r5, 0x8] - adds r0, 0x1 - strb r0, [r5, 0x8] - bl sub_800ADF8 - b _08015604 -_080155F4: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _08015604 - adds r0, r4, 0 - bl DestroyTask -_08015604: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end task00_081182DC - - thumb_func_start UnionRoomSpecial -UnionRoomSpecial: @ 801560C - push {r4,lr} - bl sub_8010F60 - ldr r0, =sub_80156E0 - movs r1, 0xA - bl CreateTask - ldr r4, =gUnknown_02022C30 - movs r0, 0x9B - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - ldr r1, =gUnknown_03000DA8 - str r0, [r1] - movs r1, 0 - strb r1, [r0, 0x14] - strb r1, [r0, 0x16] - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - ldr r0, =gSpecialVar_Result - strh r1, [r0] - movs r0, 0xD0 - movs r1, 0x1 - bl sub_819A2BC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end UnionRoomSpecial - - thumb_func_start sub_8015658 -sub_8015658: @ 8015658 - ldrb r1, [r0, 0x1] - lsls r1, 8 - ldrb r0, [r0] - orrs r0, r1 - bx lr - thumb_func_end sub_8015658 - - thumb_func_start sub_8015664 -sub_8015664: @ 8015664 - push {lr} - adds r3, r1, 0 - ldr r1, =gUnknown_02022C30 - ldr r2, [r1] - movs r1, 0x8 - strb r1, [r2, 0x14] - strb r0, [r2, 0x15] - ldr r0, =gStringVar4 - cmp r3, r0 - beq _0801567E - adds r1, r3, 0 - bl StringExpandPlaceholders -_0801567E: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8015664 - - thumb_func_start sub_801568C -sub_801568C: @ 801568C - push {lr} - adds r2, r0, 0 - ldr r0, =gUnknown_02022C30 - ldr r1, [r0] - movs r0, 0x1A - strb r0, [r1, 0x14] - ldr r0, =gStringVar4 - cmp r2, r0 - beq _080156A4 - adds r1, r2, 0 - bl StringExpandPlaceholders -_080156A4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_801568C - - thumb_func_start sub_80156B0 -sub_80156B0: @ 80156B0 - push {lr} - ldr r3, =0x0201ff00 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 1 - adds r0, r3, 0 - bl memcpy - pop {r0} - bx r0 - .pool - thumb_func_end sub_80156B0 - - thumb_func_start sub_80156C8 -sub_80156C8: @ 80156C8 - push {lr} - ldr r0, [r0] - ldr r1, =0x0201ff00 - movs r2, 0x80 - lsls r2, 1 - bl memcpy - pop {r0} - bx r0 - .pool - thumb_func_end sub_80156C8 thumb_func_start sub_80156E0 sub_80156E0: @ 80156E0 @@ -6123,7 +662,7 @@ _08015D4C: adds r1, r2 adds r1, r3 ldr r1, [r1] - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _08015D8C @@ -6235,7 +774,7 @@ _08015E94: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gStringVar4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _08015EA8 @@ -6531,7 +1070,7 @@ _08016158: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gStringVar4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _08016170 @@ -6849,7 +1388,7 @@ _0801645C: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gUnknown_082EF20C - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _0801646E @@ -7018,7 +1557,7 @@ _080165DC: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gUnknown_082EF5B8 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _080165EE @@ -7039,7 +1578,7 @@ _08016610: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gUnknown_082EF1EC - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _08016622 @@ -7190,7 +1729,7 @@ _0801676C: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gUnknown_082EF4C4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 bne _0801677E @@ -7268,7 +1807,7 @@ _08016838: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gStringVar4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 beq _08016878 @@ -7287,7 +1826,7 @@ _08016864: adds r0, r6, 0 adds r0, 0x16 ldr r1, =gStringVar4 - bl sub_8017064 + bl PrintOnTextbox lsls r0, 24 cmp r0, 0 beq _08016878 @@ -7315,7 +1854,7 @@ _08016894: pop {r0} bx r0 .pool - thumb_func_end var_800D_set_xB +thumb_func_end var_800D_set_xB thumb_func_start sub_801689C sub_801689C: @ 801689C @@ -7528,7 +2067,7 @@ _08016A4A: ldr r0, [r5] adds r0, r4 adds r0, 0x2 - bl sub_8015658 + bl ReadAsU16 lsls r0, 16 lsrs r0, 16 mov r1, sp @@ -8305,8 +2844,8 @@ _0801705E: bx r1 thumb_func_end sub_801704C - thumb_func_start sub_8017064 -sub_8017064: @ 8017064 + thumb_func_start PrintOnTextbox +PrintOnTextbox: @ 8017064 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -8346,7 +2885,7 @@ _080170B0: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_8017064 + thumb_func_end PrintOnTextbox thumb_func_start sub_80170B8 sub_80170B8: @ 80170B8 @@ -9531,7 +4070,7 @@ sub_80179AC: @ 80179AC bl sub_8018404 adds r4, 0x2 adds r0, r4, 0 - bl sub_8015658 + bl ReadAsU16 lsls r0, 16 lsrs r0, 16 mov r1, sp @@ -9563,7 +4102,7 @@ sub_80179D4: @ 80179D4 adds r1, r5, 0 bl sub_8018404 adds r0, r5, 0x2 - bl sub_8015658 + bl ReadAsU16 lsls r0, 16 lsrs r0, 16 adds r1, r4, 0 @@ -10246,14 +4785,14 @@ _08017F8A: lsls r0, r4, 24 lsrs r0, 24 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr adds r5, 0x10 adds r4, 0x1 cmp r4, 0x3 ble _08017F8A ldr r1, =gUnknown_082EE47C adds r0, r7, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders b _08017FB4 .pool _08017FAC: @@ -10618,7 +5157,7 @@ sub_8018220: @ 8018220 ldr r0, =gTrainerCards adds r1, r0 mov r8, r1 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset mov r6, r9 adds r6, 0xC0 bl sub_8068BB0 @@ -10632,11 +5171,11 @@ sub_8018220: @ 8018220 bl StringCopy movs r0, 0 adds r1, r6, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr mov r1, r8 adds r1, 0x30 movs r0, 0x1 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r4, 0xBA lsls r4, 1 add r4, r9 @@ -10650,7 +5189,7 @@ sub_8018220: @ 8018220 bl StringCopy movs r0, 0x2 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr mov r5, r9 adds r5, 0xDE mov r0, r8 @@ -10661,7 +5200,7 @@ sub_8018220: @ 8018220 bl ConvertIntToDecimalStringN movs r0, 0x3 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r2, 0xED add r2, r9 mov r10, r2 @@ -10681,16 +5220,16 @@ sub_8018220: @ 8018220 bl ConvertIntToDecimalStringN movs r0, 0x4 mov r1, r10 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r0, 0x5 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r4, 0xD2 lsls r4, 1 add r4, r9 ldr r1, =gUnknown_082EFF64 adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r0, =gStringVar4 adds r1, r4, 0 bl StringCopy @@ -10707,7 +5246,7 @@ _0801830C: bl ConvertIntToDecimalStringN movs r0, 0 adds r1, r6, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr mov r2, r8 ldrh r1, [r2, 0x16] cmp r1, r4 @@ -10722,7 +5261,7 @@ _08018328: bl ConvertIntToDecimalStringN movs r0, 0x2 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr mov r0, r8 ldrh r1, [r0, 0x20] adds r0, r5, 0 @@ -10731,7 +5270,7 @@ _08018328: bl ConvertIntToDecimalStringN movs r0, 0x3 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r7, 0 movs r6, 0x80 lsls r6, 19 @@ -10744,7 +5283,7 @@ _08018360: bl CopyEasyChatWord lsrs r0, r6, 24 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r2, 0x80 lsls r2, 17 adds r6, r2 @@ -10758,7 +5297,7 @@ _08018360: add r4, r9 ldr r1, =gUnknown_082EFFA4 adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r5, =gStringVar4 adds r0, r5, 0 adds r1, r4, 0 @@ -10768,7 +5307,7 @@ _08018360: bne _080183D0 ldr r1, =gUnknown_082F0020 adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -10785,7 +5324,7 @@ _080183D0: adds r1, r0 ldr r1, [r1] adds r0, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders adds r0, r5, 0 adds r1, r4, 0 bl StringAppend @@ -14898,7 +9437,7 @@ sub_801A43C: @ 801A43C bl LoadPalette movs r0, 0xF0 bl sub_81978B0 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset movs r0, 0x20 str r0, [sp] str r0, [sp, 0x4] @@ -14941,7 +9480,7 @@ _0801A58C: ldr r0, =gUnknown_03000DAC ldr r0, [r0] bl Free - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 pop {r4} pop {r0} @@ -21111,7 +15650,7 @@ _0801D7D0: b _0801D804 .pool _0801D7F0: - ldr r0, =0x0201c000 + ldr r0, =gDecompressionBuffer ldr r1, [r4, 0x18] movs r2, 0x80 lsls r2, 3 @@ -21184,7 +15723,7 @@ _0801D858: sub_801D860: @ 801D860 push {r4,lr} adds r4, r0, 0 - ldr r3, =0x0201c000 + ldr r3, =gDecompressionBuffer adds r0, r4, 0x4 ldr r1, =gSaveBlock2Ptr ldr r1, [r1] @@ -24175,10 +18714,10 @@ _0801F020: ldrb r1, [r4, 0x8] cmp r0, r1 beq _0801F0A8 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r1, =gText_F700JoinedChat b _0801F094 .pool @@ -24215,14 +18754,14 @@ _0801F07A: ldrb r5, [r5] cmp r0, r5 beq _0801F0A8 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset movs r0, 0 adds r1, r4, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r1, =gText_F700LeftChat _0801F094: adds r0, r6, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x1 b _0801F0AA .pool @@ -25695,11 +20234,11 @@ sub_801FBF8: @ 801FBF8 beq _0801FC38 b _0801FC42 _0801FC08: - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset bl sub_801F1D0 adds r1, r0, 0 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r0, 0x5 movs r1, 0 bl sub_801FF18 @@ -25856,11 +20395,11 @@ sub_801FD30: @ 801FD30 beq _0801FD74 b _0801FD7E _0801FD40: - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r0, =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr movs r0, 0x9 movs r1, 0 bl sub_801FF18 @@ -26164,7 +20703,7 @@ _0801FF98: adds r0, r1, 0 adds r0, 0x22 ldr r1, [r4] - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r0, [r5] adds r6, r0, 0 adds r6, 0x22 @@ -29443,7 +23982,7 @@ _08021A92: lsls r4, 2 str r4, [sp, 0x24] _08021A98: - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r0, [sp, 0x10] cmp r0, 0x1 beq _08021B48 @@ -29702,10 +24241,10 @@ _08021CC8: ldr r0, [sp, 0xC] adds r1, r0, r1 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r0, =gStringVar4 adds r1, r4, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r1, [sp, 0xC] movs r2, 0xDD lsls r2, 1 @@ -30847,7 +25386,7 @@ sub_80226D0: @ 80226D0 adds r6, r0, 0 movs r5, 0 ldr r0, =gUnknown_08DE3FD4 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZ77UnCompWram b _0802271A @@ -45753,7 +40292,7 @@ _08029DA0: movs r1, 0x1 adds r2, r5, 0 bl PrintTextOnWindow - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset bl sub_802762C lsls r0, 16 lsrs r0, 16 @@ -45762,11 +40301,11 @@ _08029DA0: bl CopyItemName movs r0, 0 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r7, =gStringVar4 ldr r1, =gText_FirstPlacePrize adds r0, r7, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders ldr r0, [r4] add r0, r10 ldrb r0, [r0] @@ -45787,7 +40326,7 @@ _08029DA0: beq _08029EC8 cmp r4, 0x3 beq _08029EC8 - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset bl sub_802762C lsls r0, 16 lsrs r0, 16 @@ -45795,12 +40334,12 @@ _08029DA0: bl CopyItemName movs r0, 0 adds r1, r5, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr cmp r4, 0x2 bne _08029E9C ldr r1, =gText_CantHoldAnyMore adds r0, r7, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders b _08029EA8 .pool _08029E9C: @@ -45808,7 +40347,7 @@ _08029E9C: bne _08029EA8 ldr r1, =gText_FilledStorageSpace adds r0, r7, 0 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders _08029EA8: ldr r0, =gUnknown_02022CF8 ldr r0, [r0] @@ -52968,19 +47507,19 @@ sub_802D7E8: @ 802D7E8 movs r2, 0 movs r3, 0x1 bl ConvertIntToDecimalStringN - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r1, [r5] adds r1, 0x26 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r1, [r5] adds r1, 0x66 movs r0, 0x1 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r0, [r5] adds r0, 0xA6 ldr r1, =gText_AwesomeWonF701F700 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x4 movs r1, 0x8 movs r2, 0x16 @@ -53025,15 +47564,15 @@ sub_802D884: @ 802D884 ldr r1, [r4] adds r1, 0x26 bl CopyItemName - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r1, [r4] adds r1, 0x26 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r0, [r4] adds r0, 0xA6 ldr r1, =gText_FilledStorageSpace2 - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x4 movs r1, 0x8 movs r2, 0x16 @@ -53078,15 +47617,15 @@ sub_802D8FC: @ 802D8FC ldr r1, [r4] adds r1, 0x26 bl CopyItemName - bl UnkTextUtil_Reset + bl DynamicPlaceholderTextUtil_Reset ldr r1, [r4] adds r1, 0x26 movs r0, 0 - bl UnkTextUtil_SetPtrI + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr ldr r0, [r4] adds r0, 0xA6 ldr r1, =gText_CantHoldMore - bl UnkTextUtil_StringExpandPlaceholders + bl DynamicPlaceholderTextUtil_ExpandPlaceholders movs r0, 0x4 movs r1, 0x9 movs r2, 0x16 diff --git a/asm/roulette.s b/asm/roulette.s index d3dd5fd9e..b0098daf6 100644 --- a/asm/roulette.s +++ b/asm/roulette.s @@ -4948,7 +4948,7 @@ sub_8142CD0: @ 8142CD0 sub sp, 0x8 ldr r4, =gUnknown_085B7488 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] @@ -5575,7 +5575,7 @@ sub_81431E4: @ 81431E4 sub sp, 0xC ldr r4, =gUnknown_085B741C ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp, 0x4] @@ -5720,7 +5720,7 @@ sub_8143314: @ 8143314 push {r7} sub sp, 0x8 movs r5, 0 - ldr r7, =0x0201c000 + ldr r7, =gDecompressionBuffer mov r6, sp _08143322: ldr r0, =gUnknown_085B7750 @@ -6448,7 +6448,7 @@ sub_814391C: @ 814391C sub sp, 0x8 ldr r4, =gUnknown_085B7948 ldr r0, [r4] - ldr r5, =0x0201c000 + ldr r5, =gDecompressionBuffer adds r1, r5, 0 bl LZ77UnCompWram str r5, [sp] diff --git a/asm/script_menu.s b/asm/script_menu.s index a2e2ec59e..670740a77 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -1498,7 +1498,7 @@ CreateWindowFromRect: @ 80E2A1C movs r1, 0 adds r2, r4, 0 adds r3, r5, 0 - bl sub_8198A50 + bl CreateWindowTemplate ldr r0, [sp, 0x10] ldr r1, [sp, 0x14] str r0, [sp, 0x18] diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index 1d4173c4c..bf1d0e156 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -390,7 +390,7 @@ _080F8AB6: thumb_func_start sub_80F8ACC sub_80F8ACC: @ 80F8ACC push {lr} - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 pop {r0} bx r0 @@ -1559,7 +1559,7 @@ _080F9478: movs r0, 0x1 strh r0, [r1] _080F947E: - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 pop {r0} bx r0 @@ -1599,7 +1599,7 @@ _080F94D0: movs r0, 0x1 strh r0, [r1] _080F94D6: - ldr r0, =CB2_ReturnToFieldContinueScript + ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic bl SetMainCallback2 pop {r0} bx r0 diff --git a/asm/trade.s b/asm/trade.s index 911b56aec..763b1a9ec 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7612,7 +7612,7 @@ sub_807B170: @ 807B170 bl copy_decompressed_tile_data_to_vram_autofree ldr r0, =gBattleTextboxTilemap mov r8, r0 - ldr r4, =0x0201c000 + ldr r4, =gDecompressionBuffer adds r1, r4, 0 bl LZDecompressWram movs r0, 0 diff --git a/charmap.txt b/charmap.txt index a0d9f7ecf..6bcb0703a 100644 --- a/charmap.txt +++ b/charmap.txt @@ -44,6 +44,7 @@ SUPER_ER = 2C '+' = 2E LV = 34 '=' = 35 +';' = 36 '¿' = 51 '¡' = 52 PK = 53 @@ -55,6 +56,7 @@ POKEBLOCK = 55 56 57 58 59 ')' = 5D 'â' = 68 'í' = 6F +UNK_SPACER = 77 UP_ARROW = 79 DOWN_ARROW = 7A LEFT_ARROW = 7B @@ -982,18 +984,83 @@ PH_NURSE_BLEND = 5F 02 PH_NURSE_HELD = 60 02 PH_NURSE_SOLO = 61 02 -UNK_CTRL_F800 = F8 00 -UNK_CTRL_F801 = F8 01 -UNK_CTRL_F80A = F8 0A -UNK_CTRL_F80C = F8 0C +A_BUTTON = F8 00 +B_BUTTON = F8 01 +DPAD_UPDOWN = F8 0A +DPAD_NONE = F8 0C -UNK_CTRL_F9 = F9 -UNK_CTRL_F904 = F9 04 -UNK_CTRL_F905 = F9 05 -UNK_CTRL_F907 = F9 07 -UNK_CTRL_F908 = F9 08 -UNK_CTRL_F9DD = F9 DD -UNK_CTRL_F9F9 = F9 F9 +UP_ARROW_2 = F9 00 +DOWN_ARROW_2 = F9 01 +LEFT_ARROW_2 = F9 02 +RIGHT_ARROW_2 = F9 03 +PLUS = F9 04 +LV_2 = F9 05 +PP = F9 06 +ID = F9 07 +NO = F9 08 +UNDERSCORE = F9 09 +CIRCLE_1 = F9 0A +CIRCLE_2 = F9 0B +CIRCLE_3 = F9 0C +CIRCLE_4 = F9 0D +CIRCLE_5 = F9 0E +CIRCLE_6 = F9 0F +CIRCLE_7 = F9 10 +CIRCLE_8 = F9 11 +CIRCLE_9 = F9 12 +ROUND_LEFT_PAREN = F9 13 +ROUND_RIGHT_PAREN = F9 14 +CIRCLE_DOT = F9 15 +TRIANGLE = F9 16 +BIG_MULT_X = F9 17 + +EMOJI_UNDERSCORE = F9 D0 +EMOJI_PIPE = F9 D1 +EMOJI_HIGHBAR = F9 D2 +EMOJI_TILDE = F9 D3 +EMOJI_LEFT_PAREN = F9 D4 +EMOJI_RIGHT_PAREN = F9 D5 +EMOJI_UNION = F9 D6 @ ⊂ +EMOJI_GREATER_THAN = F9 D7 +EMOJI_LEFT_EYE = F9 D8 +EMOJI_RIGHT_EYE = F9 D9 +EMOJI_AT = F9 DA +EMOJI_SEMICOLON = F9 DB +EMOJI_PLUS = F9 DC +EMOJI_MINUS = F9 DD +EMOJI_EQUALS = F9 DE +EMOJI_SPIRAL = F9 DF +EMOJI_TONGUE = F9 E0 +EMOJI_TRIANGLE_OUTLINE = F9 E1 +EMOJI_ACUTE = F9 E2 +EMOJI_GRAVE = F9 E3 +EMOJI_CIRCLE = F9 E4 +EMOJI_TRIANGLE = F9 E5 +EMOJI_SQUARE = F9 E6 +EMOJI_HEART = F9 E7 +EMOJI_MOON = F9 E8 +EMOJI_NOTE = F9 E9 +EMOJI_BALL = F9 EA +EMOJI_BOLT = F9 EB +EMOJI_LEAF = F9 EC +EMOJI_FIRE = F9 ED +EMOJI_WATER = F9 EE +EMOJI_LEFT_FIST = F9 EF +EMOJI_RIGHT_FIST = F9 F0 +EMOJI_BIGWHEEL = F9 F1 +EMOJI_SMALLWHEEL = F9 F2 +EMOJI_SPHERE = F9 F3 +EMOJI_IRRITATED = F9 F4 +EMOJI_MISCHIEVOUS = F9 F5 +EMOJI_HAPPY = F9 F6 +EMOJI_ANGRY = F9 F7 +EMOJI_SURPRISED = F9 F8 +EMOJI_BIGSMILE = F9 F9 +EMOJI_EVIL = F9 FA +EMOJI_TIRED = F9 FB +EMOJI_NEUTRAL = F9 FC +EMOJI_SHOCKED = F9 FD +EMOJI_BIGANGER = F9 FE '\l' = FA @ scroll up window text '\p' = FB @ new paragraph diff --git a/common_syms/field_specials.txt b/common_syms/field_specials.txt new file mode 100644 index 000000000..25d874a65 --- /dev/null +++ b/common_syms/field_specials.txt @@ -0,0 +1 @@ +gUnknown_030061D0 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 727a62f3d..624a5c69f 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -10484,7 +10484,7 @@ AnimScript_82D7ECA: end Anim_StatChange: - createvisualtask sub_80AA18C, 0x5 + createvisualtask AnimTask_StatsChange, 0x5 waitforvisualfinish end diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s index 1fbf2a2e1..bbb2a2c62 100644 --- a/data/battle_frontier_2.s +++ b/data/battle_frontier_2.s @@ -498,7 +498,7 @@ gUnknown_08610970:: @ 8610970 .string "LAMONT$", 8 .string "XAV$", 8 .string "ORFEO$", 8 - .string "J{0xf3}RGEN$", 8 @accent? + .string "JÜRGEN$", 8 .string "JORGE$", 8 .byte 0x90, 0xE5 .2byte 0x19 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 0487199b5..959258ea0 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2240,34 +2240,34 @@ BattleScript_EffectMemento:: setatkhptozero attackanimation waitanimation - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_82DA148 - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_TARGET, 0x12, 0x7 - playstatchangeanimation BS_TARGET, 0x2, 0x3 + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_EffectMementoPrintNoEffect + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_TARGET, BIT_ATK | BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO | ATK48_ONLY_MULTIPLE + playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO setstatchanger STAT_ATK, 2, TRUE - statbuffchange 0x1, BattleScript_82DA119 - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA119 + statbuffchange 0x1, BattleScript_EffectMementoTrySpAtk + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_EffectMementoTrySpAtk printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_82DA119:: - playstatchangeanimation BS_TARGET, 0x10, 0x3 +BattleScript_EffectMementoTrySpAtk: + playstatchangeanimation BS_TARGET, BIT_SPATK, ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO setstatchanger STAT_SPATK, 2, TRUE - statbuffchange 0x1, BattleScript_82DA13C - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_82DA13C + statbuffchange 0x1, BattleScript_EffectMementoTryFaint + jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_EffectMementoTryFaint printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_82DA13C:: +BattleScript_EffectMementoTryFaint: tryfaintmon BS_ATTACKER, FALSE, NULL goto BattleScript_MoveEnd -BattleScript_82DA148:: +BattleScript_EffectMementoPrintNoEffect: printstring STRINGID_BUTNOEFFECT waitmessage 0x40 - goto BattleScript_82DA13C -BattleScript_82DA153:: + goto BattleScript_EffectMementoTryFaint +BattleScript_82DA153: attackstring ppreduce jumpifattackandspecialattackcannotfall BattleScript_82DA15A -BattleScript_82DA15A:: +BattleScript_82DA15A: setatkhptozero pause 0x40 effectivenesssound @@ -2688,16 +2688,16 @@ BattleScript_TickleDoMoveAnim:: accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE attackanimation waitanimation - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_TARGET, 0x6, 0x5 - playstatchangeanimation BS_TARGET, 0x2, 0x1 + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_TARGET, BIT_ATK | BIT_DEF, ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE + playstatchangeanimation BS_TARGET, BIT_ATK, ATK48_STAT_NEGATIVE setstatchanger STAT_ATK, 1, TRUE statbuffchange 0x1, BattleScript_TickleTryLowerDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleTryLowerDef printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_TickleTryLowerDef:: - playstatchangeanimation BS_TARGET, 0x4, 0x1 + playstatchangeanimation BS_TARGET, BIT_DEF, ATK48_STAT_NEGATIVE setstatchanger STAT_DEF, 1, TRUE statbuffchange 0x1, BattleScript_TickleEnd jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TickleEnd @@ -2722,8 +2722,8 @@ BattleScript_EffectCosmicPower:: BattleScript_CosmicPowerDoMoveAnim:: attackanimation waitanimation - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_ATTACKER, 0x24, 0x0 + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_SPDEF, 0x0 setstatchanger STAT_DEF, 1, FALSE statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CosmicPowerTrySpDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CosmicPowerTrySpDef @@ -2751,8 +2751,8 @@ BattleScript_EffectBulkUp:: BattleScript_BulkUpDoMoveAnim:: attackanimation waitanimation - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_ATTACKER, 0x6, 0x0 + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF, 0x0 setstatchanger STAT_ATK, 1, FALSE statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_BulkUpTryDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_BulkUpTryDef @@ -2776,8 +2776,8 @@ BattleScript_EffectCalmMind:: BattleScript_CalmMindDoMoveAnim:: attackanimation waitanimation - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_ATTACKER, 0x30, 0x0 + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0x0 setstatchanger STAT_SPATK, 1, FALSE statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_CalmMindTrySpDef jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_CalmMindTrySpDef @@ -2808,8 +2808,8 @@ BattleScript_EffectDragonDance:: BattleScript_DragonDanceDoMoveAnim:: attackanimation waitanimation - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_ATTACKER, 0xA, 0x0 + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_SPEED, 0x0 setstatchanger STAT_ATK, 1, FALSE statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_DragonDanceTrySpeed jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_DragonDanceTrySpeed @@ -3487,8 +3487,8 @@ BattleScript_AllStatsUp:: jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, 0xC, BattleScript_AllStatsUpAtk jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, 0xC, BattleScript_AllStatsUpRet BattleScript_AllStatsUpAtk:: - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_ATTACKER, 0x3E, 0x0 + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED | BIT_SPATK | BIT_SPDEF, 0x0 setstatchanger STAT_ATK, 1, FALSE statbuffchange MOVE_EFFECT_AFFECTS_USER | 0x1, BattleScript_AllStatsUpDef printfromtable gStatUpStringIds @@ -3655,16 +3655,16 @@ BattleScript_PrintMonIsRooted:: goto BattleScript_MoveEnd BattleScript_AtkDefDown:: - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_ATTACKER, 0x6, 0xD - playstatchangeanimation BS_ATTACKER, 0x2, 0x9 + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_DEF | BIT_ATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE | ATK48_ONLY_MULTIPLE + playstatchangeanimation BS_ATTACKER, BIT_ATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE setstatchanger STAT_ATK, 1, TRUE statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_82DB144 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB144 printfromtable gStatDownStringIds waitmessage 0x40 BattleScript_82DB144:: - playstatchangeanimation BS_ATTACKER, 0x4, 0x9 + playstatchangeanimation BS_ATTACKER, BIT_DEF, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE setstatchanger STAT_DEF, 1, TRUE statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_82DB167 jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB167 @@ -3729,14 +3729,14 @@ BattleScript_OneHitKOMsg:: return BattleScript_SAtkDown2:: - setbyte sFIELD_1B, 0x0 - playstatchangeanimation BS_ATTACKER, 0x10, 0xB + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_SPATK, ATK48_DONT_CHECK_LOWER | ATK48_STAT_NEGATIVE | ATK48_STAT_BY_TWO setstatchanger STAT_SPATK, 2, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_82DB1FE - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_82DB1FE + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN | 0x1, BattleScript_SAtkDown2End + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_SAtkDown2End printfromtable gStatDownStringIds waitmessage 0x40 -BattleScript_82DB1FE:: +BattleScript_SAtkDown2End:: return BattleScript_FocusPunchSetUp:: diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 1fbaa9536..485847ed1 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -4,6 +4,7 @@ #include "constants/battle_string_ids.h" #include "constants/items.h" #include "constants/songs.h" +#include "constants/game_stat.h" .include "asm/macros.inc" .include "asm/macros/battle_script.inc" .include "constants/constants.inc" @@ -62,7 +63,7 @@ BattleScript_SafariBallThrow:: BattleScript_SuccessBallThrow:: jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo - incrementgamestat 0xB + incrementgamestat GAME_STAT_POKEMON_CAPTURES BattleScript_PrintCaughtMonInfo:: printstring STRINGID_GOTCHAPKMNCAUGHT trysetcaughtmondexflags BattleScript_TryNicknameCaughtMon diff --git a/data/data2b.s b/data/data2b.s index 87ca0b881..bf28d13d6 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -4630,235 +4630,3 @@ gUnknown_08305D0C:: @ 8305D0C .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - -@ 830B62C - .include "data/trainer_parties.inc" - -@ 830FCD4 - .include "data/text/trainer_class_names.inc" - -@ 8310030 - .include "data/trainers.inc" - -@ 83185C8 - .include "data/text/species_names.inc" - -@ 831977C - .include "data/text/move_names.inc" - -.align 2 - .2byte 0x0300, 0x0000 - - .align 2 -gUnknown_0831A988:: @ 831A988 - .byte 0x00, 0x03, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0831A990:: @ 831A990 - .byte 0x00, 0x03, 0x00, 0xc0, 0x40, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0831A998:: @ 831A998 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0831A9A8:: @ 831A9A8 - .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0018, 0x0018, 0x8000, 0x0000 - .2byte 0x0018, 0x0018, 0x8000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gUnknown_0831A9C8:: @ 831A9C8 - .4byte gUnknown_0831A998 - .4byte gUnknown_0831A9A8 - - .align 2 -gUnknown_0831A9D0:: @ 831A9D0 - spr_template 0x2710, 0x2710, gUnknown_0831A988, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17 - - .align 2 -gUnknown_0831A9E8:: @ 831A9E8 - spr_template 0x2710, 0x2710, gUnknown_0831A990, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17 - - .align 2 -gUnknown_0831AA00:: @ 831AA00 - obj_tiles gUnknown_08D77B0C, 0x1000, 0x2710 - - .align 2 -gBattleBgTemplates:: @ 831AA08 - .4byte 0x00000580, 0x000005c5, 0x000013e6, 0x000033ab - - .align 2 -gUnknown_0831AA18:: @ 831AA18 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090 - window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0 - window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190 - window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300 - window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310 - window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320 - window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330 - window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290 - window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298 - window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298 - window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0 - window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0 - window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100 - window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100 - window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e - window_template 0x01, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0020 - window_template 0x02, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0040 - window_template 0x01, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0020 - window_template 0x02, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0040 - window_template 0x01, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0060 - window_template 0x02, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0080 - window_template 0x00, 0x0c, 0x02, 0x06, 0x02, 0x00, 0x00a0 - window_template 0x00, 0x04, 0x02, 0x07, 0x02, 0x00, 0x00a0 - window_template 0x00, 0x13, 0x02, 0x07, 0x02, 0x00, 0x00b0 - null_window_template - - .align 2 -gUnknown_0831AAE0:: @ 831AAE0 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090 - window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0 - window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190 - window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300 - window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310 - window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320 - window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330 - window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290 - window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298 - window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298 - window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0 - window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0 - window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100 - window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100 - window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e - window_template 0x00, 0x06, 0x01, 0x08, 0x02, 0x05, 0x0100 - window_template 0x00, 0x0e, 0x01, 0x02, 0x02, 0x05, 0x0110 - window_template 0x00, 0x10, 0x01, 0x08, 0x02, 0x05, 0x0114 - window_template 0x00, 0x0c, 0x04, 0x06, 0x02, 0x05, 0x0124 - window_template 0x00, 0x0c, 0x06, 0x06, 0x02, 0x05, 0x0130 - window_template 0x00, 0x0c, 0x08, 0x06, 0x02, 0x05, 0x013c - window_template 0x00, 0x08, 0x0b, 0x0e, 0x02, 0x05, 0x0148 - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x07, 0x0090 - null_window_template - - .align 2 -gBattleWindowTemplates:: @ 831ABA0 - .4byte gUnknown_0831AA18 - .4byte gUnknown_0831AAE0 - - .align 2 -gBattleTerrainTable:: @ 831ABA8 - @ tall_grass - .4byte gBattleTerrainTiles_TallGrass - .4byte gBattleTerrainTilemap_TallGrass - .4byte gBattleTerrainAnimTiles_TallGrass - .4byte gBattleTerrainAnimTilemap_TallGrass - .4byte gBattleTerrainPalette_TallGrass - - @ long_grass - .4byte gBattleTerrainTiles_LongGrass - .4byte gBattleTerrainTilemap_LongGrass - .4byte gBattleTerrainAnimTiles_LongGrass - .4byte gBattleTerrainAnimTilemap_LongGrass - .4byte gBattleTerrainPalette_LongGrass - - @ sand - .4byte gBattleTerrainTiles_Sand - .4byte gBattleTerrainTilemap_Sand - .4byte gBattleTerrainAnimTiles_Sand - .4byte gBattleTerrainAnimTilemap_Sand - .4byte gBattleTerrainPalette_Sand - - @ underwater - .4byte gBattleTerrainTiles_Underwater - .4byte gBattleTerrainTilemap_Underwater - .4byte gBattleTerrainAnimTiles_Underwater - .4byte gBattleTerrainAnimTilemap_Underwater - .4byte gBattleTerrainPalette_Underwater - - @ water - .4byte gBattleTerrainTiles_Water - .4byte gBattleTerrainTilemap_Water - .4byte gBattleTerrainAnimTiles_Water - .4byte gBattleTerrainAnimTilemap_Water - .4byte gBattleTerrainPalette_Water - - @ pond_water - .4byte gBattleTerrainTiles_PondWater - .4byte gBattleTerrainTilemap_PondWater - .4byte gBattleTerrainAnimTiles_PondWater - .4byte gBattleTerrainAnimTilemap_PondWater - .4byte gBattleTerrainPalette_PondWater - - @ rock - .4byte gBattleTerrainTiles_Rock - .4byte gBattleTerrainTilemap_Rock - .4byte gBattleTerrainAnimTiles_Rock - .4byte gBattleTerrainAnimTilemap_Rock - .4byte gBattleTerrainPalette_Rock - - @ cave - .4byte gBattleTerrainTiles_Cave - .4byte gBattleTerrainTilemap_Cave - .4byte gBattleTerrainAnimTiles_Cave - .4byte gBattleTerrainAnimTilemap_Cave - .4byte gBattleTerrainPalette_Cave - - @ building - .4byte gBattleTerrainTiles_Building - .4byte gBattleTerrainTilemap_Building - .4byte gBattleTerrainAnimTiles_Building - .4byte gBattleTerrainAnimTilemap_Building - .4byte gBattleTerrainPalette_Building - - @ plain - .4byte gBattleTerrainTiles_Building - .4byte gBattleTerrainTilemap_Building - .4byte gBattleTerrainAnimTiles_Building - .4byte gBattleTerrainAnimTilemap_Building - .4byte gBattleTerrainPalette_Plain - - .align 2 -gUnknown_0831AC70:: @ 831AC70 - .4byte REG_BG3HOFS - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - .4byte REG_BG3HOFS - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - - .align 2 -gUnknown_0831AC88:: @ 831AC88 - spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8038528 - -gText_ShedinjaJapaneseName:: @ 831ACA0 - .string "ヌケニン$" @ Nukenin - - .align 2 -gUnknown_0831ACA8:: @ 831ACA8 - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gUnknown_0831ACB0:: @ 831ACB0 - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x2800 - - .align 2 -gUnknown_0831ACB8:: @ 831ACB8 - .2byte 0x0000, 0x0005, 0xfffe, 0x0000 - - .align 2 -gUnknown_0831ACC0:: @ 831ACC0 - .4byte gUnknown_0831ACB8 - - .align 2 -gUnknown_0831ACC4:: @ 831ACC4 - .2byte 0xfff0, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x3c00, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000 - - .align 2 -gUnknown_0831ACDC:: @ 831ACDC - .4byte gUnknown_0831ACC4 diff --git a/data/data2c.s b/data/data2c.s new file mode 100644 index 000000000..a661dc165 --- /dev/null +++ b/data/data2c.s @@ -0,0 +1,226 @@ +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/trainers.h" +#include "constants/pokemon.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 + .2byte 0x0300, 0x0000 + + .align 2 +gUnknown_0831A988:: @ 831A988 + .byte 0x00, 0x03, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 + + .align 2 +gUnknown_0831A990:: @ 831A990 + .byte 0x00, 0x03, 0x00, 0xc0, 0x40, 0x00, 0x00, 0x00 + + .align 2 +gUnknown_0831A998:: @ 831A998 + .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_0831A9A8:: @ 831A9A8 + .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0018, 0x0018, 0x8000, 0x0000 + .2byte 0x0018, 0x0018, 0x8000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gUnknown_0831A9C8:: @ 831A9C8 + .4byte gUnknown_0831A998 + .4byte gUnknown_0831A9A8 + + .align 2 +gUnknown_0831A9D0:: @ 831A9D0 + spr_template 0x2710, 0x2710, gUnknown_0831A988, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17 + + .align 2 +gUnknown_0831A9E8:: @ 831A9E8 + spr_template 0x2710, 0x2710, gUnknown_0831A990, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17 + + .align 2 +gUnknown_0831AA00:: @ 831AA00 + obj_tiles gUnknown_08D77B0C, 0x1000, 0x2710 + + .align 2 +gBattleBgTemplates:: @ 831AA08 + .4byte 0x00000580, 0x000005c5, 0x000013e6, 0x000033ab + + .align 2 +gUnknown_0831AA18:: @ 831AA18 + window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090 + window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0 + window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190 + window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300 + window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310 + window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320 + window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330 + window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290 + window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298 + window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298 + window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0 + window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0 + window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100 + window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100 + window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e + window_template 0x01, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0020 + window_template 0x02, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0040 + window_template 0x01, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0020 + window_template 0x02, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0040 + window_template 0x01, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0060 + window_template 0x02, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0080 + window_template 0x00, 0x0c, 0x02, 0x06, 0x02, 0x00, 0x00a0 + window_template 0x00, 0x04, 0x02, 0x07, 0x02, 0x00, 0x00a0 + window_template 0x00, 0x13, 0x02, 0x07, 0x02, 0x00, 0x00b0 + null_window_template + + .align 2 +gUnknown_0831AAE0:: @ 831AAE0 + window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090 + window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0 + window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190 + window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300 + window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310 + window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320 + window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330 + window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290 + window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298 + window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298 + window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0 + window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0 + window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100 + window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100 + window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e + window_template 0x00, 0x06, 0x01, 0x08, 0x02, 0x05, 0x0100 + window_template 0x00, 0x0e, 0x01, 0x02, 0x02, 0x05, 0x0110 + window_template 0x00, 0x10, 0x01, 0x08, 0x02, 0x05, 0x0114 + window_template 0x00, 0x0c, 0x04, 0x06, 0x02, 0x05, 0x0124 + window_template 0x00, 0x0c, 0x06, 0x06, 0x02, 0x05, 0x0130 + window_template 0x00, 0x0c, 0x08, 0x06, 0x02, 0x05, 0x013c + window_template 0x00, 0x08, 0x0b, 0x0e, 0x02, 0x05, 0x0148 + window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x07, 0x0090 + null_window_template + + .align 2 +gBattleWindowTemplates:: @ 831ABA0 + .4byte gUnknown_0831AA18 + .4byte gUnknown_0831AAE0 + + .align 2 +gBattleTerrainTable:: @ 831ABA8 + @ tall_grass + .4byte gBattleTerrainTiles_TallGrass + .4byte gBattleTerrainTilemap_TallGrass + .4byte gBattleTerrainAnimTiles_TallGrass + .4byte gBattleTerrainAnimTilemap_TallGrass + .4byte gBattleTerrainPalette_TallGrass + + @ long_grass + .4byte gBattleTerrainTiles_LongGrass + .4byte gBattleTerrainTilemap_LongGrass + .4byte gBattleTerrainAnimTiles_LongGrass + .4byte gBattleTerrainAnimTilemap_LongGrass + .4byte gBattleTerrainPalette_LongGrass + + @ sand + .4byte gBattleTerrainTiles_Sand + .4byte gBattleTerrainTilemap_Sand + .4byte gBattleTerrainAnimTiles_Sand + .4byte gBattleTerrainAnimTilemap_Sand + .4byte gBattleTerrainPalette_Sand + + @ underwater + .4byte gBattleTerrainTiles_Underwater + .4byte gBattleTerrainTilemap_Underwater + .4byte gBattleTerrainAnimTiles_Underwater + .4byte gBattleTerrainAnimTilemap_Underwater + .4byte gBattleTerrainPalette_Underwater + + @ water + .4byte gBattleTerrainTiles_Water + .4byte gBattleTerrainTilemap_Water + .4byte gBattleTerrainAnimTiles_Water + .4byte gBattleTerrainAnimTilemap_Water + .4byte gBattleTerrainPalette_Water + + @ pond_water + .4byte gBattleTerrainTiles_PondWater + .4byte gBattleTerrainTilemap_PondWater + .4byte gBattleTerrainAnimTiles_PondWater + .4byte gBattleTerrainAnimTilemap_PondWater + .4byte gBattleTerrainPalette_PondWater + + @ rock + .4byte gBattleTerrainTiles_Rock + .4byte gBattleTerrainTilemap_Rock + .4byte gBattleTerrainAnimTiles_Rock + .4byte gBattleTerrainAnimTilemap_Rock + .4byte gBattleTerrainPalette_Rock + + @ cave + .4byte gBattleTerrainTiles_Cave + .4byte gBattleTerrainTilemap_Cave + .4byte gBattleTerrainAnimTiles_Cave + .4byte gBattleTerrainAnimTilemap_Cave + .4byte gBattleTerrainPalette_Cave + + @ building + .4byte gBattleTerrainTiles_Building + .4byte gBattleTerrainTilemap_Building + .4byte gBattleTerrainAnimTiles_Building + .4byte gBattleTerrainAnimTilemap_Building + .4byte gBattleTerrainPalette_Building + + @ plain + .4byte gBattleTerrainTiles_Building + .4byte gBattleTerrainTilemap_Building + .4byte gBattleTerrainAnimTiles_Building + .4byte gBattleTerrainAnimTilemap_Building + .4byte gBattleTerrainPalette_Plain + + .align 2 +gUnknown_0831AC70:: @ 831AC70 + .4byte REG_BG3HOFS + .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 + .4byte 1 + .4byte REG_BG3HOFS + .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 + .4byte 1 + + .align 2 +gUnknown_0831AC88:: @ 831AC88 + spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8038528 + +gText_ShedinjaJapaneseName:: @ 831ACA0 + .string "ヌケニン$" @ Nukenin + + .align 2 +gUnknown_0831ACA8:: @ 831ACA8 + .2byte 0x0100 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gUnknown_0831ACB0:: @ 831ACB0 + .2byte 0x0100 + .2byte 0xC000 + .2byte 0x2800 + + .align 2 +gUnknown_0831ACB8:: @ 831ACB8 + .2byte 0x0000, 0x0005, 0xfffe, 0x0000 + + .align 2 +gUnknown_0831ACC0:: @ 831ACC0 + .4byte gUnknown_0831ACB8 + + .align 2 +gUnknown_0831ACC4:: @ 831ACC4 + .2byte 0xfff0, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x3c00, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000 + + .align 2 +gUnknown_0831ACDC:: @ 831ACDC + .4byte gUnknown_0831ACC4 diff --git a/data/event_scripts.s b/data/event_scripts.s index 0336c0c97..56658a994 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -5,6 +5,7 @@ #include "constants/songs.h" #include "constants/species.h" #include "constants/vars.h" +#include "constants/heal_locations.h" #include "constants/trainers.h" .include "asm/macros.inc" .include "asm/macros/event.inc" @@ -1110,10 +1111,10 @@ EventScript_2715DE:: @ 82715DE setflag FLAG_0x2DE setflag FLAG_0x351 setflag FLAG_0x32F - setflag FLAG_0x315 - setflag FLAG_0x316 - setflag FLAG_0x317 - setflag FLAG_0x318 + setflag FLAG_HIDE_FANCLUB_OLD_LADY + setflag FLAG_HIDE_FANCLUB_BOY + setflag FLAG_HIDE_FANCLUB_LITTLE_BOY + setflag FLAG_HIDE_FANCLUB_LADY setflag FLAG_0x2DA setflag FLAG_0x31D setflag FLAG_0x31E @@ -1801,7 +1802,7 @@ EventScript_271E0E:: @ 8271E0E checkflag FLAG_SYS_PC_LANETTE call_if 1, EventScript_271E3E msgbox gUnknown_082726A3, 4 - special sub_80C7578 + special ShowPokemonStorageSystem waitstate goto EventScript_271DAC end @@ -2356,8 +2357,8 @@ RusturfTunnel_EventScript_272216:: @ 8272216 removeobject 10 clearflag FLAG_0x328 clearflag FLAG_0x3D8 - setvar VAR_0x409A, 6 - setflag FLAG_0x0C7 + setvar VAR_RUSTURF_TUNNEL_STATE, 6 + setflag FLAG_RUSTURF_TUNNEL_OPENED return EventScript_27222B:: @ 827222B @@ -2517,7 +2518,7 @@ Route119_EventScript_272365:: @ 8272365 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq Route119_EventScript_2723C1 compare VAR_RESULT, 4 @@ -3346,7 +3347,7 @@ EventScript_2736D9:: @ 82736D9 end EventScript_2736F4:: @ 82736F4 - setrespawn 16 + setrespawn HEAL_LOCATION_LAVARIDGE_TOWN return EventScript_2736F8:: @ 82736F8 diff --git a/data/field_specials.s b/data/field_specials.s deleted file mode 100644 index 8f9734a01..000000000 --- a/data/field_specials.s +++ /dev/null @@ -1,547 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085B2B5C:: @ 85B2B5C - .byte 0x07, 0x09, 0x08, 0x0a - - .align 2 -gUnknown_085B2B60:: @ 85B2B60 - .byte 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00 - -gUnknown_085B2B68:: @ 85B2B68 - .byte 0x07, 0x16, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0a, 0x10, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x00 - -gUnknown_085B2B78:: @ 85B2B78 - .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x00 - - .align 1 -gUnknown_085B2B7E:: @ 85B2B7E - .2byte 0x0218, 0x0219, 0x021a, 0x021b, 0x021c - -gUnknown_085B2B88:: @ 85B2B88 - .byte 0x0c, 0x02, 0x04, 0x05, 0x01, 0x08, 0x07, 0x0b, 0x03, 0x0a, 0x09, 0x06 - -gUnknown_085B2B94:: @ 85B2B94 - .byte 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05 - -gUnknown_085B2BA0:: @ 85B2BA0 - .byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05 - - .align 2 -gUnknown_085B2BAC:: @ 85B2BAC - .byte 0x00, 0x15, 0x01, 0x08, 0x04, 0x0f, 0x08, 0x00 - - .align 2 -gElevatorFloorsTable:: @ 85B2BB4 - .4byte gText_B4F - .4byte gText_B3F - .4byte gText_B2F - .4byte gText_B1F - .4byte gText_1F - .4byte gText_2F - .4byte gText_3F - .4byte gText_4F - .4byte gText_5F - .4byte gText_6F - .4byte gText_7F - .4byte gText_8F - .4byte gText_9F - .4byte gText_10F - .4byte gText_11F - .4byte gText_Rooftop - - .align 1 -gUnknown_085B2BF4:: @ 85B2BF4 - .2byte 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b - - .align 1 -gUnknown_085B2C06:: @ 85B2C06 - .2byte 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a - -gUnknown_085B2C18:: @ 85B2C18 - .byte 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 - -gUnknown_085B2C21:: @ 85B2C21 - .byte 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b - - .align 1 -gUnknown_085B2C2A:: @ 85B2C2A - .2byte 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a - .2byte 0x1a35, 0x193c, 0xffff - - .align 2 -gUnknown_085B2C50:: @ 85B2C50 - .4byte BattleFrontier_Lounge2_Text_260971 - .4byte BattleFrontier_Lounge2_Text_260A1E - .4byte BattleFrontier_Lounge2_Text_260AE7 - .4byte BattleFrontier_Lounge2_Text_2619AC - .4byte BattleFrontier_Lounge2_Text_261A91 - .4byte BattleFrontier_Lounge2_Text_261B0C - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261B95 - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_261C1A - .4byte BattleFrontier_Lounge2_Text_260BC4 - .4byte BattleFrontier_Lounge2_Text_260C6D - .4byte BattleFrontier_Lounge2_Text_260D3A - .4byte BattleFrontier_Lounge2_Text_260E1E - .4byte BattleFrontier_Lounge2_Text_260EC7 - .4byte BattleFrontier_Lounge2_Text_260F74 - .4byte BattleFrontier_Lounge2_Text_2614E6 - .4byte BattleFrontier_Lounge2_Text_261591 - .4byte BattleFrontier_Lounge2_Text_26166F - .4byte BattleFrontier_Lounge2_Text_261282 - .4byte BattleFrontier_Lounge2_Text_261329 - .4byte BattleFrontier_Lounge2_Text_261403 - .4byte BattleFrontier_Lounge2_Text_261026 - .4byte BattleFrontier_Lounge2_Text_2610CC - .4byte BattleFrontier_Lounge2_Text_261194 - .4byte BattleFrontier_Lounge2_Text_26174D - .4byte BattleFrontier_Lounge2_Text_2617F9 - .4byte BattleFrontier_Lounge2_Text_2618C4 - -gUnknown_085B2CC8:: @ 85B2CC8 - .byte 0x15, 0x38, 0x15, 0x23, 0xff, 0xff, 0xff, 0xff, 0x02, 0x04, 0x07, 0x15, 0x07, 0x15, 0x0e, 0x1c, 0x0d, 0x70, 0x07, 0x38 - - .align 1 -gUnknown_085B2CDC:: @ 85B2CDC - .2byte 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 - - .align 2 -gUnknown_085B2CF0:: @ 85B2CF0 - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BlueFlute - .4byte gText_YellowFlute - .4byte gText_RedFlute - .4byte gText_WhiteFlute - .4byte gText_BlackFlute - .4byte gText_PrettyChair - .4byte gText_PrettyDesk - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_0Pts - .4byte gText_10Pts - .4byte gText_20Pts - .4byte gText_30Pts - .4byte gText_40Pts - .4byte gText_50Pts - .4byte gText_60Pts - .4byte gText_70Pts - .4byte gText_80Pts - .4byte gText_90Pts - .4byte gText_100Pts - .4byte gText_QuestionMark - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_KissPoster16BP - .4byte gText_KissCushion32BP - .4byte gText_SmoochumDoll32BP - .4byte gText_TogepiDoll48BP - .4byte gText_MeowthDoll48BP - .4byte gText_ClefairyDoll48BP - .4byte gText_DittoDoll48BP - .4byte gText_CyndaquilDoll80BP - .4byte gText_ChikoritaDoll80BP - .4byte gText_TotodileDoll80BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_LaprasDoll128BP - .4byte gText_SnorlaxDoll128BP - .4byte gText_VenusaurDoll256BP - .4byte gText_CharizardDoll256BP - .4byte gText_BlastoiseDoll256BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Protein1BP - .4byte gText_Calcium1BP - .4byte gText_Iron1BP - .4byte gText_Zinc1BP - .4byte gText_Carbos1BP - .4byte gText_HpUp1BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Leftovers48BP - .4byte gText_WhiteHerb48BP - .4byte gText_QuickClaw48BP - .4byte gText_MentalHerb48BP - .4byte gText_BrightPowder64BP - .4byte gText_ChoiceBand64BP - .4byte gText_KingsRock64BP - .4byte gText_FocusBand64BP - .4byte gText_ScopeLens64BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_EnergyPowder50 - .4byte gText_EnergyRoot80 - .4byte gText_HealPowder50 - .4byte gText_RevivalHerb300 - .4byte gText_Protein1000 - .4byte gText_Iron1000 - .4byte gText_Carbos1000 - .4byte gText_Calcium1000 - .4byte gText_Zinc1000 - .4byte gText_HPUp1000 - .4byte gText_PPUp3000 - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BattleTower2 - .4byte gText_BattleDome - .4byte gText_BattlePalace - .4byte gText_BattleArena - .4byte gText_BattleFactory - .4byte gText_BattlePike - .4byte gText_BattlePyramid - .4byte gText_RankingHall - .4byte gText_ExchangeService - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_Softboiled16BP - .4byte gText_SeismicToss24BP - .4byte gText_DreamEater24BP - .4byte gText_MegaPunch24BP - .4byte gText_MegaKick48BP - .4byte gText_BodySlam48BP - .4byte gText_RockSlide48BP - .4byte gText_Counter48BP - .4byte gText_ThunderWave48BP - .4byte gText_SwordsDance48BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_DefenseCurl16BP - .4byte gText_Snore24BP - .4byte gText_MudSlap24BP - .4byte gText_Swift24BP - .4byte gText_IcyWind24BP - .4byte gText_Endure48BP - .4byte gText_PsychUp48BP - .4byte gText_IcePunch48BP - .4byte gText_ThunderPunch48BP - .4byte gText_FirePunch48BP - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_SlateportCity - .4byte gText_BattleFrontier - .4byte gText_SouthernIsland - .4byte gText_NavelRock - .4byte gText_BirthIsland - .4byte gText_FarawayIsland - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .4byte gText_BattleTrainers - .4byte gText_BattleBasics - .4byte gText_PokemonNature - .4byte gText_PokemonMoves - .4byte gText_Underpowered - .4byte gText_WhenInDanger - .4byte gText_Exit - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - .4byte NULL - - .align 2 -gUnknown_085B3030:: @ 85B3030 - .4byte 0x03000002, 0x00000000, 0x07d00000, 0x00000064 - - .align 2 -gUnknown_085B3040:: @ 85B3040 - .4byte BattleFrontier_Lounge5_Text_26468D - .4byte BattleFrontier_Lounge5_Text_2646E5 - .4byte BattleFrontier_Lounge5_Text_264741 - .4byte BattleFrontier_Lounge5_Text_2647A4 - .4byte BattleFrontier_Lounge5_Text_2647FC - .4byte BattleFrontier_Lounge5_Text_264858 - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264916 - .4byte BattleFrontier_Lounge5_Text_264972 - .4byte BattleFrontier_Lounge5_Text_2649D5 - .4byte BattleFrontier_Lounge5_Text_264A3F - .4byte BattleFrontier_Lounge5_Text_264A9B - .4byte BattleFrontier_Lounge5_Text_264AF3 - .4byte BattleFrontier_Lounge5_Text_264B5D - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264BC3 - .4byte BattleFrontier_Lounge5_Text_264C36 - .4byte BattleFrontier_Lounge5_Text_2648BE - .4byte BattleFrontier_Lounge5_Text_264C95 - .4byte BattleFrontier_Lounge5_Text_264D01 - .4byte BattleFrontier_Lounge5_Text_264D6B - .4byte BattleFrontier_Lounge5_Text_264DD7 - .4byte BattleFrontier_Lounge5_Text_264E33 - .4byte BattleFrontier_Lounge5_Text_264E8F - .4byte BattleFrontier_Lounge5_Text_2648BE - - .align 2 -gUnknown_085B30A4:: @ 85B30A4 - .4byte BattleFrontier_Lounge3_Text_262261 - .4byte BattleFrontier_Lounge3_Text_26230D - .4byte BattleFrontier_Lounge3_Text_2623B9 - .4byte BattleFrontier_Lounge3_Text_262464 - .4byte BattleFrontier_Lounge3_Text_26250E - .4byte BattleFrontier_Lounge3_Text_2625B8 - .4byte BattleFrontier_Lounge3_Text_26266A - .4byte BattleFrontier_Lounge3_Text_26271C - .4byte BattleFrontier_Lounge3_Text_2627C9 - .4byte BattleFrontier_Lounge3_Text_262876 - .4byte BattleFrontier_Lounge3_Text_26291A - .4byte BattleFrontier_Lounge3_Text_2629BC - - .align 2 -gUnknown_085B30D4:: @ 85B30D4 - .4byte BattleFrontier_Lounge3_Text_262C04 - .4byte BattleFrontier_Lounge3_Text_262C90 - .4byte BattleFrontier_Lounge3_Text_262D1C - .4byte BattleFrontier_Lounge3_Text_262DA7 - .4byte BattleFrontier_Lounge3_Text_262E34 - .4byte BattleFrontier_Lounge3_Text_262EC1 - .4byte BattleFrontier_Lounge3_Text_262F56 - .4byte BattleFrontier_Lounge3_Text_262FEB - .4byte BattleFrontier_Lounge3_Text_263078 - .4byte BattleFrontier_Lounge3_Text_263105 - .4byte BattleFrontier_Lounge3_Text_26318C - .4byte BattleFrontier_Lounge3_Text_263211 - - .align 1 -gUnknown_085B3104:: @ 85B3104 - .2byte 0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600 - - .align 2 -gUnknown_085B311C:: @ 85B311C - window_template 0x00, 0x01, 0x01, 0x06, 0x02, 0x0f, 0x0008 - - .align 2 -gUnknown_085B3124:: @ 85B3124 - window_template 0x00, 0x02, 0x09, 0x04, 0x04, 0x0f, 0x0014 - - .align 1 -gUnknown_085B312C:: @ 85B312C - .2byte 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff - - .align 1 -gUnknown_085B3142:: @ 85B3142 - .2byte 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff - - .align 1 -gUnknown_085B314E:: @ 85B314E - .2byte 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff - - .align 1 -gUnknown_085B315C:: @ 85B315C - .2byte 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff - - .align 2 -gUnknown_085B3170:: @ 85B3170 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260201 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260287 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E - .4byte gText_Exit - - .align 2 -gUnknown_085B319C:: @ 85B319C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C - .4byte gText_Exit - - .align 2 -gUnknown_085B31B4:: @ 85B31B4 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260397 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260436 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C - .4byte gText_Exit - - .align 2 -gUnknown_085B31D0:: @ 85B31D0 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260542 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260575 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2 - .4byte BattleFrontier_BattlePointExchangeServiceCorner_Text_260613 - .4byte gText_Exit - - .align 1 -gUnknown_085B31F8:: @ 85B31F8 - .2byte 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e - - .align 1 -gUnknown_085B320C:: @ 85B320C - .2byte 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 - - .align 2 -gUnknown_085B3220:: @ 85B3220 - window_template 0x00, 0x01, 0x07, 0x0c, 0x06, 0x0f, 0x001c - - .align 2 -gUnknown_085B3228:: @ 85B3228 - .4byte BattleFrontier_Lounge7_Text_265E30 - .4byte BattleFrontier_Lounge7_Text_265E5B - .4byte BattleFrontier_Lounge7_Text_265E8A - .4byte BattleFrontier_Lounge7_Text_265EC0 - .4byte BattleFrontier_Lounge7_Text_265EED - .4byte BattleFrontier_Lounge7_Text_265F1C - .4byte BattleFrontier_Lounge7_Text_265F47 - .4byte BattleFrontier_Lounge7_Text_265F77 - .4byte BattleFrontier_Lounge7_Text_265FAA - .4byte BattleFrontier_Lounge7_Text_265FDD - .4byte gText_Exit - - .align 2 -gUnknown_085B3254:: @ 85B3254 - .4byte BattleFrontier_Lounge7_Text_26600A - .4byte BattleFrontier_Lounge7_Text_26603E - .4byte BattleFrontier_Lounge7_Text_266070 - .4byte BattleFrontier_Lounge7_Text_2660A6 - .4byte BattleFrontier_Lounge7_Text_2660D0 - .4byte BattleFrontier_Lounge7_Text_2660FF - .4byte BattleFrontier_Lounge7_Text_26612D - .4byte BattleFrontier_Lounge7_Text_26615F - .4byte BattleFrontier_Lounge7_Text_266185 - .4byte BattleFrontier_Lounge7_Text_2661B5 - .4byte gText_Exit - - .align 2 -gUnknown_085B3280:: @ 85B3280 - .incbin "graphics/unknown/unknown_5B3280.gbapal" - -gUnknown_085B33E0:: @ 85B33E0 - .byte 0x0f, 0x0c, 0x0b, 0x0e, 0x0f, 0x08, 0x13, 0x0e, 0x0c, 0x0b, 0x12, 0x0b, 0x0f, 0x0e, 0x0b, 0x0e, 0x13, 0x0e, 0x0f, 0x0f, 0x0f, 0x0a - -gUnknown_085B33F6:: @ 85B33F6 - .byte 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 - -gUnknown_085B3400:: @ 85B3400 - .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c - -gUnknown_085B3410:: @ 85B3410 - .byte 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c - -gUnknown_085B3420:: @ 85B3420 - .byte 0x02, 0x04, 0x01, 0x04, 0x04, 0x01, 0x05, 0x00, 0x01, 0x06, 0x03, 0x01, 0x08, 0x06, 0x01, 0x09, 0x0d, 0x01, 0x0a, 0x07, 0x01, 0x0b, 0x07, 0x01, 0x0c, 0x04, 0x01, 0x0e, 0x05, 0x01, 0x0f, 0x04 - .byte 0x01, 0x1a, 0x37, 0x01 - - .align 1 -gUnknown_085B3444:: @ 85B3444 - .2byte 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a - .2byte 0x1a35, 0x1918, 0x1919, 0x191a, 0x191b, 0xffff - -gUnknown_085B3470:: @ 85B3470 - .byte 0x02, 0x01, 0x02, 0x01 - -gUnknown_085B3474:: @ 85B3474 - .byte 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f - -gUnknown_085B347C:: @ 85B347C - .byte 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 - diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc index 701b79fbf..628c9cece 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc +++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc @@ -43,7 +43,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3 setfieldeffectargument 1, 10 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_81392F8 + specialvar VAR_RESULT, FoundAbandonedShipRoom4Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DD3 waitfieldeffect 54 @@ -54,7 +54,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C end AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D - specialvar VAR_RESULT, sub_81392AC + specialvar VAR_RESULT, FoundAbandonedShipRoom1Key compare VAR_RESULT, 1 goto_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32 delay 20 @@ -77,7 +77,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33 setfieldeffectargument 1, 3 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_8139320 + specialvar VAR_RESULT, FoundAbandonedShipRoom6Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DE3 waitfieldeffect 54 @@ -98,7 +98,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B setfieldeffectargument 1, 6 setfieldeffectargument 2, 0 dofieldeffect 54 - specialvar VAR_RESULT, sub_81392D4 + specialvar VAR_RESULT, FoundAbandonedShipRoom2Key compare VAR_RESULT, 0 call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DC3 waitfieldeffect 54 diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc index 3cd0b9eff..9dbacfe8e 100644 --- a/data/maps/AncientTomb/scripts.inc +++ b/data/maps/AncientTomb/scripts.inc @@ -10,7 +10,7 @@ AncientTomb_MapScript1_238FC3: @ 8238FC3 end AncientTomb_EventScript_238FCD:: @ 8238FCD - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, AncientTomb_EventScript_27374E removeobject VAR_LAST_TALKED @@ -75,7 +75,7 @@ AncientTomb_EventScript_23905A:: @ 823905A special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AncientTomb_EventScript_2390A1 compare VAR_RESULT, 4 diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc index cf59bdacc..12c25faac 100644 --- a/data/maps/AquaHideout_B1F/scripts.inc +++ b/data/maps/AquaHideout_B1F/scripts.inc @@ -9,7 +9,7 @@ AquaHideout_B1F_MapScript1_2339B2: @ 82339B2 end AquaHideout_B1F_EventScript_2339BC:: @ 82339BC - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, AquaHideout_B1F_EventScript_27374E removeobject VAR_LAST_TALKED @@ -41,7 +41,7 @@ AquaHideout_B1F_EventScript_2339EB:: @ 82339EB setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AquaHideout_B1F_EventScript_233A2F compare VAR_RESULT, 4 @@ -68,7 +68,7 @@ AquaHideout_B1F_EventScript_233A38:: @ 8233A38 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq AquaHideout_B1F_EventScript_233A7C compare VAR_RESULT, 4 diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 248c1f9ca..072d27137 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -14,7 +14,7 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0 waitmovement 0 special sub_813A080 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate delay 48 applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc index dff56322a..0a3723acc 100644 --- a/data/maps/BattleFrontier_OutsideEast/scripts.inc +++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F end BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, BattleFrontier_OutsideEast_EventScript_27374E removeobject VAR_LAST_TALKED @@ -134,7 +134,7 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq BattleFrontier_OutsideEast_EventScript_242D60 compare VAR_RESULT, 4 diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc index 23818d64c..3dff67a93 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc +++ b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ BattleFrontier_PokemonCenter_1F_MapScripts:: @ 82678F9 .byte 0 BattleFrontier_PokemonCenter_1F_MapScript1_267904: @ 8267904 - setrespawn 22 + setrespawn HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST end BattleFrontier_PokemonCenter_1F_EventScript_267908:: @ 8267908 diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index b2427e95d..787230c60 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -37,7 +37,7 @@ BirthIsland_Exterior_MapScript1_267F65: @ 8267F65 end BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, BirthIsland_Exterior_EventScript_27374E removeobject 2 @@ -91,7 +91,7 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq BirthIsland_Exterior_EventScript_26803B compare VAR_RESULT, 4 diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc index 9137902f2..45d192c80 100644 --- a/data/maps/DesertRuins/scripts.inc +++ b/data/maps/DesertRuins/scripts.inc @@ -10,7 +10,7 @@ DesertRuins_MapScript1_22D96B: @ 822D96B end DesertRuins_EventScript_22D975:: @ 822D975 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, DesertRuins_EventScript_27374E removeobject VAR_LAST_TALKED @@ -75,7 +75,7 @@ DesertRuins_EventScript_22DA02:: @ 822DA02 special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq DesertRuins_EventScript_22DA49 compare VAR_RESULT, 4 diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc index 15a1c81b9..a9ce59bc1 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523 .byte 0 DewfordTown_PokemonCenter_1F_MapScript1_1FC52E: @ 81FC52E - setrespawn 15 + setrespawn HEAL_LOCATION_DEWFORD_TOWN call DewfordTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index 60f0dd1ad..763d2ebb1 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -51,7 +51,7 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 end EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 - setrespawn 1 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F fadescreenspeed 1, 24 special GameClear waitstate @@ -59,7 +59,7 @@ EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9 end EverGrandeCity_HallOfFame_EventScript_2298F5:: @ 82298F5 - setrespawn 2 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F fadescreenspeed 1, 24 special GameClear waitstate diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc index ed6e6a497..16b82a592 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34 .byte 0 EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F - setrespawn 11 + setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1 checkflag FLAG_0x1CF call_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C end diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc index f1a6ce17f..b4046d022 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc @@ -4,7 +4,7 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2 .byte 0 EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD - setrespawn 20 + setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2 setflag FLAG_LANDMARK_POKEMON_LEAGUE checkflag FLAG_0x107 call_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc index 15f5d2b9e..d11caa86f 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD .byte 0 FallarborTown_PokemonCenter_1F_MapScript1_200BD8: @ 8200BD8 - setrespawn 17 + setrespawn HEAL_LOCATION_FALLARBOR_TOWN call FallarborTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc index e7d67431d..70e41b42d 100644 --- a/data/maps/FarawayIsland_Interior/scripts.inc +++ b/data/maps/FarawayIsland_Interior/scripts.inc @@ -11,7 +11,7 @@ FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F end FarawayIsland_Interior_EventScript_267D19:: @ 8267D19 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq FarawayIsland_Interior_EventScript_267D4B compare VAR_RESULT, 4 @@ -33,7 +33,7 @@ FarawayIsland_Interior_MapScript1_267D54: @ 8267D54 end FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, FarawayIsland_Interior_EventScript_27374E removeobject VAR_LAST_TALKED @@ -148,7 +148,7 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq FarawayIsland_Interior_EventScript_267E96 compare VAR_RESULT, 4 diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc index e119a0f29..4885c7f15 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8 .byte 0 FortreeCity_PokemonCenter_1F_MapScript1_2173E3: @ 82173E3 - setrespawn 7 + setrespawn HEAL_LOCATION_FORTREE_CITY end FortreeCity_PokemonCenter_1F_EventScript_2173E7:: @ 82173E7 diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc index 963dd196d..24fe954a8 100644 --- a/data/maps/InsideOfTruck/scripts.inc +++ b/data/maps/InsideOfTruck/scripts.inc @@ -24,7 +24,7 @@ InsideOfTruck_EventScript_23BF04:: @ 823BF04 end InsideOfTruck_EventScript_23BF20:: @ 823BF20 - setrespawn 1 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F setvar VAR_0x4092, 1 setflag FLAG_0x2F7 setflag FLAG_0x2FA @@ -37,7 +37,7 @@ InsideOfTruck_EventScript_23BF20:: @ 823BF20 end InsideOfTruck_EventScript_23BF46:: @ 823BF46 - setrespawn 2 + setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F setvar VAR_0x4092, 2 setflag FLAG_0x2F6 setflag FLAG_0x2F9 diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc index a96d13902..b00b41d40 100644 --- a/data/maps/IslandCave/scripts.inc +++ b/data/maps/IslandCave/scripts.inc @@ -10,7 +10,7 @@ IslandCave_MapScript1_238E3A: @ 8238E3A end IslandCave_EventScript_238E44:: @ 8238E44 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, IslandCave_EventScript_27374E removeobject VAR_LAST_TALKED @@ -107,7 +107,7 @@ IslandCave_EventScript_238F58:: @ 8238F58 special StartRegiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq IslandCave_EventScript_238F9F compare VAR_RESULT, 4 diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc index 24f19b1d0..c7db56a0d 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA .byte 0 LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05: @ 81FFB05 - setrespawn 16 + setrespawn HEAL_LOCATION_LAVARIDGE_TOWN call LavaridgeTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 87a129620..70018b229 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -255,7 +255,7 @@ LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8 compare VAR_RESULT, 0 goto_eq LilycoveCity_EventScript_1E2E5A msgbox LilycoveCity_Text_1E3234, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, LilycoveCity_EventScript_1E2EDE case 1, LilycoveCity_EventScript_1E2EEE case 2, LilycoveCity_EventScript_1E2EFE @@ -286,7 +286,7 @@ LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B compare VAR_RESULT, 0 goto_eq LilycoveCity_EventScript_1E2ECD msgbox LilycoveCity_Text_1E373C, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, LilycoveCity_EventScript_1E2F0E case 1, LilycoveCity_EventScript_1E2F1E case 2, LilycoveCity_EventScript_1E2F2E diff --git a/data/maps/LilycoveCity_ContestLobby/events.inc b/data/maps/LilycoveCity_ContestLobby/events.inc index 67f644529..be94bfb7b 100644 --- a/data/maps/LilycoveCity_ContestLobby/events.inc +++ b/data/maps/LilycoveCity_ContestLobby/events.inc @@ -32,7 +32,7 @@ LilycoveCity_ContestLobby_MapWarps: @ 853178C warp_def 21, 1, 0, 1, MAP_LILYCOVE_CITY_CONTEST_HALL LilycoveCity_ContestLobby_MapBGEvents: @ 85317AC - bg_event 23, 5, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_294055 + bg_event 23, 5, 0, BG_EVENT_PLAYER_FACING_ANY, EventScript_PblockLink bg_event 23, 9, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_293E1E bg_event 23, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_21A753 bg_event 25, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_21A75A @@ -41,7 +41,7 @@ LilycoveCity_ContestLobby_MapBGEvents: @ 85317AC bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_21A73E bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_21A745 bg_event 7, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_21A74C - bg_event 27, 5, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_293C3E + bg_event 27, 5, 0, BG_EVENT_PLAYER_FACING_ANY, EventScript_Pblock1_Ask bg_event 27, 9, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_293D4D bg_event 18, 3, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_ContestLobby_EventScript_21A784 diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc index 9d37c58ed..956766395 100644 --- a/data/maps/LilycoveCity_ContestLobby/scripts.inc +++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc @@ -877,7 +877,7 @@ LilycoveCity_ContestLobby_EventScript_21ABA0:: @ 821ABA0 return LilycoveCity_ContestLobby_EventScript_21ABA6:: @ 821ABA6 - message LilycoveCity_ContestLobby_Text_27C1EA + message Text_DecideLinkLeader waitmessage multichoice 16, 6, 81, 0 switch VAR_RESULT diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc index 234751910..372d16dae 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc @@ -118,12 +118,12 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5 applymovement VAR_LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_2725AA waitmovement 0 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate setflag FLAG_0x002 return LilycoveCity_DepartmentStoreElevator_EventScript_2207FC:: @ 82207FC - special sub_8139994 + special SetDepartmentStoreFloorVar return diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc index 8de2d5d6f..4a375cf5e 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc @@ -21,7 +21,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C waitmessage special RetrieveLotteryNumber copyvar VAR_0x8008, VAR_RESULT - special sub_81397C4 + special BufferLottoTicketNumber msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, 4 applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_2725A8 waitmovement 0 diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc index 1dfd9c29a..99ad20280 100644 --- a/data/maps/LilycoveCity_Harbor/scripts.inc +++ b/data/maps/LilycoveCity_Harbor/scripts.inc @@ -89,7 +89,7 @@ LilycoveCity_Harbor_EventScript_21E149:: @ 821E149 msgbox LilycoveCity_Harbor_Text_21E864, 5 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_21E5C0 - setvar VAR_PORTHOLE, 5 + setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate @@ -398,7 +398,7 @@ LilycoveCity_Harbor_EventScript_21E575:: @ 821E575 msgbox LilycoveCity_Harbor_Text_21E864, 5 compare VAR_RESULT, 0 goto_eq LilycoveCity_Harbor_EventScript_21E5C0 - setvar VAR_PORTHOLE, 5 + setvar VAR_PORTHOLE_STATE, 5 call LilycoveCity_Harbor_EventScript_21E5CC warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc index b6ca09906..934f666ad 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2 .byte 0 LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD: @ 821C5BD - setrespawn 8 + setrespawn HEAL_LOCATION_LILYCOVE_CITY goto LilycoveCity_PokemonCenter_1F_EventScript_21C5C6 end diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc index 74146fc7e..9587bcae3 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc @@ -4,7 +4,7 @@ LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785 .byte 0 LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790 - map_script_2 VAR_0x4095, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A + map_script_2 VAR_LILYCOVE_FAN_CLUB_STATE, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A .2byte 0 LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A @@ -24,7 +24,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A waitmovement 0 applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807 waitmovement 0 - setvar VAR_0x4095, 2 + setvar VAR_LILYCOVE_FAN_CLUB_STATE, 2 releaseall end @@ -62,45 +62,45 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807 LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D: @ 821C80D call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA - compare VAR_0x4095, 1 + compare VAR_LILYCOVE_FAN_CLUB_STATE, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8 - compare VAR_0x4095, 2 + compare VAR_LILYCOVE_FAN_CLUB_STATE, 2 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829 end LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829 - special sub_813BCE8 + special UpdateMovedLilycoveFanClubMembers call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8 setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0 setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8 setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0 setvar VAR_0x8004, 12 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8 setvar VAR_0x8004, 13 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0 setvar VAR_0x8004, 14 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8 setvar VAR_0x8004, 15 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0 end @@ -120,35 +120,35 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1 LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5 setvar VAR_0x8005, 8 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 12 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 13 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 14 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE setvar VAR_0x8004, 15 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 0 call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE compare VAR_0x8005, 5 @@ -208,13 +208,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 lock faceplayer setvar VAR_0x8004, 13 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, 4 @@ -222,7 +222,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, 4 @@ -248,13 +248,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E lock faceplayer setvar VAR_0x8004, 8 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, 4 @@ -262,7 +262,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E end LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, 4 @@ -288,13 +288,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 lock faceplayer setvar VAR_0x8004, 9 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, 4 @@ -302,7 +302,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, 4 @@ -328,13 +328,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C lock faceplayer setvar VAR_0x8004, 10 - special sub_813BDB4 - compare VAR_0x4095, 0 + special BufferStreakTrainerText + compare VAR_LILYCOVE_FAN_CLUB_STATE, 0 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9 - specialvar VAR_RESULT, sub_813BD60 + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, 4 @@ -342,7 +342,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C end LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, 4 @@ -368,11 +368,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 lock faceplayer setvar VAR_0x8004, 11 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, 4 @@ -380,7 +380,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, 4 @@ -401,11 +401,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 lock faceplayer setvar VAR_0x8004, 12 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, 4 @@ -413,7 +413,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89 - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, 4 @@ -434,11 +434,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 lock faceplayer setvar VAR_0x8004, 14 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, 4 @@ -446,7 +446,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, 4 @@ -467,11 +467,11 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 lock faceplayer setvar VAR_0x8004, 15 - special sub_813BDB4 - specialvar VAR_RESULT, sub_813BD60 + special BufferStreakTrainerText + specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 7 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, 4 @@ -479,7 +479,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19 end LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D - specialvar VAR_RESULT, sub_813BCA8 + specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67 msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, 4 @@ -512,7 +512,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF copyvar VAR_0x800A, VAR_0x8006 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, 4 setvar VAR_0x8004, 14 copyvar VAR_0x8005, VAR_0x800A @@ -532,7 +532,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0 LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, 5 compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 @@ -542,7 +542,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, 4 setvar VAR_0x8004, 14 copyvar VAR_0x8005, VAR_0x800A @@ -557,7 +557,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15 LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText message LilycoveCity_PokemonTrainerFanClub_Text_281C95 waitmessage setvar VAR_0x8004, 2 @@ -568,7 +568,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F case 127, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText copyvar VAR_0x8006, VAR_0x800A copyvar VAR_0x8005, VAR_RESULT special PutFanClubSpecialOnTheAir @@ -577,7 +577,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, 5 compare VAR_RESULT, 1 goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6 @@ -587,14 +587,14 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, 4 release end LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, 4 setflag FLAG_0x0D2 release @@ -602,7 +602,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8 LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED:: @ 821CEED setvar VAR_0x8004, 8 - special sub_813BDB4 + special BufferStreakTrainerText msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, 4 release end diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc index 9c821e14f..d6b4bbd8d 100644 --- a/data/maps/MarineCave_End/scripts.inc +++ b/data/maps/MarineCave_End/scripts.inc @@ -9,7 +9,7 @@ MarineCave_End_MapScript1_23AFEA: @ 823AFEA end MarineCave_End_EventScript_23AFF4:: @ 823AFF4 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, MarineCave_End_EventScript_27374E removeobject 1 @@ -42,7 +42,7 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_TEMP_1, 0 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq MarineCave_End_EventScript_23B084 compare VAR_RESULT, 4 diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index 400a24c24..733581b74 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -409,7 +409,7 @@ MauvilleCity_GameCorner_EventScript_210137:: @ 8210137 msgbox MauvilleCity_GameCorner_Text_210750, 5 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210209 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, MauvilleCity_GameCorner_EventScript_21017C case 1, MauvilleCity_GameCorner_EventScript_2101A6 case 2, MauvilleCity_GameCorner_EventScript_2101D0 @@ -540,7 +540,7 @@ MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 0 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -551,7 +551,7 @@ MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 1 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -562,7 +562,7 @@ MauvilleCity_GameCorner_EventScript_210316:: @ 8210316 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 2 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -573,7 +573,7 @@ MauvilleCity_GameCorner_EventScript_210336:: @ 8210336 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 3 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -584,7 +584,7 @@ MauvilleCity_GameCorner_EventScript_210356:: @ 8210356 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 4 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -595,7 +595,7 @@ MauvilleCity_GameCorner_EventScript_210376:: @ 8210376 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 5 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -606,7 +606,7 @@ MauvilleCity_GameCorner_EventScript_210396:: @ 8210396 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 6 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -617,7 +617,7 @@ MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 7 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -628,7 +628,7 @@ MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 8 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -639,7 +639,7 @@ MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 9 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -650,7 +650,7 @@ MauvilleCity_GameCorner_EventScript_210416:: @ 8210416 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 10 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end @@ -661,7 +661,7 @@ MauvilleCity_GameCorner_EventScript_210436:: @ 8210436 compare VAR_RESULT, 0 goto_eq MauvilleCity_GameCorner_EventScript_210456 setvar VAR_0x8004, 11 - specialvar VAR_RESULT, sub_8139248 + specialvar VAR_RESULT, GetSlotMachineId playslotmachine VAR_RESULT releaseall end diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc index fb76a5fc7..b2267122b 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B .byte 0 MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66 - setrespawn 5 + setrespawn HEAL_LOCATION_MAUVILLE_CITY call MauvilleCity_PokemonCenter_1F_EventScript_2718DE goto MauvilleCity_PokemonCenter_1F_EventScript_210E74 end diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc index 7fd2e61a0..2ff03b7f3 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F .byte 0 MossdeepCity_PokemonCenter_1F_MapScript1_22224A: @ 822224A - setrespawn 9 + setrespawn HEAL_LOCATION_MOSSDEEP_CITY end MossdeepCity_PokemonCenter_1F_EventScript_22224E:: @ 822224E diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 28135bb1e..5abd7c176 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -765,7 +765,7 @@ MtChimney_Text_22FFC0: @ 822FFC0 .string "It makes no response whatsoever.$" MtChimney_Text_22FFFA: @ 822FFFA - .string "{0x7A} JAGGED PATH\n" + .string "{DOWN_ARROW} JAGGED PATH\n" .string "LAVARIDGE TOWN AHEAD$" MtChimney_Text_23001D: @ 823001D diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc index cce93e624..febe106bf 100644 --- a/data/maps/NavelRock_Bottom/scripts.inc +++ b/data/maps/NavelRock_Bottom/scripts.inc @@ -26,7 +26,7 @@ NavelRock_Bottom_MapScript1_269284: @ 8269284 end NavelRock_Bottom_EventScript_26928E:: @ 826928E - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NavelRock_Bottom_EventScript_27374E removeobject 1 @@ -64,7 +64,7 @@ NavelRock_Bottom_EventScript_2692A2:: @ 82692A2 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NavelRock_Bottom_EventScript_269336 compare VAR_RESULT, 4 diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc index 67ddbc373..4310529dd 100644 --- a/data/maps/NavelRock_Top/scripts.inc +++ b/data/maps/NavelRock_Top/scripts.inc @@ -29,7 +29,7 @@ NavelRock_Top_MapScript1_269151: @ 8269151 end NavelRock_Top_EventScript_26915B:: @ 826915B - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NavelRock_Top_EventScript_27374E removeobject 1 @@ -69,7 +69,7 @@ NavelRock_Top_EventScript_26916F:: @ 826916F waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_LAST_TALKED, 1 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NavelRock_Top_EventScript_269217 compare VAR_RESULT, 4 diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc index 81b21287d..e6d80c33d 100644 --- a/data/maps/NewMauville_Inside/scripts.inc +++ b/data/maps/NewMauville_Inside/scripts.inc @@ -14,7 +14,7 @@ NewMauville_Inside_MapScript1_2373E7: @ 82373E7 end NewMauville_Inside_EventScript_237407:: @ 8237407 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, NewMauville_Inside_EventScript_27374E removeobject VAR_LAST_TALKED @@ -193,7 +193,7 @@ NewMauville_Inside_EventScript_2377AF:: @ 82377AF setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_2377F3 compare VAR_RESULT, 4 @@ -220,7 +220,7 @@ NewMauville_Inside_EventScript_2377FC:: @ 82377FC setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_237840 compare VAR_RESULT, 4 @@ -247,7 +247,7 @@ NewMauville_Inside_EventScript_237849:: @ 8237849 setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq NewMauville_Inside_EventScript_23788D compare VAR_RESULT, 4 diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc index ece540e70..e99e628a6 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006 .byte 0 OldaleTown_PokemonCenter_1F_MapScript1_1FC011: @ 81FC011 - setrespawn 14 + setrespawn HEAL_LOCATION_OLDALE_TOWN call OldaleTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc index 0e87677e6..21345242d 100644 --- a/data/maps/PacifidlogTown_House2/scripts.inc +++ b/data/maps/PacifidlogTown_House2/scripts.inc @@ -25,7 +25,7 @@ PacifidlogTown_House2_EventScript_203792:: @ 8203792 PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE checkflag FLAG_0x12B goto_if 0, PacifidlogTown_House2_EventScript_27374E - specialvar VAR_RESULT, sub_813970C + specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable compare VAR_RESULT, 0 call_if 1, PacifidlogTown_House2_EventScript_203812 return @@ -49,7 +49,7 @@ PacifidlogTown_House2_EventScript_203816:: @ 8203816 compare VAR_RESULT, 0 goto_eq PacifidlogTown_House2_EventScript_272054 setflag FLAG_0x12B - special sub_8139754 + special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, 4 release end @@ -65,13 +65,13 @@ PacifidlogTown_House2_EventScript_20384F:: @ 820384F compare VAR_RESULT, 0 goto_eq PacifidlogTown_House2_EventScript_272054 setflag FLAG_0x12B - special sub_8139754 + special SetPacifidlogTMReceivedDay msgbox PacifidlogTown_House2_Text_203A85, 4 release end PacifidlogTown_House2_EventScript_20387E:: @ 820387E - specialvar VAR_RESULT, sub_813970C + specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable buffernumberstring 0, VAR_RESULT msgbox PacifidlogTown_House2_Text_203AF4, 4 release diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc index fd34cd2aa..65af1cdc7 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7 .byte 0 PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2: @ 82034B2 - setrespawn 19 + setrespawn HEAL_LOCATION_PACIFIDLOG_TOWN end PacifidlogTown_PokemonCenter_1F_EventScript_2034B6:: @ 82034B6 diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc index f4a31854e..130a43de9 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8 .byte 0 PetalburgCity_PokemonCenter_1F_MapScript1_2079F3: @ 82079F3 - setrespawn 3 + setrespawn HEAL_LOCATION_PETALBURG_CITY call PetalburgCity_PokemonCenter_1F_EventScript_2718DE end @@ -35,11 +35,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C end PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38 - compare VAR_FIRST_POKE, 0 + compare VAR_STARTER_MON, 0 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A5B - compare VAR_FIRST_POKE, 1 + compare VAR_STARTER_MON, 1 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A64 - compare VAR_FIRST_POKE, 2 + compare VAR_STARTER_MON, 2 call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A6D release end diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index 9593ae59e..97e832761 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -297,5 +297,5 @@ Route101_Text_1EC04A: @ 81EC04A Route101_Text_1EC0C8: @ 81EC0C8 .string "ROUTE 101\n" - .string "{0x79} OLDALE TOWN$" + .string "{UP_ARROW} OLDALE TOWN$" diff --git a/data/maps/Route102/scripts.inc b/data/maps/Route102/scripts.inc index cd817df35..d25794242 100644 --- a/data/maps/Route102/scripts.inc +++ b/data/maps/Route102/scripts.inc @@ -112,8 +112,8 @@ Route102_Text_1EC32E: @ 81EC32E Route102_Text_1EC35B: @ 81EC35B .string "ROUTE 102\n" - .string "{0x7C} OLDALE TOWN$" + .string "{RIGHT_ARROW} OLDALE TOWN$" Route102_Text_1EC373: @ 81EC373 .string "ROUTE 102\n" - .string "{0x7B} PETALBURG CITY$" + .string "{LEFT_ARROW} PETALBURG CITY$" diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index 8bf597902..6674662f7 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -38,7 +38,7 @@ Route103_EventScript_1EC3DA:: @ 81EC3DA applymovement 2, Route103_Movement_27259A waitmovement 0 msgbox Route103_Text_1EC7DE, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route103_EventScript_1EC48E case 1, Route103_EventScript_1EC49E case 2, Route103_EventScript_1EC4AE @@ -55,7 +55,7 @@ Route103_EventScript_1EC434:: @ 81EC434 applymovement 2, Route103_Movement_27259A waitmovement 0 msgbox Route103_Text_1EC9CE, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route103_EventScript_1EC4BE case 1, Route103_EventScript_1EC4CE case 2, Route103_EventScript_1EC4DE @@ -364,5 +364,5 @@ Route103_Text_1ECBB5: @ 81ECBB5 Route103_Text_1ECC1A: @ 81ECC1A .string "ROUTE 103\n" - .string "{0x7A} OLDALE TOWN$" + .string "{DOWN_ARROW} OLDALE TOWN$" diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 83cfe5d92..9b45844f0 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -153,7 +153,7 @@ Route104_EventScript_1ECDD0:: @ 81ECDD0 Route104_EventScript_1ECDED:: @ 81ECDED msgbox Route104_Text_1EDDDB, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route104_EventScript_1ECE36 case 1, Route104_EventScript_1ECE49 case 2, Route104_EventScript_1ECE5C @@ -230,7 +230,7 @@ Route104_EventScript_1ECEEC:: @ 81ECEEC Route104_EventScript_1ECF09:: @ 81ECF09 msgbox Route104_Text_1EE0C7, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route104_EventScript_1ECF4D case 1, Route104_EventScript_1ECF60 case 2, Route104_EventScript_1ECF73 @@ -1115,11 +1115,11 @@ Route104_Text_1EDA8C: @ 81EDA8C Route104_Text_1EDAA1: @ 81EDAA1 .string "ROUTE 1O4\n" - .string "{0x7C} PETALBURG CITY$" + .string "{RIGHT_ARROW} PETALBURG CITY$" Route104_Text_1EDABC: @ 81EDABC .string "ROUTE 1O4\n" - .string "{0x79} RUSTBORO CITY$" + .string "{UP_ARROW} RUSTBORO CITY$" Route104_Text_1EDAD6: @ 81EDAD6 .string "PRETTY PETAL FLOWER SHOP$" diff --git a/data/maps/Route110/events.inc b/data/maps/Route110/events.inc index 6e6d17d9a..f4875cc6c 100644 --- a/data/maps/Route110/events.inc +++ b/data/maps/Route110/events.inc @@ -45,8 +45,8 @@ Route110_MapWarps: @ 8529050 warp_def 19, 88, 0, 2, MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE Route110_MapCoordEvents: @ 8529080 - coord_event 28, 92, 3, VAR_0x40A9, 2, Route110_EventScript_1EF661 - coord_event 29, 92, 3, VAR_0x40A9, 2, Route110_EventScript_1EF661 + coord_event 28, 92, 3, VAR_CYCLING_CHALLENGE_STATE, 2, Route110_EventScript_1EF661 + coord_event 29, 92, 3, VAR_CYCLING_CHALLENGE_STATE, 2, Route110_EventScript_1EF661 coord_event 33, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF74D coord_event 34, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF758 coord_event 35, 56, 3, VAR_0x4069, 0, Route110_EventScript_1EF763 diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index 40d6a2e69..fe07de8dc 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -11,7 +11,7 @@ Route110_MapScript1_1EF279: @ 81EF279 Route110_MapScript1_1EF27D: @ 81EF27D call Route110_EventScript_271ED7 call Route110_EventScript_271EFB - compare VAR_0x40A9, 1 + compare VAR_CYCLING_CHALLENGE_STATE, 1 call_if 1, Route110_EventScript_1EF293 end @@ -20,12 +20,12 @@ Route110_EventScript_1EF293:: @ 81EF293 return Route110_MapScript2_1EF297: @ 81EF297 - map_script_2 VAR_0x40A9, 1, Route110_EventScript_1EF2A1 + map_script_2 VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_1EF2A1 .2byte 0 Route110_EventScript_1EF2A1:: @ 81EF2A1 special Special_BeginCyclingRoadChallenge - setvar VAR_0x40A9, 2 + setvar VAR_CYCLING_CHALLENGE_STATE, 2 return Route110_EventScript_1EF2AA:: @ 81EF2AA @@ -148,7 +148,7 @@ Route110_EventScript_1EF3B7:: @ 81EF3B7 specialvar VAR_RESULT, GetPlayerAvatarBike compare VAR_RESULT, 1 goto_eq Route110_EventScript_1EF3E8 - compare VAR_0x40A9, 0 + compare VAR_CYCLING_CHALLENGE_STATE, 0 goto_eq Route110_EventScript_1EF3DE msgbox Route110_Text_1F06FB, 4 release @@ -368,7 +368,7 @@ Route110_EventScript_1EF735:: @ 81EF735 end Route110_EventScript_1EF743:: @ 81EF743 - setvar VAR_0x40A9, 3 + setvar VAR_CYCLING_CHALLENGE_STATE, 3 savebgm MUS_DUMMY fadedefaultbgm return @@ -426,7 +426,7 @@ Route110_EventScript_1EF7E6:: @ 81EF7E6 Route110_EventScript_1EF7EB:: @ 81EF7EB msgbox Route110_Text_1EFC48, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route110_EventScript_1EF81A case 1, Route110_EventScript_1EF82A case 2, Route110_EventScript_1EF83A @@ -456,7 +456,7 @@ Route110_EventScript_1EF84A:: @ 81EF84A Route110_EventScript_1EF865:: @ 81EF865 msgbox Route110_Text_1EFE3F, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route110_EventScript_1EF894 case 1, Route110_EventScript_1EF8A4 case 2, Route110_EventScript_1EF8B4 @@ -951,7 +951,7 @@ Route110_Text_1F0755: @ 81F0755 Route110_Text_1F0812: @ 81F0812 .string "ROUTE 110\n" - .string "{0x7A} SLATEPORT CITY$" + .string "{DOWN_ARROW} SLATEPORT CITY$" Route110_Text_1F082D: @ 81F082D .string "SEASIDE CYCLING ROAD$" @@ -965,14 +965,14 @@ Route110_Text_1F0842: @ 81F0842 Route110_Text_1F08CD: @ 81F08CD .string "ROUTE 110\n" - .string "{0x7B} ROUTE 103$" + .string "{LEFT_ARROW} ROUTE 103$" Route110_Text_1F08E3: @ 81F08E3 .string "SEASIDE PARKING$" Route110_Text_1F08F3: @ 81F08F3 .string "ROUTE 110\n" - .string "{0x79} MAUVILLE CITY$" + .string "{UP_ARROW} MAUVILLE CITY$" Route110_Text_1F090D: @ 81F090D .string "TRAINER TIPS\p" @@ -987,7 +987,7 @@ Route110_Text_1F0992: @ 81F0992 .string "by pressing SELECT.$" Route110_Text_1F09DB: @ 81F09DB - .string "“Three steps {0x7C} and two steps {0x79}\n" + .string "“Three steps {RIGHT_ARROW} and two steps {UP_ARROW}\n" .string "to reach the wondrous TRICK HOUSE.”$" Route110_Text_1F0A1E: @ 81F0A1E diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc index 9f99cf44f..b38bbf896 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc @@ -3,14 +3,14 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: @ 826EBA1 .byte 0 Route110_SeasideCyclingRoadSouthEntrance_MapScript1_26EBA7: @ 826EBA7 - compare VAR_0x40A9, 3 + compare VAR_CYCLING_CHALLENGE_STATE, 3 call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE - compare VAR_0x40A9, 2 + compare VAR_CYCLING_CHALLENGE_STATE, 2 call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE end Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE:: @ 826EBBE - setvar VAR_0x40A9, 1 + setvar VAR_CYCLING_CHALLENGE_STATE, 1 return Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBC4:: @ 826EBC4 @@ -33,7 +33,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0:: @ 826EBD0 end Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6 - setvar VAR_0x40A9, 1 + setvar VAR_CYCLING_CHALLENGE_STATE, 1 return Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC @@ -50,7 +50,7 @@ Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11: @ 826EC11 Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EC13:: @ 826EC13 lockall - setvar VAR_0x40A9, 0 + setvar VAR_CYCLING_CHALLENGE_STATE, 0 clearflag FLAG_SYS_CYCLING_ROAD setvar VAR_TEMP_1, 0 releaseall diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index fcbf32c91..6be0eba1d 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -676,7 +676,7 @@ Route111_Text_1F186E: @ 81F186E Route111_Text_1F18CE: @ 81F18CE .string "ROUTE 111\n" - .string "{0x7A} MAUVILLE CITY$" + .string "{DOWN_ARROW} MAUVILLE CITY$" Route111_Text_1F18E8: @ 81F18E8 .string "“Our family’s hearts beat as one!”\n" @@ -684,11 +684,11 @@ Route111_Text_1F18E8: @ 81F18E8 Route111_Text_1F1921: @ 81F1921 .string "ROUTE 111\n" - .string "{0x7B} ROUTE 112$" + .string "{LEFT_ARROW} ROUTE 112$" Route111_Text_1F1937: @ 81F1937 .string "ROUTE 111\n" - .string "{0x7B} ROUTE 113$" + .string "{LEFT_ARROW} ROUTE 113$" Route111_Text_1F194D: @ 81F194D .string "OLD LADY’S REST STOP\n" @@ -750,7 +750,7 @@ Route111_Text_1F1CCA: @ 81F1CCA .string "the bike shop in MAUVILLE.$" Route111_Text_1F1D61: @ 81F1D61 - .string "{0x7C} TRAINER HILL ENTRANCE\p" + .string "{RIGHT_ARROW} TRAINER HILL ENTRANCE\p" .string "“Scale the heights, you hot-blooded\n" .string "TRAINERS!”$" diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc index 0ad5ee47c..4f7e20b94 100644 --- a/data/maps/Route112/scripts.inc +++ b/data/maps/Route112/scripts.inc @@ -133,7 +133,7 @@ Route112_Text_1F204E: @ 81F204E Route112_Text_1F20C1: @ 81F20C1 .string "MT. CHIMNEY CABLE CAR\n" - .string "“A short walk {0x79} way!”$" + .string "“A short walk {UP_ARROW} way!”$" Route112_Text_1F20ED: @ 81F20ED .string "MT. CHIMNEY\p" @@ -142,5 +142,5 @@ Route112_Text_1F20ED: @ 81F20ED Route112_Text_1F2138: @ 81F2138 .string "ROUTE 112\n" - .string "{0x7B} LAVARIDGE TOWN$" + .string "{LEFT_ARROW} LAVARIDGE TOWN$" diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc index 63dc6c47f..ce2c4b47d 100644 --- a/data/maps/Route113/scripts.inc +++ b/data/maps/Route113/scripts.inc @@ -157,11 +157,11 @@ Route113_Text_1F23CA: @ 81F23CA Route113_Text_1F2440: @ 81F2440 .string "ROUTE 113\n" - .string "{0x7C} ROUTE 111$" + .string "{RIGHT_ARROW} ROUTE 111$" Route113_Text_1F2456: @ 81F2456 .string "ROUTE 113\n" - .string "{0x7B} FALLARBOR TOWN$" + .string "{LEFT_ARROW} FALLARBOR TOWN$" Route113_Text_1F2471: @ 81F2471 .string "TRAINER TIPS\p" diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc index 2d4f7c2e3..967f2f9ce 100644 --- a/data/maps/Route115/scripts.inc +++ b/data/maps/Route115/scripts.inc @@ -154,7 +154,7 @@ Route115_Text_1F2B55: @ 81F2B55 Route115_Text_1F2BC9: @ 81F2BC9 .string "ROUTE 115\n" - .string "{0x7A} RUSTBORO CITY$" + .string "{DOWN_ARROW} RUSTBORO CITY$" Route115_Text_1F2BE3: @ 81F2BE3 .string "METEOR FALLS\n" diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc index 68a32c3b5..769d254a5 100644 --- a/data/maps/Route116/scripts.inc +++ b/data/maps/Route116/scripts.inc @@ -169,7 +169,7 @@ Route116_EventScript_1F2DB6:: @ 81F2DB6 checkitem ITEM_BLACK_GLASSES, 1 compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2DF1 - specialvar VAR_RESULT, sub_8139634 + specialvar VAR_RESULT, FoundBlackGlasses compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2DE2 msgbox Route116_Text_1F3657, 4 @@ -185,7 +185,7 @@ Route116_EventScript_1F2DE2:: @ 81F2DE2 Route116_EventScript_1F2DF1:: @ 81F2DF1 msgbox Route116_Text_1F3657, 4 msgbox Route116_Text_1F3688, 4 - specialvar VAR_RESULT, sub_8139634 + specialvar VAR_RESULT, FoundBlackGlasses compare VAR_RESULT, 1 goto_eq Route116_EventScript_1F2E1B msgbox Route116_Text_1F375E, 4 @@ -482,7 +482,7 @@ Route116_Text_1F375E: @ 81F375E Route116_Text_1F379D: @ 81F379D .string "ROUTE 116\n" - .string "{0x7B} RUSTBORO CITY$" + .string "{LEFT_ARROW} RUSTBORO CITY$" Route116_Text_1F37B7: @ 81F37B7 .string "RUSTURF TUNNEL\n" diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc index f9dbbd3f2..b2c009337 100644 --- a/data/maps/Route116_TunnelersRestHouse/scripts.inc +++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc @@ -17,7 +17,7 @@ Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863 Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq Route116_TunnelersRestHouse_EventScript_22B881 msgbox Route116_TunnelersRestHouse_Text_22BAAF, 4 release diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc index 55a7b910e..eb04664bd 100644 --- a/data/maps/Route117/scripts.inc +++ b/data/maps/Route117/scripts.inc @@ -220,11 +220,11 @@ Route117_Text_1F3D41: @ 81F3D41 Route117_Text_1F3D58: @ 81F3D58 .string "ROUTE 117\n" - .string "{0x7B} VERDANTURF TOWN$" + .string "{LEFT_ARROW} VERDANTURF TOWN$" Route117_Text_1F3D74: @ 81F3D74 .string "ROUTE 117\n" - .string "{0x7C} MAUVILLE CITY$" + .string "{RIGHT_ARROW} MAUVILLE CITY$" Route117_Text_1F3D8E: @ 81F3D8E .string "POKéMON DAY CARE\n" diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc index 818111b81..09fad07e7 100644 --- a/data/maps/Route118/scripts.inc +++ b/data/maps/Route118/scripts.inc @@ -310,9 +310,9 @@ Route118_Text_1F4367: @ 81F4367 Route118_Text_1F43F4: @ 81F43F4 .string "ROUTE 118\n" - .string "{0x7B} MAUVILLE CITY$" + .string "{LEFT_ARROW} MAUVILLE CITY$" Route118_Text_1F440E: @ 81F440E .string "ROUTE 118\n" - .string "{0x79} ROUTE 119$" + .string "{UP_ARROW} ROUTE 119$" diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index a4b6a5fb1..f2e52d50c 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -9,7 +9,7 @@ Route119_MapScript1_1F442F: @ 81F442F end Route119_EventScript_1F4439:: @ 81F4439 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route119_EventScript_27374E removeobject VAR_LAST_TALKED @@ -80,7 +80,7 @@ Route119_EventScript_1F4506:: @ 81F4506 Route119_EventScript_1F450B:: @ 81F450B msgbox Route119_Text_1F49FD, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route119_EventScript_1F453A case 1, Route119_EventScript_1F454A case 2, Route119_EventScript_1F455A @@ -110,7 +110,7 @@ Route119_EventScript_1F456A:: @ 81F456A Route119_EventScript_1F4585:: @ 81F4585 msgbox Route119_Text_1F4C9A, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, Route119_EventScript_1F45B4 case 1, Route119_EventScript_1F45C4 case 2, Route119_EventScript_1F45D4 @@ -622,7 +622,7 @@ Route119_Text_1F52B9: @ 81F52B9 Route119_Text_1F530E: @ 81F530E .string "ROUTE 119\n" - .string "{0x7C} FORTREE CITY$" + .string "{RIGHT_ARROW} FORTREE CITY$" Route119_Text_1F5327: @ 81F5327 .string "WEATHER INSTITUTE$" diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index 7d6876aeb..0bcff1a93 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -25,7 +25,7 @@ Route120_EventScript_1F5406:: @ 81F5406 return Route120_EventScript_1F5449:: @ 81F5449 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route120_EventScript_27374E removeobject 30 @@ -33,7 +33,7 @@ Route120_EventScript_1F5449:: @ 81F5449 return Route120_EventScript_1F5460:: @ 81F5460 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, Route120_EventScript_27374E removeobject VAR_LAST_TALKED @@ -220,7 +220,7 @@ Route120_EventScript_1F568B:: @ 81F568B setflag FLAG_SYS_CTRL_OBJ_DELETE dowildbattle clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq Route120_EventScript_1F571C compare VAR_RESULT, 4 @@ -459,8 +459,8 @@ Route119_Text_1F5D63: @ 81F5D63 Route120_Text_1F5DCB: @ 81F5DCB .string "ROUTE 120\n" - .string "{0x7B} FORTREE CITY$" + .string "{LEFT_ARROW} FORTREE CITY$" Route120_Text_1F5DE4: @ 81F5DE4 - .string "{0x7C} ROUTE 121\n" - .string "{0x7B} ROUTE 120$" + .string "{RIGHT_ARROW} ROUTE 121\n" + .string "{LEFT_ARROW} ROUTE 120$" diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc index b622a931b..43e48b627 100644 --- a/data/maps/Route123/scripts.inc +++ b/data/maps/Route123/scripts.inc @@ -201,11 +201,11 @@ Route123_Text_1F64CF: @ 81F64CF .string "POKéMON. I’m like a tree doctor.$" Route123_Text_1F6511: @ 81F6511 - .string "{0x7C} ROUTE 123\n" - .string "{0x7B} ROUTE 118$" + .string "{RIGHT_ARROW} ROUTE 123\n" + .string "{LEFT_ARROW} ROUTE 118$" Route123_Text_1F6529: @ 81F6529 - .string "{0x79} MT. PYRE\n" + .string "{UP_ARROW} MT. PYRE\n" .string "“Forbidden to the faint of heart.”$" Route123_Text_1F6557: @ 81F6557 diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc index 0892b216a..7e64ecaff 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc +++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc @@ -339,11 +339,11 @@ Route124_DivingTreasureHuntersHouse_Text_2711D8: @ 82711D8 .string "Well, if you change your mind, come back.$" Route124_DivingTreasureHuntersHouse_Text_271217: @ 8271217 - .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n" - .string "{CLEAR_TO}{0x0f}RED SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x7b}FIRE STONE{CLEAR_TO}{0xc8}\p" - .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n" - .string "{CLEAR_TO}{0x06}YELLOW SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x73}THUNDERSTONE{CLEAR_TO}{0xc8}\p" - .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n" - .string "{CLEAR_TO}{0x0c}BLUE SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x79}WATER STONE{CLEAR_TO}{0xc8}\p" - .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n" - .string "{CLEAR_TO}{0x08}GREEN SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x7b}LEAF STONE$" + .string "{CLEAR_TO 0x0a}Wanted item{CLEAR_TO 0x7c}Trade item\n" + .string "{CLEAR_TO 0x0f}RED SHARD{CLEAR_TO 0x59}{LEFT_ARROW}{RIGHT_ARROW}{CLEAR_TO 0x7b}FIRE STONE{CLEAR_TO 0xc8}\p" + .string "{CLEAR_TO 0x0a}Wanted item{CLEAR_TO 0x7c}Trade item\n" + .string "{CLEAR_TO 0x06}YELLOW SHARD{CLEAR_TO 0x59}{LEFT_ARROW}{RIGHT_ARROW}{CLEAR_TO 0x73}THUNDERSTONE{CLEAR_TO 0xc8}\p" + .string "{CLEAR_TO 0x0a}Wanted item{CLEAR_TO 0x7c}Trade item\n" + .string "{CLEAR_TO 0x0c}BLUE SHARD{CLEAR_TO 0x59}{LEFT_ARROW}{RIGHT_ARROW}{CLEAR_TO 0x79}WATER STONE{CLEAR_TO 0xc8}\p" + .string "{CLEAR_TO 0x0a}Wanted item{CLEAR_TO 0x7c}Trade item\n" + .string "{CLEAR_TO 0x08}GREEN SHARD{CLEAR_TO 0x59}{LEFT_ARROW}{RIGHT_ARROW}{CLEAR_TO 0x7b}LEAF STONE$" diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 6eb8d48bc..f4c8d5434 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -306,7 +306,7 @@ RustboroCity_EventScript_1E09CD:: @ 81E09CD clearflag FLAG_0x2DC setflag FLAG_0x08E setvar VAR_0x405A, 2 - setvar VAR_0x409A, 2 + setvar VAR_RUSTURF_TUNNEL_STATE, 2 setvar VAR_0x406F, 1 clearflag FLAG_0x37B clearflag FLAG_0x370 @@ -869,7 +869,7 @@ RustboroCity_EventScript_1E1070:: @ 81E1070 RustboroCity_EventScript_1E1092:: @ 81E1092 msgbox RustboroCity_Text_1E1C84, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, RustboroCity_EventScript_1E10DB case 1, RustboroCity_EventScript_1E10EE case 2, RustboroCity_EventScript_1E1101 @@ -940,7 +940,7 @@ RustboroCity_EventScript_1E1174:: @ 81E1174 RustboroCity_EventScript_1E1191:: @ 81E1191 msgbox RustboroCity_Text_1E1FA9, 4 - switch VAR_FIRST_POKE + switch VAR_STARTER_MON case 0, RustboroCity_EventScript_1E11D5 case 1, RustboroCity_EventScript_1E11E8 case 2, RustboroCity_EventScript_1E11FB diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc index a9156d5aa..acf33e647 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62 .byte 0 RustboroCity_PokemonCenter_1F_MapScript1_214D6D: @ 8214D6D - setrespawn 6 + setrespawn HEAL_LOCATION_RUSTBORO_CITY call RustboroCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/RusturfTunnel/events.inc b/data/maps/RusturfTunnel/events.inc index d0d56e6fa..77b6f7a61 100644 --- a/data/maps/RusturfTunnel/events.inc +++ b/data/maps/RusturfTunnel/events.inc @@ -17,8 +17,8 @@ RusturfTunnel_MapWarps: @ 85342B4 RusturfTunnel_MapCoordEvents: @ 85342CC coord_event 23, 4, 3, 0, 0, RusturfTunnel_EventScript_22D071 - coord_event 9, 4, 3, VAR_0x409A, 2, RusturfTunnel_EventScript_22D083 - coord_event 9, 5, 3, VAR_0x409A, 2, RusturfTunnel_EventScript_22D083 + coord_event 9, 4, 3, VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_22D083 + coord_event 9, 5, 3, VAR_RUSTURF_TUNNEL_STATE, 2, RusturfTunnel_EventScript_22D083 coord_event 25, 4, 3, 0, 0, RusturfTunnel_EventScript_22D077 coord_event 25, 5, 3, 0, 0, RusturfTunnel_EventScript_22D07D diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index 5e42be78d..33e87bda5 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -4,12 +4,12 @@ RusturfTunnel_MapScripts:: @ 822CE27 .byte 0 RusturfTunnel_MapScript2_22CE32: @ 822CE32 - map_script_2 VAR_0x409A, 4, RusturfTunnel_EventScript_22CEAE - map_script_2 VAR_0x409A, 5, RusturfTunnel_EventScript_22CEAE + map_script_2 VAR_RUSTURF_TUNNEL_STATE, 4, RusturfTunnel_EventScript_22CEAE + map_script_2 VAR_RUSTURF_TUNNEL_STATE, 5, RusturfTunnel_EventScript_22CEAE .2byte 0 RusturfTunnel_MapScript1_22CE44: @ 822CE44 - compare VAR_0x409A, 2 + compare VAR_RUSTURF_TUNNEL_STATE, 2 call_if 1, RusturfTunnel_EventScript_22CE50 end @@ -288,7 +288,7 @@ RusturfTunnel_EventScript_22D083:: @ 822D083 waitmovement 0 moveobjectoffscreen 6 moveobjectoffscreen 7 - setvar VAR_0x409A, 3 + setvar VAR_RUSTURF_TUNNEL_STATE, 3 releaseall end diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index 2e1b4cfa4..8fcd6e59b 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -4,15 +4,15 @@ SSTidalCorridor_MapScripts:: @ 823BFCF SSTidalCorridor_MapScript2_23BFD5: @ 823BFD5 map_script_2 VAR_0x40D4, 0, SSTidalCorridor_EventScript_23C219 - map_script_2 VAR_PORTHOLE, 1, SSTidalCorridor_EventScript_23BFFF - map_script_2 VAR_PORTHOLE, 5, SSTidalCorridor_EventScript_23C015 - map_script_2 VAR_PORTHOLE, 9, SSTidalCorridor_EventScript_23C067 - map_script_2 VAR_PORTHOLE, 10, SSTidalCorridor_EventScript_23C07D + map_script_2 VAR_PORTHOLE_STATE, 1, SSTidalCorridor_EventScript_23BFFF + map_script_2 VAR_PORTHOLE_STATE, 5, SSTidalCorridor_EventScript_23C015 + map_script_2 VAR_PORTHOLE_STATE, 9, SSTidalCorridor_EventScript_23C067 + map_script_2 VAR_PORTHOLE_STATE, 10, SSTidalCorridor_EventScript_23C07D .2byte 0 SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF special SetSSTidalFlag - setvar VAR_PORTHOLE, 2 + setvar VAR_PORTHOLE_STATE, 2 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C462, 4 @@ -20,7 +20,7 @@ SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF end SSTidalCorridor_EventScript_23C015:: @ 823C015 - setvar VAR_PORTHOLE, 6 + setvar VAR_PORTHOLE_STATE, 6 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C4E3, 4 @@ -29,28 +29,28 @@ SSTidalCorridor_EventScript_23C015:: @ 823C015 SSTidalRooms_EventScript_23C028:: @ 823C028 special SetSSTidalFlag - setvar VAR_PORTHOLE, 7 + setvar VAR_PORTHOLE_STATE, 7 playse SE_PINPON msgbox SSTidalRooms_Text_23C462, 4 return SSTidalRooms_EventScript_23C03C:: @ 823C03C special ResetSSTidalFlag - setvar VAR_PORTHOLE, 4 + setvar VAR_PORTHOLE_STATE, 4 playse SE_PINPON msgbox SSTidalRooms_Text_23C553, 4 return SSTidalCorridor_EventScript_23C050:: @ 823C050 - compare VAR_PORTHOLE, 2 + compare VAR_PORTHOLE_STATE, 2 goto_eq SSTidalCorridor_EventScript_23C067 - compare VAR_PORTHOLE, 7 + compare VAR_PORTHOLE_STATE, 7 goto_eq SSTidalCorridor_EventScript_23C07D end SSTidalCorridor_EventScript_23C067:: @ 823C067 special ResetSSTidalFlag - setvar VAR_PORTHOLE, 3 + setvar VAR_PORTHOLE_STATE, 3 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C4E3, 4 @@ -59,7 +59,7 @@ SSTidalCorridor_EventScript_23C067:: @ 823C067 SSTidalCorridor_EventScript_23C07D:: @ 823C07D special ResetSSTidalFlag - setvar VAR_PORTHOLE, 8 + setvar VAR_PORTHOLE_STATE, 8 lockall playse SE_PINPON msgbox SSTidalCorridor_Text_23C50F, 4 @@ -68,13 +68,13 @@ SSTidalCorridor_EventScript_23C07D:: @ 823C07D SSTidalRooms_EventScript_23C093:: @ 823C093 special ResetSSTidalFlag - setvar VAR_PORTHOLE, 8 + setvar VAR_PORTHOLE_STATE, 8 playse SE_PINPON msgbox SSTidalRooms_Text_23C50F, 4 return SSTidalRooms_EventScript_23C0A7:: @ 823C0A7 - switch VAR_PORTHOLE + switch VAR_PORTHOLE_STATE case 2, SSTidalRooms_EventScript_23C03C case 3, SSTidalRooms_EventScript_23C03C case 6, SSTidalRooms_EventScript_23C028 @@ -114,16 +114,16 @@ SSTidalCorridor_EventScript_23C110:: @ 823C110 SSTidalCorridor_EventScript_23C119:: @ 823C119 lock faceplayer - compare VAR_PORTHOLE, 4 + compare VAR_PORTHOLE_STATE, 4 goto_eq SSTidalCorridor_EventScript_23C13B - compare VAR_PORTHOLE, 8 + compare VAR_PORTHOLE_STATE, 8 goto_eq SSTidalCorridor_EventScript_23C15A msgbox SSTidalCorridor_Text_23C596, 4 release end SSTidalCorridor_EventScript_23C13B:: @ 823C13B - setrespawn 8 + setrespawn HEAL_LOCATION_LILYCOVE_CITY msgbox SSTidalCorridor_Text_23C64F, 4 checkflag FLAG_0x104 call_if 1, SSTidalCorridor_EventScript_23C179 @@ -133,7 +133,7 @@ SSTidalCorridor_EventScript_23C13B:: @ 823C13B end SSTidalCorridor_EventScript_23C15A:: @ 823C15A - setrespawn 4 + setrespawn HEAL_LOCATION_SLATEPORT_CITY msgbox SSTidalCorridor_Text_23C64F, 4 checkflag FLAG_0x104 call_if 1, SSTidalCorridor_EventScript_23C179 @@ -148,9 +148,9 @@ SSTidalCorridor_EventScript_23C179:: @ 823C179 SSTidalCorridor_EventScript_23C17D:: @ 823C17D lockall - compare VAR_PORTHOLE, 2 + compare VAR_PORTHOLE_STATE, 2 goto_eq SSTidalCorridor_EventScript_23C19E - compare VAR_PORTHOLE, 7 + compare VAR_PORTHOLE_STATE, 7 goto_eq SSTidalCorridor_EventScript_23C19E msgbox SSTidalCorridor_Text_23C6C3, 4 releaseall diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 334acc8ac..690464698 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -10,7 +10,7 @@ SkyPillar_Top_MapScript1_2396C8: @ 82396C8 end SkyPillar_Top_EventScript_2396D2:: @ 82396D2 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, SkyPillar_Top_EventScript_27374E removeobject VAR_LAST_TALKED @@ -56,7 +56,7 @@ SkyPillar_Top_EventScript_239722:: @ 8239722 special BattleSetup_StartLegendaryBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq SkyPillar_Top_EventScript_239768 compare VAR_RESULT, 4 diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc index e1f373bb2..58c318d37 100644 --- a/data/maps/SlateportCity_Harbor/scripts.inc +++ b/data/maps/SlateportCity_Harbor/scripts.inc @@ -203,7 +203,7 @@ SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92 msgbox SlateportCity_Harbor_Text_20CF93, 5 compare VAR_RESULT, 0 goto_eq SlateportCity_Harbor_EventScript_20CBDD - setvar VAR_PORTHOLE, 1 + setvar VAR_PORTHOLE_STATE, 1 call SlateportCity_Harbor_EventScript_20CBE9 warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10 waitstate diff --git a/data/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc index 8ecc859f7..745cc6627 100644 --- a/data/maps/SlateportCity_House1/scripts.inc +++ b/data/maps/SlateportCity_House1/scripts.inc @@ -34,7 +34,7 @@ SlateportCity_House1_EventScript_209AF3:: @ 8209AF3 special TV_CheckMonOTIDEqualsPlayerID compare VAR_RESULT, 1 goto_eq SlateportCity_House1_EventScript_209B50 - specialvar VAR_RESULT, sub_8139770 + specialvar VAR_RESULT, MonOTNameMatchesPlayer special TV_CopyNicknameToStringVar1AndEnsureTerminated compare VAR_RESULT, 1 goto_eq SlateportCity_House1_EventScript_209B50 diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc index 404804c57..dd62280bb 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF .byte 0 SlateportCity_PokemonCenter_1F_MapScript1_20DACA: @ 820DACA - setrespawn 4 + setrespawn HEAL_LOCATION_SLATEPORT_CITY call SlateportCity_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc index cdcf5866c..652ac791a 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc @@ -91,7 +91,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58 special SavePlayerParty - special sub_8139238 + special BufferEReaderTrainerName msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, 5 compare VAR_RESULT, 0 goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2 diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc index fcb1b5863..46dccd97e 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1 .byte 0 SootopolisCity_PokemonCenter_1F_MapScript1_2264FC: @ 82264FC - setrespawn 10 + setrespawn HEAL_LOCATION_SOOTOPOLIS_CITY end SootopolisCity_PokemonCenter_1F_EventScript_226500:: @ 8226500 diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index 432667cc9..3005e32d7 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -9,7 +9,7 @@ SouthernIsland_Interior_MapScript1_242A50: @ 8242A50 end SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, SouthernIsland_Interior_EventScript_27374E removeobject 2 @@ -90,7 +90,7 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0 special BattleSetup_StartLatiBattle waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq SouthernIsland_Interior_EventScript_242B81 compare VAR_RESULT, 4 diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc index 5152f85cf..d603f2274 100644 --- a/data/maps/TerraCave_End/scripts.inc +++ b/data/maps/TerraCave_End/scripts.inc @@ -9,7 +9,7 @@ TerraCave_End_MapScript1_23B0BB: @ 823B0BB end TerraCave_End_EventScript_23B0C5:: @ 823B0C5 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 7 goto_if 5, TerraCave_End_EventScript_27374E removeobject 1 @@ -42,7 +42,7 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC waitstate clearflag FLAG_SYS_CTRL_OBJ_DELETE setvar VAR_TEMP_1, 0 - specialvar VAR_RESULT, sub_8138B80 + specialvar VAR_RESULT, GetBattleOutcome compare VAR_RESULT, 1 goto_eq TerraCave_End_EventScript_23B155 compare VAR_RESULT, 4 diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc index ac2d5c8a7..ff731393b 100644 --- a/data/maps/TrainerHill_Elevator/scripts.inc +++ b/data/maps/TrainerHill_Elevator/scripts.inc @@ -50,7 +50,7 @@ TrainerHill_Elevator_EventScript_2693D4:: @ 82693D4 TrainerHill_Elevator_EventScript_2693D9:: @ 82693D9 waitse - special sub_8139A78 + special ShakeScreenInElevator waitstate return diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc index 2987a9a59..8cc8f6f4d 100644 --- a/data/maps/VerdanturfTown/scripts.inc +++ b/data/maps/VerdanturfTown/scripts.inc @@ -10,7 +10,7 @@ VerdanturfTown_MapScript1_1EB56C: @ 81EB56C VerdanturfTown_EventScript_1EB575:: @ 81EB575 lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_EventScript_1EB594 msgbox VerdanturfTown_Text_1EB5FD, 4 applymovement 2, VerdanturfTown_Movement_2725A2 @@ -36,7 +36,7 @@ VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1 VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA lock faceplayer - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_EventScript_1EB5CF msgbox VerdanturfTown_Text_1EB854, 4 release diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc index 73c7fe1f3..131df00f7 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc @@ -4,7 +4,7 @@ VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726 .byte 0 VerdanturfTown_PokemonCenter_1F_MapScript1_202731: @ 8202731 - setrespawn 18 + setrespawn HEAL_LOCATION_VERDANTURF_TOWN call VerdanturfTown_PokemonCenter_1F_EventScript_2718DE end diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc index fabff6420..8184f4c21 100644 --- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc +++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc @@ -69,7 +69,7 @@ VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E goto_eq VerdanturfTown_WandasHouse_EventScript_202989 checkflag FLAG_0x4F3 goto_eq VerdanturfTown_WandasHouse_EventScript_20297F - checkflag FLAG_0x0C7 + checkflag FLAG_RUSTURF_TUNNEL_OPENED goto_eq VerdanturfTown_WandasHouse_EventScript_202975 msgbox VerdanturfTown_WandasHouse_Text_202E47, 4 release diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s index f05613b00..b859133a6 100644 --- a/data/pokemon_storage_system.s +++ b/data/pokemon_storage_system.s @@ -4,18 +4,6 @@ .section .rodata .align 2 -gUnknown_0857173C:: @ 857173C - .incbin "graphics/unknown/unknown_57173C.gbapal" - - .align 2 -gUnknown_0857175C:: @ 857175C - .incbin "graphics/pokemon_storage/box_selection_popup_center.4bpp" - - .align 2 -gUnknown_08571F5C:: @ 8571F5C - .incbin "graphics/pokemon_storage/box_selection_popup_sides.4bpp" - - .align 2 gUnknown_085720DC:: @ 85720DC .incbin "graphics/pokemon_storage/scrolling_bg.4bpp.lz" diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s index 85c30bc6f..0c22aa6cd 100644 --- a/data/pokemon_summary_screen.s +++ b/data/pokemon_summary_screen.s @@ -3,9 +3,6 @@ .section .rodata -@ 86181C1 - .include "data/text/move_descriptions.inc" - @ 861CAAC .include "data/text/nature_names.inc" @@ -137,7 +134,7 @@ gUnknown_0861CE8E:: @ 861CE8E .string "{SPECIAL_F7 0x02}$" gUnknown_0861CE97:: @ 861CE97 - .string "{UNK_CTRL_F9 0x06}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}$" + .string "{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}$" .align 2 gOamData_861CEA0:: @ 861CEA0 diff --git a/data/pokenav.s b/data/pokenav.s index 9a89e2251..12fd4304a 100644 --- a/data/pokenav.s +++ b/data/pokenav.s @@ -1813,7 +1813,7 @@ gUnknown_086235C8:: @ 86235C8 .align 2 gUnknown_086235D4:: @ 86235D4 - .string "{0x77}$" + .string "{UNK_SPACER}$" .align 2 gUnknown_086235D8:: @ 86235D8 @@ -1860,7 +1860,7 @@ gUnknown_086237E8:: @ 86237E8 .align 2 gUnknown_086237F4:: @ 86237F4 - .string "{0x77}$" + .string "{UNK_SPACER}$" .align 2 gUnknown_086237F8:: @ 86237F8 @@ -1942,7 +1942,7 @@ gUnknown_08624BD8:: @ 8624BD8 .align 2 gUnknown_08624BE4:: @ 8624BE4 - .string "{0x77}$" + .string "{UNK_SPACER}$" .align 2 gUnknown_08624BE8:: @ 8624BE8 diff --git a/data/rom_8011DC0.s b/data/rom_8011DC0.s index 2d7e09958..2f596606b 100644 --- a/data/rom_8011DC0.s +++ b/data/rom_8011DC0.s @@ -53,7 +53,7 @@ gText_Colon:: @ 82ED8C8 .align 2 gText_UnkCtrlCodeF907:: @ 82ED8CC - .string "{UNK_CTRL_F907}$" + .string "{ID}$" .align 2 gText_PleaseStartOver:: @ 82ED8D0 @@ -194,7 +194,7 @@ gUnknown_082EDB60:: @ 82EDB60 .align 2 gUnknown_082EDBC4:: @ 82EDBC4 - .string "{UNK_CTRL_F801}CANCEL$" + .string "{B_BUTTON}CANCEL$" .align 2 .string "ため\nさんかしゃ ぼしゅうちゅう です!$" @ "tame\nsankasha boshuuchuu desu!" @@ -889,7 +889,7 @@ gUnknown_082EF7D0:: @ 82EF7D0 .align 2 gUnknown_082EF7DC:: @ 82EF7DC - .string "{UNK_CTRL_F80A}CHOOSE {UNK_CTRL_F800}JOIN {UNK_CTRL_F801}CANCEL$" + .string "{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL$" .align 2 gUnknown_082EF7F8:: @ 82EF7F8 diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index adf02ddd0..96e36dcf9 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -1906,7 +1906,7 @@ MossdeepCity_GameCorner_1F_Text_278BF1: @ 8278BF1 .string "Command DODRIO’s three heads to\n" .string "catch falling BERRIES.\p" .string "Press right, up, or left on the\n" - .string "{0xF9}Ç Control Pad to move the heads.\p" + .string "{PLUS} Control Pad to move the heads.\p" .string "To play this game, you must have\n" .string "a DODRIO.$" diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index 6a13f39ba..d89c78f18 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -1761,7 +1761,7 @@ LilycoveCity_ContestLobby_Text_27C186: @ 827C186 LilycoveCity_ContestLobby_Text_27C1C3: @ 827C1C3 .string "Which POKéMON would you like to enter?$" -LilycoveCity_ContestLobby_Text_27C1EA: @ 827C1EA +Text_DecideLinkLeader: @ 827C1EA .string "Please decide which of you will\n" .string "become the GROUP LEADER.\p" .string "The other players must then choose\n" diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc index df25056ea..d0936b9c1 100644 --- a/data/scripts/field_move_scripts.inc +++ b/data/scripts/field_move_scripts.inc @@ -113,7 +113,7 @@ Route111_EventScript_2907FB:: @ 82907FB applymovement VAR_LAST_TALKED, Route111_Movement_29082B waitmovement 0 removeobject VAR_LAST_TALKED - specialvar VAR_RESULT, sub_81393FC + specialvar VAR_RESULT, TryUpdateRusturfTunnelState compare VAR_RESULT, 1 goto_eq Route111_EventScript_290829 special RockSmashWildEncounter diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc index bd8d0cd0c..3187c95f4 100644 --- a/data/scripts/pokeblocks.inc +++ b/data/scripts/pokeblocks.inc @@ -1,22 +1,36 @@ -LilycoveCity_ContestLobby_Text_292DEE: @ 8292DEE +@ The scripts there concern pokeblock events in LilyCove City's Contest Lobby + +@ 'PblockX' number of offline opponents +@ 'Ask' talking with a blender machine +@ 'Yes' agreeing to blend +@ 'No' refusing to blend +@ 'KnowHow' asking if the player knows the blending process +@ 'Explain' explaining the blender process +@ 'Start' start blending +@ 'TalkX' talking with a person next to a blender machine +@ 'NoBerries' can't blend cause they have no berries +@ 'FullPokeblock' can't blend cause full pokeblock case +@ 'NoPokeblock' can't blend cause they have no pokeblock case + +Text_Pblock1_Ask: @ 8292DEE .string "Oh? Did you want to make some {POKEBLOCK}S\n" .string "with this old-timer?$" -LilycoveCity_ContestLobby_Text_292E28: @ 8292E28 +Text_Pblock1_Yes: @ 8292E28 .string "Excellent!$" -LilycoveCity_ContestLobby_Text_292E33: @ 8292E33 +Text_Pblock1_No: @ 8292E33 .string "Oh…\n" .string "You’ve made this old-timer sad…$" -LilycoveCity_ContestLobby_Text_292E57: @ 8292E57 +Text_Pblock1_KnowHow: @ 8292E57 .string "Do you know how to make a {POKEBLOCK}?$" -LilycoveCity_ContestLobby_Text_292E78: @ 8292E78 +Text_Pblock1_Start: @ 8292E78 .string "Let’s get started, then!\p" .string "Let’s BERRY BLENDER!$" -LilycoveCity_ContestLobby_Text_292EA6: @ 8292EA6 +Text_Pblock1_Explain: @ 8292EA6 .string "Okay, a little explanation, then.\p" .string "Oh, don’t worry, it’s quite simple.\p" .string "When the BLENDER’s arrow comes to\n" @@ -24,7 +38,7 @@ LilycoveCity_ContestLobby_Text_292EA6: @ 8292EA6 .string "That’s all you have to do.\n" .string "You’ll see how easy it is when you try.$" -LilycoveCity_ContestLobby_Text_292F77: @ 8292F77 +Text_Pblock1_NoBerries: @ 8292F77 .string "Oh?\n" .string "You don’t have any BERRIES?\p" .string "If you don’t have any BERRIES,\n" @@ -43,12 +57,12 @@ LilycoveCity_ContestLobby_Text_29307D: @ 829307D .string "But, I don’t have any to spare today.\n" .string "We’ll have to do this another time.$" -LilycoveCity_ContestLobby_Text_293101: @ 8293101 +Text_Pblock1_FullPokeblock: @ 8293101 .string "But your {POKEBLOCK} CASE is full.\p" .string "You should use some {POKEBLOCK}S before\n" .string "you come see me again.$" -LilycoveCity_ContestLobby_Text_293157: @ 8293157 +Text_Pblock1_NoPokeblock: @ 8293157 .string "But you don’t have a {POKEBLOCK} CASE.\p" .string "You should get a {POKEBLOCK} CASE and then\n" .string "come see me.$" @@ -171,43 +185,43 @@ LilycoveCity_ContestLobby_Text_29388F: @ 829388F .string "I’m going to make delicious {POKEBLOCK}S\n" .string "and make my POKéMON cuter.$" -LilycoveCity_ContestLobby_Text_2938CD: @ 82938CD +Text_PblockLink_Ask: @ 82938CD .string "{POKEBLOCK}S will be made with your friends \n" .string "from BERRIES in the BERRY BLENDER.\p" .string "Is it okay to save the game before\n" .string "linking with your friends?$" -LilycoveCity_ContestLobby_Text_293955: @ 8293955 +Text_PblockLink_Searching: @ 8293955 .string "Searching for your friends…\n" .string "… … B Button: Cancel$" -LilycoveCity_ContestLobby_Text_293986: @ 8293986 +Text_PblockLink_1Arrived: @ 8293986 .string "{STR_VAR_1} arrived.$" -LilycoveCity_ContestLobby_Text_293992: @ 8293992 +Text_PblockLink_2Arrived: @ 8293992 .string "{STR_VAR_1} and {STR_VAR_2} arrived.$" -LilycoveCity_ContestLobby_Text_2939A5: @ 82939A5 +Text_PblockLink_3Arrived: @ 82939A5 .string "{STR_VAR_1}, {STR_VAR_2}, and\n" .string "{STR_VAR_3} arrived.$" -LilycoveCity_ContestLobby_Text_2939BD: @ 82939BD +Text_PblockLink_NoBerries: @ 82939BD .string "You have no BERRIES.\n" .string "The BERRY BLENDER can’t be used.$" -LilycoveCity_ContestLobby_Text_2939F3: @ 82939F3 +Text_PblockLink_FullPokeblock: @ 82939F3 .string "Your {POKEBLOCK} CASE is full.\n" .string "The BERRY BLENDER can’t be used.$" -LilycoveCity_ContestLobby_Text_293A2D: @ 8293A2D +Text_PblockLink_NoPokeblock: @ 8293A2D .string "You don’t have a {POKEBLOCK} CASE.\n" .string "The BERRY BLENDER can’t be used.$" -LilycoveCity_ContestLobby_Text_293A6B: @ 8293A6B +Text_Pblock1_Talk_0: @ 8293A6B .string "I love making {POKEBLOCK}S.\p" .string "I always have some BERRIES with me.$" -LilycoveCity_ContestLobby_Text_293AA5: @ 8293AA5 +Text_Pblock1_Talk_1: @ 8293AA5 .string "If you’d like, we could make some\n" .string "{POKEBLOCK}S together using the\l" .string "BERRY BLENDER.$" @@ -231,76 +245,76 @@ LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4 .string "But, I don’t have any to spare today.\n" .string "Sorry about that.$" -LilycoveCity_ContestLobby_EventScript_293C3E:: @ 8293C3E +EventScript_Pblock1_Ask:: @ 8293C3E lockall checkflag FLAG_0x340 goto_if 0, LilycoveCity_ContestLobby_EventScript_293EFB setvar VAR_0x8009, 1 applymovement 16, LilycoveCity_ContestLobby_Movement_294053 waitmovement 0 - msgbox LilycoveCity_ContestLobby_Text_292DEE, 5 + msgbox Text_Pblock1_Ask, 5 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_293CEE - goto LilycoveCity_ContestLobby_EventScript_293C70 + goto_eq EventScript_Pblock1_Yes + goto EventScript_Pblock1_No end -LilycoveCity_ContestLobby_EventScript_293C70:: @ 8293C70 - msgbox LilycoveCity_ContestLobby_Text_292E33, 4 +EventScript_Pblock1_No: @ 8293C70 + msgbox Text_Pblock1_No, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293C7A:: @ 8293C7A - msgbox LilycoveCity_ContestLobby_Text_292F77, 4 +EventScript_Pblock1_NoBerries: @ 8293C7A + msgbox Text_Pblock1_NoBerries, 4 dodailyevents checkflag FLAG_0x921 goto_eq LilycoveCity_ContestLobby_EventScript_293C92 goto LilycoveCity_ContestLobby_EventScript_293C9C end -LilycoveCity_ContestLobby_EventScript_293C92:: @ 8293C92 +LilycoveCity_ContestLobby_EventScript_293C92: @ 8293C92 msgbox LilycoveCity_ContestLobby_Text_29307D, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293C9C:: @ 8293C9C +LilycoveCity_ContestLobby_EventScript_293C9C: @ 8293C9C msgbox LilycoveCity_ContestLobby_Text_292FD1, 4 giveitem_std ITEM_PECHA_BERRY setflag FLAG_0x921 - goto LilycoveCity_ContestLobby_EventScript_293CB9 + goto EventScript_Pblock1_KnowHow end -LilycoveCity_ContestLobby_EventScript_293CB9:: @ 8293CB9 - msgbox LilycoveCity_ContestLobby_Text_292E57, 5 +EventScript_Pblock1_KnowHow: @ 8293CB9 + msgbox Text_Pblock1_KnowHow, 5 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_293CD2 - goto LilycoveCity_ContestLobby_EventScript_293CE0 + goto_eq EventScript_Pblock1_Start + goto EventScript_Pblock1_Explain end -LilycoveCity_ContestLobby_EventScript_293CD2:: @ 8293CD2 - msgbox LilycoveCity_ContestLobby_Text_292E78, 4 - goto LilycoveCity_ContestLobby_EventScript_293D2C +EventScript_Pblock1_Start: @ 8293CD2 + msgbox Text_Pblock1_Start, 4 + goto EventScript_StartBlending end -LilycoveCity_ContestLobby_EventScript_293CE0:: @ 8293CE0 - msgbox LilycoveCity_ContestLobby_Text_292EA6, 4 - goto LilycoveCity_ContestLobby_EventScript_293CD2 +EventScript_Pblock1_Explain: @ 8293CE0 + msgbox Text_Pblock1_Explain, 4 + goto EventScript_Pblock1_Start end -LilycoveCity_ContestLobby_EventScript_293CEE:: @ 8293CEE +EventScript_Pblock1_Yes: @ 8293CEE checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293D43 + goto_eq EventScript_Pblock1_NoPokeblock specialvar VAR_RESULT, GetFirstFreePokeblockSlot compare VAR_RESULT, 65535 - goto_eq LilycoveCity_ContestLobby_EventScript_293D39 + goto_eq EventScript_Pblock1_FullPokeblock specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_293C7A - msgbox LilycoveCity_ContestLobby_Text_292E28, 4 - goto LilycoveCity_ContestLobby_EventScript_293CB9 + goto_eq EventScript_Pblock1_NoBerries + msgbox Text_Pblock1_Yes, 4 + goto EventScript_Pblock1_KnowHow end -LilycoveCity_ContestLobby_EventScript_293D2C:: @ 8293D2C +EventScript_StartBlending: @ 8293D2C copyvar VAR_0x8004, VAR_0x8009 fadescreen 1 special DoBerryBlending @@ -308,13 +322,13 @@ LilycoveCity_ContestLobby_EventScript_293D2C:: @ 8293D2C releaseall end -LilycoveCity_ContestLobby_EventScript_293D39:: @ 8293D39 - msgbox LilycoveCity_ContestLobby_Text_293101, 4 +EventScript_Pblock1_FullPokeblock: @ 8293D39 + msgbox Text_Pblock1_FullPokeblock, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293D43:: @ 8293D43 - msgbox LilycoveCity_ContestLobby_Text_293157, 4 +EventScript_Pblock1_NoPokeblock: @ 8293D43 + msgbox Text_Pblock1_NoPokeblock, 4 releaseall end @@ -330,34 +344,34 @@ LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D goto LilycoveCity_ContestLobby_EventScript_293D7D end -LilycoveCity_ContestLobby_EventScript_293D7D:: @ 8293D7D +LilycoveCity_ContestLobby_EventScript_293D7D: @ 8293D7D msgbox LilycoveCity_ContestLobby_Text_29323D, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293D87:: @ 8293D87 +LilycoveCity_ContestLobby_EventScript_293D87: @ 8293D87 msgbox LilycoveCity_ContestLobby_Text_293394, 4 release end -LilycoveCity_ContestLobby_EventScript_293D91:: @ 8293D91 +LilycoveCity_ContestLobby_EventScript_293D91: @ 8293D91 msgbox LilycoveCity_ContestLobby_Text_29328C, 5 compare VAR_RESULT, 1 goto_eq LilycoveCity_ContestLobby_EventScript_293DAA goto LilycoveCity_ContestLobby_EventScript_293DB8 end -LilycoveCity_ContestLobby_EventScript_293DAA:: @ 8293DAA +LilycoveCity_ContestLobby_EventScript_293DAA: @ 8293DAA msgbox LilycoveCity_ContestLobby_Text_2932C3, 4 - goto LilycoveCity_ContestLobby_EventScript_293D2C + goto EventScript_StartBlending end -LilycoveCity_ContestLobby_EventScript_293DB8:: @ 8293DB8 +LilycoveCity_ContestLobby_EventScript_293DB8: @ 8293DB8 msgbox LilycoveCity_ContestLobby_Text_2932F1, 4 goto LilycoveCity_ContestLobby_EventScript_293DAA end -LilycoveCity_ContestLobby_EventScript_293DC6:: @ 8293DC6 +LilycoveCity_ContestLobby_EventScript_293DC6: @ 8293DC6 specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 goto_eq LilycoveCity_ContestLobby_EventScript_293D87 @@ -372,12 +386,12 @@ LilycoveCity_ContestLobby_EventScript_293DC6:: @ 8293DC6 goto_eq LilycoveCity_ContestLobby_EventScript_293E0A end -LilycoveCity_ContestLobby_EventScript_293E0A:: @ 8293E0A +LilycoveCity_ContestLobby_EventScript_293E0A: @ 8293E0A msgbox LilycoveCity_ContestLobby_Text_29343E, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293E14:: @ 8293E14 +LilycoveCity_ContestLobby_EventScript_293E14: @ 8293E14 msgbox LilycoveCity_ContestLobby_Text_2934A2, 4 releaseall end @@ -396,34 +410,34 @@ LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E goto LilycoveCity_ContestLobby_EventScript_293E5A end -LilycoveCity_ContestLobby_EventScript_293E5A:: @ 8293E5A +LilycoveCity_ContestLobby_EventScript_293E5A: @ 8293E5A msgbox LilycoveCity_ContestLobby_Text_293558, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293E64:: @ 8293E64 +LilycoveCity_ContestLobby_EventScript_293E64: @ 8293E64 msgbox LilycoveCity_ContestLobby_Text_29367D, 4 release end -LilycoveCity_ContestLobby_EventScript_293E6E:: @ 8293E6E +LilycoveCity_ContestLobby_EventScript_293E6E: @ 8293E6E msgbox LilycoveCity_ContestLobby_Text_29357E, 5 compare VAR_RESULT, 1 goto_eq LilycoveCity_ContestLobby_EventScript_293E87 goto LilycoveCity_ContestLobby_EventScript_293E95 end -LilycoveCity_ContestLobby_EventScript_293E87:: @ 8293E87 +LilycoveCity_ContestLobby_EventScript_293E87: @ 8293E87 msgbox LilycoveCity_ContestLobby_Text_2935B1, 4 - goto LilycoveCity_ContestLobby_EventScript_293D2C + goto EventScript_StartBlending end -LilycoveCity_ContestLobby_EventScript_293E95:: @ 8293E95 +LilycoveCity_ContestLobby_EventScript_293E95: @ 8293E95 msgbox LilycoveCity_ContestLobby_Text_2935E5, 4 goto LilycoveCity_ContestLobby_EventScript_293E87 end -LilycoveCity_ContestLobby_EventScript_293EA3:: @ 8293EA3 +LilycoveCity_ContestLobby_EventScript_293EA3: @ 8293EA3 specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 goto_eq LilycoveCity_ContestLobby_EventScript_293E64 @@ -438,17 +452,17 @@ LilycoveCity_ContestLobby_EventScript_293EA3:: @ 8293EA3 goto_eq LilycoveCity_ContestLobby_EventScript_293EE7 end -LilycoveCity_ContestLobby_EventScript_293EE7:: @ 8293EE7 +LilycoveCity_ContestLobby_EventScript_293EE7: @ 8293EE7 msgbox LilycoveCity_ContestLobby_Text_293738, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293EF1:: @ 8293EF1 +LilycoveCity_ContestLobby_EventScript_293EF1: @ 8293EF1 msgbox LilycoveCity_ContestLobby_Text_293792, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293EFB:: @ 8293EFB +LilycoveCity_ContestLobby_EventScript_293EFB: @ 8293EFB lockall setvar VAR_0x8009, 1 msgbox LilycoveCity_ContestLobby_Text_2C42F4, 5 @@ -458,12 +472,12 @@ LilycoveCity_ContestLobby_EventScript_293EFB:: @ 8293EFB releaseall end -LilycoveCity_ContestLobby_EventScript_293F1E:: @ 8293F1E +LilycoveCity_ContestLobby_EventScript_293F1E: @ 8293F1E msgbox LilycoveCity_ContestLobby_Text_2C439D, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293F28:: @ 8293F28 +LilycoveCity_ContestLobby_EventScript_293F28: @ 8293F28 checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_ContestLobby_EventScript_293F8E @@ -477,24 +491,24 @@ LilycoveCity_ContestLobby_EventScript_293F28:: @ 8293F28 goto_eq LilycoveCity_ContestLobby_EventScript_293F98 end -LilycoveCity_ContestLobby_EventScript_293F64:: @ 8293F64 +LilycoveCity_ContestLobby_EventScript_293F64: @ 8293F64 msgbox LilycoveCity_ContestLobby_Text_2C43FA, 5 compare VAR_RESULT, 0 call_if 1, LilycoveCity_ContestLobby_EventScript_293F85 msgbox LilycoveCity_ContestLobby_Text_2C451B, 4 - goto LilycoveCity_ContestLobby_EventScript_293D2C + goto EventScript_StartBlending end -LilycoveCity_ContestLobby_EventScript_293F85:: @ 8293F85 +LilycoveCity_ContestLobby_EventScript_293F85: @ 8293F85 msgbox LilycoveCity_ContestLobby_Text_2C444C, 4 return -LilycoveCity_ContestLobby_EventScript_293F8E:: @ 8293F8E +LilycoveCity_ContestLobby_EventScript_293F8E: @ 8293F8E msgbox LilycoveCity_ContestLobby_Text_2C4573, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_293F98:: @ 8293F98 +LilycoveCity_ContestLobby_EventScript_293F98: @ 8293F98 msgbox LilycoveCity_ContestLobby_Text_2C45E8, 4 releaseall end @@ -516,10 +530,10 @@ LilycoveCity_ContestLobby_EventScript_293FBD:: @ 8293FBD goto LilycoveCity_ContestLobby_EventScript_293FC8 end -LilycoveCity_ContestLobby_EventScript_293FC8:: @ 8293FC8 +LilycoveCity_ContestLobby_EventScript_293FC8: @ 8293FC8 lock faceplayer - msgbox LilycoveCity_ContestLobby_Text_293A6B, 4 + msgbox Text_Pblock1_Talk_0, 4 specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 1 goto_eq LilycoveCity_ContestLobby_EventScript_293FEE @@ -527,12 +541,12 @@ LilycoveCity_ContestLobby_EventScript_293FC8:: @ 8293FC8 goto_eq LilycoveCity_ContestLobby_EventScript_293FF8 end -LilycoveCity_ContestLobby_EventScript_293FEE:: @ 8293FEE - msgbox LilycoveCity_ContestLobby_Text_293AA5, 4 +LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE + msgbox Text_Pblock1_Talk_1, 4 release end -LilycoveCity_ContestLobby_EventScript_293FF8:: @ 8293FF8 +LilycoveCity_ContestLobby_EventScript_293FF8: @ 8293FF8 checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 goto_eq LilycoveCity_ContestLobby_EventScript_294028 @@ -545,12 +559,12 @@ LilycoveCity_ContestLobby_EventScript_293FF8:: @ 8293FF8 goto LilycoveCity_ContestLobby_EventScript_294032 end -LilycoveCity_ContestLobby_EventScript_294028:: @ 8294028 +LilycoveCity_ContestLobby_EventScript_294028: @ 8294028 msgbox LilycoveCity_ContestLobby_Text_293BB4, 4 release end -LilycoveCity_ContestLobby_EventScript_294032:: @ 8294032 +LilycoveCity_ContestLobby_EventScript_294032: @ 8294032 msgbox LilycoveCity_ContestLobby_Text_293AF0, 4 giveitem_std ITEM_PECHA_BERRY setflag FLAG_0x921 @@ -562,73 +576,73 @@ LilycoveCity_ContestLobby_Movement_294053: @ 8294053 walk_in_place_fastest_right step_end -LilycoveCity_ContestLobby_EventScript_294055:: @ 8294055 +EventScript_PblockLink:: @ 8294055 lockall specialvar VAR_RESULT, PlayerHasBerries compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_2940B1 + goto_eq EventScript_PblocLink_NoBerries checkitem ITEM_POKEBLOCK_CASE, 1 compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_29416C + goto_eq EventScript_PblocLink_NoPokeblock specialvar VAR_RESULT, GetFirstFreePokeblockSlot compare VAR_RESULT, 65535 - goto_if 5, LilycoveCity_ContestLobby_EventScript_294092 + goto_if 5, EventScript_PblocLink_Ask compare VAR_RESULT, 65535 - goto_eq LilycoveCity_ContestLobby_EventScript_294162 + goto_eq EventScript_PblocLink_FullPokeblock end -LilycoveCity_ContestLobby_EventScript_294092:: @ 8294092 - msgbox LilycoveCity_ContestLobby_Text_2938CD, 5 +EventScript_PblocLink_Ask: @ 8294092 + msgbox Text_PblockLink_Ask, 5 compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_2940BB + goto_eq EventScript_PblocLink_TryConnect compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_294160 + goto_eq EventScript_PblocLink_End end -LilycoveCity_ContestLobby_EventScript_2940B1:: @ 82940B1 - msgbox LilycoveCity_ContestLobby_Text_2939BD, 4 +EventScript_PblocLink_NoBerries: @ 82940B1 + msgbox Text_PblockLink_NoBerries, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_2940BB:: @ 82940BB +EventScript_PblocLink_TryConnect: @ 82940BB call LilycoveCity_ContestLobby_EventScript_27134F compare VAR_RESULT, 0 - goto_eq LilycoveCity_ContestLobby_EventScript_294160 + goto_eq EventScript_PblocLink_End specialvar VAR_RESULT, IsWirelessAdapterConnected compare VAR_RESULT, 1 goto_eq LilycoveCity_ContestLobby_EventScript_2941ED - message LilycoveCity_ContestLobby_Text_293955 + message Text_PblockLink_Searching waitmessage special sub_80B2FD8 waitstate compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_2941AA + goto_eq EventScript_PblocLink_SpawnPartners compare VAR_RESULT, 2 - goto_eq LilycoveCity_ContestLobby_EventScript_294176 + goto_eq EventScript_PblocLink_SomeoneNotReady compare VAR_RESULT, 3 - goto_eq LilycoveCity_ContestLobby_EventScript_294183 + goto_eq EventScript_PblocLink_DifferentSelections compare VAR_RESULT, 5 - goto_eq LilycoveCity_ContestLobby_EventScript_294190 + goto_eq EventScript_PblocLink_CloseLink compare VAR_RESULT, 6 - goto_eq LilycoveCity_ContestLobby_EventScript_29419D + goto_eq EventScript_PblocLink_LinkError end -LilycoveCity_ContestLobby_EventScript_29411D:: @ 829411D - msgbox LilycoveCity_ContestLobby_Text_293986, 4 - goto LilycoveCity_ContestLobby_EventScript_294147 +EventScript_PblocLink_1Arrived: @ 829411D + msgbox Text_PblockLink_1Arrived, 4 + goto EventScript_PblocLink_StartLinkBlending end -LilycoveCity_ContestLobby_EventScript_29412B:: @ 829412B - msgbox LilycoveCity_ContestLobby_Text_293992, 4 - goto LilycoveCity_ContestLobby_EventScript_294147 +EventScript_PblocLink_2Arrived: @ 829412B + msgbox Text_PblockLink_2Arrived, 4 + goto EventScript_PblocLink_StartLinkBlending end -LilycoveCity_ContestLobby_EventScript_294139:: @ 8294139 - msgbox LilycoveCity_ContestLobby_Text_2939A5, 4 - goto LilycoveCity_ContestLobby_EventScript_294147 +EventScript_PblocLink_3Arrived: @ 8294139 + msgbox Text_PblockLink_3Arrived, 4 + goto EventScript_PblocLink_StartLinkBlending end -LilycoveCity_ContestLobby_EventScript_294147:: @ 8294147 +EventScript_PblocLink_StartLinkBlending: @ 8294147 setvar VAR_0x8004, 0 fadescreen 1 removeobject 240 @@ -640,109 +654,109 @@ LilycoveCity_ContestLobby_EventScript_294147:: @ 8294147 releaseall end -LilycoveCity_ContestLobby_EventScript_294160:: @ 8294160 +EventScript_PblocLink_End: @ 8294160 releaseall end -LilycoveCity_ContestLobby_EventScript_294162:: @ 8294162 - msgbox LilycoveCity_ContestLobby_Text_2939F3, 4 +EventScript_PblocLink_FullPokeblock: @ 8294162 + msgbox Text_PblockLink_FullPokeblock, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_29416C:: @ 829416C - msgbox LilycoveCity_ContestLobby_Text_293A2D, 4 +EventScript_PblocLink_NoPokeblock: @ 829416C + msgbox Text_PblockLink_NoPokeblock, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_294176:: @ 8294176 +EventScript_PblocLink_SomeoneNotReady: @ 8294176 special CloseLink msgbox LilycoveCity_ContestLobby_Text_2781C7, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_294183:: @ 8294183 +EventScript_PblocLink_DifferentSelections: @ 8294183 special CloseLink msgbox LilycoveCity_ContestLobby_Text_278255, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_294190:: @ 8294190 +EventScript_PblocLink_CloseLink: @ 8294190 special CloseLink msgbox gUnknown_08272D9C, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_29419D:: @ 829419D +EventScript_PblocLink_LinkError: @ 829419D special CloseLink msgbox LilycoveCity_ContestLobby_Text_27821C, 4 releaseall end -LilycoveCity_ContestLobby_EventScript_2941AA:: @ 82941AA +EventScript_PblocLink_SpawnPartners: @ 82941AA fadescreen 1 specialvar VAR_RESULT, GetLinkPartnerNames copyvar VAR_0x8008, VAR_RESULT copyvar VAR_0x8004, VAR_0x8008 special SpawnLinkPartnerEventObject - goto LilycoveCity_ContestLobby_EventScript_2941C4 + goto EventScript_PblocLink_Arrived end -LilycoveCity_ContestLobby_EventScript_2941C4:: @ 82941C4 +EventScript_PblocLink_Arrived: @ 82941C4 fadescreen 0 switch VAR_0x8008 - case 2, LilycoveCity_ContestLobby_EventScript_29411D - case 3, LilycoveCity_ContestLobby_EventScript_29412B - case 4, LilycoveCity_ContestLobby_EventScript_294139 + case 2, EventScript_PblocLink_1Arrived + case 3, EventScript_PblocLink_2Arrived + case 4, EventScript_PblocLink_3Arrived end -LilycoveCity_ContestLobby_EventScript_2941ED:: @ 82941ED +LilycoveCity_ContestLobby_EventScript_2941ED: @ 82941ED setvar VAR_0x8004, 13 - goto LilycoveCity_ContestLobby_EventScript_2941F8 + goto EventScript_PblocLink_DecideLeader end -LilycoveCity_ContestLobby_EventScript_2941F8:: @ 82941F8 - message LilycoveCity_ContestLobby_Text_27C1EA +EventScript_PblocLink_DecideLeader: @ 82941F8 + message Text_DecideLinkLeader waitmessage multichoice 16, 6, 81, 0 switch VAR_RESULT - case 0, LilycoveCity_ContestLobby_EventScript_29425D - case 1, LilycoveCity_ContestLobby_EventScript_294235 - case 2, LilycoveCity_ContestLobby_EventScript_294190 - case 127, LilycoveCity_ContestLobby_EventScript_294190 + case 0, EventScript_PblocLink_TryJoinGroup + case 1, EventScript_PblocLink_TryBecomeLeader + case 2, EventScript_PblocLink_CloseLink + case 127, EventScript_PblocLink_CloseLink end -LilycoveCity_ContestLobby_EventScript_294235:: @ 8294235 - call LilycoveCity_ContestLobby_EventScript_294285 +EventScript_PblocLink_TryBecomeLeader: @ 8294235 + call EventScript_PblocLink_BecomeLeader compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_29428F + goto_eq EventScript_PblocLink_SpawnPartners_ compare VAR_RESULT, 5 - goto_eq LilycoveCity_ContestLobby_EventScript_2941F8 + goto_eq EventScript_PblocLink_DecideLeader compare VAR_RESULT, 8 - goto_eq LilycoveCity_ContestLobby_EventScript_294235 + goto_eq EventScript_PblocLink_TryBecomeLeader release end -LilycoveCity_ContestLobby_EventScript_29425D:: @ 829425D - call LilycoveCity_ContestLobby_EventScript_29428A +EventScript_PblocLink_TryJoinGroup: @ 829425D + call EventScript_PblocLink_JoinGroup compare VAR_RESULT, 1 - goto_eq LilycoveCity_ContestLobby_EventScript_29428F + goto_eq EventScript_PblocLink_SpawnPartners_ compare VAR_RESULT, 5 - goto_eq LilycoveCity_ContestLobby_EventScript_2941F8 + goto_eq EventScript_PblocLink_DecideLeader compare VAR_RESULT, 8 - goto_eq LilycoveCity_ContestLobby_EventScript_29425D + goto_eq EventScript_PblocLink_TryJoinGroup release end -LilycoveCity_ContestLobby_EventScript_294285:: @ 8294285 +EventScript_PblocLink_BecomeLeader: @ 8294285 special BerryBlenderLinkBecomeLeader waitstate return -LilycoveCity_ContestLobby_EventScript_29428A:: @ 829428A +EventScript_PblocLink_JoinGroup: @ 829428A special BerryBlenderLinkJoinGroup waitstate return -LilycoveCity_ContestLobby_EventScript_29428F:: @ 829428F - goto LilycoveCity_ContestLobby_EventScript_2941AA +EventScript_PblocLink_SpawnPartners_: @ 829428F + goto EventScript_PblocLink_SpawnPartners end diff --git a/data/specials.inc b/data/specials.inc index 1020b1c80..d0d04837a 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -71,7 +71,7 @@ gSpecials:: @ 81DBA64 def_special ShouldTryRematchBattle def_special IsTrainerReadyForRematch def_special BattleSetup_StartRematchBattle - def_special sub_80C7578 + def_special ShowPokemonStorageSystem def_special HasEnoughMonsForDoubleBattle def_special TurnOffTVScreen def_special DoTVShow @@ -174,11 +174,11 @@ gSpecials:: @ 81DBA64 def_special GetFirstFreePokeblockSlot def_special DoBerryBlending def_special sub_8142BC8 - def_special sub_813BD60 - def_special sub_813BCA8 - def_special sub_813BDB4 + def_special ShouldMoveLilycoveFanClubMember + def_special GetNumMovedLilycoveFanClubMembers + def_special BufferStreakTrainerText def_special sub_813BA30 - def_special sub_813BCE8 + def_special UpdateMovedLilycoveFanClubMembers def_special sub_813BF60 def_special sub_813BA60 def_special sub_813BF7C @@ -191,7 +191,7 @@ gSpecials:: @ 81DBA64 def_special GabbyAndTyGetLastQuote def_special GabbyAndTyGetLastBattleTrivia def_special GabbyAndTySetScriptVarsToEventObjectLocalIds - def_special sub_8138B80 + def_special GetBattleOutcome def_special GetDaycareMonNicknames def_special GetDaycareState def_special RejectEggFromDayCare @@ -227,7 +227,7 @@ gSpecials:: @ 81DBA64 def_special ShowPokedexRatingMessage def_special DoPCTurnOnEffect def_special DoPCTurnOffEffect - def_special sub_8139994 + def_special SetDepartmentStoreFloorVar def_special DoLotteryCornerComputerEffect def_special EndLotteryCornerComputerEffect def_special sub_81B951C @@ -258,7 +258,7 @@ gSpecials:: @ 81DBA64 def_special sub_81B9D08 def_special sub_80F9490 def_special ValidateEReaderTrainer - def_special sub_8139228 + def_special GetBestBattleTowerStreak def_special sub_80F94E8 def_special BedroomPC def_special PlayerPC @@ -284,7 +284,7 @@ gSpecials:: @ 81DBA64 def_special sub_80FB7A4 def_special DoSoftReset def_special GameClear - def_special sub_8139A78 + def_special ShakeScreenInElevator def_special nullsub_55 def_special SpawnScriptEventObject def_special RemoveScriptEventObject @@ -295,20 +295,20 @@ gSpecials:: @ 81DBA64 def_special sub_80B0534 def_special sub_80B058C def_special WaitWeather - def_special sub_8139238 - def_special sub_8139248 + def_special BufferEReaderTrainerName + def_special GetSlotMachineId def_special GetPlayerFacingDirection - def_special sub_81392AC - def_special sub_81392D4 - def_special sub_81392F8 - def_special sub_8139320 + def_special FoundAbandonedShipRoom1Key + def_special FoundAbandonedShipRoom2Key + def_special FoundAbandonedShipRoom4Key + def_special FoundAbandonedShipRoom6Key def_special LeadMonHasEffortRibbon def_special GiveLeadMonEffortRibbon def_special Special_AreLeadMonEVsMaxedOut def_special sub_8098574 def_special sub_809859C def_special InitRoamer - def_special sub_81393FC + def_special TryUpdateRusturfTunnelState def_special IsGrassTypeInParty def_special sub_80AFC60 def_special PutZigzagoonInPlayerParty @@ -326,7 +326,7 @@ gSpecials:: @ 81DBA64 def_special StartRegiBattle def_special sub_80B16D8 def_special DoSealedChamberShakingEffect2 - def_special sub_8139634 + def_special FoundBlackGlasses def_special sub_80AC81C def_special sp13E_warp_to_last_warp def_special sp13F_fall_to_last_warp @@ -343,11 +343,11 @@ gSpecials:: @ 81DBA64 def_special sub_80E9B70 def_special LoadPlayerBag def_special sub_80B05B4 - def_special sub_8139754 - def_special sub_813970C + def_special SetPacifidlogTMReceivedDay + def_special GetDaysUntilPacifidlogTMAvailable def_special sub_80C08E4 - def_special sub_8139770 - def_special sub_81397C4 + def_special MonOTNameMatchesPlayer + def_special BufferLottoTicketNumber def_special sub_81653CC def_special sub_80F9370 def_special sub_80F8FE8 diff --git a/data/strings.s b/data/strings.s deleted file mode 100644 index 631eb8c19..000000000 --- a/data/strings.s +++ /dev/null @@ -1,5387 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gExpandedPlaceholder_Empty:: @ 85E8218 - .string "$" - -gExpandedPlaceholder_Kun:: @ 85E8219 - .string "$" - -gExpandedPlaceholder_Chan:: @ 85E821A - .string "$" - -gExpandedPlaceholder_Sapphire:: @ 85E821B - .string "SAPPHIRE$" - -gExpandedPlaceholder_Ruby:: @ 85E8224 - .string "RUBY$" - -gExpandedPlaceholder_Emerald:: @ 85E8229 - .string "EMERALD$" - -gExpandedPlaceholder_Aqua:: @ 85E8231 - .string "AQUA$" - -gExpandedPlaceholder_Magma:: @ 85E8236 - .string "MAGMA$" - -gExpandedPlaceholder_Archie:: @ 85E823C - .string "ARCHIE$" - -gExpandedPlaceholder_Maxie:: @ 85E8243 - .string "MAXIE$" - -gExpandedPlaceholder_Kyogre:: @ 85E8249 - .string "KYOGRE$" - -gExpandedPlaceholder_Groudon:: @ 85E8250 - .string "GROUDON$" - -gExpandedPlaceholder_Brendan:: @ 85E8258 - .string "BRENDAN$" - -gExpandedPlaceholder_May:: @ 85E8260 - .string "MAY$" - -gText_EggNickname:: @ 85E8264 - .string "EGG$" - -gText_Pokemon:: @ 85E8268 - .string "POKéMON$" - -gProfBirchMatchCallName:: @ 85E8270 - .string "PROF. BIRCH$" - -gText_MainMenuNewGame:: @ 85E827C - .string "NEW GAME$" - -gText_MainMenuContinue:: @ 85E8285 - .string "CONTINUE$" - -gText_MainMenuOption:: @ 85E828E - .string "OPTION$" - -gText_MainMenuMysteryGift:: @ 85E8295 - .string "MYSTERY GIFT$" - -gText_MainMenuMysteryGift2:: @ 85E82A2 - .string "MYSTERY GIFT$" - -gText_MainMenuMysteryEvents:: @ 85E82AF - .string "MYSTERY EVENTS$" - -gText_WirelessNotConnected:: @ 85E82BE - .string "The Wireless Adapter is not\nconnected.$" - -gText_MysteryGiftCantUse:: @ 85E82E5 - .string "MYSTERY GIFT can’t be used while\nthe Wireless Adapter is attached.$" - -gText_MysteryEventsCantUse:: @ 85E8328 - .string "MYSTERY EVENTS can’t be used while\nthe Wireless Adapter is attached.$" - -gUnknown_085E836D:: @ 85E836D - .string "Updating save file using external\ndata. Please wait.$" - -gUnknown_085E83A2:: @ 85E83A2 - .string "The save file has been updated.$" - -gText_SaveFileCorrupted:: @ 85E83C2 - .string "The save file is corrupted. The\nprevious save file will be loaded.$" - -gText_SaveFileErased:: @ 85E8405 - .string "The save file has been erased\ndue to corruption or damage.$" - -gJPText_No1MSubCircuit:: @ 85E8440 - .string "1Mサブきばんが ささっていません!$" @ "1Msabukibanga sasatteimasen!" ("The 1M sub-circuit board is not installed!" in Japanese) - -gText_BatteryRunDry:: @ 85E8453 - .string "The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur.$" - -gUnknown_085E84BF:: @ 85E84BF - .string "PLAYER$" - -gUnknown_085E84C6:: @ 85E84C6 - .string "POKéDEX$" - -gText_MainMenuTime:: @ 85E84CE - .string "TIME$" - -gUnknown_085E84D3:: @ 85E84D3 - .string "BADGES$" - -gUnknown_085E84DA:: @ 85E84DA - .string "A Button$" - -gUnknown_085E84E3:: @ 85E84E3 - .string "B Button$" - -gUnknown_085E84EC:: @ 85E84EC - .string "R Button$" - -gUnknown_085E84F5:: @ 85E84F5 - .string "L Button$" - -gUnknown_085E84FE:: @ 85E84FE - .string "START$" - -gUnknown_085E8504:: @ 85E8504 - .string "SELECT$" - -gUnknown_085E850B:: @ 85E850B - .string "+ Control Pad$" - -gUnknown_085E8519:: @ 85E8519 - .string "L Button R Button$" - -gUnknown_085E852C:: @ 85E852C - .string "CONTROLS$" - - .align 2 -gUnknown_085E8538:: @ 85E8538 - .string "{UNK_CTRL_F80A}PICK {UNK_CTRL_F800}OK$" - - .align 2 -gUnknown_085E8544:: @ 85E8544 - .string "{UNK_CTRL_F800}NEXT$" - - .align 2 -gUnknown_085E854C:: @ 85E854C - .string "{UNK_CTRL_F800}NEXT {UNK_CTRL_F801}BACK$" - - .align 2 -gText_PickNextCancel:: @ 85E855C - .string "{UNK_CTRL_F80A}PICK {UNK_CTRL_F800}NEXT {UNK_CTRL_F801}CANCEL$" - - .align 2 -gText_PickCancel:: @ 85E8574 - .string "{UNK_CTRL_F80A}PICK {UNK_CTRL_F800}{UNK_CTRL_F801}CANCEL$" - - .align 2 -gText_UnkCtrlF800Exit:: @ 85E8588 - .string "{UNK_CTRL_F800}EXIT$" - -gText_BirchBoy:: @ 85E858F - .string "BOY$" - -gText_BirchGirl:: @ 85E8593 - .string "GIRL$" - -gText_DefaultNameStu:: @ 85E8598 - .string "STU$" - -gText_DefaultNameMilton:: @ 85E859C - .string "MILTON$" - -gText_DefaultNameTom:: @ 85E85A3 - .string "TOM$" - -gText_DefaultNameKenny:: @ 85E85A7 - .string "KENNY$" - -gText_DefaultNameReid:: @ 85E85AD - .string "REID$" - -gText_DefaultNameJude:: @ 85E85B2 - .string "JUDE$" - -gText_DefaultNameJaxson:: @ 85E85B7 - .string "JAXSON$" - -gText_DefaultNameEaston:: @ 85E85BE - .string "EASTON$" - -gText_DefaultNameWalker:: @ 85E85C5 - .string "WALKER$" - -gText_DefaultNameTeru:: @ 85E85CC - .string "TERU$" - -gText_DefaultNameJohnny:: @ 85E85D1 - .string "JOHNNY$" - -gText_DefaultNameBrett:: @ 85E85D8 - .string "BRETT$" - -gText_DefaultNameSeth:: @ 85E85DE - .string "SETH$" - -gText_DefaultNameTerry:: @ 85E85E3 - .string "TERRY$" - -gText_DefaultNameCasey:: @ 85E85E9 - .string "CASEY$" - -gText_DefaultNameDarren:: @ 85E85EF - .string "DARREN$" - -gText_DefaultNameLandon:: @ 85E85F6 - .string "LANDON$" - -gText_DefaultNameCollin:: @ 85E85FD - .string "COLLIN$" - -gText_DefaultNameStanley:: @ 85E8604 - .string "STANLEY$" - -gText_DefaultNameQuincy:: @ 85E860C - .string "QUINCY$" - -gText_DefaultNameKimmy:: @ 85E8613 - .string "KIMMY$" - -gText_DefaultNameTiara:: @ 85E8619 - .string "TIARA$" - -gText_DefaultNameBella:: @ 85E861F - .string "BELLA$" - -gText_DefaultNameJayla:: @ 85E8625 - .string "JAYLA$" - -gText_DefaultNameAllie:: @ 85E862B - .string "ALLIE$" - -gText_DefaultNameLianna:: @ 85E8631 - .string "LIANNA$" - -gText_DefaultNameSara:: @ 85E8638 - .string "SARA$" - -gText_DefaultNameMonica:: @ 85E863D - .string "MONICA$" - -gText_DefaultNameCamila:: @ 85E8644 - .string "CAMILA$" - -gText_DefaultNameAubree:: @ 85E864B - .string "AUBREE$" - -gText_DefaultNameRuthie:: @ 85E8652 - .string "RUTHIE$" - -gText_DefaultNameHazel:: @ 85E8659 - .string "HAZEL$" - -gText_DefaultNameNadine:: @ 85E865F - .string "NADINE$" - -gText_DefaultNameTanja:: @ 85E8666 - .string "TANJA$" - -gText_DefaultNameYasmin:: @ 85E866C - .string "YASMIN$" - -gText_DefaultNameNicola:: @ 85E8673 - .string "NICOLA$" - -gText_DefaultNameLillie:: @ 85E867A - .string "LILLIE$" - -gText_DefaultNameTerra:: @ 85E8681 - .string "TERRA$" - -gText_DefaultNameLucy:: @ 85E8687 - .string "LUCY$" - -gText_DefaultNameHalie:: @ 85E868C - .string "HALIE$" - -gText_ThisIsAPokemon:: @ 85E8692 - .string "This is what we call a “POKéMON.”{PAUSE 96}\p$" - -gText_5MarksPokemon:: @ 85E86B8 - .string "????? POKéMON$" - -gText_UnkHeight:: @ 85E86C6 - .string "{CLEAR_TO 0x0C}??’??”$" - -gText_UnkWeight:: @ 85E86D0 - .string "????.? lbs.$" - -gUnknown_085E86DC:: @ 85E86DC - .string " POKéMON$" - -gUnknown_085E86FB:: @ 85E86FB - .string "{CLEAR_TO 0x0C} ’ ”$" - -gUnknown_085E8709:: @ 85E8709 - .string " . lbs.$" - -gUnknown_085E871A:: @ 85E871A - .string "$" - -gText_CryOf:: @ 85E871B - .string "CRY OF$" - -gUnknown_085E8722:: @ 85E8722 - .string "$" - -gText_SizeComparedTo:: @ 85E8723 - .string "SIZE COMPARED TO $" - -gText_PokedexRegistration:: @ 85E8735 - .string "POKéDEX registration completed.$" - -gText_HTHeight:: @ 85E8755 - .string "HT$" - -gText_WTWeight:: @ 85E8758 - .string "WT$" - -gText_SearchingPleaseWait:: @ 85E875B - .string "Searching…\nPlease wait.$" - -gText_SearchCompleted:: @ 85E8773 - .string "Search completed.$" - -gUnknown_085E8785:: @ 85E8785 - .string "No matching POKéMON were found.$" - -gUnknown_085E87A5:: @ 85E87A5 - .string "Search for POKéMON based on\nselected parameters.$" - -gUnknown_085E87D6:: @ 85E87D6 - .string "Switch POKéDEX listings.$" - -gUnknown_085E87EF:: @ 85E87EF - .string "Return to the POKéDEX.$" - -gUnknown_085E8806:: @ 85E8806 - .string "Select the POKéDEX mode.$" - -gUnknown_085E881F:: @ 85E881F - .string "Select the POKéDEX listing mode.$" - -gUnknown_085E8840:: @ 85E8840 - .string "List by the first letter in the name.\nSpotted POKéMON only.$" - -gUnknown_085E887C:: @ 85E887C - .string "List by body color.\nSpotted POKéMON only.$" - -gUnknown_085E88A6:: @ 85E88A6 - .string "List by type.\nOwned POKéMON only.$" - -gUnknown_085E88C8:: @ 85E88C8 - .string "Execute search/switch.$" - -gUnknown_085E88DF:: @ 85E88DF - .string "HOENN DEX$" - -gUnknown_085E88E9:: @ 85E88E9 - .string "NATIONAL DEX$" - -gUnknown_085E88F6:: @ 85E88F6 - .string "NUMERICAL MODE$" - -gUnknown_085E8905:: @ 85E8905 - .string "A TO Z MODE$" - -gUnknown_085E8911:: @ 85E8911 - .string "HEAVIEST MODE$" - -gUnknown_085E891F:: @ 85E891F - .string "LIGHTEST MODE$" - -gUnknown_085E892D:: @ 85E892D - .string "TALLEST MODE$" - -gUnknown_085E893A:: @ 85E893A - .string "SMALLEST MODE$" - -gUnknown_085E8948:: @ 85E8948 - .string "ABC$" - -gUnknown_085E894C:: @ 85E894C - .string "DEF$" - -gUnknown_085E8950:: @ 85E8950 - .string "GHI$" - -gUnknown_085E8954:: @ 85E8954 - .string "JKL$" - -gUnknown_085E8958:: @ 85E8958 - .string "MNO$" - -gUnknown_085E895C:: @ 85E895C - .string "PQR$" - -gUnknown_085E8960:: @ 85E8960 - .string "STU$" - -gUnknown_085E8964:: @ 85E8964 - .string "VWX$" - -gUnknown_085E8968:: @ 85E8968 - .string "YZ$" - -gUnknown_085E896B:: @ 85E896B - .string "RED$" - -gUnknown_085E896F:: @ 85E896F - .string "BLUE$" - -gUnknown_085E8974:: @ 85E8974 - .string "YELLOW$" - -gUnknown_085E897B:: @ 85E897B - .string "GREEN$" - -gUnknown_085E8981:: @ 85E8981 - .string "BLACK$" - -gUnknown_085E8987:: @ 85E8987 - .string "BROWN$" - -gUnknown_085E898D:: @ 85E898D - .string "PURPLE$" - -gUnknown_085E8994:: @ 85E8994 - .string "GRAY$" - -gUnknown_085E8999:: @ 85E8999 - .string "WHITE$" - -gUnknown_085E899F:: @ 85E899F - .string "PINK$" - -gUnknown_085E89A4:: @ 85E89A4 - .string "HOENN region’s POKéDEX$" - -gUnknown_085E89BB:: @ 85E89BB - .string "National edition POKéDEX$" - -gUnknown_085E89D4:: @ 85E89D4 - .string "POKéMON are listed according to their\nnumber.$" - -gUnknown_085E8A02:: @ 85E8A02 - .string "Spotted and owned POKéMON are listed\nalphabetically.$" - -gUnknown_085E8A37:: @ 85E8A37 - .string "Owned POKéMON are listed from the\nheaviest to the lightest.$" - -gUnknown_085E8A73:: @ 85E8A73 - .string "Owned POKéMON are listed from the\nlightest to the heaviest.$" - -gUnknown_085E8AAF:: @ 85E8AAF - .string "Owned POKéMON are listed from the\ntallest to the smallest.$" - -gUnknown_085E8AEA:: @ 85E8AEA - .string "Owned POKéMON are listed from the\nsmallest to the tallest.$" - -gUnknown_085E8B25:: @ 85E8B25 - .string "$" - -gUnknown_085E8B26:: @ 85E8B26 - .string "DON’T SPECIFY.$" - -gUnknown_085E8B35:: @ 85E8B35 - .string "NONE$" - -gText_SelectorArrow:: @ 85E8B3A - .string "▶$" - -gUnknown_085E8B3C:: @ 85E8B3C - .string " $" - -gText_WelcomeToHOF:: @ 85E8B3E - .string "Welcome to the HALL OF FAME!$" - -gUnknown_085E8B5B:: @ 85E8B5B - .string "Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH’s POKéDEX rating!\pPROF. BIRCH: Let’s see…\p$" - -gUnknown_085E8BBA:: @ 85E8BBA - .string "SAVING…\nDON’T TURN OFF THE POWER.$" - -gText_HOFCorrupted:: @ 85E8BDC - .string "The HALL OF FAME data is corrupted.$" - -gText_HOFNumber:: @ 85E8C00 - .string "HALL OF FAME No. {STR_VAR_1}$" - -gText_LeagueChamp:: @ 85E8C14 - .string "LEAGUE CHAMPION!\nCONGRATULATIONS!$" - -gText_Number:: @ 85E8C36 - .string "No. $" - -gText_Level:: @ 85E8C3B - .string "Lv. $" - -gUnknown_085E8C40:: @ 85E8C40 - .string "IDNo. /$" - -gText_Name:: @ 85E8C48 - .string "NAME$" - -gText_IDNumber:: @ 85E8C4D - .string "IDNo.$" - -gText_BirchInTrouble:: @ 85E8C53 - .string "PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!$" - -gText_ConfirmStarterChoice:: @ 85E8C90 - .string "Do you choose this POKéMON?$" - -gUnknown_085E8CAC:: @ 85E8CAC - .string "POKéMON$" - -gText_FlyToWhere:: @ 85E8CB4 - .string "FLY to where?$" - -gMenuText_Use:: @ 85E8CC2 - .string "USE$" - -gMenuText_Toss:: @ 85E8CC6 - .string "TOSS$" - -gMenuText_Register:: @ 85E8CCB - .string "REGISTER$" - -gMenuText_Give:: @ 85E8CD4 - .string "GIVE$" - -gMenuText_CheckTag:: @ 85E8CD9 - .string "CHECK TAG$" - -gMenuText_Confirm:: @ 85E8CE3 - .string "CONFIRM$" - -gMenuText_Walk:: @ 85E8CEB - .string "WALK$" - -gText_Cancel:: @ 85E8CF0 - .string "CANCEL$" - -gText_Cancel2:: @ 85E8CF7 - .string "CANCEL$" - -gMenuText_Show:: @ 85E8CFE - .string "SHOW$" - -gText_EmptyString2:: @ 85E8D03 - .string "$" - -gUnknown_085E8D04:: @ 85E8D04 - .string "CANCEL$" - -gText_Item:: @ 85E8D0B - .string "ITEM$" - -gText_Mail:: @ 85E8D10 - .string "MAIL$" - -gText_Take:: @ 85E8D15 - .string "TAKE$" - -gText_Store:: @ 85E8D1A - .string "STORE$" - -gMenuText_Check:: @ 85E8D20 - .string "CHECK$" - -gText_None:: @ 85E8D26 - .string "NONE$" - -gMenuText_Deselect:: @ 85E8D2B - .string "DESELECT$" - -gText_ThreeMarks:: @ 85E8D34 - .string "???$" - -gText_FiveMarks:: @ 85E8D38 - .string "?????$" - -gText_Slash:: @ 85E8D3E - .string "/$" - -gText_OneDash:: @ 85E8D40 - .string "-$" - -gText_TwoDashes:: @ 85E8D42 - .string "--$" - -gText_ThreeDashes:: @ 85E8D45 - .string "---$" - -gText_MaleSymbol:: @ 85E8D49 - .string "♂$" - -gText_FemaleSymbol:: @ 85E8D4B - .string "♀$" - -gText_LevelSymbol:: @ 85E8D4D - .string "{LV}$" - -gText_UnkCtrlF908Clear01:: @ 85E8D4F - .string "{UNK_CTRL_F908}{CLEAR 0x01}$" - -gUnknown_085E8D55:: @ 85E8D55 - .string "+$" - -gUnknown_085E8D57:: @ 85E8D57 - .string "{RIGHT_ARROW}$" - -gText_UnkCtrlF907F908:: @ 85E8D59 - .string "{UNK_CTRL_F907}{UNK_CTRL_F908}$" - -gText_Space:: @ 85E8D5E - .string " $" - -gText_SelectorArrow2:: @ 85E8D60 - .string "▶$" - -gText_GoBackPrevMenu:: @ 85E8D62 - .string "Go back to the\nprevious menu.$" - -gText_WhatWouldYouLike:: @ 85E8D80 - .string "What would you like to do?$" - -gMenuText_Give2:: @ 85E8D9B - .string "GIVE$" - -gText_xVar1:: @ 85E8DA0 - .string "×{STR_VAR_1}$" - -gUnknown_085E8DA4:: @ 85E8DA4 - .string " BERRY$" - -gText_Coins:: @ 85E8DAB - .string "{STR_VAR_1} COINS$" - -gText_CloseBag:: @ 85E8DB4 - .string "CLOSE BAG$" - -gText_Var1IsSelected:: @ 85E8DBE - .string "{STR_VAR_1} is\nselected.$" - -gText_CantWriteMail:: @ 85E8DCE - .string "You can’t write\nMAIL here.$" - -gText_NoPokemon:: @ 85E8DE9 - .string "There is no\nPOKéMON.$" - -gText_MoveVar1Where:: @ 85E8DFE - .string "Move the\n{STR_VAR_1}\nwhere?$" - -gText_Var1CantBeHeld:: @ 85E8E11 - .string "The {STR_VAR_1} can’t be held.$" - -gText_Var1CantBeHeldHere:: @ 85E8E27 - .string "The {STR_VAR_1} can’t be held\nhere.$" - -gText_DepositHowManyVar1:: @ 85E8E42 - .string "Deposit how many\n{STR_VAR_1}(s)?$" - -gText_DepositedVar2Var1s:: @ 85E8E5A - .string "Deposited {STR_VAR_2}\n{STR_VAR_1}(s).$" - -gText_NoRoomForItems:: @ 85E8E6E - .string "There’s no room to\nstore items.$" - -gText_CantStoreImportantItems:: @ 85E8E8E - .string "Important items\ncan’t be stored in\nthe PC!$" - -gText_TooImportantToToss:: @ 85E8EB9 - .string "That’s much too\nimportant to toss\nout!$" - -gText_TossHowManyVar1s:: @ 85E8EE0 - .string "Toss out how many\n{STR_VAR_1}(s)?$" - -gText_ThrewAwayVar2Var1s:: @ 85E8EF9 - .string "Threw away {STR_VAR_2}\n{STR_VAR_1}(s).$" - -gText_ConfirmTossItems:: @ 85E8F0E - .string "Is it okay to\nthrow away {STR_VAR_2}\n{STR_VAR_1}(s)?$" - -gText_DadsAdvice:: @ 85E8F31 - .string "DAD’s advice…\n{PLAYER}, there’s a time and place for\leverything!{PAUSE_UNTIL_PRESS}$" - -gText_CantDismountBike:: @ 85E8F6E - .string "You can’t dismount your BIKE here.{PAUSE_UNTIL_PRESS}$" - -gText_ItemFinderNearby:: @ 85E8F93 - .string "Huh?\nThe ITEMFINDER’s responding!\pThere’s an item buried around here!{PAUSE_UNTIL_PRESS}$" - -gText_ItemFinderOnTop:: @ 85E8FDB - .string "Oh!\nThe ITEMFINDER’s shaking wildly!{PAUSE_UNTIL_PRESS}$" - -gText_ItemFinderNothing:: @ 85E9002 - .string "… … … …Nope!\nThere’s no response.{PAUSE_UNTIL_PRESS}$" - -gText_CoinCase:: @ 85E9026 - .string "Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gText_BootedUpTM:: @ 85E9037 - .string "Booted up a TM.$" - -gText_BootedUpHM:: @ 85E9047 - .string "Booted up an HM.$" - -gText_TMHMContainedVar1:: @ 85E9058 - .string "It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?$" - -gText_PlayerUsedVar2:: @ 85E9080 - .string "{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gText_RepelEffectsLingered:: @ 85E9092 - .string "But the effects of a REPEL\nlingered from earlier.{PAUSE_UNTIL_PRESS}$" - -gText_UsedVar2WildLured:: @ 85E90C6 - .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}$" - -gText_UsedVar2WildRepelled:: @ 85E90F4 - .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}$" - -gText_BoxFull:: @ 85E9125 - .string "The BOX is full.{PAUSE_UNTIL_PRESS}$" - -gText_PowderQty:: @ 85E9138 - .string "POWDER QTY: {STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gText_TheField:: @ 85E9149 - .string "the field$" - -gText_TheBattle:: @ 85E9153 - .string "the battle$" - -gText_ThePokemonList:: @ 85E915E - .string "the POKéMON LIST$" - -gText_TheShop:: @ 85E916F - .string "the shop$" - -gText_ThePC:: @ 85E9178 - .string "the PC$" - - .align 2 -gReturnToXStringsTable:: @ 85E9180 - .4byte gText_TheField - .4byte gText_TheBattle - .4byte gText_ThePokemonList - .4byte gText_TheShop - .4byte gText_TheField - .4byte gText_TheField - .4byte gText_ThePC - .4byte gText_TheField - .4byte gText_TheField - .4byte gText_TheField - .4byte gText_TheBattle - .4byte gText_ThePC - - .align 2 -gReturnToXStringsTable2:: @ 85E91B0 - .4byte gText_TheField - .4byte gText_TheBattle - .4byte gText_ThePokemonList - .4byte gText_TheField - - .align 2 -gText_ReturnToVar1:: @ 85E91C0 - .string "Return to\n{STR_VAR_1}.$" - -gText_ItemsPocket:: @ 85E91CE - .string "ITEMS$" - -gText_PokeBallsPocket:: @ 85E91D4 - .string "POKé BALLS$" - -gText_TMHMPocket:: @ 85E91DF - .string "TMs & HMs$" - -gText_BerriesPocket:: @ 85E91E9 - .string "BERRIES$" - -gText_KeyItemsPocket:: @ 85E91F1 - .string "KEY ITEMS$" - - .align 2 -gPocketNamesStringsTable:: @ 85E91FC - .4byte gText_ItemsPocket - .4byte gText_PokeBallsPocket - .4byte gText_TMHMPocket - .4byte gText_BerriesPocket - .4byte gText_KeyItemsPocket - - .align 2 -gText_UnkF908Var1Clear7Var2:: @ 85E9210 - .string "{UNK_CTRL_F908}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}$" - -gText_ClearTo11Var1Clear5Var2:: @ 85E921A - .string "{CLEAR_TO 0x11}{STR_VAR_1}{CLEAR 0x05}{STR_VAR_2}$" - -gText_SizeSlash:: @ 85E9225 - .string "SIZE /$" - -gText_FirmSlash:: @ 85E922C - .string "FIRM /$" - -gText_Var1DotVar2:: @ 85E9233 - .string "{STR_VAR_1}.{STR_VAR_2}”$" - - .include "data/text/berry_firmness_strings.inc" - -gText_UnkF908Var1Var2:: @ 85E9263 - .string "{UNK_CTRL_F908}{STR_VAR_1} {STR_VAR_2}$" - -gText_BerryTag:: @ 85E926B - .string "BERRY TAG$" - -gText_RedPokeblock:: @ 85E9275 - .string "RED {POKEBLOCK}$" - -gText_BluePokeblock:: @ 85E927F - .string "BLUE {POKEBLOCK}$" - -gText_PinkPokeblock:: @ 85E928A - .string "PINK {POKEBLOCK}$" - -gText_GreenPokeblock:: @ 85E9295 - .string "GREEN {POKEBLOCK}$" - -gText_YellowPokeblock:: @ 85E92A1 - .string "YELLOW {POKEBLOCK}$" - -gText_PurplePokeblock:: @ 85E92AE - .string "PURPLE {POKEBLOCK}$" - -gText_IndigoPokeblock:: @ 85E92BB - .string "INDIGO {POKEBLOCK}$" - -gText_BrownPokeblock:: @ 85E92C8 - .string "BROWN {POKEBLOCK}$" - -gText_LiteBluePokeblock:: @ 85E92D4 - .string "LITEBLUE {POKEBLOCK}$" - -gText_OlivePokeblock:: @ 85E92E3 - .string "OLIVE {POKEBLOCK}$" - -gText_GrayPokeblock:: @ 85E92EF - .string "GRAY {POKEBLOCK}$" - -gText_BlackPokeblock:: @ 85E92FA - .string "BLACK {POKEBLOCK}$" - -gText_WhitePokeblock:: @ 85E9306 - .string "WHITE {POKEBLOCK}$" - -gText_GoldPokeblock:: @ 85E9312 - .string "GOLD {POKEBLOCK}$" - -gText_Spicy:: @ 85E931D - .string "SPICY$" - -gText_Dry:: @ 85E9323 - .string "DRY$" - -gText_Sweet:: @ 85E9327 - .string "SWEET$" - -gText_Bitter:: @ 85E932D - .string "BITTER$" - -gText_Sour:: @ 85E9334 - .string "SOUR$" - -gUnknown_085E9339:: @ 85E9339 - .string "TASTY$" - -gUnknown_085E933F:: @ 85E933F - .string "FEEL$" - -gText_StowCase:: @ 85E9344 - .string "Stow CASE.$" - -gText_LvVar1:: @ 85E934F - .string "{LV}{STR_VAR_1}$" - -gText_ThrowAwayVar1:: @ 85E9353 - .string "Throw away this\n{STR_VAR_1}?$" - -gText_Var1ThrownAway:: @ 85E9367 - .string "The {STR_VAR_1}\nwas thrown away.$" - -gText_Var1AteTheVar2:: @ 85E937F - .string "{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gText_Var1HappilyAteVar2:: @ 85E9390 - .string "{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gText_Var1DisdainfullyAteVar2:: @ 85E93A9 - .string "{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gUnknown_085E93C7:: @ 85E93C7 - .string "BUY$" - -gUnknown_085E93CB:: @ 85E93CB - .string "SELL$" - -gUnknown_085E93D0:: @ 85E93D0 - .string "QUIT$" - -gText_InBagVar1:: @ 85E93D5 - .string "IN BAG: {STR_VAR_1}$" - -gText_QuitShopping:: @ 85E93E0 - .string "Quit shopping.$" - -gText_Var1CertainlyHowMany:: @ 85E93EF - .string "{STR_VAR_1}? Certainly.\nHow many would you like?$" - -gText_Var1CertainlyHowMany2:: @ 85E9417 - .string "{STR_VAR_1}? Certainly.\nHow many would you like?$" - -gText_Var1AndYouWantedVar2:: @ 85E943F - .string "{STR_VAR_1}? And you wanted {STR_VAR_2}?\nThat will be ¥{STR_VAR_3}.$" - -gText_Var1IsItThatllBeVar2:: @ 85E9468 - .string "{STR_VAR_1}, is it?\nThat’ll be ¥{STR_VAR_2}. Do you want it?$" - -gText_YouWantedVar1ThatllBeVar2:: @ 85E9493 - .string "You wanted {STR_VAR_1}?\nThat’ll be ¥{STR_VAR_2}. Will that be okay?$" - -gText_HereYouGoThankYou:: @ 85E94C5 - .string "Here you go!\nThank you very much.$" - -gText_ThankYouIllSendItHome:: @ 85E94E7 - .string "Thank you!\nI’ll send it to your home PC.$" - -gText_ThanksIllSendItHome:: @ 85E9510 - .string "Thanks!\nI’ll send it to your PC at home.$" - -gText_YouDontHaveMoney:: @ 85E9539 - .string "You don’t have enough money.{PAUSE_UNTIL_PRESS}$" - -gText_NoMoreRoomForThis:: @ 85E9558 - .string "You have no more room for this\nitem.{PAUSE_UNTIL_PRESS}$" - -gText_SpaceForVar1Full:: @ 85E957F - .string "The space for {STR_VAR_1} is full.{PAUSE_UNTIL_PRESS}$" - -gText_AnythingElseICanHelp:: @ 85E959B - .string "Is there anything else I can help\nyou with?$" - -gText_CanIHelpWithAnythingElse:: @ 85E95C7 - .string "Can I help you with anything else?$" - -gText_ThrowInPremierBall:: @ 85E95EA - .string "I’ll throw in a PREMIER BALL, too.{PAUSE_UNTIL_PRESS}$" - -gText_CantBuyKeyItem:: @ 85E960F - .string "{STR_VAR_2}? Oh, no.\nI can’t buy that.{PAUSE_UNTIL_PRESS}$" - -gText_HowManyToSell:: @ 85E962F - .string "{STR_VAR_2}?\nHow many would you like to sell?$" - -gText_ICanPayVar1:: @ 85E9654 - .string "I can pay ¥{STR_VAR_1}.\nWould that be okay?$" - -gText_TurnedOverVar1ForVar2:: @ 85E9677 - .string "Turned over the {STR_VAR_2}\nand received ¥{STR_VAR_1}.$" - -gText_PokedollarVar1:: @ 85E969C - .string "¥{STR_VAR_1}$" - -gText_Shift:: @ 85E96A0 - .string "SHIFT$" - -gText_SendOut:: @ 85E96A6 - .string "SEND OUT$" - -gText_Switch2:: @ 85E96AF - .string "SWITCH$" - -gText_Summary5:: @ 85E96B6 - .string "SUMMARY$" - -gUnknown_085E96BE:: @ 85E96BE - .string "MOVES$" - -gText_Enter:: @ 85E96C4 - .string "ENTER$" - -gText_NoEntry:: @ 85E96CA - .string "NO ENTRY$" - -gText_Take2:: @ 85E96D3 - .string "TAKE$" - -gText_Read2:: @ 85E96D8 - .string "READ$" - -gText_Trade4:: @ 85E96DD - .string "TRADE$" - -gText_HP3:: @ 85E96E3 - .string "HP$" - -gText_SpAtk3:: @ 85E96E6 - .string "SP. ATK$" - -gText_SpDef3:: @ 85E96EE - .string "SP. DEF$" - -gText_WontHaveEffect:: @ 85E96F6 - .string "It won’t have any effect.{PAUSE_UNTIL_PRESS}$" - -gText_CantBeUsedOnPkmn:: @ 85E9712 - .string "This can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnCantSwitchOut:: @ 85E9738 - .string "{STR_VAR_1} can’t be switched\nout!{PAUSE_UNTIL_PRESS}$" - -gText_PkmnAlreadyInBattle:: @ 85E9754 - .string "{STR_VAR_1} is already\nin battle!{PAUSE_UNTIL_PRESS}$" - -gText_PkmnAlreadySelected:: @ 85E976F - .string "{STR_VAR_1} has already been\nselected.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnHasNoEnergy:: @ 85E978F - .string "{STR_VAR_1} has no energy\nleft to battle!{PAUSE_UNTIL_PRESS}$" - -gText_CantSwitchWithAlly:: @ 85E97B2 - .string "You can’t switch {STR_VAR_1}’s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}$" - -gText_EggCantBattle:: @ 85E97E5 - .string "An EGG can’t battle!{PAUSE_UNTIL_PRESS}$" - -gText_CantUseUntilNewBadge:: @ 85E97FC - .string "This can’t be used until a new\nBADGE is obtained.{PAUSE_UNTIL_PRESS}$" - -gText_NoMoreThanVar1Pkmn:: @ 85E9830 - .string "No more than {STR_VAR_1} POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}$" - -gText_SendMailToPC:: @ 85E9855 - .string "Send the removed MAIL to\nyour PC?$" - -gText_MailSentToPC:: @ 85E9877 - .string "The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}$" - -gText_PCMailboxFull:: @ 85E9897 - .string "Your PC’s MAILBOX is full.{PAUSE_UNTIL_PRESS}$" - -gText_MailMessageWillBeLost:: @ 85E98B4 - .string "If the MAIL is removed, the\nmessage will be lost. Okay?$" - -gText_RemoveMailBeforeItem:: @ 85E98EC - .string "MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnWasGivenItem:: @ 85E991B - .string "{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}$" - -gText_SwitchPkmnItem:: @ 85E993A - .string "{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?$" - -gText_PkmnNotHolding:: @ 85E9980 - .string "{STR_VAR_1} isn’t holding\nanything.{PAUSE_UNTIL_PRESS}$" - -gText_RecievedItemFromPkmn:: @ 85E999D - .string "Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$" - -gText_MailTakenFromPkmn:: @ 85E99B8 - .string "MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}$" - -gText_SwitchedPkmnItem:: @ 85E99DB - .string "The {STR_VAR_2} was taken and\nreplaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnHoldingItemCantHoldMail:: @ 85E9A08 - .string "This POKéMON is holding an\nitem. It cannot hold MAIL.{PAUSE_UNTIL_PRESS}$" - -gText_MailTransferredFromMailbox:: @ 85E9A40 - .string "MAIL was transferred from\nthe MAILBOX.{PAUSE_UNTIL_PRESS}$" - -gText_BagFullCouldNotRemoveItem:: @ 85E9A69 - .string "The BAG is full. The POKéMON’s\nitem could not be removed.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnLearnedMove3:: @ 85E9AA5 - .string "{STR_VAR_1} learned\n{STR_VAR_2}!$" - -gText_PkmnCantLearnMove:: @ 85E9AB4 - .string "{STR_VAR_1} and {STR_VAR_2}\nare not compatible.\p{STR_VAR_2} can’t be\nlearned.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnNeedsToReplaceMove:: @ 85E9AE9 - .string "{STR_VAR_1} wants to learn the\nmove {STR_VAR_2}.\pHowever, {STR_VAR_1} already\nknows four moves.\pShould a move be deleted and\nreplaced with {STR_VAR_2}?$" - -gText_StopLearningMove2:: @ 85E9B5D - .string "Stop trying to teach\n{STR_VAR_2}?$" - -gText_MoveNotLearned:: @ 85E9B76 - .string "{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gText_WhichMoveToForget:: @ 85E9B96 - .string "Which move should be forgotten?{PAUSE_UNTIL_PRESS}$" - -gText_12PoofForgotMove:: @ 85E9BB8 - .string "1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p{STR_VAR_1} forgot how to\nuse {STR_VAR_2}.\pAnd…{PAUSE_UNTIL_PRESS}$" - -gText_PkmnAlreadyKnows:: @ 85E9C00 - .string "{STR_VAR_1} already knows\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnHPRestoredByVar2:: @ 85E9C17 - .string "{STR_VAR_1}’s HP was restored\nby {STR_VAR_2} point(s).{PAUSE_UNTIL_PRESS}$" - -gText_PkmnCuredOfPoison:: @ 85E9C3E - .string "{STR_VAR_1} was cured of its\npoisoning.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnCuredOfParalysis:: @ 85E9C5F - .string "{STR_VAR_1} was cured of\nparalysis.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnWokeUp2:: @ 85E9C7C - .string "{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnBurnHealed:: @ 85E9C8A - .string "{STR_VAR_1}’s burn was healed.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnThawedOut:: @ 85E9CA2 - .string "{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}$" - -gText_PPWasRestored:: @ 85E9CB7 - .string "PP was restored.{PAUSE_UNTIL_PRESS}$" - -gUnknown_085E9CCA:: @ 85E9CCA - .string "{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnBecameHealthy:: @ 85E9CE0 - .string "{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}$" - -gText_MovesPPIncreased:: @ 85E9CF5 - .string "{STR_VAR_1}’s PP increased.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnElevatedToLvVar2:: @ 85E9D0A - .string "{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}.$" - -gText_PkmnBaseVar2StatIncreased:: @ 85E9D25 - .string "{STR_VAR_1}’s base {STR_VAR_2}\nstat was raised.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnFriendlyBaseVar2Fell:: @ 85E9D45 - .string "{STR_VAR_1} turned friendly.\nThe base {STR_VAR_2} fell!{PAUSE_UNTIL_PRESS}$" - -gText_PkmnAdoresBaseVar2Fell:: @ 85E9D6D - .string "{STR_VAR_1} adores you!\nThe base {STR_VAR_2} fell!{PAUSE_UNTIL_PRESS}$" - -gText_PkmnFriendlyBaseVar2CantFall:: @ 85E9D90 - .string "{STR_VAR_1} turned friendly.\nThe base {STR_VAR_2} can’t fall!{PAUSE_UNTIL_PRESS}$" - -gText_PkmnSnappedOutOfConfusion:: @ 85E9DBE - .string "{STR_VAR_1} snapped out of its\nconfusion.{PAUSE_UNTIL_PRESS}$" - -gText_PkmnGotOverInfatuation:: @ 85E9DE1 - .string "{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}$" - -gText_ThrowAwayItem:: @ 85E9E00 - .string "Throw away this\n{STR_VAR_1}?$" - -gText_ItemThrownAway:: @ 85E9E14 - .string "The {STR_VAR_1}\nwas thrown away.{PAUSE_UNTIL_PRESS}$" - -gUnknown_085E9E2E:: @ 85E9E2E - .string "Teach which POKéMON?$" - -gUnknown_085E9E43:: @ 85E9E43 - .string "Choose a POKéMON.$" - -gUnknown_085E9E55:: @ 85E9E55 - .string "Move to where?$" - -gUnknown_085E9E64:: @ 85E9E64 - .string "Teach which POKéMON?$" - -gUnknown_085E9E79:: @ 85E9E79 - .string "Use on which POKéMON?$" - -gUnknown_085E9E8F:: @ 85E9E8F - .string "Give to which POKéMON?$" - -gUnknown_085E9EA6:: @ 85E9EA6 - .string "Do what with this {PKMN}?$" - -gUnknown_085E9EBC:: @ 85E9EBC - .string "There’s nothing to CUT.$" - -gUnknown_085E9ED4:: @ 85E9ED4 - .string "You can’t SURF here.$" - -gUnknown_085E9EE9:: @ 85E9EE9 - .string "You’re already SURFING.$" - -gUnknown_085E9F01:: @ 85E9F01 - .string "Can’t use that here.$" - -gUnknown_085E9F16:: @ 85E9F16 - .string "Restore which move?$" - -gUnknown_085E9F2A:: @ 85E9F2A - .string "Boost PP of which move?$" - -gUnknown_085E9F42:: @ 85E9F42 - .string "Do what with an item?$" - -gUnknown_085E9F58:: @ 85E9F58 - .string "No POKéMON for battle!$" - -gUnknown_085E9F6F:: @ 85E9F6F - .string "Choose a POKéMON.$" - -gUnknown_085E9F81:: @ 85E9F81 - .string "Not enough HP…$" - -gUnknown_085E9F90:: @ 85E9F90 - .string "{STR_VAR_1} POKéMON are needed.$" - -gUnknown_085E9FA7:: @ 85E9FA7 - .string "POKéMON can’t be the same.$" - -gUnknown_085E9FC2:: @ 85E9FC2 - .string "No identical hold items.$" - -gUnknown_085E9FDB:: @ 85E9FDB - .string "The current is much too fast!$" - -gUnknown_085E9FF9:: @ 85E9FF9 - .string "Do what with the MAIL?$" - -gUnknown_085EA010:: @ 85EA010 - .string "Choose POKéMON or CANCEL.$" - -gUnknown_085EA02A:: @ 85EA02A - .string "Choose POKéMON and confirm.$" - -gUnknown_085EA046:: @ 85EA046 - .string "Let’s enjoy cycling!$" - -gUnknown_085EA05B:: @ 85EA05B - .string "This is in use already.$" - -gUnknown_085EA073:: @ 85EA073 - .string "{STR_VAR_1} is already holding\none {STR_VAR_2}.$" - -gUnknown_085EA091:: @ 85EA091 - .string "No use.$" - -gUnknown_085EA099:: @ 85EA099 - .string "ABLE$" - -gUnknown_085EA09E:: @ 85EA09E - .string "FIRST$" - -gUnknown_085EA0A4:: @ 85EA0A4 - .string "SECOND$" - -gUnknown_085EA0AB:: @ 85EA0AB - .string "THIRD$" - -gUnknown_085EA0B1:: @ 85EA0B1 - .string "ABLE$" - -gUnknown_085EA0B6:: @ 85EA0B6 - .string "NOT ABLE$" - -gUnknown_085EA0BF:: @ 85EA0BF - .string "ABLE!$" - -gUnknown_085EA0C5:: @ 85EA0C5 - .string "NOT ABLE!$" - -gUnknown_085EA0CF:: @ 85EA0CF - .string "LEARNED$" - -gUnknown_085EA0D7:: @ 85EA0D7 - .string "HAVE$" - -gUnknown_085EA0DC:: @ 85EA0DC - .string "DON’T HAVE$" - -gUnknown_085EA0E7:: @ 85EA0E7 - .string "FOURTH$" - -gText_PkmnCantParticipate:: @ 85EA0EE - .string "That POKéMON can’t participate.{PAUSE_UNTIL_PRESS}$" - -gText_CancelParticipation:: @ 85EA110 - .string "Cancel participation?$" - -gText_CancelBattle:: @ 85EA126 - .string "Cancel the battle?$" - -gText_ReturnToWaitingRoom:: @ 85EA139 - .string "Return to the WAITING ROOM?$" - -gText_CancelChallenge:: @ 85EA155 - .string "Cancel the challenge?$" - -gText_EscapeFromHere:: @ 85EA16B - .string "Want to escape from here and return\nto {STR_VAR_1}?$" - -gText_ReturnToHealingSpot:: @ 85EA196 - .string "Want to return to the healing spot\nused last in {STR_VAR_1}?$" - -gText_PauseUntilPress:: @ 85EA1CA - .string "{PAUSE_UNTIL_PRESS}$" - -gJPText_PutVar1IntoSpinner:: @ 85EA1CD - .string "{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?$" @ "{STR_VAR_1}wo gurugurukoukanni\ndashite yoroshiidesuka?" ("do you want to put {STR_VAR_1} into the spinner?" in Japanese) - - .align 2 -gText_OnlyPkmnForBattle:: @ 85EA1E8 - .string "That’s your only\nPOKéMON for battle.$" - - .align 2 -gText_PkmnCantBeTradedNow:: @ 85EA210 - .string "That POKéMON can’t be traded\nnow.$" - - .align 2 -gText_EggCantBeTradedNow:: @ 85EA234 - .string "An EGG can’t be traded now.$" - - .align 2 -gText_OtherTrainersPkmnCantBeTraded:: @ 85EA250 - .string "The other TRAINER’s POKéMON\ncan’t be traded now.$" - - .align 2 -gText_OtherTrainerCantAcceptPkmn:: @ 85EA284 - .string "The other TRAINER can’t accept\nthat POKéMON now.$" - - .align 2 -gText_CantTradeWithTrainer:: @ 85EA2B8 - .string "You can’t trade with that\nTRAINER now.$" - - .align 2 -gText_NotPkmnOtherTrainerWants:: @ 85EA2E0 - .string "That isn’t the type of POKéMON\nthat the other TRAINER wants.$" - - .align 2 -gText_ThatIsntAnEgg:: @ 85EA320 - .string "That isn’t an EGG.$" - -gText_Register:: @ 85EA333 - .string "REGISTER$" - -gText_Attack3:: @ 85EA33C - .string "ATTACK$" - -gText_Defense3:: @ 85EA343 - .string "DEFENSE$" - -gText_SpAtk4:: @ 85EA34B - .string "SP. ATK$" - -gText_SpDef4:: @ 85EA353 - .string "SP. DEF$" - -gText_Speed2:: @ 85EA35B - .string "SPEED$" - -gText_HP4:: @ 85EA361 - .string "HP$" - -gUnknown_085EA364:: @ 85EA364 - .string "$" - -gText_OTSlash:: @ 85EA365 - .string "OT/$" - -gText_RentalPkmn:: @ 85EA369 - .string "RENTAL POKéMON$" - -gText_TypeSlash:: @ 85EA378 - .string "TYPE/$" - -gText_Power:: @ 85EA37E - .string "POWER$" - -gText_Accuracy2:: @ 85EA384 - .string "ACCURACY$" - -gText_Appeal:: @ 85EA38D - .string "APPEAL$" - -gText_Jam:: @ 85EA394 - .string "JAM$" - -gText_Status:: @ 85EA398 - .string "STATUS$" - -gText_ExpPoints:: @ 85EA39F - .string "EXP. POINTS$" - -gText_NextLv:: @ 85EA3AB - .string "NEXT LV.$" - -gText_RibbonsVar1:: @ 85EA3B4 - .string "RIBBONS: {STR_VAR_1}$" - -gText_EmptyString5:: @ 85EA3C0 - .string "$" - -gUnknown_085EA3C1:: @ 85EA3C1 - .string "EVENTS$" - -gText_Switch:: @ 85EA3C8 - .string "SWITCH$" - -gText_PkmnInfo:: @ 85EA3CF - .string "POKéMON INFO$" - -gText_PkmnSkills:: @ 85EA3DC - .string "POKéMON SKILLS$" - -gText_BattleMoves:: @ 85EA3EB - .string "BATTLE MOVES$" - -gText_ContestMoves:: @ 85EA3F8 - .string "C0NTEST MOVES$" - -gText_Info:: @ 85EA406 - .string "INFO$" - -gText_EggWillTakeALongTime:: @ 85EA40B - .string "It looks like this EGG will\ntake a long time to hatch.$" - -gText_EggWillTakeSomeTime:: @ 85EA442 - .string "What will hatch from this?\nIt will take some time.$" - -gText_EggWillHatchSoon:: @ 85EA475 - .string "It moves occasionally.\nIt should hatch soon.$" - -gText_EggAboutToHatch:: @ 85EA4A2 - .string "It’s making sounds.\nIt’s about to hatch!$" - -gText_HMMovesCantBeForgotten2:: @ 85EA4CB - .string "HM moves can’t be\nforgotten now.$" - -gText_XNatureMetAtYZ:: @ 85EA4EC - .string "{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nmet at {UNK_CTRL_F905}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01},\n{SPECIAL_F7 0x00}{SPECIAL_F7 0x04}{SPECIAL_F7 0x01}.$" - -gText_XNatureHatchedAtYZ:: @ 85EA516 - .string "{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nhatched at {UNK_CTRL_F905}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01},\n{SPECIAL_F7 0x00}{SPECIAL_F7 0x04}{SPECIAL_F7 0x01}.$" - -gText_XNatureObtainedInTrade:: @ 85EA544 - .string "{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nobtained in a trade.$" - -gText_XNatureFatefulEncounter:: @ 85EA56A - .string "{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nobtained in a fateful\nencounter at {UNK_CTRL_F905}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01}.$" - -gText_XNatureProbablyMetAt:: @ 85EA5A8 - .string "{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nprobably met at {UNK_CTRL_F905}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01},\n{SPECIAL_F7 0x00}{SPECIAL_F7 0x04}{SPECIAL_F7 0x01}.$" - -gText_XNature:: @ 85EA5DB - .string "{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature$" - -gText_XNatureMetSomewhereAt:: @ 85EA5EB - .string "{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nmet somewhere at {UNK_CTRL_F905}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01}.$" - -gText_XNatureHatchedSomewhereAt:: @ 85EA617 - .string "{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nhatched somewhere at {UNK_CTRL_F905}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01}.$" - -gText_OddEggFoundByCouple:: @ 85EA647 - .string "An odd POKéMON EGG found\nby the DAY CARE couple.$" - -gText_PeculiarEggNicePlace:: @ 85EA678 - .string "A peculiar POKéMON EGG\nobtained at the nice place.$" - -gText_PeculiarEggTrade:: @ 85EA6AB - .string "A peculiar POKéMON EGG\nobtained in a trade.$" - -gText_EggFromHotSprings:: @ 85EA6D7 - .string "A POKéMON EGG obtained\nat the hot springs.$" - -gText_EggFromTraveler:: @ 85EA702 - .string "An odd POKéMON EGG\nobtained from a traveler.$" - -gText_ApostropheSBase:: @ 85EA72F - .string "’s BASE$" - -gText_OkayToDeleteFromRegistry:: @ 85EA737 - .string "Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?$" - -gText_RegisteredDataDeleted:: @ 85EA762 - .string "The registered data was deleted.{PAUSE_UNTIL_PRESS}$" - -gText_NoRegistry:: @ 85EA785 - .string "There is no REGISTRY.{PAUSE_UNTIL_PRESS}$" - -gUnknown_085EA79D:: @ 85EA79D - .string "DEL REGIST.$" - -gUnknown_085EA7A9:: @ 85EA7A9 - .string "{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}$" - -gText_Decorate:: @ 85EA7B1 - .string "DECORATE$" - -gText_PutAway:: @ 85EA7BA - .string "PUT AWAY$" - -gText_Toss2:: @ 85EA7C3 - .string "TOSS$" - -gText_Color161Shadow161:: @ 85EA7C8 - .string "{COLOR 161}{SHADOW 161}$" - -gText_PutOutSelectedDecorItem:: @ 85EA7CF - .string "Put out the selected decoration item.$" - -gText_StoreChosenDecorInPC:: @ 85EA7F5 - .string "Store the chosen decoration in the PC.$" - -gText_ThrowAwayUnwantedDecors:: @ 85EA81C - .string "Throw away unwanted decorations.$" - -gText_NoDecorations:: @ 85EA83D - .string "There are no decorations.{PAUSE_UNTIL_PRESS}$" - -gText_Desk:: @ 85EA859 - .string "DESK$" - -gText_Chair:: @ 85EA85E - .string "CHAIR$" - -gText_Plant:: @ 85EA864 - .string "PLANT$" - -gText_Ornament:: @ 85EA86A - .string "ORNAMENT$" - -gText_Mat:: @ 85EA873 - .string "MAT$" - -gText_Poster:: @ 85EA877 - .string "POSTER$" - -gText_Doll:: @ 85EA87E - .string "DOLL$" - -gText_Cushion:: @ 85EA883 - .string "CUSHION$" - -gText_Gold:: @ 85EA88B - .string "GOLD$" - -gText_Silver:: @ 85EA890 - .string "SILVER$" - -gText_PlaceItHere:: @ 85EA897 - .string "Place it here?$" - -gText_CantBePlacedHere:: @ 85EA8A6 - .string "It can’t be placed here.$" - -gText_CancelDecorating:: @ 85EA8BF - .string "Cancel decorating?$" - -gText_InUseAlready:: @ 85EA8D2 - .string "This is in use already.$" - -gText_NoMoreDecorations:: @ 85EA8EA - .string "No more decorations can be placed.\nThe most that can be placed are {STR_VAR_1}.$" - -gText_NoMoreDecorations2:: @ 85EA931 - .string "No more decorations can be placed.\nThe most that can be placed are {STR_VAR_1}.$" - -gUnknown_085EA978:: @ 85EA978 - .string "This can’t be placed here.\nIt must be on a DESK, etc.$" - -gText_CantPlaceInRoom:: @ 85EA9AE - .string "This decoration can’t be placed in\nyour own room.$" - -gText_CantThrowAwayInUse:: @ 85EA9E0 - .string "This decoration is in use.\nIt can’t be thrown away.$" - -gText_DecorationWillBeDiscarded:: @ 85EAA14 - .string "This {STR_VAR_1} will be discarded.\nIs that okay?$" - -gText_DecorationThrownAway:: @ 85EAA3D - .string "The decoration item was thrown away.$" - -gText_StopPuttingAwayDecorations:: @ 85EAA62 - .string "Stop putting away decorations?$" - -gText_NoDecorationHere:: @ 85EAA81 - .string "There is no decoration item here.$" - -gText_ReturnDecorationToPC:: @ 85EAAA3 - .string "Return this decoration to the PC?$" - -gText_DecorationReturnedToPC:: @ 85EAAC5 - .string "The decoration was returned to the PC.$" - -gText_NoDecorationsInUse:: @ 85EAAEC - .string "There are no decorations in use.{PAUSE_UNTIL_PRESS}$" - -gText_Tristan:: @ 85EAB0F - .string "TRISTAN$" - -gText_Philip:: @ 85EAB17 - .string "PHILIP$" - -gText_Dennis:: @ 85EAB1E - .string "DENNIS$" - -gText_Roberto:: @ 85EAB25 - .string "ROBERTO$" - -gText_TurnOff:: @ 85EAB2D - .string "TURN OFF$" - -gText_Decoration:: @ 85EAB36 - .string "DECORATION$" - -gText_ItemStorage:: @ 85EAB41 - .string "ITEM STORAGE$" - -gText_Mailbox:: @ 85EAB4E - .string "MAILBOX$" - -gText_DepositItem:: @ 85EAB56 - .string "DEPOSIT ITEM$" - -gText_WithdrawItem:: @ 85EAB63 - .string "WITHDRAW ITEM$" - -gText_TossItem:: @ 85EAB71 - .string "TOSS ITEM$" - -gText_StoreItemsInPC:: @ 85EAB7B - .string "Store items in the PC.$" - -gText_TakeOutItemsFromPC:: @ 85EAB92 - .string "Take out items from the PC.$" - -gText_ThrowAwayItemsInPC:: @ 85EABAE - .string "Throw away items stored in the PC.$" - -gText_NoItems:: @ 85EABD1 - .string "There are no items.{PAUSE_UNTIL_PRESS}$" - -gText_NoRoomInBag:: @ 85EABE7 - .string "There is no more\nroom in the BAG.$" - -gText_WithdrawHowManyItems:: @ 85EAC09 - .string "Withdraw how many\n{STR_VAR_1}(s)?$" - -gText_WithdrawXItems:: @ 85EAC22 - .string "Withdrew {STR_VAR_2}\n{STR_VAR_1}(s).$" - -gText_Read:: @ 85EAC35 - .string "READ$" - -gText_MoveToBag:: @ 85EAC3A - .string "MOVE TO BAG$" - -gText_Give2:: @ 85EAC46 - .string "GIVE$" - -gText_NoMailHere:: @ 85EAC4B - .string "There’s no MAIL here.{PAUSE_UNTIL_PRESS}$" - -gText_WhatToDoWithVar1sMail:: @ 85EAC63 - .string "What would you like to do with\n{STR_VAR_1}’s MAIL?$" - -gText_MessageWillBeLost:: @ 85EAC8D - .string "The message will be lost.\nIs that okay?$" - -gText_BagIsFull:: @ 85EACB5 - .string "The BAG is full.{PAUSE_UNTIL_PRESS}$" - -gText_MailToBagMessageErased:: @ 85EACC8 - .string "The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}$" - -gText_Dad:: @ 85EAD04 - .string "DAD$" - -gText_Mom:: @ 85EAD08 - .string "MOM$" - -gText_Wallace:: @ 85EAD0C - .string "WALLACE$" - -gText_Steven:: @ 85EAD14 - .string "STEVEN$" - -gText_Brawly:: @ 85EAD1B - .string "BRAWLY$" - -gText_Winona:: @ 85EAD22 - .string "WINONA$" - -gText_Phoebe:: @ 85EAD29 - .string "PHOEBE$" - -gText_Glacia:: @ 85EAD30 - .string "GLACIA$" - -gUnknown_085EAD37:: @ 85EAD37 - .string "PETALBURG$" - -gUnknown_085EAD41:: @ 85EAD41 - .string "SLATEPORT$" - -gUnknown_085EAD4B:: @ 85EAD4B - .string "LITTLEROOT$" - -gUnknown_085EAD56:: @ 85EAD56 - .string "LILYCOVE$" - -gUnknown_085EAD5F:: @ 85EAD5F - .string "DEWFORD$" - -gUnknown_085EAD67:: @ 85EAD67 - .string "ENTER$" - -gUnknown_085EAD6D:: @ 85EAD6D - .string "INFO$" - -gUnknown_085EAD72:: @ 85EAD72 - .string "What’s a CONTEST?$" - -gUnknown_085EAD84:: @ 85EAD84 - .string "Types of CONTESTS$" - -gUnknown_085EAD96:: @ 85EAD96 - .string "Ranks$" - -gUnknown_085EAD9C:: @ 85EAD9C - .string "Judging$" - -gUnknown_085EADA4:: - .string "COOLNESS CONTEST$" - -gUnknown_085EADB5:: - .string "BEAUTY CONTEST$" - -gUnknown_085EADC4:: - .string "CUTENESS CONTEST$" - -gUnknown_085EADD5:: - .string "SMARTNESS CONTEST$" - -gUnknown_085EADE7:: - .string "TOUGHNESS CONTEST$" - -gUnknown_085EADF9:: @ 85EADF9 - .string "DECORATION$" - -gUnknown_085EAE04:: @ 85EAE04 - .string "PACK UP$" - -gUnknown_085EAE0C:: @ 85EAE0C - .string "COUNT$" - -gUnknown_085EAE12:: @ 85EAE12 - .string "REGISTRY$" - -gUnknown_085EAE1B:: @ 85EAE1B - .string "INFORMATION$" - -gUnknown_085EAE27:: @ 85EAE27 - .string "MACH$" - -gUnknown_085EAE2C:: @ 85EAE2C - .string "ACRO$" - -gUnknown_085EAE31:: @ 85EAE31 - .string "PSN$" - -gUnknown_085EAE35:: @ 85EAE35 - .string "PAR$" - -gUnknown_085EAE39:: @ 85EAE39 - .string "SLP$" - -gUnknown_085EAE3D:: @ 85EAE3D - .string "BRN$" - -gUnknown_085EAE41:: @ 85EAE41 - .string "FRZ$" - -gUnknown_085EAE45:: @ 85EAE45 - .string "TOXIC$" - -gUnknown_085EAE4B:: @ 85EAE4B - .string "OK$" - -gUnknown_085EAE4E:: @ 85EAE4E - .string "QUIT$" - -gUnknown_085EAE53:: @ 85EAE53 - .string "Saw it$" - -gUnknown_085EAE5A:: @ 85EAE5A - .string "Not yet$" - -gText_Yes:: @ 85EAE62 - .string "YES$" - -gText_No:: @ 85EAE66 - .string "NO$" - -gUnknown_085EAE69:: @ 85EAE69 - .string "INFO$" - -gUnknown_085EAE6E:: @ 85EAE6E - .string "SINGLE BATTLE$" - -gUnknown_085EAE7C:: @ 85EAE7C - .string "DOUBLE BATTLE$" - -gUnknown_085EAE8A:: @ 85EAE8A - .string "MULTI BATTLE$" - -gUnknown_085EAE97:: @ 85EAE97 - .string "MR. BRINEY$" - -gUnknown_085EAEA2:: @ 85EAEA2 - .string "CHALLENGE$" - -gUnknown_085EAEAC:: @ 85EAEAC - .string "INFO$" - -gText_Lv50:: @ 85EAEB1 - .string "LV. 50$" - -gText_OpenLevel:: @ 85EAEB8 - .string "OPEN LEVEL$" - -gUnknown_085EAEC3:: @ 85EAEC3 - .string "FRESH WATER{CLEAR_TO 0x48}¥200$" - -gUnknown_085EAED6:: @ 85EAED6 - .string "SODA POP{CLEAR_TO 0x48}¥300$" - -gUnknown_085EAEE6:: @ 85EAEE6 - .string "LEMONADE{CLEAR_TO 0x48}¥350$" - -gUnknown_085EAEF6:: @ 85EAEF6 - .string "HOW TO RIDE$" - -gUnknown_085EAF02:: @ 85EAF02 - .string "HOW TO TURN$" - -gUnknown_085EAF0E:: @ 85EAF0E - .string "SANDY SLOPES$" - -gUnknown_085EAF1B:: @ 85EAF1B - .string "WHEELIES$" - -gUnknown_085EAF24:: @ 85EAF24 - .string "BUNNY-HOPS$" - -gUnknown_085EAF2F:: @ 85EAF2F - .string "JUMP$" - -gUnknown_085EAF34:: @ 85EAF34 - .string "Satisfied$" - -gUnknown_085EAF3E:: @ 85EAF3E - .string "Dissatisfied$" - -gUnknown_085EAF4B:: @ 85EAF4B - .string "DEEPSEATOOTH$" - -gUnknown_085EAF58:: @ 85EAF58 - .string "DEEPSEASCALE$" - -gUnknown_085EAF65:: @ 85EAF65 - .string "BLUE FLUTE$" - -gUnknown_085EAF70:: @ 85EAF70 - .string "YELLOW FLUTE$" - -gUnknown_085EAF7D:: @ 85EAF7D - .string "RED FLUTE$" - -gUnknown_085EAF87:: @ 85EAF87 - .string "WHITE FLUTE$" - -gUnknown_085EAF93:: @ 85EAF93 - .string "BLACK FLUTE$" - -gUnknown_085EAF9F:: @ 85EAF9F - .string "GLASS CHAIR$" - -gUnknown_085EAFAB:: @ 85EAFAB - .string "GLASS DESK$" - -gUnknown_085EAFB6:: @ 85EAFB6 - .string "TREECKO DOLL 1,000 COINS$" - -gUnknown_085EAFCF:: @ 85EAFCF - .string "TORCHIC DOLL 1,000 COINS$" - -gUnknown_085EAFE8:: @ 85EAFE8 - .string "MUDKIP DOLL 1,000 COINS$" - -gUnknown_085EB002:: @ 85EB002 - .string " 50 COINS ¥1,000$" - -gUnknown_085EB017:: @ 85EB017 - .string "500 COINS ¥10,000$" - -gUnknown_085EB02A:: @ 85EB02A - .string "Excellent$" - -gUnknown_085EB034:: @ 85EB034 - .string "Not so good$" - -gUnknown_085EB040:: @ 85EB040 - .string "RED SHARD$" - -gUnknown_085EB04A:: @ 85EB04A - .string "YELLOW SHARD$" - -gUnknown_085EB057:: @ 85EB057 - .string "BLUE SHARD$" - -gUnknown_085EB062:: @ 85EB062 - .string "GREEN SHARD$" - -gText_BattleFrontier:: @ 85EB06E - .string "BATTLE FRONTIER$" - -gUnknown_085EB07E:: @ 85EB07E - .string "Right$" - -gUnknown_085EB084:: @ 85EB084 - .string "Left$" - -gUnknown_085EB089:: @ 85EB089 - .string "TM32{CLEAR_TO 0x48}1,500 COINS$" - -gUnknown_085EB09C:: @ 85EB09C - .string "TM29{CLEAR_TO 0x48}3,500 COINS$" - -gUnknown_085EB0AF:: @ 85EB0AF - .string "TM35{CLEAR_TO 0x48}4,000 COINS$" - -gUnknown_085EB0C2:: @ 85EB0C2 - .string "TM24{CLEAR_TO 0x48}4,000 COINS$" - -gUnknown_085EB0D5:: @ 85EB0D5 - .string "TM13{CLEAR_TO 0x48}4,000 COINS$" - -gText_Cool:: @ 85EB0E8 - .string "COOL$" - -gText_Beauty:: @ 85EB0ED - .string "BEAUTY$" - -gText_Cute:: @ 85EB0F4 - .string "CUTE$" - -gText_Smart:: @ 85EB0F9 - .string "SMART$" - -gText_Tough:: @ 85EB0FF - .string "TOUGH$" - -gText_Normal:: @ 85EB105 - .string "NORMAL$" - -gText_Super:: @ 85EB10C - .string "SUPER$" - -gText_Hyper:: @ 85EB112 - .string "HYPER$" - -gText_Master:: @ 85EB118 - .string "MASTER$" - -gText_Cool2:: @ 85EB11F - .string "COOL$" - -gText_Beauty2:: @ 85EB124 - .string "BEAUTY$" - -gText_Cute2:: @ 85EB12B - .string "CUTE$" - -gText_Smart2:: @ 85EB130 - .string "SMART$" - -gText_Tough2:: @ 85EB136 - .string "TOUGH$" - -gText_Items:: @ 85EB13C - .string "ITEMS$" - -gText_Key_Items:: @ 85EB142 - .string "KEY ITEMS$" - -gText_Poke_Balls:: @ 85EB14C - .string "POKé BALLS$" - -gText_TMs_Hms:: @ 85EB157 - .string "TMs & HMs$" - -gText_Berries2:: @ 85EB161 - .string "BERRIES$" - -gText_SomeonesPC:: @ 85EB169 - .string "SOMEONE’S PC$" - -gText_LanettesPC:: @ 85EB176 - .string "LANETTE’S PC$" - -gText_PlayersPC:: @ 85EB183 - .string "{PLAYER}’s PC$" - -gText_HallOfFame:: @ 85EB18B - .string "HALL OF FAME$" - -gText_LogOff:: @ 85EB198 - .string "LOG OFF$" - -gText_Opponent:: @ 85EB1A0 - .string "OPPONENT$" - -gText_Tourney_Tree:: @ 85EB1A9 - .string "TOURNEY TREE$" - -gText_ReadyToStart:: @ 85EB1B6 - .string "READY TO START$" - -gText_NormalRank:: @ 85EB1C5 - .string "NORMAL RANK$" - -gText_SuperRank:: @ 85EB1D1 - .string "SUPER RANK$" - -gText_HyperRank:: @ 85EB1DC - .string "HYPER RANK$" - -gText_MasterRank:: @ 85EB1E7 - .string "MASTER RANK$" - -gText_Single2:: @ 85EB1F3 - .string "SINGLE$" - -gText_Double2:: @ 85EB1FA - .string "DOUBLE$" - -gText_Multi:: @ 85EB201 - .string "MULTI$" - -gText_MultiLink:: @ 85EB207 - .string "MULTI-LINK$" - -gText_BattleBag:: @ 85EB212 - .string "BATTLE BAG$" - -gText_HeldItem:: @ 85EB21D - .string "HELD ITEM$" - -gText_LinkContest:: @ 85EB227 - .string "LINK CONTEST$" - -gText_AboutE_Mode:: @ 85EB234 - .string "ABOUT E-MODE$" - -gText_AboutG_Mode:: @ 85EB241 - .string "ABOUT G-MODE$" - -gText_E_Mode:: @ 85EB24E - .string "E-MODE$" - -gText_G_Mode:: @ 85EB255 - .string "G-MODE$" - -gText_MenuOptionPokedex:: @ 85EB25C - .string "POKéDEX$" - -gText_MenuOptionPokemon:: @ 85EB264 - .string "POKéMON$" - -gText_MenuOptionBag:: @ 85EB26C - .string "BAG$" - -gText_MenuOptionPokenav:: @ 85EB270 - .string "POKéNAV$" - -gUnknown_085EB278:: @ 85EB278 - .string "$" - -gText_MenuOptionSave:: @ 85EB279 - .string "SAVE$" - -gText_MenuOptionOption:: @ 85EB27E - .string "OPTION$" - -gText_MenuOptionExit:: @ 85EB285 - .string "EXIT$" - -gUnknown_085EB28A:: @ 85EB28A - .string " " - -gUnknown_085EB28C:: @ 85EB28C - .string "5BP$" - -gUnknown_085EB290:: @ 85EB290 - .string "10BP$" - -gUnknown_085EB295:: @ 85EB295 - .string "15BP$" - -gUnknown_085EB29A:: @ 85EB29A - .string "RED TENT$" - -gUnknown_085EB2A3:: @ 85EB2A3 - .string "BLUE TENT$" - -gText_SouthernIsland:: @ 85EB2AD - .string "SOUTHERN ISLAND$" - -gText_BirthIsland:: @ 85EB2BD - .string "BIRTH ISLAND$" - -gText_FarawayIsland:: @ 85EB2CA - .string "FARAWAY ISLAND$" - -gText_NavelRock:: @ 85EB2D9 - .string "NAVEL ROCK$" - -gUnknown_085EB2E4:: @ 85EB2E4 - .string "CLAW FOSSIL$" - -gUnknown_085EB2F0:: @ 85EB2F0 - .string "ROOT FOSSIL$" - -gUnknown_085EB2FC:: @ 85EB2FC - .string "NO$" - -gUnknown_085EB2FF:: @ 85EB2FF - .string "I’ll battle now!$" - -gUnknown_085EB310:: @ 85EB310 - .string "I won!$" - -gUnknown_085EB317:: @ 85EB317 - .string "I lost!$" - -gUnknown_085EB31F:: @ 85EB31F - .string "I won’t tell.$" - -gUnknown_085EB32D:: @ 85EB32D - .string "NORMAL TAG MATCH$" - -gUnknown_085EB33E:: @ 85EB33E - .string "VARIETY TAG MATCH$" - -gUnknown_085EB350:: @ 85EB350 - .string "UNIQUE TAG MATCH$" - -gUnknown_085EB361:: @ 85EB361 - .string "EXPERT TAG MATCH$" - -gUnknown_085EB372:: @ 85EB372 - .string "TRADE CENTER$" - -gUnknown_085EB37F:: @ 85EB37F - .string "COLOSSEUM$" - -gUnknown_085EB389:: @ 85EB389 - .string "RECORD CORNER$" - -gUnknown_085EB397:: @ 85EB397 - .string "BERRY CRUSH$" - -gUnknown_085EB3A3:: @ 85EB3A3 - .string "$" - -gUnknown_085EB3A4:: @ 85EB3A4 - .string "POKéMON JUMP$" - -gUnknown_085EB3B1:: @ 85EB3B1 - .string "DODRIO BERRY-PICKING$" - -gUnknown_085EB3C6:: @ 85EB3C6 - .string "BECOME LEADER$" - -gUnknown_085EB3D4:: @ 85EB3D4 - .string "JOIN GROUP$" - -gUnknown_085EB3DF:: @ 85EB3DF - .string "TWO STYLES$" - -gUnknown_085EB3EA:: @ 85EB3EA - .string "LV. 50$" - -gUnknown_085EB3F1:: @ 85EB3F1 - .string "OPEN LEVEL$" - -gUnknown_085EB3FC:: @ 85EB3FC - .string "{PKMN} TYPE & NO.$" - -gUnknown_085EB40A:: @ 85EB40A - .string "HOLD ITEMS$" - -gUnknown_085EB415:: @ 85EB415 - .string "SYMBOLS$" - -gUnknown_085EB41D:: @ 85EB41D - .string "RECORD$" - -gUnknown_085EB424:: @ 85EB424 - .string "BATTLE PTS$" - -gUnknown_085EB42F:: @ 85EB42F - .string "TOWER INFO$" - -gUnknown_085EB43A:: @ 85EB43A - .string "BATTLE {PKMN}$" - -gUnknown_085EB444:: @ 85EB444 - .string "BATTLE SALON$" - -gUnknown_085EB451:: @ 85EB451 - .string "MULTI-LINK$" - -gUnknown_085EB45C:: @ 85EB45C - .string "BATTLE RULES$" - -gUnknown_085EB469:: @ 85EB469 - .string "JUDGE: MIND$" - -gUnknown_085EB475:: @ 85EB475 - .string "JUDGE: SKILL$" - -gUnknown_085EB482:: @ 85EB482 - .string "JUDGE: BODY$" - -gUnknown_085EB48E:: @ 85EB48E - .string "MATCHUP$" - -gUnknown_085EB496:: @ 85EB496 - .string "TOURNEY TREE$" - -gUnknown_085EB4A3:: @ 85EB4A3 - .string "DOUBLE KO$" - -gUnknown_085EB4AD:: @ 85EB4AD - .string "BASIC RULES$" - -gUnknown_085EB4B9:: @ 85EB4B9 - .string "SWAP: PARTNER$" - -gUnknown_085EB4C7:: @ 85EB4C7 - .string "SWAP: NUMBER$" - -gUnknown_085EB4D4:: @ 85EB4D4 - .string "SWAP: NOTES$" - -gUnknown_085EB4E0:: @ 85EB4E0 - .string "OPEN LEVEL$" - -gText_BattleBasics:: @ 85EB4EB - .string "BATTLE BASICS$" - -gText_PokemonNature:: @ 85EB4F9 - .string "POKéMON NATURE$" - -gText_PokemonMoves:: @ 85EB508 - .string "POKéMON MOVES$" - -gText_Underpowered:: @ 85EB516 - .string "UNDERPOWERED$" - -gText_WhenInDanger:: @ 85EB523 - .string "WHEN IN DANGER$" - -gUnknown_085EB532:: @ 85EB532 - .string "PYRAMID: POKéMON$" - -gUnknown_085EB543:: @ 85EB543 - .string "PYRAMID: TRAINERS$" - -gUnknown_085EB555:: @ 85EB555 - .string "PYRAMID: MAZE$" - -gUnknown_085EB563:: @ 85EB563 - .string "BATTLE BAG$" - -gUnknown_085EB56E:: @ 85EB56E - .string "POKéNAV AND BAG$" - -gUnknown_085EB57E:: @ 85EB57E - .string "HELD ITEMS$" - -gUnknown_085EB589:: @ 85EB589 - .string "POKéMON ORDER$" - -gUnknown_085EB597:: @ 85EB597 - .string "BATTLE POKéMON$" - -gText_BattleTrainers:: @ 85EB5A6 - .string "BATTLE TRAINERS$" - -gUnknown_085EB5B6:: @ 85EB5B6 - .string "GO ON$" - -gUnknown_085EB5BC:: @ 85EB5BC - .string "RECORD$" - -gUnknown_085EB5C3:: @ 85EB5C3 - .string "REST$" - -gUnknown_085EB5C8:: @ 85EB5C8 - .string "RETIRE$" - -gText_99TimesPlus:: @ 85EB5CF - .string "99 times +$" - -gText_1MinutePlus:: @ 85EB5DA - .string "1 minute +$" - -gText_SpaceSeconds:: @ 85EB5E5 - .string " seconds$" - -gText_SpaceTimes:: @ 85EB5EE - .string " time(s)$" - -gUnknown_085EB5F7:: @ 85EB5F7 - .string ".$" - -gText_BigGuy:: @ 85EB5F9 - .string "Big guy$" - -gText_BigGirl:: @ 85EB601 - .string "Big girl$" - -gText_Son:: @ 85EB60A - .string "son$" - -gText_Daughter:: @ 85EB60E - .string "daughter$" - -gText_BlueFlute:: @ 85EB617 - .string "BLUE FLUTE$" - -gText_YellowFlute:: @ 85EB622 - .string "YELLOW FLUTE$" - -gText_RedFlute:: @ 85EB62F - .string "RED FLUTE$" - -gText_WhiteFlute:: @ 85EB639 - .string "WHITE FLUTE$" - -gText_BlackFlute:: @ 85EB645 - .string "BLACK FLUTE$" - -gText_PrettyChair:: @ 85EB651 - .string "PRETTY CHAIR$" - -gText_PrettyDesk:: @ 85EB65E - .string "PRETTY DESK$" - -gText_1F:: @ 85EB66A - .string "1F$" - -gText_2F:: @ 85EB66D - .string "2F$" - -gText_3F:: @ 85EB670 - .string "3F$" - -gText_4F:: @ 85EB673 - .string "4F$" - -gText_5F:: @ 85EB676 - .string "5F$" - -gText_6F:: @ 85EB679 - .string "6F$" - -gText_7F:: @ 85EB67C - .string "7F$" - -gText_8F:: @ 85EB67F - .string "8F$" - -gText_9F:: @ 85EB682 - .string "9F$" - -gText_10F:: @ 85EB685 - .string "10F$" - -gText_11F:: @ 85EB689 - .string "11F$" - -gText_B1F:: @ 85EB68D - .string "B1F$" - -gText_B2F:: @ 85EB691 - .string "B2F$" - -gText_B3F:: @ 85EB695 - .string "B3F$" - -gText_B4F:: @ 85EB699 - .string "B4F$" - -gText_Rooftop:: @ 85EB69D - .string "ROOFTOP$" - -gText_ElevatorNowOn:: @ 85EB6A5 - .string "Now on:$" - -gText_BP:: @ 85EB6AD - .string "BP$" - -gText_EnergyPowder50:: @ 85EB6B0 - .string "ENERGYPOWDER{CLEAR_TO 0x72}{SIZE 0}50$" - -gText_EnergyRoot80:: @ 85EB6C5 - .string "ENERGY ROOT{CLEAR_TO 0x72}{SIZE 0}80$" - -gText_HealPowder50:: @ 85EB6D9 - .string "HEAL POWDER{CLEAR_TO 0x72}{SIZE 0}50$" - -gText_RevivalHerb300:: @ 85EB6ED - .string "REVIVAL HERB{CLEAR_TO 0x6C}{SIZE 0}300$" - -gText_Protein1000:: @ 85EB703 - .string "PROTEIN{CLEAR_TO 0x63}{SIZE 0}1,000$" - -gText_Iron1000:: @ 85EB716 - .string "IRON{CLEAR_TO 0x63}{SIZE 0}1,000$" - -gText_Carbos1000:: @ 85EB726 - .string "CARBOS{CLEAR_TO 0x63}{SIZE 0}1,000$" - -gText_Calcium1000:: @ 85EB738 - .string "CALCIUM{CLEAR_TO 0x63}{SIZE 0}1,000$" - -gText_Zinc1000:: @ 85EB74B - .string "ZINC{CLEAR_TO 0x63}{SIZE 0}1,000$" - -gText_HPUp1000:: @ 85EB75B - .string "HP UP{CLEAR_TO 0x63}{SIZE 0}1,000$" - -gText_PPUp3000:: @ 85EB76C - .string "PP UP{CLEAR_TO 0x63}{SIZE 0}3,000$" - -gText_RankingHall:: @ 85EB77D - .string "RANKING HALL$" - -gText_ExchangeService:: @ 85EB78A - .string "EXCHANGE SERVICE$" - -gText_LilycoveCity:: @ 85EB79B - .string "LILYCOVE CITY$" - -gText_SlateportCity:: @ 85EB7A9 - .string "SLATEPORT CITY$" - -gText_CaveOfOrigin:: @ 85EB7B8 - .string "CAVE OF ORIGIN$" - -gText_MtPyre:: @ 85EB7C7 - .string "MT. PYRE$" - -gText_SkyPillar:: @ 85EB7D0 - .string "SKY PILLAR$" - -gText_DontRemember:: @ 85EB7DB - .string "Don’t remember$" - -gText_Exit:: @ 85EB7EA - .string "EXIT$" - -gText_ExitFromBox:: @ 85EB7EF - .string "Exit from the BOX?$" - -gText_WhatDoYouWantToDo:: @ 85EB802 - .string "What do you want to do?$" - -gText_PleasePickATheme:: @ 85EB81A - .string "Please pick a theme.$" - -gText_PickTheWallpaper:: @ 85EB82F - .string "Pick the wallpaper.$" - -gText_PkmnIsSelected:: @ 85EB843 - .string "{SPECIAL_F7 0x00} is selected.$" - -gText_JumpToWhichBox:: @ 85EB853 - .string "Jump to which BOX?$" - -gText_DepositInWhichBox:: @ 85EB866 - .string "Deposit in which BOX?$" - -gText_PkmnWasDeposited:: @ 85EB87C - .string "{SPECIAL_F7 0x00} was deposited.$" - -gText_BoxIsFull2:: @ 85EB88E - .string "The BOX is full.$" - -gText_ReleaseThisPokemon:: @ 85EB89F - .string "Release this POKéMON?$" - -gText_PkmnWasReleased:: @ 85EB8B5 - .string "{SPECIAL_F7 0x00} was released.$" - -gText_ByeByePkmn:: @ 85EB8C6 - .string "Bye-bye, {SPECIAL_F7 0x00}!$" - -gText_MarkYourPkmn:: @ 85EB8D3 - .string "Mark your POKéMON.$" - -gText_ThatsYourLastPkmn:: @ 85EB8E6 - .string "That’s your last POKéMON!$" - -gText_YourPartysFull:: @ 85EB900 - .string "Your party’s full!$" - -gText_YoureHoldingAPkmn:: @ 85EB913 - .string "You’re holding a POKéMON!$" - -gText_WhichOneWillYouTake:: @ 85EB92D - .string "Which one will you take?$" - -gText_YouCantReleaseAnEgg:: @ 85EB946 - .string "You can’t release an EGG.$" - -gText_ContinueBoxOperations:: @ 85EB960 - .string "Continue BOX operations?$" - -gText_PkmnCameBack:: @ 85EB979 - .string "{SPECIAL_F7 0x00} came back!$" - -gText_WasItWorriedAboutYou:: @ 85EB987 - .string "Was it worried about you?$" - -gText_FourEllipsesExclamation:: @ 85EB9A1 - .string "… … … … !$" - -gText_PleaseRemoveTheMail:: @ 85EB9AB - .string "Please remove the MAIL.$" - -gText_GiveToAPkmn:: @ 85EB9C3 - .string "GIVE to a POKéMON?$" - -gText_PlacedItemInBag:: @ 85EB9D6 - .string "Placed item in the BAG.$" - -gText_BagIsFull2:: @ 85EB9EE - .string "The BAG is full.$" - -gText_PutItemInBag:: @ 85EB9FF - .string "Put this item in the BAG?$" - -gText_ItemIsNowHeld:: @ 85EBA19 - .string "{SPECIAL_F7 0x00} is now held.$" - -gText_ChangedToNewItem:: @ 85EBA29 - .string "Changed to {SPECIAL_F7 0x00}.$" - -gText_MailCantBeStored:: @ 85EBA38 - .string "MAIL can’t be stored!$" - -gPCText_Cancel:: @ 85EBA4E - .string "CANCEL$" - -gPCText_Store:: @ 85EBA55 - .string "STORE$" - -gPCText_Withdraw:: @ 85EBA5B - .string "WITHDRAW$" - -gPCText_Shift:: @ 85EBA64 - .string "SHIFT$" - -gPCText_Move:: @ 85EBA6A - .string "MOVE$" - -gPCText_Place:: @ 85EBA6F - .string "PLACE$" - -gPCText_Summary:: @ 85EBA75 - .string "SUMMARY$" - -gPCText_Release:: @ 85EBA7D - .string "RELEASE$" - -gPCText_Mark:: @ 85EBA85 - .string "MARK$" - -gPCText_Name:: @ 85EBA8A - .string "NAME$" - -gPCText_Jump:: @ 85EBA8F - .string "JUMP$" - -gPCText_Wallpaper:: @ 85EBA94 - .string "WALLPAPER$" - -gPCText_Take:: @ 85EBA9E - .string "TAKE$" - -gPCText_Give:: @ 85EBAA3 - .string "GIVE$" - -gPCText_Switch:: @ 85EBAA8 - .string "SWITCH$" - -gPCText_Bag:: @ 85EBAAF - .string "BAG$" - -gPCText_Info:: @ 85EBAB3 - .string "INFO$" - -gPCText_Scenery1:: @ 85EBAB8 - .string "SCENERY 1$" - -gPCText_Scenery2:: @ 85EBAC2 - .string "SCENERY 2$" - -gPCText_Scenery3:: @ 85EBACC - .string "SCENERY 3$" - -gPCText_Etcetera:: @ 85EBAD6 - .string "ETCETERA$" - -gPCText_Friends:: @ 85EBADF - .string "FRIENDS$" - -gPCText_Forest:: @ 85EBAE7 - .string "FOREST$" - -gPCText_City:: @ 85EBAEE - .string "CITY$" - -gPCText_Desert:: @ 85EBAF3 - .string "DESERT$" - -gPCText_Savanna:: @ 85EBAFA - .string "SAVANNA$" - -gPCText_Crag:: @ 85EBB02 - .string "CRAG$" - -gPCText_Volcano:: @ 85EBB07 - .string "VOLCANO$" - -gPCText_Snow:: @ 85EBB0F - .string "SNOW$" - -gPCText_Cave:: @ 85EBB14 - .string "CAVE$" - -gPCText_Beach:: @ 85EBB19 - .string "BEACH$" - -gPCText_Seafloor:: @ 85EBB1F - .string "SEAFLOOR$" - -gPCText_River:: @ 85EBB28 - .string "RIVER$" - -gPCText_Sky:: @ 85EBB2E - .string "SKY$" - -gPCText_PolkaDot:: @ 85EBB32 - .string "POLKA-DOT$" - -gPCText_Pokecenter:: @ 85EBB3C - .string "POKéCENTER$" - -gPCText_Machine:: @ 85EBB47 - .string "MACHINE$" - -gPCText_Simple:: @ 85EBB4F - .string "SIMPLE$" - -gUnknown_085EBB56:: @ 85EBB56 - .string "What would you like to do?$" - -gText_WithdrawPokemon:: @ 85EBB71 - .string "WITHDRAW POKéMON$" - -gText_DepositPokemon:: @ 85EBB82 - .string "DEPOSIT POKéMON$" - -gText_MovePokemon:: @ 85EBB92 - .string "MOVE POKéMON$" - -gText_MoveItems:: @ 85EBB9F - .string "MOVE ITEMS$" - -gText_SeeYa:: @ 85EBBAA - .string "SEE YA!$" - -gText_WithdrawMonDescription:: @ 85EBBB2 - .string "Move POKéMON stored in BOXES to\nyour party.$" - -gText_DepositMonDescription:: @ 85EBBDE - .string "Store POKéMON in your party in BOXES.$" - -gText_MoveMonDescription:: @ 85EBC04 - .string "Organize the POKéMON in BOXES and\nin your party.$" - -gText_MoveItemsDescription:: @ 85EBC35 - .string "Move items held by any POKéMON\nin a BOX or your party.$" - -gText_SeeYaDescription:: @ 85EBC6C - .string "Return to the previous menu.$" - -gText_JustOnePkmn:: @ 85EBC89 - .string "There is just one POKéMON with you.$" - -gText_PartyFull:: @ 85EBCAD - .string "Your party is full!$" - -gText_Box:: @ 85EBCC1 - .string "BOX$" - -gUnknown_085EBCC5:: @ 85EBCC5 - .string "Check the map of the HOENN region.$" - -gUnknown_085EBCE8:: @ 85EBCE8 - .string "Check POKéMON in detail.$" - -gUnknown_085EBD01:: @ 85EBD01 - .string "Call a registered TRAINER.$" - -gUnknown_085EBD1C:: @ 85EBD1C - .string "Check obtained RIBBONS.$" - -gUnknown_085EBD34:: @ 85EBD34 - .string "Put away the POKéNAV.$" - -gText_NoRibbonWinners:: @ 85EBD4A - .string "There are no RIBBON winners.$" - -gUnknown_085EBD67:: @ 85EBD67 - .string "No TRAINERS are registered.$" - -gUnknown_085EBD83:: @ 85EBD83 - .string "Check party POKéMON in detail.$" - -gUnknown_085EBDA2:: @ 85EBDA2 - .string "Check all POKéMON in detail.$" - -gUnknown_085EBDBF:: @ 85EBDBF - .string "Return to the POKéNAV menu.$" - -gUnknown_085EBDDB:: @ 85EBDDB - .string "Find cool POKéMON.$" - -gUnknown_085EBDEE:: @ 85EBDEE - .string "Find beautiful POKéMON.$" - -gUnknown_085EBE06:: @ 85EBE06 - .string "Find cute POKéMON.$" - -gUnknown_085EBE19:: @ 85EBE19 - .string "Find smart POKéMON.$" - -gUnknown_085EBE2D:: @ 85EBE2D - .string "Find tough POKéMON.$" - -gUnknown_085EBE41:: @ 85EBE41 - .string "Return to the CONDITION menu.$" - -gText_NumberRegistered:: @ 85EBE5F - .string "No. registered$" - -gText_NumberOfBattles:: @ 85EBE6E - .string "No. of battles$" - -gUnknown_085EBE7D:: @ 85EBE7D - .string "DETAIL$" - -gUnknown_085EBE84:: @ 85EBE84 - .string "CALL$" - -gUnknown_085EBE89:: @ 85EBE89 - .string "EXIT$" - -gUnknown_085EBE8E:: @ 85EBE8E - .string "Can’t call opponent here.$" - -gUnknown_085EBEA8:: @ 85EBEA8 - .string "STRATEGY$" - -gUnknown_085EBEB1:: @ 85EBEB1 - .string "TRAINER’S POKéMON$" - -gUnknown_085EBEC3:: @ 85EBEC3 - .string "SELF-INTRODUCTION$" - -gUnknown_085EBED5:: @ 85EBED5 - .string "{CLEAR 0x80}$" - -gUnknown_085EBED9:: @ 85EBED9 - .string "{UNK_CTRL_F800}ZOOM {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBEE9:: @ 85EBEE9 - .string "{UNK_CTRL_F800}FULL {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBEF9:: @ 85EBEF9 - .string "{UNK_CTRL_F800}CONDITION {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBF0E:: @ 85EBF0E - .string "{UNK_CTRL_F800}MARKINGS {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBF22:: @ 85EBF22 - .string "{UNK_CTRL_F800}SELECT MARK {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBF39:: @ 85EBF39 - .string "{UNK_CTRL_F800}MENU {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBF49:: @ 85EBF49 - .string "{UNK_CTRL_F800}OK {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBF57:: @ 85EBF57 - .string "{UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBF60:: @ 85EBF60 - .string "{UNK_CTRL_F800}RIBBONS {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBF73:: @ 85EBF73 - .string "{UNK_CTRL_F800}CHECK {UNK_CTRL_F801}CANCEL$" - -gUnknown_085EBF84:: @ 85EBF84 - .string "{UNK_CTRL_F801}CANCEL$" - -gText_NatureSlash:: @ 85EBF8D - .string "NATURE/$" - -gText_TrainerCloseBy:: @ 85EBF95 - .string "That TRAINER is close by.\nTalk to the TRAINER in person!$" - -gText_InParty:: @ 85EBFCE - .string "IN PARTY$" - -gText_Number2:: @ 85EBFD7 - .string "No. $" - -gUnknown_085EBFDC:: @ 85EBFDC - .string "RIBBONS$" - -gUnknown_085EBFE4:: @ 85EBFE4 - .string "{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}$" - -gUnknown_085EBFF6:: @ 85EBFF6 - .string "{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}$" - -gUnknown_085EC008:: @ 85EC008 - .string "{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}$" - -gText_Unknown:: @ 85EC00F - .string "UNKNOWN$" - -gUnknown_085EC017:: @ 85EC017 - .string "CALL$" - -gUnknown_085EC01C:: @ 85EC01C - .string "CHECK$" - -gUnknown_085EC022:: @ 85EC022 - .string "CANCEL$" - -gText_NumberF700:: @ 85EC029 - .string "No. {SPECIAL_F7 0x00}$" - -gText_RibbonsF700:: @ 85EC030 - .string "RIBBONS {SPECIAL_F7 0x00}$" - -gUnknown_085EC03B:: @ 85EC03B - .string "{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}$" - -gUnknown_085EC04F:: @ 85EC04F - .string "{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}$" - -gUnknown_085EC063:: @ 85EC063 - .string "{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}$" - -gText_CombineFourWordsOrPhrases:: @ 85EC06C - .string "Combine four words or phrases$" - -gText_AndMakeYourProfile:: @ 85EC08A - .string "and make your profile.$" - -gText_CombineSixWordsOrPhrases:: @ 85EC0A1 - .string "Combine six words or phrases$" - -gText_AndMakeAMessage:: @ 85EC0BE - .string "and make a message.$" - -gText_FindWordsThatDescribeYour:: @ 85EC0D2 - .string "Find words that describe your$" - -gText_FeelingsRightNow:: @ 85EC0F0 - .string "feelings right now.$" - -gUnknown_085EC104:: @ 85EC104 - .string "With four phrases,$" - -gText_CombineNineWordsOrPhrases:: @ 85EC117 - .string "Combine nine words or phrases$" - -gText_AndMakeAMessage2:: @ 85EC135 - .string "and make a message.$" - -gText_ChangeJustOneWordOrPhrase:: @ 85EC149 - .string "Change just one word or phrase$" - -gText_AndImproveTheBardsSong:: @ 85EC168 - .string "and improve the BARD’s song.$" - -gText_YourProfile:: @ 85EC185 - .string "Your profile$" - -gText_YourFeelingAtTheBattlesStart:: @ 85EC192 - .string "Your feeling at the battle’s start$" - -gText_WhatYouSayIfYouWin:: @ 85EC1B5 - .string "What you say if you win a battle$" - -gText_WhatYouSayIfYouLose:: @ 85EC1D6 - .string "What you say if you lose a battle$" - -gText_TheAnswer:: @ 85EC1F8 - .string "The answer$" - -gText_TheMailMessage:: @ 85EC203 - .string "The MAIL message$" - -gUnknown_085EC214:: @ 85EC214 - .string "The MAIL salutation$" - -gText_TheBardsSong2:: @ 85EC228 - .string "The new song$" - -gText_CombineTwoWordsOrPhrases:: @ 85EC235 - .string "Combine two words or phrases$" - -gText_AndMakeATrendySaying:: @ 85EC252 - .string "and make a trendy saying.$" - -gText_TheTrendySaying:: @ 85EC26C - .string "The trendy saying$" - -gText_IsAsShownOkay:: @ 85EC27E - .string "is as shown. Okay?$" - -gText_CombineTwoWordsOrPhrases2:: @ 85EC291 - .string "Combine two words or phrases$" - -gText_ToTeachHerAGoodSaying:: @ 85EC2AE - .string "to teach her a good saying.$" - -gText_FindWordsWhichFit:: @ 85EC2CA - .string "Find words which fit$" - -gText_TheTrainersImage:: @ 85EC2DF - .string "the TRAINER’s image.$" - -gText_TheImage:: @ 85EC2F4 - .string "The image:$" - -gText_OutOfTheListedChoices:: @ 85EC2FF - .string "Out of the listed choices,$" - -gText_SelectTheAnswerToTheQuiz:: @ 85EC31A - .string "select the answer to the quiz!$" - -gText_AndCreateAQuiz:: @ 85EC339 - .string "and create a quiz!$" - -gText_PickAWordOrPhraseAnd:: @ 85EC34C - .string "Pick a word or phrase and$" - -gText_SetTheQuizAnswer:: @ 85EC366 - .string "set the quiz answer.$" - -gText_TheAnswerColon:: @ 85EC37B - .string "The answer:$" - -gUnknown_085EC387:: @ 85EC387 - .string "The quiz:$" - -gText_ApprenticePhrase:: @ 85EC391 - .string "Apprentice’s phrase:$" - -gText_QuitEditing:: @ 85EC3A6 - .string "Quit editing?$" - -gText_StopGivingPkmnMail:: @ 85EC3B4 - .string "Stop giving the POKéMON MAIL?$" - -gText_AndFillOutTheQuestionnaire:: @ 85EC3D2 - .string "and fill out the questionnaire.$" - -gText_LetsReplyToTheInterview:: @ 85EC3F2 - .string "Let’s reply to the interview!$" - -gText_AllTextBeingEditedWill:: @ 85EC410 - .string "All the text being edited will$" - -gText_BeDeletedThatOkay:: @ 85EC42F - .string "be deleted. Is that okay?$" - -gUnknown_085EC449:: @ 85EC449 - .string "Quit editing?$" - -gUnknown_085EC457:: @ 85EC457 - .string "The edited text will not be saved.$" - -gUnknown_085EC47A:: @ 85EC47A - .string "Is that okay?$" - -gUnknown_085EC488:: @ 85EC488 - .string "Please enter a phrase or word.$" - -gUnknown_085EC4A7:: @ 85EC4A7 - .string "The entire text can’t be deleted.$" - -gText_OnlyOnePhrase:: @ 85EC4C9 - .string "Only one phrase may be changed.$" - -gText_OriginalSongWillBeUsed:: @ 85EC4E9 - .string "The original song will be used.$" - -gUnknown_085EC509:: @ 85EC509 - .string "That’s trendy already!$" - -gText_CombineTwoWordsOrPhrases3:: @ 85EC520 - .string "Combine two words or phrases.$" - -gUnknown_085EC53E:: @ 85EC53E - .string "Quit giving information?$" - -gUnknown_085EC557:: @ 85EC557 - .string "Stop giving the POKéMON MAIL?$" - -gUnknown_085EC575:: @ 85EC575 - .string "Create a quiz!$" - -gUnknown_085EC584:: @ 85EC584 - .string "Set the answer!$" - -gUnknown_085EC594:: @ 85EC594 - .string "Cancel the selection?$" - -gText_Profile:: @ 85EC5AA - .string "PROFILE$" - -gText_AtTheBattlesStart:: @ 85EC5B2 - .string "At the battle’s start:$" - -gText_UponWinningABattle:: @ 85EC5C9 - .string "Upon winning a battle:$" - -gText_UponLosingABattle:: @ 85EC5E0 - .string "Upon losing a battle:$" - -gText_TheBardsSong:: @ 85EC5F6 - .string "The BARD’s Song$" - -gText_WhatsHipAndHappening:: @ 85EC606 - .string "What’s hip and happening?$" - -gText_Interview:: @ 85EC620 - .string "Interview$" - -gText_GoodSaying:: @ 85EC62A - .string "Good saying$" - -gText_FansQuestion:: @ 85EC636 - .string "Fan’s question$" - -gUnknown_085EC645:: @ 85EC645 - .string "クイズの こたえは?$" @ "kuizuno kotaeha?" ("The quiz's answer is?" in Japanese) - -gText_ApprenticesPhrase:: @ 85EC650 - .string "Apprentice’s phrase$" - -gText_Questionnaire:: @ 85EC664 - .string "QUESTIONNAIRE$" - -gText_YouCannotQuitHere:: @ 85EC672 - .string "You cannot quit here.$" - -gText_SectionMustBeCompleted:: @ 85EC688 - .string "This section must be completed.$" - -gText_F700sQuiz:: @ 85EC6A8 - .string "{SPECIAL_F7 0x00}’s quiz$" - -gText_Lady:: @ 85EC6B2 - .string "Lady$" - -gText_AfterYouHaveReadTheQuiz:: @ 85EC6B7 - .string "After you have read the quiz$" - -gText_QuestionPressTheAButton:: @ 85EC6D4 - .string "question, press the A Button.$" - -gText_TheQuizAnswerIs:: @ 85EC6F2 - .string "The quiz answer is?$" - -gText_LikeToQuitQuiz:: @ 85EC706 - .string "Would you like to quit this quiz$" - -gText_ChallengeQuestionMark:: @ 85EC727 - .string "challenge?$" - -gText_IsThisQuizOK:: @ 85EC732 - .string "Is this quiz OK?$" - -gText_CreateAQuiz:: @ 85EC743 - .string "Create a quiz!$" - -gText_SelectTheAnswer:: @ 85EC752 - .string "Select the answer!$" - -gText_LyricsCantBeDeleted:: @ 85EC765 - .string "The lyrics can’t be deleted.$" - -gText_PokemonLeague:: @ 85EC782 - .string "POKéMON LEAGUE$" - -gText_PokemonCenter:: @ 85EC791 - .string "POKéMON CENTER$" - -gText_GetsAPokeBlockQuestion:: @ 85EC7A0 - .string " gets a {POKEBLOCK}?$" - -gText_Coolness:: @ 85EC7AF - .string "Coolness $" - -gText_Beauty3:: @ 85EC7B9 - .string "Beauty $" - -gText_Cuteness:: @ 85EC7C1 - .string "Cuteness $" - -gText_Smartness:: @ 85EC7CB - .string "Smartness $" - -gText_Toughness:: @ 85EC7D6 - .string "Toughness $" - -gText_WasEnhanced:: @ 85EC7E1 - .string "was enhanced!$" - -gText_NothingChanged:: @ 85EC7EF - .string "Nothing changed!$" - -gText_WontEatAnymore:: @ 85EC800 - .string "It won’t eat anymore…$" - -gText_SaveFailedCheckingBackup:: @ 85EC816 - .string "Save failed. Checking the backup\nmemory… Please wait.\n{COLOR RED}“Time required: about 1 minute”$" - -gText_BackupMemoryDamaged:: @ 85EC86F - .string "The backup memory is damaged, or\nthe internal battery has run dry.\nYou can still play, but not save.$" - -gText_GamePlayCannotBeContinued:: @ 85EC8D4 - .string "{COLOR RED}“Game play cannot be continued.\nReturning to the title screen…”$" - -gText_CheckCompleted:: @ 85EC917 - .string "Check completed.\nAttempting to save again.\nPlease wait.$" - -gText_SaveCompleteGameCannotContinue:: @ 85EC94F - .string "Save completed.\n{COLOR RED}“Game play cannot be continued.\nReturning to the title screen.”$" - -gText_SaveCompletePressA:: @ 85EC9A2 - .string "Save completed.\n{COLOR RED}“Please press the A Button.”$" - -gText_Ferry:: @ 85EC9D2 - .string "FERRY$" - -gText_SecretBase:: @ 85EC9D8 - .string "SECRET BASE$" - -gText_Hideout:: @ 85EC9E4 - .string "HIDEOUT$" - -gText_ResetRTCConfirmCancel:: @ 85EC9EC - .string "Reset RTC?\nA: Confirm, B: Cancel$" - -gText_PresentTime:: @ 85ECA0D - .string "Present time in game$" - -gText_PreviousTime:: @ 85ECA22 - .string "Previous time in game$" - -gText_PleaseResetTime:: @ 85ECA38 - .string "Please reset the time.$" - -gText_ClockHasBeenReset:: @ 85ECA4F - .string "The clock has been reset.\nData will be saved. Please wait.$" - -gText_SaveCompleted:: @ 85ECA8A - .string "Save completed.$" - -gText_SaveFailed:: @ 85ECA9A - .string "Save failed…$" - -gText_NoSaveFileCantSetTime:: @ 85ECAA7 - .string "There is no save file, so the time\ncan’t be set.$" - -gText_InGameClockUsable:: @ 85ECAD8 - .string "The in-game clock adjustment system\nis now useable.$" - -gText_Slots:: @ 85ECB0C - .string "SLOTS$" - -gText_Roulette:: @ 85ECB12 - .string "ROULETTE$" - -gText_Good:: @ 85ECB1B - .string "Good$" - -gText_VeryGood:: @ 85ECB20 - .string "Very good$" - -gText_Excellent:: @ 85ECB2A - .string "Excellent$" - -gText_SoSo:: @ 85ECB34 - .string "So-so$" - -gText_Bad:: @ 85ECB3A - .string "Bad$" - -gText_TheWorst:: @ 85ECB3E - .string "The worst$" - -gText_Spicy2:: @ 85ECB48 - .string "spicy$" - -gText_Dry2:: @ 85ECB4E - .string "dry$" - -gText_Sweet2:: @ 85ECB52 - .string "sweet$" - -gText_Bitter2:: @ 85ECB58 - .string "bitter$" - -gText_Sour2:: @ 85ECB5F - .string "sour$" - -gText_Single:: @ 85ECB64 - .string "SINGLE$" - -gText_Double:: @ 85ECB6B - .string "DOUBLE$" - -gText_Jackpot:: @ 85ECB72 - .string "jackpot$" - -gText_First:: @ 85ECB7A - .string "first$" - -gText_Second:: @ 85ECB80 - .string "second$" - -gText_Third:: @ 85ECB87 - .string "third$" - -gText_0Pts:: @ 85ECB8D - .string "0 pts$" - -gText_10Pts:: @ 85ECB93 - .string "10 pts$" - -gText_20Pts:: @ 85ECB9A - .string "20 pts$" - -gText_30Pts:: @ 85ECBA1 - .string "30 pts$" - -gText_40Pts:: @ 85ECBA8 - .string "40 pts$" - -gText_50Pts:: @ 85ECBAF - .string "50 pts$" - -gText_60Pts:: @ 85ECBB6 - .string "60 pts$" - -gText_70Pts:: @ 85ECBBD - .string "70 pts$" - -gText_80Pts:: @ 85ECBC4 - .string "80 pts$" - -gText_90Pts:: @ 85ECBCB - .string "90 pts$" - -gText_100Pts:: @ 85ECBD2 - .string "100 pts$" - -gText_QuestionMark:: @ 85ECBDA - .string "?$" - -gText_KissPoster16BP:: @ 85ECBDC - .string "KISS POSTER{CLEAR_TO 0x5E}16BP$" - -gText_KissCushion32BP:: @ 85ECBEF - .string "KISS CUSHION{CLEAR_TO 0x5E}32BP$" - -gText_SmoochumDoll32BP:: @ 85ECC03 - .string "SMOOCHUM DOLL{CLEAR_TO 0x5E}32BP$" - -gText_TogepiDoll48BP:: @ 85ECC18 - .string "TOGEPI DOLL{CLEAR_TO 0x5E}48BP$" - -gText_MeowthDoll48BP:: @ 85ECC2B - .string "MEOWTH DOLL{CLEAR_TO 0x5E}48BP$" - -gText_ClefairyDoll48BP:: @ 85ECC3E - .string "CLEFAIRY DOLL{CLEAR_TO 0x5E}48BP$" - -gText_DittoDoll48BP:: @ 85ECC53 - .string "DITTO DOLL{CLEAR_TO 0x5E}48BP$" - -gText_CyndaquilDoll80BP:: @ 85ECC65 - .string "CYNDAQUIL DOLL{CLEAR_TO 0x5E}80BP$" - -gText_ChikoritaDoll80BP:: @ 85ECC7B - .string "CHIKORITA DOLL{CLEAR_TO 0x5E}80BP$" - -gText_TotodileDoll80BP:: @ 85ECC91 - .string "TOTODILE DOLL{CLEAR_TO 0x5E}80BP$" - -gText_LaprasDoll128BP:: @ 85ECCA6 - .string "LAPRAS DOLL{CLEAR_TO 0x58}128BP$" - -gText_SnorlaxDoll128BP:: @ 85ECCBA - .string "SNORLAX DOLL{CLEAR_TO 0x58}128BP$" - -gText_VenusaurDoll256BP:: @ 85ECCCF - .string "VENUSAUR DOLL{CLEAR_TO 0x58}256BP$" - -gText_CharizardDoll256BP:: @ 85ECCE5 - .string "CHARIZARD DOLL{CLEAR_TO 0x58}256BP$" - -gText_BlastoiseDoll256BP:: @ 85ECCFC - .string "BLASTOISE DOLL{CLEAR_TO 0x58}256BP$" - -gText_Protein1BP:: @ 85ECD13 - .string "PROTEIN{CLEAR_TO 0x64}1BP$" - -gText_Calcium1BP:: @ 85ECD21 - .string "CALCIUM{CLEAR_TO 0x64}1BP$" - -gText_Iron1BP:: @ 85ECD2F - .string "IRON{CLEAR_TO 0x64}1BP$" - -gText_Zinc1BP:: @ 85ECD3A - .string "ZINC{CLEAR_TO 0x64}1BP$" - -gText_Carbos1BP:: @ 85ECD45 - .string "CARBOS{CLEAR_TO 0x64}1BP$" - -gText_HpUp1BP:: @ 85ECD52 - .string "HP UP{CLEAR_TO 0x64}1BP$" - -gText_Leftovers48BP:: @ 85ECD5E - .string "LEFTOVERS{CLEAR_TO 0x5E}48BP$" - -gText_WhiteHerb48BP:: @ 85ECD6F - .string "WHITE HERB{CLEAR_TO 0x5E}48BP$" - -gText_QuickClaw48BP:: @ 85ECD81 - .string "QUICK CLAW{CLEAR_TO 0x5E}48BP$" - -gText_MentalHerb48BP:: @ 85ECD93 - .string "MENTAL HERB{CLEAR_TO 0x5E}48BP$" - -gText_BrightPowder64BP:: @ 85ECDA6 - .string "BRIGHTPOWDER{CLEAR_TO 0x5E}64BP$" - -gText_ChoiceBand64BP:: @ 85ECDBA - .string "CHOICE BAND{CLEAR_TO 0x5E}64BP$" - -gText_KingsRock64BP:: @ 85ECDCD - .string "KING’S ROCK{CLEAR_TO 0x5E}64BP$" - -gText_FocusBand64BP:: @ 85ECDE0 - .string "FOCUS BAND{CLEAR_TO 0x5E}64BP$" - -gText_ScopeLens64BP:: @ 85ECDF2 - .string "SCOPE LENS{CLEAR_TO 0x5E}64BP$" - -gText_Softboiled16BP:: @ 85ECE04 - .string "SOFTBOILED{CLEAR_TO 0x4E}16BP$" - -gText_SeismicToss24BP:: @ 85ECE16 - .string "SEISMIC TOSS{CLEAR_TO 0x4E}24BP$" - -gText_DreamEater24BP:: @ 85ECE2A - .string "DREAM EATER{CLEAR_TO 0x4E}24BP$" - -gText_MegaPunch24BP:: @ 85ECE3D - .string "MEGA PUNCH{CLEAR_TO 0x4E}24BP$" - -gText_MegaKick48BP:: @ 85ECE4F - .string "MEGA KICK{CLEAR_TO 0x4E}48BP$" - -gText_BodySlam48BP:: @ 85ECE60 - .string "BODY SLAM{CLEAR_TO 0x4E}48BP$" - -gText_RockSlide48BP:: @ 85ECE71 - .string "ROCK SLIDE{CLEAR_TO 0x4E}48BP$" - -gText_Counter48BP:: @ 85ECE83 - .string "COUNTER{CLEAR_TO 0x4E}48BP$" - -gText_ThunderWave48BP:: @ 85ECE92 - .string "THUNDER WAVE{CLEAR_TO 0x4E}48BP$" - -gText_SwordsDance48BP:: @ 85ECEA6 - .string "SWORDS DANCE{CLEAR_TO 0x4E}48BP$" - -gText_DefenseCurl16BP:: @ 85ECEBA - .string "DEFENSE CURL{CLEAR_TO 0x4E}16BP$" - -gText_Snore24BP:: @ 85ECECE - .string "SNORE{CLEAR_TO 0x4E}24BP$" - -gText_MudSlap24BP:: @ 85ECEDB - .string "MUD-SLAP{CLEAR_TO 0x4E}24BP$" - -gText_Swift24BP:: @ 85ECEEB - .string "SWIFT{CLEAR_TO 0x4E}24BP$" - -gText_IcyWind24BP:: @ 85ECEF8 - .string "ICY WIND{CLEAR_TO 0x4E}24BP$" - -gText_Endure48BP:: @ 85ECF08 - .string "ENDURE{CLEAR_TO 0x4E}48BP$" - -gText_PsychUp48BP:: @ 85ECF16 - .string "PSYCH UP{CLEAR_TO 0x4E}48BP$" - -gText_IcePunch48BP:: @ 85ECF26 - .string "ICE PUNCH{CLEAR_TO 0x4E}48BP$" - -gText_ThunderPunch48BP:: @ 85ECF37 - .string "THUNDERPUNCH{CLEAR_TO 0x4E}48BP$" - -gText_FirePunch48BP:: @ 85ECF4B - .string "FIRE PUNCH{CLEAR_TO 0x4E}48BP$" - -gText_PkmnFainted3:: @ 85ECF5D - .string "{STR_VAR_1} fainted…\p\n$" - -gText_Marco:: @ 85ECF6B - .string "MARCO$" - -gText_TrainerCardName:: @ 85ECF71 - .string "NAME: $" - -gText_TrainerCardIDNo:: @ 85ECF78 - .string "IDNo.$" - -gText_TrainerCardMoney:: @ 85ECF7E - .string "MONEY$" - -gUnknown_085ECF84:: @ 85ECF84 - .string "¥$" - -gText_TrainerCardPokedex:: @ 85ECF86 - .string "POKéDEX$" - -gText_EmptyString6:: @ 85ECF8E - .string "$" - -gText_Colon2:: @ 85ECF8F - .string ":$" - -gUnknown_085ECF91:: @ 85ECF91 - .string " points$" - -gText_TrainerCardTime:: @ 85ECF99 - .string "TIME$" - -gUnknown_085ECF9E:: @ 85ECF9E - .string "ゲ-ムポイント$" @ "geemupointo" ("game point" in Japanese) - -gText_Var1sTrainerCard:: @ 85ECFA6 - .string "{STR_VAR_1}’s TRAINER CARD$" - -gText_HallOfFameDebut:: @ 85ECFB8 - .string "HALL OF FAME DEBUT $" - -gText_LinkBattles:: @ 85ECFCD - .string "LINK BATTLES$" - -gText_LinkCableBattles:: @ 85ECFDA - .string "LINK CABLE BATTLES$" - -gText_WinsLosses:: @ 85ECFED - .string "W:{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY} L:{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}$" - -gText_PokemonTrades:: @ 85ED010 - .string "POKéMON TRADES$" - -gText_UnionTradesAndBattles:: @ 85ED01F - .string "UNION TRADES & BATTLES$" - -gText_BerryCrush:: @ 85ED036 - .string "BERRY CRUSH$" - -gText_WaitingTrainerFinishReading:: @ 85ED042 - .string "Waiting for the other TRAINER to\nfinish reading your TRAINER CARD.$" - -gText_PokeblocksWithFriends:: @ 85ED085 - .string "{POKEBLOCK}S W/FRIENDS$" - -gText_Var1DarkGreyShadowLightGrey:: @ 85ED096 - .string "{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}$" - -gText_WonContestsWFriends:: @ 85ED09F - .string "WON CONTESTS W/FRIENDS$" - -gText_BattlePtsWon:: @ 85ED0B6 - .string "BATTLE POINTS WON$" - -gText_Var1DarkLightGreyBP:: @ 85ED0C8 - .string "{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}BP$" - -gText_BattleTower:: @ 85ED0D3 - .string "BATTLE TOWER$" - -gText_WSlashStraightSlash:: @ 85ED0E0 - .string "W/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY} STRAIGHT/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}$" - -gText_BattleTower2:: @ 85ED104 - .string "BATTLE TOWER$" - -gText_BattleDome:: @ 85ED111 - .string "BATTLE DOME$" - -gText_BattlePalace:: @ 85ED11D - .string "BATTLE PALACE$" - -gText_BattleFactory:: @ 85ED12B - .string "BATTLE FACTORY$" - -gText_BattleArena:: @ 85ED13A - .string "BATTLE ARENA$" - -gText_BattlePike:: @ 85ED147 - .string "BATTLE PIKE$" - -gText_BattlePyramid:: @ 85ED153 - .string "BATTLE PYRAMID$" - - .align 2 -gUnknown_085ED164:: @ 85ED164 - .string "{STR_VAR_1} SINGLE$" - - .align 2 -gUnknown_085ED170:: @ 85ED170 - .string "{STR_VAR_1} DOUBLE$" - - .align 2 -gUnknown_085ED17C:: @ 85ED17C - .string "{STR_VAR_1} MULTI$" - - .align 2 -gUnknown_085ED188:: @ 85ED188 - .string "{STR_VAR_1} LINK$" - - .align 2 -gUnknown_085ED190:: @ 85ED190 - .string "{STR_VAR_1}$" - -gText_Give:: @ 85ED193 - .string "Give$" - -gText_NoNeed:: @ 85ED198 - .string "No need$" - -gText_ColorLightShadowDarkGrey:: @ 85ED1A0 - .string "{COLOR LIGHT_GREY}{SHADOW DARK_GREY}$" - -gText_ColorBlue:: @ 85ED1A7 - .string "{COLOR BLUE}$" - -gText_ColorTransparent:: @ 85ED1AB - .string "{HIGHLIGHT TRANSPARENT}{COLOR TRANSPARENT}$" - -gText_CDot:: @ 85ED1B2 - .string "C.$" - -gText_BDot:: @ 85ED1B5 - .string "B.$" - -gText_AnnouncingResults:: @ 85ED1B8 - .string "Announcing the results!$" - -gText_PreliminaryResults:: @ 85ED1D0 - .string "The preliminary results!$" - -gText_Round2Results:: @ 85ED1E9 - .string "Round 2 results!$" - -gText_Var1sVar2Won:: @ 85ED1FA - .string "{STR_VAR_1}’s {STR_VAR_2} won!$" - -gText_CommunicationStandby:: @ 85ED207 - .string "Communication standby…$" - -gText_ColorDarkGrey:: @ 85ED21E - .string "{COLOR DARK_GREY}$" - -gUnknown_085ED222:: @ 85ED222 - .string "{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR6 WHITE DYNAMIC_COLOR5}$" - -gText_HighlightDarkGrey:: @ 85ED228 - .string "{HIGHLIGHT DARK_GREY}$" - -gUnknown_085ED22C:: @ 85ED22C - .string " $" - -gText_DynColor2Male:: @ 85ED22E - .string "{COLOR DYNAMIC_COLOR2}♂$" - -gText_DynColor1Female:: @ 85ED233 - .string "{COLOR DYNAMIC_COLOR1}♀$" - -gText_DynColor2:: @ 85ED238 - .string "{COLOR DYNAMIC_COLOR2}$" - -gText_Upper:: @ 85ED23C - .string "UPPER$" - -gText_Lower:: @ 85ED242 - .string "lower$" - -gText_Others:: @ 85ED248 - .string "OTHERS$" - -gText_Symbols:: @ 85ED24F - .string "SYMBOLS$" - -gText_Register2:: @ 85ED257 - .string "REGISTER$" - -gText_Exit2:: @ 85ED260 - .string "EXIT$" - -gText_QuitChatting:: @ 85ED265 - .string "Quit chatting?$" - -gText_RegisterTextWhere:: @ 85ED274 - .string "Register text where?$" - -gText_RegisterTextHere:: @ 85ED289 - .string "Register text here?$" - -gText_InputText:: @ 85ED29D - .string "Input text.$" - -gText_F700JoinedChat:: @ 85ED2A9 - .string "{SPECIAL_F7 0x00} joined the chat!$" - -gText_F700LeftChat:: @ 85ED2BD - .string "{SPECIAL_F7 0x00} left the chat.$" - -gUnknown_085ED2CF:: @ 85ED2CF - .string "{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめ:$" @ "{SPECIAL_F7 0x00}'s {SPECIAL_F7 0x01}hikime" - -gUnknown_085ED2D9:: @ 85ED2D9 - .string "{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめは いません$" @ "{SPECIAL_F7 0x00}'s {SPECIAL_F7 0x01}hikimeha imasen" - -gText_ExitingChat:: @ 85ED2E8 - .string "Exiting the chat…$" - -gText_LeaderLeftEndingChat:: @ 85ED2FA - .string "The LEADER, {SPECIAL_F7 0x00}, has\nleft, ending the chat.$" - -gText_RegisteredTextChanged:: @ 85ED325 - .string "The registered text has been changed.\nIs it okay to save the game?$" - -gText_AlreadySavedFile_Unused:: @ 85ED368 - .string "There is already a saved file.\nIs it okay to overwrite it?$" - -gText_SavingDontTurnOff_Unused:: @ 85ED3A3 - .string "SAVING…\nDON’T TURN OFF THE POWER.$" - -gText_PlayerSavedGame_Unused:: @ 85ED3C5 - .string "{SPECIAL_F7 0x00} saved the game.$" - -gText_IfLeaderLeavesChatEnds:: @ 85ED3D8 - .string "If the LEADER leaves, the chat\nwill end. Is that okay?$" - -gText_Hello:: @ 85ED40F - .string "HELLO$" - -gText_Pokemon2:: @ 85ED415 - .string "POKéMON$" - -gText_Trade:: @ 85ED41D - .string "TRADE$" - -gText_Battle:: @ 85ED423 - .string "BATTLE$" - -gText_Lets:: @ 85ED42A - .string "LET’S$" - -gText_Ok:: @ 85ED430 - .string "OK!$" - -gText_Sorry:: @ 85ED434 - .string "SORRY$" - -gText_YayUnkF9F9:: @ 85ED43A - .string "YAY{UNK_CTRL_F9F9}$" - -gText_ThankYou:: @ 85ED440 - .string "THANK YOU$" - -gText_ByeBye:: @ 85ED44A - .string "BYE-BYE!$" - -gMatchCallStevenStrategyText:: @ 85ED453 - .string "Attack the weak points!$" - -gMatchCall_StevenTrainersPokemonText:: @ 85ED46B - .string "Ultimate STEEL POKéMON.$" - -gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle:: @ 85ED483 - .string "I’d climb even waterfalls$" - -gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle:: @ 85ED49D - .string "to find a rare stone!$" - -gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle:: @ 85ED4B3 - .string "I’m the strongest and most$" - -gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle:: @ 85ED4CE - .string "energetic after all!$" - -gMatchCall_BrendanStrategyText:: @ 85ED4E3 - .string "Battle with knowledge!$" - -gMatchCall_BrendanTrainersPokemonText:: @ 85ED4FA - .string "I will use various POKéMON.$" - -gMatchCall_BrendanSelfIntroductionText_Line1:: @ 85ED516 - .string "I’ll be a better POKéMON$" - -gMatchCall_BrendanSelfIntroductionText_Line2:: @ 85ED52F - .string "prof than my father is!$" - -gMatchCall_MayStrategyText:: @ 85ED547 - .string "I’m not so good at battles.$" - -gMatchCall_MayTrainersPokemonText:: @ 85ED563 - .string "I’ll use any POKéMON!$" - -gMatchCall_MaySelfIntroductionText_Line1:: @ 85ED579 - .string "My POKéMON and I help$" - -gMatchCall_MaySelfIntroductionText_Line2:: @ 85ED58F - .string "my father’s research.$" - -gText_HatchedFromEgg:: @ 85ED5A5 - .string "{STR_VAR_1} hatched from the EGG!$" - -gText_NickHatchPrompt:: @ 85ED5BE - .string "Would you like to nickname the newly\nhatched {STR_VAR_1}?$" - - .align 2 -gText_ReadyToBerryCrush:: @ 85ED5F0 - .string "Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p$" - - .align 2 -gText_WaitForAllChooseBerry:: @ 85ED62C - .string "Please wait while each member\nchooses a BERRY.$" - - .align 2 -gText_EndedWithXUnitsPowder:: @ 85ED65C - .string "{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p$" - - .align 2 -gText_RecordingGameResults:: @ 85ED6C8 - .string "Recording your game results in the\nsave file.\lPlease wait.$" - - .align 2 -gText_PlayBerryCrushAgain:: @ 85ED704 - .string "Want to play BERRY CRUSH again?$" - - .align 2 -gText_YouHaveNoBerries:: @ 85ED724 - .string "You have no BERRIES.\nThe game will be canceled.$" - - .align 2 -gText_MemberDroppedOut:: @ 85ED754 - .string "A member dropped out.\nThe game will be canceled.$" - - .align 2 -gText_TimesUpNoGoodPowder:: @ 85ED788 - .string "Time’s up.\pGood BERRY POWDER could not be\nmade…\p$" - - .align 2 -gText_CommunicationStandby2:: @ 85ED7BC - .string "Communication standby…$" - - .align 2 -gText_1DotBlueF700:: @ 85ED7D4 - .string "1. {COLOR BLUE}{SHADOW LIGHT_BLUE}{SPECIAL_F7 0x00}$" - - .align 2 -gText_1DotF700:: @ 85ED7E0 - .string "1. {SPECIAL_F7 0x00}$" - - .align 2 -gText_SpaceTimes2:: @ 85ED7E8 - .string " time(s)$" - - .align 2 -gText_XDotY:: @ 85ED7F4 - .string "{STR_VAR_1}.{STR_VAR_2}$" - - .align 2 -gText_Var1Berry:: @ 85ED7FC - .string "{STR_VAR_1} BERRY$" - - .align 2 -gText_TimeColon:: @ 85ED808 - .string "Time:$" - - .align 2 -gText_PressingSpeed:: @ 85ED810 - .string "Pressing Speed:$" - - .align 2 -gText_Silkiness:: @ 85ED820 - .string "Silkiness:$" - - .align 2 -gText_StrVar1:: @ 85ED82C - .string "{STR_VAR_1}$" - - .align 2 -gText_SpaceMin:: @ 85ED830 - .string " min. $" - - .align 2 -gText_XDotY2:: @ 85ED838 - .string "{STR_VAR_1}.{STR_VAR_2}$" - - .align 2 -gText_SpaceSec:: @ 85ED840 - .string " sec.$" - - .align 2 -gText_XDotY3:: @ 85ED848 - .string "{STR_VAR_1}.{STR_VAR_2}$" - - .align 2 -gText_TimesPerSec:: @ 85ED850 - .string " Times/sec.$" - - .align 2 -gText_Var1Percent:: @ 85ED85C - .string "{STR_VAR_1}%$" - - .align 2 -gText_PressesRankings:: @ 85ED860 - .string "No. of Presses Rankings$" - - .align 2 -gText_CrushingResults:: @ 85ED878 - .string "Crushing Results$" - - .align 2 -gText_NeatnessRankings:: @ 85ED88C - .string "Neatness Rankings$" - - .align 2 -gText_CoopRankings:: @ 85ED8A0 - .string "Cooperative Rankings$" - - .align 2 -gText_PressingPowerRankings:: @ 85ED8B8 - .string "Pressing-Power Rankings$" - -gText_BerryCrush2:: @ 85ED8D0 - .string "BERRY CRUSH$" - -gText_PressingSpeedRankings:: @ 85ED8DC - .string "Pressing-Speed Rankings$" - -gText_Var1Players:: @ 85ED8F4 - .string "{STR_VAR_1} PLAYERS$" - -gText_SymbolsEarned:: @ 85ED8FF - .string "Symbols Earned$" - -gText_BattleRecord:: @ 85ED90E - .string "Battle Record$" - -gText_BattlePoints:: @ 85ED91C - .string "Battle Points$" - -gUnknown_085ED92A:: @ 85ED92A - .string "CANCEL$" - -gUnknown_085ED931:: @ 85ED931 - .string "$" - -gUnknown_085ED932:: @ 85ED932 - .string "Check BATTLE FRONTIER MAP.$" - -gUnknown_085ED94D:: @ 85ED94D - .string "Check TRAINER CARD.$" - -gUnknown_085ED961:: @ 85ED961 - .string "View recorded battle.$" - -gUnknown_085ED977:: @ 85ED977 - .string "Put away the FRONTIER PASS.$" - -gUnknown_085ED993:: @ 85ED993 - .string "Your current Battle Points.$" - -gUnknown_085ED9AF:: @ 85ED9AF - .string "Your collected Symbols.$" - -gUnknown_085ED9C7:: @ 85ED9C7 - .string "Battle Tower - Ability Symbol$" - -gUnknown_085ED9E5:: @ 85ED9E5 - .string "Battle Dome - Tactics Symbol$" - -gUnknown_085EDA02:: @ 85EDA02 - .string "Battle Palace - Spirits Symbol$" - -gUnknown_085EDA21:: @ 85EDA21 - .string "Battle Arena - Guts Symbol$" - -gUnknown_085EDA3C:: @ 85EDA3C - .string "Battle Factory - Knowledge Symbol$" - -gUnknown_085EDA5E:: @ 85EDA5E - .string "Battle Pike - Luck Symbol$" - -gUnknown_085EDA78:: @ 85EDA78 - .string "Battle Pyramid - Brave Symbol$" - -gUnknown_085EDA96:: @ 85EDA96 - .string "There is no Battle Record.$" - -gUnknown_085EDAB1:: @ 85EDAB1 - .string "BATTLE TOWER$" - -gUnknown_085EDABE:: @ 85EDABE - .string "BATTLE DOME$" - -gUnknown_085EDACA:: @ 85EDACA - .string "BATTLE PALACE$" - -gUnknown_085EDAD8:: @ 85EDAD8 - .string "BATTLE ARENA$" - -gUnknown_085EDAE5:: @ 85EDAE5 - .string "BATTLE FACTORY$" - -gUnknown_085EDAF4:: @ 85EDAF4 - .string "BATTLE PIKE$" - -gUnknown_085EDB00:: @ 85EDB00 - .string "BATTLE PYRAMID$" - -gUnknown_085EDB0F:: @ 85EDB0F - .string "KO opponents and aim for the top!\nYour ability will be tested.$" - -gUnknown_085EDB4E:: @ 85EDB4E - .string "Keep winning at the tournament!\nYour tactics will be tested.$" - -gUnknown_085EDB8B:: @ 85EDB8B - .string "Watch your POKéMON battle!\nYour spirit will be tested.$" - -gUnknown_085EDBC2:: @ 85EDBC2 - .string "Win battles with teamed-up POKéMON!\nYour guts will be tested.$" - -gUnknown_085EDC00:: @ 85EDC00 - .string "Aim for victory using rental POKéMON!\nYour knowledge will be tested.$" - -gUnknown_085EDC45:: @ 85EDC45 - .string "Select one of three paths to battle!\nYour luck will be tested.$" - -gUnknown_085EDC84:: @ 85EDC84 - .string "Aim for the top with exploration!\nYour bravery will be tested.$" - -gText_ContinueMenuPlayer:: @ 85EDCC3 - .string "PLAYER$" - -gText_ContinueMenuTime:: @ 85EDCCA - .string "TIME$" - -gText_ContinueMenuPokedex:: @ 85EDCCF - .string "POKéDEX$" - -gText_ContinueMenuBadges:: @ 85EDCD7 - .string "BADGES$" - -gText_Powder:: @ 85EDCDE - .string "POWDER$" - -gText_BerryPickingRecords:: @ 85EDCE5 - .string "DODRIO BERRY-PICKING RECORDS$" - -gText_BerriesPicked:: @ 85EDD02 - .string "BERRIES picked:$" - -gText_BestScore:: @ 85EDD12 - .string "Best score:$" - -gText_BerriesInRowFivePlayers:: @ 85EDD1E - .string "BERRIES picked in a row with\nfive players:$" - -gText_BerryPickingResults:: @ 85EDD49 - .string "Announcing BERRY-PICKING results!$" - -gText_10P30P50P50P:: @ 85EDD6B - .string "{CLEAR_TO 0x03}10P{CLEAR_TO 0x2B}30P{CLEAR_TO 0x53}50P{CLEAR_TO 0x77}{UNK_CTRL_F9DD}50P$" - -gText_AnnouncingRankings:: @ 85EDD86 - .string "Announcing rankings!$" - -gText_AnnouncingPrizes:: @ 85EDD9B - .string "Announcing prizes!$" - -gText_1Colon:: @ 85EDDAE - .string "1:$" - -gText_2Colon:: @ 85EDDB1 - .string "2:$" - -gText_3Colon:: @ 85EDDB4 - .string "3:$" - -gText_4Colon:: @ 85EDDB7 - .string "4:$" - -gText_5Colon:: @ 85EDDBA - .string "5:$" - -gText_FirstPlacePrize:: @ 85EDDBD - .string "The first-place winner gets\nthis {SPECIAL_F7 0x00}!$" - -gText_CantHoldAnyMore:: @ 85EDDE2 - .string "You can’t hold any more!$" - -gText_FilledStorageSpace:: @ 85EDDFB - .string "It filled its storage space.$" - -gText_WantToPlayAgain:: @ 85EDE18 - .string "Want to play again?$" - -gText_SomeoneDroppedOut:: @ 85EDE2C - .string "Somebody dropped out.\nThe link will be canceled.$" - -gText_SpacePoints:: @ 85EDE5D - .string " points$" - -gText_CommunicationStandby3:: @ 85EDE65 - .string "Communication standby…$" - -gText_SpacePoints2:: @ 85EDE7C - .string " points$" - -gText_SpaceTimes3:: @ 85EDE84 - .string " time(s)$" - -gText_PkmnJumpRecords:: @ 85EDE8D - .string "POKéMON JUMP RECORDS$" - -gText_JumpsInARow:: @ 85EDEA2 - .string "Jumps in a row:$" - -gText_BestScore2:: @ 85EDEB2 - .string "Best score:$" - -gText_ExcellentsInARow:: @ 85EDEBE - .string "EXCELLENTS in a row:$" - -gText_AwesomeWonF701F700:: @ 85EDED3 - .string "Awesome score! You’ve\nwon {SPECIAL_F7 0x01} {SPECIAL_F7 0x00}!$" - -gText_FilledStorageSpace2:: @ 85EDEF4 - .string "It filled its storage space.$" - -gText_CantHoldMore:: @ 85EDF11 - .string "You can’t hold any more!$" - -gText_WantToPlayAgain2:: @ 85EDF2A - .string "Want to play again?$" - -gText_SomeoneDroppedOut2:: @ 85EDF3E - .string "Somebody dropped out.\nThe link will be canceled.$" - -gText_CommunicationStandby4:: @ 85EDF6F - .string "Communication standby…$" - -gText_LinkContestResults:: @ 85EDF86 - .string "{PLAYER}’s Link Contest Results$" - -gText_1st:: @ 85EDFA0 - .string "1st$" - -gText_2nd:: @ 85EDFA4 - .string "2nd$" - -gText_3rd:: @ 85EDFA8 - .string "3rd$" - -gText_4th:: @ 85EDFAC - .string "4th$" - -gText_Friend:: @ 85EDFB0 - .string "Friend$" - -gUnknown_085EDFB7:: @ 85EDFB7 - .string "POKeMON$" - -gJPText_MysteryGift:: @ 85EDFBF - .string "ふしぎなもらいもの$" @ "fushiginamoraimono" ("Mystery Gift" in Japanese) - -gJPText_DecideStop:: @ 85EDFC9 - .string "{UNK_CTRL_F800}けってい {UNK_CTRL_F801}やめる$" @ "{UNK_CTRL_F800}kettei {UNK_CTRL_F801}yameru" ("{UNK_CTRL_F800}decide {UNK_CTRL_F801}stop" in Japanese) - -gUnknown_085EDFD6:: @ 85EDFD6 - .string "カードeリーダー{UNK_CTRL_F9 0x04} で\n" - .string "ふしぎなもらいものを よみこみます$" - -gUnknown_085EDFF5:: @ 85EDFF5 - .string "カードeリーダー{UNK_CTRL_F9 0x04}の メニューから\n" - .string "‘つうしん’を えらび$" - -gUnknown_085EE014:: @ 85EE014 - .string "‘ゲームボーイアドバンスとつうしん’\n" - .string "を せんたく してください$" - -gUnknown_085EE035:: @ 85EE035 - .string "カードeリーダー{UNK_CTRL_F9 0x04}の ‘つうしん’を\n" - .string "えらんで Aボタンを おしてください$" - -gUnknown_085EE05C:: @ 85EE05C - .string "せつぞくが まちがっています$" - -gUnknown_085EE06B:: @ 85EE06B - .string "カードの よみこみを\n" - .string "ちゅうし しました$" - -gUnknown_085EE080:: @ 85EE080 - .string "カードeリーダー{UNK_CTRL_F9 0x04}と\n" - .string "つうしん できません$" - -gUnknown_085EE097:: @ 85EE097 - .string "つうしん ちゅう です$" - -gUnknown_085EE0A3:: @ 85EE0A3 - .string "つうしん エラーです\n" - .string "せつぞくを たしかめて ください$" - -gUnknown_085EE0BF:: @ 85EE0BF - .string "つうしん エラーです\n" - .string "はじめから やりなおして ください$" - -gUnknown_085EE0DC:: @ 85EE0DC - .string "カードeリーダー{UNK_CTRL_F9 0x04} に\n" - .string "カードを よみこませて ください$" - -gUnknown_085EE0FA:: @ 85EE0FA - .string "つうしん しゅうりょう!$" - -gUnknown_085EE107:: @ 85EE107 - .string "あらたな トレーナーが\n" - .string "ホウエンに やってきた!$" - -gUnknown_085EE120:: @ 85EE120 - .string "しばらく おまちください$" - -gUnknown_085EE12D:: @ 85EE12D - .string "かきこみ エラー です\n" - .string "データが ほぞん できませんでした$" - -gUnknown_085EE14B:: @ 85EE14B - .string "RED$" - -gUnknown_085EE14F:: @ 85EE14F - .string "BLUE$" - -gUnknown_085EE154:: @ 85EE154 - .string "---$" - -gText_SingleBattleRoomResults:: @ 85EE158 - .string "{PLAYER}’s Single Battle Room Results$" - -gText_DoubleBattleRoomResults:: @ 85EE178 - .string "{PLAYER}’s Double Battle Room Results$" - -gText_MultiBattleRoomResults:: @ 85EE198 - .string "{PLAYER}’s Multi Battle Room Results$" - -gText_LinkMultiBattleRoomResults:: @ 85EE1B7 - .string "{PLAYER}’s Link Multi Battle Room Results$" - -gText_SingleBattleTourneyResults:: @ 85EE1DB - .string "{PLAYER}’s Single Battle Tourney Results$" - -gText_DoubleBattleTourneyResults:: @ 85EE1FE - .string "{PLAYER}’s Double Battle Tourney Results$" - -gText_SingleBattleHallResults:: @ 85EE221 - .string "{PLAYER}’s Single Battle Hall Results$" - -gText_DoubleBattleHallResults:: @ 85EE241 - .string "{PLAYER}’s Double Battle Hall Results$" - -gText_BattleChoiceResults:: @ 85EE261 - .string "{PLAYER}’s Battle Choice Results$" - -gText_SetKOTourneyResults:: @ 85EE27C - .string "{PLAYER}’s Set KO Tourney Results$" - -gText_BattleSwapSingleResults:: @ 85EE298 - .string "{PLAYER}’s Battle Swap Single Results$" - -gText_BattleSwapDoubleResults:: @ 85EE2B8 - .string "{PLAYER}’s Battle Swap Double Results$" - -gText_BattleQuestResults:: @ 85EE2D8 - .string "{PLAYER}’s Battle Quest Results$" - -gText_Lv502:: @ 85EE2F2 - .string "LV. 50$" - -gText_OpenLv:: @ 85EE2F9 - .string "OPEN LV.$" - -gText_WinStreak:: @ 85EE302 - .string "Win streak: {STR_VAR_1}$" - -gText_Current:: @ 85EE311 - .string "CURRENT$" - -gText_Record:: @ 85EE319 - .string "RECORD$" - -gText_Prev:: @ 85EE320 - .string "PREV.$" - -gText_RentalSwap:: @ 85EE326 - .string "Rental/Swap$" - -gText_Total:: @ 85EE332 - .string "Total$" - -gText_ClearStreak:: @ 85EE338 - .string "Clear streak: {STR_VAR_1}$" - -gText_Championships:: @ 85EE349 - .string "Championships: {STR_VAR_1}$" - -gText_RoomsCleared:: @ 85EE35B - .string "Rooms cleared: {STR_VAR_1}$" - -gText_TimesCleared:: @ 85EE36D - .string "Times cleared:{CLEAR 0x05}{STR_VAR_1}$" - -gText_KOsInARow:: @ 85EE381 - .string "KOs in a row: {STR_VAR_1}$" - -gText_TimesVar1:: @ 85EE392 - .string "Times: {STR_VAR_1}$" - -gText_FloorsCleared:: @ 85EE39C - .string "Floors cleared: {STR_VAR_1}$" - - .align 2 -gUnknown_085EE3B0:: @ 85EE3B0 - .string "LV. 50$" - - .align 2 -gUnknown_085EE3B8:: @ 85EE3B8 - .string "OPEN LEVEL$" - - .align 2 -gUnknown_085EE3C4:: @ 85EE3C4 - .string "Win streak: {STR_VAR_2}$" - - .align 2 -gUnknown_085EE3D4:: @ 85EE3D4 - .string "Clear streak: {STR_VAR_2}$" - - .align 2 -gUnknown_085EE3E8:: @ 85EE3E8 - .string "Rooms cleared: {STR_VAR_2}$" - - .align 2 -gUnknown_085EE3FC:: @ 85EE3FC - .string "KOs in a row: {STR_VAR_2}$" - - .align 2 -gUnknown_085EE410:: @ 85EE410 - .string "Floors cleared: {STR_VAR_2}$" - - .align 2 -gText_1Dot:: @ 85EE424 - .string "1.$" - -gUnknown_085EE427:: @ 85EE427 - .string "2.$" - -gUnknown_085EE42A:: @ 85EE42A - .string "3.$" - -gText_SavingDontTurnOff2:: @ 85EE42D - .string "SAVING…\nDON’T TURN OFF THE POWER.$" - -gText_BlenderMaxSpeedRecord:: @ 85EE44F - .string "BERRY BLENDER\nMAXIMUM SPEED RECORD!$" - -gText_234Players:: @ 85EE473 - .string "2 PLAYERS\n3 PLAYERS\n4 PLAYERS$" - -gText_YesNo:: @ 85EE491 - .string "YES\nNO$" - -gText_SelectorArrow3:: @ 85EE498 - .string "▶$" - -gText_Peekaboo:: @ 85EE49A - .string "PEEKABOO!$" - -gText_CommErrorCheckConnections:: @ 85EE4A4 - .string "Communication error…\nPlease check all connections,\nthen turn the power OFF and ON.$" - -gText_CommErrorEllipsis:: @ 85EE4F7 - .string "Communication error…$" - -gText_MoveCloserToLinkPartner:: @ 85EE50C - .string "Move closer to your link partner(s).\nAvoid obstacles between partners.$" - -gText_ABtnRegistrationCounter:: @ 85EE553 - .string "A Button: Registration Counter$" - -gText_ABtnTitleScreen:: @ 85EE572 - .string "A Button: Title Screen$" - -gText_Option:: @ 85EE589 - .string "OPTION$" - -gText_TextSpeed:: @ 85EE590 - .string "TEXT SPEED$" - -gText_BattleScene:: @ 85EE59B - .string "BATTLE SCENE$" - -gText_BattleStyle:: @ 85EE5A8 - .string "BATTLE STYLE$" - -gText_Sound:: @ 85EE5B5 - .string "SOUND$" - -gText_Frame:: @ 85EE5BB - .string "FRAME$" - -gText_OptionMenuCancel:: @ 85EE5C1 - .string "CANCEL$" - -gText_ButtonMode:: @ 85EE5C8 - .string "BUTTON MODE$" - -gText_TextSpeedSlow:: @ 85EE5D4 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}SLOW$" - -gText_TextSpeedMid:: @ 85EE5DF - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}MID$" - -gText_TextSpeedFast:: @ 85EE5E9 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}FAST$" - -gText_BattleSceneOn:: @ 85EE5F4 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}ON$" - -gText_BattleSceneOff:: @ 85EE5FD - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}OFF$" - -gText_BattleStyleShift:: @ 85EE607 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}SHIFT$" - -gText_BattleStyleSet:: @ 85EE613 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}SET$" - -gText_SoundMono:: @ 85EE61D - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}MONO$" - -gText_SoundStereo:: @ 85EE628 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}STEREO$" - -gText_FrameType:: @ 85EE635 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}TYPE$" - -gText_FrameTypeNumber:: @ 85EE640 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}$" - -gText_ButtonTypeNormal:: @ 85EE647 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}NORMAL$" - -gText_ButtonTypeLR:: @ 85EE654 - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}LR$" - -gText_ButtonTypeLEqualsA:: @ 85EE65D - .string "{COLOR GREEN}{SHADOW LIGHT_GREEN}L=A$" - -gText_XPLink:: @ 85EE667 - .string "{STR_VAR_1}P LINK$" - -gText_BronzeCard:: @ 85EE670 - .string "BRONZE$" - -gText_CopperCard:: @ 85EE677 - .string "COPPER$" - -gText_SilverCard:: @ 85EE67E - .string "SILVER$" - -gText_GoldCard:: @ 85EE685 - .string "GOLD$" - -gText_Day:: @ 85EE68A - .string "DAY$" - -gText_Colon3:: @ 85EE68E - .string ":$" - -gText_Confirm2:: @ 85EE690 - .string "CONFIRM$" - -gUnknown_085EE698:: @ 85EE698 - .string "Days$" - -gUnknown_085EE69D:: @ 85EE69D - .string "Time:$" - -gUnknown_085EE6A3:: @ 85EE6A3 - .string "Game time$" - -gUnknown_085EE6AD:: @ 85EE6AD - .string "RTC time$" - -gUnknown_085EE6B6:: @ 85EE6B6 - .string "Updated time$" - -gText_MenuPokedex:: @ 85EE6C3 - .string "POKéDEX$" - -gText_MenuPokemon:: @ 85EE6CB - .string "POKéMON$" - -gText_MenuBag:: @ 85EE6D3 - .string "BAG$" - -gText_MenuPokenav:: @ 85EE6D7 - .string "POKéNAV$" - -gText_MenuPlayer:: @ 85EE6DF - .string "{PLAYER}$" - -gText_MenuSave:: @ 85EE6E2 - .string "SAVE$" - -gText_MenuOption:: @ 85EE6E7 - .string "OPTION$" - -gText_MenuExit:: @ 85EE6EE - .string "EXIT$" - -gText_MenuRetire:: @ 85EE6F3 - .string "RETIRE$" - -gText_MenuRest:: @ 85EE6FA - .string "REST$" - -gText_SafariBallStock:: @ 85EE6FF - .string "SAFARI BALLS\nStock: {STR_VAR_1}$" - -gText_BattlePyramidFloor:: @ 85EE716 - .string "Battle Pyramid\n{STR_VAR_1}$" - -gText_Floor1:: @ 85EE728 - .string "Floor 1$" - -gText_Floor2:: @ 85EE730 - .string "Floor 2$" - -gText_Floor3:: @ 85EE738 - .string "Floor 3$" - -gText_Floor4:: @ 85EE740 - .string "Floor 4$" - -gText_Floor5:: @ 85EE748 - .string "Floor 5$" - -gText_Floor6:: @ 85EE750 - .string "Floor 6$" - -gText_Floor7:: @ 85EE758 - .string "Floor 7$" - -gText_Peak:: @ 85EE760 - .string "Peak$" - -gText_LinkStandby2:: @ 85EE765 - .string "Link standby…\n… … B Button: Cancel$" - -gText_PressAToLoadEvent:: @ 85EE788 - .string "Press the A Button to load event.\n… … B Button: Cancel$" - -gText_LoadingEvent:: @ 85EE7BF - .string "Loading event…$" - -gText_DontRemoveCableTurnOff:: @ 85EE7CE - .string "Don’t remove the Game Link cable.\nDon’t turn off the power.$" - -gText_EventSafelyLoaded:: @ 85EE80A - .string "The event was safely loaded.$" - -gText_LoadErrorEndingSession:: @ 85EE827 - .string "Loading error.\nEnding session.$" - -gUnknown_085EE846:: @ 85EE846 - .string "プレイヤー$" @ "pureiyaa" ("player" in Japanese) - -gUnknown_085EE84C:: @ 85EE84C - .string "さま$" @ "sama" (a very high honorific) - -gText_DexHoenn:: @ 85EE84F - .string "HOENN$" - -gText_DexNational:: @ 85EE855 - .string "NATIONAL$" - -gText_PokedexDiploma:: @ 85EE85E - .string "PLAYER: {CLEAR 0x10}{COLOR RED}{SHADOW LIGHT_RED}{PLAYER}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}\n\nThis document certifies\nthat you have successfully\ncompleted your\n{STR_VAR_1} POKéDEX.\n\n{CLEAR_TO 0x42}{COLOR RED}{SHADOW LIGHT_RED}GAME FREAK$" - -gUnknown_085EE8DC:: @ 85EE8DC - .string "{COLOR RED}{SHADOW LIGHT_RED}ゲ-ムフリ-ク$" @ geemufuriku ("Game Freak" in Japanese) - -gUnknown_085EE8EA:: @ 85EE8EA - .string "{COLOR RED}{SHADOW LIGHT_RED}$" - -gText_Hoenn:: @ 85EE8F1 - .string "HOENN$" - -gText_OhABite:: @ 85EE8F7 - .string "Oh! A bite!$" - -gText_PokemonOnHook:: @ 85EE903 - .string "A POKéMON’s on the hook!{PAUSE_UNTIL_PRESS}$" - -gText_NotEvenANibble:: @ 85EE91E - .string "Not even a nibble…{PAUSE_UNTIL_PRESS}$" - -gText_ItGotAway:: @ 85EE933 - .string "It got away…{PAUSE_UNTIL_PRESS}$" - -gText_XWillBeSentToY:: @ 85EE942 - .string "{STR_VAR_2} will be\nsent to {STR_VAR_1}.$" - -gText_ByeByeVar1:: @ 85EE959 - .string "Bye-bye, {STR_VAR_2}!$" - -gText_XSentOverY:: @ 85EE966 - .string "{STR_VAR_1} sent over {STR_VAR_3}.$" - -gText_TakeGoodCareOfX:: @ 85EE977 - .string "Take good care of {STR_VAR_3}!$" - - .include "data/text/easy_chat/easy_chat_group_names.inc" - -gText_ThreeQuestionMarks:: @ 85EEA42 - .string "???$" - -gUnknown_085EEA46:: @ 85EEA46 - .string "MAX. HP$" - -gUnknown_085EEA4E:: @ 85EEA4E - .string "ATTACK$" - -gUnknown_085EEA55:: @ 85EEA55 - .string "DEFENSE$" - -gUnknown_085EEA5D:: @ 85EEA5D - .string "SPEED$" - -gUnknown_085EEA63:: @ 85EEA63 - .string "SP. ATK$" - -gUnknown_085EEA6B:: @ 85EEA6B - .string "SP. DEF$" - -gText_UnkCtrlF904:: @ 85EEA73 - .string "{UNK_CTRL_F904}$" - -gText_Dash:: @ 85EEA76 - .string "-$" - -gText_FromSpace:: @ 85EEA78 - .string "From $" - -gText_MixingRecords:: @ 85EEA7E - .string "Mixing records…$" - -gText_RecordMixingComplete:: @ 85EEA8E - .string "Record mixing completed.\nThank you for waiting.$" - -gText_YourName:: @ 85EEABE - .string "YOUR NAME?$" - -gText_BoxName:: @ 85EEAC9 - .string "BOX NAME?$" - -gText_PkmnsNickname:: @ 85EEAD3 - .string "{STR_VAR_1}’s nickname?$" - -gText_TellHimTheWords:: @ 85EEAE2 - .string "Tell him the words.$" - -gText_MoveOkBack:: @ 85EEAF6 - .string "{UNK_CTRL_F80C}MOVE {UNK_CTRL_F800}OK {UNK_CTRL_F801}BACK$" - -gText_CallCantBeMadeHere:: @ 85EEB0B - .string "A call can’t be made from here.$" - -gUnknown_085EEB2B:: - .string "HANDSOME$" - -gUnknown_085EEB34:: - .string "VINNY$" - -gUnknown_085EEB3A:: - .string "MOREME$" - -gUnknown_085EEB41:: - .string "IRONHARD$" - -gUnknown_085EEB4A:: - .string "MUSCLE$" - -gUnknown_085EEB51:: - .string "coolness$" - -gUnknown_085EEB5A:: - .string "beauty$" - -gUnknown_085EEB61:: - .string "cuteness$" - -gUnknown_085EEB6A:: - .string "smartness$" - -gUnknown_085EEB74:: - .string "toughness$" - -gText_Lady2:: @ 85EEB7E - .string "Lady$" - -gUnknown_085EEB83:: - .string "slippery$" - -gUnknown_085EEB8C:: - .string "roundish$" - -gUnknown_085EEB95:: - .string "wham-ish$" - -gUnknown_085EEB9E:: - .string "shiny$" - -gUnknown_085EEBA4:: - .string "sticky$" - -gUnknown_085EEBAB:: - .string "pointy$" - -gText_RentalPkmn2:: @ 85EEBB2 - .string "RENTAL POKéMON$" - -gText_SelectFirstPkmn:: @ 85EEBC1 - .string "Select the first POKéMON.$" - -gText_SelectSecondPkmn:: @ 85EEBDB - .string "Select the second POKéMON.$" - -gText_SelectThirdPkmn:: @ 85EEBF6 - .string "Select the third POKéMON.$" - -gText_Rent:: @ 85EEC10 - .string "RENT$" - -gText_Summary:: @ 85EEC15 - .string "SUMMARY$" - -gText_Others2:: @ 85EEC1D - .string "OTHERS$" - -gText_Deselect:: @ 85EEC24 - .string "DESELECT$" - -gText_TheseThreePkmnOkay:: @ 85EEC2D - .string "Are these three POKéMON OK?$" - -gText_Yes2:: @ 85EEC49 - .string "YES$" - -gText_No2:: @ 85EEC4D - .string "NO$" - -gText_CantSelectSamePkmn:: @ 85EEC50 - .string "Can’t select same {PKMN}.$" - -gText_PkmnSwap:: @ 85EEC66 - .string "POKéMON SWAP$" - -gText_SelectPkmnToSwap:: @ 85EEC73 - .string "Select POKéMON to swap.$" - -gText_SelectPkmnToAccept:: @ 85EEC8B - .string "Select POKéMON to accept.$" - -gText_Swap:: @ 85EECA5 - .string "SWAP$" - -gText_Summary2:: @ 85EECAA - .string "SUMMARY$" - -gText_Rechoose:: @ 85EECB2 - .string "RECHOOSE$" - -gText_QuitSwapping:: @ 85EECBB - .string "Quit swapping?$" - -gText_Yes3:: @ 85EECCA - .string "YES$" - -gText_No3:: @ 85EECCE - .string "NO$" - -gText_PkmnForSwap:: @ 85EECD1 - .string "{PKMN} FOR SWAP$" - -gText_Cancel3:: @ 85EECDD - .string "CANCEL$" - -gUnknown_085EECE4:: @ 85EECE4 - .string "SWAP$" - -gUnknown_085EECE9:: @ 85EECE9 - .string "ACCEPT$" - -gText_AcceptThisPkmn:: @ 85EECF0 - .string "Accept this POKéMON?$" - -gUnknown_085EED05:: @ 85EED05 - .string " $" - -gText_SamePkmnInPartyAlready:: @ 85EED0A - .string "Same {PKMN} in party already.$" - -gText_DecimalPoint:: @ 85EED24 - .string ".$" - -gText_SavingPlayer:: @ 85EED26 - .string "PLAYER$" - -gText_SavingBadges:: @ 85EED2D - .string "BADGES$" - -gText_SavingPokedex:: @ 85EED34 - .string "POKéDEX$" - -gText_SavingTime:: @ 85EED3C - .string "TIME$" - -gText_WirelessCommStatus:: @ 85EED41 - .string "Wireless Communication Status$" - -gText_PeopleTrading:: @ 85EED5F - .string "People trading:$" - -gText_PeopleBattling:: @ 85EED6F - .string "People battling:$" - -gText_PeopleInUnionRoom:: @ 85EED80 - .string "People in the UNION ROOM:$" - -gText_PeopleCommunicating:: @ 85EED9A - .string "People communicating:$" - -gText_F700Players:: @ 85EEDB0 - .string "{SPECIAL_F7 0} players$" - -gText_F701Players:: @ 85EEDBB - .string "{SPECIAL_F7 1} players$" - -gText_F702Players:: @ 85EEDC6 - .string "{SPECIAL_F7 2} players$" - -gText_F703Players:: @ 85EEDD1 - .string "{SPECIAL_F7 3} players$" - - .align 2 - .4byte gText_F700Players - .4byte gText_F701Players - .4byte gText_F702Players - .4byte gText_F703Players - - .align 2 -gText_WonderCards:: @ 85EEDEC - .string "WONDER CARDS$" - - .align 2 -gText_WonderNews:: @ 85EEDFC - .string "WONDER NEWS$" - - .align 2 -gText_WirelessCommunication:: @ 85EEE08 - .string "WIRELESS COMMUNICATION$" - - .align 2 -gText_Friend2:: @ 85EEE20 - .string "FRIEND$" - - .align 2 -gText_Exit3:: @ 85EEE28 - .string "EXIT$" - - .align 2 -gText_Receive:: @ 85EEE30 - .string "RECEIVE$" - - .align 2 -gText_Send:: @ 85EEE38 - .string "SEND$" - - .align 2 -gText_Toss:: @ 85EEE40 - .string "TOSS$" - - .align 2 -gText_VarietyOfEventsImportedWireless:: @ 85EEE48 - .string "A variety of events will be imported\nover Wireless Communication.$" - - .align 2 -gText_WonderCardsInPossession:: @ 85EEE8C - .string "Read the WONDER CARDS in your\npossession.$" - - .align 2 -gText_ReadNewsThatArrived:: @ 85EEEB8 - .string "Read the NEWS that arrived.$" - - .align 2 -gText_ReturnToTitle:: @ 85EEED4 - .string "Return to the title screen.$" - - .align 2 -gText_DontHaveCardNewOneInput:: @ 85EEEF0 - .string "You don’t have a WONDER CARD,\nso a new CARD will be input.$" - - .align 2 -gText_DontHaveNewsNewOneInput:: @ 85EEF2C - .string "You don’t have any WONDER NEWS,\nso new NEWS will be input.$" - - .align 2 -gText_WhereShouldCardBeAccessed:: @ 85EEF68 - .string "Where should the WONDER CARD\nbe accessed?$" - - .align 2 -gText_WhereShouldNewsBeAccessed:: @ 85EEF94 - .string "Where should the WONDER NEWS\nbe accessed?$" - - .align 2 -gUnknown_085EEFC0:: @ 85EEFC0 - .string "Communication standby…\nB Button: Cancel$" - - .align 2 -gText_Communicating:: @ 85EEFE8 - .string "Communicating…$" - - .align 2 -gText_CommunicationCompleted:: @ 85EEFF8 - .string "Communication completed.$" - - .align 2 -gText_CommunicationError:: @ 85EF014 - .string "Communication error.$" - - .align 2 -gText_CommunicationCanceled:: @ 85EF02C - .string "Communication has been canceled.$" - - .align 2 -gText_ThrowAwayWonderCard:: @ 85EF050 - .string "Throw away the WONDER CARD\nand input a new CARD?$" - - .align 2 -gText_HaventReceivedCardsGift:: @ 85EF084 - .string "You haven’t received the CARD’s gift\nyet. Input a new CARD anyway?$" - - .align 2 -gText_WonderCardReceivedFrom:: @ 85EF0C8 - .string "A WONDER CARD has been received\nfrom {STR_VAR_1}.$" - - .align 2 -gText_WonderNewsReceivedFrom:: @ 85EF0F4 - .string "A WONDER NEWS item has been\nreceived from {STR_VAR_1}.$" - - .align 2 -gText_WonderCardReceived:: @ 85EF124 - .string "A new WONDER CARD has been\nreceived.$" - - .align 2 -gText_WonderNewsReceived:: @ 85EF14C - .string "A new WONDER NEWS item has been\nreceived.$" - - .align 2 -gText_NewStampReceived:: @ 85EF178 - .string "A new STAMP has been received.$" - - .align 2 -gText_NewTrainerReceived:: @ 85EF198 - .string "A new TRAINER has arrived.$" - - .align 2 -gText_AlreadyHadCard:: @ 85EF1B4 - .string "You already had that\nWONDER CARD.$" - - .align 2 -gText_AlreadyHadNews:: @ 85EF1D8 - .string "You already had that\nWONDER NEWS item.$" - - .align 2 -gText_AlreadyHadStamp:: @ 85EF200 - .string "You already had that\nSTAMP.$" - - .align 2 -gText_NoMoreRoomForStamps:: @ 85EF21C - .string "There’s no more room for adding\nSTAMPS.$" - - .align 2 -gText_RecordUploadedViaWireless:: @ 85EF244 - .string "Your record has been uploaded via\nWIRELESS COMMUNICATION.$" - - .align 2 -gText_CantAcceptCardFromTrainer:: @ 85EF280 - .string "You can’t accept a WONDER CARD\nfrom this TRAINER.$" - - .align 2 -gText_CantAcceptNewsFromTrainer:: @ 85EF2B4 - .string "You can’t accept WONDER NEWS\nfrom this TRAINER.$" - - .align 2 -gText_NothingSentOver:: @ 85EF2E4 - .string "Nothing was sent over…$" - - .align 2 -gText_WhatToDoWithCards:: @ 85EF2FC - .string "What would you like to do\nwith the WONDER CARDS?$" - - .align 2 -gText_WhatToDoWithNews:: @ 85EF330 - .string "What would you like to do\nwith the WONDER NEWS?$" - - .align 2 -gText_SendingWonderCard:: @ 85EF360 - .string "Sending your WONDER CARD…$" - - .align 2 -gText_SendingWonderNews:: @ 85EF37C - .string "Sending your WONDER NEWS item…$" - - .align 2 -gText_WonderCardSentTo:: @ 85EF39C - .string "Your WONDER CARD has been sent\nto {STR_VAR_1}.$" - - .align 2 -gText_WonderNewsSentTo:: @ 85EF3C4 - .string "Your WONDER NEWS item has been\nsent to {STR_VAR_1}.$" - - .align 2 -gText_StampSentTo:: @ 85EF3F0 - .string "A STAMP has been sent to {STR_VAR_1}.$" - - .align 2 -gText_GiftSentTo:: @ 85EF410 - .string "A GIFT has been sent to {STR_VAR_1}.$" - - .align 2 -gText_OtherTrainerHasCard:: @ 85EF42C - .string "The other TRAINER has the same\nWONDER CARD already.$" - - .align 2 -gText_OtherTrainerHasNews:: @ 85EF460 - .string "The other TRAINER has the same\nWONDER NEWS already.$" - - .align 2 -gText_OtherTrainerHasStamp:: @ 85EF494 - .string "The other TRAINER has the same\nSTAMP already.$" - - .align 2 -gText_OtherTrainerCanceled:: @ 85EF4C4 - .string "The other TRAINER canceled\ncommunication.$" - - .align 2 -gText_CantSendGiftToTrainer:: @ 85EF4F0 - .string "You can’t send a MYSTERY GIFT to\nthis TRAINER.$" - - .align 2 -gText_IfThrowAwayCardEventWontHappen:: @ 85EF520 - .string "If you throw away the CARD,\nits event won’t happen. Okay?$" - - .align 2 -gText_OkayToDiscardNews:: @ 85EF55C - .string "Is it okay to discard this\nNEWS item?$" - - .align 2 -gText_HaventReceivedGiftOkayToDiscard:: @ 85EF584 - .string "You haven’t received the\nGIFT. Is it okay to discard?$" - - .align 2 -gText_DataWillBeSaved:: @ 85EF5BC - .string "Data will be saved.\nPlease wait.$" - - .align 2 -gText_SaveCompletedPressA:: @ 85EF5E0 - .string "Save completed.\nPlease press the A Button.$" - - .align 2 -gText_WonderCardThrownAway:: @ 85EF60C - .string "The WONDER CARD was thrown away.$" - - .align 2 -gText_WonderNewsThrownAway:: @ 85EF630 - .string "The WONDER NEWS was thrown away.$" - - .align 2 -gText_MysteryGift:: @ 85EF654 - .string "MYSTERY GIFT$" - - .align 2 -gText_PickOKExit:: @ 85EF664 - .string "{UNK_CTRL_F80A}PICK {UNK_CTRL_F800}OK {UNK_CTRL_F801}EXIT$" - - .align 2 -gText_PickOKCancel:: @ 85EF678 - .string "{UNK_CTRL_F80A}PICK {UNK_CTRL_F800}OK {UNK_CTRL_F801}CANCEL$" - -gText_PlayersBattleResults:: @ 85EF68D - .string "{PLAYER}’s BATTLE RESULTS$" - -gText_TotalRecordWLD:: @ 85EF6A1 - .string "TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}$" - -gText_WinLoseDraw:: @ 85EF6BD - .string "{CLEAR_TO 0x53}WIN{CLEAR_TO 0x80}LOSE{CLEAR_TO 0xB0}DRAW$" - -gText_CommunicationStandby5:: @ 85EF6D2 - .string "Communication standby…$" - -gText_QuitTheGame:: @ 85EF6E9 - .string "Quit the game?$" - -gText_YouveGot9999Coins:: @ 85EF6F8 - .string "You’ve got 9,999 COINS.$" - -gText_YouveRunOutOfCoins:: @ 85EF710 - .string "You’ve run out of COINS.\nGame over!$" - -gText_YouDontHaveThreeCoins:: @ 85EF734 - .string "You don’t have three COINS.$" - -gText_ReelTimeHelp:: @ 85EF750 - .string "REEL TIME\nHere’s your chance to take\naim and nail marks!\nReel Time continues for the\nawarded number of spins.\nIt all ends on a Big Bonus.$" - -gDaycareText_GetAlongVeryWell:: @ 85EF7DA - .string "The two seem to get along\nvery well.$" - -gDaycareText_GetAlong:: @ 85EF7FF - .string "The two seem to get along.$" - -gDaycareText_DontLikeOther:: @ 85EF81A - .string "The two don’t seem to like\neach other much.$" - -gDaycareText_PlayOther:: @ 85EF846 - .string "The two prefer to play with other\nPOKéMON than each other.$" - -gText_NewLine2:: @ 85EF881 - .string "\n$" - -gText_Exit4:: @ 85EF883 - .string "EXIT$" - -gText_Lv:: @ 85EF888 - .string "{LV}$" - -gText_TimeBoard:: @ 85EF88A - .string "TIME BOARD$" - -gText_TimeCleared:: @ 85EF895 - .string "TIME CLEARED $" - -gText_XMinYDotZSec:: @ 85EF8A3 - .string "{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.$" - -gUnknown_085EF8B6:: @ 85EF8B6 - .string "1F$" - -gUnknown_085EF8B9:: @ 85EF8B9 - .string "2F$" - -gUnknown_085EF8BC:: @ 85EF8BC - .string "3F$" - -gUnknown_085EF8BF:: @ 85EF8BF - .string "4F$" - -gText_TeachWhichMoveToPkmn:: @ 85EF8C2 - .string "Teach which move to {STR_VAR_1}?$" - -gText_TeachX:: @ 85EF8DA - .string "Teach {STR_VAR_2}?$" - -gText_PkmnLearnedMove4:: @ 85EF8E4 - .string "{STR_VAR_1} learned\n{STR_VAR_2}!$" - -gText_PkmnTryingToLearnMove:: @ 85EF8F3 - .string "{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can’t learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?$" - -gText_StopTryingToTeachMove:: @ 85EF960 - .string "Stop trying to teach\n{STR_VAR_2}?$" - -gText_12AndPoof:: @ 85EF979 - .string "{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p$" - -gText_PkmnForgotMoveAndLearnedNew:: @ 85EF9A6 - .string "{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}.$" - -gUnknown_085EF9C8:: @ 85EF9C8 - .string "{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.$" - -gText_GiveUpTeachingNewMove:: @ 85EF9E6 - .string "Give up trying to teach a new\nmove to {STR_VAR_1}?$" - -gText_WhichMoveToForget2:: @ 85EFA10 - .string "Which move should be\nforgotten?\p$" - -gText_BattleMoves2:: @ 85EFA31 - .string "BATTLE MOVES$" - -gText_ContestMoves2:: @ 85EFA3E - .string "CONTEST MOVES$" - -gUnknown_085EFA4C:: @ 85EFA4C - .string "TYPE/$" - -gText_PPSlash:: @ 85EFA52 - .string "PP/$" - -gText_PowerSlash:: @ 85EFA56 - .string "POWER/$" - -gText_AccuracySlash:: @ 85EFA5D - .string "ACCURACY/$" - -gText_Appeal2:: @ 85EFA67 - .string "APPEAL$" - -gText_Jam2:: @ 85EFA6E - .string "JAM$" - -gText_Kira:: @ 85EFA72 - .string "KIRA$" - -gText_Amy:: @ 85EFA77 - .string "AMY$" - -gText_John:: @ 85EFA7B - .string "JOHN$" - -gText_Roy:: @ 85EFA80 - .string "ROY$" - -gText_Gabby:: @ 85EFA84 - .string "GABBY$" - -gText_Anna:: @ 85EFA8A - .string "ANNA$" - -gText_ClearAllSaveData:: @ 85EFA8F - .string "Clear all save data areas?$" - -gText_ClearingData:: @ 85EFAAA - .string "Clearing data…\nPlease wait.$" - -gText_IsThisTheCorrectTime:: @ 85EFAC6 - .string "Is this the correct time?$" - -gText_Confirm3:: @ 85EFAE0 - .string "CONFIRM$" - -gText_Cancel4:: @ 85EFAE8 - .string "CANCEL$" - -gMrStoneMatchCallDesc:: @ 85EFAEF - .string "DEVON PRES$" - -gMrStoneMatchCallName:: @ 85EFAFA - .string "MR. STONE$" - -gStevenMatchCallDesc:: @ 85EFB04 - .string "HARD AS ROCK$" - -gStevenMatchCallName:: @ 85EFB11 - .string "STEVEN$" - -gMayBrendanMatchCallDesc:: @ 85EFB18 - .string "RAD NEIGHBOR$" - -gNormanMatchCallDesc:: @ 85EFB25 - .string "RELIABLE ONE$" - -gMomMatchCallDesc:: @ 85EFB32 - .string "CALM & KIND$" - -gWallyMatchCallDesc:: @ 85EFB3E - .string "{PKMN} LOVER$" - -gNormanMatchCallName:: @ 85EFB47 - .string "DAD$" - -gMomMatchCallName:: @ 85EFB4B - .string "MOM$" - -gScottMatchCallDesc:: @ 85EFB4F - .string "ELUSIVE EYES$" - -gScottMatchCallName:: @ 85EFB5C - .string "SCOTT$" - -gRoxanneMatchCallDesc:: @ 85EFB62 - .string "ROCKIN’ WHIZ$" - -gBrawlyMatchCallDesc:: @ 85EFB6F - .string "THE BIG HIT$" - -gWattsonMatchCallDesc:: @ 85EFB7B - .string "SWELL SHOCK$" - -gFlanneryMatchCallDesc:: @ 85EFB87 - .string "PASSION BURN$" - -gWinonaMatchCallDesc:: @ 85EFB94 - .string "SKY TAMER$" - -gTateLizaMatchCallDesc:: @ 85EFB9E - .string "MYSTIC DUO$" - -gJuanMatchCallDesc:: @ 85EFBA9 - .string "DANDY CHARM$" - -gEliteFourMatchCallDesc:: @ 85EFBB5 - .string "ELITE FOUR$" - -gChampionMatchCallDesc:: @ 85EFBC0 - .string "CHAMPION$" - -gProfBirchMatchCallDesc:: @ 85EFBC9 - .string "{PKMN} PROF.$" - -gText_CommStandbyAwaitingOtherPlayer:: @ 85EFBD2 - .string "Communication standby…\nAwaiting another player to choose.$" - -gText_BattleWasRefused:: @ 85EFC0C - .string "The battle was refused.{PAUSE 60}$" - -gText_RefusedBattle:: @ 85EFC27 - .string "Refused the battle.{PAUSE 60}$" - -gUnknown_085EFC3E:: @ 85EFC3E - .string "NO WEATHER$" - -gUnknown_085EFC49:: @ 85EFC49 - .string "SUNNY$" - -gUnknown_085EFC4F:: @ 85EFC4F - .string "SUNNY2$" - -gUnknown_085EFC56:: @ 85EFC56 - .string "RAIN$" - -gUnknown_085EFC5B:: @ 85EFC5B - .string "SNOW$" - -gUnknown_085EFC60:: @ 85EFC60 - .string "LIGHTNING$" - -gUnknown_085EFC6A:: @ 85EFC6A - .string "FOG$" - -gUnknown_085EFC6E:: @ 85EFC6E - .string "VOLCANO ASH$" - -gUnknown_085EFC7A:: @ 85EFC7A - .string "SANDSTORM$" - -gUnknown_085EFC84:: @ 85EFC84 - .string "FOG2$" - -gUnknown_085EFC89:: @ 85EFC89 - .string "SEAFLOOR$" - -gUnknown_085EFC92:: @ 85EFC92 - .string "CLOUDY$" - -gUnknown_085EFC99:: @ 85EFC99 - .string "SUNNY3$" - -gUnknown_085EFCA0:: @ 85EFCA0 - .string "HEAVY RAIN$" - -gUnknown_085EFCAB:: @ 85EFCAB - .string "SEAFLOOR2$" - -gText_DelAll:: @ 85EFCB5 - .string "DEL. ALL$" - -gText_Cancel5:: @ 85EFCBE - .string "CANCEL$" - -gText_Ok2:: @ 85EFCC5 - .string "OK$" - -gText_Quiz:: @ 85EFCC8 - .string "QUIZ$" - -gText_Answer:: @ 85EFCCD - .string "ANSWER$" - -gText_PokeBalls:: @ 85EFCD4 - .string "POKé BALLS$" - -gText_Berry:: @ 85EFCDF - .string "BERRY$" - -gText_Berries:: @ 85EFCE5 - .string "BERRIES$" diff --git a/data/text/berry_firmness_strings.inc b/data/text/berry_firmness_strings.inc deleted file mode 100644 index 656aa82de..000000000 --- a/data/text/berry_firmness_strings.inc +++ /dev/null @@ -1,14 +0,0 @@ -gBerryFirmnessString_VerySoft:: @ 85E923A - .string "Very soft$" - -gBerryFirmnessString_Soft:: @ 85E9244 - .string "Soft$" - -gBerryFirmnessString_Hard:: @ 85E9249 - .string "Hard$" - -gBerryFirmnessString_VeryHard:: @ 85E924E - .string "Very hard$" - -gBerryFirmnessString_SuperHard:: @ 85E9258 - .string "Super hard$" diff --git a/data/text/easy_chat/easy_chat_group_names.inc b/data/text/easy_chat/easy_chat_group_names.inc deleted file mode 100644 index ebe3dff1b..000000000 --- a/data/text/easy_chat/easy_chat_group_names.inc +++ /dev/null @@ -1,65 +0,0 @@ -gEasyChatGroupName_Pokemon:: @ 85EE98D - .string "POKéMON$" - -gEasyChatGroupName_Trainer:: @ 85EE995 - .string "TRAINER$" - -gEasyChatGroupName_Status:: @ 85EE99D - .string "STATUS$" - -gEasyChatGroupName_Battle:: @ 85EE9A4 - .string "BATTLE$" - -gEasyChatGroupName_Greetings:: @ 85EE9AB - .string "GREETINGS$" - -gEasyChatGroupName_People:: @ 85EE9B5 - .string "PEOPLE$" - -gEasyChatGroupName_Voices:: @ 85EE9BC - .string "VOICES$" - -gEasyChatGroupName_Speech:: @ 85EE9C3 - .string "SPEECH$" - -gEasyChatGroupName_Endings:: @ 85EE9CA - .string "ENDINGS$" - -gEasyChatGroupName_Feelings:: @ 85EE9D2 - .string "FEELINGS$" - -gEasyChatGroupName_Conditions:: @ 85EE9DB - .string "CONDITIONS$" - -gEasyChatGroupName_Actions:: @ 85EE9E6 - .string "ACTIONS$" - -gEasyChatGroupName_Lifestyle:: @ 85EE9EE - .string "LIFESTYLE$" - -gEasyChatGroupName_Hobbies:: @ 85EE9F8 - .string "HOBBIES$" - -gEasyChatGroupName_Time:: @ 85EEA00 - .string "TIME$" - -gEasyChatGroupName_Misc:: @ 85EEA05 - .string "MISC.$" - -gEasyChatGroupName_Adjectives:: @ 85EEA0B - .string "ADJECTIVES$" - -gEasyChatGroupName_Events:: @ 85EEA16 - .string "EVENTS$" - -gEasyChatGroupName_Move1:: @ 85EEA1D - .string "MOVE 1$" - -gEasyChatGroupName_Move2:: @ 85EEA24 - .string "MOVE 2$" - -gEasyChatGroupName_TrendySaying:: @ 85EEA2B - .string "TRENDY SAYING$" - -gEasyChatGroupName_Pokemon2:: @ 85EEA39 - .string "POKéMON2$" diff --git a/data/text/move_descriptions.inc b/data/text/move_descriptions.inc deleted file mode 100644 index 0f6b1adbf..000000000 --- a/data/text/move_descriptions.inc +++ /dev/null @@ -1,1421 +0,0 @@ -gNullMoveDescription:: @ 86181C0 - .string "$" - -gPoundMoveDescription:: @ 86181C1 - .string "Pounds the foe with\nforelegs or tail.$" - -gKarateChopMoveDescription:: @ 86181E7 - .string "A chopping attack with a\nhigh critical-hit ratio.$" - -gDoubleSlapMoveDescription:: @ 8618219 - .string "Repeatedly slaps the foe\n2 to 5 times.$" - -gCometPunchMoveDescription:: @ 8618240 - .string "Repeatedly punches the foe\n2 to 5 times.$" - -gMegaPunchMoveDescription:: @ 8618269 - .string "A strong punch thrown with\nincredible power.$" - -gPayDayMoveDescription:: @ 8618296 - .string "Throws coins at the foe.\nMoney is recovered after.$" - -gFirePunchMoveDescription:: @ 86182C9 - .string "A fiery punch that may burn\nthe foe.$" - -gIcePunchMoveDescription:: @ 86182EE - .string "An icy punch that may\nfreeze the foe.$" - -gThunderPunchMoveDescription:: @ 8618314 - .string "An electrified punch that\nmay paralyze the foe.$" - -gScratchMoveDescription:: @ 8618344 - .string "Scratches the foe with\nsharp claws.$" - -gViceGripMoveDescription:: @ 8618368 - .string "Grips the foe with large and\npowerful pincers.$" - -gGuillotineMoveDescription:: @ 8618397 - .string "A powerful pincer attack\nthat may cause fainting.$" - -gRazorWindMoveDescription:: @ 86183C9 - .string "A 2-turn move that strikes\nthe foe on the 2nd turn.$" - -gSwordsDanceMoveDescription:: @ 86183FD - .string "A fighting dance that\nsharply raises ATTACK.$" - -gCutMoveDescription:: @ 861842A - .string "Cuts the foe with sharp\nscythes, claws, etc.$" - -gGustMoveDescription:: @ 8618457 - .string "Strikes the foe with a gust\nof wind whipped up by wings.$" - -gWingAttackMoveDescription:: @ 8618490 - .string "Strikes the foe with wings\nspread wide.$" - -gWhirlwindMoveDescription:: @ 86184B8 - .string "Blows away the foe with\nwind and ends the battle.$" - -gFlyMoveDescription:: @ 86184EA - .string "Flies up on the first turn,\nthen strikes the next turn.$" - -gBindMoveDescription:: @ 8618522 - .string "Binds and squeezes the foe\nfor 2 to 5 turns.$" - -gSlamMoveDescription:: @ 861854F - .string "Slams the foe with a long\ntail, vine, etc.$" - -gVineWhipMoveDescription:: @ 861857A - .string "Strikes the foe with\nslender, whiplike vines.$" - -gStompMoveDescription:: @ 86185A8 - .string "Stomps the enemy with a big\nfoot. May cause flinching.$" - -gDoubleKickMoveDescription:: @ 86185DF - .string "A double-kicking attack\nthat strikes the foe twice.$" - -gMegaKickMoveDescription:: @ 8618613 - .string "An extremely powerful kick\nwith intense force.$" - -gJumpKickMoveDescription:: @ 8618642 - .string "A strong jumping kick. May\nmiss and hurt the kicker.$" - -gRollingKickMoveDescription:: @ 8618677 - .string "A fast kick delivered from\na rapid spin.$" - -gSandAttackMoveDescription:: @ 86186A0 - .string "Reduces the foe’s accuracy\nby hurling sand in its face.$" - -gHeadbuttMoveDescription:: @ 86186D8 - .string "A ramming attack that may\ncause flinching.$" - -gHornAttackMoveDescription:: @ 8618703 - .string "Jabs the foe with sharp\nhorns.$" - -gFuryAttackMoveDescription:: @ 8618722 - .string "Jabs the foe 2 to 5 times\nwith sharp horns, etc.$" - -gHornDrillMoveDescription:: @ 8618753 - .string "A one-hit KO attack that\nuses a horn like a drill.$" - -gTackleMoveDescription:: @ 8618786 - .string "Charges the foe with a full-\nbody tackle.$" - -gBodySlamMoveDescription:: @ 86187B0 - .string "A full-body slam that may\ncause paralysis.$" - -gWrapMoveDescription:: @ 86187DB - .string "Wraps and squeezes the foe\n2 to 5 times with vines, etc.$" - -gTakeDownMoveDescription:: @ 8618814 - .string "A reckless charge attack\nthat also hurts the user.$" - -gThrashMoveDescription:: @ 8618847 - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gDoubleEdgeMoveDescription:: @ 8618879 - .string "A life-risking tackle that\nalso hurts the user.$" - -gTailWhipMoveDescription:: @ 86188A9 - .string "Wags the tail to lower the\nfoe’s DEFENSE.$" - -gPoisonStingMoveDescription:: @ 86188D3 - .string "A toxic attack with barbs,\netc., that may poison.$" - -gTwineedleMoveDescription:: @ 8618905 - .string "Stingers on the forelegs\njab the foe twice.$" - -gPinMissileMoveDescription:: @ 8618931 - .string "Sharp pins are fired to\nstrike 2 to 5 times.$" - -gLeerMoveDescription:: @ 861895E - .string "Frightens the foe with a\nleer to lower DEFENSE.$" - -gBiteMoveDescription:: @ 861898E - .string "Bites with vicious fangs.\nMay cause flinching.$" - -gGrowlMoveDescription:: @ 86189BD - .string "Growls cutely to reduce the\nfoe’s ATTACK.$" - -gRoarMoveDescription:: @ 86189E7 - .string "Makes the foe flee to end\nthe battle.$" - -gSingMoveDescription:: @ 8618A0D - .string "A soothing song lulls the\nfoe into a deep slumber.$" - -gSupersonicMoveDescription:: @ 8618A40 - .string "Emits bizarre sound waves\nthat may confuse the foe.$" - -gSonicBoomMoveDescription:: @ 8618A74 - .string "Launches shock waves that\nalways inflict 20 HP damage.$" - -gDisableMoveDescription:: @ 8618AAB - .string "Psychically disables one of\nthe foe’s moves.$" - -gAcidMoveDescription:: @ 8618AD8 - .string "Sprays a hide-melting acid.\nMay lower DEFENSE.$" - -gEmberMoveDescription:: @ 8618B07 - .string "A weak fire attack that may\ninflict a burn.$" - -gFlamethrowerMoveDescription:: @ 8618B33 - .string "A powerful fire attack that\nmay inflict a burn.$" - -gMistMoveDescription:: @ 8618B63 - .string "Creates a mist that stops\nreduction of abilities.$" - -gWaterGunMoveDescription:: @ 8618B95 - .string "Squirts water to attack\nthe foe.$" - -gHydroPumpMoveDescription:: @ 8618BB6 - .string "Blasts water at high power\nto strike the foe.$" - -gSurfMoveDescription:: @ 8618BE4 - .string "Creates a huge wave, then\ncrashes it down on the foe.$" - -gIceBeamMoveDescription:: @ 8618C1A - .string "Blasts the foe with an icy\nbeam that may freeze it.$" - -gBlizzardMoveDescription:: @ 8618C4E - .string "Hits the foe with an icy\nstorm that may freeze it.$" - -gPsybeamMoveDescription:: @ 8618C81 - .string "Fires a peculiar ray that\nmay confuse the foe.$" - -gBubbleBeamMoveDescription:: @ 8618CB0 - .string "Forcefully sprays bubbles\nthat may lower SPEED.$" - -gAuroraBeamMoveDescription:: @ 8618CE0 - .string "Fires a rainbow-colored\nbeam that may lower ATTACK.$" - -gHyperBeamMoveDescription:: @ 8618D14 - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gPeckMoveDescription:: @ 8618D4A - .string "Attacks the foe with a\njabbing beak, etc.$" - -gDrillPeckMoveDescription:: @ 8618D74 - .string "A corkscrewing attack with\nthe beak acting as a drill.$" - -gSubmissionMoveDescription:: @ 8618DAB - .string "A reckless body slam that\nalso hurts the user.$" - -gLowKickMoveDescription:: @ 8618DDA - .string "A kick that inflicts more\ndamage on heavier foes.$" - -gCounterMoveDescription:: @ 8618E0C - .string "Retaliates any physical hit\nwith double the power.$" - -gSeismicTossMoveDescription:: @ 8618E3F - .string "Inflicts damage identical\nto the user’s level.$" - -gStrengthMoveDescription:: @ 8618E6E - .string "Builds enormous power,\nthen slams the foe.$" - -gAbsorbMoveDescription:: @ 8618E99 - .string "An attack that absorbs\nhalf the damage inflicted.$" - -gMegaDrainMoveDescription:: @ 8618ECB - .string "An attack that absorbs\nhalf the damage inflicted.$" - -gLeechSeedMoveDescription:: @ 8618EFD - .string "Plants a seed on the foe to\nsteal HP on every turn.$" - -gGrowthMoveDescription:: @ 8618F31 - .string "Forces the body to grow\nand heightens SP. ATK.$" - -gRazorLeafMoveDescription:: @ 8618F60 - .string "Cuts the enemy with leaves.\nHigh critical-hit ratio.$" - -gSolarBeamMoveDescription:: @ 8618F95 - .string "Absorbs light in one turn,\nthen attacks next turn.$" - -gPoisonPowderMoveDescription:: @ 8618FC8 - .string "Scatters a toxic powder\nthat may poison the foe.$" - -gStunSporeMoveDescription:: @ 8618FF9 - .string "Scatters a powder that may\nparalyze the foe.$" - -gSleepPowderMoveDescription:: @ 8619026 - .string "Scatters a powder that may\ncause the foe to sleep.$" - -gPetalDanceMoveDescription:: @ 8619059 - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gStringShotMoveDescription:: @ 861908B - .string "Binds the foe with string\nto reduce its SPEED.$" - -gDragonRageMoveDescription:: @ 86190BA - .string "Launches shock waves that\nalways inflict 40 HP damage.$" - -gFireSpinMoveDescription:: @ 86190F1 - .string "Traps the foe in a ring of\nfire for 2 to 5 turns.$" - -gThunderShockMoveDescription:: @ 8619123 - .string "An electrical attack that\nmay paralyze the foe.$" - -gThunderboltMoveDescription:: @ 8619153 - .string "A strong electrical attack\nthat may paralyze the foe.$" - -gThunderWaveMoveDescription:: @ 8619189 - .string "A weak jolt of electricity\nthat paralyzes the foe.$" - -gThunderMoveDescription:: @ 86191BC - .string "A lightning attack that may\ncause paralysis.$" - -gRockThrowMoveDescription:: @ 86191E9 - .string "Throws small rocks to\nstrike the foe.$" - -gEarthquakeMoveDescription:: @ 861920F - .string "A powerful quake, but has\nno effect on flying foes.$" - -gFissureMoveDescription:: @ 8619243 - .string "A one-hit KO move that\ndrops the foe in a fissure.$" - -gDigMoveDescription:: @ 8619276 - .string "Digs underground the first\nturn and strikes next turn.$" - -gToxicMoveDescription:: @ 86192AD - .string "Poisons the foe with an\nintensifying toxin.$" - -gConfusionMoveDescription:: @ 86192D9 - .string "A psychic attack that may\ncause confusion.$" - -gPsychicMoveDescription:: @ 8619304 - .string "A powerful psychic attack\nthat may lower SP. DEF.$" - -gHypnosisMoveDescription:: @ 8619336 - .string "A hypnotizing move that\nmay induce sleep.$" - -gMeditateMoveDescription:: @ 8619360 - .string "Meditates in a peaceful\nfashion to raise ATTACK.$" - -gAgilityMoveDescription:: @ 8619391 - .string "Relaxes the body to sharply\nboost SPEED.$" - -gQuickAttackMoveDescription:: @ 86193BA - .string "An extremely fast attack\nthat always strikes first.$" - -gRageMoveDescription:: @ 86193EE - .string "Raises the user’s ATTACK\nevery time it is hit.$" - -gTeleportMoveDescription:: @ 861941D - .string "A psychic move for fleeing\nfrom battle instantly.$" - -gNightShadeMoveDescription:: @ 861944F - .string "Inflicts damage identical\nto the user’s level.$" - -gMimicMoveDescription:: @ 861947E - .string "Copies a move used by the\nfoe during one battle.$" - -gScreechMoveDescription:: @ 86194AF - .string "Emits a screech to sharply\nreduce the foe’s DEFENSE.$" - -gDoubleTeamMoveDescription:: @ 86194E4 - .string "Creates illusory copies to\nraise evasiveness.$" - -gRecoverMoveDescription:: @ 8619512 - .string "Recovers up to half the\nuser’s maximum HP.$" - -gHardenMoveDescription:: @ 861953D - .string "Stiffens the body’s \nmuscles to raise DEFENSE.$" - -gMinimizeMoveDescription:: @ 861956C - .string "Minimizes the user’s size\nto raise evasiveness.$" - -gSmokescreenMoveDescription:: @ 861959C - .string "Lowers the foe’s accuracy\nusing smoke, ink, etc.$" - -gConfuseRayMoveDescription:: @ 86195CD - .string "A sinister ray that\nconfuses the foe.$" - -gWithdrawMoveDescription:: @ 86195F3 - .string "Withdraws the body into its\nhard shell to raise DEFENSE.$" - -gDefenseCurlMoveDescription:: @ 861962C - .string "Curls up to conceal weak\nspots and raise DEFENSE.$" - -gBarrierMoveDescription:: @ 861965E - .string "Creates a barrier that\nsharply raises DEFENSE.$" - -gLightScreenMoveDescription:: @ 861968D - .string "Creates a wall of light that\nlowers SP. ATK damage.$" - -gHazeMoveDescription:: @ 86196C1 - .string "Creates a black haze that\neliminates all stat changes.$" - -gReflectMoveDescription:: @ 86196F8 - .string "Creates a wall of light that\nweakens physical attacks.$" - -gFocusEnergyMoveDescription:: @ 861972F - .string "Focuses power to raise the\ncritical-hit ratio.$" - -gBideMoveDescription:: @ 861975E - .string "Endures attack for 2\nturns to retaliate double.$" - -gMetronomeMoveDescription:: @ 861978E - .string "Waggles a finger to use any\nPOKéMON move at random.$" - -gMirrorMoveMoveDescription:: @ 86197C2 - .string "Counters the foe’s attack\nwith the same move.$" - -gSelfDestructMoveDescription:: @ 86197F0 - .string "Inflicts severe damage but\nmakes the user faint.$" - -gEggBombMoveDescription:: @ 8619821 - .string "An egg is forcibly hurled at\nthe foe.$" - -gLickMoveDescription:: @ 8619847 - .string "Licks with a long tongue to\ninjure. May also paralyze.$" - -gSmogMoveDescription:: @ 861987E - .string "An exhaust-gas attack\nthat may also poison.$" - -gSludgeMoveDescription:: @ 86198AA - .string "Sludge is hurled to inflict\ndamage. May also poison.$" - -gBoneClubMoveDescription:: @ 86198DF - .string "Clubs the foe with a bone.\nMay cause flinching.$" - -gFireBlastMoveDescription:: @ 861990F - .string "Incinerates everything it\nstrikes. May cause a burn.$" - -gWaterfallMoveDescription:: @ 8619944 - .string "Charges the foe with speed\nto climb waterfalls.$" - -gClampMoveDescription:: @ 8619974 - .string "Traps and squeezes the\nfoe for 2 to 5 turns.$" - -gSwiftMoveDescription:: @ 86199A1 - .string "Sprays star-shaped rays\nthat never miss.$" - -gSkullBashMoveDescription:: @ 86199CA - .string "Tucks in the head, then\nattacks on the next turn.$" - -gSpikeCannonMoveDescription:: @ 86199FC - .string "Launches sharp spikes that\nstrike 2 to 5 times.$" - -gConstrictMoveDescription:: @ 8619A2C - .string "Constricts to inflict pain.\nMay lower SPEED.$" - -gAmnesiaMoveDescription:: @ 8619A59 - .string "Forgets about something\nand sharply raises SP. DEF.$" - -gKinesisMoveDescription:: @ 8619A8D - .string "Distracts the foe.\nMay lower accuracy.$" - -gSoftBoiledMoveDescription:: @ 8619AB4 - .string "Recovers up to half the\nuser’s maximum HP.$" - -gHiJumpKickMoveDescription:: @ 8619ADF - .string "A jumping knee kick. If it\nmisses, the user is hurt.$" - -gGlareMoveDescription:: @ 8619B14 - .string "Intimidates and frightens\nthe foe into paralysis.$" - -gDreamEaterMoveDescription:: @ 8619B46 - .string "Takes one half the damage\ninflicted on a sleeping foe.$" - -gPoisonGasMoveDescription:: @ 8619B7D - .string "Envelops the foe in a toxic\ngas that may poison.$" - -gBarrageMoveDescription:: @ 8619BAE - .string "Hurls round objects at the\nfoe 2 to 5 times.$" - -gLeechLifeMoveDescription:: @ 8619BDB - .string "An attack that steals half\nthe damage inflicted.$" - -gLovelyKissMoveDescription:: @ 8619C0C - .string "Demands a kiss with a scary\nface that induces sleep.$" - -gSkyAttackMoveDescription:: @ 8619C41 - .string "Searches out weak spots,\nthen strikes the next turn.$" - -gTransformMoveDescription:: @ 8619C76 - .string "Alters the user’s cells to\nbecome a copy of the foe.$" - -gBubbleMoveDescription:: @ 8619CAB - .string "An attack using bubbles.\nMay lower the foe’s SPEED.$" - -gDizzyPunchMoveDescription:: @ 8619CDF - .string "A rhythmic punch that may\nconfuse the foe.$" - -gSporeMoveDescription:: @ 8619D0A - .string "Scatters a cloud of spores\nthat always induce sleep.$" - -gFlashMoveDescription:: @ 8619D3F - .string "Looses a powerful blast of\nlight that cuts accuracy.$" - -gPsywaveMoveDescription:: @ 8619D74 - .string "Attacks with a psychic\nwave of varying intensity.$" - -gSplashMoveDescription:: @ 8619DA6 - .string "It’s just a splash...\nHas no effect whatsoever.$" - -gAcidArmorMoveDescription:: @ 8619DD6 - .string "Liquifies the user’s body\nto sharply raise DEFENSE.$" - -gCrabhammerMoveDescription:: @ 8619E0A - .string "Hammers with a pincer. Has a\nhigh critical-hit ratio.$" - -gExplosionMoveDescription:: @ 8619E40 - .string "Inflicts severe damage but\nmakes the user faint.$" - -gFurySwipesMoveDescription:: @ 8619E71 - .string "Rakes the foe with sharp\nclaws, etc., 2 to 5 times.$" - -gBonemerangMoveDescription:: @ 8619EA5 - .string "Throws a bone boomerang\nthat strikes twice.$" - -gRestMoveDescription:: @ 8619ED1 - .string "The user sleeps for 2 turns,\nrestoring HP and status.$" - -gRockSlideMoveDescription:: @ 8619F07 - .string "Large boulders are hurled.\nMay cause flinching.$" - -gHyperFangMoveDescription:: @ 8619F37 - .string "Attacks with sharp fangs.\nMay cause flinching.$" - -gSharpenMoveDescription:: @ 8619F66 - .string "Reduces the polygon count\nand raises ATTACK.$" - -gConversionMoveDescription:: @ 8619F93 - .string "Changes the user’s type\ninto a known move’s type.$" - -gTriAttackMoveDescription:: @ 8619FC5 - .string "Fires three types of beams\nat the same time.$" - -gSuperFangMoveDescription:: @ 8619FF2 - .string "Attacks with sharp fangs\nand cuts half the foe’s HP.$" - -gSlashMoveDescription:: @ 861A027 - .string "Slashes with claws, etc. Has\na high critical-hit ratio.$" - -gSubstituteMoveDescription:: @ 861A05F - .string "Creates a decoy using 1/4\nof the user’s maximum HP.$" - -gStruggleMoveDescription:: @ 861A093 - .string "Used only if all PP are gone.\nAlso hurts the user a little.$" - -gSketchMoveDescription:: @ 861A0CF - .string "Copies the foe’s last move\npermanently.$" - -gTripleKickMoveDescription:: @ 861A0F7 - .string "Kicks the foe 3 times in a\nrow with rising intensity.$" - -gThiefMoveDescription:: @ 861A12D - .string "While attacking, it may\nsteal the foe’s held item.$" - -gSpiderWebMoveDescription:: @ 861A160 - .string "Ensnares the foe to stop it\nfrom fleeing or switching.$" - -gMindReaderMoveDescription:: @ 861A197 - .string "Senses the foe’s action to\nensure the next move’s hit.$" - -gNightmareMoveDescription:: @ 861A1CE - .string "Inflicts 1/4 damage on a\nsleeping foe every turn.$" - -gFlameWheelMoveDescription:: @ 861A200 - .string "A fiery charge attack that\nmay inflict a burn.$" - -gSnoreMoveDescription:: @ 861A22F - .string "A loud attack that can be\nused only while asleep.$" - -gCurseMoveDescription:: @ 861A261 - .string "A move that functions\ndifferently for GHOSTS.$" - -gFlailMoveDescription:: @ 861A28F - .string "Inflicts more damage when\nthe user’s HP is down.$" - -gConversion2MoveDescription:: @ 861A2C0 - .string "Makes the user resistant\nto the last attack’s type.$" - -gAeroblastMoveDescription:: @ 861A2F4 - .string "Launches a vacuumed blast.\nHigh critical-hit ratio.$" - -gCottonSporeMoveDescription:: @ 861A328 - .string "Spores cling to the foe,\nsharply reducing SPEED.$" - -gReversalMoveDescription:: @ 861A359 - .string "Inflicts more damage when\nthe user’s HP is down.$" - -gSpiteMoveDescription:: @ 861A38A - .string "Spitefully cuts the PP\nof the foe’s last move.$" - -gPowderSnowMoveDescription:: @ 861A3B9 - .string "Blasts the foe with a snowy\ngust. May cause freezing.$" - -gProtectMoveDescription:: @ 861A3EF - .string "Evades attack, but may fail\nif used in succession.$" - -gMachPunchMoveDescription:: @ 861A422 - .string "A punch is thrown at wicked\nspeed to strike first.$" - -gScaryFaceMoveDescription:: @ 861A455 - .string "Frightens with a scary face\nto sharply reduce SPEED.$" - -gFaintAttackMoveDescription:: @ 861A48A - .string "Draws the foe close, then\nstrikes without fail.$" - -gSweetKissMoveDescription:: @ 861A4BA - .string "Demands a kiss with a cute\nlook. May cause confusion.$" - -gBellyDrumMoveDescription:: @ 861A4F0 - .string "Maximizes ATTACK while\nsacrificing HP.$" - -gSludgeBombMoveDescription:: @ 861A517 - .string "Sludge is hurled to inflict\ndamage. May also poison.$" - -gMudSlapMoveDescription:: @ 861A54C - .string "Hurls mud in the foe’s face\nto reduce its accuracy.$" - -gOctazookaMoveDescription:: @ 861A580 - .string "Fires a lump of ink to\ndamage and cut accuracy.$" - -gSpikesMoveDescription:: @ 861A5B0 - .string "Sets spikes that hurt a \nfoe switching in.$" - -gZapCannonMoveDescription:: @ 861A5DB - .string "Powerful and sure to cause\nparalysis, but inaccurate.$" - -gForesightMoveDescription:: @ 861A611 - .string "Negates the foe’s efforts\nto heighten evasiveness.$" - -gDestinyBondMoveDescription:: @ 861A644 - .string "If the user faints, the foe\nis also made to faint.$" - -gPerishSongMoveDescription:: @ 861A677 - .string "Any POKéMON hearing this\nsong faints in 3 turns.$" - -gIcyWindMoveDescription:: @ 861A6A8 - .string "A chilling attack that\nlowers the foe’s SPEED.$" - -gDetectMoveDescription:: @ 861A6D7 - .string "Evades attack, but may fail\nif used in succession.$" - -gBoneRushMoveDescription:: @ 861A70A - .string "Strikes the foe with a bone\nin hand 2 to 5 times.$" - -gLockOnMoveDescription:: @ 861A73C - .string "Locks on to the foe to\nensure the next move hits.$" - -gOutrageMoveDescription:: @ 861A76E - .string "A rampage of 2 to 3 turns\nthat confuses the user.$" - -gSandstormMoveDescription:: @ 861A7A0 - .string "Causes a sandstorm that\nrages for several turns.$" - -gGigaDrainMoveDescription:: @ 861A7D1 - .string "An attack that steals half\nthe damage inflicted.$" - -gEndureMoveDescription:: @ 861A802 - .string "Endures any attack for\n1 turn, leaving at least 1HP.$" - -gCharmMoveDescription:: @ 861A837 - .string "Charms the foe and sharply\nreduces its ATTACK.$" - -gRolloutMoveDescription:: @ 861A866 - .string "An attack lasting 5 turns\nwith rising intensity.$" - -gFalseSwipeMoveDescription:: @ 861A897 - .string "An attack that leaves the\nfoe with at least 1 HP.$" - -gSwaggerMoveDescription:: @ 861A8C9 - .string "Confuses the foe, but also\nsharply raises ATTACK.$" - -gMilkDrinkMoveDescription:: @ 861A8FB - .string "Recovers up to half the\nuser’s maximum HP.$" - -gSparkMoveDescription:: @ 861A926 - .string "An electrified tackle that\nmay paralyze the foe.$" - -gFuryCutterMoveDescription:: @ 861A957 - .string "An attack that intensifies\non each successive hit.$" - -gSteelWingMoveDescription:: @ 861A98A - .string "Strikes the foe with hard\nwings spread wide.$" - -gMeanLookMoveDescription:: @ 861A9B7 - .string "Fixes the foe with a mean\nlook that prevents escape.$" - -gAttractMoveDescription:: @ 861A9EC - .string "Makes the opposite gender\nless likely to attack.$" - -gSleepTalkMoveDescription:: @ 861AA1D - .string "Uses an available move\nrandomly while asleep.$" - -gHealBellMoveDescription:: @ 861AA4B - .string "Chimes soothingly to heal\nall status abnormalities.$" - -gReturnMoveDescription:: @ 861AA7F - .string "An attack that increases\nin power with friendship.$" - -gPresentMoveDescription:: @ 861AAB2 - .string "A gift in the form of a\nbomb. May restore HP.$" - -gFrustrationMoveDescription:: @ 861AAE0 - .string "An attack that is stronger\nif the TRAINER is disliked.$" - -gSafeguardMoveDescription:: @ 861AB17 - .string "A mystical force prevents\nall status problems.$" - -gPainSplitMoveDescription:: @ 861AB46 - .string "Adds the user and foe’s HP,\nthen shares them equally.$" - -gSacredFireMoveDescription:: @ 861AB7C - .string "A mystical fire attack that\nmay inflict a burn.$" - -gMagnitudeMoveDescription:: @ 861ABAC - .string "A ground-shaking attack\nof random intensity.$" - -gDynamicPunchMoveDescription:: @ 861ABD9 - .string "Powerful and sure to cause\nconfusion, but inaccurate.$" - -gMegahornMoveDescription:: @ 861AC0F - .string "A brutal ramming attack\nusing out-thrust horns.$" - -gDragonBreathMoveDescription:: @ 861AC3F - .string "Strikes the foe with an\nincredible blast of breath.$" - -gBatonPassMoveDescription:: @ 861AC73 - .string "Switches out the user while\nkeeping effects in play.$" - -gEncoreMoveDescription:: @ 861ACA8 - .string "Makes the foe repeat its\nlast move over 2 to 6 turns.$" - -gPursuitMoveDescription:: @ 861ACDE - .string "Inflicts bad damage if used\non a foe switching out.$" - -gRapidSpinMoveDescription:: @ 861AD12 - .string "Spins the body at high\nspeed to strike the foe.$" - -gSweetScentMoveDescription:: @ 861AD42 - .string "Allures the foe to reduce\nevasiveness.$" - -gIronTailMoveDescription:: @ 861AD69 - .string "Attacks with a rock-hard\ntail. May lower DEFENSE.$" - -gMetalClawMoveDescription:: @ 861AD9B - .string "A claw attack that may\nraise the user’s ATTACK.$" - -gVitalThrowMoveDescription:: @ 861ADCB - .string "Makes the user’s move last,\nbut it never misses.$" - -gMorningSunMoveDescription:: @ 861ADFC - .string "Restores HP. The amount\nvaries with the weather.$" - -gSynthesisMoveDescription:: @ 861AE2D - .string "Restores HP. The amount\nvaries with the weather.$" - -gMoonlightMoveDescription:: @ 861AE5E - .string "Restores HP. The amount\nvaries with the weather.$" - -gHiddenPowerMoveDescription:: @ 861AE8F - .string "The effectiveness varies\nwith the user.$" - -gCrossChopMoveDescription:: @ 861AEB7 - .string "A double-chopping attack.\nHigh critical-hit ratio.$" - -gTwisterMoveDescription:: @ 861AEEA - .string "Whips up a vicious twister\nto tear at the foe.$" - -gRainDanceMoveDescription:: @ 861AF19 - .string "Boosts the power of WATER-\ntype moves for 5 turns.$" - -gSunnyDayMoveDescription:: @ 861AF4C - .string "Boosts the power of FIRE-\ntype moves for 5 turns.$" - -gCrunchMoveDescription:: @ 861AF7E - .string "Crunches with sharp fangs.\nMay lower SP. DEF.$" - -gMirrorCoatMoveDescription:: @ 861AFAC - .string "Counters the foe’s special\nattack at double the power.$" - -gPsychUpMoveDescription:: @ 861AFE3 - .string "Copies the foe’s effect(s)\nand gives to the user.$" - -gExtremeSpeedMoveDescription:: @ 861B015 - .string "An extremely fast and\npowerful attack.$" - -gAncientPowerMoveDescription:: @ 861B03C - .string "An attack that may raise\nall stats.$" - -gShadowBallMoveDescription:: @ 861B060 - .string "Hurls a black blob that may\nlower the foe’s SP. DEF.$" - -gFutureSightMoveDescription:: @ 861B095 - .string "Heightens inner power to\nstrike 2 turns later.$" - -gRockSmashMoveDescription:: @ 861B0C4 - .string "A rock-crushing attack\nthat may lower DEFENSE.$" - -gWhirlpoolMoveDescription:: @ 861B0F3 - .string "Traps and hurts the foe in\na whirlpool for 2 to 5 turns.$" - -gBeatUpMoveDescription:: @ 861B12C - .string "Summons party POKéMON to\njoin in the attack.$" - -gFakeOutMoveDescription:: @ 861B159 - .string "A 1st-turn, 1st-strike move\nthat causes flinching.$" - -gUproarMoveDescription:: @ 861B18C - .string "Causes an uproar for 2 to 5\nturns and prevents sleep.$" - -gStockpileMoveDescription:: @ 861B1C2 - .string "Charges up power for up to\n3 turns.$" - -gSpitUpMoveDescription:: @ 861B1E6 - .string "Releases stockpiled power\n(the more the better).$" - -gSwallowMoveDescription:: @ 861B217 - .string "Absorbs stockpiled power\nand restores HP.$" - -gHeatWaveMoveDescription:: @ 861B241 - .string "Exhales a hot breath on the\nfoe. May inflict a burn.$" - -gHailMoveDescription:: @ 861B276 - .string "Summons a hailstorm that\nstrikes every turn.$" - -gTormentMoveDescription:: @ 861B2A3 - .string "Torments the foe and stops\nsuccessive use of a move.$" - -gFlatterMoveDescription:: @ 861B2D8 - .string "Confuses the foe, but\nraises its SP. ATK.$" - -gWillOWispMoveDescription:: @ 861B302 - .string "Inflicts a burn on the foe\nwith intense fire.$" - -gMementoMoveDescription:: @ 861B330 - .string "The user faints and lowers\nthe foe’s abilities.$" - -gFacadeMoveDescription:: @ 861B360 - .string "Boosts ATTACK when burned,\nparalyzed, or poisoned.$" - -gFocusPunchMoveDescription:: @ 861B393 - .string "A powerful loyalty attack.\nThe user flinches if hit.$" - -gSmellingSaltMoveDescription:: @ 861B3C8 - .string "Powerful against paralyzed\nfoes, but also heals them.$" - -gFollowMeMoveDescription:: @ 861B3FE - .string "Draws attention to make\nfoes attack only the user.$" - -gNaturePowerMoveDescription:: @ 861B431 - .string "The type of attack varies\ndepending on the location.$" - -gChargeMoveDescription:: @ 861B466 - .string "Charges power to boost the\nelectric move used next.$" - -gTauntMoveDescription:: @ 861B49A - .string "Taunts the foe into only\nusing attack moves.$" - -gHelpingHandMoveDescription:: @ 861B4C7 - .string "Boosts the power of the\nrecipient’s moves.$" - -gTrickMoveDescription:: @ 861B4F2 - .string "Tricks the foe into trading\nheld items.$" - -gRolePlayMoveDescription:: @ 861B51A - .string "Mimics the target and\ncopies its special ability.$" - -gWishMoveDescription:: @ 861B54C - .string "A wish that restores HP.\nIt takes time to work.$" - -gAssistMoveDescription:: @ 861B57C - .string "Attacks randomly with one\nof the partner’s moves.$" - -gIngrainMoveDescription:: @ 861B5AE - .string "Lays roots that restore HP.\nThe user can’t switch out.$" - -gSuperpowerMoveDescription:: @ 861B5E5 - .string "Boosts strength sharply,\nbut lowers abilities.$" - -gMagicCoatMoveDescription:: @ 861B614 - .string "Reflects special effects\nback to the attacker.$" - -gRecycleMoveDescription:: @ 861B643 - .string "Recycles a used item for\none more use.$" - -gRevengeMoveDescription:: @ 861B66A - .string "An attack that gains power\nif injured by the foe.$" - -gBrickBreakMoveDescription:: @ 861B69C - .string "Destroys barriers such as\nREFLECT and causes damage.$" - -gYawnMoveDescription:: @ 861B6D1 - .string "Lulls the foe into yawning,\nthen sleeping next turn.$" - -gKnockOffMoveDescription:: @ 861B706 - .string "Knocks down the foe’s held\nitem to prevent its use.$" - -gEndeavorMoveDescription:: @ 861B73A - .string "Gains power if the user’s HP\nis lower than the foe’s HP.$" - -gEruptionMoveDescription:: @ 861B773 - .string "The higher the user’s HP,\nthe more damage caused.$" - -gSkillSwapMoveDescription:: @ 861B7A5 - .string "The user swaps special\nabilities with the target.$" - -gImprisonMoveDescription:: @ 861B7D7 - .string "Prevents foes from using\nmoves known by the user.$" - -gRefreshMoveDescription:: @ 861B809 - .string "Heals poisoning, paralysis,\nor a burn.$" - -gGrudgeMoveDescription:: @ 861B830 - .string "If the user faints, deletes\nall PP of foe’s last move.$" - -gSnatchMoveDescription:: @ 861B867 - .string "Steals the effects of the\nmove the target uses next.$" - -gSecretPowerMoveDescription:: @ 861B89C - .string "An attack with effects\nthat vary by location.$" - -gDiveMoveDescription:: @ 861B8CA - .string "Dives underwater the first\nturn and strikes next turn.$" - -gArmThrustMoveDescription:: @ 861B901 - .string "Straight-arm punches that\nstrike the foe 2 to 5 times.$" - -gCamouflageMoveDescription:: @ 861B938 - .string "Alters the POKéMON’s type\ndepending on the location.$" - -gTailGlowMoveDescription:: @ 861B96D - .string "Flashes a light that sharply\nraises SP. ATK.$" - -gLusterPurgeMoveDescription:: @ 861B99A - .string "Attacks with a burst of\nlight. May lower SP. DEF.$" - -gMistBallMoveDescription:: @ 861B9CC - .string "Attacks with a flurry of\ndown. May lower SP. ATK.$" - -gFeatherDanceMoveDescription:: @ 861B9FE - .string "Envelops the foe with down\nto sharply reduce ATTACK.$" - -gTeeterDanceMoveDescription:: @ 861BA33 - .string "Confuses all POKéMON on\nthe scene.$" - -gBlazeKickMoveDescription:: @ 861BA56 - .string "A kick with a high critical-\nhit ratio. May cause a burn.$" - -gMudSportMoveDescription:: @ 861BA90 - .string "Covers the user in mud to\nraise electrical resistance.$" - -gIceBallMoveDescription:: @ 861BAC7 - .string "A 5-turn attack that gains\npower on successive hits.$" - -gNeedleArmMoveDescription:: @ 861BAFC - .string "Attacks with thorny arms.\nMay cause flinching.$" - -gSlackOffMoveDescription:: @ 861BB2B - .string "Slacks off and restores\nhalf the maximum HP.$" - -gHyperVoiceMoveDescription:: @ 861BB58 - .string "A loud attack that uses\nsound waves to injure.$" - -gPoisonFangMoveDescription:: @ 861BB87 - .string "A sharp-fanged attack.\nMay badly poison the foe.$" - -gCrushClawMoveDescription:: @ 861BBB8 - .string "Tears at the foe with sharp\nclaws. May lower DEFENSE.$" - -gBlastBurnMoveDescription:: @ 861BBEE - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gHydroCannonMoveDescription:: @ 861BC24 - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gMeteorMashMoveDescription:: @ 861BC5A - .string "Fires a meteor-like punch.\nMay raise ATTACK.$" - -gAstonishMoveDescription:: @ 861BC87 - .string "An attack that may shock\nthe foe into flinching.$" - -gWeatherBallMoveDescription:: @ 861BCB8 - .string "The move’s type and power\nchange with the weather.$" - -gAromatherapyMoveDescription:: @ 861BCEB - .string "Heals all status problems\nwith a soothing scent.$" - -gFakeTearsMoveDescription:: @ 861BD1C - .string "Feigns crying to sharply\nlower the foe’s SP. DEF.$" - -gAirCutterMoveDescription:: @ 861BD4E - .string "Hacks with razorlike wind.\nHigh critical-hit ratio.$" - -gOverheatMoveDescription:: @ 861BD82 - .string "Allows a full-power attack,\nbut sharply lowers SP. ATK.$" - -gOdorSleuthMoveDescription:: @ 861BDBA - .string "Negates the foe’s efforts\nto heighten evasiveness.$" - -gRockTombMoveDescription:: @ 861BDED - .string "Stops the foe from moving\nwith rocks and cuts SPEED.$" - -gSilverWindMoveDescription:: @ 861BE22 - .string "A powdery attack that may\nraise abilities.$" - -gMetalSoundMoveDescription:: @ 861BE4D - .string "Emits a horrible screech\nthat sharply lowers SP. DEF.$" - -gGrassWhistleMoveDescription:: @ 861BE83 - .string "Lulls the foe into sleep\nwith a pleasant melody.$" - -gTickleMoveDescription:: @ 861BEB4 - .string "Makes the foe laugh to\nlower ATTACK and DEFENSE.$" - -gCosmicPowerMoveDescription:: @ 861BEE5 - .string "Raises DEFENSE and SP. DEF\nwith a mystic power.$" - -gWaterSpoutMoveDescription:: @ 861BF15 - .string "Inflicts more damage if the\nuser’s HP is high.$" - -gSignalBeamMoveDescription:: @ 861BF44 - .string "A strange beam attack that\nmay confuse the foe.$" - -gShadowPunchMoveDescription:: @ 861BF74 - .string "An unavoidable punch that\nis thrown from shadows.$" - -gExtrasensoryMoveDescription:: @ 861BFA6 - .string "Attacks with a peculiar\npower. May cause flinching.$" - -gSkyUppercutMoveDescription:: @ 861BFDA - .string "An uppercut thrown as if\nleaping into the sky.$" - -gSandTombMoveDescription:: @ 861C009 - .string "Traps and hurts the foe in\nquicksand for 2 to 5 turns.$" - -gSheerColdMoveDescription:: @ 861C040 - .string "A chilling attack that\ncauses fainting if it hits.$" - -gMuddyWaterMoveDescription:: @ 861C073 - .string "Attacks with muddy water.\nMay lower accuracy.$" - -gBulletSeedMoveDescription:: @ 861C0A1 - .string "Shoots 2 to 5 seeds in a row\nto strike the foe.$" - -gAerialAceMoveDescription:: @ 861C0D1 - .string "An extremely speedy and\nunavoidable attack.$" - -gIcicleSpearMoveDescription:: @ 861C0FD - .string "Attacks the foe by firing\n2 to 5 icicles in a row.$" - -gIronDefenseMoveDescription:: @ 861C130 - .string "Hardens the body’s surface\nto sharply raise DEFENSE.$" - -gBlockMoveDescription:: @ 861C165 - .string "Blocks the foe’s way to\nprevent escape.$" - -gHowlMoveDescription:: @ 861C18D - .string "Howls to raise the spirit\nand boosts ATTACK.$" - -gDragonClawMoveDescription:: @ 861C1BA - .string "Slashes the foe with sharp\nclaws.$" - -gFrenzyPlantMoveDescription:: @ 861C1DC - .string "Powerful, but leaves the\nuser immobile the next turn.$" - -gBulkUpMoveDescription:: @ 861C212 - .string "Bulks up the body to boost\nboth ATTACK and DEFENSE.$" - -gBounceMoveDescription:: @ 861C246 - .string "Bounces up, then down the\nnext turn. May paralyze.$" - -gMudShotMoveDescription:: @ 861C279 - .string "Hurls mud at the foe and\nreduces SPEED.$" - -gPoisonTailMoveDescription:: @ 861C2A1 - .string "Has a high critical-hit\nratio. May also poison.$" - -gCovetMoveDescription:: @ 861C2D1 - .string "Cutely begs to obtain an\nitem held by the foe.$" - -gVoltTackleMoveDescription:: @ 861C300 - .string "A life-risking tackle that\nslightly hurts the user.$" - -gMagicalLeafMoveDescription:: @ 861C334 - .string "Attacks with a strange leaf\nthat cannot be evaded.$" - -gWaterSportMoveDescription:: @ 861C367 - .string "The user becomes soaked to\nraise resistance to fire.$" - -gCalmMindMoveDescription:: @ 861C39C - .string "Raises SP. ATK and SP. DEF\nby focusing the mind.$" - -gLeafBladeMoveDescription:: @ 861C3CD - .string "Slashes with a sharp leaf.\nHigh critical-hit ratio.$" - -gDragonDanceMoveDescription:: @ 861C401 - .string "A mystical dance that ups\nATTACK and SPEED.$" - -gRockBlastMoveDescription:: @ 861C42D - .string "Hurls boulders at the foe\n2 to 5 times in a row.$" - -gShockWaveMoveDescription:: @ 861C45E - .string "A fast and unavoidable\nelectric attack.$" - -gWaterPulseMoveDescription:: @ 861C486 - .string "Attacks with ultrasonic\nwaves. May confuse the foe.$" - -gDoomDesireMoveDescription:: @ 861C4BA - .string "Summons strong sunlight to\nattack 2 turns later.$" - -gPsychoBoostMoveDescription:: @ 861C4EB - .string "Allows a full-power attack,\nbut sharply lowers SP. ATK.$" - - .align 2 -gMoveDescriptionPointers:: @ 861C524 - .4byte gPoundMoveDescription - .4byte gKarateChopMoveDescription - .4byte gDoubleSlapMoveDescription - .4byte gCometPunchMoveDescription - .4byte gMegaPunchMoveDescription - .4byte gPayDayMoveDescription - .4byte gFirePunchMoveDescription - .4byte gIcePunchMoveDescription - .4byte gThunderPunchMoveDescription - .4byte gScratchMoveDescription - .4byte gViceGripMoveDescription - .4byte gGuillotineMoveDescription - .4byte gRazorWindMoveDescription - .4byte gSwordsDanceMoveDescription - .4byte gCutMoveDescription - .4byte gGustMoveDescription - .4byte gWingAttackMoveDescription - .4byte gWhirlwindMoveDescription - .4byte gFlyMoveDescription - .4byte gBindMoveDescription - .4byte gSlamMoveDescription - .4byte gVineWhipMoveDescription - .4byte gStompMoveDescription - .4byte gDoubleKickMoveDescription - .4byte gMegaKickMoveDescription - .4byte gJumpKickMoveDescription - .4byte gRollingKickMoveDescription - .4byte gSandAttackMoveDescription - .4byte gHeadbuttMoveDescription - .4byte gHornAttackMoveDescription - .4byte gFuryAttackMoveDescription - .4byte gHornDrillMoveDescription - .4byte gTackleMoveDescription - .4byte gBodySlamMoveDescription - .4byte gWrapMoveDescription - .4byte gTakeDownMoveDescription - .4byte gThrashMoveDescription - .4byte gDoubleEdgeMoveDescription - .4byte gTailWhipMoveDescription - .4byte gPoisonStingMoveDescription - .4byte gTwineedleMoveDescription - .4byte gPinMissileMoveDescription - .4byte gLeerMoveDescription - .4byte gBiteMoveDescription - .4byte gGrowlMoveDescription - .4byte gRoarMoveDescription - .4byte gSingMoveDescription - .4byte gSupersonicMoveDescription - .4byte gSonicBoomMoveDescription - .4byte gDisableMoveDescription - .4byte gAcidMoveDescription - .4byte gEmberMoveDescription - .4byte gFlamethrowerMoveDescription - .4byte gMistMoveDescription - .4byte gWaterGunMoveDescription - .4byte gHydroPumpMoveDescription - .4byte gSurfMoveDescription - .4byte gIceBeamMoveDescription - .4byte gBlizzardMoveDescription - .4byte gPsybeamMoveDescription - .4byte gBubbleBeamMoveDescription - .4byte gAuroraBeamMoveDescription - .4byte gHyperBeamMoveDescription - .4byte gPeckMoveDescription - .4byte gDrillPeckMoveDescription - .4byte gSubmissionMoveDescription - .4byte gLowKickMoveDescription - .4byte gCounterMoveDescription - .4byte gSeismicTossMoveDescription - .4byte gStrengthMoveDescription - .4byte gAbsorbMoveDescription - .4byte gMegaDrainMoveDescription - .4byte gLeechSeedMoveDescription - .4byte gGrowthMoveDescription - .4byte gRazorLeafMoveDescription - .4byte gSolarBeamMoveDescription - .4byte gPoisonPowderMoveDescription - .4byte gStunSporeMoveDescription - .4byte gSleepPowderMoveDescription - .4byte gPetalDanceMoveDescription - .4byte gStringShotMoveDescription - .4byte gDragonRageMoveDescription - .4byte gFireSpinMoveDescription - .4byte gThunderShockMoveDescription - .4byte gThunderboltMoveDescription - .4byte gThunderWaveMoveDescription - .4byte gThunderMoveDescription - .4byte gRockThrowMoveDescription - .4byte gEarthquakeMoveDescription - .4byte gFissureMoveDescription - .4byte gDigMoveDescription - .4byte gToxicMoveDescription - .4byte gConfusionMoveDescription - .4byte gPsychicMoveDescription - .4byte gHypnosisMoveDescription - .4byte gMeditateMoveDescription - .4byte gAgilityMoveDescription - .4byte gQuickAttackMoveDescription - .4byte gRageMoveDescription - .4byte gTeleportMoveDescription - .4byte gNightShadeMoveDescription - .4byte gMimicMoveDescription - .4byte gScreechMoveDescription - .4byte gDoubleTeamMoveDescription - .4byte gRecoverMoveDescription - .4byte gHardenMoveDescription - .4byte gMinimizeMoveDescription - .4byte gSmokescreenMoveDescription - .4byte gConfuseRayMoveDescription - .4byte gWithdrawMoveDescription - .4byte gDefenseCurlMoveDescription - .4byte gBarrierMoveDescription - .4byte gLightScreenMoveDescription - .4byte gHazeMoveDescription - .4byte gReflectMoveDescription - .4byte gFocusEnergyMoveDescription - .4byte gBideMoveDescription - .4byte gMetronomeMoveDescription - .4byte gMirrorMoveMoveDescription - .4byte gSelfDestructMoveDescription - .4byte gEggBombMoveDescription - .4byte gLickMoveDescription - .4byte gSmogMoveDescription - .4byte gSludgeMoveDescription - .4byte gBoneClubMoveDescription - .4byte gFireBlastMoveDescription - .4byte gWaterfallMoveDescription - .4byte gClampMoveDescription - .4byte gSwiftMoveDescription - .4byte gSkullBashMoveDescription - .4byte gSpikeCannonMoveDescription - .4byte gConstrictMoveDescription - .4byte gAmnesiaMoveDescription - .4byte gKinesisMoveDescription - .4byte gSoftBoiledMoveDescription - .4byte gHiJumpKickMoveDescription - .4byte gGlareMoveDescription - .4byte gDreamEaterMoveDescription - .4byte gPoisonGasMoveDescription - .4byte gBarrageMoveDescription - .4byte gLeechLifeMoveDescription - .4byte gLovelyKissMoveDescription - .4byte gSkyAttackMoveDescription - .4byte gTransformMoveDescription - .4byte gBubbleMoveDescription - .4byte gDizzyPunchMoveDescription - .4byte gSporeMoveDescription - .4byte gFlashMoveDescription - .4byte gPsywaveMoveDescription - .4byte gSplashMoveDescription - .4byte gAcidArmorMoveDescription - .4byte gCrabhammerMoveDescription - .4byte gExplosionMoveDescription - .4byte gFurySwipesMoveDescription - .4byte gBonemerangMoveDescription - .4byte gRestMoveDescription - .4byte gRockSlideMoveDescription - .4byte gHyperFangMoveDescription - .4byte gSharpenMoveDescription - .4byte gConversionMoveDescription - .4byte gTriAttackMoveDescription - .4byte gSuperFangMoveDescription - .4byte gSlashMoveDescription - .4byte gSubstituteMoveDescription - .4byte gStruggleMoveDescription - .4byte gSketchMoveDescription - .4byte gTripleKickMoveDescription - .4byte gThiefMoveDescription - .4byte gSpiderWebMoveDescription - .4byte gMindReaderMoveDescription - .4byte gNightmareMoveDescription - .4byte gFlameWheelMoveDescription - .4byte gSnoreMoveDescription - .4byte gCurseMoveDescription - .4byte gFlailMoveDescription - .4byte gConversion2MoveDescription - .4byte gAeroblastMoveDescription - .4byte gCottonSporeMoveDescription - .4byte gReversalMoveDescription - .4byte gSpiteMoveDescription - .4byte gPowderSnowMoveDescription - .4byte gProtectMoveDescription - .4byte gMachPunchMoveDescription - .4byte gScaryFaceMoveDescription - .4byte gFaintAttackMoveDescription - .4byte gSweetKissMoveDescription - .4byte gBellyDrumMoveDescription - .4byte gSludgeBombMoveDescription - .4byte gMudSlapMoveDescription - .4byte gOctazookaMoveDescription - .4byte gSpikesMoveDescription - .4byte gZapCannonMoveDescription - .4byte gForesightMoveDescription - .4byte gDestinyBondMoveDescription - .4byte gPerishSongMoveDescription - .4byte gIcyWindMoveDescription - .4byte gDetectMoveDescription - .4byte gBoneRushMoveDescription - .4byte gLockOnMoveDescription - .4byte gOutrageMoveDescription - .4byte gSandstormMoveDescription - .4byte gGigaDrainMoveDescription - .4byte gEndureMoveDescription - .4byte gCharmMoveDescription - .4byte gRolloutMoveDescription - .4byte gFalseSwipeMoveDescription - .4byte gSwaggerMoveDescription - .4byte gMilkDrinkMoveDescription - .4byte gSparkMoveDescription - .4byte gFuryCutterMoveDescription - .4byte gSteelWingMoveDescription - .4byte gMeanLookMoveDescription - .4byte gAttractMoveDescription - .4byte gSleepTalkMoveDescription - .4byte gHealBellMoveDescription - .4byte gReturnMoveDescription - .4byte gPresentMoveDescription - .4byte gFrustrationMoveDescription - .4byte gSafeguardMoveDescription - .4byte gPainSplitMoveDescription - .4byte gSacredFireMoveDescription - .4byte gMagnitudeMoveDescription - .4byte gDynamicPunchMoveDescription - .4byte gMegahornMoveDescription - .4byte gDragonBreathMoveDescription - .4byte gBatonPassMoveDescription - .4byte gEncoreMoveDescription - .4byte gPursuitMoveDescription - .4byte gRapidSpinMoveDescription - .4byte gSweetScentMoveDescription - .4byte gIronTailMoveDescription - .4byte gMetalClawMoveDescription - .4byte gVitalThrowMoveDescription - .4byte gMorningSunMoveDescription - .4byte gSynthesisMoveDescription - .4byte gMoonlightMoveDescription - .4byte gHiddenPowerMoveDescription - .4byte gCrossChopMoveDescription - .4byte gTwisterMoveDescription - .4byte gRainDanceMoveDescription - .4byte gSunnyDayMoveDescription - .4byte gCrunchMoveDescription - .4byte gMirrorCoatMoveDescription - .4byte gPsychUpMoveDescription - .4byte gExtremeSpeedMoveDescription - .4byte gAncientPowerMoveDescription - .4byte gShadowBallMoveDescription - .4byte gFutureSightMoveDescription - .4byte gRockSmashMoveDescription - .4byte gWhirlpoolMoveDescription - .4byte gBeatUpMoveDescription - .4byte gFakeOutMoveDescription - .4byte gUproarMoveDescription - .4byte gStockpileMoveDescription - .4byte gSpitUpMoveDescription - .4byte gSwallowMoveDescription - .4byte gHeatWaveMoveDescription - .4byte gHailMoveDescription - .4byte gTormentMoveDescription - .4byte gFlatterMoveDescription - .4byte gWillOWispMoveDescription - .4byte gMementoMoveDescription - .4byte gFacadeMoveDescription - .4byte gFocusPunchMoveDescription - .4byte gSmellingSaltMoveDescription - .4byte gFollowMeMoveDescription - .4byte gNaturePowerMoveDescription - .4byte gChargeMoveDescription - .4byte gTauntMoveDescription - .4byte gHelpingHandMoveDescription - .4byte gTrickMoveDescription - .4byte gRolePlayMoveDescription - .4byte gWishMoveDescription - .4byte gAssistMoveDescription - .4byte gIngrainMoveDescription - .4byte gSuperpowerMoveDescription - .4byte gMagicCoatMoveDescription - .4byte gRecycleMoveDescription - .4byte gRevengeMoveDescription - .4byte gBrickBreakMoveDescription - .4byte gYawnMoveDescription - .4byte gKnockOffMoveDescription - .4byte gEndeavorMoveDescription - .4byte gEruptionMoveDescription - .4byte gSkillSwapMoveDescription - .4byte gImprisonMoveDescription - .4byte gRefreshMoveDescription - .4byte gGrudgeMoveDescription - .4byte gSnatchMoveDescription - .4byte gSecretPowerMoveDescription - .4byte gDiveMoveDescription - .4byte gArmThrustMoveDescription - .4byte gCamouflageMoveDescription - .4byte gTailGlowMoveDescription - .4byte gLusterPurgeMoveDescription - .4byte gMistBallMoveDescription - .4byte gFeatherDanceMoveDescription - .4byte gTeeterDanceMoveDescription - .4byte gBlazeKickMoveDescription - .4byte gMudSportMoveDescription - .4byte gIceBallMoveDescription - .4byte gNeedleArmMoveDescription - .4byte gSlackOffMoveDescription - .4byte gHyperVoiceMoveDescription - .4byte gPoisonFangMoveDescription - .4byte gCrushClawMoveDescription - .4byte gBlastBurnMoveDescription - .4byte gHydroCannonMoveDescription - .4byte gMeteorMashMoveDescription - .4byte gAstonishMoveDescription - .4byte gWeatherBallMoveDescription - .4byte gAromatherapyMoveDescription - .4byte gFakeTearsMoveDescription - .4byte gAirCutterMoveDescription - .4byte gOverheatMoveDescription - .4byte gOdorSleuthMoveDescription - .4byte gRockTombMoveDescription - .4byte gSilverWindMoveDescription - .4byte gMetalSoundMoveDescription - .4byte gGrassWhistleMoveDescription - .4byte gTickleMoveDescription - .4byte gCosmicPowerMoveDescription - .4byte gWaterSpoutMoveDescription - .4byte gSignalBeamMoveDescription - .4byte gShadowPunchMoveDescription - .4byte gExtrasensoryMoveDescription - .4byte gSkyUppercutMoveDescription - .4byte gSandTombMoveDescription - .4byte gSheerColdMoveDescription - .4byte gMuddyWaterMoveDescription - .4byte gBulletSeedMoveDescription - .4byte gAerialAceMoveDescription - .4byte gIcicleSpearMoveDescription - .4byte gIronDefenseMoveDescription - .4byte gBlockMoveDescription - .4byte gHowlMoveDescription - .4byte gDragonClawMoveDescription - .4byte gFrenzyPlantMoveDescription - .4byte gBulkUpMoveDescription - .4byte gBounceMoveDescription - .4byte gMudShotMoveDescription - .4byte gPoisonTailMoveDescription - .4byte gCovetMoveDescription - .4byte gVoltTackleMoveDescription - .4byte gMagicalLeafMoveDescription - .4byte gWaterSportMoveDescription - .4byte gCalmMindMoveDescription - .4byte gLeafBladeMoveDescription - .4byte gDragonDanceMoveDescription - .4byte gRockBlastMoveDescription - .4byte gShockWaveMoveDescription - .4byte gWaterPulseMoveDescription - .4byte gDoomDesireMoveDescription - .4byte gPsychoBoostMoveDescription diff --git a/data/text/move_names.inc b/data/text/move_names.inc deleted file mode 100644 index 5efb85fc7..000000000 --- a/data/text/move_names.inc +++ /dev/null @@ -1,356 +0,0 @@ -gMoveNames:: @ 831977C - .string "-$", 13 - .string "POUND$", 13 - .string "KARATE CHOP$", 13 - .string "DOUBLESLAP$", 13 - .string "COMET PUNCH$", 13 - .string "MEGA PUNCH$", 13 - .string "PAY DAY$", 13 - .string "FIRE PUNCH$", 13 - .string "ICE PUNCH$", 13 - .string "THUNDERPUNCH$", 13 - .string "SCRATCH$", 13 - .string "VICEGRIP$", 13 - .string "GUILLOTINE$", 13 - .string "RAZOR WIND$", 13 - .string "SWORDS DANCE$", 13 - .string "CUT$", 13 - .string "GUST$", 13 - .string "WING ATTACK$", 13 - .string "WHIRLWIND$", 13 - .string "FLY$", 13 - .string "BIND$", 13 - .string "SLAM$", 13 - .string "VINE WHIP$", 13 - .string "STOMP$", 13 - .string "DOUBLE KICK$", 13 - .string "MEGA KICK$", 13 - .string "JUMP KICK$", 13 - .string "ROLLING KICK$", 13 - .string "SAND-ATTACK$", 13 - .string "HEADBUTT$", 13 - .string "HORN ATTACK$", 13 - .string "FURY ATTACK$", 13 - .string "HORN DRILL$", 13 - .string "TACKLE$", 13 - .string "BODY SLAM$", 13 - .string "WRAP$", 13 - .string "TAKE DOWN$", 13 - .string "THRASH$", 13 - .string "DOUBLE-EDGE$", 13 - .string "TAIL WHIP$", 13 - .string "POISON STING$", 13 - .string "TWINEEDLE$", 13 - .string "PIN MISSILE$", 13 - .string "LEER$", 13 - .string "BITE$", 13 - .string "GROWL$", 13 - .string "ROAR$", 13 - .string "SING$", 13 - .string "SUPERSONIC$", 13 - .string "SONICBOOM$", 13 - .string "DISABLE$", 13 - .string "ACID$", 13 - .string "EMBER$", 13 - .string "FLAMETHROWER$", 13 - .string "MIST$", 13 - .string "WATER GUN$", 13 - .string "HYDRO PUMP$", 13 - .string "SURF$", 13 - .string "ICE BEAM$", 13 - .string "BLIZZARD$", 13 - .string "PSYBEAM$", 13 - .string "BUBBLEBEAM$", 13 - .string "AURORA BEAM$", 13 - .string "HYPER BEAM$", 13 - .string "PECK$", 13 - .string "DRILL PECK$", 13 - .string "SUBMISSION$", 13 - .string "LOW KICK$", 13 - .string "COUNTER$", 13 - .string "SEISMIC TOSS$", 13 - .string "STRENGTH$", 13 - .string "ABSORB$", 13 - .string "MEGA DRAIN$", 13 - .string "LEECH SEED$", 13 - .string "GROWTH$", 13 - .string "RAZOR LEAF$", 13 - .string "SOLARBEAM$", 13 - .string "POISONPOWDER$", 13 - .string "STUN SPORE$", 13 - .string "SLEEP POWDER$", 13 - .string "PETAL DANCE$", 13 - .string "STRING SHOT$", 13 - .string "DRAGON RAGE$", 13 - .string "FIRE SPIN$", 13 - .string "THUNDERSHOCK$", 13 - .string "THUNDERBOLT$", 13 - .string "THUNDER WAVE$", 13 - .string "THUNDER$", 13 - .string "ROCK THROW$", 13 - .string "EARTHQUAKE$", 13 - .string "FISSURE$", 13 - .string "DIG$", 13 - .string "TOXIC$", 13 - .string "CONFUSION$", 13 - .string "PSYCHIC$", 13 - .string "HYPNOSIS$", 13 - .string "MEDITATE$", 13 - .string "AGILITY$", 13 - .string "QUICK ATTACK$", 13 - .string "RAGE$", 13 - .string "TELEPORT$", 13 - .string "NIGHT SHADE$", 13 - .string "MIMIC$", 13 - .string "SCREECH$", 13 - .string "DOUBLE TEAM$", 13 - .string "RECOVER$", 13 - .string "HARDEN$", 13 - .string "MINIMIZE$", 13 - .string "SMOKESCREEN$", 13 - .string "CONFUSE RAY$", 13 - .string "WITHDRAW$", 13 - .string "DEFENSE CURL$", 13 - .string "BARRIER$", 13 - .string "LIGHT SCREEN$", 13 - .string "HAZE$", 13 - .string "REFLECT$", 13 - .string "FOCUS ENERGY$", 13 - .string "BIDE$", 13 - .string "METRONOME$", 13 - .string "MIRROR MOVE$", 13 - .string "SELFDESTRUCT$", 13 - .string "EGG BOMB$", 13 - .string "LICK$", 13 - .string "SMOG$", 13 - .string "SLUDGE$", 13 - .string "BONE CLUB$", 13 - .string "FIRE BLAST$", 13 - .string "WATERFALL$", 13 - .string "CLAMP$", 13 - .string "SWIFT$", 13 - .string "SKULL BASH$", 13 - .string "SPIKE CANNON$", 13 - .string "CONSTRICT$", 13 - .string "AMNESIA$", 13 - .string "KINESIS$", 13 - .string "SOFTBOILED$", 13 - .string "HI JUMP KICK$", 13 - .string "GLARE$", 13 - .string "DREAM EATER$", 13 - .string "POISON GAS$", 13 - .string "BARRAGE$", 13 - .string "LEECH LIFE$", 13 - .string "LOVELY KISS$", 13 - .string "SKY ATTACK$", 13 - .string "TRANSFORM$", 13 - .string "BUBBLE$", 13 - .string "DIZZY PUNCH$", 13 - .string "SPORE$", 13 - .string "FLASH$", 13 - .string "PSYWAVE$", 13 - .string "SPLASH$", 13 - .string "ACID ARMOR$", 13 - .string "CRABHAMMER$", 13 - .string "EXPLOSION$", 13 - .string "FURY SWIPES$", 13 - .string "BONEMERANG$", 13 - .string "REST$", 13 - .string "ROCK SLIDE$", 13 - .string "HYPER FANG$", 13 - .string "SHARPEN$", 13 - .string "CONVERSION$", 13 - .string "TRI ATTACK$", 13 - .string "SUPER FANG$", 13 - .string "SLASH$", 13 - .string "SUBSTITUTE$", 13 - .string "STRUGGLE$", 13 - .string "SKETCH$", 13 - .string "TRIPLE KICK$", 13 - .string "THIEF$", 13 - .string "SPIDER WEB$", 13 - .string "MIND READER$", 13 - .string "NIGHTMARE$", 13 - .string "FLAME WHEEL$", 13 - .string "SNORE$", 13 - .string "CURSE$", 13 - .string "FLAIL$", 13 - .string "CONVERSION 2$", 13 - .string "AEROBLAST$", 13 - .string "COTTON SPORE$", 13 - .string "REVERSAL$", 13 - .string "SPITE$", 13 - .string "POWDER SNOW$", 13 - .string "PROTECT$", 13 - .string "MACH PUNCH$", 13 - .string "SCARY FACE$", 13 - .string "FAINT ATTACK$", 13 - .string "SWEET KISS$", 13 - .string "BELLY DRUM$", 13 - .string "SLUDGE BOMB$", 13 - .string "MUD-SLAP$", 13 - .string "OCTAZOOKA$", 13 - .string "SPIKES$", 13 - .string "ZAP CANNON$", 13 - .string "FORESIGHT$", 13 - .string "DESTINY BOND$", 13 - .string "PERISH SONG$", 13 - .string "ICY WIND$", 13 - .string "DETECT$", 13 - .string "BONE RUSH$", 13 - .string "LOCK-ON$", 13 - .string "OUTRAGE$", 13 - .string "SANDSTORM$", 13 - .string "GIGA DRAIN$", 13 - .string "ENDURE$", 13 - .string "CHARM$", 13 - .string "ROLLOUT$", 13 - .string "FALSE SWIPE$", 13 - .string "SWAGGER$", 13 - .string "MILK DRINK$", 13 - .string "SPARK$", 13 - .string "FURY CUTTER$", 13 - .string "STEEL WING$", 13 - .string "MEAN LOOK$", 13 - .string "ATTRACT$", 13 - .string "SLEEP TALK$", 13 - .string "HEAL BELL$", 13 - .string "RETURN$", 13 - .string "PRESENT$", 13 - .string "FRUSTRATION$", 13 - .string "SAFEGUARD$", 13 - .string "PAIN SPLIT$", 13 - .string "SACRED FIRE$", 13 - .string "MAGNITUDE$", 13 - .string "DYNAMICPUNCH$", 13 - .string "MEGAHORN$", 13 - .string "DRAGONBREATH$", 13 - .string "BATON PASS$", 13 - .string "ENCORE$", 13 - .string "PURSUIT$", 13 - .string "RAPID SPIN$", 13 - .string "SWEET SCENT$", 13 - .string "IRON TAIL$", 13 - .string "METAL CLAW$", 13 - .string "VITAL THROW$", 13 - .string "MORNING SUN$", 13 - .string "SYNTHESIS$", 13 - .string "MOONLIGHT$", 13 - .string "HIDDEN POWER$", 13 - .string "CROSS CHOP$", 13 - .string "TWISTER$", 13 - .string "RAIN DANCE$", 13 - .string "SUNNY DAY$", 13 - .string "CRUNCH$", 13 - .string "MIRROR COAT$", 13 - .string "PSYCH UP$", 13 - .string "EXTREMESPEED$", 13 - .string "ANCIENTPOWER$", 13 - .string "SHADOW BALL$", 13 - .string "FUTURE SIGHT$", 13 - .string "ROCK SMASH$", 13 - .string "WHIRLPOOL$", 13 - .string "BEAT UP$", 13 - .string "FAKE OUT$", 13 - .string "UPROAR$", 13 - .string "STOCKPILE$", 13 - .string "SPIT UP$", 13 - .string "SWALLOW$", 13 - .string "HEAT WAVE$", 13 - .string "HAIL$", 13 - .string "TORMENT$", 13 - .string "FLATTER$", 13 - .string "WILL-O-WISP$", 13 - .string "MEMENTO$", 13 - .string "FACADE$", 13 - .string "FOCUS PUNCH$", 13 - .string "SMELLINGSALT$", 13 - .string "FOLLOW ME$", 13 - .string "NATURE POWER$", 13 - .string "CHARGE$", 13 - .string "TAUNT$", 13 - .string "HELPING HAND$", 13 - .string "TRICK$", 13 - .string "ROLE PLAY$", 13 - .string "WISH$", 13 - .string "ASSIST$", 13 - .string "INGRAIN$", 13 - .string "SUPERPOWER$", 13 - .string "MAGIC COAT$", 13 - .string "RECYCLE$", 13 - .string "REVENGE$", 13 - .string "BRICK BREAK$", 13 - .string "YAWN$", 13 - .string "KNOCK OFF$", 13 - .string "ENDEAVOR$", 13 - .string "ERUPTION$", 13 - .string "SKILL SWAP$", 13 - .string "IMPRISON$", 13 - .string "REFRESH$", 13 - .string "GRUDGE$", 13 - .string "SNATCH$", 13 - .string "SECRET POWER$", 13 - .string "DIVE$", 13 - .string "ARM THRUST$", 13 - .string "CAMOUFLAGE$", 13 - .string "TAIL GLOW$", 13 - .string "LUSTER PURGE$", 13 - .string "MIST BALL$", 13 - .string "FEATHERDANCE$", 13 - .string "TEETER DANCE$", 13 - .string "BLAZE KICK$", 13 - .string "MUD SPORT$", 13 - .string "ICE BALL$", 13 - .string "NEEDLE ARM$", 13 - .string "SLACK OFF$", 13 - .string "HYPER VOICE$", 13 - .string "POISON FANG$", 13 - .string "CRUSH CLAW$", 13 - .string "BLAST BURN$", 13 - .string "HYDRO CANNON$", 13 - .string "METEOR MASH$", 13 - .string "ASTONISH$", 13 - .string "WEATHER BALL$", 13 - .string "AROMATHERAPY$", 13 - .string "FAKE TEARS$", 13 - .string "AIR CUTTER$", 13 - .string "OVERHEAT$", 13 - .string "ODOR SLEUTH$", 13 - .string "ROCK TOMB$", 13 - .string "SILVER WIND$", 13 - .string "METAL SOUND$", 13 - .string "GRASSWHISTLE$", 13 - .string "TICKLE$", 13 - .string "COSMIC POWER$", 13 - .string "WATER SPOUT$", 13 - .string "SIGNAL BEAM$", 13 - .string "SHADOW PUNCH$", 13 - .string "EXTRASENSORY$", 13 - .string "SKY UPPERCUT$", 13 - .string "SAND TOMB$", 13 - .string "SHEER COLD$", 13 - .string "MUDDY WATER$", 13 - .string "BULLET SEED$", 13 - .string "AERIAL ACE$", 13 - .string "ICICLE SPEAR$", 13 - .string "IRON DEFENSE$", 13 - .string "BLOCK$", 13 - .string "HOWL$", 13 - .string "DRAGON CLAW$", 13 - .string "FRENZY PLANT$", 13 - .string "BULK UP$", 13 - .string "BOUNCE$", 13 - .string "MUD SHOT$", 13 - .string "POISON TAIL$", 13 - .string "COVET$", 13 - .string "VOLT TACKLE$", 13 - .string "MAGICAL LEAF$", 13 - .string "WATER SPORT$", 13 - .string "CALM MIND$", 13 - .string "LEAF BLADE$", 13 - .string "DRAGON DANCE$", 13 - .string "ROCK BLAST$", 13 - .string "SHOCK WAVE$", 13 - .string "WATER PULSE$", 13 - .string "DOOM DESIRE$", 13 - .string "PSYCHO BOOST$", 13 diff --git a/data/text/species_names.inc b/data/text/species_names.inc deleted file mode 100644 index f319d2dc7..000000000 --- a/data/text/species_names.inc +++ /dev/null @@ -1,413 +0,0 @@ -gSpeciesNames:: @ 83185C8 - .string "??????????$", 11 - .string "BULBASAUR$", 11 - .string "IVYSAUR$", 11 - .string "VENUSAUR$", 11 - .string "CHARMANDER$", 11 - .string "CHARMELEON$", 11 - .string "CHARIZARD$", 11 - .string "SQUIRTLE$", 11 - .string "WARTORTLE$", 11 - .string "BLASTOISE$", 11 - .string "CATERPIE$", 11 - .string "METAPOD$", 11 - .string "BUTTERFREE$", 11 - .string "WEEDLE$", 11 - .string "KAKUNA$", 11 - .string "BEEDRILL$", 11 - .string "PIDGEY$", 11 - .string "PIDGEOTTO$", 11 - .string "PIDGEOT$", 11 - .string "RATTATA$", 11 - .string "RATICATE$", 11 - .string "SPEAROW$", 11 - .string "FEAROW$", 11 - .string "EKANS$", 11 - .string "ARBOK$", 11 - .string "PIKACHU$", 11 - .string "RAICHU$", 11 - .string "SANDSHREW$", 11 - .string "SANDSLASH$", 11 - .string "NIDORAN♀$", 11 - .string "NIDORINA$", 11 - .string "NIDOQUEEN$", 11 - .string "NIDORAN♂$", 11 - .string "NIDORINO$", 11 - .string "NIDOKING$", 11 - .string "CLEFAIRY$", 11 - .string "CLEFABLE$", 11 - .string "VULPIX$", 11 - .string "NINETALES$", 11 - .string "JIGGLYPUFF$", 11 - .string "WIGGLYTUFF$", 11 - .string "ZUBAT$", 11 - .string "GOLBAT$", 11 - .string "ODDISH$", 11 - .string "GLOOM$", 11 - .string "VILEPLUME$", 11 - .string "PARAS$", 11 - .string "PARASECT$", 11 - .string "VENONAT$", 11 - .string "VENOMOTH$", 11 - .string "DIGLETT$", 11 - .string "DUGTRIO$", 11 - .string "MEOWTH$", 11 - .string "PERSIAN$", 11 - .string "PSYDUCK$", 11 - .string "GOLDUCK$", 11 - .string "MANKEY$", 11 - .string "PRIMEAPE$", 11 - .string "GROWLITHE$", 11 - .string "ARCANINE$", 11 - .string "POLIWAG$", 11 - .string "POLIWHIRL$", 11 - .string "POLIWRATH$", 11 - .string "ABRA$", 11 - .string "KADABRA$", 11 - .string "ALAKAZAM$", 11 - .string "MACHOP$", 11 - .string "MACHOKE$", 11 - .string "MACHAMP$", 11 - .string "BELLSPROUT$", 11 - .string "WEEPINBELL$", 11 - .string "VICTREEBEL$", 11 - .string "TENTACOOL$", 11 - .string "TENTACRUEL$", 11 - .string "GEODUDE$", 11 - .string "GRAVELER$", 11 - .string "GOLEM$", 11 - .string "PONYTA$", 11 - .string "RAPIDASH$", 11 - .string "SLOWPOKE$", 11 - .string "SLOWBRO$", 11 - .string "MAGNEMITE$", 11 - .string "MAGNETON$", 11 - .string "FARFETCH’D$", 11 - .string "DODUO$", 11 - .string "DODRIO$", 11 - .string "SEEL$", 11 - .string "DEWGONG$", 11 - .string "GRIMER$", 11 - .string "MUK$", 11 - .string "SHELLDER$", 11 - .string "CLOYSTER$", 11 - .string "GASTLY$", 11 - .string "HAUNTER$", 11 - .string "GENGAR$", 11 - .string "ONIX$", 11 - .string "DROWZEE$", 11 - .string "HYPNO$", 11 - .string "KRABBY$", 11 - .string "KINGLER$", 11 - .string "VOLTORB$", 11 - .string "ELECTRODE$", 11 - .string "EXEGGCUTE$", 11 - .string "EXEGGUTOR$", 11 - .string "CUBONE$", 11 - .string "MAROWAK$", 11 - .string "HITMONLEE$", 11 - .string "HITMONCHAN$", 11 - .string "LICKITUNG$", 11 - .string "KOFFING$", 11 - .string "WEEZING$", 11 - .string "RHYHORN$", 11 - .string "RHYDON$", 11 - .string "CHANSEY$", 11 - .string "TANGELA$", 11 - .string "KANGASKHAN$", 11 - .string "HORSEA$", 11 - .string "SEADRA$", 11 - .string "GOLDEEN$", 11 - .string "SEAKING$", 11 - .string "STARYU$", 11 - .string "STARMIE$", 11 - .string "MR. MIME$", 11 - .string "SCYTHER$", 11 - .string "JYNX$", 11 - .string "ELECTABUZZ$", 11 - .string "MAGMAR$", 11 - .string "PINSIR$", 11 - .string "TAUROS$", 11 - .string "MAGIKARP$", 11 - .string "GYARADOS$", 11 - .string "LAPRAS$", 11 - .string "DITTO$", 11 - .string "EEVEE$", 11 - .string "VAPOREON$", 11 - .string "JOLTEON$", 11 - .string "FLAREON$", 11 - .string "PORYGON$", 11 - .string "OMANYTE$", 11 - .string "OMASTAR$", 11 - .string "KABUTO$", 11 - .string "KABUTOPS$", 11 - .string "AERODACTYL$", 11 - .string "SNORLAX$", 11 - .string "ARTICUNO$", 11 - .string "ZAPDOS$", 11 - .string "MOLTRES$", 11 - .string "DRATINI$", 11 - .string "DRAGONAIR$", 11 - .string "DRAGONITE$", 11 - .string "MEWTWO$", 11 - .string "MEW$", 11 - .string "CHIKORITA$", 11 - .string "BAYLEEF$", 11 - .string "MEGANIUM$", 11 - .string "CYNDAQUIL$", 11 - .string "QUILAVA$", 11 - .string "TYPHLOSION$", 11 - .string "TOTODILE$", 11 - .string "CROCONAW$", 11 - .string "FERALIGATR$", 11 - .string "SENTRET$", 11 - .string "FURRET$", 11 - .string "HOOTHOOT$", 11 - .string "NOCTOWL$", 11 - .string "LEDYBA$", 11 - .string "LEDIAN$", 11 - .string "SPINARAK$", 11 - .string "ARIADOS$", 11 - .string "CROBAT$", 11 - .string "CHINCHOU$", 11 - .string "LANTURN$", 11 - .string "PICHU$", 11 - .string "CLEFFA$", 11 - .string "IGGLYBUFF$", 11 - .string "TOGEPI$", 11 - .string "TOGETIC$", 11 - .string "NATU$", 11 - .string "XATU$", 11 - .string "MAREEP$", 11 - .string "FLAAFFY$", 11 - .string "AMPHAROS$", 11 - .string "BELLOSSOM$", 11 - .string "MARILL$", 11 - .string "AZUMARILL$", 11 - .string "SUDOWOODO$", 11 - .string "POLITOED$", 11 - .string "HOPPIP$", 11 - .string "SKIPLOOM$", 11 - .string "JUMPLUFF$", 11 - .string "AIPOM$", 11 - .string "SUNKERN$", 11 - .string "SUNFLORA$", 11 - .string "YANMA$", 11 - .string "WOOPER$", 11 - .string "QUAGSIRE$", 11 - .string "ESPEON$", 11 - .string "UMBREON$", 11 - .string "MURKROW$", 11 - .string "SLOWKING$", 11 - .string "MISDREAVUS$", 11 - .string "UNOWN$", 11 - .string "WOBBUFFET$", 11 - .string "GIRAFARIG$", 11 - .string "PINECO$", 11 - .string "FORRETRESS$", 11 - .string "DUNSPARCE$", 11 - .string "GLIGAR$", 11 - .string "STEELIX$", 11 - .string "SNUBBULL$", 11 - .string "GRANBULL$", 11 - .string "QWILFISH$", 11 - .string "SCIZOR$", 11 - .string "SHUCKLE$", 11 - .string "HERACROSS$", 11 - .string "SNEASEL$", 11 - .string "TEDDIURSA$", 11 - .string "URSARING$", 11 - .string "SLUGMA$", 11 - .string "MAGCARGO$", 11 - .string "SWINUB$", 11 - .string "PILOSWINE$", 11 - .string "CORSOLA$", 11 - .string "REMORAID$", 11 - .string "OCTILLERY$", 11 - .string "DELIBIRD$", 11 - .string "MANTINE$", 11 - .string "SKARMORY$", 11 - .string "HOUNDOUR$", 11 - .string "HOUNDOOM$", 11 - .string "KINGDRA$", 11 - .string "PHANPY$", 11 - .string "DONPHAN$", 11 - .string "PORYGON2$", 11 - .string "STANTLER$", 11 - .string "SMEARGLE$", 11 - .string "TYROGUE$", 11 - .string "HITMONTOP$", 11 - .string "SMOOCHUM$", 11 - .string "ELEKID$", 11 - .string "MAGBY$", 11 - .string "MILTANK$", 11 - .string "BLISSEY$", 11 - .string "RAIKOU$", 11 - .string "ENTEI$", 11 - .string "SUICUNE$", 11 - .string "LARVITAR$", 11 - .string "PUPITAR$", 11 - .string "TYRANITAR$", 11 - .string "LUGIA$", 11 - .string "HO-OH$", 11 - .string "CELEBI$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "?$", 11 - .string "TREECKO$", 11 - .string "GROVYLE$", 11 - .string "SCEPTILE$", 11 - .string "TORCHIC$", 11 - .string "COMBUSKEN$", 11 - .string "BLAZIKEN$", 11 - .string "MUDKIP$", 11 - .string "MARSHTOMP$", 11 - .string "SWAMPERT$", 11 - .string "POOCHYENA$", 11 - .string "MIGHTYENA$", 11 - .string "ZIGZAGOON$", 11 - .string "LINOONE$", 11 - .string "WURMPLE$", 11 - .string "SILCOON$", 11 - .string "BEAUTIFLY$", 11 - .string "CASCOON$", 11 - .string "DUSTOX$", 11 - .string "LOTAD$", 11 - .string "LOMBRE$", 11 - .string "LUDICOLO$", 11 - .string "SEEDOT$", 11 - .string "NUZLEAF$", 11 - .string "SHIFTRY$", 11 - .string "NINCADA$", 11 - .string "NINJASK$", 11 - .string "SHEDINJA$", 11 - .string "TAILLOW$", 11 - .string "SWELLOW$", 11 - .string "SHROOMISH$", 11 - .string "BRELOOM$", 11 - .string "SPINDA$", 11 - .string "WINGULL$", 11 - .string "PELIPPER$", 11 - .string "SURSKIT$", 11 - .string "MASQUERAIN$", 11 - .string "WAILMER$", 11 - .string "WAILORD$", 11 - .string "SKITTY$", 11 - .string "DELCATTY$", 11 - .string "KECLEON$", 11 - .string "BALTOY$", 11 - .string "CLAYDOL$", 11 - .string "NOSEPASS$", 11 - .string "TORKOAL$", 11 - .string "SABLEYE$", 11 - .string "BARBOACH$", 11 - .string "WHISCASH$", 11 - .string "LUVDISC$", 11 - .string "CORPHISH$", 11 - .string "CRAWDAUNT$", 11 - .string "FEEBAS$", 11 - .string "MILOTIC$", 11 - .string "CARVANHA$", 11 - .string "SHARPEDO$", 11 - .string "TRAPINCH$", 11 - .string "VIBRAVA$", 11 - .string "FLYGON$", 11 - .string "MAKUHITA$", 11 - .string "HARIYAMA$", 11 - .string "ELECTRIKE$", 11 - .string "MANECTRIC$", 11 - .string "NUMEL$", 11 - .string "CAMERUPT$", 11 - .string "SPHEAL$", 11 - .string "SEALEO$", 11 - .string "WALREIN$", 11 - .string "CACNEA$", 11 - .string "CACTURNE$", 11 - .string "SNORUNT$", 11 - .string "GLALIE$", 11 - .string "LUNATONE$", 11 - .string "SOLROCK$", 11 - .string "AZURILL$", 11 - .string "SPOINK$", 11 - .string "GRUMPIG$", 11 - .string "PLUSLE$", 11 - .string "MINUN$", 11 - .string "MAWILE$", 11 - .string "MEDITITE$", 11 - .string "MEDICHAM$", 11 - .string "SWABLU$", 11 - .string "ALTARIA$", 11 - .string "WYNAUT$", 11 - .string "DUSKULL$", 11 - .string "DUSCLOPS$", 11 - .string "ROSELIA$", 11 - .string "SLAKOTH$", 11 - .string "VIGOROTH$", 11 - .string "SLAKING$", 11 - .string "GULPIN$", 11 - .string "SWALOT$", 11 - .string "TROPIUS$", 11 - .string "WHISMUR$", 11 - .string "LOUDRED$", 11 - .string "EXPLOUD$", 11 - .string "CLAMPERL$", 11 - .string "HUNTAIL$", 11 - .string "GOREBYSS$", 11 - .string "ABSOL$", 11 - .string "SHUPPET$", 11 - .string "BANETTE$", 11 - .string "SEVIPER$", 11 - .string "ZANGOOSE$", 11 - .string "RELICANTH$", 11 - .string "ARON$", 11 - .string "LAIRON$", 11 - .string "AGGRON$", 11 - .string "CASTFORM$", 11 - .string "VOLBEAT$", 11 - .string "ILLUMISE$", 11 - .string "LILEEP$", 11 - .string "CRADILY$", 11 - .string "ANORITH$", 11 - .string "ARMALDO$", 11 - .string "RALTS$", 11 - .string "KIRLIA$", 11 - .string "GARDEVOIR$", 11 - .string "BAGON$", 11 - .string "SHELGON$", 11 - .string "SALAMENCE$", 11 - .string "BELDUM$", 11 - .string "METANG$", 11 - .string "METAGROSS$", 11 - .string "REGIROCK$", 11 - .string "REGICE$", 11 - .string "REGISTEEL$", 11 - .string "KYOGRE$", 11 - .string "GROUDON$", 11 - .string "RAYQUAZA$", 11 - .string "LATIAS$", 11 - .string "LATIOS$", 11 - .string "JIRACHI$", 11 - .string "DEOXYS$", 11 - .string "CHIMECHO$", 11 diff --git a/data/text/trainer_class_names.inc b/data/text/trainer_class_names.inc deleted file mode 100644 index f4327471e..000000000 --- a/data/text/trainer_class_names.inc +++ /dev/null @@ -1,67 +0,0 @@ -gTrainerClassNames:: @ 830FCD4 - .string "{PKMN} TRAINER$", 13 - .string "{PKMN} TRAINER$", 13 - .string "HIKER$", 13 - .string "TEAM AQUA$", 13 - .string "{PKMN} BREEDER$", 13 - .string "COOLTRAINER$", 13 - .string "BIRD KEEPER$", 13 - .string "COLLECTOR$", 13 - .string "SWIMMER♂$", 13 - .string "TEAM MAGMA$", 13 - .string "EXPERT$", 13 - .string "AQUA ADMIN$", 13 - .string "BLACK BELT$", 13 - .string "AQUA LEADER$", 13 - .string "HEX MANIAC$", 13 - .string "AROMA LADY$", 13 - .string "RUIN MANIAC$", 13 - .string "INTERVIEWER$", 13 - .string "TUBER$", 13 - .string "TUBER$", 13 - .string "LADY$", 13 - .string "BEAUTY$", 13 - .string "RICH BOY$", 13 - .string "POKéMANIAC$", 13 - .string "GUITARIST$", 13 - .string "KINDLER$", 13 - .string "CAMPER$", 13 - .string "PICNICKER$", 13 - .string "BUG MANIAC$", 13 - .string "PSYCHIC$", 13 - .string "GENTLEMAN$", 13 - .string "ELITE FOUR$", 13 - .string "LEADER$", 13 - .string "SCHOOL KID$", 13 - .string "SR. AND JR.$", 13 - .string "WINSTRATE$", 13 - .string "POKéFAN$", 13 - .string "YOUNGSTER$", 13 - .string "CHAMPION$", 13 - .string "FISHERMAN$", 13 - .string "TRIATHLETE$", 13 - .string "DRAGON TAMER$", 13 - .string "NINJA BOY$", 13 - .string "BATTLE GIRL$", 13 - .string "PARASOL LADY$", 13 - .string "SWIMMER♀$", 13 - .string "TWINS$", 13 - .string "SAILOR$", 13 - .string "COOLTRAINER$", 13 - .string "MAGMA ADMIN$", 13 - .string "{PKMN} TRAINER$", 13 - .string "BUG CATCHER$", 13 - .string "{PKMN} RANGER$", 13 - .string "MAGMA LEADER$", 13 - .string "LASS$", 13 - .string "YOUNG COUPLE$", 13 - .string "OLD COUPLE$", 13 - .string "SIS AND BRO$", 13 - .string "SALON MAIDEN$", 13 - .string "DOME ACE$", 13 - .string "PALACE MAVEN$", 13 - .string "ARENA TYCOON$", 13 - .string "FACTORY HEAD$", 13 - .string "PIKE QUEEN$", 13 - .string "PYRAMID KING$", 13 - .string "{PKMN} TRAINER$", 13 diff --git a/data/text_input_strings.s b/data/text_input_strings.s index 7219051a7..37d31642b 100644 --- a/data/text_input_strings.s +++ b/data/text_input_strings.s @@ -116,31 +116,31 @@ gUnknown_0862BA6B:: @ 862BA6B .string "$$$$$$$$" gUnknown_0862BA79:: @ 862BA79 - .string "{UNK_CTRL_F9 245}{UNK_CTRL_F9 246}{UNK_CTRL_F9 247}{UNK_CTRL_F9 248}{UNK_CTRL_F9 254}$" + .string "{EMOJI_MISCHIEVOUS}{EMOJI_HAPPY}{EMOJI_ANGRY}{EMOJI_SURPRISED}{EMOJI_BIGANGER}$" gUnknown_0862BA84:: @ 862BA84 - .string "{UNK_CTRL_F9 249}{UNK_CTRL_F9 250}{UNK_CTRL_F9 252}{UNK_CTRL_F9 251}{UNK_CTRL_F9 253}$" + .string "{EMOJI_BIGSMILE}{EMOJI_EVIL}{EMOJI_NEUTRAL}{EMOJI_TIRED}{EMOJI_SHOCKED}$" gUnknown_0862BA8F:: @ 862BA8F - .string "{UNK_CTRL_F9 236}{UNK_CTRL_F9 237}{UNK_CTRL_F9 238}{UNK_CTRL_F9 235}{UNK_CTRL_F9 234}$" + .string "{EMOJI_LEAF}{EMOJI_FIRE}{EMOJI_WATER}{EMOJI_BOLT}{EMOJI_BALL}$" gUnknown_0862BA9A:: @ 862BA9A - .string "♂♀{UNK_CTRL_F9 212}{UNK_CTRL_F9 213}{UNK_CTRL_F9 211}$" + .string "♂♀{EMOJI_LEFT_PAREN}{EMOJI_RIGHT_PAREN}{EMOJI_TILDE}$" gUnknown_0862BAA3:: @ 862BAA3 - .string "{UNK_CTRL_F9 216}{UNK_CTRL_F9 217}{UNK_CTRL_F9 242}{UNK_CTRL_F9 243}{UNK_CTRL_F9 244}$" + .string "{EMOJI_LEFT_EYE}{EMOJI_RIGHT_EYE}{EMOJI_SMALLWHEEL}{EMOJI_SPHERE}{EMOJI_IRRITATED}$" gUnknown_0862BAAE:: @ 862BAAE - .string "{UNK_CTRL_F9 218}{UNK_CTRL_F9 241}{UNK_CTRL_F9 224}{UNK_CTRL_F9 226}{UNK_CTRL_F9 227}$" + .string "{EMOJI_AT}{EMOJI_BIGWHEEL}{EMOJI_TONGUE}{EMOJI_ACUTE}{EMOJI_GRAVE}$" gUnknown_0862BAB9:: @ 862BAB9 - .string "{UNK_CTRL_F9 240}{UNK_CTRL_F9 239}{UNK_CTRL_F9 225}{UNK_CTRL_F9 214}{UNK_CTRL_F9 215}$" + .string "{EMOJI_RIGHT_FIST}{EMOJI_LEFT_FIST}{EMOJI_TRIANGLE_OUTLINE}{EMOJI_UNION}{EMOJI_GREATER_THAN}$" gUnknown_0862BAC4:: @ 862BAC4 - .string "{UNK_CTRL_F9 228}{UNK_CTRL_F9 229}{UNK_CTRL_F9 230}{UNK_CTRL_F9 231}{UNK_CTRL_F9 232}$" + .string "{EMOJI_CIRCLE}{EMOJI_TRIANGLE}{EMOJI_SQUARE}{EMOJI_HEART}{EMOJI_MOON}$" gUnknown_0862BACF:: @ 862BACF - .string "{UNK_CTRL_F9 233}{UNK_CTRL_F9 220}{UNK_CTRL_F9 221}{UNK_CTRL_F9 222}{UNK_CTRL_F9 209}$" + .string "{EMOJI_NOTE}{EMOJI_PLUS}{EMOJI_MINUS}{EMOJI_EQUALS}{EMOJI_PIPE}$" gUnknown_0862BADA:: @ 862BADA - .string "{UNK_CTRL_F9 210}{UNK_CTRL_F9 208}ょ: $" + .string "{EMOJI_HIGHBAR}{EMOJI_UNDERSCORE};: $" diff --git a/data/trainer_parties.inc b/data/trainer_parties.inc deleted file mode 100644 index 66eaf81be..000000000 --- a/data/trainer_parties.inc +++ /dev/null @@ -1,11268 +0,0 @@ - .align 2 -gTrainerParty_Sawyer1:: @ 830B62C - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt1:: @ 830B634 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt2:: @ 830B63C - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt3:: @ 830B64C - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt4:: @ 830B654 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt5:: @ 830B65C - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt6:: @ 830B664 - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt7:: @ 830B66C - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Gabrielle1:: @ 830B674 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SKITTY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_LOTAD - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SEEDOT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt8:: @ 830B6A4 - .2byte 0 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Marcel:: @ 830B6AC - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SHIFTRY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alberto:: @ 830B6BC - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_XATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ed:: @ 830B6CC - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_ZANGOOSE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_SEVIPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt9:: @ 830B6DC - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Declan:: @ 830B6E4 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt10:: @ 830B6EC - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt11:: @ 830B6F4 - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt12:: @ 830B704 - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt13:: @ 830B714 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt14:: @ 830B72C - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt15:: @ 830B734 - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt16:: @ 830B744 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt17:: @ 830B74C - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt18:: @ 830B754 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt19:: @ 830B75C - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt20:: @ 830B76C - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt21:: @ 830B774 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt22:: @ 830B77C - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Fredrick:: @ 830B784 - .2byte 100 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Matt:: @ 830B794 - .2byte 50 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GOLBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Zander:: @ 830B7A4 - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shelly1:: @ 830B7AC - .2byte 50 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shelly2:: @ 830B7BC - .2byte 100 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Archie:: @ 830B7CC - .2byte 150 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_CROBAT - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Leah:: @ 830B7E4 - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SPOINK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Daisy:: @ 830B7EC - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rose1:: @ 830B7FC - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Felix:: @ 830B814 - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MEDICHAM - .2byte MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_CLAYDOL - .2byte MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Violet:: @ 830B834 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rose2:: @ 830B844 - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rose3:: @ 830B854 - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rose4:: @ 830B86C - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rose5:: @ 830B884 - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dusty1:: @ 830B89C - .2byte 50 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_SANDSLASH - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Chip:: @ 830B8AC - .2byte 50 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_BALTOY - .2byte MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SANDSHREW - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SANDSLASH - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Foster:: @ 830B8DC - .2byte 100 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SANDSHREW - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SANDSLASH - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dusty2:: @ 830B8FC - .2byte 60 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SANDSLASH - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dusty3:: @ 830B90C - .2byte 70 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_SANDSLASH - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dusty4:: @ 830B91C - .2byte 80 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SANDSLASH - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dusty5:: @ 830B92C - .2byte 90 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_SANDSLASH - .2byte MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING - .2byte 0 @ padding - - .align 2 -gTrainerParty_GabbyAndTy1:: @ 830B93C - .2byte 50 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_WHISMUR - .2byte 0 @ padding - - .align 2 -gTrainerParty_GabbyAndTy2:: @ 830B94C - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_GabbyAndTy3:: @ 830B95C - .2byte 150 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_GabbyAndTy4:: @ 830B96C - .2byte 200 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_GabbyAndTy5:: @ 830B97C - .2byte 250 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .2byte 250 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_GabbyAndTy6:: @ 830B98C - .2byte 250 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MAGNETON - .2byte MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT - .2byte 0 @ padding - - .2byte 250 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_EXPLOUD - .2byte MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lola1:: @ 830B9AC - .2byte 10 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_AZURILL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_AZURILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Austina:: @ 830B9BC - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Gwen:: @ 830B9C4 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lola2:: @ 830B9CC - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lola3:: @ 830B9DC - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lola4:: @ 830B9EC - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lola5:: @ 830B9FC - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_AZUMARILL - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_AZUMARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ricky1:: @ 830BA0C - .2byte 10 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_ZIGZAGOON - .2byte MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Simon:: @ 830BA1C - .2byte 0 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_AZURILL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Charlie:: @ 830BA2C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ricky2:: @ 830BA34 - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ricky3:: @ 830BA44 - .2byte 20 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ricky4:: @ 830BA54 - .2byte 30 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ricky5:: @ 830BA64 - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Randall:: @ 830BA74 - .2byte 255 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SWELLOW - .2byte ITEM_NONE - .2byte MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_NONE - - .align 2 -gTrainerParty_Parker:: @ 830BA84 - .2byte 255 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SPINDA - .2byte ITEM_NONE - .2byte MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_NONE - - .align 2 -gTrainerParty_George:: @ 830BA94 - .2byte 255 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SLAKOTH - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SLACK_OFF, MOVE_COUNTER, MOVE_SHADOW_BALL, MOVE_NONE - - .align 2 -gTrainerParty_Berke:: @ 830BAA4 - .2byte 255 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_VIGOROTH - .2byte ITEM_NONE - .2byte MOVE_FOCUS_ENERGY, MOVE_SLASH, MOVE_NONE, MOVE_NONE - - .align 2 -gTrainerParty_Braxton:: @ 830BAB4 - .2byte 100 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_SWELLOW - .2byte MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_TRAPINCH - .2byte MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_WAILMER - .2byte MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MAGNETON - .2byte MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_SHIFTRY - .2byte MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Vincent:: @ 830BB04 - .2byte 100 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Leroy:: @ 830BB1C - .2byte 100 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_MAWILE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wilton1:: @ 830BB2C - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Edgar:: @ 830BB44 - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_CACTURNE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Albert:: @ 830BB54 - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MUK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Samuel:: @ 830BB64 - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_MAWILE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Vito:: @ 830BB7C - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_DODRIO - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_ELECTRODE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_SHIFTRY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Owen:: @ 830BB9C - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_KECLEON - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_WAILORD - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wilton2:: @ 830BBB4 - .2byte 110 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 110 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 110 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wilton3:: @ 830BBCC - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wilton4:: @ 830BBE4 - .2byte 130 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wilton5:: @ 830BBFC - .2byte 140 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 140 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 140 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Warren:: @ 830BC14 - .2byte 100 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LUDICOLO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Mary:: @ 830BC24 - .2byte 255 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_DELCATTY - .2byte ITEM_NONE - .2byte MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE - - .align 2 -gTrainerParty_Alexia:: @ 830BC34 - .2byte 255 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WIGGLYTUFF - .2byte ITEM_NONE - .2byte MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_NONE - - .align 2 -gTrainerParty_Jody:: @ 830BC44 - .2byte 255 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ZANGOOSE - .2byte ITEM_NONE - .2byte MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_NONE, MOVE_NONE - - .align 2 -gTrainerParty_Wendy:: @ 830BC54 - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MAWILE - .2byte MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_PELIPPER - .2byte MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Keira:: @ 830BC84 - .2byte 100 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_LAIRON - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brooke1:: @ 830BC94 - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jennifer:: @ 830BCAC - .2byte 200 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hope:: @ 830BCB4 - .2byte 100 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shannon:: @ 830BCBC - .2byte 100 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_CLAYDOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Michelle:: @ 830BCC4 - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_TORKOAL - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_LUDICOLO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Caroline:: @ 830BCDC - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SKARMORY - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Julie:: @ 830BCEC - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_SANDSLASH - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_NINETALES - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brooke2:: @ 830BD04 - .2byte 110 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 110 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 110 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brooke3:: @ 830BD1C - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brooke4:: @ 830BD34 - .2byte 130 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brooke5:: @ 830BD4C - .2byte 140 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 140 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_CAMERUPT - .2byte 0 @ padding - - .2byte 140 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Patricia:: @ 830BD64 - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_BANETTE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_LUNATONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kindra:: @ 830BD74 - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_DUSKULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_SHUPPET - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tammy:: @ 830BD84 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_DUSKULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SHUPPET - .2byte 0 @ padding - - .align 2 -gTrainerParty_Valerie1:: @ 830BD94 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tasha:: @ 830BD9C - .2byte 50 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SHUPPET - .2byte 0 @ padding - - .align 2 -gTrainerParty_Valerie2:: @ 830BDA4 - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SPOINK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Valerie3:: @ 830BDB4 - .2byte 20 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_SPOINK - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Valerie4:: @ 830BDC4 - .2byte 30 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_SPOINK - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Valerie5:: @ 830BDD4 - .2byte 40 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_DUSKULL - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_GRUMPIG - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cindy1:: @ 830BDEC - .2byte 0 @ IV (0-255) - .2byte 7 @ level - .2byte SPECIES_ZIGZAGOON - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Daphne:: @ 830BDF4 - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_LUVDISC - .2byte ITEM_NUGGET - .2byte MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE - - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_LUVDISC - .2byte ITEM_NUGGET - .2byte MOVE_ATTRACT, MOVE_SAFEGUARD, MOVE_TAKE_DOWN, MOVE_WATER_PULSE - - .align 2 -gTrainerParty_Grunt23:: @ 830BE14 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cindy2:: @ 830BE2C - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_ZIGZAGOON - .2byte ITEM_NUGGET - .2byte MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE - - .align 2 -gTrainerParty_Brianna:: @ 830BE3C - .2byte 150 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_SEAKING - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Naomi:: @ 830BE44 - .2byte 100 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_ROSELIA - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Cindy3:: @ 830BE4C - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Cindy4:: @ 830BE54 - .2byte 20 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Cindy5:: @ 830BE5C - .2byte 30 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Cindy6:: @ 830BE64 - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NUGGET - .2byte MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK - - .align 2 -gTrainerParty_Melissa:: @ 830BE74 - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sheila:: @ 830BE7C - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shirley:: @ 830BE84 - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jessica1:: @ 830BE8C - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_KECLEON - .2byte MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SEVIPER - .2byte MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Connie:: @ 830BEAC - .2byte 100 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bridget:: @ 830BEB4 - .2byte 150 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_AZUMARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Olivia:: @ 830BEBC - .2byte 100 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_CLAMPERL - .2byte MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_CORPHISH - .2byte MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_LOMBRE - .2byte MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tiffany:: @ 830BEEC - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jessica2:: @ 830BEFC - .2byte 10 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_KECLEON - .2byte MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_SEVIPER - .2byte MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jessica3:: @ 830BF1C - .2byte 20 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_KECLEON - .2byte MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_SEVIPER - .2byte MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jessica4:: @ 830BF3C - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_KECLEON - .2byte MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_SEVIPER - .2byte MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jessica5:: @ 830BF5C - .2byte 40 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_KECLEON - .2byte MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_SEVIPER - .2byte MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Winston1:: @ 830BF7C - .2byte 0 @ IV (0-255) - .2byte 7 @ level - .2byte SPECIES_ZIGZAGOON - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Mollie:: @ 830BF84 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_WHISCASH - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Garret:: @ 830BF94 - .2byte 0 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_AZUMARILL - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Winston2:: @ 830BF9C - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Winston3:: @ 830BFA4 - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Winston4:: @ 830BFAC - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Winston5:: @ 830BFB4 - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NUGGET - .2byte MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK - - .align 2 -gTrainerParty_Steve1:: @ 830BFC4 - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Thalia1:: @ 830BFCC - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_HORSEA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Mark:: @ 830BFDC - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_RHYHORN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt24:: @ 830BFE4 - .2byte 0 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Steve2:: @ 830BFEC - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_LAIRON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Steve3:: @ 830BFF4 - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LAIRON - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_RHYHORN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Steve4:: @ 830C004 - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LAIRON - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_RHYHORN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Steve5:: @ 830C014 - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_AGGRON - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_RHYDON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Luis:: @ 830C024 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dominik:: @ 830C02C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Douglas:: @ 830C034 - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Darrin:: @ 830C044 - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tony1:: @ 830C05C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jerome:: @ 830C064 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Matthew:: @ 830C06C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_David:: @ 830C074 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Spencer:: @ 830C084 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Roland:: @ 830C094 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nolen:: @ 830C09C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Stan:: @ 830C0A4 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_HORSEA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Barry:: @ 830C0AC - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dean:: @ 830C0B4 - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rodney:: @ 830C0CC - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Richard:: @ 830C0D4 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Herman:: @ 830C0DC - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Santiago:: @ 830C0EC - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Gilbert:: @ 830C0FC - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Franklin:: @ 830C104 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SEALEO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kevin:: @ 830C10C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SPHEAL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jack:: @ 830C114 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dudley:: @ 830C11C - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Chad:: @ 830C134 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tony2:: @ 830C144 - .2byte 10 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tony3:: @ 830C14C - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tony4:: @ 830C154 - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tony5:: @ 830C164 - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Takao:: @ 830C174 - .2byte 127 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hitoshi:: @ 830C17C - .2byte 50 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kiyo:: @ 830C18C - .2byte 100 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Koichi:: @ 830C194 - .2byte 100 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nob1:: @ 830C1A4 - .2byte 100 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nob2:: @ 830C1AC - .2byte 110 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nob3:: @ 830C1B4 - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nob4:: @ 830C1C4 - .2byte 130 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nob5:: @ 830C1DC - .2byte 140 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHOP - .2byte ITEM_NONE - - .2byte 140 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHOKE - .2byte ITEM_NONE - - .2byte 140 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHOKE - .2byte ITEM_NONE - - .2byte 140 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHAMP - .2byte ITEM_BLACK_BELT - - .align 2 -gTrainerParty_Yuji:: @ 830C1FC - .2byte 100 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Daisuke:: @ 830C20C - .2byte 100 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Atsushi:: @ 830C214 - .2byte 100 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kirk:: @ 830C21C - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_ELECTRIKE - .2byte MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_VOLTORB - .2byte MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt25:: @ 830C23C - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt26:: @ 830C24C - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shawn:: @ 830C254 - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_VOLTORB - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Fernando1:: @ 830C264 - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dalton1:: @ 830C274 - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_WHISMUR - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dalton2:: @ 830C284 - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WHISMUR - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dalton3:: @ 830C29C - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dalton4:: @ 830C2B4 - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dalton5:: @ 830C2CC - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_EXPLOUD - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cole:: @ 830C2E4 - .2byte 100 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jeff:: @ 830C2EC - .2byte 100 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Axle:: @ 830C2FC - .2byte 100 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jace:: @ 830C304 - .2byte 100 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Keegan:: @ 830C30C - .2byte 120 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bernie1:: @ 830C314 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bernie2:: @ 830C324 - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bernie3:: @ 830C334 - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bernie4:: @ 830C344 - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bernie5:: @ 830C354 - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_MAGCARGO - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Drew:: @ 830C364 - .2byte 0 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_SANDSHREW - .2byte MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Beau:: @ 830C374 - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_BALTOY - .2byte MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_SANDSHREW - .2byte MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_BALTOY - .2byte MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB - .2byte 0 @ padding - - .align 2 -gTrainerParty_Larry:: @ 830C3A4 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shane:: @ 830C3AC - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Justin:: @ 830C3BC - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_KECLEON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ethan1:: @ 830C3C4 - .2byte 0 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Autumn:: @ 830C3D4 - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Travis:: @ 830C3DC - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ethan2:: @ 830C3E4 - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ethan3:: @ 830C3F4 - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ethan4:: @ 830C404 - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ethan5:: @ 830C41C - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SANDSLASH - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brent:: @ 830C434 - .2byte 100 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Donald:: @ 830C43C - .2byte 100 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_SILCOON - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_BEAUTIFLY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Taylor:: @ 830C454 - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_CASCOON - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_DUSTOX - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jeffrey1:: @ 830C46C - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Derek:: @ 830C484 - .2byte 150 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_DUSTOX - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_BEAUTIFLY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jeffrey2:: @ 830C494 - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jeffrey3:: @ 830C4AC - .2byte 20 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MASQUERAIN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jeffrey4:: @ 830C4C4 - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MASQUERAIN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jeffrey5:: @ 830C4E4 - .2byte 40 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_SURSKIT - .2byte ITEM_NONE - - .2byte 40 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_DUSTOX - .2byte ITEM_NONE - - .2byte 40 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_SURSKIT - .2byte ITEM_NONE - - .2byte 40 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_MASQUERAIN - .2byte ITEM_SILVER_POWDER - - .2byte 40 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_BEAUTIFLY - .2byte ITEM_NONE - - .align 2 -gTrainerParty_Edward:: @ 830C50C - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_ABRA - .2byte MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Preston:: @ 830C51C - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_KIRLIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Virgil:: @ 830C524 - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_RALTS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Blake:: @ 830C52C - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_GIRAFARIG - .2byte 0 @ padding - - .align 2 -gTrainerParty_William:: @ 830C534 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_RALTS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_RALTS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_KIRLIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Joshua:: @ 830C54C - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_SOLROCK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cameron1:: @ 830C55C - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SOLROCK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cameron2:: @ 830C564 - .2byte 10 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SOLROCK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cameron3:: @ 830C574 - .2byte 20 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_SOLROCK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cameron4:: @ 830C584 - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_SOLROCK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cameron5:: @ 830C594 - .2byte 40 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_SOLROCK - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_ALAKAZAM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jaclyn:: @ 830C5A4 - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_ABRA - .2byte MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hannah:: @ 830C5B4 - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_KIRLIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Samantha:: @ 830C5BC - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_XATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maura:: @ 830C5C4 - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kayla:: @ 830C5CC - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WOBBUFFET - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_NATU - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alexis:: @ 830C5E4 - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_KIRLIA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_XATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jacki1:: @ 830C5F4 - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_LUNATONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jacki2:: @ 830C604 - .2byte 10 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_LUNATONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jacki3:: @ 830C614 - .2byte 20 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_LUNATONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jacki4:: @ 830C624 - .2byte 30 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_LUNATONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jacki5:: @ 830C634 - .2byte 40 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_LUNATONE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_ALAKAZAM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Walter1:: @ 830C644 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Micah:: @ 830C64C - .2byte 0 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Thomas:: @ 830C65C - .2byte 0 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_ZANGOOSE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Walter2:: @ 830C664 - .2byte 10 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Walter3:: @ 830C66C - .2byte 20 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MANECTRIC - .2byte MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR - .2byte 0 @ padding - - .align 2 -gTrainerParty_Walter4:: @ 830C68C - .2byte 30 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MANECTRIC - .2byte MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Walter5:: @ 830C6AC - .2byte 40 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_GOLDUCK - .2byte MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_MANECTRIC - .2byte MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sidney:: @ 830C6DC - .2byte 250 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_MIGHTYENA - .2byte ITEM_NONE - .2byte MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH - - .2byte 250 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_SHIFTRY - .2byte ITEM_NONE - .2byte MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY - - .2byte 250 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_CACTURNE - .2byte ITEM_NONE - .2byte MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE - - .2byte 250 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_CRAWDAUNT - .2byte ITEM_NONE - .2byte MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE - - .2byte 255 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_ABSOL - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_SLASH - - .align 2 -gTrainerParty_Phoebe:: @ 830C72C - .2byte 250 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_DUSCLOPS - .2byte ITEM_NONE - .2byte MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT - - .2byte 250 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_BANETTE - .2byte ITEM_NONE - .2byte MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK - - .2byte 250 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_SABLEYE - .2byte ITEM_NONE - .2byte MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK - - .2byte 250 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_BANETTE - .2byte ITEM_NONE - .2byte MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE - - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_DUSCLOPS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_Glacia:: @ 830C77C - .2byte 250 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_SEALEO - .2byte ITEM_NONE - .2byte MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL - - .2byte 250 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_GLALIE - .2byte ITEM_NONE - .2byte MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM - - .2byte 250 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_SEALEO - .2byte ITEM_NONE - .2byte MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD - - .2byte 250 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_GLALIE - .2byte ITEM_NONE - .2byte MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_WALREIN - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SURF, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_SHEER_COLD - - .align 2 -gTrainerParty_Drake:: @ 830C7CC - .2byte 250 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_SHELGON - .2byte ITEM_NONE - .2byte MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE - - .2byte 250 @ IV (0-255) - .2byte 54 @ level - .2byte SPECIES_ALTARIA - .2byte ITEM_NONE - .2byte MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE - - .2byte 250 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_KINGDRA - .2byte ITEM_NONE - .2byte MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM - - .2byte 250 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_FLYGON - .2byte ITEM_NONE - .2byte MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_SALAMENCE - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_CRUNCH - - .align 2 -gTrainerParty_Roxanne1:: @ 830C81C - .2byte 100 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_GEODUDE - .2byte ITEM_NONE - .2byte MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB - - .2byte 100 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_GEODUDE - .2byte ITEM_NONE - .2byte MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB - - .2byte 200 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_NOSEPASS - .2byte ITEM_ORAN_BERRY - .2byte MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB - - .align 2 -gTrainerParty_Brawly1:: @ 830C84C - .2byte 100 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_MACHOP - .2byte ITEM_NONE - .2byte MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP - - .2byte 100 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_MEDITITE - .2byte ITEM_NONE - .2byte MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP - - .2byte 200 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_MAKUHITA - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_ARM_THRUST, MOVE_VITAL_THROW, MOVE_REVERSAL, MOVE_BULK_UP - - .align 2 -gTrainerParty_Wattson1:: @ 830C87C - .2byte 200 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_VOLTORB - .2byte ITEM_NONE - .2byte MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE - - .2byte 200 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_ELECTRIKE - .2byte ITEM_NONE - .2byte MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL - - .2byte 220 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_MAGNETON - .2byte ITEM_NONE - .2byte MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM - - .2byte 250 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_MANECTRIC - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_HOWL - - .align 2 -gTrainerParty_Flannery1:: @ 830C8BC - .2byte 200 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_NUMEL - .2byte ITEM_NONE - .2byte MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY - - .2byte 200 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_SLUGMA - .2byte ITEM_NONE - .2byte MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY - - .2byte 250 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_CAMERUPT - .2byte ITEM_NONE - .2byte MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT - - .2byte 250 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_TORKOAL - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_BODY_SLAM, MOVE_ATTRACT - - .align 2 -gTrainerParty_Norman1:: @ 830C8FC - .2byte 200 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SPINDA - .2byte ITEM_NONE - .2byte MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE - - .2byte 200 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_VIGOROTH - .2byte ITEM_NONE - .2byte MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK - - .2byte 200 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NONE - .2byte MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT - - .2byte 250 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK - - .align 2 -gTrainerParty_Winona1:: @ 830C93C - .2byte 210 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SWABLU - .2byte ITEM_NONE - .2byte MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE - - .2byte 210 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_TROPIUS - .2byte ITEM_NONE - .2byte MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS - - .2byte 210 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_PELIPPER - .2byte ITEM_NONE - .2byte MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE - - .2byte 220 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SKARMORY - .2byte ITEM_NONE - .2byte MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_ALTARIA - .2byte ITEM_ORAN_BERRY - .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE - - .align 2 -gTrainerParty_TateAndLiza1:: @ 830C98C - .2byte 250 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_CLAYDOL - .2byte ITEM_NONE - .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN - - .2byte 250 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_XATU - .2byte ITEM_NONE - .2byte MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND - - .2byte 250 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_LUNATONE - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND - - .2byte 250 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_SOLROCK - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER - - .align 2 -gTrainerParty_Juan1:: @ 830C9CC - .2byte 200 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_LUVDISC - .2byte ITEM_NONE - .2byte MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL - - .2byte 200 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_WHISCASH - .2byte ITEM_NONE - .2byte MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE - - .2byte 200 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SEALEO - .2byte ITEM_NONE - .2byte MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE - - .2byte 200 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_CRAWDAUNT - .2byte ITEM_NONE - .2byte MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER - - .2byte 250 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_KINGDRA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST - - .align 2 -gTrainerParty_Jerry1:: @ 830CA1C - .2byte 10 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_RALTS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ted:: @ 830CA24 - .2byte 10 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_RALTS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Paul:: @ 830CA2C - .2byte 10 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_ODDISH - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jerry2:: @ 830CA44 - .2byte 20 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_RALTS - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jerry3:: @ 830CA54 - .2byte 30 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_KIRLIA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jerry4:: @ 830CA64 - .2byte 40 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_KIRLIA - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jerry5:: @ 830CA74 - .2byte 50 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_KIRLIA - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_BANETTE - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Karen1:: @ 830CA8C - .2byte 10 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Georgia:: @ 830CA94 - .2byte 10 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_BEAUTIFLY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Karen2:: @ 830CAA4 - .2byte 20 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WHISMUR - .2byte 0 @ padding - - .align 2 -gTrainerParty_Karen3:: @ 830CAB4 - .2byte 30 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_Karen4:: @ 830CAC4 - .2byte 40 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_Karen5:: @ 830CAD4 - .2byte 50 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_EXPLOUD - .2byte 0 @ padding - - .align 2 -gTrainerParty_KateAndJoy:: @ 830CAE4 - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_SPINDA - .2byte MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SLAKING - .2byte MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .align 2 -gTrainerParty_AnnaAndMeg1:: @ 830CB04 - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_ZIGZAGOON - .2byte MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MAKUHITA - .2byte MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_AnnaAndMeg2:: @ 830CB24 - .2byte 10 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_ZIGZAGOON - .2byte MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MAKUHITA - .2byte MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_AnnaAndMeg3:: @ 830CB44 - .2byte 20 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_ZIGZAGOON - .2byte MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MAKUHITA - .2byte MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_AnnaAndMeg4:: @ 830CB64 - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MAKUHITA - .2byte MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_AnnaAndMeg5:: @ 830CB84 - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_LINOONE - .2byte MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Victor:: @ 830CBA4 - .2byte 25 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_TAILLOW - .2byte ITEM_ORAN_BERRY - - .2byte 25 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_ZIGZAGOON - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Miguel1:: @ 830CBB4 - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_SKITTY - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Colton:: @ 830CBBC - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SKITTY - .2byte ITEM_ORAN_BERRY - .2byte MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL - - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_SKITTY - .2byte ITEM_ORAN_BERRY - .2byte MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL - - .2byte 0 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_SKITTY - .2byte ITEM_ORAN_BERRY - .2byte MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL - - .2byte 0 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_SKITTY - .2byte ITEM_ORAN_BERRY - .2byte MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_SKITTY - .2byte ITEM_ORAN_BERRY - .2byte MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL - - .2byte 0 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_DELCATTY - .2byte ITEM_ORAN_BERRY - .2byte MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL - - .align 2 -gTrainerParty_Miguel2:: @ 830CC1C - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SKITTY - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Miguel3:: @ 830CC24 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SKITTY - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Miguel4:: @ 830CC2C - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_DELCATTY - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Miguel5:: @ 830CC34 - .2byte 0 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_DELCATTY - .2byte ITEM_SITRUS_BERRY - - .align 2 -gTrainerParty_Victoria:: @ 830CC3C - .2byte 50 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_ROSELIA - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Vanessa:: @ 830CC44 - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_PIKACHU - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Bethany:: @ 830CC4C - .2byte 100 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_AZURILL - .2byte ITEM_ORAN_BERRY - - .2byte 100 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_MARILL - .2byte ITEM_ORAN_BERRY - - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_AZUMARILL - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Isabel1:: @ 830CC64 - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_PLUSLE - .2byte ITEM_ORAN_BERRY - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_MINUN - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Isabel2:: @ 830CC74 - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_PLUSLE - .2byte ITEM_ORAN_BERRY - - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MINUN - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Isabel3:: @ 830CC84 - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_PLUSLE - .2byte ITEM_ORAN_BERRY - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MINUN - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Isabel4:: @ 830CC94 - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_PLUSLE - .2byte ITEM_ORAN_BERRY - - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MINUN - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Isabel5:: @ 830CCA4 - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_PLUSLE - .2byte ITEM_SITRUS_BERRY - - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_MINUN - .2byte ITEM_SITRUS_BERRY - - .align 2 -gTrainerParty_Timothy1:: @ 830CCB4 - .2byte 200 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Timothy2:: @ 830CCBC - .2byte 210 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG - .2byte 0 @ padding - - .align 2 -gTrainerParty_Timothy3:: @ 830CCCC - .2byte 220 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG - .2byte 0 @ padding - - .align 2 -gTrainerParty_Timothy4:: @ 830CCDC - .2byte 230 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG - .2byte 0 @ padding - - .align 2 -gTrainerParty_Timothy5:: @ 830CCEC - .2byte 240 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG - .2byte 0 @ padding - - .align 2 -gTrainerParty_Vicky:: @ 830CCFC - .2byte 200 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_MEDITITE - .2byte MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shelby1:: @ 830CD0C - .2byte 200 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shelby2:: @ 830CD1C - .2byte 210 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 210 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shelby3:: @ 830CD2C - .2byte 220 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .2byte 220 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shelby4:: @ 830CD3C - .2byte 230 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .2byte 230 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shelby5:: @ 830CD4C - .2byte 240 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .2byte 240 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Calvin1:: @ 830CD5C - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Billy:: @ 830CD64 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 7 @ level - .2byte SPECIES_SEEDOT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Josh:: @ 830CD74 - .2byte 100 @ IV (0-255) - .2byte 10 @ level - .2byte SPECIES_GEODUDE - .2byte MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tommy:: @ 830CD84 - .2byte 110 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Joey:: @ 830CD94 - .2byte 0 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ben:: @ 830CD9C - .2byte 150 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_ZIGZAGOON - .2byte MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_GULPIN - .2byte MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND - .2byte 0 @ padding - - .align 2 -gTrainerParty_Quincy:: @ 830CDBC - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SLAKING - .2byte MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_DUSCLOPS - .2byte MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Katelynn:: @ 830CDDC - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_GARDEVOIR - .2byte MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SLAKING - .2byte MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jaylen:: @ 830CDFC - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_TRAPINCH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dillon:: @ 830CE04 - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Calvin2:: @ 830CE0C - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Calvin3:: @ 830CE14 - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Calvin4:: @ 830CE24 - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Calvin5:: @ 830CE3C - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Eddie:: @ 830CE54 - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Allen:: @ 830CE64 - .2byte 0 @ IV (0-255) - .2byte 4 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 3 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Timmy:: @ 830CE74 - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wallace:: @ 830CE84 - .2byte 255 @ IV (0-255) - .2byte 57 @ level - .2byte SPECIES_WAILORD - .2byte ITEM_NONE - .2byte MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_TENTACRUEL - .2byte ITEM_NONE - .2byte MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 56 @ level - .2byte SPECIES_LUDICOLO - .2byte ITEM_NONE - .2byte MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM - - .2byte 255 @ IV (0-255) - .2byte 56 @ level - .2byte SPECIES_WHISCASH - .2byte ITEM_NONE - .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM - - .2byte 255 @ IV (0-255) - .2byte 56 @ level - .2byte SPECIES_GYARADOS - .2byte ITEM_NONE - .2byte MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF - - .2byte 255 @ IV (0-255) - .2byte 58 @ level - .2byte SPECIES_MILOTIC - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_RECOVER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_TOXIC - - .align 2 -gTrainerParty_Andrew:: @ 830CEE4 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 10 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ivan:: @ 830CEFC - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 7 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Claude:: @ 830CF14 - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_BARBOACH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Elliot1:: @ 830CF2C - .2byte 0 @ IV (0-255) - .2byte 10 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 7 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 10 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ned:: @ 830CF44 - .2byte 10 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dale:: @ 830CF4C - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nolan:: @ 830CF6C - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_BARBOACH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Barny:: @ 830CF74 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wade:: @ 830CF84 - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Carter:: @ 830CF8C - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Elliot2:: @ 830CF9C - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Elliot3:: @ 830CFB4 - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Elliot4:: @ 830CFD4 - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .2byte 31 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Elliot5:: @ 830CFF4 - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ronald:: @ 830D014 - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jacob:: @ 830D044 - .2byte 20 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_VOLTORB - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_VOLTORB - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Anthony:: @ 830D05C - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Benjamin1:: @ 830D06C - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Benjamin2:: @ 830D074 - .2byte 10 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Benjamin3:: @ 830D07C - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Benjamin4:: @ 830D084 - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Benjamin5:: @ 830D08C - .2byte 40 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Abigail1:: @ 830D094 - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jasmine:: @ 830D09C - .2byte 80 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .2byte 80 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_VOLTORB - .2byte 0 @ padding - - .align 2 -gTrainerParty_Abigail2:: @ 830D0B4 - .2byte 10 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Abigail3:: @ 830D0BC - .2byte 20 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Abigail4:: @ 830D0C4 - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Abigail5:: @ 830D0CC - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_MAGNETON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dylan1:: @ 830D0D4 - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dylan2:: @ 830D0DC - .2byte 10 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dylan3:: @ 830D0E4 - .2byte 20 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dylan4:: @ 830D0EC - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_DODRIO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dylan5:: @ 830D0F4 - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_DODRIO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maria1:: @ 830D0FC - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maria2:: @ 830D104 - .2byte 10 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maria3:: @ 830D10C - .2byte 20 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maria4:: @ 830D114 - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_DODRIO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maria5:: @ 830D11C - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_DODRIO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Camden:: @ 830D124 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Demetrius:: @ 830D134 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaiah1:: @ 830D144 - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Pablo1:: @ 830D14C - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Chase:: @ 830D15C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 80 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaiah2:: @ 830D16C - .2byte 10 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaiah3:: @ 830D174 - .2byte 20 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaiah4:: @ 830D17C - .2byte 30 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaiah5:: @ 830D184 - .2byte 40 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isobel:: @ 830D18C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Donny:: @ 830D194 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 160 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Talia:: @ 830D1A4 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Katelyn1:: @ 830D1AC - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Allison:: @ 830D1B4 - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 240 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Katelyn2:: @ 830D1C4 - .2byte 10 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Katelyn3:: @ 830D1CC - .2byte 20 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Katelyn4:: @ 830D1D4 - .2byte 30 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Katelyn5:: @ 830D1DC - .2byte 40 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nicolas1:: @ 830D1E4 - .2byte 100 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nicolas2:: @ 830D1F4 - .2byte 110 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .2byte 110 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nicolas3:: @ 830D204 - .2byte 120 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nicolas4:: @ 830D214 - .2byte 130 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_BAGON - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nicolas5:: @ 830D22C - .2byte 140 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_ALTARIA - .2byte ITEM_NONE - - .2byte 140 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_ALTARIA - .2byte ITEM_NONE - - .2byte 140 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_SHELGON - .2byte ITEM_DRAGON_FANG - - .align 2 -gTrainerParty_Aaron:: @ 830D244 - .2byte 255 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_BAGON - .2byte MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Perry:: @ 830D254 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hugh:: @ 830D25C - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Phil:: @ 830D26C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jared:: @ 830D274 - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SKARMORY - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Humberto:: @ 830D28C - .2byte 250 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_SKARMORY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Presley:: @ 830D294 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_XATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Edwardo:: @ 830D2A4 - .2byte 150 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Colin:: @ 830D2B4 - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Robert1:: @ 830D2C4 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Benny:: @ 830D2CC - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_XATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Chester:: @ 830D2E4 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Robert2:: @ 830D2F4 - .2byte 10 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_NATU - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Robert3:: @ 830D304 - .2byte 20 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_NATU - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Robert4:: @ 830D314 - .2byte 30 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_NATU - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Robert5:: @ 830D324 - .2byte 40 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_XATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alex:: @ 830D334 - .2byte 150 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_NATU - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Beck:: @ 830D344 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Yasu:: @ 830D34C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Takashi:: @ 830D354 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_KOFFING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dianne:: @ 830D364 - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_CLAYDOL - .2byte ITEM_NONE - .2byte MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE - - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_LANTURN - .2byte ITEM_NONE - .2byte MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE - - .align 2 -gTrainerParty_Jani:: @ 830D384 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lao1:: @ 830D38C - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lung:: @ 830D3BC - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_KOFFING - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lao2:: @ 830D3CC - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lao3:: @ 830D40C - .2byte 20 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lao4:: @ 830D44C - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lao5:: @ 830D48C - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_KOFFING - .2byte ITEM_NONE - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_KOFFING - .2byte ITEM_NONE - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_KOFFING - .2byte ITEM_NONE - .2byte MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT - - .2byte 40 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_WEEZING - .2byte ITEM_SMOKE_BALL - .2byte MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE - - .align 2 -gTrainerParty_Jocelyn:: @ 830D4CC - .2byte 127 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Laura:: @ 830D4D4 - .2byte 150 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cyndy1:: @ 830D4DC - .2byte 100 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cora:: @ 830D4EC - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Paula:: @ 830D4F4 - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cyndy2:: @ 830D4FC - .2byte 110 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 110 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cyndy3:: @ 830D50C - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cyndy4:: @ 830D51C - .2byte 130 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cyndy5:: @ 830D52C - .2byte 140 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .2byte 140 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Madeline1:: @ 830D53C - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_NUMEL - .2byte MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Clarissa:: @ 830D54C - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Angelica:: @ 830D55C - .2byte 50 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_CASTFORM - .2byte MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Madeline2:: @ 830D56C - .2byte 10 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_NUMEL - .2byte MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Madeline3:: @ 830D57C - .2byte 20 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_NUMEL - .2byte MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Madeline4:: @ 830D58C - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_NUMEL - .2byte MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Madeline5:: @ 830D5AC - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_CAMERUPT - .2byte MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Beverly:: @ 830D5CC - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Imani:: @ 830D5DC - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kyla:: @ 830D5E4 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Denise:: @ 830D5EC - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Beth:: @ 830D5FC - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tara:: @ 830D604 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_HORSEA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Missy:: @ 830D614 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alice:: @ 830D61C - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jenny1:: @ 830D634 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grace:: @ 830D63C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tanya:: @ 830D644 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sharon:: @ 830D64C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SEAKING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nikki:: @ 830D654 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SPHEAL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brenda:: @ 830D664 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Katie:: @ 830D66C - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SPHEAL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Susie:: @ 830D67C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kara:: @ 830D684 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SEAKING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dana:: @ 830D68C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_AZUMARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sienna:: @ 830D694 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Debra:: @ 830D6A4 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SEAKING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Linda:: @ 830D6AC - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_HORSEA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SEADRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kaylee:: @ 830D6BC - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_LANTURN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Laurel:: @ 830D6CC - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Carlee:: @ 830D6DC - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_SEAKING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jenny2:: @ 830D6E4 - .2byte 0 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jenny3:: @ 830D6EC - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jenny4:: @ 830D6F4 - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jenny5:: @ 830D704 - .2byte 0 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Heidi:: @ 830D71C - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SANDSHREW - .2byte MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_BALTOY - .2byte MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB - .2byte 0 @ padding - - .align 2 -gTrainerParty_Becky:: @ 830D73C - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SANDSHREW - .2byte MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_MARILL - .2byte MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Carol:: @ 830D75C - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nancy:: @ 830D76C - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Martha:: @ 830D77C - .2byte 0 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_SKITTY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Diana1:: @ 830D78C - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_ODDISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cedric:: @ 830D7A4 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_WOBBUFFET - .2byte MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Irene:: @ 830D7B4 - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Diana2:: @ 830D7C4 - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Diana3:: @ 830D7DC - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Diana4:: @ 830D7F4 - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Diana5:: @ 830D80C - .2byte 40 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_VILEPLUME - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_ALTARIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_AmyAndLiv1:: @ 830D824 - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_PLUSLE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MINUN - .2byte 0 @ padding - - .align 2 -gTrainerParty_AmyAndLiv2:: @ 830D834 - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_PLUSLE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_MINUN - .2byte 0 @ padding - - .align 2 -gTrainerParty_GinaAndMia1:: @ 830D844 - .2byte 0 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_SEEDOT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_LOTAD - .2byte 0 @ padding - - .align 2 -gTrainerParty_MiuAndYuki:: @ 830D854 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_BEAUTIFLY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_DUSTOX - .2byte 0 @ padding - - .align 2 -gTrainerParty_AmyAndLiv3:: @ 830D864 - .2byte 0 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_PLUSLE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_MINUN - .2byte 0 @ padding - - .align 2 -gTrainerParty_GinaAndMia2:: @ 830D874 - .2byte 0 @ IV (0-255) - .2byte 10 @ level - .2byte SPECIES_DUSKULL - .2byte MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 10 @ level - .2byte SPECIES_SHROOMISH - .2byte MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_AmyAndLiv4:: @ 830D894 - .2byte 20 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_PLUSLE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MINUN - .2byte 0 @ padding - - .align 2 -gTrainerParty_AmyAndLiv5:: @ 830D8A4 - .2byte 30 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_PLUSLE - .2byte MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MINUN - .2byte MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND - .2byte 0 @ padding - - .align 2 -gTrainerParty_AmyAndLiv6:: @ 830D8C4 - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_PLUSLE - .2byte MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MINUN - .2byte MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND - .2byte 0 @ padding - - .align 2 -gTrainerParty_Huey:: @ 830D8E4 - .2byte 10 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Edmond:: @ 830D8F4 - .2byte 0 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ernest1:: @ 830D8FC - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dwayne:: @ 830D90C - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Phillip:: @ 830D924 - .2byte 0 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Leonard:: @ 830D934 - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Duncan:: @ 830D94C - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SPHEAL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ernest2:: @ 830D95C - .2byte 10 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ernest3:: @ 830D974 - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ernest4:: @ 830D98C - .2byte 30 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ernest5:: @ 830D9A4 - .2byte 40 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Eli:: @ 830D9BC - .2byte 100 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Annika:: @ 830D9C4 - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_FEEBAS - .2byte ITEM_ORAN_BERRY - .2byte MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT - - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_FEEBAS - .2byte ITEM_ORAN_BERRY - .2byte MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT - - .align 2 -gTrainerParty_Jazmyn:: @ 830D9E4 - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_ABSOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jonas:: @ 830D9EC - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kayley:: @ 830D9FC - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_CASTFORM - .2byte MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Auron:: @ 830DA0C - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHAMP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kelvin:: @ 830DA1C - .2byte 150 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SPHEAL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Marley:: @ 830DA2C - .2byte 255 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MANECTRIC - .2byte ITEM_NONE - .2byte MOVE_BITE, MOVE_ROAR, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT - - .align 2 -gTrainerParty_Reyna:: @ 830DA3C - .2byte 50 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hudson:: @ 830DA4C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Conor:: @ 830DA54 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_CHINCHOU - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Edwin1:: @ 830DA64 - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hector:: @ 830DA74 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_ZANGOOSE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SEVIPER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tabitha1:: @ 830DA84 - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_CAMERUPT - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_GOLBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Edwin2:: @ 830DA9C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Edwin3:: @ 830DAAC - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Edwin4:: @ 830DABC - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Edwin5:: @ 830DACC - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_LUDICOLO - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_SHIFTRY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wally1:: @ 830DADC - .2byte 150 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_ALTARIA - .2byte MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_DELCATTY - .2byte MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_MAGNETON - .2byte MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH - .2byte 0 @ padding - - .2byte 250 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_GARDEVOIR - .2byte MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan1:: @ 830DB2C - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_TREECKO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan2:: @ 830DB34 - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_GROVYLE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan3:: @ 830DB4C - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_GROVYLE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan4:: @ 830DB64 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_TORCHIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan5:: @ 830DB6C - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_COMBUSKEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan6:: @ 830DB84 - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_COMBUSKEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan7:: @ 830DB9C - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_MUDKIP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan8:: @ 830DBA4 - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_MARSHTOMP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan9:: @ 830DBBC - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MARSHTOMP - .2byte 0 @ padding - - .align 2 -gTrainerParty_May1:: @ 830DBD4 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_TREECKO - .2byte 0 @ padding - - .align 2 -gTrainerParty_May2:: @ 830DBDC - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_GROVYLE - .2byte 0 @ padding - - .align 2 -gTrainerParty_May3:: @ 830DBF4 - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_GROVYLE - .2byte 0 @ padding - - .align 2 -gTrainerParty_May4:: @ 830DC0C - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_TORCHIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_May5:: @ 830DC14 - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_COMBUSKEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_May6:: @ 830DC2C - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_COMBUSKEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_May7:: @ 830DC44 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_MUDKIP - .2byte 0 @ padding - - .align 2 -gTrainerParty_May8:: @ 830DC4C - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_MARSHTOMP - .2byte 0 @ padding - - .align 2 -gTrainerParty_May9:: @ 830DC64 - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MARSHTOMP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaac1:: @ 830DC7C - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_WHISMUR - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Davis:: @ 830DCAC - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_PINSIR - .2byte 0 @ padding - - .align 2 -gTrainerParty_Mitchell:: @ 830DCB4 - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_LUNATONE - .2byte MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SOLROCK - .2byte MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaac2:: @ 830DCD4 - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaac3:: @ 830DD04 - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaac4:: @ 830DD34 - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isaac5:: @ 830DD64 - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_LAIRON - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lydia1:: @ 830DD94 - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_SKITTY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 11 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Halle:: @ 830DDC4 - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SABLEYE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_ABSOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Garrison:: @ 830DDD4 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SANDSLASH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lydia2:: @ 830DDDC - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SKITTY - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lydia3:: @ 830DE0C - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_DELCATTY - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lydia4:: @ 830DE3C - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_DELCATTY - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lydia5:: @ 830DE6C - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_AZUMARILL - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_DELCATTY - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SEAKING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jackson1:: @ 830DE9C - .2byte 50 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lorenzo:: @ 830DEA4 - .2byte 50 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_SEEDOT - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sebastian:: @ 830DEBC - .2byte 50 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_CACTURNE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jackson2:: @ 830DEC4 - .2byte 60 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jackson3:: @ 830DECC - .2byte 70 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jackson4:: @ 830DED4 - .2byte 80 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jackson5:: @ 830DEDC - .2byte 90 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_KECLEON - .2byte 0 @ padding - - .2byte 90 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Catherine1:: @ 830DEEC - .2byte 50 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jenna:: @ 830DEFC - .2byte 50 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_LOTAD - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sophia:: @ 830DF14 - .2byte 50 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Catherine2:: @ 830DF24 - .2byte 60 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 60 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Catherine3:: @ 830DF34 - .2byte 70 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 70 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Catherine4:: @ 830DF44 - .2byte 80 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 80 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Catherine5:: @ 830DF54 - .2byte 90 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_BELLOSSOM - .2byte 0 @ padding - - .2byte 90 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Julio:: @ 830DF64 - .2byte 0 @ IV (0-255) - .2byte 21 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt27:: @ 830DF6C - .2byte 50 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_GOLBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt28:: @ 830DF7C - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt29:: @ 830DF8C - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt30:: @ 830DF9C - .2byte 50 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Marc:: @ 830DFAC - .2byte 120 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brenden:: @ 830DFBC - .2byte 100 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lilith:: @ 830DFC4 - .2byte 150 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cristian:: @ 830DFCC - .2byte 200 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sylvia:: @ 830DFD4 - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Leonardo:: @ 830DFDC - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Athena:: @ 830DFE4 - .2byte 100 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MANECTRIC - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE - - .2byte 100 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LINOONE - .2byte ITEM_NONE - .2byte MOVE_SURF, MOVE_THIEF, MOVE_NONE, MOVE_NONE - - .align 2 -gTrainerParty_Harrison:: @ 830E004 - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt31:: @ 830E00C - .2byte 0 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Clarence:: @ 830E014 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Terry:: @ 830E01C - .2byte 0 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_GIRAFARIG - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nate:: @ 830E024 - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_SPOINK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kathleen:: @ 830E02C - .2byte 100 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Clifford:: @ 830E034 - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_GIRAFARIG - .2byte 0 @ padding - - .align 2 -gTrainerParty_Nicholas:: @ 830E03C - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_WOBBUFFET - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt32:: @ 830E044 - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt33:: @ 830E054 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_BALTOY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt34:: @ 830E05C - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt35:: @ 830E064 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt36:: @ 830E06C - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_BALTOY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Macey:: @ 830E074 - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_NATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan10:: @ 830E07C - .2byte 25 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_LOTAD - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_TORCHIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan11:: @ 830E08C - .2byte 25 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_TREECKO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Paxton:: @ 830E09C - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isabella:: @ 830E0AC - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt37:: @ 830E0B4 - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tabitha2:: @ 830E0C4 - .2byte 50 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jonathan:: @ 830E0E4 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_KECLEON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan12:: @ 830E0F4 - .2byte 25 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MUDKIP - .2byte 0 @ padding - - .align 2 -gTrainerParty_May10:: @ 830E104 - .2byte 25 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_TREECKO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maxie1:: @ 830E114 - .2byte 150 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_CROBAT - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_CAMERUPT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maxie2:: @ 830E12C - .2byte 150 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_CAMERUPT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tiana:: @ 830E144 - .2byte 0 @ IV (0-255) - .2byte 4 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 4 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Haley1:: @ 830E154 - .2byte 0 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_LOTAD - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Janice:: @ 830E164 - .2byte 0 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Vivi:: @ 830E16C - .2byte 100 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Haley2:: @ 830E184 - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Haley3:: @ 830E194 - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Haley4:: @ 830E1A4 - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Haley5:: @ 830E1B4 - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_BRELOOM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sally:: @ 830E1CC - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_ODDISH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Robin:: @ 830E1D4 - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_SKITTY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Andrea:: @ 830E1EC - .2byte 100 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Crissy:: @ 830E1F4 - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rick:: @ 830E204 - .2byte 0 @ IV (0-255) - .2byte 4 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 4 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lyle:: @ 830E214 - .2byte 0 @ IV (0-255) - .2byte 3 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 3 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 3 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 3 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jose:: @ 830E234 - .2byte 50 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_WURMPLE - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_NINCADA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Doug:: @ 830E244 - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NINCADA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Greg:: @ 830E254 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_VOLBEAT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ILLUMISE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kent:: @ 830E264 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .align 2 -gTrainerParty_James1:: @ 830E26C - .2byte 0 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_NINCADA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 6 @ level - .2byte SPECIES_NINCADA - .2byte 0 @ padding - - .align 2 -gTrainerParty_James2:: @ 830E27C - .2byte 10 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .align 2 -gTrainerParty_James3:: @ 830E284 - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_DUSTOX - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .align 2 -gTrainerParty_James4:: @ 830E294 - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_DUSTOX - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .align 2 -gTrainerParty_James5:: @ 830E2AC - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SURSKIT - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_DUSTOX - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brice:: @ 830E2CC - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Trent1:: @ 830E2DC - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lenny:: @ 830E2F4 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lucas1:: @ 830E304 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alan:: @ 830E314 - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_NOSEPASS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Clark:: @ 830E32C - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Eric:: @ 830E334 - .2byte 0 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_BALTOY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lucas2:: @ 830E344 - .2byte 0 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_WAILMER - .2byte MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Mike1:: @ 830E354 - .2byte 0 @ IV (0-255) - .2byte 10 @ level - .2byte SPECIES_PELIPPER - .2byte MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 10 @ level - .2byte SPECIES_POOCHYENA - .2byte MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Mike2:: @ 830E374 - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Trent2:: @ 830E38C - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Trent3:: @ 830E3AC - .2byte 20 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Trent4:: @ 830E3CC - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Trent5:: @ 830E3EC - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GOLEM - .2byte 0 @ padding - - .align 2 -gTrainerParty_DezAndLuke:: @ 830E40C - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_DELCATTY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_LeaAndJed:: @ 830E41C - .2byte 0 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .align 2 -gTrainerParty_KiraAndDan1:: @ 830E42C - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_VOLBEAT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ILLUMISE - .2byte 0 @ padding - - .align 2 -gTrainerParty_KiraAndDan2:: @ 830E43C - .2byte 10 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_VOLBEAT - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_ILLUMISE - .2byte 0 @ padding - - .align 2 -gTrainerParty_KiraAndDan3:: @ 830E44C - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_VOLBEAT - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_ILLUMISE - .2byte 0 @ padding - - .align 2 -gTrainerParty_KiraAndDan4:: @ 830E45C - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_VOLBEAT - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_ILLUMISE - .2byte 0 @ padding - - .align 2 -gTrainerParty_KiraAndDan5:: @ 830E46C - .2byte 40 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_VOLBEAT - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_ILLUMISE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Johanna:: @ 830E47C - .2byte 0 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Gerald:: @ 830E484 - .2byte 100 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_KECLEON - .2byte MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND - .2byte 0 @ padding - - .align 2 -gTrainerParty_Vivian:: @ 830E494 - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MEDITITE - .2byte MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MEDITITE - .2byte MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Danielle:: @ 830E4B4 - .2byte 100 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_MEDITITE - .2byte MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hideo:: @ 830E4C4 - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Keigo:: @ 830E4E4 - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NINJASK - .2byte MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Riley:: @ 830E504 - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NINCADA - .2byte MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_KOFFING - .2byte MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Flint:: @ 830E524 - .2byte 150 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_XATU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ashley:: @ 830E534 - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_SWABLU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wally2:: @ 830E54C - .2byte 30 @ IV (0-255) - .2byte 16 @ level - .2byte SPECIES_RALTS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wally3:: @ 830E554 - .2byte 150 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_ALTARIA - .2byte MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_DELCATTY - .2byte MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_MAGNETON - .2byte MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH - .2byte 0 @ padding - - .2byte 250 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_GARDEVOIR - .2byte MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wally4:: @ 830E5A4 - .2byte 150 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_ALTARIA - .2byte MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_DELCATTY - .2byte MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_MAGNETON - .2byte MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH - .2byte 0 @ padding - - .2byte 250 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_GARDEVOIR - .2byte MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wally5:: @ 830E5F4 - .2byte 150 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_ALTARIA - .2byte MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_DELCATTY - .2byte MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_MAGNETON - .2byte MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH - .2byte 0 @ padding - - .2byte 250 @ IV (0-255) - .2byte 54 @ level - .2byte SPECIES_GARDEVOIR - .2byte MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wally6:: @ 830E644 - .2byte 150 @ IV (0-255) - .2byte 56 @ level - .2byte SPECIES_ALTARIA - .2byte MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_DELCATTY - .2byte MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 56 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_MAGNETON - .2byte MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH - .2byte 0 @ padding - - .2byte 250 @ IV (0-255) - .2byte 57 @ level - .2byte SPECIES_GARDEVOIR - .2byte MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan13:: @ 830E694 - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GROVYLE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan14:: @ 830E6B4 - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LUDICOLO - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_COMBUSKEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan15:: @ 830E6D4 - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LUDICOLO - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MARSHTOMP - .2byte 0 @ padding - - .align 2 -gTrainerParty_May11:: @ 830E6F4 - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GROVYLE - .2byte 0 @ padding - - .align 2 -gTrainerParty_May12:: @ 830E714 - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LUDICOLO - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_COMBUSKEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_May13:: @ 830E734 - .2byte 150 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_LUDICOLO - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MARSHTOMP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jonah:: @ 830E754 - .2byte 0 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Henry:: @ 830E76C - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Roger:: @ 830E77C - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_GYARADOS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alexa:: @ 830E794 - .2byte 100 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_GLOOM - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_AZUMARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Ruben:: @ 830E7A4 - .2byte 100 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_SHIFTRY - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_NOSEPASS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Koji1:: @ 830E7B4 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wayne:: @ 830E7BC - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Aidan:: @ 830E7D4 - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SKARMORY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Reed:: @ 830E7E4 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SPHEAL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tisha:: @ 830E7F4 - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_CHINCHOU - .2byte 0 @ padding - - .align 2 -gTrainerParty_ToriAndTia:: @ 830E7FC - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_SPINDA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_SPINDA - .2byte 0 @ padding - - .align 2 -gTrainerParty_KimAndIris:: @ 830E80C - .2byte 0 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_SWABLU - .2byte MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_NUMEL - .2byte MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_TyraAndIvy:: @ 830E82C - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_ROSELIA - .2byte MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_GRAVELER - .2byte MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW - .2byte 0 @ padding - - .align 2 -gTrainerParty_MelAndPaul:: @ 830E84C - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_DUSTOX - .2byte MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_BEAUTIFLY - .2byte MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE - .2byte 0 @ padding - - .align 2 -gTrainerParty_JohnAndJay1:: @ 830E86C - .2byte 200 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MEDICHAM - .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT - .2byte 0 @ padding - - .2byte 200 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_JohnAndJay2:: @ 830E88C - .2byte 210 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MEDICHAM - .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT - .2byte 0 @ padding - - .2byte 210 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_JohnAndJay3:: @ 830E8AC - .2byte 220 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_MEDICHAM - .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT - .2byte 0 @ padding - - .2byte 220 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_JohnAndJay4:: @ 830E8CC - .2byte 230 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_MEDICHAM - .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT - .2byte 0 @ padding - - .2byte 230 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_JohnAndJay5:: @ 830E8EC - .2byte 240 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_MEDICHAM - .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT - .2byte 0 @ padding - - .2byte 240 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_HARIYAMA - .2byte MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_ReliAndIan:: @ 830E90C - .2byte 0 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_AZUMARILL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .align 2 -gTrainerParty_LilaAndRoy1:: @ 830E91C - .2byte 0 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_CHINCHOU - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_LilaAndRoy2:: @ 830E92C - .2byte 0 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_CHINCHOU - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_LilaAndRoy3:: @ 830E93C - .2byte 0 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_LANTURN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_LilaAndRoy4:: @ 830E94C - .2byte 0 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_LANTURN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_LilaAndRoy5:: @ 830E95C - .2byte 0 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_LANTURN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_SHARPEDO - .2byte 0 @ padding - - .align 2 -gTrainerParty_LisaAndRay:: @ 830E96C - .2byte 0 @ IV (0-255) - .2byte 27 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Chris:: @ 830E97C - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 20 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_FEEBAS - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 23 @ level - .2byte SPECIES_CARVANHA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dawson:: @ 830E99C - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_ZIGZAGOON - .2byte ITEM_NUGGET - - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_POOCHYENA - .2byte ITEM_NONE - - .align 2 -gTrainerParty_Sarah:: @ 830E9AC - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_LOTAD - .2byte ITEM_NONE - - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_ZIGZAGOON - .2byte ITEM_NUGGET - - .align 2 -gTrainerParty_Darian:: @ 830E9BC - .2byte 0 @ IV (0-255) - .2byte 9 @ level - .2byte SPECIES_MAGIKARP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hailey:: @ 830E9C4 - .2byte 0 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Chandler:: @ 830E9CC - .2byte 0 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 12 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kaleb:: @ 830E9DC - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_MINUN - .2byte ITEM_ORAN_BERRY - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_PLUSLE - .2byte ITEM_ORAN_BERRY - - .align 2 -gTrainerParty_Joseph:: @ 830E9EC - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_VOLTORB - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alyssa:: @ 830E9FC - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MAGNEMITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Marcos:: @ 830EA04 - .2byte 100 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_VOLTORB - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rhett:: @ 830EA0C - .2byte 100 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tyron:: @ 830EA14 - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Celina:: @ 830EA1C - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bianca:: @ 830EA24 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Hayden:: @ 830EA2C - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sophie:: @ 830EA34 - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Coby:: @ 830EA44 - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_SKARMORY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lawrence:: @ 830EA54 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_BALTOY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Wyatt:: @ 830EA64 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .align 2 -gTrainerParty_Angelina:: @ 830EA74 - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kai:: @ 830EA84 - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_BARBOACH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Charlotte:: @ 830EA8C - .2byte 0 @ IV (0-255) - .2byte 19 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Deandre:: @ 830EA94 - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ARON - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 14 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt38:: @ 830EAAC - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt39:: @ 830EAB4 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt40:: @ 830EABC - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt41:: @ 830EAC4 - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_BALTOY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt42:: @ 830EAD4 - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_BALTOY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt43:: @ 830EAE4 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt44:: @ 830EAEC - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt45:: @ 830EAF4 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt46:: @ 830EAFC - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt47:: @ 830EB04 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt48:: @ 830EB0C - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_BALTOY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt49:: @ 830EB14 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt50:: @ 830EB1C - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt51:: @ 830EB24 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt52:: @ 830EB2C - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Grunt53:: @ 830EB34 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_BALTOY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tabitha3:: @ 830EB3C - .2byte 75 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 75 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 75 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_ZUBAT - .2byte 0 @ padding - - .2byte 75 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_CAMERUPT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Darcy:: @ 830EB5C - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_CAMERUPT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Maxie3:: @ 830EB6C - .2byte 150 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_CROBAT - .2byte 0 @ padding - - .2byte 150 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_CAMERUPT - .2byte 0 @ padding - - .align 2 -gTrainerParty_Pete:: @ 830EB84 - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Isabelle:: @ 830EB8C - .2byte 0 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Andres1:: @ 830EB94 - .2byte 50 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Josue:: @ 830EBA4 - .2byte 50 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Camron:: @ 830EBB4 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cory1:: @ 830EBBC - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Carolina:: @ 830EBD4 - .2byte 50 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 24 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Elijah:: @ 830EBEC - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SKARMORY - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SKARMORY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Celia:: @ 830EBFC - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bryan:: @ 830EC0C - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_SANDSLASH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Branden:: @ 830EC1C - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 22 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .align 2 -gTrainerParty_Bryant:: @ 830EC2C - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Shayla:: @ 830EC3C - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Kyra:: @ 830EC4C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_DODRIO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Jaiden:: @ 830EC5C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_NINJASK - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_GULPIN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alix:: @ 830EC6C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_KIRLIA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Helene:: @ 830EC7C - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Marlene:: @ 830EC8C - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 18 @ level - .2byte SPECIES_SPOINK - .2byte 0 @ padding - - .align 2 -gTrainerParty_Devan:: @ 830EC9C - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Johnson:: @ 830ECAC - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 8 @ level - .2byte SPECIES_LOTAD - .2byte 0 @ padding - - .align 2 -gTrainerParty_Melina:: @ 830ECBC - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_DODUO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brandi:: @ 830ECC4 - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_RALTS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Aisha:: @ 830ECCC - .2byte 0 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Makayla:: @ 830ECD4 - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_ROSELIA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MEDICHAM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Fabian:: @ 830ECE4 - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_Dayton:: @ 830ECEC - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SLUGMA - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Rachel:: @ 830ECFC - .2byte 0 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_GOLDEEN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Leonel:: @ 830ED04 - .2byte 100 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MANECTRIC - .2byte MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Callie:: @ 830ED14 - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MEDITITE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cale:: @ 830ED24 - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_DUSTOX - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_BEAUTIFLY - .2byte 0 @ padding - - .align 2 -gTrainerParty_Myles:: @ 830ED34 - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Pat:: @ 830ED64 - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_POOCHYENA - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SHROOMISH - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_MARILL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 25 @ level - .2byte SPECIES_GULPIN - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cristin1:: @ 830ED94 - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 29 @ level - .2byte SPECIES_VIGOROTH - .2byte 0 @ padding - - .align 2 -gTrainerParty_May14:: @ 830EDA4 - .2byte 25 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_LOTAD - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_TORCHIC - .2byte 0 @ padding - - .align 2 -gTrainerParty_May15:: @ 830EDB4 - .2byte 25 @ IV (0-255) - .2byte 13 @ level - .2byte SPECIES_TORKOAL - .2byte 0 @ padding - - .2byte 50 @ IV (0-255) - .2byte 15 @ level - .2byte SPECIES_MUDKIP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Roxanne2:: @ 830EDC4 - .2byte 255 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_GOLEM - .2byte ITEM_NONE - .2byte MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION - - .2byte 255 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_KABUTO - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_ONIX - .2byte ITEM_NONE - .2byte MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_NOSEPASS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE - - .align 2 -gTrainerParty_Roxanne3:: @ 830EE04 - .2byte 255 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_OMANYTE - .2byte ITEM_NONE - .2byte MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF - - .2byte 255 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_GOLEM - .2byte ITEM_NONE - .2byte MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION - - .2byte 255 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_KABUTOPS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_ONIX - .2byte ITEM_NONE - .2byte MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_NOSEPASS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE - - .align 2 -gTrainerParty_Roxanne4:: @ 830EE54 - .2byte 255 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_OMASTAR - .2byte ITEM_NONE - .2byte MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF - - .2byte 255 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_GOLEM - .2byte ITEM_NONE - .2byte MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_KABUTOPS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_ONIX - .2byte ITEM_NONE - .2byte MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_NOSEPASS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE - - .align 2 -gTrainerParty_Roxanne5:: @ 830EEA4 - .2byte 255 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_AERODACTYL - .2byte ITEM_NONE - .2byte MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_GOLEM - .2byte ITEM_NONE - .2byte MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION - - .2byte 255 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_OMASTAR - .2byte ITEM_NONE - .2byte MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_KABUTOPS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_STEELIX - .2byte ITEM_NONE - .2byte MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_NOSEPASS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE - - .align 2 -gTrainerParty_Brawly2:: @ 830EF04 - .2byte 255 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHAMP - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP - - .2byte 255 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MEDITITE - .2byte ITEM_NONE - .2byte MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH - - .2byte 255 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_HITMONTOP - .2byte ITEM_NONE - .2byte MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK - - .2byte 255 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_HARIYAMA - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_Brawly3:: @ 830EF44 - .2byte 255 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_MACHAMP - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP - - .2byte 255 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_MEDICHAM - .2byte ITEM_NONE - .2byte MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH - - .2byte 255 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_HITMONTOP - .2byte ITEM_NONE - .2byte MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK - - .2byte 255 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_HARIYAMA - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_Brawly4:: @ 830EF84 - .2byte 255 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_HITMONCHAN - .2byte ITEM_NONE - .2byte MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH - - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MACHAMP - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP - - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MEDICHAM - .2byte ITEM_NONE - .2byte MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_HITMONTOP - .2byte ITEM_NONE - .2byte MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK - - .2byte 255 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_HARIYAMA - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_Brawly5:: @ 830EFD4 - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_HITMONLEE - .2byte ITEM_NONE - .2byte MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP - - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_HITMONCHAN - .2byte ITEM_NONE - .2byte MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_MACHAMP - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_MEDICHAM - .2byte ITEM_NONE - .2byte MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_HITMONTOP - .2byte ITEM_NONE - .2byte MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK - - .2byte 255 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_HARIYAMA - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_Wattson2:: @ 830F034 - .2byte 255 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MAREEP - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_ELECTRODE - .2byte ITEM_NONE - .2byte MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE - - .2byte 255 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_MAGNETON - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE - - .2byte 255 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_MANECTRIC - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT - - .align 2 -gTrainerParty_Wattson3:: @ 830F074 - .2byte 255 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_PIKACHU - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE - - .2byte 255 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_FLAAFFY - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_ELECTRODE - .2byte ITEM_NONE - .2byte MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE - - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MAGNETON - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_MANECTRIC - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT - - .align 2 -gTrainerParty_Wattson4:: @ 830F0C4 - .2byte 255 @ IV (0-255) - .2byte 44 @ level - .2byte SPECIES_RAICHU - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_AMPHAROS - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_ELECTRODE - .2byte ITEM_NONE - .2byte MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_MAGNETON - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_MANECTRIC - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT - - .align 2 -gTrainerParty_Wattson5:: @ 830F114 - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_ELECTABUZZ - .2byte ITEM_NONE - .2byte MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_RAICHU - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_AMPHAROS - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_ELECTRODE - .2byte ITEM_NONE - .2byte MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_MAGNETON - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_MANECTRIC - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT - - .align 2 -gTrainerParty_Flannery2:: @ 830F174 - .2byte 255 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_MAGCARGO - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_PONYTA - .2byte ITEM_NONE - .2byte MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE - - .2byte 255 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_CAMERUPT - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT - - .2byte 255 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_TORKOAL - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT - - .align 2 -gTrainerParty_Flannery3:: @ 830F1B4 - .2byte 255 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_GROWLITHE - .2byte ITEM_NONE - .2byte MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY - - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MAGCARGO - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_PONYTA - .2byte ITEM_NONE - .2byte MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE - - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_CAMERUPT - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_TORKOAL - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT - - .align 2 -gTrainerParty_Flannery4:: @ 830F204 - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_HOUNDOUR - .2byte ITEM_NONE - .2byte MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY - - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_GROWLITHE - .2byte ITEM_NONE - .2byte MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_MAGCARGO - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_RAPIDASH - .2byte ITEM_NONE - .2byte MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_CAMERUPT - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_TORKOAL - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT - - .align 2 -gTrainerParty_Flannery5:: @ 830F264 - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_ARCANINE - .2byte ITEM_NONE - .2byte MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_MAGCARGO - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE - - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_HOUNDOOM - .2byte ITEM_NONE - .2byte MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY - - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_RAPIDASH - .2byte ITEM_NONE - .2byte MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_CAMERUPT - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_TORKOAL - .2byte ITEM_WHITE_HERB - .2byte MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT - - .align 2 -gTrainerParty_Norman2:: @ 830F2C4 - .2byte 255 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_CHANSEY - .2byte ITEM_NONE - .2byte MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH - - .2byte 255 @ IV (0-255) - .2byte 42 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST - - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SPINDA - .2byte ITEM_NONE - .2byte MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL - - .align 2 -gTrainerParty_Norman3:: @ 830F304 - .2byte 255 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST - - .2byte 255 @ IV (0-255) - .2byte 47 @ level - .2byte SPECIES_CHANSEY - .2byte ITEM_NONE - .2byte MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_KANGASKHAN - .2byte ITEM_NONE - .2byte MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_SPINDA - .2byte ITEM_NONE - .2byte MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL - - .align 2 -gTrainerParty_Norman4:: @ 830F354 - .2byte 255 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST - - .2byte 255 @ IV (0-255) - .2byte 52 @ level - .2byte SPECIES_BLISSEY - .2byte ITEM_NONE - .2byte MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_KANGASKHAN - .2byte ITEM_NONE - .2byte MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_SPINDA - .2byte ITEM_NONE - .2byte MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL - - .align 2 -gTrainerParty_Norman5:: @ 830F3A4 - .2byte 255 @ IV (0-255) - .2byte 57 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST - - .2byte 255 @ IV (0-255) - .2byte 57 @ level - .2byte SPECIES_BLISSEY - .2byte ITEM_NONE - .2byte MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_KANGASKHAN - .2byte ITEM_NONE - .2byte MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL - - .2byte 255 @ IV (0-255) - .2byte 57 @ level - .2byte SPECIES_TAUROS - .2byte ITEM_NONE - .2byte MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE - - .2byte 255 @ IV (0-255) - .2byte 58 @ level - .2byte SPECIES_SPINDA - .2byte ITEM_NONE - .2byte MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS - - .2byte 255 @ IV (0-255) - .2byte 60 @ level - .2byte SPECIES_SLAKING - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL - - .align 2 -gTrainerParty_Winona2:: @ 830F404 - .2byte 255 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_DRATINI - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_TROPIUS - .2byte ITEM_NONE - .2byte MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE - - .2byte 255 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_PELIPPER - .2byte ITEM_NONE - .2byte MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_SKARMORY - .2byte ITEM_NONE - .2byte MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_ALTARIA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_Winona3:: @ 830F454 - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_HOOTHOOT - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER - - .2byte 255 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_TROPIUS - .2byte ITEM_NONE - .2byte MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE - - .2byte 255 @ IV (0-255) - .2byte 45 @ level - .2byte SPECIES_DRAGONAIR - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_PELIPPER - .2byte ITEM_NONE - .2byte MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_SKARMORY - .2byte ITEM_NONE - .2byte MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_ALTARIA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_Winona4:: @ 830F4B4 - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_NOCTOWL - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER - - .2byte 255 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_TROPIUS - .2byte ITEM_NONE - .2byte MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_DRAGONAIR - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_PELIPPER - .2byte ITEM_NONE - .2byte MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_SKARMORY - .2byte ITEM_NONE - .2byte MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_ALTARIA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_Winona5:: @ 830F514 - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_NOCTOWL - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER - - .2byte 255 @ IV (0-255) - .2byte 54 @ level - .2byte SPECIES_TROPIUS - .2byte ITEM_NONE - .2byte MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_PELIPPER - .2byte ITEM_NONE - .2byte MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_DRAGONITE - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 58 @ level - .2byte SPECIES_SKARMORY - .2byte ITEM_NONE - .2byte MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE - - .2byte 255 @ IV (0-255) - .2byte 60 @ level - .2byte SPECIES_ALTARIA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_SKY_ATTACK, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE - - .align 2 -gTrainerParty_TateAndLiza2:: @ 830F574 - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_SLOWPOKE - .2byte ITEM_NONE - .2byte MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_CLAYDOL - .2byte ITEM_NONE - .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 49 @ level - .2byte SPECIES_XATU - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_LUNATONE - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND - - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_SOLROCK - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER - - .align 2 -gTrainerParty_TateAndLiza3:: @ 830F5C4 - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_DROWZEE - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_SLOWPOKE - .2byte ITEM_NONE - .2byte MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 54 @ level - .2byte SPECIES_CLAYDOL - .2byte ITEM_NONE - .2byte MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 54 @ level - .2byte SPECIES_XATU - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_LUNATONE - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND - - .2byte 255 @ IV (0-255) - .2byte 55 @ level - .2byte SPECIES_SOLROCK - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER - - .align 2 -gTrainerParty_TateAndLiza4:: @ 830F624 - .2byte 255 @ IV (0-255) - .2byte 58 @ level - .2byte SPECIES_HYPNO - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 59 @ level - .2byte SPECIES_CLAYDOL - .2byte ITEM_NONE - .2byte MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 58 @ level - .2byte SPECIES_SLOWPOKE - .2byte ITEM_NONE - .2byte MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 59 @ level - .2byte SPECIES_XATU - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND - - .2byte 255 @ IV (0-255) - .2byte 60 @ level - .2byte SPECIES_LUNATONE - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND - - .2byte 255 @ IV (0-255) - .2byte 60 @ level - .2byte SPECIES_SOLROCK - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER - - .align 2 -gTrainerParty_TateAndLiza5:: @ 830F684 - .2byte 255 @ IV (0-255) - .2byte 63 @ level - .2byte SPECIES_HYPNO - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 64 @ level - .2byte SPECIES_CLAYDOL - .2byte ITEM_NONE - .2byte MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN - - .2byte 255 @ IV (0-255) - .2byte 63 @ level - .2byte SPECIES_SLOWKING - .2byte ITEM_NONE - .2byte MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT - - .2byte 255 @ IV (0-255) - .2byte 64 @ level - .2byte SPECIES_XATU - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND - - .2byte 255 @ IV (0-255) - .2byte 65 @ level - .2byte SPECIES_LUNATONE - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND - - .2byte 255 @ IV (0-255) - .2byte 65 @ level - .2byte SPECIES_SOLROCK - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER - - .align 2 -gTrainerParty_Juan2:: @ 830F6E4 - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_POLIWAG - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP - - .2byte 255 @ IV (0-255) - .2byte 46 @ level - .2byte SPECIES_WHISCASH - .2byte ITEM_NONE - .2byte MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_WALREIN - .2byte ITEM_NONE - .2byte MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 48 @ level - .2byte SPECIES_CRAWDAUNT - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM - - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_KINGDRA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST - - .align 2 -gTrainerParty_Juan3:: @ 830F734 - .2byte 255 @ IV (0-255) - .2byte 50 @ level - .2byte SPECIES_POLIWHIRL - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP - - .2byte 255 @ IV (0-255) - .2byte 51 @ level - .2byte SPECIES_WHISCASH - .2byte ITEM_NONE - .2byte MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_WALREIN - .2byte ITEM_NONE - .2byte MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 53 @ level - .2byte SPECIES_CRAWDAUNT - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM - - .2byte 255 @ IV (0-255) - .2byte 56 @ level - .2byte SPECIES_KINGDRA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST - - .align 2 -gTrainerParty_Juan4:: @ 830F784 - .2byte 255 @ IV (0-255) - .2byte 56 @ level - .2byte SPECIES_LAPRAS - .2byte ITEM_NONE - .2byte MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY - - .2byte 255 @ IV (0-255) - .2byte 58 @ level - .2byte SPECIES_WHISCASH - .2byte ITEM_NONE - .2byte MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE - - .2byte 255 @ IV (0-255) - .2byte 56 @ level - .2byte SPECIES_POLIWHIRL - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP - - .2byte 255 @ IV (0-255) - .2byte 58 @ level - .2byte SPECIES_WALREIN - .2byte ITEM_NONE - .2byte MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM - - .2byte 255 @ IV (0-255) - .2byte 58 @ level - .2byte SPECIES_CRAWDAUNT - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM - - .2byte 255 @ IV (0-255) - .2byte 61 @ level - .2byte SPECIES_KINGDRA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST - - .align 2 -gTrainerParty_Juan5:: @ 830F7E4 - .2byte 255 @ IV (0-255) - .2byte 61 @ level - .2byte SPECIES_LAPRAS - .2byte ITEM_NONE - .2byte MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY - - .2byte 255 @ IV (0-255) - .2byte 63 @ level - .2byte SPECIES_WHISCASH - .2byte ITEM_NONE - .2byte MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE - - .2byte 255 @ IV (0-255) - .2byte 61 @ level - .2byte SPECIES_POLITOED - .2byte ITEM_NONE - .2byte MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG - - .2byte 255 @ IV (0-255) - .2byte 63 @ level - .2byte SPECIES_WALREIN - .2byte ITEM_NONE - .2byte MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD - - .2byte 255 @ IV (0-255) - .2byte 63 @ level - .2byte SPECIES_CRAWDAUNT - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM - - .2byte 255 @ IV (0-255) - .2byte 66 @ level - .2byte SPECIES_KINGDRA - .2byte ITEM_CHESTO_BERRY - .2byte MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST - - .align 2 -gTrainerParty_Angelo:: @ 830F844 - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_ILLUMISE - .2byte ITEM_NONE - .2byte MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE - - .2byte 100 @ IV (0-255) - .2byte 17 @ level - .2byte SPECIES_VOLBEAT - .2byte ITEM_NONE - .2byte MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CONFUSE_RAY, MOVE_NONE - - .align 2 -gTrainerParty_Darius:: @ 830F864 - .2byte 200 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_TROPIUS - .2byte 0 @ padding - - .align 2 -gTrainerParty_Steven:: @ 830F86C - .2byte 255 @ IV (0-255) - .2byte 77 @ level - .2byte SPECIES_SKARMORY - .2byte ITEM_NONE - .2byte MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING - - .2byte 255 @ IV (0-255) - .2byte 75 @ level - .2byte SPECIES_CLAYDOL - .2byte ITEM_NONE - .2byte MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE - - .2byte 255 @ IV (0-255) - .2byte 76 @ level - .2byte SPECIES_AGGRON - .2byte ITEM_NONE - .2byte MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW - - .2byte 255 @ IV (0-255) - .2byte 76 @ level - .2byte SPECIES_CRADILY - .2byte ITEM_NONE - .2byte MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY - - .2byte 255 @ IV (0-255) - .2byte 76 @ level - .2byte SPECIES_ARMALDO - .2byte ITEM_NONE - .2byte MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH - - .2byte 255 @ IV (0-255) - .2byte 78 @ level - .2byte SPECIES_METAGROSS - .2byte ITEM_SITRUS_BERRY - .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_SHADOW_BALL - - .align 2 -gTrainerParty_Anabel:: @ 830F8CC - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_BELDUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Tucker:: @ 830F8D4 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_BELDUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Spenser:: @ 830F8DC - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_BELDUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Greta:: @ 830F8E4 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_BELDUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Noland:: @ 830F8EC - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_BELDUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Lucy:: @ 830F8F4 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_BELDUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brandon:: @ 830F8FC - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_BELDUM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Andres2:: @ 830F904 - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Andres3:: @ 830F914 - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_NOSEPASS - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Andres4:: @ 830F92C - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_NOSEPASS - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_SANDSHREW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Andres5:: @ 830F944 - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_NOSEPASS - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_SANDSLASH - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_SANDSLASH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cory2:: @ 830F95C - .2byte 10 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cory3:: @ 830F974 - .2byte 20 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 32 @ level - .2byte SPECIES_TENTACOOL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cory4:: @ 830F98C - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cory5:: @ 830F9A4 - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_TENTACRUEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Pablo2:: @ 830F9BC - .2byte 10 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Pablo3:: @ 830F9CC - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_WINGULL - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Pablo4:: @ 830F9E4 - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_STARYU - .2byte 0 @ padding - - .align 2 -gTrainerParty_Pablo5:: @ 830F9FC - .2byte 40 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_PELIPPER - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_STARMIE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Koji2:: @ 830FA14 - .2byte 10 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Koji3:: @ 830FA24 - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MAKUHITA - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Koji4:: @ 830FA3C - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .align 2 -gTrainerParty_Koji5:: @ 830FA54 - .2byte 40 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_HARIYAMA - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MACHAMP - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 43 @ level - .2byte SPECIES_MACHAMP - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cristin2:: @ 830FA6C - .2byte 110 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 110 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_VIGOROTH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cristin3:: @ 830FA7C - .2byte 120 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_SPINDA - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 120 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_VIGOROTH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cristin4:: @ 830FA94 - .2byte 130 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_SPINDA - .2byte 0 @ padding - - .2byte 130 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .2byte 100 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_VIGOROTH - .2byte 0 @ padding - - .align 2 -gTrainerParty_Cristin5:: @ 830FAAC - .2byte 140 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_SPINDA - .2byte 0 @ padding - - .2byte 140 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_EXPLOUD - .2byte 0 @ padding - - .2byte 140 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_SLAKING - .2byte 0 @ padding - - .align 2 -gTrainerParty_Fernando2:: @ 830FAC4 - .2byte 10 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_Fernando3:: @ 830FADC - .2byte 20 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_ELECTRIKE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_Fernando4:: @ 830FAF4 - .2byte 30 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 39 @ level - .2byte SPECIES_LOUDRED - .2byte 0 @ padding - - .align 2 -gTrainerParty_Fernando5:: @ 830FB0C - .2byte 40 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_MANECTRIC - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_EXPLOUD - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sawyer2:: @ 830FB24 - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_GEODUDE - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 26 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sawyer3:: @ 830FB34 - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 28 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sawyer4:: @ 830FB4C - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_MACHOP - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_NUMEL - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 30 @ level - .2byte SPECIES_GRAVELER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Sawyer5:: @ 830FB64 - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MACHOKE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_CAMERUPT - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_GOLEM - .2byte 0 @ padding - - .align 2 -gTrainerParty_Gabrielle2:: @ 830FB7C - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SKITTY - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_ZIGZAGOON - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_LOTAD - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_SEEDOT - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 31 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Gabrielle3:: @ 830FBAC - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_SKITTY - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 33 @ level - .2byte SPECIES_TAILLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Gabrielle4:: @ 830FBDC - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_DELCATTY - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_LOMBRE - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_NUZLEAF - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 35 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Gabrielle5:: @ 830FC0C - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_DELCATTY - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_MIGHTYENA - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_LINOONE - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_LUDICOLO - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_SHIFTRY - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 37 @ level - .2byte SPECIES_SWELLOW - .2byte 0 @ padding - - .align 2 -gTrainerParty_Thalia2:: @ 830FC3C - .2byte 10 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 10 @ IV (0-255) - .2byte 34 @ level - .2byte SPECIES_HORSEA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Thalia3:: @ 830FC4C - .2byte 20 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 20 @ IV (0-255) - .2byte 36 @ level - .2byte SPECIES_SEADRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Thalia4:: @ 830FC64 - .2byte 30 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_WAILMER - .2byte 0 @ padding - - .2byte 30 @ IV (0-255) - .2byte 38 @ level - .2byte SPECIES_SEADRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Thalia5:: @ 830FC7C - .2byte 40 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_LUVDISC - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_WAILORD - .2byte 0 @ padding - - .2byte 40 @ IV (0-255) - .2byte 40 @ level - .2byte SPECIES_KINGDRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Mariela:: @ 830FC94 - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_CHIMECHO - .2byte 0 @ padding - - .align 2 -gTrainerParty_Alvaro:: @ 830FC9C - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_BANETTE - .2byte 0 @ padding - - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_KADABRA - .2byte 0 @ padding - - .align 2 -gTrainerParty_Everett:: @ 830FCAC - .2byte 0 @ IV (0-255) - .2byte 41 @ level - .2byte SPECIES_WOBBUFFET - .2byte 0 @ padding - - .align 2 -gTrainerParty_Red:: @ 830FCB4 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_CHARMANDER - .2byte 0 @ padding - - .align 2 -gTrainerParty_Leaf:: @ 830FCBC - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_BULBASAUR - .2byte 0 @ padding - - .align 2 -gTrainerParty_Brendan16:: @ 830FCC4 - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_GROUDON - .2byte 0 @ padding - - .align 2 -gTrainerParty_May16:: @ 830FCCC - .2byte 0 @ IV (0-255) - .2byte 5 @ level - .2byte SPECIES_KYOGRE - .2byte 0 @ padding diff --git a/data/trainers.inc b/data/trainers.inc deleted file mode 100644 index b401c2a77..000000000 --- a/data/trainers.inc +++ /dev/null @@ -1,10261 +0,0 @@ - .align 2 -gTrainers:: @ 8310030 -@ NONE - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 0 @ party size - .4byte NULL - -@ SAWYER_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "SAWYER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Sawyer1 - -@ GRUNT_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt1 - -@ GRUNT_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt2 - -@ GRUNT_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt3 - -@ GRUNT_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt4 - -@ GRUNT_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt5 - -@ GRUNT_6 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt6 - -@ GRUNT_7 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt7 - -@ GABRIELLE_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "GABRIELLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Gabrielle1 - -@ GRUNT_8 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt8 - -@ MARCEL - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "MARCEL$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Marcel - -@ ALBERTO - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "ALBERTO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Alberto - -@ ED - .byte 0 @ party type flags - .byte TRAINER_CLASS_COLLECTOR - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_COLLECTOR - .string "ED$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Ed - -@ GRUNT_9 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt9 - -@ DECLAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "DECLAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Declan - -@ GRUNT_10 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt10 - -@ GRUNT_11 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt11 - -@ GRUNT_12 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt12 - -@ GRUNT_13 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Grunt13 - -@ GRUNT_14 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt14 - -@ GRUNT_15 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt15 - -@ GRUNT_16 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt16 - -@ GRUNT_17 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt17 - -@ GRUNT_18 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt18 - -@ GRUNT_19 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt19 - -@ GRUNT_20 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt20 - -@ GRUNT_21 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt21 - -@ GRUNT_22 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt22 - -@ FREDRICK - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "FREDRICK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Fredrick - -@ MATT - .byte 0 @ party type flags - .byte TRAINER_CLASS_AQUA_ADMIN - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_ADMIN_M - .string "MATT$", 12 - .2byte ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Matt - -@ ZANDER - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "ZANDER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Zander - -@ SHELLY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_AQUA_ADMIN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_ADMIN_F - .string "SHELLY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shelly1 - -@ SHELLY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_AQUA_ADMIN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_ADMIN_F - .string "SHELLY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shelly2 - -@ ARCHIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_AQUA_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_LEADER_ARCHIE - .string "ARCHIE$", 12 - .2byte ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Archie - -@ LEAH - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "LEAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Leah - -@ DAISY - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "DAISY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Daisy - -@ ROSE_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "ROSE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Rose1 - -@ FELIX - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "FELIX$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Felix - -@ VIOLET - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "VIOLET$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Violet - -@ ROSE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "ROSE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Rose2 - -@ ROSE_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "ROSE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Rose3 - -@ ROSE_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "ROSE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Rose4 - -@ ROSE_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "ROSE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Rose5 - -@ DUSTY_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "DUSTY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dusty1 - -@ CHIP - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "CHIP$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Chip - -@ FOSTER - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "FOSTER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Foster - -@ DUSTY_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "DUSTY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dusty2 - -@ DUSTY_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "DUSTY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dusty3 - -@ DUSTY_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "DUSTY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dusty4 - -@ DUSTY_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "DUSTY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dusty5 - -@ GABBY_AND_TY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_INTERVIEWER - .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music - .byte TRAINER_PIC_INTERVIEWER - .string "GABBY & TY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_GabbyAndTy1 - -@ GABBY_AND_TY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_INTERVIEWER - .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music - .byte TRAINER_PIC_INTERVIEWER - .string "GABBY & TY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_GabbyAndTy2 - -@ GABBY_AND_TY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_INTERVIEWER - .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music - .byte TRAINER_PIC_INTERVIEWER - .string "GABBY & TY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_GabbyAndTy3 - -@ GABBY_AND_TY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_INTERVIEWER - .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music - .byte TRAINER_PIC_INTERVIEWER - .string "GABBY & TY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_GabbyAndTy4 - -@ GABBY_AND_TY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_INTERVIEWER - .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music - .byte TRAINER_PIC_INTERVIEWER - .string "GABBY & TY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_GabbyAndTy5 - -@ GABBY_AND_TY_6 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_INTERVIEWER - .byte TRAINER_ENCOUNTER_MUSIC_INTERVIEWER @ gender flag and encounter music - .byte TRAINER_PIC_INTERVIEWER - .string "GABBY & TY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_GabbyAndTy6 - -@ LOLA_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "LOLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lola1 - -@ AUSTINA - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "AUSTINA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Austina - -@ GWEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "GWEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Gwen - -@ LOLA_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "LOLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lola2 - -@ LOLA_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "LOLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lola3 - -@ LOLA_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "LOLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lola4 - -@ LOLA_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "LOLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lola5 - -@ RICKY_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_TUBER_2 - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_M - .string "RICKY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Ricky1 - -@ SIMON - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_2 - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_M - .string "SIMON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Simon - -@ CHARLIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_2 - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_M - .string "CHARLIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Charlie - -@ RICKY_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_TUBER_2 - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_M - .string "RICKY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Ricky2 - -@ RICKY_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_TUBER_2 - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_M - .string "RICKY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Ricky3 - -@ RICKY_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_TUBER_2 - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_M - .string "RICKY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Ricky4 - -@ RICKY_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_TUBER_2 - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_M - .string "RICKY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Ricky5 - -@ RANDALL - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "RANDALL$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Randall - -@ PARKER - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "PARKER$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Parker - -@ GEORGE - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "GEORGE$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_George - -@ BERKE - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "BERKE$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Berke - -@ BRAXTON - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "BRAXTON$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Braxton - -@ VINCENT - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "VINCENT$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Vincent - -@ LEROY - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "LEROY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Leroy - -@ WILTON_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "WILTON$", 12 - .2byte ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Wilton1 - -@ EDGAR - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "EDGAR$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Edgar - -@ ALBERT - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "ALBERT$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Albert - -@ SAMUEL - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "SAMUEL$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Samuel - -@ VITO - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "VITO$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Vito - -@ OWEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "OWEN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Owen - -@ WILTON_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "WILTON$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Wilton2 - -@ WILTON_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "WILTON$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Wilton3 - -@ WILTON_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "WILTON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Wilton4 - -@ WILTON_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "WILTON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Wilton5 - -@ WARREN - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "WARREN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Warren - -@ MARY - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "MARY$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Mary - -@ ALEXIA - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "ALEXIA$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Alexia - -@ JODY - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "JODY$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jody - -@ WENDY - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "WENDY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Wendy - -@ KEIRA - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "KEIRA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Keira - -@ BROOKE_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "BROOKE$", 12 - .2byte ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brooke1 - -@ JENNIFER - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "JENNIFER$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jennifer - -@ HOPE - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "HOPE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Hope - -@ SHANNON - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "SHANNON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Shannon - -@ MICHELLE - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "MICHELLE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Michelle - -@ CAROLINE - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "CAROLINE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Caroline - -@ JULIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "JULIE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Julie - -@ BROOKE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "BROOKE$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brooke2 - -@ BROOKE_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "BROOKE$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brooke3 - -@ BROOKE_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "BROOKE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brooke4 - -@ BROOKE_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "BROOKE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brooke5 - -@ PATRICIA - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "PATRICIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Patricia - -@ KINDRA - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "KINDRA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Kindra - -@ TAMMY - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "TAMMY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Tammy - -@ VALERIE_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "VALERIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Valerie1 - -@ TASHA - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "TASHA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Tasha - -@ VALERIE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "VALERIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Valerie2 - -@ VALERIE_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "VALERIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Valerie3 - -@ VALERIE_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "VALERIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Valerie4 - -@ VALERIE_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "VALERIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Valerie5 - -@ CINDY_1 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "CINDY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cindy1 - -@ DAPHNE - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "DAPHNE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Daphne - -@ GRUNT_23 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Grunt23 - -@ CINDY_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "CINDY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cindy2 - -@ BRIANNA - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "BRIANNA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brianna - -@ NAOMI - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "NAOMI$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Naomi - -@ CINDY_3 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "CINDY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cindy3 - -@ CINDY_4 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "CINDY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cindy4 - -@ CINDY_5 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "CINDY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cindy5 - -@ CINDY_6 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "CINDY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cindy6 - -@ MELISSA - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "MELISSA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Melissa - -@ SHEILA - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "SHEILA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Sheila - -@ SHIRLEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "SHIRLEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Shirley - -@ JESSICA_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "JESSICA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jessica1 - -@ CONNIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "CONNIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Connie - -@ BRIDGET - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "BRIDGET$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Bridget - -@ OLIVIA - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "OLIVIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Olivia - -@ TIFFANY - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "TIFFANY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Tiffany - -@ JESSICA_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "JESSICA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jessica2 - -@ JESSICA_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "JESSICA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jessica3 - -@ JESSICA_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "JESSICA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jessica4 - -@ JESSICA_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "JESSICA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jessica5 - -@ WINSTON_1 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_RICH_BOY - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_RICH_BOY - .string "WINSTON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Winston1 - -@ MOLLIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_F - .string "MOLLIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Mollie - -@ GARRET - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_RICH_BOY - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_RICH_BOY - .string "GARRET$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Garret - -@ WINSTON_2 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_RICH_BOY - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_RICH_BOY - .string "WINSTON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Winston2 - -@ WINSTON_3 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_RICH_BOY - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_RICH_BOY - .string "WINSTON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Winston3 - -@ WINSTON_4 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_RICH_BOY - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_RICH_BOY - .string "WINSTON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Winston4 - -@ WINSTON_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_RICH_BOY - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_RICH_BOY - .string "WINSTON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Winston5 - -@ STEVE_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_POKEMANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_POKEMANIAC - .string "STEVE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Steve1 - -@ THALIA_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "THALIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Thalia1 - -@ MARK - .byte 0 @ party type flags - .byte TRAINER_CLASS_POKEMANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_POKEMANIAC - .string "MARK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Mark - -@ GRUNT_24 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt24 - -@ STEVE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_POKEMANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_POKEMANIAC - .string "STEVE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Steve2 - -@ STEVE_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_POKEMANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_POKEMANIAC - .string "STEVE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Steve3 - -@ STEVE_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_POKEMANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_POKEMANIAC - .string "STEVE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Steve4 - -@ STEVE_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_POKEMANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_POKEMANIAC - .string "STEVE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Steve5 - -@ LUIS - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "LUIS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Luis - -@ DOMINIK - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "DOMINIK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dominik - -@ DOUGLAS - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "DOUGLAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Douglas - -@ DARRIN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "DARRIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Darrin - -@ TONY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "TONY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Tony1 - -@ JEROME - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "JEROME$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jerome - -@ MATTHEW - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "MATTHEW$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Matthew - -@ DAVID - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "DAVID$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_David - -@ SPENCER - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "SPENCER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Spencer - -@ ROLAND - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "ROLAND$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Roland - -@ NOLEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "NOLEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Nolen - -@ STAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "STAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Stan - -@ BARRY - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "BARRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Barry - -@ DEAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "DEAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Dean - -@ RODNEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "RODNEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Rodney - -@ RICHARD - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "RICHARD$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Richard - -@ HERMAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "HERMAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Herman - -@ SANTIAGO - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "SANTIAGO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Santiago - -@ GILBERT - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "GILBERT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Gilbert - -@ FRANKLIN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "FRANKLIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Franklin - -@ KEVIN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "KEVIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Kevin - -@ JACK - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "JACK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jack - -@ DUDLEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "DUDLEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Dudley - -@ CHAD - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "CHAD$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Chad - -@ TONY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "TONY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Tony2 - -@ TONY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "TONY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Tony3 - -@ TONY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "TONY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Tony4 - -@ TONY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "TONY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Tony5 - -@ TAKAO - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "TAKAO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Takao - -@ HITOSHI - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "HITOSHI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Hitoshi - -@ KIYO - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "KIYO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Kiyo - -@ KOICHI - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "KOICHI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Koichi - -@ NOB_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "NOB$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Nob1 - -@ NOB_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "NOB$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Nob2 - -@ NOB_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "NOB$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Nob3 - -@ NOB_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "NOB$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Nob4 - -@ NOB_5 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "NOB$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Nob5 - -@ YUJI - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "YUJI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Yuji - -@ DAISUKE - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "DAISUKE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Daisuke - -@ ATSUSHI - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "ATSUSHI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Atsushi - -@ KIRK - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "KIRK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Kirk - -@ GRUNT_25 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt25 - -@ GRUNT_26 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt26 - -@ SHAWN - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "SHAWN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shawn - -@ FERNANDO_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "FERNANDO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Fernando1 - -@ DALTON_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "DALTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Dalton1 - -@ DALTON_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "DALTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Dalton2 - -@ DALTON_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "DALTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Dalton3 - -@ DALTON_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "DALTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Dalton4 - -@ DALTON_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "DALTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Dalton5 - -@ COLE - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "COLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cole - -@ JEFF - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "JEFF$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jeff - -@ AXLE - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "AXLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Axle - -@ JACE - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "JACE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jace - -@ KEEGAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "KEEGAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Keegan - -@ BERNIE_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "BERNIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Bernie1 - -@ BERNIE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "BERNIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Bernie2 - -@ BERNIE_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "BERNIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Bernie3 - -@ BERNIE_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "BERNIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Bernie4 - -@ BERNIE_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "BERNIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Bernie5 - -@ DREW - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "DREW$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Drew - -@ BEAU - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "BEAU$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Beau - -@ LARRY - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "LARRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Larry - -@ SHANE - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "SHANE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shane - -@ JUSTIN - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "JUSTIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Justin - -@ ETHAN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "ETHAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Ethan1 - -@ AUTUMN - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "AUTUMN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Autumn - -@ TRAVIS - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "TRAVIS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Travis - -@ ETHAN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "ETHAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Ethan2 - -@ ETHAN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "ETHAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Ethan3 - -@ ETHAN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "ETHAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Ethan4 - -@ ETHAN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "ETHAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Ethan5 - -@ BRENT - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "BRENT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brent - -@ DONALD - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "DONALD$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Donald - -@ TAYLOR - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "TAYLOR$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Taylor - -@ JEFFREY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "JEFFREY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jeffrey1 - -@ DEREK - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "DEREK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Derek - -@ JEFFREY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "JEFFREY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jeffrey2 - -@ JEFFREY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "JEFFREY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jeffrey3 - -@ JEFFREY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "JEFFREY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Jeffrey4 - -@ JEFFREY_5 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "JEFFREY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Jeffrey5 - -@ EDWARD - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "EDWARD$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Edward - -@ PRESTON - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "PRESTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Preston - -@ VIRGIL - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "VIRGIL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Virgil - -@ BLAKE - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "BLAKE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Blake - -@ WILLIAM - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "WILLIAM$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_William - -@ JOSHUA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "JOSHUA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Joshua - -@ CAMERON_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "CAMERON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cameron1 - -@ CAMERON_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "CAMERON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cameron2 - -@ CAMERON_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "CAMERON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cameron3 - -@ CAMERON_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "CAMERON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cameron4 - -@ CAMERON_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "CAMERON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cameron5 - -@ JACLYN - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "JACLYN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jaclyn - -@ HANNAH - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "HANNAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Hannah - -@ SAMANTHA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "SAMANTHA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Samantha - -@ MAURA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "MAURA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Maura - -@ KAYLA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "KAYLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Kayla - -@ ALEXIS - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "ALEXIS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Alexis - -@ JACKI_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "JACKI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jacki1 - -@ JACKI_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "JACKI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jacki2 - -@ JACKI_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "JACKI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jacki3 - -@ JACKI_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "JACKI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jacki4 - -@ JACKI_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "JACKI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jacki5 - -@ WALTER_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "WALTER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Walter1 - -@ MICAH - .byte 0 @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "MICAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Micah - -@ THOMAS - .byte 0 @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "THOMAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Thomas - -@ WALTER_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "WALTER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Walter2 - -@ WALTER_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "WALTER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Walter3 - -@ WALTER_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "WALTER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Walter4 - -@ WALTER_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "WALTER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Walter5 - -@ SIDNEY - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_ELITE_FOUR - .byte TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR @ gender flag and encounter music - .byte TRAINER_PIC_ELITE_FOUR_SIDNEY - .string "SIDNEY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xf @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Sidney - -@ PHOEBE - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_ELITE_FOUR - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR @ gender flag and encounter music - .byte TRAINER_PIC_ELITE_FOUR_PHOEBE - .string "PHOEBE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Phoebe - -@ GLACIA - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_ELITE_FOUR - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR @ gender flag and encounter music - .byte TRAINER_PIC_ELITE_FOUR_GLACIA - .string "GLACIA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Glacia - -@ DRAKE - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_ELITE_FOUR - .byte TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR @ gender flag and encounter music - .byte TRAINER_PIC_ELITE_FOUR_DRAKE - .string "DRAKE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Drake - -@ ROXANNE_1 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_ROXANNE - .string "ROXANNE$", 12 - .2byte ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Roxanne1 - -@ BRAWLY_1 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_BRAWLY - .string "BRAWLY$", 12 - .2byte ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brawly1 - -@ WATTSON_1 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WATTSON - .string "WATTSON$", 12 - .2byte ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Wattson1 - -@ FLANNERY_1 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_FLANNERY - .string "FLANNERY$", 12 - .2byte ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Flannery1 - -@ NORMAN_1 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_NORMAN - .string "NORMAN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Norman1 - -@ WINONA_1 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WINONA - .string "WINONA$", 12 - .2byte ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x17 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Winona1 - -@ TATE_AND_LIZA_1 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_TATE_AND_LIZA - .string "TATE&LIZA$", 12 - .2byte ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_TateAndLiza1 - -@ JUAN_1 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_JUAN - .string "JUAN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Juan1 - -@ JERRY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_M - .string "JERRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jerry1 - -@ TED - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_M - .string "TED$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Ted - -@ PAUL - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_M - .string "PAUL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Paul - -@ JERRY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_M - .string "JERRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jerry2 - -@ JERRY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_M - .string "JERRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jerry3 - -@ JERRY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_M - .string "JERRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jerry4 - -@ JERRY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_M - .string "JERRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jerry5 - -@ KAREN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_F - .string "KAREN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Karen1 - -@ GEORGIA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_F - .string "GEORGIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Georgia - -@ KAREN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_F - .string "KAREN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Karen2 - -@ KAREN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_F - .string "KAREN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Karen3 - -@ KAREN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_F - .string "KAREN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Karen4 - -@ KAREN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SCHOOL_KID - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_SCHOOL_KID_F - .string "KAREN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Karen5 - -@ KATE_AND_JOY - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_SR_AND_JR - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_SR_AND_JR - .string "KATE & JOY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_KateAndJoy - -@ ANNA_AND_MEG_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_SR_AND_JR - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_SR_AND_JR - .string "ANNA & MEG$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AnnaAndMeg1 - -@ ANNA_AND_MEG_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_SR_AND_JR - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_SR_AND_JR - .string "ANNA & MEG$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AnnaAndMeg2 - -@ ANNA_AND_MEG_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_SR_AND_JR - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_SR_AND_JR - .string "ANNA & MEG$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AnnaAndMeg3 - -@ ANNA_AND_MEG_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_SR_AND_JR - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_SR_AND_JR - .string "ANNA & MEG$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AnnaAndMeg4 - -@ ANNA_AND_MEG_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_SR_AND_JR - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_SR_AND_JR - .string "ANNA & MEG$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AnnaAndMeg5 - -@ VICTOR - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_WINSTRATE - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_M - .string "VICTOR$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Victor - -@ MIGUEL_1 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_M - .string "MIGUEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Miguel1 - -@ COLTON - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_M - .string "COLTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Colton - -@ MIGUEL_2 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_M - .string "MIGUEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Miguel2 - -@ MIGUEL_3 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_M - .string "MIGUEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Miguel3 - -@ MIGUEL_4 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_M - .string "MIGUEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Miguel4 - -@ MIGUEL_5 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_M - .string "MIGUEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Miguel5 - -@ VICTORIA - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_WINSTRATE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "VICTORIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x3 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Victoria - -@ VANESSA - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "VANESSA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Vanessa - -@ BETHANY - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "BETHANY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Bethany - -@ ISABEL_1 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "ISABEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Isabel1 - -@ ISABEL_2 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "ISABEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Isabel2 - -@ ISABEL_3 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "ISABEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Isabel3 - -@ ISABEL_4 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "ISABEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Isabel4 - -@ ISABEL_5 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "ISABEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Isabel5 - -@ TIMOTHY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "TIMOTHY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Timothy1 - -@ TIMOTHY_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "TIMOTHY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Timothy2 - -@ TIMOTHY_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "TIMOTHY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Timothy3 - -@ TIMOTHY_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "TIMOTHY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Timothy4 - -@ TIMOTHY_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "TIMOTHY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Timothy5 - -@ VICKY - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_WINSTRATE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_F - .string "VICKY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Vicky - -@ SHELBY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_F - .string "SHELBY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shelby1 - -@ SHELBY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_F - .string "SHELBY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shelby2 - -@ SHELBY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_F - .string "SHELBY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shelby3 - -@ SHELBY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_F - .string "SHELBY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shelby4 - -@ SHELBY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_F - .string "SHELBY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shelby5 - -@ CALVIN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "CALVIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Calvin1 - -@ BILLY - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "BILLY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Billy - -@ JOSH - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "JOSH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Josh - -@ TOMMY - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "TOMMY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Tommy - -@ JOEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "JOEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Joey - -@ BEN - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "BEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Ben - -@ QUINCY - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "QUINCY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Quincy - -@ KATELYNN - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "KATELYNN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Katelynn - -@ JAYLEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "JAYLEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jaylen - -@ DILLON - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "DILLON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dillon - -@ CALVIN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "CALVIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Calvin2 - -@ CALVIN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "CALVIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Calvin3 - -@ CALVIN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "CALVIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Calvin4 - -@ CALVIN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "CALVIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Calvin5 - -@ EDDIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "EDDIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Eddie - -@ ALLEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "ALLEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Allen - -@ TIMMY - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "TIMMY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Timmy - -@ WALLACE - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_CHAMPION - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CHAMPION_WALLACE - .string "WALLACE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Wallace - -@ ANDREW - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "ANDREW$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Andrew - -@ IVAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "IVAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Ivan - -@ CLAUDE - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "CLAUDE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Claude - -@ ELLIOT_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "ELLIOT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Elliot1 - -@ NED - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "NED$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Ned - -@ DALE - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "DALE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Dale - -@ NOLAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "NOLAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Nolan - -@ BARNY - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "BARNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Barny - -@ WADE - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "WADE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Wade - -@ CARTER - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "CARTER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Carter - -@ ELLIOT_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "ELLIOT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Elliot2 - -@ ELLIOT_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "ELLIOT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Elliot3 - -@ ELLIOT_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "ELLIOT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Elliot4 - -@ ELLIOT_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "ELLIOT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x3 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Elliot5 - -@ RONALD - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "RONALD$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Ronald - -@ JACOB - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .string "JACOB$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jacob - -@ ANTHONY - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .string "ANTHONY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Anthony - -@ BENJAMIN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .string "BENJAMIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Benjamin1 - -@ BENJAMIN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .string "BENJAMIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Benjamin2 - -@ BENJAMIN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .string "BENJAMIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Benjamin3 - -@ BENJAMIN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .string "BENJAMIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Benjamin4 - -@ BENJAMIN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .string "BENJAMIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Benjamin5 - -@ ABIGAIL_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_F - .string "ABIGAIL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Abigail1 - -@ JASMINE - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_F - .string "JASMINE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jasmine - -@ ABIGAIL_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_F - .string "ABIGAIL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Abigail2 - -@ ABIGAIL_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_F - .string "ABIGAIL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Abigail3 - -@ ABIGAIL_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_F - .string "ABIGAIL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Abigail4 - -@ ABIGAIL_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_F - .string "ABIGAIL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Abigail5 - -@ DYLAN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_M - .string "DYLAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dylan1 - -@ DYLAN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_M - .string "DYLAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dylan2 - -@ DYLAN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_M - .string "DYLAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dylan3 - -@ DYLAN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_M - .string "DYLAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dylan4 - -@ DYLAN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_M - .string "DYLAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dylan5 - -@ MARIA_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_F - .string "MARIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Maria1 - -@ MARIA_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_F - .string "MARIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Maria2 - -@ MARIA_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_F - .string "MARIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Maria3 - -@ MARIA_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_F - .string "MARIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Maria4 - -@ MARIA_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_F - .string "MARIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Maria5 - -@ CAMDEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "CAMDEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Camden - -@ DEMETRIUS - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "DEMETRIUS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Demetrius - -@ ISAIAH_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "ISAIAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Isaiah1 - -@ PABLO_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "PABLO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Pablo1 - -@ CHASE - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "CHASE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Chase - -@ ISAIAH_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "ISAIAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Isaiah2 - -@ ISAIAH_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "ISAIAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Isaiah3 - -@ ISAIAH_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "ISAIAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Isaiah4 - -@ ISAIAH_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "ISAIAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Isaiah5 - -@ ISOBEL - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "ISOBEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Isobel - -@ DONNY - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "DONNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Donny - -@ TALIA - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "TALIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Talia - -@ KATELYN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "KATELYN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Katelyn1 - -@ ALLISON - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "ALLISON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Allison - -@ KATELYN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "KATELYN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Katelyn2 - -@ KATELYN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "KATELYN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Katelyn3 - -@ KATELYN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "KATELYN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Katelyn4 - -@ KATELYN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "KATELYN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Katelyn5 - -@ NICOLAS_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_DRAGON_TAMER - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_DRAGON_TAMER - .string "NICOLAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Nicolas1 - -@ NICOLAS_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_DRAGON_TAMER - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_DRAGON_TAMER - .string "NICOLAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Nicolas2 - -@ NICOLAS_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_DRAGON_TAMER - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_DRAGON_TAMER - .string "NICOLAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Nicolas3 - -@ NICOLAS_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_DRAGON_TAMER - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_DRAGON_TAMER - .string "NICOLAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Nicolas4 - -@ NICOLAS_5 - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_DRAGON_TAMER - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_DRAGON_TAMER - .string "NICOLAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Nicolas5 - -@ AARON - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_DRAGON_TAMER - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_DRAGON_TAMER - .string "AARON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Aaron - -@ PERRY - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "PERRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Perry - -@ HUGH - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "HUGH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Hugh - -@ PHIL - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "PHIL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Phil - -@ JARED - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "JARED$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jared - -@ HUMBERTO - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "HUMBERTO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Humberto - -@ PRESLEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "PRESLEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Presley - -@ EDWARDO - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "EDWARDO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Edwardo - -@ COLIN - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "COLIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Colin - -@ ROBERT_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "ROBERT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Robert1 - -@ BENNY - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "BENNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Benny - -@ CHESTER - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "CHESTER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Chester - -@ ROBERT_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "ROBERT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Robert2 - -@ ROBERT_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "ROBERT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Robert3 - -@ ROBERT_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "ROBERT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Robert4 - -@ ROBERT_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "ROBERT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Robert5 - -@ ALEX - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "ALEX$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Alex - -@ BECK - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "BECK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Beck - -@ YASU - .byte 0 @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "YASU$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x3 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Yasu - -@ TAKASHI - .byte 0 @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "TAKASHI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x3 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Takashi - -@ DIANNE - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "DIANNE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Dianne - -@ JANI - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "JANI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jani - -@ LAO_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "LAO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Lao1 - -@ LUNG - .byte 0 @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "LUNG$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lung - -@ LAO_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "LAO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Lao2 - -@ LAO_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "LAO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Lao3 - -@ LAO_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "LAO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Lao4 - -@ LAO_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "LAO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Lao5 - -@ JOCELYN - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "JOCELYN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jocelyn - -@ LAURA - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "LAURA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Laura - -@ CYNDY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "CYNDY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cyndy1 - -@ CORA - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "CORA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cora - -@ PAULA - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "PAULA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Paula - -@ CYNDY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "CYNDY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cyndy2 - -@ CYNDY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "CYNDY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cyndy3 - -@ CYNDY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "CYNDY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cyndy4 - -@ CYNDY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "CYNDY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cyndy5 - -@ MADELINE_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "MADELINE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Madeline1 - -@ CLARISSA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "CLARISSA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Clarissa - -@ ANGELICA - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "ANGELICA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Angelica - -@ MADELINE_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "MADELINE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Madeline2 - -@ MADELINE_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "MADELINE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Madeline3 - -@ MADELINE_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "MADELINE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Madeline4 - -@ MADELINE_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "MADELINE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Madeline5 - -@ BEVERLY - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "BEVERLY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Beverly - -@ IMANI - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "IMANI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Imani - -@ KYLA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "KYLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Kyla - -@ DENISE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "DENISE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Denise - -@ BETH - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "BETH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Beth - -@ TARA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "TARA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Tara - -@ MISSY - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "MISSY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Missy - -@ ALICE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "ALICE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Alice - -@ JENNY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "JENNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jenny1 - -@ GRACE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "GRACE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grace - -@ TANYA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "TANYA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Tanya - -@ SHARON - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "SHARON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Sharon - -@ NIKKI - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "NIKKI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Nikki - -@ BRENDA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "BRENDA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brenda - -@ KATIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "KATIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Katie - -@ SUSIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "SUSIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Susie - -@ KARA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "KARA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Kara - -@ DANA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "DANA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Dana - -@ SIENNA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "SIENNA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Sienna - -@ DEBRA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "DEBRA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Debra - -@ LINDA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "LINDA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Linda - -@ KAYLEE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "KAYLEE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Kaylee - -@ LAUREL - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "LAUREL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Laurel - -@ CARLEE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "CARLEE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Carlee - -@ JENNY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "JENNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jenny2 - -@ JENNY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "JENNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jenny3 - -@ JENNY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "JENNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jenny4 - -@ JENNY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "JENNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jenny5 - -@ HEIDI - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "HEIDI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Heidi - -@ BECKY - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "BECKY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Becky - -@ CAROL - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "CAROL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Carol - -@ NANCY - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "NANCY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Nancy - -@ MARTHA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "MARTHA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Martha - -@ DIANA_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "DIANA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Diana1 - -@ CEDRIC - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "CEDRIC$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cedric - -@ IRENE - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "IRENE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Irene - -@ DIANA_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "DIANA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Diana2 - -@ DIANA_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "DIANA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Diana3 - -@ DIANA_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "DIANA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Diana4 - -@ DIANA_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "DIANA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Diana5 - -@ AMY_AND_LIV_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "AMY & LIV$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AmyAndLiv1 - -@ AMY_AND_LIV_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "AMY & LIV$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AmyAndLiv2 - -@ GINA_AND_MIA_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "GINA & MIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_GinaAndMia1 - -@ MIU_AND_YUKI - .byte 0 @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "MIU & YUKI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_MiuAndYuki - -@ AMY_AND_LIV_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "AMY & LIV$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AmyAndLiv3 - -@ GINA_AND_MIA_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "GINA & MIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_GinaAndMia2 - -@ AMY_AND_LIV_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "AMY & LIV$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AmyAndLiv4 - -@ AMY_AND_LIV_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "AMY & LIV$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AmyAndLiv5 - -@ AMY_AND_LIV_6 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "AMY & LIV$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_AmyAndLiv6 - -@ HUEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "HUEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Huey - -@ EDMOND - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "EDMOND$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Edmond - -@ ERNEST_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "ERNEST$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Ernest1 - -@ DWAYNE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "DWAYNE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Dwayne - -@ PHILLIP - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "PHILLIP$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Phillip - -@ LEONARD - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "LEONARD$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Leonard - -@ DUNCAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "DUNCAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Duncan - -@ ERNEST_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "ERNEST$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Ernest2 - -@ ERNEST_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "ERNEST$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Ernest3 - -@ ERNEST_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "ERNEST$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Ernest4 - -@ ERNEST_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "ERNEST$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Ernest5 - -@ ELI - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "ELI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Eli - -@ ANNIKA - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_F - .string "ANNIKA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Annika - -@ JAZMYN - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_2 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "JAZMYN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jazmyn - -@ JONAS - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "JONAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jonas - -@ KAYLEY - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "KAYLEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Kayley - -@ AURON - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "AURON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Auron - -@ KELVIN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "KELVIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Kelvin - -@ MARLEY - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "MARLEY$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Marley - -@ REYNA - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "REYNA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Reyna - -@ HUDSON - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "HUDSON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Hudson - -@ CONOR - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "CONOR$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Conor - -@ EDWIN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COLLECTOR - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_COLLECTOR - .string "EDWIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Edwin1 - -@ HECTOR - .byte 0 @ party type flags - .byte TRAINER_CLASS_COLLECTOR - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_COLLECTOR - .string "HECTOR$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Hector - -@ TABITHA_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_MAGMA_ADMIN - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_ADMIN - .string "TABITHA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Tabitha1 - -@ EDWIN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COLLECTOR - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_COLLECTOR - .string "EDWIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Edwin2 - -@ EDWIN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COLLECTOR - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_COLLECTOR - .string "EDWIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Edwin3 - -@ EDWIN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COLLECTOR - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_COLLECTOR - .string "EDWIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Edwin4 - -@ EDWIN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COLLECTOR - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_COLLECTOR - .string "EDWIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Edwin5 - -@ WALLY_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_WALLY - .string "WALLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Wally1 - -@ BRENDAN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brendan1 - -@ BRENDAN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brendan2 - -@ BRENDAN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brendan3 - -@ BRENDAN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brendan4 - -@ BRENDAN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brendan5 - -@ BRENDAN_6 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brendan6 - -@ BRENDAN_7 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brendan7 - -@ BRENDAN_8 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brendan8 - -@ BRENDAN_9 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Brendan9 - -@ MAY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_May1 - -@ MAY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_May2 - -@ MAY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_May3 - -@ MAY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_May4 - -@ MAY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_May5 - -@ MAY_6 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_May6 - -@ MAY_7 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_May7 - -@ MAY_8 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_May8 - -@ MAY_9 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_May9 - -@ ISAAC_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_M - .string "ISAAC$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Isaac1 - -@ DAVIS - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "DAVIS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Davis - -@ MITCHELL - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "MITCHELL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Mitchell - -@ ISAAC_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_M - .string "ISAAC$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Isaac2 - -@ ISAAC_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_M - .string "ISAAC$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Isaac3 - -@ ISAAC_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_M - .string "ISAAC$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Isaac4 - -@ ISAAC_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_M - .string "ISAAC$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Isaac5 - -@ LYDIA_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "LYDIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Lydia1 - -@ HALLE - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "HALLE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Halle - -@ GARRISON - .byte 0 @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "GARRISON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Garrison - -@ LYDIA_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "LYDIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Lydia2 - -@ LYDIA_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "LYDIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Lydia3 - -@ LYDIA_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "LYDIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Lydia4 - -@ LYDIA_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "LYDIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Lydia5 - -@ JACKSON_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_M - .string "JACKSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jackson1 - -@ LORENZO - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_M - .string "LORENZO$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Lorenzo - -@ SEBASTIAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_M - .string "SEBASTIAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Sebastian - -@ JACKSON_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_M - .string "JACKSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jackson2 - -@ JACKSON_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_M - .string "JACKSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jackson3 - -@ JACKSON_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_M - .string "JACKSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Jackson4 - -@ JACKSON_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_M - .string "JACKSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jackson5 - -@ CATHERINE_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_F - .string "CATHERINE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Catherine1 - -@ JENNA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_F - .string "JENNA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jenna - -@ SOPHIA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_F - .string "SOPHIA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Sophia - -@ CATHERINE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_F - .string "CATHERINE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Catherine2 - -@ CATHERINE_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_F - .string "CATHERINE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Catherine3 - -@ CATHERINE_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_F - .string "CATHERINE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Catherine4 - -@ CATHERINE_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_RANGER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_RANGER_F - .string "CATHERINE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Catherine5 - -@ JULIO - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_M - .string "JULIO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Julio - -@ GRUNT_27 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt27 - -@ GRUNT_28 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt28 - -@ GRUNT_29 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt29 - -@ GRUNT_30 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt30 - -@ MARC - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "MARC$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Marc - -@ BRENDEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "BRENDEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brenden - -@ LILITH - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "LILITH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Lilith - -@ CRISTIAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "CRISTIAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Cristian - -@ SYLVIA - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "SYLVIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Sylvia - -@ LEONARDO - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "LEONARDO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Leonardo - -@ ATHENA - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "ATHENA$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Athena - -@ HARRISON - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "HARRISON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Harrison - -@ GRUNT_31 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt31 - -@ CLARENCE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "CLARENCE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Clarence - -@ TERRY - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "TERRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Terry - -@ NATE - .byte 0 @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "NATE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Nate - -@ KATHLEEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_HEX_MANIAC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_HEX_MANIAC - .string "KATHLEEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Kathleen - -@ CLIFFORD - .byte 0 @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "CLIFFORD$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Clifford - -@ NICHOLAS - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "NICHOLAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Nicholas - -@ GRUNT_32 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt32 - -@ GRUNT_33 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt33 - -@ GRUNT_34 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt34 - -@ GRUNT_35 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt35 - -@ GRUNT_36 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt36 - -@ MACEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "MACEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Macey - -@ BRENDAN_10 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Brendan10 - -@ BRENDAN_11 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Brendan11 - -@ PAXTON - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_M - .string "PAXTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Paxton - -@ ISABELLA - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_F - .string "ISABELLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Isabella - -@ GRUNT_37 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_AQUA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA @ gender flag and encounter music - .byte TRAINER_PIC_AQUA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt37 - -@ TABITHA_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_MAGMA_ADMIN - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_ADMIN - .string "TABITHA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Tabitha2 - -@ JONATHAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "JONATHAN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jonathan - -@ BRENDAN_12 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Brendan12 - -@ MAY_10 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0xb @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_May10 - -@ MAXIE_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_MAGMA_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_LEADER_MAXIE - .string "MAXIE$", 12 - .2byte ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Maxie1 - -@ MAXIE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_MAGMA_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_LEADER_MAXIE - .string "MAXIE$", 12 - .2byte ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Maxie2 - -@ TIANA - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "TIANA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Tiana - -@ HALEY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "HALEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Haley1 - -@ JANICE - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "JANICE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Janice - -@ VIVI - .byte 0 @ party type flags - .byte TRAINER_CLASS_WINSTRATE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "VIVI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Vivi - -@ HALEY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "HALEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Haley2 - -@ HALEY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "HALEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Haley3 - -@ HALEY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "HALEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Haley4 - -@ HALEY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "HALEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Haley5 - -@ SALLY - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "SALLY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Sally - -@ ROBIN - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "ROBIN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Robin - -@ ANDREA - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "ANDREA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Andrea - -@ CRISSY - .byte 0 @ party type flags - .byte TRAINER_CLASS_LASS - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LASS - .string "CRISSY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Crissy - -@ RICK - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "RICK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Rick - -@ LYLE - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "LYLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Lyle - -@ JOSE - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "JOSE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jose - -@ DOUG - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "DOUG$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Doug - -@ GREG - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "GREG$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Greg - -@ KENT - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "KENT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Kent - -@ JAMES_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "JAMES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_James1 - -@ JAMES_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "JAMES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_James2 - -@ JAMES_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "JAMES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_James3 - -@ JAMES_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "JAMES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_James4 - -@ JAMES_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_CATCHER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BUG_CATCHER - .string "JAMES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_James5 - -@ BRICE - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "BRICE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Brice - -@ TRENT_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "TRENT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Trent1 - -@ LENNY - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "LENNY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lenny - -@ LUCAS_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "LUCAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lucas1 - -@ ALAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "ALAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Alan - -@ CLARK - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "CLARK$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Clark - -@ ERIC - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "ERIC$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Eric - -@ LUCAS_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "LUCAS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Lucas2 - -@ MIKE_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "MIKE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Mike1 - -@ MIKE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "MIKE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Mike2 - -@ TRENT_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "TRENT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Trent2 - -@ TRENT_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "TRENT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Trent3 - -@ TRENT_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "TRENT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Trent4 - -@ TRENT_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "TRENT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Trent5 - -@ DEZ_AND_LUKE - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNG_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_YOUNG_COUPLE - .string "DEZ & LUKE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_DezAndLuke - -@ LEA_AND_JED - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNG_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_YOUNG_COUPLE - .string "LEA & JED$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_LeaAndJed - -@ KIRA_AND_DAN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNG_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_YOUNG_COUPLE - .string "KIRA & DAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_KiraAndDan1 - -@ KIRA_AND_DAN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNG_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_YOUNG_COUPLE - .string "KIRA & DAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_KiraAndDan2 - -@ KIRA_AND_DAN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNG_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_YOUNG_COUPLE - .string "KIRA & DAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_KiraAndDan3 - -@ KIRA_AND_DAN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNG_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_YOUNG_COUPLE - .string "KIRA & DAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_KiraAndDan4 - -@ KIRA_AND_DAN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNG_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_YOUNG_COUPLE - .string "KIRA & DAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_KiraAndDan5 - -@ JOHANNA - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "JOHANNA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Johanna - -@ GERALD - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "GERALD$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Gerald - -@ VIVIAN - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "VIVIAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Vivian - -@ DANIELLE - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "DANIELLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Danielle - -@ HIDEO - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "HIDEO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x3 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Hideo - -@ KEIGO - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "KEIGO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x3 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Keigo - -@ RILEY - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "RILEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x3 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Riley - -@ FLINT - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "FLINT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Flint - -@ ASHLEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "ASHLEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Ashley - -@ WALLY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_WALLY - .string "WALLY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Wally2 - -@ WALLY_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_WALLY - .string "WALLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Wally3 - -@ WALLY_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_WALLY - .string "WALLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Wally4 - -@ WALLY_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_WALLY - .string "WALLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Wally5 - -@ WALLY_6 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_WALLY - .string "WALLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Wally6 - -@ BRENDAN_13 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Brendan13 - -@ BRENDAN_14 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Brendan14 - -@ BRENDAN_15 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Brendan15 - -@ MAY_11 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_May11 - -@ MAY_12 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_May12 - -@ MAY_13 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_May13 - -@ JONAH - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "JONAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Jonah - -@ HENRY - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "HENRY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Henry - -@ ROGER - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "ROGER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Roger - -@ ALEXA - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "ALEXA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Alexa - -@ RUBEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "RUBEN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Ruben - -@ KOJI_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "KOJI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Koji1 - -@ WAYNE - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "WAYNE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Wayne - -@ AIDAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "AIDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Aidan - -@ REED - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "REED$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Reed - -@ TISHA - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "TISHA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Tisha - -@ TORI_AND_TIA - .byte 0 @ party type flags - .byte TRAINER_CLASS_TWINS - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_TWINS - .string "TORI & TIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_ToriAndTia - -@ KIM_AND_IRIS - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_SR_AND_JR - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_SR_AND_JR - .string "KIM & IRIS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_KimAndIris - -@ TYRA_AND_IVY - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_SR_AND_JR - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_SR_AND_JR - .string "TYRA & IVY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_TyraAndIvy - -@ MEL_AND_PAUL - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_YOUNG_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_YOUNG_COUPLE - .string "MEL & PAUL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_MelAndPaul - -@ JOHN_AND_JAY_1 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_OLD_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_OLD_COUPLE - .string "JOHN & JAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_JohnAndJay1 - -@ JOHN_AND_JAY_2 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_OLD_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_OLD_COUPLE - .string "JOHN & JAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_JohnAndJay2 - -@ JOHN_AND_JAY_3 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_OLD_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_OLD_COUPLE - .string "JOHN & JAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_JohnAndJay3 - -@ JOHN_AND_JAY_4 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_OLD_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_OLD_COUPLE - .string "JOHN & JAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0xb @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_JohnAndJay4 - -@ JOHN_AND_JAY_5 - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_OLD_COUPLE - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_OLD_COUPLE - .string "JOHN & JAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_JohnAndJay5 - -@ RELI_AND_IAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_SIS_AND_BRO - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SIS_AND_BRO - .string "RELI & IAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_ReliAndIan - -@ LILA_AND_ROY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SIS_AND_BRO - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SIS_AND_BRO - .string "LILA & ROY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_LilaAndRoy1 - -@ LILA_AND_ROY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SIS_AND_BRO - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SIS_AND_BRO - .string "LILA & ROY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_LilaAndRoy2 - -@ LILA_AND_ROY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SIS_AND_BRO - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SIS_AND_BRO - .string "LILA & ROY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_LilaAndRoy3 - -@ LILA_AND_ROY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SIS_AND_BRO - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SIS_AND_BRO - .string "LILA & ROY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_LilaAndRoy4 - -@ LILA_AND_ROY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SIS_AND_BRO - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SIS_AND_BRO - .string "LILA & ROY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_LilaAndRoy5 - -@ LISA_AND_RAY - .byte 0 @ party type flags - .byte TRAINER_CLASS_SIS_AND_BRO - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SIS_AND_BRO - .string "LISA & RAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_LisaAndRay - -@ CHRIS - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "CHRIS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Chris - -@ DAWSON - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_RICH_BOY - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_RICH_BOY - .string "DAWSON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Dawson - -@ SARAH - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LADY - .string "SARAH$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Sarah - -@ DARIAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "DARIAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Darian - -@ HAILEY - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_F - .string "HAILEY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Hailey - -@ CHANDLER - .byte 0 @ party type flags - .byte TRAINER_CLASS_TUBER_2 - .byte TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_TUBER_M - .string "CHANDLER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Chandler - -@ KALEB - .byte F_TRAINER_PARTY_HELD_ITEM @ party type flags - .byte TRAINER_CLASS_POKEFAN - .byte TRAINER_ENCOUNTER_MUSIC_TWINS @ gender flag and encounter music - .byte TRAINER_PIC_WINSTRATE_M - .string "KALEB$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Kaleb - -@ JOSEPH - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "JOSEPH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Joseph - -@ ALYSSA - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_CYCLING_TRIATHLETE_F - .string "ALYSSA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Alyssa - -@ MARCOS - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "MARCOS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Marcos - -@ RHETT - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "RHETT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Rhett - -@ TYRON - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "TYRON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Tyron - -@ CELINA - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "CELINA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Celina - -@ BIANCA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "BIANCA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Bianca - -@ HAYDEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "HAYDEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Hayden - -@ SOPHIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "SOPHIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Sophie - -@ COBY - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "COBY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Coby - -@ LAWRENCE - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "LAWRENCE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Lawrence - -@ WYATT - .byte 0 @ party type flags - .byte TRAINER_CLASS_POKEMANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_POKEMANIAC - .string "WYATT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Wyatt - -@ ANGELINA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "ANGELINA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Angelina - -@ KAI - .byte 0 @ party type flags - .byte TRAINER_CLASS_FISHERMAN - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_FISHERMAN - .string "KAI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Kai - -@ CHARLOTTE - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "CHARLOTTE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Charlotte - -@ DEANDRE - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "DEANDRE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Deandre - -@ GRUNT_38 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt38 - -@ GRUNT_39 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt39 - -@ GRUNT_40 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt40 - -@ GRUNT_41 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt41 - -@ GRUNT_42 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Grunt42 - -@ GRUNT_43 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt43 - -@ GRUNT_44 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt44 - -@ GRUNT_45 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt45 - -@ GRUNT_46 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt46 - -@ GRUNT_47 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt47 - -@ GRUNT_48 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt48 - -@ GRUNT_49 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt49 - -@ GRUNT_50 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_M - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt50 - -@ GRUNT_51 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt51 - -@ GRUNT_52 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt52 - -@ GRUNT_53 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TEAM_MAGMA - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_GRUNT_F - .string "GRUNT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Grunt53 - -@ TABITHA_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_MAGMA_ADMIN - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_ADMIN - .string "TABITHA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Tabitha3 - -@ DARCY - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "DARCY$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Darcy - -@ MAXIE_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_MAGMA_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MAGMA @ gender flag and encounter music - .byte TRAINER_PIC_MAGMA_LEADER_MAXIE - .string "MAXIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Maxie3 - -@ PETE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_M - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_M - .string "PETE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Pete - -@ ISABELLE - .byte 0 @ party type flags - .byte TRAINER_CLASS_SWIMMER_F - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMER_F - .string "ISABELLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Isabelle - -@ ANDRES_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "ANDRES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Andres1 - -@ JOSUE - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "JOSUE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Josue - -@ CAMRON - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "CAMRON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Camron - -@ CORY_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "CORY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Cory1 - -@ CAROLINA - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "CAROLINA$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Carolina - -@ ELIJAH - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "ELIJAH$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Elijah - -@ CELIA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PICNICKER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL @ gender flag and encounter music - .byte TRAINER_PIC_PICNICKER - .string "CELIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Celia - -@ BRYAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "BRYAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Bryan - -@ BRANDEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_CAMPER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_CAMPER - .string "BRANDEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Branden - -@ BRYANT - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "BRYANT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Bryant - -@ SHAYLA - .byte 0 @ party type flags - .byte TRAINER_CLASS_AROMA_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_AROMA_LADY - .string "SHAYLA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Shayla - -@ KYRA - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_F - .string "KYRA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Kyra - -@ JAIDEN - .byte 0 @ party type flags - .byte TRAINER_CLASS_NINJA_BOY - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_NINJA_BOY - .string "JAIDEN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Jaiden - -@ ALIX - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "ALIX$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Alix - -@ HELENE - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "HELENE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Helene - -@ MARLENE - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "MARLENE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Marlene - -@ DEVAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "DEVAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Devan - -@ JOHNSON - .byte 0 @ party type flags - .byte TRAINER_CLASS_YOUNGSTER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_YOUNGSTER - .string "JOHNSON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Johnson - -@ MELINA - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_RUNNING_TRIATHLETE_F - .string "MELINA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Melina - -@ BRANDI - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "BRANDI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brandi - -@ AISHA - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "AISHA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Aisha - -@ MAKAYLA - .byte 0 @ party type flags - .byte TRAINER_CLASS_EXPERT - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_EXPERT_F - .string "MAKAYLA$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Makayla - -@ FABIAN - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "FABIAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Fabian - -@ DAYTON - .byte 0 @ party type flags - .byte TRAINER_CLASS_KINDLER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_KINDLER - .string "DAYTON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Dayton - -@ RACHEL - .byte 0 @ party type flags - .byte TRAINER_CLASS_PARASOL_LADY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_PARASOL_LADY - .string "RACHEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Rachel - -@ LEONEL - .byte F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_M - .string "LEONEL$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Leonel - -@ CALLIE - .byte 0 @ party type flags - .byte TRAINER_CLASS_BATTLE_GIRL - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BATTLE_GIRL - .string "CALLIE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Callie - -@ CALE - .byte 0 @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "CALE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cale - -@ MYLES - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_M - .string "MYLES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Myles - -@ PAT - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "PAT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Pat - -@ CRISTIN_1 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "CRISTIN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cristin1 - -@ MAY_14 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_May14 - -@ MAY_15 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_May15 - -@ ROXANNE_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_ROXANNE - .string "ROXANNE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Roxanne2 - -@ ROXANNE_3 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_ROXANNE - .string "ROXANNE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Roxanne3 - -@ ROXANNE_4 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_ROXANNE - .string "ROXANNE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Roxanne4 - -@ ROXANNE_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_ROXANNE - .string "ROXANNE$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Roxanne5 - -@ BRAWLY_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_BRAWLY - .string "BRAWLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Brawly2 - -@ BRAWLY_3 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_BRAWLY - .string "BRAWLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Brawly3 - -@ BRAWLY_4 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_BRAWLY - .string "BRAWLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Brawly4 - -@ BRAWLY_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_BRAWLY - .string "BRAWLY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Brawly5 - -@ WATTSON_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WATTSON - .string "WATTSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Wattson2 - -@ WATTSON_3 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WATTSON - .string "WATTSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Wattson3 - -@ WATTSON_4 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WATTSON - .string "WATTSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Wattson4 - -@ WATTSON_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WATTSON - .string "WATTSON$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Wattson5 - -@ FLANNERY_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_FLANNERY - .string "FLANNERY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Flannery2 - -@ FLANNERY_3 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_FLANNERY - .string "FLANNERY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Flannery3 - -@ FLANNERY_4 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_FLANNERY - .string "FLANNERY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Flannery4 - -@ FLANNERY_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_FLANNERY - .string "FLANNERY$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Flannery5 - -@ NORMAN_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_NORMAN - .string "NORMAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 4 @ party size - .4byte gTrainerParty_Norman2 - -@ NORMAN_3 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_NORMAN - .string "NORMAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Norman3 - -@ NORMAN_4 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_NORMAN - .string "NORMAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Norman4 - -@ NORMAN_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_NORMAN - .string "NORMAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Norman5 - -@ WINONA_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WINONA - .string "WINONA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x17 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Winona2 - -@ WINONA_3 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WINONA - .string "WINONA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x17 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Winona3 - -@ WINONA_4 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WINONA - .string "WINONA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x17 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Winona4 - -@ WINONA_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_WINONA - .string "WINONA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x17 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Winona5 - -@ TATE_AND_LIZA_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_TATE_AND_LIZA - .string "TATE&LIZA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_TateAndLiza2 - -@ TATE_AND_LIZA_3 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_TATE_AND_LIZA - .string "TATE&LIZA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_TateAndLiza3 - -@ TATE_AND_LIZA_4 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_TATE_AND_LIZA - .string "TATE&LIZA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_TateAndLiza4 - -@ TATE_AND_LIZA_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_TATE_AND_LIZA - .string "TATE&LIZA$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_TateAndLiza5 - -@ JUAN_2 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_JUAN - .string "JUAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Juan2 - -@ JUAN_3 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_JUAN - .string "JUAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 5 @ party size - .4byte gTrainerParty_Juan3 - -@ JUAN_4 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_JUAN - .string "JUAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Juan4 - -@ JUAN_5 - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_LEADER - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEADER_JUAN - .string "JUAN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE @ items - .4byte TRUE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Juan5 - -@ ANGELO - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_BUG_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS @ gender flag and encounter music - .byte TRAINER_PIC_BUG_MANIAC - .string "ANGELO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Angelo - -@ DARIUS - .byte 0 @ party type flags - .byte TRAINER_CLASS_BIRD_KEEPER - .byte TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_BIRD_KEEPER - .string "DARIUS$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Darius - -@ STEVEN - .byte F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_STEVEN - .string "STEVEN$", 12 - .2byte ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Steven - -@ ANABEL - .byte 0 @ party type flags - .byte TRAINER_CLASS_SALON_MAIDEN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SALON_MAIDEN_ANABEL - .string "ANABEL$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Anabel - -@ TUCKER - .byte 0 @ party type flags - .byte TRAINER_CLASS_DOME_ACE - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_DOME_ACE_TUCKER - .string "TUCKER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Tucker - -@ SPENSER - .byte 0 @ party type flags - .byte TRAINER_CLASS_PALACE_MAVEN - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_PALACE_MAVEN_SPENSER - .string "SPENSER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Spenser - -@ GRETA - .byte 0 @ party type flags - .byte TRAINER_CLASS_ARENA_TYCOON - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_ARENA_TYCOON_GRETA - .string "GRETA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Greta - -@ NOLAND - .byte 0 @ party type flags - .byte TRAINER_CLASS_FACTORY_HEAD - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_FACTORY_HEAD_NOLAND - .string "NOLAND$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Noland - -@ LUCY - .byte 0 @ party type flags - .byte TRAINER_CLASS_PIKE_QUEEN - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_PIKE_QUEEN_LUCY - .string "LUCY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Lucy - -@ BRANDON - .byte 0 @ party type flags - .byte TRAINER_CLASS_PYRAMID_KING - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_PYRAMID_KING_BRANDON - .string "BRANDON$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brandon - -@ ANDRES_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "ANDRES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Andres2 - -@ ANDRES_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "ANDRES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Andres3 - -@ ANDRES_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "ANDRES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Andres4 - -@ ANDRES_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_RUIN_MANIAC - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_RUIN_MANIAC - .string "ANDRES$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Andres5 - -@ CORY_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "CORY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Cory2 - -@ CORY_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "CORY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Cory3 - -@ CORY_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "CORY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Cory4 - -@ CORY_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_SAILOR - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_SAILOR - .string "CORY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Cory5 - -@ PABLO_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "PABLO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Pablo2 - -@ PABLO_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "PABLO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Pablo3 - -@ PABLO_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "PABLO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Pablo4 - -@ PABLO_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_TRIATHLETE - .byte TRAINER_ENCOUNTER_MUSIC_SWIMMER @ gender flag and encounter music - .byte TRAINER_PIC_SWIMMING_TRIATHLETE_M - .string "PABLO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Pablo5 - -@ KOJI_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "KOJI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Koji2 - -@ KOJI_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "KOJI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Koji3 - -@ KOJI_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "KOJI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Koji4 - -@ KOJI_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BLACK_BELT - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_BLACK_BELT - .string "KOJI$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Koji5 - -@ CRISTIN_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "CRISTIN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Cristin2 - -@ CRISTIN_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "CRISTIN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Cristin3 - -@ CRISTIN_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "CRISTIN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Cristin4 - -@ CRISTIN_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_COOLTRAINER_1 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL @ gender flag and encounter music - .byte TRAINER_PIC_COOL_TRAINER_F - .string "CRISTIN$", 12 - .2byte ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Cristin5 - -@ FERNANDO_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "FERNANDO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Fernando2 - -@ FERNANDO_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "FERNANDO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Fernando3 - -@ FERNANDO_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "FERNANDO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Fernando4 - -@ FERNANDO_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_GUITARIST - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_GUITARIST - .string "FERNANDO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Fernando5 - -@ SAWYER_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "SAWYER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Sawyer2 - -@ SAWYER_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "SAWYER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Sawyer3 - -@ SAWYER_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "SAWYER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Sawyer4 - -@ SAWYER_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_HIKER - .byte TRAINER_ENCOUNTER_MUSIC_HIKER @ gender flag and encounter music - .byte TRAINER_PIC_HIKER - .string "SAWYER$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x7 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Sawyer5 - -@ GABRIELLE_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "GABRIELLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Gabrielle2 - -@ GABRIELLE_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "GABRIELLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Gabrielle3 - -@ GABRIELLE_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "GABRIELLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Gabrielle4 - -@ GABRIELLE_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_BREEDER - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_POKEMON_BREEDER_F - .string "GABRIELLE$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 6 @ party size - .4byte gTrainerParty_Gabrielle5 - -@ THALIA_2 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "THALIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Thalia2 - -@ THALIA_3 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "THALIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Thalia3 - -@ THALIA_4 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "THALIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Thalia4 - -@ THALIA_5 - .byte 0 @ party type flags - .byte TRAINER_CLASS_BEAUTY - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE @ gender flag and encounter music - .byte TRAINER_PIC_BEAUTY - .string "THALIA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x1 @ AI flags - .4byte 3 @ party size - .4byte gTrainerParty_Thalia5 - -@ MARIELA - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_F - .string "MARIELA$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Mariela - -@ ALVARO - .byte 0 @ party type flags - .byte TRAINER_CLASS_PSYCHIC - .byte TRAINER_ENCOUNTER_MUSIC_INTENSE @ gender flag and encounter music - .byte TRAINER_PIC_PSYCHIC_M - .string "ALVARO$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 2 @ party size - .4byte gTrainerParty_Alvaro - -@ EVERETT - .byte 0 @ party type flags - .byte TRAINER_CLASS_GENTLEMAN - .byte TRAINER_ENCOUNTER_MUSIC_RICH @ gender flag and encounter music - .byte TRAINER_PIC_GENTLEMAN - .string "EVERETT$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Everett - -@ RED - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_RED - .string "RED$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Red - -@ LEAF - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_3 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_LEAF - .string "LEAF$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Leaf - -@ BRENDAN_16 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_4 - .byte TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN - .string "BRENDAN$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_Brendan16 - -@ MAY_16 - .byte 0 @ party type flags - .byte TRAINER_CLASS_PKMN_TRAINER_4 - .byte F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE @ gender flag and encounter music - .byte TRAINER_PIC_RUBY_SAPPHIRE_MAY - .string "MAY$", 12 - .2byte ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE @ items - .4byte FALSE @ is double battle - .4byte 0x0 @ AI flags - .4byte 1 @ party size - .4byte gTrainerParty_May16 diff --git a/graphics/misc/deoxys1.pal b/graphics/misc/deoxys1.pal new file mode 100644 index 000000000..d90c4cb38 --- /dev/null +++ b/graphics/misc/deoxys1.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +180 180 180 +148 148 148 +90 90 98 +57 57 74 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +222 222 222 +0 0 0 diff --git a/graphics/misc/deoxys10.pal b/graphics/misc/deoxys10.pal new file mode 100644 index 000000000..8bdd860fb --- /dev/null +++ b/graphics/misc/deoxys10.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +246 197 156 +238 82 82 +189 32 32 +123 8 8 +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 0 0 diff --git a/graphics/misc/deoxys11.pal b/graphics/misc/deoxys11.pal new file mode 100644 index 000000000..9a9ee2530 --- /dev/null +++ b/graphics/misc/deoxys11.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 205 156 +255 82 82 +205 32 32 +131 8 8 +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 0 0 diff --git a/graphics/misc/deoxys2.pal b/graphics/misc/deoxys2.pal new file mode 100644 index 000000000..38806db0f --- /dev/null +++ b/graphics/misc/deoxys2.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +180 180 172 +156 139 139 +98 82 90 +57 49 65 +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 0 0 diff --git a/graphics/misc/deoxys3.pal b/graphics/misc/deoxys3.pal new file mode 100644 index 000000000..24db0e343 --- /dev/null +++ b/graphics/misc/deoxys3.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +189 180 172 +164 131 131 +106 74 82 +65 41 57 +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 0 0 diff --git a/graphics/misc/deoxys4.pal b/graphics/misc/deoxys4.pal new file mode 100644 index 000000000..5db08f366 --- /dev/null +++ b/graphics/misc/deoxys4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +197 180 172 +172 123 123 +123 65 74 +74 41 49 +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 0 0 diff --git a/graphics/misc/deoxys5.pal b/graphics/misc/deoxys5.pal new file mode 100644 index 000000000..25a62aae6 --- /dev/null +++ b/graphics/misc/deoxys5.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +205 189 164 +189 115 115 +131 65 65 +82 32 41 +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 0 0 diff --git a/graphics/misc/deoxys6.pal b/graphics/misc/deoxys6.pal new file mode 100644 index 000000000..0f636873e --- /dev/null +++ b/graphics/misc/deoxys6.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +213 189 164 +197 115 115 +148 57 65 +90 32 41 +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 0 0 diff --git a/graphics/misc/deoxys7.pal b/graphics/misc/deoxys7.pal new file mode 100644 index 000000000..2dba57eef --- /dev/null +++ b/graphics/misc/deoxys7.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +222 189 164 +205 106 106 +156 49 57 +98 24 32 +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 0 0 diff --git a/graphics/misc/deoxys8.pal b/graphics/misc/deoxys8.pal new file mode 100644 index 000000000..d46c26996 --- /dev/null +++ b/graphics/misc/deoxys8.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +230 197 156 +222 98 98 +164 49 49 +106 16 24 +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 0 0 diff --git a/graphics/misc/deoxys9.pal b/graphics/misc/deoxys9.pal new file mode 100644 index 000000000..f65fee065 --- /dev/null +++ b/graphics/misc/deoxys9.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +238 197 156 +230 90 90 +180 41 41 +115 16 16 +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 0 0 diff --git a/graphics/unknown/unknown_5B3280.pal b/graphics/unknown/unknown_5B3280.pal deleted file mode 100644 index a23813afb..000000000 --- a/graphics/unknown/unknown_5B3280.pal +++ /dev/null @@ -1,179 +0,0 @@ -JASC-PAL -0100 -176 -115 197 164 -180 180 180 -148 148 148 -90 90 98 -57 57 74 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -255 0 255 -222 222 222 -0 0 0 -115 197 164 -180 180 172 -156 139 139 -98 82 90 -57 49 65 -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 0 0 -115 197 164 -189 180 172 -164 131 131 -106 74 82 -65 41 57 -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 0 0 -115 197 164 -197 180 172 -172 123 123 -123 65 74 -74 41 49 -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 0 0 -115 197 164 -205 189 164 -189 115 115 -131 65 65 -82 32 41 -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 0 0 -115 197 164 -213 189 164 -197 115 115 -148 57 65 -90 32 41 -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 0 0 -115 197 164 -222 189 164 -205 106 106 -156 49 57 -98 24 32 -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 0 0 -115 197 164 -230 197 156 -222 98 98 -164 49 49 -106 16 24 -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 0 0 -115 197 164 -238 197 156 -230 90 90 -180 41 41 -115 16 16 -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 0 0 -115 197 164 -246 197 156 -238 82 82 -189 32 32 -123 8 8 -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 0 0 -115 197 164 -255 205 156 -255 82 82 -205 32 32 -131 8 8 -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 0 0 diff --git a/include/battle.h b/include/battle.h index bd7ba4b35..fae21908b 100644 --- a/include/battle.h +++ b/include/battle.h @@ -106,10 +106,10 @@ struct TrainerMonItemCustomMoves union TrainerMonPtr { - struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; - struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; - struct TrainerMonItemDefaultMoves *ItemDefaultMoves; - struct TrainerMonItemCustomMoves *ItemCustomMoves; + const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; + const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; + const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; + const struct TrainerMonItemCustomMoves *ItemCustomMoves; }; struct Trainer @@ -568,10 +568,11 @@ struct BattleStruct } #define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8 +#define GET_STAT_BUFF_VALUE2(n)((n & 0xF0)) #define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40 #define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit -#define SET_STAT_BUFF_VALUE(n)(((s8)(((s8)(n) << 4)) & 0xF0)) +#define SET_STAT_BUFF_VALUE(n)((((n) << 4) & 0xF0)) #define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) @@ -592,7 +593,7 @@ struct BattleScripting u8 animTurn; u8 animTargetsHit; u8 statChanger; - u8 field_1B; + bool8 statAnimPlayed; u8 atk23_state; u8 battleStyle; u8 atk6C_state; diff --git a/include/battle_tower.h b/include/battle_tower.h index d8a3dc9a8..e1655f2c6 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -42,5 +42,6 @@ void sub_81628A0(union BattleTowerRecord *); void sub_8162614(u16 trainerId, u8); void ConvertBattleFrontierTrainerSpeechToString(u16 *words); void GetFrontierTrainerName(u8 *dest, u16 trainerIdx); +void GetEreaderTrainerName(u8 *dest); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/battle_util.h b/include/battle_util.h index 0531966df..be9b5f1fe 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -59,8 +59,8 @@ u8 TrySetCantSelectMoveBattleScript(void); u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check); bool8 AreAllMovesUnusable(void); u8 GetImprisonedMovesCount(u8 battlerId, u16 move); -u8 UpdateTurnCounters(void); -u8 TurnBasedEffects(void); +u8 DoFieldEndTurnEffects(void); +u8 DoBattlerEndTurnEffects(void); bool8 HandleWishPerishSongOnTurnEnd(void); bool8 HandleFaintedMonActions(void); void TryClearRageStatuses(void); diff --git a/include/cable_club.h b/include/cable_club.h index 44831235c..8be376721 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -1,6 +1,8 @@ #ifndef GUARD_CABLE_CLUB_H #define GUARD_CABLE_CLUB_H +#include "task.h" + // Exported type declarations // Exported RAM declarations @@ -9,5 +11,8 @@ void sub_80B37D4(TaskFunc taskFunc); u8 sub_80B3050(void); +void sub_80B360C(void); +bool32 sub_80B2AF4(u16 *arg0, u16 *arg1); +void sub_80B3AF8(u8 taskId); #endif //GUARD_CABLE_CLUB_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index c820a1114..84ec9d512 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -17,7 +17,7 @@ #define sB_ANIM_TURN gBattleScripting + 0x18 #define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19 #define sSTATCHANGER gBattleScripting + 0x1A -#define sFIELD_1B gBattleScripting + 0x1B +#define sSTAT_ANIM_PLAYED gBattleScripting + 0x1B #define sGIVEEXP_STATE gBattleScripting + 0x1C #define sBATTLE_STYLE gBattleScripting + 0x1D #define sLVLBOX_STATE gBattleScripting + 0x1E @@ -91,7 +91,16 @@ // atk48 #define ATK48_STAT_NEGATIVE 0x1 #define ATK48_STAT_BY_TWO 0x2 -#define ATK48_BIT_x4 0x4 +#define ATK48_ONLY_MULTIPLE 0x4 #define ATK48_DONT_CHECK_LOWER 0x8 +#define BIT_HP 0x1 +#define BIT_ATK 0x2 +#define BIT_DEF 0x4 +#define BIT_SPEED 0x8 +#define BIT_SPATK 0x10 +#define BIT_SPDEF 0x20 +#define BIT_ACC 0x40 +#define BIT_EVASION 0x80 + #endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 641d74f19..6c1400410 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -199,7 +199,7 @@ #define FLAG_0x0C4 0xC4 #define FLAG_0x0C5 0xC5 #define FLAG_0x0C6 0xC6 -#define FLAG_0x0C7 0xC7 +#define FLAG_RUSTURF_TUNNEL_OPENED 0xC7 #define FLAG_0x0C8 0xC8 #define FLAG_0x0C9 0xC9 #define FLAG_0x0CA 0xCA @@ -532,10 +532,10 @@ #define FLAG_0x210 0x210 #define FLAG_0x211 0x211 #define FLAG_0x212 0x212 -#define FLAG_0x213 0x213 -#define FLAG_0x214 0x214 -#define FLAG_0x215 0x215 -#define FLAG_0x216 0x216 +#define FLAG_HIDDEN_ITEM_1F 0x213 +#define FLAG_HIDDEN_ITEM_20 0x214 +#define FLAG_HIDDEN_ITEM_21 0x215 +#define FLAG_HIDDEN_ITEM_22 0x216 #define FLAG_0x217 0x217 #define FLAG_0x218 0x218 #define FLAG_0x219 0x219 @@ -597,7 +597,7 @@ #define FLAG_0x251 0x251 #define FLAG_0x252 0x252 #define FLAG_0x253 0x253 -#define FLAG_0x254 0x254 +#define FLAG_HIDDEN_ITEM_BLACK_GLASSES 0x254 #define FLAG_0x255 0x255 #define FLAG_0x256 0x256 #define FLAG_0x257 0x257 @@ -790,10 +790,10 @@ #define FLAG_0x312 0x312 #define FLAG_0x313 0x313 #define FLAG_0x314 0x314 -#define FLAG_0x315 0x315 -#define FLAG_0x316 0x316 -#define FLAG_0x317 0x317 -#define FLAG_0x318 0x318 +#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315 +#define FLAG_HIDE_FANCLUB_BOY 0x316 +#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x317 +#define FLAG_HIDE_FANCLUB_LADY 0x318 #define FLAG_0x319 0x319 #define FLAG_0x31A 0x31A #define FLAG_0x31B 0x31B @@ -932,8 +932,8 @@ #define FLAG_0x3A0 0x3A0 #define FLAG_0x3A1 0x3A1 #define FLAG_0x3A2 0x3A2 -#define FLAG_0x3A3 0x3A3 -#define FLAG_0x3A4 0x3A4 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3 +#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4 #define FLAG_0x3A5 0x3A5 #define FLAG_0x3A6 0x3A6 #define FLAG_0x3A7 0x3A7 diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h new file mode 100644 index 000000000..64c8956a9 --- /dev/null +++ b/include/constants/heal_locations.h @@ -0,0 +1,27 @@ +#ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H +#define GUARD_CONSTANTS_HEAL_LOCATIONS_H + +#define HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1 +#define HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F 2 +#define HEAL_LOCATION_PETALBURG_CITY 3 +#define HEAL_LOCATION_SLATEPORT_CITY 4 +#define HEAL_LOCATION_MAUVILLE_CITY 5 +#define HEAL_LOCATION_RUSTBORO_CITY 6 +#define HEAL_LOCATION_FORTREE_CITY 7 +#define HEAL_LOCATION_LILYCOVE_CITY 8 +#define HEAL_LOCATION_MOSSDEEP_CITY 9 +#define HEAL_LOCATION_SOOTOPOLIS_CITY 10 +#define HEAL_LOCATION_EVER_GRANDE_CITY_1 11 +#define HEAL_LOCATION_LITTLEROOT_TOWN_1 12 +#define HEAL_LOCATION_LITTLEROOT_TOWN_2 13 +#define HEAL_LOCATION_OLDALE_TOWN 14 +#define HEAL_LOCATION_DEWFORD_TOWN 15 +#define HEAL_LOCATION_LAVARIDGE_TOWN 16 +#define HEAL_LOCATION_FALLARBOR_TOWN 17 +#define HEAL_LOCATION_VERDANTURF_TOWN 18 +#define HEAL_LOCATION_PACIFIDLOG_TOWN 19 +#define HEAL_LOCATION_EVER_GRANDE_CITY_2 20 +#define HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR 21 +#define HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST 22 + +#endif // GUARD_CONSTANTS_HEAL_LOCATIONS_H diff --git a/include/constants/opponents.h b/include/constants/opponents.h index 680a63763..9f74baf67 100644 --- a/include/constants/opponents.h +++ b/include/constants/opponents.h @@ -1,860 +1,862 @@ #ifndef GUARD_CONSTANTS_OPPONENTS_H #define GUARD_CONSTANTS_OPPONENTS_H -#define OPPONENT_NONE 0 -#define OPPONENT_SAWYER_1 1 -#define OPPONENT_GRUNT_1 2 -#define OPPONENT_GRUNT_2 3 -#define OPPONENT_GRUNT_3 4 -#define OPPONENT_GRUNT_4 5 -#define OPPONENT_GRUNT_5 6 -#define OPPONENT_GRUNT_6 7 -#define OPPONENT_GRUNT_7 8 -#define OPPONENT_GABRIELLE_1 9 -#define OPPONENT_GRUNT_8 10 -#define OPPONENT_MARCEL 11 -#define OPPONENT_ALBERTO 12 -#define OPPONENT_ED 13 -#define OPPONENT_GRUNT_9 14 -#define OPPONENT_DECLAN 15 -#define OPPONENT_GRUNT_10 16 -#define OPPONENT_GRUNT_11 17 -#define OPPONENT_GRUNT_12 18 -#define OPPONENT_GRUNT_13 19 -#define OPPONENT_GRUNT_14 20 -#define OPPONENT_GRUNT_15 21 -#define OPPONENT_GRUNT_16 22 -#define OPPONENT_GRUNT_17 23 -#define OPPONENT_GRUNT_18 24 -#define OPPONENT_GRUNT_19 25 -#define OPPONENT_GRUNT_20 26 -#define OPPONENT_GRUNT_21 27 -#define OPPONENT_GRUNT_22 28 -#define OPPONENT_FREDRICK 29 -#define OPPONENT_MATT_1 30 -#define OPPONENT_ZANDER 31 -#define OPPONENT_SHELLY_1 32 -#define OPPONENT_SHELLY_2 33 -#define OPPONENT_ARCHIE 34 -#define OPPONENT_LEAH 35 -#define OPPONENT_DAISY 36 -#define OPPONENT_ROSE_1 37 -#define OPPONENT_FELIX 38 -#define OPPONENT_VIOLET 39 -#define OPPONENT_ROSE_2 40 -#define OPPONENT_ROSE_3 41 -#define OPPONENT_ROSE_4 42 -#define OPPONENT_ROSE_5 43 -#define OPPONENT_DUSTY_1 44 -#define OPPONENT_CHIP 45 -#define OPPONENT_FOSTER 46 -#define OPPONENT_DUSTY_2 47 -#define OPPONENT_DUSTY_3 48 -#define OPPONENT_DUSTY_4 49 -#define OPPONENT_DUSTY_5 50 -#define OPPONENT_GABBY_AND_TY_1 51 -#define OPPONENT_GABBY_AND_TY_2 52 -#define OPPONENT_GABBY_AND_TY_3 53 -#define OPPONENT_GABBY_AND_TY_4 54 -#define OPPONENT_GABBY_AND_TY_5 55 -#define OPPONENT_GABBY_AND_TY_6 56 -#define OPPONENT_LOLA_1 57 -#define OPPONENT_AUSTINA 58 -#define OPPONENT_GWEN 59 -#define OPPONENT_LOLA_2 60 -#define OPPONENT_LOLA_3 61 -#define OPPONENT_LOLA_4 62 -#define OPPONENT_LOLA_5 63 -#define OPPONENT_RICKY_1 64 -#define OPPONENT_SIMON 65 -#define OPPONENT_CHARLIE 66 -#define OPPONENT_RICKY_2 67 -#define OPPONENT_RICKY_3 68 -#define OPPONENT_RICKY_4 69 -#define OPPONENT_RICKY_5 70 -#define OPPONENT_RANDALL 71 -#define OPPONENT_PARKER 72 -#define OPPONENT_GEORGE 73 -#define OPPONENT_BERKE 74 -#define OPPONENT_BRAXTON 75 -#define OPPONENT_VINCENT 76 -#define OPPONENT_LEROY 77 -#define OPPONENT_WILTON_1 78 -#define OPPONENT_EDGAR 79 -#define OPPONENT_ALBERT 80 -#define OPPONENT_SAMUEL 81 -#define OPPONENT_VITO 82 -#define OPPONENT_OWEN 83 -#define OPPONENT_WILTON_2 84 -#define OPPONENT_WILTON_3 85 -#define OPPONENT_WILTON_4 86 -#define OPPONENT_WILTON_5 87 -#define OPPONENT_WARREN 88 -#define OPPONENT_MARY 89 -#define OPPONENT_ALEXIA 90 -#define OPPONENT_JODY 91 -#define OPPONENT_WENDY 92 -#define OPPONENT_KEIRA 93 -#define OPPONENT_BROOKE_1 94 -#define OPPONENT_JENNIFER 95 -#define OPPONENT_HOPE 96 -#define OPPONENT_SHANNON 97 -#define OPPONENT_MICHELLE 98 -#define OPPONENT_CAROLINE 99 -#define OPPONENT_JULIE 100 -#define OPPONENT_BROOKE_2 101 -#define OPPONENT_BROOKE_3 102 -#define OPPONENT_BROOKE_4 103 -#define OPPONENT_BROOKE_5 104 -#define OPPONENT_PATRICIA 105 -#define OPPONENT_KINDRA 106 -#define OPPONENT_TAMMY 107 -#define OPPONENT_VALERIE_1 108 -#define OPPONENT_TASHA 109 -#define OPPONENT_VALERIE_2 110 -#define OPPONENT_VALERIE_3 111 -#define OPPONENT_VALERIE_4 112 -#define OPPONENT_VALERIE_5 113 -#define OPPONENT_CINDY_1 114 -#define OPPONENT_DAPHNE 115 -#define OPPONENT_GRUNT_23 116 -#define OPPONENT_CINDY_2 117 -#define OPPONENT_BRIANNA 118 -#define OPPONENT_NAOMI 119 -#define OPPONENT_CINDY_3 120 -#define OPPONENT_CINDY_4 121 -#define OPPONENT_CINDY_5 122 -#define OPPONENT_CINDY_6 123 -#define OPPONENT_MELISSA 124 -#define OPPONENT_SHEILA 125 -#define OPPONENT_SHIRLEY 126 -#define OPPONENT_JESSICA_1 127 -#define OPPONENT_CONNIE 128 -#define OPPONENT_BRIDGET 129 -#define OPPONENT_OLIVIA 130 -#define OPPONENT_TIFFANY 131 -#define OPPONENT_JESSICA_2 132 -#define OPPONENT_JESSICA_3 133 -#define OPPONENT_JESSICA_4 134 -#define OPPONENT_JESSICA_5 135 -#define OPPONENT_WINSTON_1 136 -#define OPPONENT_MOLLIE 137 -#define OPPONENT_GARRET 138 -#define OPPONENT_WINSTON_2 139 -#define OPPONENT_WINSTON_3 140 -#define OPPONENT_WINSTON_4 141 -#define OPPONENT_WINSTON_5 142 -#define OPPONENT_STEVE_1 143 -#define OPPONENT_THALIA_1 144 -#define OPPONENT_MARK 145 -#define OPPONENT_GRUNT_24 146 -#define OPPONENT_STEVE_2 147 -#define OPPONENT_STEVE_3 148 -#define OPPONENT_STEVE_4 149 -#define OPPONENT_STEVE_5 150 -#define OPPONENT_LUIS 151 -#define OPPONENT_DOMINIK 152 -#define OPPONENT_DOUGLAS 153 -#define OPPONENT_DARRIN 154 -#define OPPONENT_TONY_1 155 -#define OPPONENT_JEROME 156 -#define OPPONENT_MATTHEW 157 -#define OPPONENT_DAVID 158 -#define OPPONENT_SPENCER 159 -#define OPPONENT_ROLAND 160 -#define OPPONENT_NOLEN 161 -#define OPPONENT_STAN 162 -#define OPPONENT_BARRY 163 -#define OPPONENT_DEAN 164 -#define OPPONENT_RODNEY 165 -#define OPPONENT_RICHARD 166 -#define OPPONENT_HERMAN 167 -#define OPPONENT_SANTIAGO 168 -#define OPPONENT_GILBERT 169 -#define OPPONENT_FRANKLIN 170 -#define OPPONENT_KEVIN 171 -#define OPPONENT_JACK 172 -#define OPPONENT_DUDLEY 173 -#define OPPONENT_CHAD 174 -#define OPPONENT_TONY_2 175 -#define OPPONENT_TONY_3 176 -#define OPPONENT_TONY_4 177 -#define OPPONENT_TONY_5 178 -#define OPPONENT_TAKAO 179 -#define OPPONENT_HITOSHI 180 -#define OPPONENT_KIYO 181 -#define OPPONENT_KOICHI 182 -#define OPPONENT_NOB_1 183 -#define OPPONENT_NOB_2 184 -#define OPPONENT_NOB_3 185 -#define OPPONENT_NOB_4 186 -#define OPPONENT_NOB_5 187 -#define OPPONENT_YUJI 188 -#define OPPONENT_DAISUKE 189 -#define OPPONENT_ATSUSHI 190 -#define OPPONENT_KIRK 191 -#define OPPONENT_GRUNT_25 192 -#define OPPONENT_GRUNT_26 193 -#define OPPONENT_SHAWN 194 -#define OPPONENT_FERNANDO_1 195 -#define OPPONENT_DALTON_1 196 -#define OPPONENT_DALTON_2 197 -#define OPPONENT_DALTON_3 198 -#define OPPONENT_DALTON_4 199 -#define OPPONENT_DALTON_5 200 -#define OPPONENT_COLE 201 -#define OPPONENT_JEFF 202 -#define OPPONENT_AXLE 203 -#define OPPONENT_JACE 204 -#define OPPONENT_KEEGAN 205 -#define OPPONENT_BERNIE_1 206 -#define OPPONENT_BERNIE_2 207 -#define OPPONENT_BERNIE_3 208 -#define OPPONENT_BERNIE_4 209 -#define OPPONENT_BERNIE_5 210 -#define OPPONENT_DREW 211 -#define OPPONENT_BEAU 212 -#define OPPONENT_LARRY 213 -#define OPPONENT_SHANE 214 -#define OPPONENT_JUSTIN 215 -#define OPPONENT_ETHAN_1 216 -#define OPPONENT_AUTUMN 217 -#define OPPONENT_TRAVIS 218 -#define OPPONENT_ETHAN_2 219 -#define OPPONENT_ETHAN_3 220 -#define OPPONENT_ETHAN_4 221 -#define OPPONENT_ETHAN_5 222 -#define OPPONENT_BRENT 223 -#define OPPONENT_DONALD 224 -#define OPPONENT_TAYLOR 225 -#define OPPONENT_JEFFREY_1 226 -#define OPPONENT_DEREK 227 -#define OPPONENT_JEFFREY_2 228 -#define OPPONENT_JEFFREY_3 229 -#define OPPONENT_JEFFREY_4 230 -#define OPPONENT_JEFFREY_5 231 -#define OPPONENT_EDWARD 232 -#define OPPONENT_PRESTON 233 -#define OPPONENT_VIRGIL 234 -#define OPPONENT_BLAKE 235 -#define OPPONENT_WILLIAM 236 -#define OPPONENT_JOSHUA 237 -#define OPPONENT_CAMERON_1 238 -#define OPPONENT_CAMERON_2 239 -#define OPPONENT_CAMERON_3 240 -#define OPPONENT_CAMERON_4 241 -#define OPPONENT_CAMERON_5 242 -#define OPPONENT_JACLYN 243 -#define OPPONENT_HANNAH 244 -#define OPPONENT_SAMANTHA 245 -#define OPPONENT_MAURA 246 -#define OPPONENT_KAYLA 247 -#define OPPONENT_ALEXIS 248 -#define OPPONENT_JACKI_1 249 -#define OPPONENT_JACKI_2 250 -#define OPPONENT_JACKI_3 251 -#define OPPONENT_JACKI_4 252 -#define OPPONENT_JACKI_5 253 -#define OPPONENT_WALTER_1 254 -#define OPPONENT_MICAH 255 -#define OPPONENT_THOMAS 256 -#define OPPONENT_WALTER_2 257 -#define OPPONENT_WALTER_3 258 -#define OPPONENT_WALTER_4 259 -#define OPPONENT_WALTER_5 260 -#define OPPONENT_SIDNEY 261 -#define OPPONENT_PHOEBE 262 -#define OPPONENT_GLACIA 263 -#define OPPONENT_DRAKE 264 -#define OPPONENT_ROXANNE_1 265 -#define OPPONENT_BRAWLY_1 266 -#define OPPONENT_WATTSON_1 267 -#define OPPONENT_FLANNERY_1 268 -#define OPPONENT_NORMAN_1 269 -#define OPPONENT_WINONA_1 270 -#define OPPONENT_TATE_AND_LIZA_1 271 -#define OPPONENT_JUAN_1 272 -#define OPPONENT_JERRY_1 273 -#define OPPONENT_TED 274 -#define OPPONENT_PAUL 275 -#define OPPONENT_JERRY_2 276 -#define OPPONENT_JERRY_3 277 -#define OPPONENT_JERRY_4 278 -#define OPPONENT_JERRY_5 279 -#define OPPONENT_KAREN_1 280 -#define OPPONENT_GEORGIA 281 -#define OPPONENT_KAREN_2 282 -#define OPPONENT_KAREN_3 283 -#define OPPONENT_KAREN_4 284 -#define OPPONENT_KAREN_5 285 -#define OPPONENT_KATE_AND_JOY 286 -#define OPPONENT_ANNA_AND_MEG_1 287 -#define OPPONENT_ANNA_AND_MEG_2 288 -#define OPPONENT_ANNA_AND_MEG_3 289 -#define OPPONENT_ANNA_AND_MEG_4 290 -#define OPPONENT_ANNA_AND_MEG_5 291 -#define OPPONENT_VICTOR 292 -#define OPPONENT_MIGUEL_1 293 -#define OPPONENT_COLTON 294 -#define OPPONENT_MIGUEL_2 295 -#define OPPONENT_MIGUEL_3 296 -#define OPPONENT_MIGUEL_4 297 -#define OPPONENT_MIGUEL_5 298 -#define OPPONENT_VICTORIA 299 -#define OPPONENT_VANESSA 300 -#define OPPONENT_BETHANY 301 -#define OPPONENT_ISABEL_1 302 -#define OPPONENT_ISABEL_2 303 -#define OPPONENT_ISABEL_3 304 -#define OPPONENT_ISABEL_4 305 -#define OPPONENT_ISABEL_5 306 -#define OPPONENT_TIMOTHY_1 307 -#define OPPONENT_TIMOTHY_2 308 -#define OPPONENT_TIMOTHY_3 309 -#define OPPONENT_TIMOTHY_4 310 -#define OPPONENT_TIMOTHY_5 311 -#define OPPONENT_VICKY 312 -#define OPPONENT_SHELBY_1 313 -#define OPPONENT_SHELBY_2 314 -#define OPPONENT_SHELBY_3 315 -#define OPPONENT_SHELBY_4 316 -#define OPPONENT_SHELBY_5 317 -#define OPPONENT_CALVIN_1 318 -#define OPPONENT_BILLY 319 -#define OPPONENT_JOSH 320 -#define OPPONENT_TOMMY 321 -#define OPPONENT_JOEY 322 -#define OPPONENT_BEN 323 -#define OPPONENT_QUINCY 324 -#define OPPONENT_KATELYNN 325 -#define OPPONENT_JAYLEN 326 -#define OPPONENT_DILLON 327 -#define OPPONENT_CALVIN_2 328 -#define OPPONENT_CALVIN_3 329 -#define OPPONENT_CALVIN_4 330 -#define OPPONENT_CALVIN_5 331 -#define OPPONENT_EDDIE 332 -#define OPPONENT_ALLEN 333 -#define OPPONENT_TIMMY 334 -#define OPPONENT_WALLACE 335 -#define OPPONENT_ANDREW 336 -#define OPPONENT_IVAN 337 -#define OPPONENT_CLAUDE 338 -#define OPPONENT_ELLIOT_1 339 -#define OPPONENT_NED 340 -#define OPPONENT_DALE 341 -#define OPPONENT_NOLAN 342 -#define OPPONENT_BARNY 343 -#define OPPONENT_WADE 344 -#define OPPONENT_CARTER 345 -#define OPPONENT_ELLIOT_2 346 -#define OPPONENT_ELLIOT_3 347 -#define OPPONENT_ELLIOT_4 348 -#define OPPONENT_ELLIOT_5 349 -#define OPPONENT_RONALD 350 -#define OPPONENT_JACOB 351 -#define OPPONENT_ANTHONY 352 -#define OPPONENT_BENJAMIN_1 353 -#define OPPONENT_BENJAMIN_2 354 -#define OPPONENT_BENJAMIN_3 355 -#define OPPONENT_BENJAMIN_4 356 -#define OPPONENT_BENJAMIN_5 357 -#define OPPONENT_ABIGAIL_1 358 -#define OPPONENT_JASMINE 359 -#define OPPONENT_ABIGAIL_2 360 -#define OPPONENT_ABIGAIL_3 361 -#define OPPONENT_ABIGAIL_4 362 -#define OPPONENT_ABIGAIL_5 363 -#define OPPONENT_DYLAN_1 364 -#define OPPONENT_DYLAN_2 365 -#define OPPONENT_DYLAN_3 366 -#define OPPONENT_DYLAN_4 367 -#define OPPONENT_DYLAN_5 368 -#define OPPONENT_MARIA_1 369 -#define OPPONENT_MARIA_2 370 -#define OPPONENT_MARIA_3 371 -#define OPPONENT_MARIA_4 372 -#define OPPONENT_MARIA_5 373 -#define OPPONENT_CAMDEN 374 -#define OPPONENT_DEMETRIUS 375 -#define OPPONENT_ISAIAH_1 376 -#define OPPONENT_PABLO_1 377 -#define OPPONENT_CHASE 378 -#define OPPONENT_ISAIAH_2 379 -#define OPPONENT_ISAIAH_3 380 -#define OPPONENT_ISAIAH_4 381 -#define OPPONENT_ISAIAH_5 382 -#define OPPONENT_ISOBEL 383 -#define OPPONENT_DONNY 384 -#define OPPONENT_TALIA 385 -#define OPPONENT_KATELYN_1 386 -#define OPPONENT_ALLISON 387 -#define OPPONENT_KATELYN_2 388 -#define OPPONENT_KATELYN_3 389 -#define OPPONENT_KATELYN_4 390 -#define OPPONENT_KATELYN_5 391 -#define OPPONENT_NICOLAS_1 392 -#define OPPONENT_NICOLAS_2 393 -#define OPPONENT_NICOLAS_3 394 -#define OPPONENT_NICOLAS_4 395 -#define OPPONENT_NICOLAS_5 396 -#define OPPONENT_AARON 397 -#define OPPONENT_PERRY 398 -#define OPPONENT_HUGH 399 -#define OPPONENT_PHIL 400 -#define OPPONENT_JARED 401 -#define OPPONENT_HUMBERTO 402 -#define OPPONENT_PRESLEY 403 -#define OPPONENT_EDWARDO 404 -#define OPPONENT_COLIN 405 -#define OPPONENT_ROBERT_1 406 -#define OPPONENT_BENNY 407 -#define OPPONENT_CHESTER 408 -#define OPPONENT_ROBERT_2 409 -#define OPPONENT_ROBERT_3 410 -#define OPPONENT_ROBERT_4 411 -#define OPPONENT_ROBERT_5 412 -#define OPPONENT_ALEX 413 -#define OPPONENT_BECK 414 -#define OPPONENT_YASU 415 -#define OPPONENT_TAKASHI 416 -#define OPPONENT_DIANNE 417 -#define OPPONENT_JANI 418 -#define OPPONENT_LAO_1 419 -#define OPPONENT_LUNG 420 -#define OPPONENT_LAO_2 421 -#define OPPONENT_LAO_3 422 -#define OPPONENT_LAO_4 423 -#define OPPONENT_LAO_5 424 -#define OPPONENT_JOCELYN 425 -#define OPPONENT_LAURA 426 -#define OPPONENT_CYNDY_1 427 -#define OPPONENT_CORA 428 -#define OPPONENT_PAULA 429 -#define OPPONENT_CYNDY_2 430 -#define OPPONENT_CYNDY_3 431 -#define OPPONENT_CYNDY_4 432 -#define OPPONENT_CYNDY_5 433 -#define OPPONENT_MADELINE_1 434 -#define OPPONENT_CLARISSA 435 -#define OPPONENT_ANGELICA 436 -#define OPPONENT_MADELINE_2 437 -#define OPPONENT_MADELINE_3 438 -#define OPPONENT_MADELINE_4 439 -#define OPPONENT_MADELINE_5 440 -#define OPPONENT_BEVERLY 441 -#define OPPONENT_IMANI 442 -#define OPPONENT_KYLA 443 -#define OPPONENT_DENISE 444 -#define OPPONENT_BETH 445 -#define OPPONENT_TARA 446 -#define OPPONENT_MISSY 447 -#define OPPONENT_ALICE 448 -#define OPPONENT_JENNY_1 449 -#define OPPONENT_GRACE 450 -#define OPPONENT_TANYA 451 -#define OPPONENT_SHARON 452 -#define OPPONENT_NIKKI 453 -#define OPPONENT_BRENDA 454 -#define OPPONENT_KATIE 455 -#define OPPONENT_SUSIE 456 -#define OPPONENT_KARA 457 -#define OPPONENT_DANA 458 -#define OPPONENT_SIENNA 459 -#define OPPONENT_DEBRA 460 -#define OPPONENT_LINDA 461 -#define OPPONENT_KAYLEE 462 -#define OPPONENT_LAUREL 463 -#define OPPONENT_CARLEE 464 -#define OPPONENT_JENNY_2 465 -#define OPPONENT_JENNY_3 466 -#define OPPONENT_JENNY_4 467 -#define OPPONENT_JENNY_5 468 -#define OPPONENT_HEIDI 469 -#define OPPONENT_BECKY 470 -#define OPPONENT_CAROL 471 -#define OPPONENT_NANCY 472 -#define OPPONENT_MARTHA 473 -#define OPPONENT_DIANA_1 474 -#define OPPONENT_CEDRIC 475 -#define OPPONENT_IRENE 476 -#define OPPONENT_DIANA_2 477 -#define OPPONENT_DIANA_3 478 -#define OPPONENT_DIANA_4 479 -#define OPPONENT_DIANA_5 480 -#define OPPONENT_AMY_AND_LIV_1 481 -#define OPPONENT_AMY_AND_LIV_2 482 -#define OPPONENT_GINA_AND_MIA_1 483 -#define OPPONENT_MIU_AND_YUKI 484 -#define OPPONENT_AMY_AND_LIV_3 485 -#define OPPONENT_GINA_AND_MIA_2 486 -#define OPPONENT_AMY_AND_LIV_4 487 -#define OPPONENT_AMY_AND_LIV_5 488 -#define OPPONENT_AMY_AND_LIV_6 489 -#define OPPONENT_HUEY 490 -#define OPPONENT_EDMOND 491 -#define OPPONENT_ERNEST_1 492 -#define OPPONENT_DWAYNE 493 -#define OPPONENT_PHILLIP 494 -#define OPPONENT_LEONARD 495 -#define OPPONENT_DUNCAN 496 -#define OPPONENT_ERNEST_2 497 -#define OPPONENT_ERNEST_3 498 -#define OPPONENT_ERNEST_4 499 -#define OPPONENT_ERNEST_5 500 -#define OPPONENT_ELI 501 -#define OPPONENT_ANNIKA 502 -#define OPPONENT_JAZMYN 503 -#define OPPONENT_JONAS 504 -#define OPPONENT_KAYLEY 505 -#define OPPONENT_AURON 506 -#define OPPONENT_KELVIN 507 -#define OPPONENT_MARLEY 508 -#define OPPONENT_REYNA 509 -#define OPPONENT_HUDSON 510 -#define OPPONENT_CONOR 511 -#define OPPONENT_EDWIN_1 512 -#define OPPONENT_HECTOR 513 -#define OPPONENT_TABITHA_1 514 -#define OPPONENT_EDWIN_2 515 -#define OPPONENT_EDWIN_3 516 -#define OPPONENT_EDWIN_4 517 -#define OPPONENT_EDWIN_5 518 -#define OPPONENT_WALLY_1 519 -#define OPPONENT_BRENDAN_1 520 -#define OPPONENT_BRENDAN_2 521 -#define OPPONENT_BRENDAN_3 522 -#define OPPONENT_BRENDAN_4 523 -#define OPPONENT_BRENDAN_5 524 -#define OPPONENT_BRENDAN_6 525 -#define OPPONENT_BRENDAN_7 526 -#define OPPONENT_BRENDAN_8 527 -#define OPPONENT_BRENDAN_9 528 -#define OPPONENT_MAY_1 529 -#define OPPONENT_MAY_2 530 -#define OPPONENT_MAY_3 531 -#define OPPONENT_MAY_4 532 -#define OPPONENT_MAY_5 533 -#define OPPONENT_MAY_6 534 -#define OPPONENT_MAY_7 535 -#define OPPONENT_MAY_8 536 -#define OPPONENT_MAY_9 537 -#define OPPONENT_ISAAC_1 538 -#define OPPONENT_DAVIS 539 -#define OPPONENT_MITCHELL 540 -#define OPPONENT_ISAAC_2 541 -#define OPPONENT_ISAAC_3 542 -#define OPPONENT_ISAAC_4 543 -#define OPPONENT_ISAAC_5 544 -#define OPPONENT_LYDIA_1 545 -#define OPPONENT_HALLE 546 -#define OPPONENT_GARRISON 547 -#define OPPONENT_LYDIA_2 548 -#define OPPONENT_LYDIA_3 549 -#define OPPONENT_LYDIA_4 550 -#define OPPONENT_LYDIA_5 551 -#define OPPONENT_JACKSON_1 552 -#define OPPONENT_LORENZO 553 -#define OPPONENT_SEBASTIAN 554 -#define OPPONENT_JACKSON_2 555 -#define OPPONENT_JACKSON_3 556 -#define OPPONENT_JACKSON_4 557 -#define OPPONENT_JACKSON_5 558 -#define OPPONENT_CATHERINE_1 559 -#define OPPONENT_JENNA 560 -#define OPPONENT_SOPHIA 561 -#define OPPONENT_CATHERINE_2 562 -#define OPPONENT_CATHERINE_3 563 -#define OPPONENT_CATHERINE_4 564 -#define OPPONENT_CATHERINE_5 565 -#define OPPONENT_JULIO 566 -#define OPPONENT_GRUNT_27 567 -#define OPPONENT_GRUNT_28 568 -#define OPPONENT_GRUNT_29 569 -#define OPPONENT_GRUNT_30 570 -#define OPPONENT_MARC 571 -#define OPPONENT_BRENDEN 572 -#define OPPONENT_LILITH 573 -#define OPPONENT_CRISTIAN 574 -#define OPPONENT_SYLVIA 575 -#define OPPONENT_LEONARDO 576 -#define OPPONENT_ATHENA 577 -#define OPPONENT_HARRISON 578 -#define OPPONENT_GRUNT_31 579 -#define OPPONENT_CLARENCE 580 -#define OPPONENT_TERRY 581 -#define OPPONENT_NATE 582 -#define OPPONENT_KATHLEEN 583 -#define OPPONENT_CLIFFORD 584 -#define OPPONENT_NICHOLAS 585 -#define OPPONENT_GRUNT_32 586 -#define OPPONENT_GRUNT_33 587 -#define OPPONENT_GRUNT_34 588 -#define OPPONENT_GRUNT_35 589 -#define OPPONENT_GRUNT_36 590 -#define OPPONENT_MACEY 591 -#define OPPONENT_BRENDAN_10 592 -#define OPPONENT_BRENDAN_11 593 -#define OPPONENT_PAXTON 594 -#define OPPONENT_ISABELLA 595 -#define OPPONENT_GRUNT_37 596 -#define OPPONENT_TABITHA_2 597 -#define OPPONENT_JONATHAN 598 -#define OPPONENT_BRENDAN_12 599 -#define OPPONENT_MAY_10 600 -#define OPPONENT_MAXIE_1 601 -#define OPPONENT_MAXIE_2 602 -#define OPPONENT_TIANA 603 -#define OPPONENT_HALEY_1 604 -#define OPPONENT_JANICE 605 -#define OPPONENT_VIVI 606 -#define OPPONENT_HALEY_2 607 -#define OPPONENT_HALEY_3 608 -#define OPPONENT_HALEY_4 609 -#define OPPONENT_HALEY_5 610 -#define OPPONENT_SALLY 611 -#define OPPONENT_ROBIN 612 -#define OPPONENT_ANDREA 613 -#define OPPONENT_CRISSY 614 -#define OPPONENT_RICK 615 -#define OPPONENT_LYLE 616 -#define OPPONENT_JOSE 617 -#define OPPONENT_DOUG 618 -#define OPPONENT_GREG 619 -#define OPPONENT_KENT 620 -#define OPPONENT_JAMES_1 621 -#define OPPONENT_JAMES_2 622 -#define OPPONENT_JAMES_3 623 -#define OPPONENT_JAMES_4 624 -#define OPPONENT_JAMES_5 625 -#define OPPONENT_BRICE 626 -#define OPPONENT_TRENT_1 627 -#define OPPONENT_LENNY 628 -#define OPPONENT_LUCAS_1 629 -#define OPPONENT_ALAN 630 -#define OPPONENT_CLARK 631 -#define OPPONENT_ERIC 632 -#define OPPONENT_LUCAS_2 633 -#define OPPONENT_MIKE_1 634 -#define OPPONENT_MIKE_2 635 -#define OPPONENT_TRENT_2 636 -#define OPPONENT_TRENT_3 637 -#define OPPONENT_TRENT_4 638 -#define OPPONENT_TRENT_5 639 -#define OPPONENT_DEZ_AND_LUKE 640 -#define OPPONENT_LEA_AND_JED 641 -#define OPPONENT_KIRA_AND_DAN_1 642 -#define OPPONENT_KIRA_AND_DAN_2 643 -#define OPPONENT_KIRA_AND_DAN_3 644 -#define OPPONENT_KIRA_AND_DAN_4 645 -#define OPPONENT_KIRA_AND_DAN_5 646 -#define OPPONENT_JOHANNA 647 -#define OPPONENT_GERALD 648 -#define OPPONENT_VIVIAN 649 -#define OPPONENT_DANIELLE 650 -#define OPPONENT_HIDEO 651 -#define OPPONENT_KEIGO 652 -#define OPPONENT_RILEY 653 -#define OPPONENT_FLINT 654 -#define OPPONENT_ASHLEY 655 -#define OPPONENT_WALLY_2 656 -#define OPPONENT_WALLY_3 657 -#define OPPONENT_WALLY_4 658 -#define OPPONENT_WALLY_5 659 -#define OPPONENT_WALLY_6 660 -#define OPPONENT_BRENDAN_13 661 -#define OPPONENT_BRENDAN_14 662 -#define OPPONENT_BRENDAN_15 663 -#define OPPONENT_MAY_11 664 -#define OPPONENT_MAY_12 665 -#define OPPONENT_MAY_13 666 -#define OPPONENT_JONAH 667 -#define OPPONENT_HENRY 668 -#define OPPONENT_ROGER 669 -#define OPPONENT_ALEXA 670 -#define OPPONENT_RUBEN 671 -#define OPPONENT_KOJI_1 672 -#define OPPONENT_WAYNE 673 -#define OPPONENT_AIDAN 674 -#define OPPONENT_REED 675 -#define OPPONENT_TISHA 676 -#define OPPONENT_TORI_AND_TIA 677 -#define OPPONENT_KIM_AND_IRIS 678 -#define OPPONENT_TYRA_AND_IVY 679 -#define OPPONENT_MEL_AND_PAUL 680 -#define OPPONENT_JOHN_AND_JAY_1 681 -#define OPPONENT_JOHN_AND_JAY_2 682 -#define OPPONENT_JOHN_AND_JAY_3 683 -#define OPPONENT_JOHN_AND_JAY_4 684 -#define OPPONENT_JOHN_AND_JAY_5 685 -#define OPPONENT_RELI_AND_IAN 686 -#define OPPONENT_LILA_AND_ROY_1 687 -#define OPPONENT_LILA_AND_ROY_2 688 -#define OPPONENT_LILA_AND_ROY_3 689 -#define OPPONENT_LILA_AND_ROY_4 690 -#define OPPONENT_LILA_AND_ROY_5 691 -#define OPPONENT_LISA_AND_RAY 692 -#define OPPONENT_CHRIS 693 -#define OPPONENT_DAWSON 694 -#define OPPONENT_SARAH 695 -#define OPPONENT_DARIAN 696 -#define OPPONENT_HAILEY 697 -#define OPPONENT_CHANDLER 698 -#define OPPONENT_KALEB 699 -#define OPPONENT_JOSEPH 700 -#define OPPONENT_ALYSSA 701 -#define OPPONENT_MARCOS 702 -#define OPPONENT_RHETT 703 -#define OPPONENT_TYRON 704 -#define OPPONENT_CELINA 705 -#define OPPONENT_BIANCA 706 -#define OPPONENT_HAYDEN 707 -#define OPPONENT_SOPHIE 708 -#define OPPONENT_COBY 709 -#define OPPONENT_LAWRENCE 710 -#define OPPONENT_WYATT 711 -#define OPPONENT_ANGELINA 712 -#define OPPONENT_KAI 713 -#define OPPONENT_CHARLOTTE 714 -#define OPPONENT_DEANDRE 715 -#define OPPONENT_GRUNT_38 716 -#define OPPONENT_GRUNT_39 717 -#define OPPONENT_GRUNT_40 718 -#define OPPONENT_GRUNT_41 719 -#define OPPONENT_GRUNT_42 720 -#define OPPONENT_GRUNT_43 721 -#define OPPONENT_GRUNT_44 722 -#define OPPONENT_GRUNT_45 723 -#define OPPONENT_GRUNT_46 724 -#define OPPONENT_GRUNT_47 725 -#define OPPONENT_GRUNT_48 726 -#define OPPONENT_GRUNT_49 727 -#define OPPONENT_GRUNT_50 728 -#define OPPONENT_GRUNT_51 729 -#define OPPONENT_GRUNT_52 730 -#define OPPONENT_GRUNT_53 731 -#define OPPONENT_TABITHA_3 732 -#define OPPONENT_DARCY 733 -#define OPPONENT_MAXIE_3 734 -#define OPPONENT_PETE 735 -#define OPPONENT_ISABELLE 736 -#define OPPONENT_ANDRES_1 737 -#define OPPONENT_JOSUE 738 -#define OPPONENT_CAMRON 739 -#define OPPONENT_CORY_1 740 -#define OPPONENT_CAROLINA 741 -#define OPPONENT_ELIJAH 742 -#define OPPONENT_CELIA 743 -#define OPPONENT_BRYAN 744 -#define OPPONENT_BRANDEN 745 -#define OPPONENT_BRYANT 746 -#define OPPONENT_SHAYLA 747 -#define OPPONENT_KYRA 748 -#define OPPONENT_JAIDEN 749 -#define OPPONENT_ALIX 750 -#define OPPONENT_HELENE 751 -#define OPPONENT_MARLENE 752 -#define OPPONENT_DEVAN 753 -#define OPPONENT_JOHNSON 754 -#define OPPONENT_MELINA 755 -#define OPPONENT_BRANDI 756 -#define OPPONENT_AISHA 757 -#define OPPONENT_MAKAYLA 758 -#define OPPONENT_FABIAN 759 -#define OPPONENT_DAYTON 760 -#define OPPONENT_RACHEL 761 -#define OPPONENT_LEONEL 762 -#define OPPONENT_CALLIE 763 -#define OPPONENT_CALE 764 -#define OPPONENT_MYLES 765 -#define OPPONENT_PAT 766 -#define OPPONENT_CRISTIN_1 767 -#define OPPONENT_MAY_14 768 -#define OPPONENT_MAY_15 769 -#define OPPONENT_ROXANNE_2 770 -#define OPPONENT_ROXANNE_3 771 -#define OPPONENT_ROXANNE_4 772 -#define OPPONENT_ROXANNE_5 773 -#define OPPONENT_BRAWLY_2 774 -#define OPPONENT_BRAWLY_3 775 -#define OPPONENT_BRAWLY_4 776 -#define OPPONENT_BRAWLY_5 777 -#define OPPONENT_WATTSON_2 778 -#define OPPONENT_WATTSON_3 779 -#define OPPONENT_WATTSON_4 780 -#define OPPONENT_WATTSON_5 781 -#define OPPONENT_FLANNERY_2 782 -#define OPPONENT_FLANNERY_3 783 -#define OPPONENT_FLANNERY_4 784 -#define OPPONENT_FLANNERY_5 785 -#define OPPONENT_NORMAN_2 786 -#define OPPONENT_NORMAN_3 787 -#define OPPONENT_NORMAN_4 788 -#define OPPONENT_NORMAN_5 789 -#define OPPONENT_WINONA_2 790 -#define OPPONENT_WINONA_3 791 -#define OPPONENT_WINONA_4 792 -#define OPPONENT_WINONA_5 793 -#define OPPONENT_TATE_AND_LIZA_2 794 -#define OPPONENT_TATE_AND_LIZA_3 795 -#define OPPONENT_TATE_AND_LIZA_4 796 -#define OPPONENT_TATE_AND_LIZA_5 797 -#define OPPONENT_JUAN_2 798 -#define OPPONENT_JUAN_3 799 -#define OPPONENT_JUAN_4 800 -#define OPPONENT_JUAN_5 801 -#define OPPONENT_ANGELO 802 -#define OPPONENT_DARIUS 803 -#define OPPONENT_STEVEN 804 -#define OPPONENT_ANABEL 805 -#define OPPONENT_TUCKER 806 -#define OPPONENT_SPENSER 807 -#define OPPONENT_GRETA 808 -#define OPPONENT_NOLAND 809 -#define OPPONENT_LUCY 810 -#define OPPONENT_BRANDON 811 -#define OPPONENT_ANDRES_2 812 -#define OPPONENT_ANDRES_3 813 -#define OPPONENT_ANDRES_4 814 -#define OPPONENT_ANDRES_5 815 -#define OPPONENT_CORY_2 816 -#define OPPONENT_CORY_3 817 -#define OPPONENT_CORY_4 818 -#define OPPONENT_CORY_5 819 -#define OPPONENT_PABLO_2 820 -#define OPPONENT_PABLO_3 821 -#define OPPONENT_PABLO_4 822 -#define OPPONENT_PABLO_5 823 -#define OPPONENT_KOJI_2 824 -#define OPPONENT_KOJI_3 825 -#define OPPONENT_KOJI_4 826 -#define OPPONENT_KOJI_5 827 -#define OPPONENT_CRISTIN_2 828 -#define OPPONENT_CRISTIN_3 829 -#define OPPONENT_CRISTIN_4 830 -#define OPPONENT_CRISTIN_5 831 -#define OPPONENT_FERNANDO_2 832 -#define OPPONENT_FERNANDO_3 833 -#define OPPONENT_FERNANDO_4 834 -#define OPPONENT_FERNANDO_5 835 -#define OPPONENT_SAWYER_2 836 -#define OPPONENT_SAWYER_3 837 -#define OPPONENT_SAWYER_4 838 -#define OPPONENT_SAWYER_5 839 -#define OPPONENT_GABRIELLE_2 840 -#define OPPONENT_GABRIELLE_3 841 -#define OPPONENT_GABRIELLE_4 842 -#define OPPONENT_GABRIELLE_5 843 -#define OPPONENT_THALIA_2 844 -#define OPPONENT_THALIA_3 845 -#define OPPONENT_THALIA_4 846 -#define OPPONENT_THALIA_5 847 -#define OPPONENT_MARIELA 848 -#define OPPONENT_ALVARO 848 -#define OPPONENT_EVERETT 850 -#define OPPONENT_RED 851 -#define OPPONENT_LEAF 852 -#define OPPONENT_BRENDAN_16 853 -#define OPPONENT_MAY_16 854 +#define TRAINER_NONE 0 +#define TRAINER_SAWYER_1 1 +#define TRAINER_GRUNT_1 2 +#define TRAINER_GRUNT_2 3 +#define TRAINER_GRUNT_3 4 +#define TRAINER_GRUNT_4 5 +#define TRAINER_GRUNT_5 6 +#define TRAINER_GRUNT_6 7 +#define TRAINER_GRUNT_7 8 +#define TRAINER_GABRIELLE_1 9 +#define TRAINER_GRUNT_8 10 +#define TRAINER_MARCEL 11 +#define TRAINER_ALBERTO 12 +#define TRAINER_ED 13 +#define TRAINER_GRUNT_9 14 +#define TRAINER_DECLAN 15 +#define TRAINER_GRUNT_10 16 +#define TRAINER_GRUNT_11 17 +#define TRAINER_GRUNT_12 18 +#define TRAINER_GRUNT_13 19 +#define TRAINER_GRUNT_14 20 +#define TRAINER_GRUNT_15 21 +#define TRAINER_GRUNT_16 22 +#define TRAINER_GRUNT_17 23 +#define TRAINER_GRUNT_18 24 +#define TRAINER_GRUNT_19 25 +#define TRAINER_GRUNT_20 26 +#define TRAINER_GRUNT_21 27 +#define TRAINER_GRUNT_22 28 +#define TRAINER_FREDRICK 29 +#define TRAINER_MATT 30 +#define TRAINER_ZANDER 31 +#define TRAINER_SHELLY_1 32 +#define TRAINER_SHELLY_2 33 +#define TRAINER_ARCHIE 34 +#define TRAINER_LEAH 35 +#define TRAINER_DAISY 36 +#define TRAINER_ROSE_1 37 +#define TRAINER_FELIX 38 +#define TRAINER_VIOLET 39 +#define TRAINER_ROSE_2 40 +#define TRAINER_ROSE_3 41 +#define TRAINER_ROSE_4 42 +#define TRAINER_ROSE_5 43 +#define TRAINER_DUSTY_1 44 +#define TRAINER_CHIP 45 +#define TRAINER_FOSTER 46 +#define TRAINER_DUSTY_2 47 +#define TRAINER_DUSTY_3 48 +#define TRAINER_DUSTY_4 49 +#define TRAINER_DUSTY_5 50 +#define TRAINER_GABBY_AND_TY_1 51 +#define TRAINER_GABBY_AND_TY_2 52 +#define TRAINER_GABBY_AND_TY_3 53 +#define TRAINER_GABBY_AND_TY_4 54 +#define TRAINER_GABBY_AND_TY_5 55 +#define TRAINER_GABBY_AND_TY_6 56 +#define TRAINER_LOLA_1 57 +#define TRAINER_AUSTINA 58 +#define TRAINER_GWEN 59 +#define TRAINER_LOLA_2 60 +#define TRAINER_LOLA_3 61 +#define TRAINER_LOLA_4 62 +#define TRAINER_LOLA_5 63 +#define TRAINER_RICKY_1 64 +#define TRAINER_SIMON 65 +#define TRAINER_CHARLIE 66 +#define TRAINER_RICKY_2 67 +#define TRAINER_RICKY_3 68 +#define TRAINER_RICKY_4 69 +#define TRAINER_RICKY_5 70 +#define TRAINER_RANDALL 71 +#define TRAINER_PARKER 72 +#define TRAINER_GEORGE 73 +#define TRAINER_BERKE 74 +#define TRAINER_BRAXTON 75 +#define TRAINER_VINCENT 76 +#define TRAINER_LEROY 77 +#define TRAINER_WILTON_1 78 +#define TRAINER_EDGAR 79 +#define TRAINER_ALBERT 80 +#define TRAINER_SAMUEL 81 +#define TRAINER_VITO 82 +#define TRAINER_OWEN 83 +#define TRAINER_WILTON_2 84 +#define TRAINER_WILTON_3 85 +#define TRAINER_WILTON_4 86 +#define TRAINER_WILTON_5 87 +#define TRAINER_WARREN 88 +#define TRAINER_MARY 89 +#define TRAINER_ALEXIA 90 +#define TRAINER_JODY 91 +#define TRAINER_WENDY 92 +#define TRAINER_KEIRA 93 +#define TRAINER_BROOKE_1 94 +#define TRAINER_JENNIFER 95 +#define TRAINER_HOPE 96 +#define TRAINER_SHANNON 97 +#define TRAINER_MICHELLE 98 +#define TRAINER_CAROLINE 99 +#define TRAINER_JULIE 100 +#define TRAINER_BROOKE_2 101 +#define TRAINER_BROOKE_3 102 +#define TRAINER_BROOKE_4 103 +#define TRAINER_BROOKE_5 104 +#define TRAINER_PATRICIA 105 +#define TRAINER_KINDRA 106 +#define TRAINER_TAMMY 107 +#define TRAINER_VALERIE_1 108 +#define TRAINER_TASHA 109 +#define TRAINER_VALERIE_2 110 +#define TRAINER_VALERIE_3 111 +#define TRAINER_VALERIE_4 112 +#define TRAINER_VALERIE_5 113 +#define TRAINER_CINDY_1 114 +#define TRAINER_DAPHNE 115 +#define TRAINER_GRUNT_23 116 +#define TRAINER_CINDY_2 117 +#define TRAINER_BRIANNA 118 +#define TRAINER_NAOMI 119 +#define TRAINER_CINDY_3 120 +#define TRAINER_CINDY_4 121 +#define TRAINER_CINDY_5 122 +#define TRAINER_CINDY_6 123 +#define TRAINER_MELISSA 124 +#define TRAINER_SHEILA 125 +#define TRAINER_SHIRLEY 126 +#define TRAINER_JESSICA_1 127 +#define TRAINER_CONNIE 128 +#define TRAINER_BRIDGET 129 +#define TRAINER_OLIVIA 130 +#define TRAINER_TIFFANY 131 +#define TRAINER_JESSICA_2 132 +#define TRAINER_JESSICA_3 133 +#define TRAINER_JESSICA_4 134 +#define TRAINER_JESSICA_5 135 +#define TRAINER_WINSTON_1 136 +#define TRAINER_MOLLIE 137 +#define TRAINER_GARRET 138 +#define TRAINER_WINSTON_2 139 +#define TRAINER_WINSTON_3 140 +#define TRAINER_WINSTON_4 141 +#define TRAINER_WINSTON_5 142 +#define TRAINER_STEVE_1 143 +#define TRAINER_THALIA_1 144 +#define TRAINER_MARK 145 +#define TRAINER_GRUNT_24 146 +#define TRAINER_STEVE_2 147 +#define TRAINER_STEVE_3 148 +#define TRAINER_STEVE_4 149 +#define TRAINER_STEVE_5 150 +#define TRAINER_LUIS 151 +#define TRAINER_DOMINIK 152 +#define TRAINER_DOUGLAS 153 +#define TRAINER_DARRIN 154 +#define TRAINER_TONY_1 155 +#define TRAINER_JEROME 156 +#define TRAINER_MATTHEW 157 +#define TRAINER_DAVID 158 +#define TRAINER_SPENCER 159 +#define TRAINER_ROLAND 160 +#define TRAINER_NOLEN 161 +#define TRAINER_STAN 162 +#define TRAINER_BARRY 163 +#define TRAINER_DEAN 164 +#define TRAINER_RODNEY 165 +#define TRAINER_RICHARD 166 +#define TRAINER_HERMAN 167 +#define TRAINER_SANTIAGO 168 +#define TRAINER_GILBERT 169 +#define TRAINER_FRANKLIN 170 +#define TRAINER_KEVIN 171 +#define TRAINER_JACK 172 +#define TRAINER_DUDLEY 173 +#define TRAINER_CHAD 174 +#define TRAINER_TONY_2 175 +#define TRAINER_TONY_3 176 +#define TRAINER_TONY_4 177 +#define TRAINER_TONY_5 178 +#define TRAINER_TAKAO 179 +#define TRAINER_HITOSHI 180 +#define TRAINER_KIYO 181 +#define TRAINER_KOICHI 182 +#define TRAINER_NOB_1 183 +#define TRAINER_NOB_2 184 +#define TRAINER_NOB_3 185 +#define TRAINER_NOB_4 186 +#define TRAINER_NOB_5 187 +#define TRAINER_YUJI 188 +#define TRAINER_DAISUKE 189 +#define TRAINER_ATSUSHI 190 +#define TRAINER_KIRK 191 +#define TRAINER_GRUNT_25 192 +#define TRAINER_GRUNT_26 193 +#define TRAINER_SHAWN 194 +#define TRAINER_FERNANDO_1 195 +#define TRAINER_DALTON_1 196 +#define TRAINER_DALTON_2 197 +#define TRAINER_DALTON_3 198 +#define TRAINER_DALTON_4 199 +#define TRAINER_DALTON_5 200 +#define TRAINER_COLE 201 +#define TRAINER_JEFF 202 +#define TRAINER_AXLE 203 +#define TRAINER_JACE 204 +#define TRAINER_KEEGAN 205 +#define TRAINER_BERNIE_1 206 +#define TRAINER_BERNIE_2 207 +#define TRAINER_BERNIE_3 208 +#define TRAINER_BERNIE_4 209 +#define TRAINER_BERNIE_5 210 +#define TRAINER_DREW 211 +#define TRAINER_BEAU 212 +#define TRAINER_LARRY 213 +#define TRAINER_SHANE 214 +#define TRAINER_JUSTIN 215 +#define TRAINER_ETHAN_1 216 +#define TRAINER_AUTUMN 217 +#define TRAINER_TRAVIS 218 +#define TRAINER_ETHAN_2 219 +#define TRAINER_ETHAN_3 220 +#define TRAINER_ETHAN_4 221 +#define TRAINER_ETHAN_5 222 +#define TRAINER_BRENT 223 +#define TRAINER_DONALD 224 +#define TRAINER_TAYLOR 225 +#define TRAINER_JEFFREY_1 226 +#define TRAINER_DEREK 227 +#define TRAINER_JEFFREY_2 228 +#define TRAINER_JEFFREY_3 229 +#define TRAINER_JEFFREY_4 230 +#define TRAINER_JEFFREY_5 231 +#define TRAINER_EDWARD 232 +#define TRAINER_PRESTON 233 +#define TRAINER_VIRGIL 234 +#define TRAINER_BLAKE 235 +#define TRAINER_WILLIAM 236 +#define TRAINER_JOSHUA 237 +#define TRAINER_CAMERON_1 238 +#define TRAINER_CAMERON_2 239 +#define TRAINER_CAMERON_3 240 +#define TRAINER_CAMERON_4 241 +#define TRAINER_CAMERON_5 242 +#define TRAINER_JACLYN 243 +#define TRAINER_HANNAH 244 +#define TRAINER_SAMANTHA 245 +#define TRAINER_MAURA 246 +#define TRAINER_KAYLA 247 +#define TRAINER_ALEXIS 248 +#define TRAINER_JACKI_1 249 +#define TRAINER_JACKI_2 250 +#define TRAINER_JACKI_3 251 +#define TRAINER_JACKI_4 252 +#define TRAINER_JACKI_5 253 +#define TRAINER_WALTER_1 254 +#define TRAINER_MICAH 255 +#define TRAINER_THOMAS 256 +#define TRAINER_WALTER_2 257 +#define TRAINER_WALTER_3 258 +#define TRAINER_WALTER_4 259 +#define TRAINER_WALTER_5 260 +#define TRAINER_SIDNEY 261 +#define TRAINER_PHOEBE 262 +#define TRAINER_GLACIA 263 +#define TRAINER_DRAKE 264 +#define TRAINER_ROXANNE_1 265 +#define TRAINER_BRAWLY_1 266 +#define TRAINER_WATTSON_1 267 +#define TRAINER_FLANNERY_1 268 +#define TRAINER_NORMAN_1 269 +#define TRAINER_WINONA_1 270 +#define TRAINER_TATE_AND_LIZA_1 271 +#define TRAINER_JUAN_1 272 +#define TRAINER_JERRY_1 273 +#define TRAINER_TED 274 +#define TRAINER_PAUL 275 +#define TRAINER_JERRY_2 276 +#define TRAINER_JERRY_3 277 +#define TRAINER_JERRY_4 278 +#define TRAINER_JERRY_5 279 +#define TRAINER_KAREN_1 280 +#define TRAINER_GEORGIA 281 +#define TRAINER_KAREN_2 282 +#define TRAINER_KAREN_3 283 +#define TRAINER_KAREN_4 284 +#define TRAINER_KAREN_5 285 +#define TRAINER_KATE_AND_JOY 286 +#define TRAINER_ANNA_AND_MEG_1 287 +#define TRAINER_ANNA_AND_MEG_2 288 +#define TRAINER_ANNA_AND_MEG_3 289 +#define TRAINER_ANNA_AND_MEG_4 290 +#define TRAINER_ANNA_AND_MEG_5 291 +#define TRAINER_VICTOR 292 +#define TRAINER_MIGUEL_1 293 +#define TRAINER_COLTON 294 +#define TRAINER_MIGUEL_2 295 +#define TRAINER_MIGUEL_3 296 +#define TRAINER_MIGUEL_4 297 +#define TRAINER_MIGUEL_5 298 +#define TRAINER_VICTORIA 299 +#define TRAINER_VANESSA 300 +#define TRAINER_BETHANY 301 +#define TRAINER_ISABEL_1 302 +#define TRAINER_ISABEL_2 303 +#define TRAINER_ISABEL_3 304 +#define TRAINER_ISABEL_4 305 +#define TRAINER_ISABEL_5 306 +#define TRAINER_TIMOTHY_1 307 +#define TRAINER_TIMOTHY_2 308 +#define TRAINER_TIMOTHY_3 309 +#define TRAINER_TIMOTHY_4 310 +#define TRAINER_TIMOTHY_5 311 +#define TRAINER_VICKY 312 +#define TRAINER_SHELBY_1 313 +#define TRAINER_SHELBY_2 314 +#define TRAINER_SHELBY_3 315 +#define TRAINER_SHELBY_4 316 +#define TRAINER_SHELBY_5 317 +#define TRAINER_CALVIN_1 318 +#define TRAINER_BILLY 319 +#define TRAINER_JOSH 320 +#define TRAINER_TOMMY 321 +#define TRAINER_JOEY 322 +#define TRAINER_BEN 323 +#define TRAINER_QUINCY 324 +#define TRAINER_KATELYNN 325 +#define TRAINER_JAYLEN 326 +#define TRAINER_DILLON 327 +#define TRAINER_CALVIN_2 328 +#define TRAINER_CALVIN_3 329 +#define TRAINER_CALVIN_4 330 +#define TRAINER_CALVIN_5 331 +#define TRAINER_EDDIE 332 +#define TRAINER_ALLEN 333 +#define TRAINER_TIMMY 334 +#define TRAINER_WALLACE 335 +#define TRAINER_ANDREW 336 +#define TRAINER_IVAN 337 +#define TRAINER_CLAUDE 338 +#define TRAINER_ELLIOT_1 339 +#define TRAINER_NED 340 +#define TRAINER_DALE 341 +#define TRAINER_NOLAN 342 +#define TRAINER_BARNY 343 +#define TRAINER_WADE 344 +#define TRAINER_CARTER 345 +#define TRAINER_ELLIOT_2 346 +#define TRAINER_ELLIOT_3 347 +#define TRAINER_ELLIOT_4 348 +#define TRAINER_ELLIOT_5 349 +#define TRAINER_RONALD 350 +#define TRAINER_JACOB 351 +#define TRAINER_ANTHONY 352 +#define TRAINER_BENJAMIN_1 353 +#define TRAINER_BENJAMIN_2 354 +#define TRAINER_BENJAMIN_3 355 +#define TRAINER_BENJAMIN_4 356 +#define TRAINER_BENJAMIN_5 357 +#define TRAINER_ABIGAIL_1 358 +#define TRAINER_JASMINE 359 +#define TRAINER_ABIGAIL_2 360 +#define TRAINER_ABIGAIL_3 361 +#define TRAINER_ABIGAIL_4 362 +#define TRAINER_ABIGAIL_5 363 +#define TRAINER_DYLAN_1 364 +#define TRAINER_DYLAN_2 365 +#define TRAINER_DYLAN_3 366 +#define TRAINER_DYLAN_4 367 +#define TRAINER_DYLAN_5 368 +#define TRAINER_MARIA_1 369 +#define TRAINER_MARIA_2 370 +#define TRAINER_MARIA_3 371 +#define TRAINER_MARIA_4 372 +#define TRAINER_MARIA_5 373 +#define TRAINER_CAMDEN 374 +#define TRAINER_DEMETRIUS 375 +#define TRAINER_ISAIAH_1 376 +#define TRAINER_PABLO_1 377 +#define TRAINER_CHASE 378 +#define TRAINER_ISAIAH_2 379 +#define TRAINER_ISAIAH_3 380 +#define TRAINER_ISAIAH_4 381 +#define TRAINER_ISAIAH_5 382 +#define TRAINER_ISOBEL 383 +#define TRAINER_DONNY 384 +#define TRAINER_TALIA 385 +#define TRAINER_KATELYN_1 386 +#define TRAINER_ALLISON 387 +#define TRAINER_KATELYN_2 388 +#define TRAINER_KATELYN_3 389 +#define TRAINER_KATELYN_4 390 +#define TRAINER_KATELYN_5 391 +#define TRAINER_NICOLAS_1 392 +#define TRAINER_NICOLAS_2 393 +#define TRAINER_NICOLAS_3 394 +#define TRAINER_NICOLAS_4 395 +#define TRAINER_NICOLAS_5 396 +#define TRAINER_AARON 397 +#define TRAINER_PERRY 398 +#define TRAINER_HUGH 399 +#define TRAINER_PHIL 400 +#define TRAINER_JARED 401 +#define TRAINER_HUMBERTO 402 +#define TRAINER_PRESLEY 403 +#define TRAINER_EDWARDO 404 +#define TRAINER_COLIN 405 +#define TRAINER_ROBERT_1 406 +#define TRAINER_BENNY 407 +#define TRAINER_CHESTER 408 +#define TRAINER_ROBERT_2 409 +#define TRAINER_ROBERT_3 410 +#define TRAINER_ROBERT_4 411 +#define TRAINER_ROBERT_5 412 +#define TRAINER_ALEX 413 +#define TRAINER_BECK 414 +#define TRAINER_YASU 415 +#define TRAINER_TAKASHI 416 +#define TRAINER_DIANNE 417 +#define TRAINER_JANI 418 +#define TRAINER_LAO_1 419 +#define TRAINER_LUNG 420 +#define TRAINER_LAO_2 421 +#define TRAINER_LAO_3 422 +#define TRAINER_LAO_4 423 +#define TRAINER_LAO_5 424 +#define TRAINER_JOCELYN 425 +#define TRAINER_LAURA 426 +#define TRAINER_CYNDY_1 427 +#define TRAINER_CORA 428 +#define TRAINER_PAULA 429 +#define TRAINER_CYNDY_2 430 +#define TRAINER_CYNDY_3 431 +#define TRAINER_CYNDY_4 432 +#define TRAINER_CYNDY_5 433 +#define TRAINER_MADELINE_1 434 +#define TRAINER_CLARISSA 435 +#define TRAINER_ANGELICA 436 +#define TRAINER_MADELINE_2 437 +#define TRAINER_MADELINE_3 438 +#define TRAINER_MADELINE_4 439 +#define TRAINER_MADELINE_5 440 +#define TRAINER_BEVERLY 441 +#define TRAINER_IMANI 442 +#define TRAINER_KYLA 443 +#define TRAINER_DENISE 444 +#define TRAINER_BETH 445 +#define TRAINER_TARA 446 +#define TRAINER_MISSY 447 +#define TRAINER_ALICE 448 +#define TRAINER_JENNY_1 449 +#define TRAINER_GRACE 450 +#define TRAINER_TANYA 451 +#define TRAINER_SHARON 452 +#define TRAINER_NIKKI 453 +#define TRAINER_BRENDA 454 +#define TRAINER_KATIE 455 +#define TRAINER_SUSIE 456 +#define TRAINER_KARA 457 +#define TRAINER_DANA 458 +#define TRAINER_SIENNA 459 +#define TRAINER_DEBRA 460 +#define TRAINER_LINDA 461 +#define TRAINER_KAYLEE 462 +#define TRAINER_LAUREL 463 +#define TRAINER_CARLEE 464 +#define TRAINER_JENNY_2 465 +#define TRAINER_JENNY_3 466 +#define TRAINER_JENNY_4 467 +#define TRAINER_JENNY_5 468 +#define TRAINER_HEIDI 469 +#define TRAINER_BECKY 470 +#define TRAINER_CAROL 471 +#define TRAINER_NANCY 472 +#define TRAINER_MARTHA 473 +#define TRAINER_DIANA_1 474 +#define TRAINER_CEDRIC 475 +#define TRAINER_IRENE 476 +#define TRAINER_DIANA_2 477 +#define TRAINER_DIANA_3 478 +#define TRAINER_DIANA_4 479 +#define TRAINER_DIANA_5 480 +#define TRAINER_AMY_AND_LIV_1 481 +#define TRAINER_AMY_AND_LIV_2 482 +#define TRAINER_GINA_AND_MIA_1 483 +#define TRAINER_MIU_AND_YUKI 484 +#define TRAINER_AMY_AND_LIV_3 485 +#define TRAINER_GINA_AND_MIA_2 486 +#define TRAINER_AMY_AND_LIV_4 487 +#define TRAINER_AMY_AND_LIV_5 488 +#define TRAINER_AMY_AND_LIV_6 489 +#define TRAINER_HUEY 490 +#define TRAINER_EDMOND 491 +#define TRAINER_ERNEST_1 492 +#define TRAINER_DWAYNE 493 +#define TRAINER_PHILLIP 494 +#define TRAINER_LEONARD 495 +#define TRAINER_DUNCAN 496 +#define TRAINER_ERNEST_2 497 +#define TRAINER_ERNEST_3 498 +#define TRAINER_ERNEST_4 499 +#define TRAINER_ERNEST_5 500 +#define TRAINER_ELI 501 +#define TRAINER_ANNIKA 502 +#define TRAINER_JAZMYN 503 +#define TRAINER_JONAS 504 +#define TRAINER_KAYLEY 505 +#define TRAINER_AURON 506 +#define TRAINER_KELVIN 507 +#define TRAINER_MARLEY 508 +#define TRAINER_REYNA 509 +#define TRAINER_HUDSON 510 +#define TRAINER_CONOR 511 +#define TRAINER_EDWIN_1 512 +#define TRAINER_HECTOR 513 +#define TRAINER_TABITHA_1 514 +#define TRAINER_EDWIN_2 515 +#define TRAINER_EDWIN_3 516 +#define TRAINER_EDWIN_4 517 +#define TRAINER_EDWIN_5 518 +#define TRAINER_WALLY_1 519 +#define TRAINER_BRENDAN_1 520 +#define TRAINER_BRENDAN_2 521 +#define TRAINER_BRENDAN_3 522 +#define TRAINER_BRENDAN_4 523 +#define TRAINER_BRENDAN_5 524 +#define TRAINER_BRENDAN_6 525 +#define TRAINER_BRENDAN_7 526 +#define TRAINER_BRENDAN_8 527 +#define TRAINER_BRENDAN_9 528 +#define TRAINER_MAY_1 529 +#define TRAINER_MAY_2 530 +#define TRAINER_MAY_3 531 +#define TRAINER_MAY_4 532 +#define TRAINER_MAY_5 533 +#define TRAINER_MAY_6 534 +#define TRAINER_MAY_7 535 +#define TRAINER_MAY_8 536 +#define TRAINER_MAY_9 537 +#define TRAINER_ISAAC_1 538 +#define TRAINER_DAVIS 539 +#define TRAINER_MITCHELL 540 +#define TRAINER_ISAAC_2 541 +#define TRAINER_ISAAC_3 542 +#define TRAINER_ISAAC_4 543 +#define TRAINER_ISAAC_5 544 +#define TRAINER_LYDIA_1 545 +#define TRAINER_HALLE 546 +#define TRAINER_GARRISON 547 +#define TRAINER_LYDIA_2 548 +#define TRAINER_LYDIA_3 549 +#define TRAINER_LYDIA_4 550 +#define TRAINER_LYDIA_5 551 +#define TRAINER_JACKSON_1 552 +#define TRAINER_LORENZO 553 +#define TRAINER_SEBASTIAN 554 +#define TRAINER_JACKSON_2 555 +#define TRAINER_JACKSON_3 556 +#define TRAINER_JACKSON_4 557 +#define TRAINER_JACKSON_5 558 +#define TRAINER_CATHERINE_1 559 +#define TRAINER_JENNA 560 +#define TRAINER_SOPHIA 561 +#define TRAINER_CATHERINE_2 562 +#define TRAINER_CATHERINE_3 563 +#define TRAINER_CATHERINE_4 564 +#define TRAINER_CATHERINE_5 565 +#define TRAINER_JULIO 566 +#define TRAINER_GRUNT_27 567 +#define TRAINER_GRUNT_28 568 +#define TRAINER_GRUNT_29 569 +#define TRAINER_GRUNT_30 570 +#define TRAINER_MARC 571 +#define TRAINER_BRENDEN 572 +#define TRAINER_LILITH 573 +#define TRAINER_CRISTIAN 574 +#define TRAINER_SYLVIA 575 +#define TRAINER_LEONARDO 576 +#define TRAINER_ATHENA 577 +#define TRAINER_HARRISON 578 +#define TRAINER_GRUNT_31 579 +#define TRAINER_CLARENCE 580 +#define TRAINER_TERRY 581 +#define TRAINER_NATE 582 +#define TRAINER_KATHLEEN 583 +#define TRAINER_CLIFFORD 584 +#define TRAINER_NICHOLAS 585 +#define TRAINER_GRUNT_32 586 +#define TRAINER_GRUNT_33 587 +#define TRAINER_GRUNT_34 588 +#define TRAINER_GRUNT_35 589 +#define TRAINER_GRUNT_36 590 +#define TRAINER_MACEY 591 +#define TRAINER_BRENDAN_10 592 +#define TRAINER_BRENDAN_11 593 +#define TRAINER_PAXTON 594 +#define TRAINER_ISABELLA 595 +#define TRAINER_GRUNT_37 596 +#define TRAINER_TABITHA_2 597 +#define TRAINER_JONATHAN 598 +#define TRAINER_BRENDAN_12 599 +#define TRAINER_MAY_10 600 +#define TRAINER_MAXIE_1 601 +#define TRAINER_MAXIE_2 602 +#define TRAINER_TIANA 603 +#define TRAINER_HALEY_1 604 +#define TRAINER_JANICE 605 +#define TRAINER_VIVI 606 +#define TRAINER_HALEY_2 607 +#define TRAINER_HALEY_3 608 +#define TRAINER_HALEY_4 609 +#define TRAINER_HALEY_5 610 +#define TRAINER_SALLY 611 +#define TRAINER_ROBIN 612 +#define TRAINER_ANDREA 613 +#define TRAINER_CRISSY 614 +#define TRAINER_RICK 615 +#define TRAINER_LYLE 616 +#define TRAINER_JOSE 617 +#define TRAINER_DOUG 618 +#define TRAINER_GREG 619 +#define TRAINER_KENT 620 +#define TRAINER_JAMES_1 621 +#define TRAINER_JAMES_2 622 +#define TRAINER_JAMES_3 623 +#define TRAINER_JAMES_4 624 +#define TRAINER_JAMES_5 625 +#define TRAINER_BRICE 626 +#define TRAINER_TRENT_1 627 +#define TRAINER_LENNY 628 +#define TRAINER_LUCAS_1 629 +#define TRAINER_ALAN 630 +#define TRAINER_CLARK 631 +#define TRAINER_ERIC 632 +#define TRAINER_LUCAS_2 633 +#define TRAINER_MIKE_1 634 +#define TRAINER_MIKE_2 635 +#define TRAINER_TRENT_2 636 +#define TRAINER_TRENT_3 637 +#define TRAINER_TRENT_4 638 +#define TRAINER_TRENT_5 639 +#define TRAINER_DEZ_AND_LUKE 640 +#define TRAINER_LEA_AND_JED 641 +#define TRAINER_KIRA_AND_DAN_1 642 +#define TRAINER_KIRA_AND_DAN_2 643 +#define TRAINER_KIRA_AND_DAN_3 644 +#define TRAINER_KIRA_AND_DAN_4 645 +#define TRAINER_KIRA_AND_DAN_5 646 +#define TRAINER_JOHANNA 647 +#define TRAINER_GERALD 648 +#define TRAINER_VIVIAN 649 +#define TRAINER_DANIELLE 650 +#define TRAINER_HIDEO 651 +#define TRAINER_KEIGO 652 +#define TRAINER_RILEY 653 +#define TRAINER_FLINT 654 +#define TRAINER_ASHLEY 655 +#define TRAINER_WALLY_2 656 +#define TRAINER_WALLY_3 657 +#define TRAINER_WALLY_4 658 +#define TRAINER_WALLY_5 659 +#define TRAINER_WALLY_6 660 +#define TRAINER_BRENDAN_13 661 +#define TRAINER_BRENDAN_14 662 +#define TRAINER_BRENDAN_15 663 +#define TRAINER_MAY_11 664 +#define TRAINER_MAY_12 665 +#define TRAINER_MAY_13 666 +#define TRAINER_JONAH 667 +#define TRAINER_HENRY 668 +#define TRAINER_ROGER 669 +#define TRAINER_ALEXA 670 +#define TRAINER_RUBEN 671 +#define TRAINER_KOJI_1 672 +#define TRAINER_WAYNE 673 +#define TRAINER_AIDAN 674 +#define TRAINER_REED 675 +#define TRAINER_TISHA 676 +#define TRAINER_TORI_AND_TIA 677 +#define TRAINER_KIM_AND_IRIS 678 +#define TRAINER_TYRA_AND_IVY 679 +#define TRAINER_MEL_AND_PAUL 680 +#define TRAINER_JOHN_AND_JAY_1 681 +#define TRAINER_JOHN_AND_JAY_2 682 +#define TRAINER_JOHN_AND_JAY_3 683 +#define TRAINER_JOHN_AND_JAY_4 684 +#define TRAINER_JOHN_AND_JAY_5 685 +#define TRAINER_RELI_AND_IAN 686 +#define TRAINER_LILA_AND_ROY_1 687 +#define TRAINER_LILA_AND_ROY_2 688 +#define TRAINER_LILA_AND_ROY_3 689 +#define TRAINER_LILA_AND_ROY_4 690 +#define TRAINER_LILA_AND_ROY_5 691 +#define TRAINER_LISA_AND_RAY 692 +#define TRAINER_CHRIS 693 +#define TRAINER_DAWSON 694 +#define TRAINER_SARAH 695 +#define TRAINER_DARIAN 696 +#define TRAINER_HAILEY 697 +#define TRAINER_CHANDLER 698 +#define TRAINER_KALEB 699 +#define TRAINER_JOSEPH 700 +#define TRAINER_ALYSSA 701 +#define TRAINER_MARCOS 702 +#define TRAINER_RHETT 703 +#define TRAINER_TYRON 704 +#define TRAINER_CELINA 705 +#define TRAINER_BIANCA 706 +#define TRAINER_HAYDEN 707 +#define TRAINER_SOPHIE 708 +#define TRAINER_COBY 709 +#define TRAINER_LAWRENCE 710 +#define TRAINER_WYATT 711 +#define TRAINER_ANGELINA 712 +#define TRAINER_KAI 713 +#define TRAINER_CHARLOTTE 714 +#define TRAINER_DEANDRE 715 +#define TRAINER_GRUNT_38 716 +#define TRAINER_GRUNT_39 717 +#define TRAINER_GRUNT_40 718 +#define TRAINER_GRUNT_41 719 +#define TRAINER_GRUNT_42 720 +#define TRAINER_GRUNT_43 721 +#define TRAINER_GRUNT_44 722 +#define TRAINER_GRUNT_45 723 +#define TRAINER_GRUNT_46 724 +#define TRAINER_GRUNT_47 725 +#define TRAINER_GRUNT_48 726 +#define TRAINER_GRUNT_49 727 +#define TRAINER_GRUNT_50 728 +#define TRAINER_GRUNT_51 729 +#define TRAINER_GRUNT_52 730 +#define TRAINER_GRUNT_53 731 +#define TRAINER_TABITHA_3 732 +#define TRAINER_DARCY 733 +#define TRAINER_MAXIE_3 734 +#define TRAINER_PETE 735 +#define TRAINER_ISABELLE 736 +#define TRAINER_ANDRES_1 737 +#define TRAINER_JOSUE 738 +#define TRAINER_CAMRON 739 +#define TRAINER_CORY_1 740 +#define TRAINER_CAROLINA 741 +#define TRAINER_ELIJAH 742 +#define TRAINER_CELIA 743 +#define TRAINER_BRYAN 744 +#define TRAINER_BRANDEN 745 +#define TRAINER_BRYANT 746 +#define TRAINER_SHAYLA 747 +#define TRAINER_KYRA 748 +#define TRAINER_JAIDEN 749 +#define TRAINER_ALIX 750 +#define TRAINER_HELENE 751 +#define TRAINER_MARLENE 752 +#define TRAINER_DEVAN 753 +#define TRAINER_JOHNSON 754 +#define TRAINER_MELINA 755 +#define TRAINER_BRANDI 756 +#define TRAINER_AISHA 757 +#define TRAINER_MAKAYLA 758 +#define TRAINER_FABIAN 759 +#define TRAINER_DAYTON 760 +#define TRAINER_RACHEL 761 +#define TRAINER_LEONEL 762 +#define TRAINER_CALLIE 763 +#define TRAINER_CALE 764 +#define TRAINER_MYLES 765 +#define TRAINER_PAT 766 +#define TRAINER_CRISTIN_1 767 +#define TRAINER_MAY_14 768 +#define TRAINER_MAY_15 769 +#define TRAINER_ROXANNE_2 770 +#define TRAINER_ROXANNE_3 771 +#define TRAINER_ROXANNE_4 772 +#define TRAINER_ROXANNE_5 773 +#define TRAINER_BRAWLY_2 774 +#define TRAINER_BRAWLY_3 775 +#define TRAINER_BRAWLY_4 776 +#define TRAINER_BRAWLY_5 777 +#define TRAINER_WATTSON_2 778 +#define TRAINER_WATTSON_3 779 +#define TRAINER_WATTSON_4 780 +#define TRAINER_WATTSON_5 781 +#define TRAINER_FLANNERY_2 782 +#define TRAINER_FLANNERY_3 783 +#define TRAINER_FLANNERY_4 784 +#define TRAINER_FLANNERY_5 785 +#define TRAINER_NORMAN_2 786 +#define TRAINER_NORMAN_3 787 +#define TRAINER_NORMAN_4 788 +#define TRAINER_NORMAN_5 789 +#define TRAINER_WINONA_2 790 +#define TRAINER_WINONA_3 791 +#define TRAINER_WINONA_4 792 +#define TRAINER_WINONA_5 793 +#define TRAINER_TATE_AND_LIZA_2 794 +#define TRAINER_TATE_AND_LIZA_3 795 +#define TRAINER_TATE_AND_LIZA_4 796 +#define TRAINER_TATE_AND_LIZA_5 797 +#define TRAINER_JUAN_2 798 +#define TRAINER_JUAN_3 799 +#define TRAINER_JUAN_4 800 +#define TRAINER_JUAN_5 801 +#define TRAINER_ANGELO 802 +#define TRAINER_DARIUS 803 +#define TRAINER_STEVEN 804 +#define TRAINER_ANABEL 805 +#define TRAINER_TUCKER 806 +#define TRAINER_SPENSER 807 +#define TRAINER_GRETA 808 +#define TRAINER_NOLAND 809 +#define TRAINER_LUCY 810 +#define TRAINER_BRANDON 811 +#define TRAINER_ANDRES_2 812 +#define TRAINER_ANDRES_3 813 +#define TRAINER_ANDRES_4 814 +#define TRAINER_ANDRES_5 815 +#define TRAINER_CORY_2 816 +#define TRAINER_CORY_3 817 +#define TRAINER_CORY_4 818 +#define TRAINER_CORY_5 819 +#define TRAINER_PABLO_2 820 +#define TRAINER_PABLO_3 821 +#define TRAINER_PABLO_4 822 +#define TRAINER_PABLO_5 823 +#define TRAINER_KOJI_2 824 +#define TRAINER_KOJI_3 825 +#define TRAINER_KOJI_4 826 +#define TRAINER_KOJI_5 827 +#define TRAINER_CRISTIN_2 828 +#define TRAINER_CRISTIN_3 829 +#define TRAINER_CRISTIN_4 830 +#define TRAINER_CRISTIN_5 831 +#define TRAINER_FERNANDO_2 832 +#define TRAINER_FERNANDO_3 833 +#define TRAINER_FERNANDO_4 834 +#define TRAINER_FERNANDO_5 835 +#define TRAINER_SAWYER_2 836 +#define TRAINER_SAWYER_3 837 +#define TRAINER_SAWYER_4 838 +#define TRAINER_SAWYER_5 839 +#define TRAINER_GABRIELLE_2 840 +#define TRAINER_GABRIELLE_3 841 +#define TRAINER_GABRIELLE_4 842 +#define TRAINER_GABRIELLE_5 843 +#define TRAINER_THALIA_2 844 +#define TRAINER_THALIA_3 845 +#define TRAINER_THALIA_4 846 +#define TRAINER_THALIA_5 847 +#define TRAINER_MARIELA 848 +#define TRAINER_ALVARO 849 +#define TRAINER_EVERETT 850 +#define TRAINER_RED 851 +#define TRAINER_LEAF 852 +#define TRAINER_BRENDAN_16 853 +#define TRAINER_MAY_16 854 + +#define TRAINERS_COUNT 855 #endif // GUARD_CONSTANTS_OPPONENTS_H diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 43ea6d0b6..57c7fd523 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -1,863 +1,7 @@ #ifndef GUARD_TRAINERS_H #define GUARD_TRAINERS_H -#define TRAINER_NONE 0 -#define TRAINER_SAWYER_1 1 -#define TRAINER_GRUNT_1 2 -#define TRAINER_GRUNT_2 3 -#define TRAINER_GRUNT_3 4 -#define TRAINER_GRUNT_4 5 -#define TRAINER_GRUNT_5 6 -#define TRAINER_GRUNT_6 7 -#define TRAINER_GRUNT_7 8 -#define TRAINER_GABRIELLE_1 9 -#define TRAINER_GRUNT_8 10 -#define TRAINER_MARCEL 11 -#define TRAINER_ALBERTO 12 -#define TRAINER_ED 13 -#define TRAINER_GRUNT_9 14 -#define TRAINER_DECLAN 15 -#define TRAINER_GRUNT_10 16 -#define TRAINER_GRUNT_11 17 -#define TRAINER_GRUNT_12 18 -#define TRAINER_GRUNT_13 19 -#define TRAINER_GRUNT_14 20 -#define TRAINER_GRUNT_15 21 -#define TRAINER_GRUNT_16 22 -#define TRAINER_GRUNT_17 23 -#define TRAINER_GRUNT_18 24 -#define TRAINER_GRUNT_19 25 -#define TRAINER_GRUNT_20 26 -#define TRAINER_GRUNT_21 27 -#define TRAINER_GRUNT_22 28 -#define TRAINER_FREDRICK 29 -#define TRAINER_MATT 30 -#define TRAINER_ZANDER 31 -#define TRAINER_SHELLY_1 32 -#define TRAINER_SHELLY_2 33 -#define TRAINER_ARCHIE 34 -#define TRAINER_LEAH 35 -#define TRAINER_DAISY 36 -#define TRAINER_ROSE_1 37 -#define TRAINER_FELIX 38 -#define TRAINER_VIOLET 39 -#define TRAINER_ROSE_2 40 -#define TRAINER_ROSE_3 41 -#define TRAINER_ROSE_4 42 -#define TRAINER_ROSE_5 43 -#define TRAINER_DUSTY_1 44 -#define TRAINER_CHIP 45 -#define TRAINER_FOSTER 46 -#define TRAINER_DUSTY_2 47 -#define TRAINER_DUSTY_3 48 -#define TRAINER_DUSTY_4 49 -#define TRAINER_DUSTY_5 50 -#define TRAINER_GABBY_AND_TY_1 51 -#define TRAINER_GABBY_AND_TY_2 52 -#define TRAINER_GABBY_AND_TY_3 53 -#define TRAINER_GABBY_AND_TY_4 54 -#define TRAINER_GABBY_AND_TY_5 55 -#define TRAINER_GABBY_AND_TY_6 56 -#define TRAINER_LOLA_1 57 -#define TRAINER_AUSTINA 58 -#define TRAINER_GWEN 59 -#define TRAINER_LOLA_2 60 -#define TRAINER_LOLA_3 61 -#define TRAINER_LOLA_4 62 -#define TRAINER_LOLA_5 63 -#define TRAINER_RICKY_1 64 -#define TRAINER_SIMON 65 -#define TRAINER_CHARLIE 66 -#define TRAINER_RICKY_2 67 -#define TRAINER_RICKY_3 68 -#define TRAINER_RICKY_4 69 -#define TRAINER_RICKY_5 70 -#define TRAINER_RANDALL 71 -#define TRAINER_PARKER 72 -#define TRAINER_GEORGE 73 -#define TRAINER_BERKE 74 -#define TRAINER_BRAXTON 75 -#define TRAINER_VINCENT 76 -#define TRAINER_LEROY 77 -#define TRAINER_WILTON_1 78 -#define TRAINER_EDGAR 79 -#define TRAINER_ALBERT 80 -#define TRAINER_SAMUEL 81 -#define TRAINER_VITO 82 -#define TRAINER_OWEN 83 -#define TRAINER_WILTON_2 84 -#define TRAINER_WILTON_3 85 -#define TRAINER_WILTON_4 86 -#define TRAINER_WILTON_5 87 -#define TRAINER_WARREN 88 -#define TRAINER_MARY 89 -#define TRAINER_ALEXIA 90 -#define TRAINER_JODY 91 -#define TRAINER_WENDY 92 -#define TRAINER_KEIRA 93 -#define TRAINER_BROOKE_1 94 -#define TRAINER_JENNIFER 95 -#define TRAINER_HOPE 96 -#define TRAINER_SHANNON 97 -#define TRAINER_MICHELLE 98 -#define TRAINER_CAROLINE 99 -#define TRAINER_JULIE 100 -#define TRAINER_BROOKE_2 101 -#define TRAINER_BROOKE_3 102 -#define TRAINER_BROOKE_4 103 -#define TRAINER_BROOKE_5 104 -#define TRAINER_PATRICIA 105 -#define TRAINER_KINDRA 106 -#define TRAINER_TAMMY 107 -#define TRAINER_VALERIE_1 108 -#define TRAINER_TASHA 109 -#define TRAINER_VALERIE_2 110 -#define TRAINER_VALERIE_3 111 -#define TRAINER_VALERIE_4 112 -#define TRAINER_VALERIE_5 113 -#define TRAINER_CINDY_1 114 -#define TRAINER_DAPHNE 115 -#define TRAINER_GRUNT_23 116 -#define TRAINER_CINDY_2 117 -#define TRAINER_BRIANNA 118 -#define TRAINER_NAOMI 119 -#define TRAINER_CINDY_3 120 -#define TRAINER_CINDY_4 121 -#define TRAINER_CINDY_5 122 -#define TRAINER_CINDY_6 123 -#define TRAINER_MELISSA 124 -#define TRAINER_SHEILA 125 -#define TRAINER_SHIRLEY 126 -#define TRAINER_JESSICA_1 127 -#define TRAINER_CONNIE 128 -#define TRAINER_BRIDGET 129 -#define TRAINER_OLIVIA 130 -#define TRAINER_TIFFANY 131 -#define TRAINER_JESSICA_2 132 -#define TRAINER_JESSICA_3 133 -#define TRAINER_JESSICA_4 134 -#define TRAINER_JESSICA_5 135 -#define TRAINER_WINSTON_1 136 -#define TRAINER_MOLLIE 137 -#define TRAINER_GARRET 138 -#define TRAINER_WINSTON_2 139 -#define TRAINER_WINSTON_3 140 -#define TRAINER_WINSTON_4 141 -#define TRAINER_WINSTON_5 142 -#define TRAINER_STEVE_1 143 -#define TRAINER_THALIA_1 144 -#define TRAINER_MARK 145 -#define TRAINER_GRUNT_24 146 -#define TRAINER_STEVE_2 147 -#define TRAINER_STEVE_3 148 -#define TRAINER_STEVE_4 149 -#define TRAINER_STEVE_5 150 -#define TRAINER_LUIS 151 -#define TRAINER_DOMINIK 152 -#define TRAINER_DOUGLAS 153 -#define TRAINER_DARRIN 154 -#define TRAINER_TONY_1 155 -#define TRAINER_JEROME 156 -#define TRAINER_MATTHEW 157 -#define TRAINER_DAVID 158 -#define TRAINER_SPENCER 159 -#define TRAINER_ROLAND 160 -#define TRAINER_NOLEN 161 -#define TRAINER_STAN 162 -#define TRAINER_BARRY 163 -#define TRAINER_DEAN 164 -#define TRAINER_RODNEY 165 -#define TRAINER_RICHARD 166 -#define TRAINER_HERMAN 167 -#define TRAINER_SANTIAGO 168 -#define TRAINER_GILBERT 169 -#define TRAINER_FRANKLIN 170 -#define TRAINER_KEVIN 171 -#define TRAINER_JACK 172 -#define TRAINER_DUDLEY 173 -#define TRAINER_CHAD 174 -#define TRAINER_TONY_2 175 -#define TRAINER_TONY_3 176 -#define TRAINER_TONY_4 177 -#define TRAINER_TONY_5 178 -#define TRAINER_TAKAO 179 -#define TRAINER_HITOSHI 180 -#define TRAINER_KIYO 181 -#define TRAINER_KOICHI 182 -#define TRAINER_NOB_1 183 -#define TRAINER_NOB_2 184 -#define TRAINER_NOB_3 185 -#define TRAINER_NOB_4 186 -#define TRAINER_NOB_5 187 -#define TRAINER_YUJI 188 -#define TRAINER_DAISUKE 189 -#define TRAINER_ATSUSHI 190 -#define TRAINER_KIRK 191 -#define TRAINER_GRUNT_25 192 -#define TRAINER_GRUNT_26 193 -#define TRAINER_SHAWN 194 -#define TRAINER_FERNANDO_1 195 -#define TRAINER_DALTON_1 196 -#define TRAINER_DALTON_2 197 -#define TRAINER_DALTON_3 198 -#define TRAINER_DALTON_4 199 -#define TRAINER_DALTON_5 200 -#define TRAINER_COLE 201 -#define TRAINER_JEFF 202 -#define TRAINER_AXLE 203 -#define TRAINER_JACE 204 -#define TRAINER_KEEGAN 205 -#define TRAINER_BERNIE_1 206 -#define TRAINER_BERNIE_2 207 -#define TRAINER_BERNIE_3 208 -#define TRAINER_BERNIE_4 209 -#define TRAINER_BERNIE_5 210 -#define TRAINER_DREW 211 -#define TRAINER_BEAU 212 -#define TRAINER_LARRY 213 -#define TRAINER_SHANE 214 -#define TRAINER_JUSTIN 215 -#define TRAINER_ETHAN_1 216 -#define TRAINER_AUTUMN 217 -#define TRAINER_TRAVIS 218 -#define TRAINER_ETHAN_2 219 -#define TRAINER_ETHAN_3 220 -#define TRAINER_ETHAN_4 221 -#define TRAINER_ETHAN_5 222 -#define TRAINER_BRENT 223 -#define TRAINER_DONALD 224 -#define TRAINER_TAYLOR 225 -#define TRAINER_JEFFREY_1 226 -#define TRAINER_DEREK 227 -#define TRAINER_JEFFREY_2 228 -#define TRAINER_JEFFREY_3 229 -#define TRAINER_JEFFREY_4 230 -#define TRAINER_JEFFREY_5 231 -#define TRAINER_EDWARD 232 -#define TRAINER_PRESTON 233 -#define TRAINER_VIRGIL 234 -#define TRAINER_BLAKE 235 -#define TRAINER_WILLIAM 236 -#define TRAINER_JOSHUA 237 -#define TRAINER_CAMERON_1 238 -#define TRAINER_CAMERON_2 239 -#define TRAINER_CAMERON_3 240 -#define TRAINER_CAMERON_4 241 -#define TRAINER_CAMERON_5 242 -#define TRAINER_JACLYN 243 -#define TRAINER_HANNAH 244 -#define TRAINER_SAMANTHA 245 -#define TRAINER_MAURA 246 -#define TRAINER_KAYLA 247 -#define TRAINER_ALEXIS 248 -#define TRAINER_JACKI_1 249 -#define TRAINER_JACKI_2 250 -#define TRAINER_JACKI_3 251 -#define TRAINER_JACKI_4 252 -#define TRAINER_JACKI_5 253 -#define TRAINER_WALTER_1 254 -#define TRAINER_MICAH 255 -#define TRAINER_THOMAS 256 -#define TRAINER_WALTER_2 257 -#define TRAINER_WALTER_3 258 -#define TRAINER_WALTER_4 259 -#define TRAINER_WALTER_5 260 -#define TRAINER_SIDNEY 261 -#define TRAINER_PHOEBE 262 -#define TRAINER_GLACIA 263 -#define TRAINER_DRAKE 264 -#define TRAINER_ROXANNE_1 265 -#define TRAINER_BRAWLY_1 266 -#define TRAINER_WATTSON_1 267 -#define TRAINER_FLANNERY_1 268 -#define TRAINER_NORMAN_1 269 -#define TRAINER_WINONA_1 270 -#define TRAINER_TATE_AND_LIZA_1 271 -#define TRAINER_JUAN_1 272 -#define TRAINER_JERRY_1 273 -#define TRAINER_TED 274 -#define TRAINER_PAUL 275 -#define TRAINER_JERRY_2 276 -#define TRAINER_JERRY_3 277 -#define TRAINER_JERRY_4 278 -#define TRAINER_JERRY_5 279 -#define TRAINER_KAREN_1 280 -#define TRAINER_GEORGIA 281 -#define TRAINER_KAREN_2 282 -#define TRAINER_KAREN_3 283 -#define TRAINER_KAREN_4 284 -#define TRAINER_KAREN_5 285 -#define TRAINER_KATE_AND_JOY 286 -#define TRAINER_ANNA_AND_MEG_1 287 -#define TRAINER_ANNA_AND_MEG_2 288 -#define TRAINER_ANNA_AND_MEG_3 289 -#define TRAINER_ANNA_AND_MEG_4 290 -#define TRAINER_ANNA_AND_MEG_5 291 -#define TRAINER_VICTOR 292 -#define TRAINER_MIGUEL_1 293 -#define TRAINER_COLTON 294 -#define TRAINER_MIGUEL_2 295 -#define TRAINER_MIGUEL_3 296 -#define TRAINER_MIGUEL_4 297 -#define TRAINER_MIGUEL_5 298 -#define TRAINER_VICTORIA 299 -#define TRAINER_VANESSA 300 -#define TRAINER_BETHANY 301 -#define TRAINER_ISABEL_1 302 -#define TRAINER_ISABEL_2 303 -#define TRAINER_ISABEL_3 304 -#define TRAINER_ISABEL_4 305 -#define TRAINER_ISABEL_5 306 -#define TRAINER_TIMOTHY_1 307 -#define TRAINER_TIMOTHY_2 308 -#define TRAINER_TIMOTHY_3 309 -#define TRAINER_TIMOTHY_4 310 -#define TRAINER_TIMOTHY_5 311 -#define TRAINER_VICKY 312 -#define TRAINER_SHELBY_1 313 -#define TRAINER_SHELBY_2 314 -#define TRAINER_SHELBY_3 315 -#define TRAINER_SHELBY_4 316 -#define TRAINER_SHELBY_5 317 -#define TRAINER_CALVIN_1 318 -#define TRAINER_BILLY 319 -#define TRAINER_JOSH 320 -#define TRAINER_TOMMY 321 -#define TRAINER_JOEY 322 -#define TRAINER_BEN 323 -#define TRAINER_QUINCY 324 -#define TRAINER_KATELYNN 325 -#define TRAINER_JAYLEN 326 -#define TRAINER_DILLON 327 -#define TRAINER_CALVIN_2 328 -#define TRAINER_CALVIN_3 329 -#define TRAINER_CALVIN_4 330 -#define TRAINER_CALVIN_5 331 -#define TRAINER_EDDIE 332 -#define TRAINER_ALLEN 333 -#define TRAINER_TIMMY 334 -#define TRAINER_WALLACE 335 -#define TRAINER_ANDREW 336 -#define TRAINER_IVAN 337 -#define TRAINER_CLAUDE 338 -#define TRAINER_ELLIOT_1 339 -#define TRAINER_NED 340 -#define TRAINER_DALE 341 -#define TRAINER_NOLAN 342 -#define TRAINER_BARNY 343 -#define TRAINER_WADE 344 -#define TRAINER_CARTER 345 -#define TRAINER_ELLIOT_2 346 -#define TRAINER_ELLIOT_3 347 -#define TRAINER_ELLIOT_4 348 -#define TRAINER_ELLIOT_5 349 -#define TRAINER_RONALD 350 -#define TRAINER_JACOB 351 -#define TRAINER_ANTHONY 352 -#define TRAINER_BENJAMIN_1 353 -#define TRAINER_BENJAMIN_2 354 -#define TRAINER_BENJAMIN_3 355 -#define TRAINER_BENJAMIN_4 356 -#define TRAINER_BENJAMIN_5 357 -#define TRAINER_ABIGAIL_1 358 -#define TRAINER_JASMINE 359 -#define TRAINER_ABIGAIL_2 360 -#define TRAINER_ABIGAIL_3 361 -#define TRAINER_ABIGAIL_4 362 -#define TRAINER_ABIGAIL_5 363 -#define TRAINER_DYLAN_1 364 -#define TRAINER_DYLAN_2 365 -#define TRAINER_DYLAN_3 366 -#define TRAINER_DYLAN_4 367 -#define TRAINER_DYLAN_5 368 -#define TRAINER_MARIA_1 369 -#define TRAINER_MARIA_2 370 -#define TRAINER_MARIA_3 371 -#define TRAINER_MARIA_4 372 -#define TRAINER_MARIA_5 373 -#define TRAINER_CAMDEN 374 -#define TRAINER_DEMETRIUS 375 -#define TRAINER_ISAIAH_1 376 -#define TRAINER_PABLO_1 377 -#define TRAINER_CHASE 378 -#define TRAINER_ISAIAH_2 379 -#define TRAINER_ISAIAH_3 380 -#define TRAINER_ISAIAH_4 381 -#define TRAINER_ISAIAH_5 382 -#define TRAINER_ISOBEL 383 -#define TRAINER_DONNY 384 -#define TRAINER_TALIA 385 -#define TRAINER_KATELYN_1 386 -#define TRAINER_ALLISON 387 -#define TRAINER_KATELYN_2 388 -#define TRAINER_KATELYN_3 389 -#define TRAINER_KATELYN_4 390 -#define TRAINER_KATELYN_5 391 -#define TRAINER_NICOLAS_1 392 -#define TRAINER_NICOLAS_2 393 -#define TRAINER_NICOLAS_3 394 -#define TRAINER_NICOLAS_4 395 -#define TRAINER_NICOLAS_5 396 -#define TRAINER_AARON 397 -#define TRAINER_PERRY 398 -#define TRAINER_HUGH 399 -#define TRAINER_PHIL 400 -#define TRAINER_JARED 401 -#define TRAINER_HUMBERTO 402 -#define TRAINER_PRESLEY 403 -#define TRAINER_EDWARDO 404 -#define TRAINER_COLIN 405 -#define TRAINER_ROBERT_1 406 -#define TRAINER_BENNY 407 -#define TRAINER_CHESTER 408 -#define TRAINER_ROBERT_2 409 -#define TRAINER_ROBERT_3 410 -#define TRAINER_ROBERT_4 411 -#define TRAINER_ROBERT_5 412 -#define TRAINER_ALEX 413 -#define TRAINER_BECK 414 -#define TRAINER_YASU 415 -#define TRAINER_TAKASHI 416 -#define TRAINER_DIANNE 417 -#define TRAINER_JANI 418 -#define TRAINER_LAO_1 419 -#define TRAINER_LUNG 420 -#define TRAINER_LAO_2 421 -#define TRAINER_LAO_3 422 -#define TRAINER_LAO_4 423 -#define TRAINER_LAO_5 424 -#define TRAINER_JOCELYN 425 -#define TRAINER_LAURA 426 -#define TRAINER_CYNDY_1 427 -#define TRAINER_CORA 428 -#define TRAINER_PAULA 429 -#define TRAINER_CYNDY_2 430 -#define TRAINER_CYNDY_3 431 -#define TRAINER_CYNDY_4 432 -#define TRAINER_CYNDY_5 433 -#define TRAINER_MADELINE_1 434 -#define TRAINER_CLARISSA 435 -#define TRAINER_ANGELICA 436 -#define TRAINER_MADELINE_2 437 -#define TRAINER_MADELINE_3 438 -#define TRAINER_MADELINE_4 439 -#define TRAINER_MADELINE_5 440 -#define TRAINER_BEVERLY 441 -#define TRAINER_IMANI 442 -#define TRAINER_KYLA 443 -#define TRAINER_DENISE 444 -#define TRAINER_BETH 445 -#define TRAINER_TARA 446 -#define TRAINER_MISSY 447 -#define TRAINER_ALICE 448 -#define TRAINER_JENNY_1 449 -#define TRAINER_GRACE 450 -#define TRAINER_TANYA 451 -#define TRAINER_SHARON 452 -#define TRAINER_NIKKI 453 -#define TRAINER_BRENDA 454 -#define TRAINER_KATIE 455 -#define TRAINER_SUSIE 456 -#define TRAINER_KARA 457 -#define TRAINER_DANA 458 -#define TRAINER_SIENNA 459 -#define TRAINER_DEBRA 460 -#define TRAINER_LINDA 461 -#define TRAINER_KAYLEE 462 -#define TRAINER_LAUREL 463 -#define TRAINER_CARLEE 464 -#define TRAINER_JENNY_2 465 -#define TRAINER_JENNY_3 466 -#define TRAINER_JENNY_4 467 -#define TRAINER_JENNY_5 468 -#define TRAINER_HEIDI 469 -#define TRAINER_BECKY 470 -#define TRAINER_CAROL 471 -#define TRAINER_NANCY 472 -#define TRAINER_MARTHA 473 -#define TRAINER_DIANA_1 474 -#define TRAINER_CEDRIC 475 -#define TRAINER_IRENE 476 -#define TRAINER_DIANA_2 477 -#define TRAINER_DIANA_3 478 -#define TRAINER_DIANA_4 479 -#define TRAINER_DIANA_5 480 -#define TRAINER_AMY_AND_LIV_1 481 -#define TRAINER_AMY_AND_LIV_2 482 -#define TRAINER_GINA_AND_MIA_1 483 -#define TRAINER_MIU_AND_YUKI 484 -#define TRAINER_AMY_AND_LIV_3 485 -#define TRAINER_GINA_AND_MIA_2 486 -#define TRAINER_AMY_AND_LIV_4 487 -#define TRAINER_AMY_AND_LIV_5 488 -#define TRAINER_AMY_AND_LIV_6 489 -#define TRAINER_HUEY 490 -#define TRAINER_EDMOND 491 -#define TRAINER_ERNEST_1 492 -#define TRAINER_DWAYNE 493 -#define TRAINER_PHILLIP 494 -#define TRAINER_LEONARD 495 -#define TRAINER_DUNCAN 496 -#define TRAINER_ERNEST_2 497 -#define TRAINER_ERNEST_3 498 -#define TRAINER_ERNEST_4 499 -#define TRAINER_ERNEST_5 500 -#define TRAINER_ELI 501 -#define TRAINER_ANNIKA 502 -#define TRAINER_JAZMYN 503 -#define TRAINER_JONAS 504 -#define TRAINER_KAYLEY 505 -#define TRAINER_AURON 506 -#define TRAINER_KELVIN 507 -#define TRAINER_MARLEY 508 -#define TRAINER_REYNA 509 -#define TRAINER_HUDSON 510 -#define TRAINER_CONOR 511 -#define TRAINER_EDWIN_1 512 -#define TRAINER_HECTOR 513 -#define TRAINER_TABITHA_1 514 -#define TRAINER_EDWIN_2 515 -#define TRAINER_EDWIN_3 516 -#define TRAINER_EDWIN_4 517 -#define TRAINER_EDWIN_5 518 -#define TRAINER_WALLY_1 519 -#define TRAINER_BRENDAN_1 520 -#define TRAINER_BRENDAN_2 521 -#define TRAINER_BRENDAN_3 522 -#define TRAINER_BRENDAN_4 523 -#define TRAINER_BRENDAN_5 524 -#define TRAINER_BRENDAN_6 525 -#define TRAINER_BRENDAN_7 526 -#define TRAINER_BRENDAN_8 527 -#define TRAINER_BRENDAN_9 528 -#define TRAINER_MAY_1 529 -#define TRAINER_MAY_2 530 -#define TRAINER_MAY_3 531 -#define TRAINER_MAY_4 532 -#define TRAINER_MAY_5 533 -#define TRAINER_MAY_6 534 -#define TRAINER_MAY_7 535 -#define TRAINER_MAY_8 536 -#define TRAINER_MAY_9 537 -#define TRAINER_ISAAC_1 538 -#define TRAINER_DAVIS 539 -#define TRAINER_MITCHELL 540 -#define TRAINER_ISAAC_2 541 -#define TRAINER_ISAAC_3 542 -#define TRAINER_ISAAC_4 543 -#define TRAINER_ISAAC_5 544 -#define TRAINER_LYDIA_1 545 -#define TRAINER_HALLE 546 -#define TRAINER_GARRISON 547 -#define TRAINER_LYDIA_2 548 -#define TRAINER_LYDIA_3 549 -#define TRAINER_LYDIA_4 550 -#define TRAINER_LYDIA_5 551 -#define TRAINER_JACKSON_1 552 -#define TRAINER_LORENZO 553 -#define TRAINER_SEBASTIAN 554 -#define TRAINER_JACKSON_2 555 -#define TRAINER_JACKSON_3 556 -#define TRAINER_JACKSON_4 557 -#define TRAINER_JACKSON_5 558 -#define TRAINER_CATHERINE_1 559 -#define TRAINER_JENNA 560 -#define TRAINER_SOPHIA 561 -#define TRAINER_CATHERINE_2 562 -#define TRAINER_CATHERINE_3 563 -#define TRAINER_CATHERINE_4 564 -#define TRAINER_CATHERINE_5 565 -#define TRAINER_JULIO 566 -#define TRAINER_GRUNT_27 567 -#define TRAINER_GRUNT_28 568 -#define TRAINER_GRUNT_29 569 -#define TRAINER_GRUNT_30 570 -#define TRAINER_MARC 571 -#define TRAINER_BRENDEN 572 -#define TRAINER_LILITH 573 -#define TRAINER_CRISTIAN 574 -#define TRAINER_SYLVIA 575 -#define TRAINER_LEONARDO 576 -#define TRAINER_ATHENA 577 -#define TRAINER_HARRISON 578 -#define TRAINER_GRUNT_31 579 -#define TRAINER_CLARENCE 580 -#define TRAINER_TERRY 581 -#define TRAINER_NATE 582 -#define TRAINER_KATHLEEN 583 -#define TRAINER_CLIFFORD 584 -#define TRAINER_NICHOLAS 585 -#define TRAINER_GRUNT_32 586 -#define TRAINER_GRUNT_33 587 -#define TRAINER_GRUNT_34 588 -#define TRAINER_GRUNT_35 589 -#define TRAINER_GRUNT_36 590 -#define TRAINER_MACEY 591 -#define TRAINER_BRENDAN_10 592 -#define TRAINER_BRENDAN_11 593 -#define TRAINER_PAXTON 594 -#define TRAINER_ISABELLA 595 -#define TRAINER_GRUNT_37 596 -#define TRAINER_TABITHA_2 597 -#define TRAINER_JONATHAN 598 -#define TRAINER_BRENDAN_12 599 -#define TRAINER_MAY_10 600 -#define TRAINER_MAXIE_1 601 -#define TRAINER_MAXIE_2 602 -#define TRAINER_TIANA 603 -#define TRAINER_HALEY_1 604 -#define TRAINER_JANICE 605 -#define TRAINER_VIVI 606 -#define TRAINER_HALEY_2 607 -#define TRAINER_HALEY_3 608 -#define TRAINER_HALEY_4 609 -#define TRAINER_HALEY_5 610 -#define TRAINER_SALLY 611 -#define TRAINER_ROBIN 612 -#define TRAINER_ANDREA 613 -#define TRAINER_CRISSY 614 -#define TRAINER_RICK 615 -#define TRAINER_LYLE 616 -#define TRAINER_JOSE 617 -#define TRAINER_DOUG 618 -#define TRAINER_GREG 619 -#define TRAINER_KENT 620 -#define TRAINER_JAMES_1 621 -#define TRAINER_JAMES_2 622 -#define TRAINER_JAMES_3 623 -#define TRAINER_JAMES_4 624 -#define TRAINER_JAMES_5 625 -#define TRAINER_BRICE 626 -#define TRAINER_TRENT_1 627 -#define TRAINER_LENNY 628 -#define TRAINER_LUCAS_1 629 -#define TRAINER_ALAN 630 -#define TRAINER_CLARK 631 -#define TRAINER_ERIC 632 -#define TRAINER_LUCAS_2 633 -#define TRAINER_MIKE_1 634 -#define TRAINER_MIKE_2 635 -#define TRAINER_TRENT_2 636 -#define TRAINER_TRENT_3 637 -#define TRAINER_TRENT_4 638 -#define TRAINER_TRENT_5 639 -#define TRAINER_DEZ_AND_LUKE 640 -#define TRAINER_LEA_AND_JED 641 -#define TRAINER_KIRA_AND_DAN_1 642 -#define TRAINER_KIRA_AND_DAN_2 643 -#define TRAINER_KIRA_AND_DAN_3 644 -#define TRAINER_KIRA_AND_DAN_4 645 -#define TRAINER_KIRA_AND_DAN_5 646 -#define TRAINER_JOHANNA 647 -#define TRAINER_GERALD 648 -#define TRAINER_VIVIAN 649 -#define TRAINER_DANIELLE 650 -#define TRAINER_HIDEO 651 -#define TRAINER_KEIGO 652 -#define TRAINER_RILEY 653 -#define TRAINER_FLINT 654 -#define TRAINER_ASHLEY 655 -#define TRAINER_WALLY_2 656 -#define TRAINER_WALLY_3 657 -#define TRAINER_WALLY_4 658 -#define TRAINER_WALLY_5 659 -#define TRAINER_WALLY_6 660 -#define TRAINER_BRENDAN_13 661 -#define TRAINER_BRENDAN_14 662 -#define TRAINER_BRENDAN_15 663 -#define TRAINER_MAY_11 664 -#define TRAINER_MAY_12 665 -#define TRAINER_MAY_13 666 -#define TRAINER_JONAH 667 -#define TRAINER_HENRY 668 -#define TRAINER_ROGER 669 -#define TRAINER_ALEXA 670 -#define TRAINER_RUBEN 671 -#define TRAINER_KOJI_1 672 -#define TRAINER_WAYNE 673 -#define TRAINER_AIDAN 674 -#define TRAINER_REED 675 -#define TRAINER_TISHA 676 -#define TRAINER_TORI_AND_TIA 677 -#define TRAINER_KIM_AND_IRIS 678 -#define TRAINER_TYRA_AND_IVY 679 -#define TRAINER_MEL_AND_PAUL 680 -#define TRAINER_JOHN_AND_JAY_1 681 -#define TRAINER_JOHN_AND_JAY_2 682 -#define TRAINER_JOHN_AND_JAY_3 683 -#define TRAINER_JOHN_AND_JAY_4 684 -#define TRAINER_JOHN_AND_JAY_5 685 -#define TRAINER_RELI_AND_IAN 686 -#define TRAINER_LILA_AND_ROY_1 687 -#define TRAINER_LILA_AND_ROY_2 688 -#define TRAINER_LILA_AND_ROY_3 689 -#define TRAINER_LILA_AND_ROY_4 690 -#define TRAINER_LILA_AND_ROY_5 691 -#define TRAINER_LISA_AND_RAY 692 -#define TRAINER_CHRIS 693 -#define TRAINER_DAWSON 694 -#define TRAINER_SARAH 695 -#define TRAINER_DARIAN 696 -#define TRAINER_HAILEY 697 -#define TRAINER_CHANDLER 698 -#define TRAINER_KALEB 699 -#define TRAINER_JOSEPH 700 -#define TRAINER_ALYSSA 701 -#define TRAINER_MARCOS 702 -#define TRAINER_RHETT 703 -#define TRAINER_TYRON 704 -#define TRAINER_CELINA 705 -#define TRAINER_BIANCA 706 -#define TRAINER_HAYDEN 707 -#define TRAINER_SOPHIE 708 -#define TRAINER_COBY 709 -#define TRAINER_LAWRENCE 710 -#define TRAINER_WYATT 711 -#define TRAINER_ANGELINA 712 -#define TRAINER_KAI 713 -#define TRAINER_CHARLOTTE 714 -#define TRAINER_DEANDRE 715 -#define TRAINER_GRUNT_38 716 -#define TRAINER_GRUNT_39 717 -#define TRAINER_GRUNT_40 718 -#define TRAINER_GRUNT_41 719 -#define TRAINER_GRUNT_42 720 -#define TRAINER_GRUNT_43 721 -#define TRAINER_GRUNT_44 722 -#define TRAINER_GRUNT_45 723 -#define TRAINER_GRUNT_46 724 -#define TRAINER_GRUNT_47 725 -#define TRAINER_GRUNT_48 726 -#define TRAINER_GRUNT_49 727 -#define TRAINER_GRUNT_50 728 -#define TRAINER_GRUNT_51 729 -#define TRAINER_GRUNT_52 730 -#define TRAINER_GRUNT_53 731 -#define TRAINER_TABITHA_3 732 -#define TRAINER_DARCY 733 -#define TRAINER_MAXIE_3 734 -#define TRAINER_PETE 735 -#define TRAINER_ISABELLE 736 -#define TRAINER_ANDRES_1 737 -#define TRAINER_JOSUE 738 -#define TRAINER_CAMRON 739 -#define TRAINER_CORY_1 740 -#define TRAINER_CAROLINA 741 -#define TRAINER_ELIJAH 742 -#define TRAINER_CELIA 743 -#define TRAINER_BRYAN 744 -#define TRAINER_BRANDEN 745 -#define TRAINER_BRYANT 746 -#define TRAINER_SHAYLA 747 -#define TRAINER_KYRA 748 -#define TRAINER_JAIDEN 749 -#define TRAINER_ALIX 750 -#define TRAINER_HELENE 751 -#define TRAINER_MARLENE 752 -#define TRAINER_DEVAN 753 -#define TRAINER_JOHNSON 754 -#define TRAINER_MELINA 755 -#define TRAINER_BRANDI 756 -#define TRAINER_AISHA 757 -#define TRAINER_MAKAYLA 758 -#define TRAINER_FABIAN 759 -#define TRAINER_DAYTON 760 -#define TRAINER_RACHEL 761 -#define TRAINER_LEONEL 762 -#define TRAINER_CALLIE 763 -#define TRAINER_CALE 764 -#define TRAINER_MYLES 765 -#define TRAINER_PAT 766 -#define TRAINER_CRISTIN_1 767 -#define TRAINER_MAY_14 768 -#define TRAINER_MAY_15 769 -#define TRAINER_ROXANNE_2 770 -#define TRAINER_ROXANNE_3 771 -#define TRAINER_ROXANNE_4 772 -#define TRAINER_ROXANNE_5 773 -#define TRAINER_BRAWLY_2 774 -#define TRAINER_BRAWLY_3 775 -#define TRAINER_BRAWLY_4 776 -#define TRAINER_BRAWLY_5 777 -#define TRAINER_WATTSON_2 778 -#define TRAINER_WATTSON_3 779 -#define TRAINER_WATTSON_4 780 -#define TRAINER_WATTSON_5 781 -#define TRAINER_FLANNERY_2 782 -#define TRAINER_FLANNERY_3 783 -#define TRAINER_FLANNERY_4 784 -#define TRAINER_FLANNERY_5 785 -#define TRAINER_NORMAN_2 786 -#define TRAINER_NORMAN_3 787 -#define TRAINER_NORMAN_4 788 -#define TRAINER_NORMAN_5 789 -#define TRAINER_WINONA_2 790 -#define TRAINER_WINONA_3 791 -#define TRAINER_WINONA_4 792 -#define TRAINER_WINONA_5 793 -#define TRAINER_TATE_AND_LIZA_2 794 -#define TRAINER_TATE_AND_LIZA_3 795 -#define TRAINER_TATE_AND_LIZA_4 796 -#define TRAINER_TATE_AND_LIZA_5 797 -#define TRAINER_JUAN_2 798 -#define TRAINER_JUAN_3 799 -#define TRAINER_JUAN_4 800 -#define TRAINER_JUAN_5 801 -#define TRAINER_ANGELO 802 -#define TRAINER_DARIUS 803 -#define TRAINER_STEVEN 804 -#define TRAINER_ANABEL 805 -#define TRAINER_TUCKER 806 -#define TRAINER_SPENSER 807 -#define TRAINER_GRETA 808 -#define TRAINER_NOLAND 809 -#define TRAINER_LUCY 810 -#define TRAINER_BRANDON 811 -#define TRAINER_ANDRES_2 812 -#define TRAINER_ANDRES_3 813 -#define TRAINER_ANDRES_4 814 -#define TRAINER_ANDRES_5 815 -#define TRAINER_CORY_2 816 -#define TRAINER_CORY_3 817 -#define TRAINER_CORY_4 818 -#define TRAINER_CORY_5 819 -#define TRAINER_PABLO_2 820 -#define TRAINER_PABLO_3 821 -#define TRAINER_PABLO_4 822 -#define TRAINER_PABLO_5 823 -#define TRAINER_KOJI_2 824 -#define TRAINER_KOJI_3 825 -#define TRAINER_KOJI_4 826 -#define TRAINER_KOJI_5 827 -#define TRAINER_CRISTIN_2 828 -#define TRAINER_CRISTIN_3 829 -#define TRAINER_CRISTIN_4 830 -#define TRAINER_CRISTIN_5 831 -#define TRAINER_FERNANDO_2 832 -#define TRAINER_FERNANDO_3 833 -#define TRAINER_FERNANDO_4 834 -#define TRAINER_FERNANDO_5 835 -#define TRAINER_SAWYER_2 836 -#define TRAINER_SAWYER_3 837 -#define TRAINER_SAWYER_4 838 -#define TRAINER_SAWYER_5 839 -#define TRAINER_GABRIELLE_2 840 -#define TRAINER_GABRIELLE_3 841 -#define TRAINER_GABRIELLE_4 842 -#define TRAINER_GABRIELLE_5 843 -#define TRAINER_THALIA_2 844 -#define TRAINER_THALIA_3 845 -#define TRAINER_THALIA_4 846 -#define TRAINER_THALIA_5 847 -#define TRAINER_MARIELA 848 -#define TRAINER_ALVARO 849 -#define TRAINER_EVERETT 850 -#define TRAINER_RED 851 -#define TRAINER_LEAF 852 -#define TRAINER_BRENDAN_16 853 -#define TRAINER_MAY_16 854 - -#define TRAINERS_COUNT 855 +#include "constants/opponents.h" // Special Trainer Ids. #define TRAINER_FRONTIER_BRAIN 1022 diff --git a/include/constants/vars.h b/include/constants/vars.h index ed4a7797b..7cf232efe 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -49,13 +49,13 @@ #define VAR_RECYCLE_GOODS 0x4020 #define VAR_REPEL_STEP_COUNT 0x4021 #define VAR_ICE_STEP_COUNT 0x4022 -#define VAR_FIRST_POKE 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip +#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip #define VAR_MIRAGE_RND_H 0x4024 #define VAR_MIRAGE_RND_L 0x4025 #define VAR_SECRET_BASE_MAP 0x4026 -#define VAR_0x4027 0x4027 -#define VAR_0x4028 0x4028 -#define VAR_0x4029 0x4029 +#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027 +#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028 +#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029 #define VAR_HAPPINESS_STEP_COUNTER 0x402A #define VAR_POISON_STEP_COUNTER 0x402B #define VAR_RESET_RTC_ENABLE 0x402C @@ -81,8 +81,8 @@ #define VAR_ALTERING_CAVE_WILD_SET 0x403E #define VAR_0x403F 0x403F #define VAR_DAYS 0x4040 -#define VAR_0x4041 0x4041 -#define VAR_0x4042 0x4042 +#define VAR_FANCLUB_UNKNOWN_1 0x4041 +#define VAR_FANCLUB_UNKNOWN_2 0x4042 #define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_0x4044 0x4044 #define VAR_POKELOT_PRIZE 0x4045 @@ -165,12 +165,12 @@ #define VAR_0x4092 0x4092 #define VAR_0x4093 0x4093 #define VAR_0x4094 0x4094 -#define VAR_0x4095 0x4095 +#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 #define VAR_0x4096 0x4096 #define VAR_0x4097 0x4097 #define VAR_0x4098 0x4098 #define VAR_0x4099 0x4099 -#define VAR_0x409A 0x409A +#define VAR_RUSTURF_TUNNEL_STATE 0x409A #define VAR_0x409B 0x409B #define VAR_0x409C 0x409C #define VAR_0x409D 0x409D @@ -185,7 +185,7 @@ #define VAR_0x40A6 0x40A6 #define VAR_0x40A7 0x40A7 #define VAR_0x40A8 0x40A8 -#define VAR_0x40A9 0x40A9 +#define VAR_CYCLING_CHALLENGE_STATE 0x40A9 #define VAR_0x40AA 0x40AA #define VAR_0x40AB 0x40AB #define VAR_0x40AC 0x40AC @@ -196,7 +196,7 @@ #define VAR_0x40B1 0x40B1 #define VAR_0x40B2 0x40B2 #define VAR_WEATHER_INSTITUTE_STATE 0x40B3 -#define VAR_PORTHOLE 0x40B4 +#define VAR_PORTHOLE_STATE 0x40B4 #define VAR_0x40B5 0x40B5 #define VAR_0x40B6 0x40B6 #define VAR_0x40B7 0x40B7 @@ -210,7 +210,7 @@ #define VAR_0x40BF 0x40BF #define VAR_0x40C0 0x40C0 #define VAR_0x40C1 0x40C1 -#define VAR_0x40C2 0x40C2 +#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2 #define VAR_0x40C3 0x40C3 #define VAR_0x40C4 0x40C4 #define VAR_0x40C5 0x40C5 diff --git a/include/contest.h b/include/contest.h index d920117f3..c263882eb 100644 --- a/include/contest.h +++ b/include/contest.h @@ -1,6 +1,21 @@ #ifndef GUARD_CONTEST_H #define GUARD_CONTEST_H +struct ContestMove +{ + u8 effect; + u8 contestCategory:3; + u8 comboStarterId; + u8 comboMoves[4]; +}; + +struct ContestEffect +{ + u8 effectType; + u8 appeal; + u8 jam; +}; + struct ContestStruct_02039E00 { u16 unk_00; diff --git a/include/data/pokemon/level_up_learnset_pointers.h b/include/data/pokemon/level_up_learnset_pointers.h index a56b1c09f..0f648526c 100644 --- a/include/data/pokemon/level_up_learnset_pointers.h +++ b/include/data/pokemon/level_up_learnset_pointers.h @@ -1,420 +1,420 @@ #ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H #define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H -const u16 *const gLevelUpLearnsets[] = +const u16 *const gLevelUpLearnsets[NUM_SPECIES] = { - gBulbasaurLevelUpLearnset, - gBulbasaurLevelUpLearnset, - gIvysaurLevelUpLearnset, - gVenusaurLevelUpLearnset, - gCharmanderLevelUpLearnset, - gCharmeleonLevelUpLearnset, - gCharizardLevelUpLearnset, - gSquirtleLevelUpLearnset, - gWartortleLevelUpLearnset, - gBlastoiseLevelUpLearnset, - gCaterpieLevelUpLearnset, - gMetapodLevelUpLearnset, - gButterfreeLevelUpLearnset, - gWeedleLevelUpLearnset, - gKakunaLevelUpLearnset, - gBeedrillLevelUpLearnset, - gPidgeyLevelUpLearnset, - gPidgeottoLevelUpLearnset, - gPidgeotLevelUpLearnset, - gRattataLevelUpLearnset, - gRaticateLevelUpLearnset, - gSpearowLevelUpLearnset, - gFearowLevelUpLearnset, - gEkansLevelUpLearnset, - gArbokLevelUpLearnset, - gPikachuLevelUpLearnset, - gRaichuLevelUpLearnset, - gSandshrewLevelUpLearnset, - gSandslashLevelUpLearnset, - gNidoranFLevelUpLearnset, - gNidorinaLevelUpLearnset, - gNidoqueenLevelUpLearnset, - gNidoranMLevelUpLearnset, - gNidorinoLevelUpLearnset, - gNidokingLevelUpLearnset, - gClefairyLevelUpLearnset, - gClefableLevelUpLearnset, - gVulpixLevelUpLearnset, - gNinetalesLevelUpLearnset, - gJigglypuffLevelUpLearnset, - gWigglytuffLevelUpLearnset, - gZubatLevelUpLearnset, - gGolbatLevelUpLearnset, - gOddishLevelUpLearnset, - gGloomLevelUpLearnset, - gVileplumeLevelUpLearnset, - gParasLevelUpLearnset, - gParasectLevelUpLearnset, - gVenonatLevelUpLearnset, - gVenomothLevelUpLearnset, - gDiglettLevelUpLearnset, - gDugtrioLevelUpLearnset, - gMeowthLevelUpLearnset, - gPersianLevelUpLearnset, - gPsyduckLevelUpLearnset, - gGolduckLevelUpLearnset, - gMankeyLevelUpLearnset, - gPrimeapeLevelUpLearnset, - gGrowlitheLevelUpLearnset, - gArcanineLevelUpLearnset, - gPoliwagLevelUpLearnset, - gPoliwhirlLevelUpLearnset, - gPoliwrathLevelUpLearnset, - gAbraLevelUpLearnset, - gKadabraLevelUpLearnset, - gAlakazamLevelUpLearnset, - gMachopLevelUpLearnset, - gMachokeLevelUpLearnset, - gMachampLevelUpLearnset, - gBellsproutLevelUpLearnset, - gWeepinbellLevelUpLearnset, - gVictreebelLevelUpLearnset, - gTentacoolLevelUpLearnset, - gTentacruelLevelUpLearnset, - gGeodudeLevelUpLearnset, - gGravelerLevelUpLearnset, - gGolemLevelUpLearnset, - gPonytaLevelUpLearnset, - gRapidashLevelUpLearnset, - gSlowpokeLevelUpLearnset, - gSlowbroLevelUpLearnset, - gMagnemiteLevelUpLearnset, - gMagnetonLevelUpLearnset, - gFarfetchdLevelUpLearnset, - gDoduoLevelUpLearnset, - gDodrioLevelUpLearnset, - gSeelLevelUpLearnset, - gDewgongLevelUpLearnset, - gGrimerLevelUpLearnset, - gMukLevelUpLearnset, - gShellderLevelUpLearnset, - gCloysterLevelUpLearnset, - gGastlyLevelUpLearnset, - gHaunterLevelUpLearnset, - gGengarLevelUpLearnset, - gOnixLevelUpLearnset, - gDrowzeeLevelUpLearnset, - gHypnoLevelUpLearnset, - gKrabbyLevelUpLearnset, - gKinglerLevelUpLearnset, - gVoltorbLevelUpLearnset, - gElectrodeLevelUpLearnset, - gExeggcuteLevelUpLearnset, - gExeggutorLevelUpLearnset, - gCuboneLevelUpLearnset, - gMarowakLevelUpLearnset, - gHitmonleeLevelUpLearnset, - gHitmonchanLevelUpLearnset, - gLickitungLevelUpLearnset, - gKoffingLevelUpLearnset, - gWeezingLevelUpLearnset, - gRhyhornLevelUpLearnset, - gRhydonLevelUpLearnset, - gChanseyLevelUpLearnset, - gTangelaLevelUpLearnset, - gKangaskhanLevelUpLearnset, - gHorseaLevelUpLearnset, - gSeadraLevelUpLearnset, - gGoldeenLevelUpLearnset, - gSeakingLevelUpLearnset, - gStaryuLevelUpLearnset, - gStarmieLevelUpLearnset, - gMrmimeLevelUpLearnset, - gScytherLevelUpLearnset, - gJynxLevelUpLearnset, - gElectabuzzLevelUpLearnset, - gMagmarLevelUpLearnset, - gPinsirLevelUpLearnset, - gTaurosLevelUpLearnset, - gMagikarpLevelUpLearnset, - gGyaradosLevelUpLearnset, - gLaprasLevelUpLearnset, - gDittoLevelUpLearnset, - gEeveeLevelUpLearnset, - gVaporeonLevelUpLearnset, - gJolteonLevelUpLearnset, - gFlareonLevelUpLearnset, - gPorygonLevelUpLearnset, - gOmanyteLevelUpLearnset, - gOmastarLevelUpLearnset, - gKabutoLevelUpLearnset, - gKabutopsLevelUpLearnset, - gAerodactylLevelUpLearnset, - gSnorlaxLevelUpLearnset, - gArticunoLevelUpLearnset, - gZapdosLevelUpLearnset, - gMoltresLevelUpLearnset, - gDratiniLevelUpLearnset, - gDragonairLevelUpLearnset, - gDragoniteLevelUpLearnset, - gMewtwoLevelUpLearnset, - gMewLevelUpLearnset, - gChikoritaLevelUpLearnset, - gBayleefLevelUpLearnset, - gMeganiumLevelUpLearnset, - gCyndaquilLevelUpLearnset, - gQuilavaLevelUpLearnset, - gTyphlosionLevelUpLearnset, - gTotodileLevelUpLearnset, - gCroconawLevelUpLearnset, - gFeraligatrLevelUpLearnset, - gSentretLevelUpLearnset, - gFurretLevelUpLearnset, - gHoothootLevelUpLearnset, - gNoctowlLevelUpLearnset, - gLedybaLevelUpLearnset, - gLedianLevelUpLearnset, - gSpinarakLevelUpLearnset, - gAriadosLevelUpLearnset, - gCrobatLevelUpLearnset, - gChinchouLevelUpLearnset, - gLanturnLevelUpLearnset, - gPichuLevelUpLearnset, - gCleffaLevelUpLearnset, - gIgglybuffLevelUpLearnset, - gTogepiLevelUpLearnset, - gTogeticLevelUpLearnset, - gNatuLevelUpLearnset, - gXatuLevelUpLearnset, - gMareepLevelUpLearnset, - gFlaaffyLevelUpLearnset, - gAmpharosLevelUpLearnset, - gBellossomLevelUpLearnset, - gMarillLevelUpLearnset, - gAzumarillLevelUpLearnset, - gSudowoodoLevelUpLearnset, - gPolitoedLevelUpLearnset, - gHoppipLevelUpLearnset, - gSkiploomLevelUpLearnset, - gJumpluffLevelUpLearnset, - gAipomLevelUpLearnset, - gSunkernLevelUpLearnset, - gSunfloraLevelUpLearnset, - gYanmaLevelUpLearnset, - gWooperLevelUpLearnset, - gQuagsireLevelUpLearnset, - gEspeonLevelUpLearnset, - gUmbreonLevelUpLearnset, - gMurkrowLevelUpLearnset, - gSlowkingLevelUpLearnset, - gMisdreavusLevelUpLearnset, - gUnownLevelUpLearnset, - gWobbuffetLevelUpLearnset, - gGirafarigLevelUpLearnset, - gPinecoLevelUpLearnset, - gForretressLevelUpLearnset, - gDunsparceLevelUpLearnset, - gGligarLevelUpLearnset, - gSteelixLevelUpLearnset, - gSnubbullLevelUpLearnset, - gGranbullLevelUpLearnset, - gQwilfishLevelUpLearnset, - gScizorLevelUpLearnset, - gShuckleLevelUpLearnset, - gHeracrossLevelUpLearnset, - gSneaselLevelUpLearnset, - gTeddiursaLevelUpLearnset, - gUrsaringLevelUpLearnset, - gSlugmaLevelUpLearnset, - gMagcargoLevelUpLearnset, - gSwinubLevelUpLearnset, - gPiloswineLevelUpLearnset, - gCorsolaLevelUpLearnset, - gRemoraidLevelUpLearnset, - gOctilleryLevelUpLearnset, - gDelibirdLevelUpLearnset, - gMantineLevelUpLearnset, - gSkarmoryLevelUpLearnset, - gHoundourLevelUpLearnset, - gHoundoomLevelUpLearnset, - gKingdraLevelUpLearnset, - gPhanpyLevelUpLearnset, - gDonphanLevelUpLearnset, - gPorygon2LevelUpLearnset, - gStantlerLevelUpLearnset, - gSmeargleLevelUpLearnset, - gTyrogueLevelUpLearnset, - gHitmontopLevelUpLearnset, - gSmoochumLevelUpLearnset, - gElekidLevelUpLearnset, - gMagbyLevelUpLearnset, - gMiltankLevelUpLearnset, - gBlisseyLevelUpLearnset, - gRaikouLevelUpLearnset, - gEnteiLevelUpLearnset, - gSuicuneLevelUpLearnset, - gLarvitarLevelUpLearnset, - gPupitarLevelUpLearnset, - gTyranitarLevelUpLearnset, - gLugiaLevelUpLearnset, - gHoOhLevelUpLearnset, - gCelebiLevelUpLearnset, - gSpecies252LevelUpLearnset, - gSpecies253LevelUpLearnset, - gSpecies254LevelUpLearnset, - gSpecies255LevelUpLearnset, - gSpecies256LevelUpLearnset, - gSpecies257LevelUpLearnset, - gSpecies258LevelUpLearnset, - gSpecies259LevelUpLearnset, - gSpecies260LevelUpLearnset, - gSpecies261LevelUpLearnset, - gSpecies262LevelUpLearnset, - gSpecies263LevelUpLearnset, - gSpecies264LevelUpLearnset, - gSpecies265LevelUpLearnset, - gSpecies266LevelUpLearnset, - gSpecies267LevelUpLearnset, - gSpecies268LevelUpLearnset, - gSpecies269LevelUpLearnset, - gSpecies270LevelUpLearnset, - gSpecies271LevelUpLearnset, - gSpecies272LevelUpLearnset, - gSpecies273LevelUpLearnset, - gSpecies274LevelUpLearnset, - gSpecies275LevelUpLearnset, - gSpecies276LevelUpLearnset, - gTreeckoLevelUpLearnset, - gGrovyleLevelUpLearnset, - gSceptileLevelUpLearnset, - gTorchicLevelUpLearnset, - gCombuskenLevelUpLearnset, - gBlazikenLevelUpLearnset, - gMudkipLevelUpLearnset, - gMarshtompLevelUpLearnset, - gSwampertLevelUpLearnset, - gPoochyenaLevelUpLearnset, - gMightyenaLevelUpLearnset, - gZigzagoonLevelUpLearnset, - gLinooneLevelUpLearnset, - gWurmpleLevelUpLearnset, - gSilcoonLevelUpLearnset, - gBeautiflyLevelUpLearnset, - gCascoonLevelUpLearnset, - gDustoxLevelUpLearnset, - gLotadLevelUpLearnset, - gLombreLevelUpLearnset, - gLudicoloLevelUpLearnset, - gSeedotLevelUpLearnset, - gNuzleafLevelUpLearnset, - gShiftryLevelUpLearnset, - gNincadaLevelUpLearnset, - gNinjaskLevelUpLearnset, - gShedinjaLevelUpLearnset, - gTaillowLevelUpLearnset, - gSwellowLevelUpLearnset, - gShroomishLevelUpLearnset, - gBreloomLevelUpLearnset, - gSpindaLevelUpLearnset, - gWingullLevelUpLearnset, - gPelipperLevelUpLearnset, - gSurskitLevelUpLearnset, - gMasquerainLevelUpLearnset, - gWailmerLevelUpLearnset, - gWailordLevelUpLearnset, - gSkittyLevelUpLearnset, - gDelcattyLevelUpLearnset, - gKecleonLevelUpLearnset, - gBaltoyLevelUpLearnset, - gClaydolLevelUpLearnset, - gNosepassLevelUpLearnset, - gTorkoalLevelUpLearnset, - gSableyeLevelUpLearnset, - gBarboachLevelUpLearnset, - gWhiscashLevelUpLearnset, - gLuvdiscLevelUpLearnset, - gCorphishLevelUpLearnset, - gCrawdauntLevelUpLearnset, - gFeebasLevelUpLearnset, - gMiloticLevelUpLearnset, - gCarvanhaLevelUpLearnset, - gSharpedoLevelUpLearnset, - gTrapinchLevelUpLearnset, - gVibravaLevelUpLearnset, - gFlygonLevelUpLearnset, - gMakuhitaLevelUpLearnset, - gHariyamaLevelUpLearnset, - gElectrikeLevelUpLearnset, - gManectricLevelUpLearnset, - gNumelLevelUpLearnset, - gCameruptLevelUpLearnset, - gSphealLevelUpLearnset, - gSealeoLevelUpLearnset, - gWalreinLevelUpLearnset, - gCacneaLevelUpLearnset, - gCacturneLevelUpLearnset, - gSnoruntLevelUpLearnset, - gGlalieLevelUpLearnset, - gLunatoneLevelUpLearnset, - gSolrockLevelUpLearnset, - gAzurillLevelUpLearnset, - gSpoinkLevelUpLearnset, - gGrumpigLevelUpLearnset, - gPlusleLevelUpLearnset, - gMinunLevelUpLearnset, - gMawileLevelUpLearnset, - gMedititeLevelUpLearnset, - gMedichamLevelUpLearnset, - gSwabluLevelUpLearnset, - gAltariaLevelUpLearnset, - gWynautLevelUpLearnset, - gDuskullLevelUpLearnset, - gDusclopsLevelUpLearnset, - gRoseliaLevelUpLearnset, - gSlakothLevelUpLearnset, - gVigorothLevelUpLearnset, - gSlakingLevelUpLearnset, - gGulpinLevelUpLearnset, - gSwalotLevelUpLearnset, - gTropiusLevelUpLearnset, - gWhismurLevelUpLearnset, - gLoudredLevelUpLearnset, - gExploudLevelUpLearnset, - gClamperlLevelUpLearnset, - gHuntailLevelUpLearnset, - gGorebyssLevelUpLearnset, - gAbsolLevelUpLearnset, - gShuppetLevelUpLearnset, - gBanetteLevelUpLearnset, - gSeviperLevelUpLearnset, - gZangooseLevelUpLearnset, - gRelicanthLevelUpLearnset, - gAronLevelUpLearnset, - gLaironLevelUpLearnset, - gAggronLevelUpLearnset, - gCastformLevelUpLearnset, - gVolbeatLevelUpLearnset, - gIllumiseLevelUpLearnset, - gLileepLevelUpLearnset, - gCradilyLevelUpLearnset, - gAnorithLevelUpLearnset, - gArmaldoLevelUpLearnset, - gRaltsLevelUpLearnset, - gKirliaLevelUpLearnset, - gGardevoirLevelUpLearnset, - gBagonLevelUpLearnset, - gShelgonLevelUpLearnset, - gSalamenceLevelUpLearnset, - gBeldumLevelUpLearnset, - gMetangLevelUpLearnset, - gMetagrossLevelUpLearnset, - gRegirockLevelUpLearnset, - gRegiceLevelUpLearnset, - gRegisteelLevelUpLearnset, - gKyogreLevelUpLearnset, - gGroudonLevelUpLearnset, - gRayquazaLevelUpLearnset, - gLatiasLevelUpLearnset, - gLatiosLevelUpLearnset, - gJirachiLevelUpLearnset, - gDeoxysLevelUpLearnset, - gChimechoLevelUpLearnset + [SPECIES_NONE] = sBulbasaurLevelUpLearnset, + [SPECIES_BULBASAUR] = sBulbasaurLevelUpLearnset, + [SPECIES_IVYSAUR] = sIvysaurLevelUpLearnset, + [SPECIES_VENUSAUR] = sVenusaurLevelUpLearnset, + [SPECIES_CHARMANDER] = sCharmanderLevelUpLearnset, + [SPECIES_CHARMELEON] = sCharmeleonLevelUpLearnset, + [SPECIES_CHARIZARD] = sCharizardLevelUpLearnset, + [SPECIES_SQUIRTLE] = sSquirtleLevelUpLearnset, + [SPECIES_WARTORTLE] = sWartortleLevelUpLearnset, + [SPECIES_BLASTOISE] = sBlastoiseLevelUpLearnset, + [SPECIES_CATERPIE] = sCaterpieLevelUpLearnset, + [SPECIES_METAPOD] = sMetapodLevelUpLearnset, + [SPECIES_BUTTERFREE] = sButterfreeLevelUpLearnset, + [SPECIES_WEEDLE] = sWeedleLevelUpLearnset, + [SPECIES_KAKUNA] = sKakunaLevelUpLearnset, + [SPECIES_BEEDRILL] = sBeedrillLevelUpLearnset, + [SPECIES_PIDGEY] = sPidgeyLevelUpLearnset, + [SPECIES_PIDGEOTTO] = sPidgeottoLevelUpLearnset, + [SPECIES_PIDGEOT] = sPidgeotLevelUpLearnset, + [SPECIES_RATTATA] = sRattataLevelUpLearnset, + [SPECIES_RATICATE] = sRaticateLevelUpLearnset, + [SPECIES_SPEAROW] = sSpearowLevelUpLearnset, + [SPECIES_FEAROW] = sFearowLevelUpLearnset, + [SPECIES_EKANS] = sEkansLevelUpLearnset, + [SPECIES_ARBOK] = sArbokLevelUpLearnset, + [SPECIES_PIKACHU] = sPikachuLevelUpLearnset, + [SPECIES_RAICHU] = sRaichuLevelUpLearnset, + [SPECIES_SANDSHREW] = sSandshrewLevelUpLearnset, + [SPECIES_SANDSLASH] = sSandslashLevelUpLearnset, + [SPECIES_NIDORAN_F] = sNidoranFLevelUpLearnset, + [SPECIES_NIDORINA] = sNidorinaLevelUpLearnset, + [SPECIES_NIDOQUEEN] = sNidoqueenLevelUpLearnset, + [SPECIES_NIDORAN_M] = sNidoranMLevelUpLearnset, + [SPECIES_NIDORINO] = sNidorinoLevelUpLearnset, + [SPECIES_NIDOKING] = sNidokingLevelUpLearnset, + [SPECIES_CLEFAIRY] = sClefairyLevelUpLearnset, + [SPECIES_CLEFABLE] = sClefableLevelUpLearnset, + [SPECIES_VULPIX] = sVulpixLevelUpLearnset, + [SPECIES_NINETALES] = sNinetalesLevelUpLearnset, + [SPECIES_JIGGLYPUFF] = sJigglypuffLevelUpLearnset, + [SPECIES_WIGGLYTUFF] = sWigglytuffLevelUpLearnset, + [SPECIES_ZUBAT] = sZubatLevelUpLearnset, + [SPECIES_GOLBAT] = sGolbatLevelUpLearnset, + [SPECIES_ODDISH] = sOddishLevelUpLearnset, + [SPECIES_GLOOM] = sGloomLevelUpLearnset, + [SPECIES_VILEPLUME] = sVileplumeLevelUpLearnset, + [SPECIES_PARAS] = sParasLevelUpLearnset, + [SPECIES_PARASECT] = sParasectLevelUpLearnset, + [SPECIES_VENONAT] = sVenonatLevelUpLearnset, + [SPECIES_VENOMOTH] = sVenomothLevelUpLearnset, + [SPECIES_DIGLETT] = sDiglettLevelUpLearnset, + [SPECIES_DUGTRIO] = sDugtrioLevelUpLearnset, + [SPECIES_MEOWTH] = sMeowthLevelUpLearnset, + [SPECIES_PERSIAN] = sPersianLevelUpLearnset, + [SPECIES_PSYDUCK] = sPsyduckLevelUpLearnset, + [SPECIES_GOLDUCK] = sGolduckLevelUpLearnset, + [SPECIES_MANKEY] = sMankeyLevelUpLearnset, + [SPECIES_PRIMEAPE] = sPrimeapeLevelUpLearnset, + [SPECIES_GROWLITHE] = sGrowlitheLevelUpLearnset, + [SPECIES_ARCANINE] = sArcanineLevelUpLearnset, + [SPECIES_POLIWAG] = sPoliwagLevelUpLearnset, + [SPECIES_POLIWHIRL] = sPoliwhirlLevelUpLearnset, + [SPECIES_POLIWRATH] = sPoliwrathLevelUpLearnset, + [SPECIES_ABRA] = sAbraLevelUpLearnset, + [SPECIES_KADABRA] = sKadabraLevelUpLearnset, + [SPECIES_ALAKAZAM] = sAlakazamLevelUpLearnset, + [SPECIES_MACHOP] = sMachopLevelUpLearnset, + [SPECIES_MACHOKE] = sMachokeLevelUpLearnset, + [SPECIES_MACHAMP] = sMachampLevelUpLearnset, + [SPECIES_BELLSPROUT] = sBellsproutLevelUpLearnset, + [SPECIES_WEEPINBELL] = sWeepinbellLevelUpLearnset, + [SPECIES_VICTREEBEL] = sVictreebelLevelUpLearnset, + [SPECIES_TENTACOOL] = sTentacoolLevelUpLearnset, + [SPECIES_TENTACRUEL] = sTentacruelLevelUpLearnset, + [SPECIES_GEODUDE] = sGeodudeLevelUpLearnset, + [SPECIES_GRAVELER] = sGravelerLevelUpLearnset, + [SPECIES_GOLEM] = sGolemLevelUpLearnset, + [SPECIES_PONYTA] = sPonytaLevelUpLearnset, + [SPECIES_RAPIDASH] = sRapidashLevelUpLearnset, + [SPECIES_SLOWPOKE] = sSlowpokeLevelUpLearnset, + [SPECIES_SLOWBRO] = sSlowbroLevelUpLearnset, + [SPECIES_MAGNEMITE] = sMagnemiteLevelUpLearnset, + [SPECIES_MAGNETON] = sMagnetonLevelUpLearnset, + [SPECIES_FARFETCHD] = sFarfetchdLevelUpLearnset, + [SPECIES_DODUO] = sDoduoLevelUpLearnset, + [SPECIES_DODRIO] = sDodrioLevelUpLearnset, + [SPECIES_SEEL] = sSeelLevelUpLearnset, + [SPECIES_DEWGONG] = sDewgongLevelUpLearnset, + [SPECIES_GRIMER] = sGrimerLevelUpLearnset, + [SPECIES_MUK] = sMukLevelUpLearnset, + [SPECIES_SHELLDER] = sShellderLevelUpLearnset, + [SPECIES_CLOYSTER] = sCloysterLevelUpLearnset, + [SPECIES_GASTLY] = sGastlyLevelUpLearnset, + [SPECIES_HAUNTER] = sHaunterLevelUpLearnset, + [SPECIES_GENGAR] = sGengarLevelUpLearnset, + [SPECIES_ONIX] = sOnixLevelUpLearnset, + [SPECIES_DROWZEE] = sDrowzeeLevelUpLearnset, + [SPECIES_HYPNO] = sHypnoLevelUpLearnset, + [SPECIES_KRABBY] = sKrabbyLevelUpLearnset, + [SPECIES_KINGLER] = sKinglerLevelUpLearnset, + [SPECIES_VOLTORB] = sVoltorbLevelUpLearnset, + [SPECIES_ELECTRODE] = sElectrodeLevelUpLearnset, + [SPECIES_EXEGGCUTE] = sExeggcuteLevelUpLearnset, + [SPECIES_EXEGGUTOR] = sExeggutorLevelUpLearnset, + [SPECIES_CUBONE] = sCuboneLevelUpLearnset, + [SPECIES_MAROWAK] = sMarowakLevelUpLearnset, + [SPECIES_HITMONLEE] = sHitmonleeLevelUpLearnset, + [SPECIES_HITMONCHAN] = sHitmonchanLevelUpLearnset, + [SPECIES_LICKITUNG] = sLickitungLevelUpLearnset, + [SPECIES_KOFFING] = sKoffingLevelUpLearnset, + [SPECIES_WEEZING] = sWeezingLevelUpLearnset, + [SPECIES_RHYHORN] = sRhyhornLevelUpLearnset, + [SPECIES_RHYDON] = sRhydonLevelUpLearnset, + [SPECIES_CHANSEY] = sChanseyLevelUpLearnset, + [SPECIES_TANGELA] = sTangelaLevelUpLearnset, + [SPECIES_KANGASKHAN] = sKangaskhanLevelUpLearnset, + [SPECIES_HORSEA] = sHorseaLevelUpLearnset, + [SPECIES_SEADRA] = sSeadraLevelUpLearnset, + [SPECIES_GOLDEEN] = sGoldeenLevelUpLearnset, + [SPECIES_SEAKING] = sSeakingLevelUpLearnset, + [SPECIES_STARYU] = sStaryuLevelUpLearnset, + [SPECIES_STARMIE] = sStarmieLevelUpLearnset, + [SPECIES_MR_MIME] = sMrmimeLevelUpLearnset, + [SPECIES_SCYTHER] = sScytherLevelUpLearnset, + [SPECIES_JYNX] = sJynxLevelUpLearnset, + [SPECIES_ELECTABUZZ] = sElectabuzzLevelUpLearnset, + [SPECIES_MAGMAR] = sMagmarLevelUpLearnset, + [SPECIES_PINSIR] = sPinsirLevelUpLearnset, + [SPECIES_TAUROS] = sTaurosLevelUpLearnset, + [SPECIES_MAGIKARP] = sMagikarpLevelUpLearnset, + [SPECIES_GYARADOS] = sGyaradosLevelUpLearnset, + [SPECIES_LAPRAS] = sLaprasLevelUpLearnset, + [SPECIES_DITTO] = sDittoLevelUpLearnset, + [SPECIES_EEVEE] = sEeveeLevelUpLearnset, + [SPECIES_VAPOREON] = sVaporeonLevelUpLearnset, + [SPECIES_JOLTEON] = sJolteonLevelUpLearnset, + [SPECIES_FLAREON] = sFlareonLevelUpLearnset, + [SPECIES_PORYGON] = sPorygonLevelUpLearnset, + [SPECIES_OMANYTE] = sOmanyteLevelUpLearnset, + [SPECIES_OMASTAR] = sOmastarLevelUpLearnset, + [SPECIES_KABUTO] = sKabutoLevelUpLearnset, + [SPECIES_KABUTOPS] = sKabutopsLevelUpLearnset, + [SPECIES_AERODACTYL] = sAerodactylLevelUpLearnset, + [SPECIES_SNORLAX] = sSnorlaxLevelUpLearnset, + [SPECIES_ARTICUNO] = sArticunoLevelUpLearnset, + [SPECIES_ZAPDOS] = sZapdosLevelUpLearnset, + [SPECIES_MOLTRES] = sMoltresLevelUpLearnset, + [SPECIES_DRATINI] = sDratiniLevelUpLearnset, + [SPECIES_DRAGONAIR] = sDragonairLevelUpLearnset, + [SPECIES_DRAGONITE] = sDragoniteLevelUpLearnset, + [SPECIES_MEWTWO] = sMewtwoLevelUpLearnset, + [SPECIES_MEW] = sMewLevelUpLearnset, + [SPECIES_CHIKORITA] = sChikoritaLevelUpLearnset, + [SPECIES_BAYLEEF] = sBayleefLevelUpLearnset, + [SPECIES_MEGANIUM] = sMeganiumLevelUpLearnset, + [SPECIES_CYNDAQUIL] = sCyndaquilLevelUpLearnset, + [SPECIES_QUILAVA] = sQuilavaLevelUpLearnset, + [SPECIES_TYPHLOSION] = sTyphlosionLevelUpLearnset, + [SPECIES_TOTODILE] = sTotodileLevelUpLearnset, + [SPECIES_CROCONAW] = sCroconawLevelUpLearnset, + [SPECIES_FERALIGATR] = sFeraligatrLevelUpLearnset, + [SPECIES_SENTRET] = sSentretLevelUpLearnset, + [SPECIES_FURRET] = sFurretLevelUpLearnset, + [SPECIES_HOOTHOOT] = sHoothootLevelUpLearnset, + [SPECIES_NOCTOWL] = sNoctowlLevelUpLearnset, + [SPECIES_LEDYBA] = sLedybaLevelUpLearnset, + [SPECIES_LEDIAN] = sLedianLevelUpLearnset, + [SPECIES_SPINARAK] = sSpinarakLevelUpLearnset, + [SPECIES_ARIADOS] = sAriadosLevelUpLearnset, + [SPECIES_CROBAT] = sCrobatLevelUpLearnset, + [SPECIES_CHINCHOU] = sChinchouLevelUpLearnset, + [SPECIES_LANTURN] = sLanturnLevelUpLearnset, + [SPECIES_PICHU] = sPichuLevelUpLearnset, + [SPECIES_CLEFFA] = sCleffaLevelUpLearnset, + [SPECIES_IGGLYBUFF] = sIgglybuffLevelUpLearnset, + [SPECIES_TOGEPI] = sTogepiLevelUpLearnset, + [SPECIES_TOGETIC] = sTogeticLevelUpLearnset, + [SPECIES_NATU] = sNatuLevelUpLearnset, + [SPECIES_XATU] = sXatuLevelUpLearnset, + [SPECIES_MAREEP] = sMareepLevelUpLearnset, + [SPECIES_FLAAFFY] = sFlaaffyLevelUpLearnset, + [SPECIES_AMPHAROS] = sAmpharosLevelUpLearnset, + [SPECIES_BELLOSSOM] = sBellossomLevelUpLearnset, + [SPECIES_MARILL] = sMarillLevelUpLearnset, + [SPECIES_AZUMARILL] = sAzumarillLevelUpLearnset, + [SPECIES_SUDOWOODO] = sSudowoodoLevelUpLearnset, + [SPECIES_POLITOED] = sPolitoedLevelUpLearnset, + [SPECIES_HOPPIP] = sHoppipLevelUpLearnset, + [SPECIES_SKIPLOOM] = sSkiploomLevelUpLearnset, + [SPECIES_JUMPLUFF] = sJumpluffLevelUpLearnset, + [SPECIES_AIPOM] = sAipomLevelUpLearnset, + [SPECIES_SUNKERN] = sSunkernLevelUpLearnset, + [SPECIES_SUNFLORA] = sSunfloraLevelUpLearnset, + [SPECIES_YANMA] = sYanmaLevelUpLearnset, + [SPECIES_WOOPER] = sWooperLevelUpLearnset, + [SPECIES_QUAGSIRE] = sQuagsireLevelUpLearnset, + [SPECIES_ESPEON] = sEspeonLevelUpLearnset, + [SPECIES_UMBREON] = sUmbreonLevelUpLearnset, + [SPECIES_MURKROW] = sMurkrowLevelUpLearnset, + [SPECIES_SLOWKING] = sSlowkingLevelUpLearnset, + [SPECIES_MISDREAVUS] = sMisdreavusLevelUpLearnset, + [SPECIES_UNOWN] = sUnownLevelUpLearnset, + [SPECIES_WOBBUFFET] = sWobbuffetLevelUpLearnset, + [SPECIES_GIRAFARIG] = sGirafarigLevelUpLearnset, + [SPECIES_PINECO] = sPinecoLevelUpLearnset, + [SPECIES_FORRETRESS] = sForretressLevelUpLearnset, + [SPECIES_DUNSPARCE] = sDunsparceLevelUpLearnset, + [SPECIES_GLIGAR] = sGligarLevelUpLearnset, + [SPECIES_STEELIX] = sSteelixLevelUpLearnset, + [SPECIES_SNUBBULL] = sSnubbullLevelUpLearnset, + [SPECIES_GRANBULL] = sGranbullLevelUpLearnset, + [SPECIES_QWILFISH] = sQwilfishLevelUpLearnset, + [SPECIES_SCIZOR] = sScizorLevelUpLearnset, + [SPECIES_SHUCKLE] = sShuckleLevelUpLearnset, + [SPECIES_HERACROSS] = sHeracrossLevelUpLearnset, + [SPECIES_SNEASEL] = sSneaselLevelUpLearnset, + [SPECIES_TEDDIURSA] = sTeddiursaLevelUpLearnset, + [SPECIES_URSARING] = sUrsaringLevelUpLearnset, + [SPECIES_SLUGMA] = sSlugmaLevelUpLearnset, + [SPECIES_MAGCARGO] = sMagcargoLevelUpLearnset, + [SPECIES_SWINUB] = sSwinubLevelUpLearnset, + [SPECIES_PILOSWINE] = sPiloswineLevelUpLearnset, + [SPECIES_CORSOLA] = sCorsolaLevelUpLearnset, + [SPECIES_REMORAID] = sRemoraidLevelUpLearnset, + [SPECIES_OCTILLERY] = sOctilleryLevelUpLearnset, + [SPECIES_DELIBIRD] = sDelibirdLevelUpLearnset, + [SPECIES_MANTINE] = sMantineLevelUpLearnset, + [SPECIES_SKARMORY] = sSkarmoryLevelUpLearnset, + [SPECIES_HOUNDOUR] = sHoundourLevelUpLearnset, + [SPECIES_HOUNDOOM] = sHoundoomLevelUpLearnset, + [SPECIES_KINGDRA] = sKingdraLevelUpLearnset, + [SPECIES_PHANPY] = sPhanpyLevelUpLearnset, + [SPECIES_DONPHAN] = sDonphanLevelUpLearnset, + [SPECIES_PORYGON2] = sPorygon2LevelUpLearnset, + [SPECIES_STANTLER] = sStantlerLevelUpLearnset, + [SPECIES_SMEARGLE] = sSmeargleLevelUpLearnset, + [SPECIES_TYROGUE] = sTyrogueLevelUpLearnset, + [SPECIES_HITMONTOP] = sHitmontopLevelUpLearnset, + [SPECIES_SMOOCHUM] = sSmoochumLevelUpLearnset, + [SPECIES_ELEKID] = sElekidLevelUpLearnset, + [SPECIES_MAGBY] = sMagbyLevelUpLearnset, + [SPECIES_MILTANK] = sMiltankLevelUpLearnset, + [SPECIES_BLISSEY] = sBlisseyLevelUpLearnset, + [SPECIES_RAIKOU] = sRaikouLevelUpLearnset, + [SPECIES_ENTEI] = sEnteiLevelUpLearnset, + [SPECIES_SUICUNE] = sSuicuneLevelUpLearnset, + [SPECIES_LARVITAR] = sLarvitarLevelUpLearnset, + [SPECIES_PUPITAR] = sPupitarLevelUpLearnset, + [SPECIES_TYRANITAR] = sTyranitarLevelUpLearnset, + [SPECIES_LUGIA] = sLugiaLevelUpLearnset, + [SPECIES_HO_OH] = sHoOhLevelUpLearnset, + [SPECIES_CELEBI] = sCelebiLevelUpLearnset, + [SPECIES_OLD_UNOWN_B] = sSpecies252LevelUpLearnset, + [SPECIES_OLD_UNOWN_C] = sSpecies253LevelUpLearnset, + [SPECIES_OLD_UNOWN_D] = sSpecies254LevelUpLearnset, + [SPECIES_OLD_UNOWN_E] = sSpecies255LevelUpLearnset, + [SPECIES_OLD_UNOWN_F] = sSpecies256LevelUpLearnset, + [SPECIES_OLD_UNOWN_G] = sSpecies257LevelUpLearnset, + [SPECIES_OLD_UNOWN_H] = sSpecies258LevelUpLearnset, + [SPECIES_OLD_UNOWN_I] = sSpecies259LevelUpLearnset, + [SPECIES_OLD_UNOWN_J] = sSpecies260LevelUpLearnset, + [SPECIES_OLD_UNOWN_K] = sSpecies261LevelUpLearnset, + [SPECIES_OLD_UNOWN_L] = sSpecies262LevelUpLearnset, + [SPECIES_OLD_UNOWN_M] = sSpecies263LevelUpLearnset, + [SPECIES_OLD_UNOWN_N] = sSpecies264LevelUpLearnset, + [SPECIES_OLD_UNOWN_O] = sSpecies265LevelUpLearnset, + [SPECIES_OLD_UNOWN_P] = sSpecies266LevelUpLearnset, + [SPECIES_OLD_UNOWN_Q] = sSpecies267LevelUpLearnset, + [SPECIES_OLD_UNOWN_R] = sSpecies268LevelUpLearnset, + [SPECIES_OLD_UNOWN_S] = sSpecies269LevelUpLearnset, + [SPECIES_OLD_UNOWN_T] = sSpecies270LevelUpLearnset, + [SPECIES_OLD_UNOWN_U] = sSpecies271LevelUpLearnset, + [SPECIES_OLD_UNOWN_V] = sSpecies272LevelUpLearnset, + [SPECIES_OLD_UNOWN_W] = sSpecies273LevelUpLearnset, + [SPECIES_OLD_UNOWN_X] = sSpecies274LevelUpLearnset, + [SPECIES_OLD_UNOWN_Y] = sSpecies275LevelUpLearnset, + [SPECIES_OLD_UNOWN_Z] = sSpecies276LevelUpLearnset, + [SPECIES_TREECKO] = sTreeckoLevelUpLearnset, + [SPECIES_GROVYLE] = sGrovyleLevelUpLearnset, + [SPECIES_SCEPTILE] = sSceptileLevelUpLearnset, + [SPECIES_TORCHIC] = sTorchicLevelUpLearnset, + [SPECIES_COMBUSKEN] = sCombuskenLevelUpLearnset, + [SPECIES_BLAZIKEN] = sBlazikenLevelUpLearnset, + [SPECIES_MUDKIP] = sMudkipLevelUpLearnset, + [SPECIES_MARSHTOMP] = sMarshtompLevelUpLearnset, + [SPECIES_SWAMPERT] = sSwampertLevelUpLearnset, + [SPECIES_POOCHYENA] = sPoochyenaLevelUpLearnset, + [SPECIES_MIGHTYENA] = sMightyenaLevelUpLearnset, + [SPECIES_ZIGZAGOON] = sZigzagoonLevelUpLearnset, + [SPECIES_LINOONE] = sLinooneLevelUpLearnset, + [SPECIES_WURMPLE] = sWurmpleLevelUpLearnset, + [SPECIES_SILCOON] = sSilcoonLevelUpLearnset, + [SPECIES_BEAUTIFLY] = sBeautiflyLevelUpLearnset, + [SPECIES_CASCOON] = sCascoonLevelUpLearnset, + [SPECIES_DUSTOX] = sDustoxLevelUpLearnset, + [SPECIES_LOTAD] = sLotadLevelUpLearnset, + [SPECIES_LOMBRE] = sLombreLevelUpLearnset, + [SPECIES_LUDICOLO] = sLudicoloLevelUpLearnset, + [SPECIES_SEEDOT] = sSeedotLevelUpLearnset, + [SPECIES_NUZLEAF] = sNuzleafLevelUpLearnset, + [SPECIES_SHIFTRY] = sShiftryLevelUpLearnset, + [SPECIES_NINCADA] = sNincadaLevelUpLearnset, + [SPECIES_NINJASK] = sNinjaskLevelUpLearnset, + [SPECIES_SHEDINJA] = sShedinjaLevelUpLearnset, + [SPECIES_TAILLOW] = sTaillowLevelUpLearnset, + [SPECIES_SWELLOW] = sSwellowLevelUpLearnset, + [SPECIES_SHROOMISH] = sShroomishLevelUpLearnset, + [SPECIES_BRELOOM] = sBreloomLevelUpLearnset, + [SPECIES_SPINDA] = sSpindaLevelUpLearnset, + [SPECIES_WINGULL] = sWingullLevelUpLearnset, + [SPECIES_PELIPPER] = sPelipperLevelUpLearnset, + [SPECIES_SURSKIT] = sSurskitLevelUpLearnset, + [SPECIES_MASQUERAIN] = sMasquerainLevelUpLearnset, + [SPECIES_WAILMER] = sWailmerLevelUpLearnset, + [SPECIES_WAILORD] = sWailordLevelUpLearnset, + [SPECIES_SKITTY] = sSkittyLevelUpLearnset, + [SPECIES_DELCATTY] = sDelcattyLevelUpLearnset, + [SPECIES_KECLEON] = sKecleonLevelUpLearnset, + [SPECIES_BALTOY] = sBaltoyLevelUpLearnset, + [SPECIES_CLAYDOL] = sClaydolLevelUpLearnset, + [SPECIES_NOSEPASS] = sNosepassLevelUpLearnset, + [SPECIES_TORKOAL] = sTorkoalLevelUpLearnset, + [SPECIES_SABLEYE] = sSableyeLevelUpLearnset, + [SPECIES_BARBOACH] = sBarboachLevelUpLearnset, + [SPECIES_WHISCASH] = sWhiscashLevelUpLearnset, + [SPECIES_LUVDISC] = sLuvdiscLevelUpLearnset, + [SPECIES_CORPHISH] = sCorphishLevelUpLearnset, + [SPECIES_CRAWDAUNT] = sCrawdauntLevelUpLearnset, + [SPECIES_FEEBAS] = sFeebasLevelUpLearnset, + [SPECIES_MILOTIC] = sMiloticLevelUpLearnset, + [SPECIES_CARVANHA] = sCarvanhaLevelUpLearnset, + [SPECIES_SHARPEDO] = sSharpedoLevelUpLearnset, + [SPECIES_TRAPINCH] = sTrapinchLevelUpLearnset, + [SPECIES_VIBRAVA] = sVibravaLevelUpLearnset, + [SPECIES_FLYGON] = sFlygonLevelUpLearnset, + [SPECIES_MAKUHITA] = sMakuhitaLevelUpLearnset, + [SPECIES_HARIYAMA] = sHariyamaLevelUpLearnset, + [SPECIES_ELECTRIKE] = sElectrikeLevelUpLearnset, + [SPECIES_MANECTRIC] = sManectricLevelUpLearnset, + [SPECIES_NUMEL] = sNumelLevelUpLearnset, + [SPECIES_CAMERUPT] = sCameruptLevelUpLearnset, + [SPECIES_SPHEAL] = sSphealLevelUpLearnset, + [SPECIES_SEALEO] = sSealeoLevelUpLearnset, + [SPECIES_WALREIN] = sWalreinLevelUpLearnset, + [SPECIES_CACNEA] = sCacneaLevelUpLearnset, + [SPECIES_CACTURNE] = sCacturneLevelUpLearnset, + [SPECIES_SNORUNT] = sSnoruntLevelUpLearnset, + [SPECIES_GLALIE] = sGlalieLevelUpLearnset, + [SPECIES_LUNATONE] = sLunatoneLevelUpLearnset, + [SPECIES_SOLROCK] = sSolrockLevelUpLearnset, + [SPECIES_AZURILL] = sAzurillLevelUpLearnset, + [SPECIES_SPOINK] = sSpoinkLevelUpLearnset, + [SPECIES_GRUMPIG] = sGrumpigLevelUpLearnset, + [SPECIES_PLUSLE] = sPlusleLevelUpLearnset, + [SPECIES_MINUN] = sMinunLevelUpLearnset, + [SPECIES_MAWILE] = sMawileLevelUpLearnset, + [SPECIES_MEDITITE] = sMedititeLevelUpLearnset, + [SPECIES_MEDICHAM] = sMedichamLevelUpLearnset, + [SPECIES_SWABLU] = sSwabluLevelUpLearnset, + [SPECIES_ALTARIA] = sAltariaLevelUpLearnset, + [SPECIES_WYNAUT] = sWynautLevelUpLearnset, + [SPECIES_DUSKULL] = sDuskullLevelUpLearnset, + [SPECIES_DUSCLOPS] = sDusclopsLevelUpLearnset, + [SPECIES_ROSELIA] = sRoseliaLevelUpLearnset, + [SPECIES_SLAKOTH] = sSlakothLevelUpLearnset, + [SPECIES_VIGOROTH] = sVigorothLevelUpLearnset, + [SPECIES_SLAKING] = sSlakingLevelUpLearnset, + [SPECIES_GULPIN] = sGulpinLevelUpLearnset, + [SPECIES_SWALOT] = sSwalotLevelUpLearnset, + [SPECIES_TROPIUS] = sTropiusLevelUpLearnset, + [SPECIES_WHISMUR] = sWhismurLevelUpLearnset, + [SPECIES_LOUDRED] = sLoudredLevelUpLearnset, + [SPECIES_EXPLOUD] = sExploudLevelUpLearnset, + [SPECIES_CLAMPERL] = sClamperlLevelUpLearnset, + [SPECIES_HUNTAIL] = sHuntailLevelUpLearnset, + [SPECIES_GOREBYSS] = sGorebyssLevelUpLearnset, + [SPECIES_ABSOL] = sAbsolLevelUpLearnset, + [SPECIES_SHUPPET] = sShuppetLevelUpLearnset, + [SPECIES_BANETTE] = sBanetteLevelUpLearnset, + [SPECIES_SEVIPER] = sSeviperLevelUpLearnset, + [SPECIES_ZANGOOSE] = sZangooseLevelUpLearnset, + [SPECIES_RELICANTH] = sRelicanthLevelUpLearnset, + [SPECIES_ARON] = sAronLevelUpLearnset, + [SPECIES_LAIRON] = sLaironLevelUpLearnset, + [SPECIES_AGGRON] = sAggronLevelUpLearnset, + [SPECIES_CASTFORM] = sCastformLevelUpLearnset, + [SPECIES_VOLBEAT] = sVolbeatLevelUpLearnset, + [SPECIES_ILLUMISE] = sIllumiseLevelUpLearnset, + [SPECIES_LILEEP] = sLileepLevelUpLearnset, + [SPECIES_CRADILY] = sCradilyLevelUpLearnset, + [SPECIES_ANORITH] = sAnorithLevelUpLearnset, + [SPECIES_ARMALDO] = sArmaldoLevelUpLearnset, + [SPECIES_RALTS] = sRaltsLevelUpLearnset, + [SPECIES_KIRLIA] = sKirliaLevelUpLearnset, + [SPECIES_GARDEVOIR] = sGardevoirLevelUpLearnset, + [SPECIES_BAGON] = sBagonLevelUpLearnset, + [SPECIES_SHELGON] = sShelgonLevelUpLearnset, + [SPECIES_SALAMENCE] = sSalamenceLevelUpLearnset, + [SPECIES_BELDUM] = sBeldumLevelUpLearnset, + [SPECIES_METANG] = sMetangLevelUpLearnset, + [SPECIES_METAGROSS] = sMetagrossLevelUpLearnset, + [SPECIES_REGIROCK] = sRegirockLevelUpLearnset, + [SPECIES_REGICE] = sRegiceLevelUpLearnset, + [SPECIES_REGISTEEL] = sRegisteelLevelUpLearnset, + [SPECIES_KYOGRE] = sKyogreLevelUpLearnset, + [SPECIES_GROUDON] = sGroudonLevelUpLearnset, + [SPECIES_RAYQUAZA] = sRayquazaLevelUpLearnset, + [SPECIES_LATIAS] = sLatiasLevelUpLearnset, + [SPECIES_LATIOS] = sLatiosLevelUpLearnset, + [SPECIES_JIRACHI] = sJirachiLevelUpLearnset, + [SPECIES_DEOXYS] = sDeoxysLevelUpLearnset, + [SPECIES_CHIMECHO] = sChimechoLevelUpLearnset, }; #endif //POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H diff --git a/include/data/pokemon/level_up_learnsets.h b/include/data/pokemon/level_up_learnsets.h index 4035dc66a..062873aee 100644 --- a/include/data/pokemon/level_up_learnsets.h +++ b/include/data/pokemon/level_up_learnsets.h @@ -4,7 +4,7 @@ #define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move) #define LEVEL_UP_END 0xffff -const u16 gBulbasaurLevelUpLearnset[] = { +static const u16 sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), @@ -19,7 +19,7 @@ const u16 gBulbasaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIvysaurLevelUpLearnset[] = { +static const u16 sIvysaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), @@ -36,7 +36,7 @@ const u16 gIvysaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenusaurLevelUpLearnset[] = { +static const u16 sVenusaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), @@ -54,7 +54,7 @@ const u16 gVenusaurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharmanderLevelUpLearnset[] = { +static const u16 sCharmanderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_EMBER), @@ -68,7 +68,7 @@ const u16 gCharmanderLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharmeleonLevelUpLearnset[] = { +static const u16 sCharmeleonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -83,7 +83,7 @@ const u16 gCharmeleonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCharizardLevelUpLearnset[] = { +static const u16 sCharizardLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -100,7 +100,7 @@ const u16 gCharizardLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSquirtleLevelUpLearnset[] = { +static const u16 sSquirtleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_BUBBLE), @@ -115,7 +115,7 @@ const u16 gSquirtleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWartortleLevelUpLearnset[] = { +static const u16 sWartortleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), @@ -132,7 +132,7 @@ const u16 gWartortleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlastoiseLevelUpLearnset[] = { +static const u16 sBlastoiseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), @@ -150,19 +150,19 @@ const u16 gBlastoiseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCaterpieLevelUpLearnset[] = { +static const u16 sCaterpieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_END }; -const u16 gMetapodLevelUpLearnset[] = { +static const u16 sMetapodLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gButterfreeLevelUpLearnset[] = { +static const u16 sButterfreeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(10, MOVE_CONFUSION), LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), @@ -177,19 +177,19 @@ const u16 gButterfreeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeedleLevelUpLearnset[] = { +static const u16 sWeedleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_END }; -const u16 gKakunaLevelUpLearnset[] = { +static const u16 sKakunaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gBeedrillLevelUpLearnset[] = { +static const u16 sBeedrillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(10, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), @@ -202,7 +202,7 @@ const u16 gBeedrillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeyLevelUpLearnset[] = { +static const u16 sPidgeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 9, MOVE_GUST), @@ -215,7 +215,7 @@ const u16 gPidgeyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeottoLevelUpLearnset[] = { +static const u16 sPidgeottoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -230,7 +230,7 @@ const u16 gPidgeottoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPidgeotLevelUpLearnset[] = { +static const u16 sPidgeotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GUST), @@ -246,7 +246,7 @@ const u16 gPidgeotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRattataLevelUpLearnset[] = { +static const u16 sRattataLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -258,7 +258,7 @@ const u16 gRattataLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaticateLevelUpLearnset[] = { +static const u16 sRaticateLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -271,7 +271,7 @@ const u16 gRaticateLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpearowLevelUpLearnset[] = { +static const u16 sSpearowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_LEER), @@ -284,7 +284,7 @@ const u16 gSpearowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFearowLevelUpLearnset[] = { +static const u16 sFearowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -298,7 +298,7 @@ const u16 gFearowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEkansLevelUpLearnset[] = { +static const u16 sEkansLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_POISON_STING), @@ -313,7 +313,7 @@ const u16 gEkansLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArbokLevelUpLearnset[] = { +static const u16 sArbokLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), @@ -330,7 +330,7 @@ const u16 gArbokLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPikachuLevelUpLearnset[] = { +static const u16 sPikachuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -345,7 +345,7 @@ const u16 gPikachuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaichuLevelUpLearnset[] = { +static const u16 sRaichuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -353,7 +353,7 @@ const u16 gRaichuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSandshrewLevelUpLearnset[] = { +static const u16 sSandshrewLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), @@ -366,7 +366,7 @@ const u16 gSandshrewLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSandslashLevelUpLearnset[] = { +static const u16 sSandslashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -381,7 +381,7 @@ const u16 gSandslashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoranFLevelUpLearnset[] = { +static const u16 sNidoranFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), @@ -395,7 +395,7 @@ const u16 gNidoranFLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidorinaLevelUpLearnset[] = { +static const u16 sNidorinaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), @@ -409,7 +409,7 @@ const u16 gNidorinaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoqueenLevelUpLearnset[] = { +static const u16 sNidoqueenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), @@ -418,7 +418,7 @@ const u16 gNidoqueenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidoranMLevelUpLearnset[] = { +static const u16 sNidoranMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), @@ -432,7 +432,7 @@ const u16 gNidoranMLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidorinoLevelUpLearnset[] = { +static const u16 sNidorinoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), @@ -446,7 +446,7 @@ const u16 gNidorinoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNidokingLevelUpLearnset[] = { +static const u16 sNidokingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), @@ -455,7 +455,7 @@ const u16 gNidokingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClefairyLevelUpLearnset[] = { +static const u16 sClefairyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_ENCORE), @@ -472,7 +472,7 @@ const u16 gClefairyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClefableLevelUpLearnset[] = { +static const u16 sClefableLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), @@ -480,7 +480,7 @@ const u16 gClefableLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVulpixLevelUpLearnset[] = { +static const u16 sVulpixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 9, MOVE_ROAR), @@ -495,7 +495,7 @@ const u16 gVulpixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNinetalesLevelUpLearnset[] = { +static const u16 sNinetalesLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), @@ -504,7 +504,7 @@ const u16 gNinetalesLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJigglypuffLevelUpLearnset[] = { +static const u16 sJigglypuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 9, MOVE_POUND), @@ -519,7 +519,7 @@ const u16 gJigglypuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWigglytuffLevelUpLearnset[] = { +static const u16 sWigglytuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -527,7 +527,7 @@ const u16 gWigglytuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZubatLevelUpLearnset[] = { +static const u16 sZubatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), LEVEL_UP_MOVE(11, MOVE_ASTONISH), @@ -541,7 +541,7 @@ const u16 gZubatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolbatLevelUpLearnset[] = { +static const u16 sGolbatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -558,7 +558,7 @@ const u16 gGolbatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOddishLevelUpLearnset[] = { +static const u16 sOddishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), @@ -570,7 +570,7 @@ const u16 gOddishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGloomLevelUpLearnset[] = { +static const u16 sGloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), @@ -584,7 +584,7 @@ const u16 gGloomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVileplumeLevelUpLearnset[] = { +static const u16 sVileplumeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -593,7 +593,7 @@ const u16 gVileplumeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gParasLevelUpLearnset[] = { +static const u16 sParasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), @@ -606,7 +606,7 @@ const u16 gParasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gParasectLevelUpLearnset[] = { +static const u16 sParasectLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), @@ -621,7 +621,7 @@ const u16 gParasectLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenonatLevelUpLearnset[] = { +static const u16 sVenonatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -636,7 +636,7 @@ const u16 gVenonatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVenomothLevelUpLearnset[] = { +static const u16 sVenomothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SILVER_WIND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -654,7 +654,7 @@ const u16 gVenomothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDiglettLevelUpLearnset[] = { +static const u16 sDiglettLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_GROWL), @@ -667,7 +667,7 @@ const u16 gDiglettLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDugtrioLevelUpLearnset[] = { +static const u16 sDugtrioLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -683,7 +683,7 @@ const u16 gDugtrioLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMeowthLevelUpLearnset[] = { +static const u16 sMeowthLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE(11, MOVE_BITE), @@ -696,7 +696,7 @@ const u16 gMeowthLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPersianLevelUpLearnset[] = { +static const u16 sPersianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -710,7 +710,7 @@ const u16 gPersianLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPsyduckLevelUpLearnset[] = { +static const u16 sPsyduckLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -723,7 +723,7 @@ const u16 gPsyduckLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolduckLevelUpLearnset[] = { +static const u16 sGolduckLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -738,7 +738,7 @@ const u16 gGolduckLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMankeyLevelUpLearnset[] = { +static const u16 sMankeyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), @@ -752,7 +752,7 @@ const u16 gMankeyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPrimeapeLevelUpLearnset[] = { +static const u16 sPrimeapeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), @@ -769,7 +769,7 @@ const u16 gPrimeapeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrowlitheLevelUpLearnset[] = { +static const u16 sGrowlitheLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 7, MOVE_EMBER), @@ -783,7 +783,7 @@ const u16 gGrowlitheLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArcanineLevelUpLearnset[] = { +static const u16 sArcanineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_ROAR), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -792,7 +792,7 @@ const u16 gArcanineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwagLevelUpLearnset[] = { +static const u16 sPoliwagLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), LEVEL_UP_MOVE(13, MOVE_WATER_GUN), @@ -804,7 +804,7 @@ const u16 gPoliwagLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwhirlLevelUpLearnset[] = { +static const u16 sPoliwhirlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -818,7 +818,7 @@ const u16 gPoliwhirlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoliwrathLevelUpLearnset[] = { +static const u16 sPoliwrathLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -828,12 +828,12 @@ const u16 gPoliwrathLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAbraLevelUpLearnset[] = { +static const u16 sAbraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; -const u16 gKadabraLevelUpLearnset[] = { +static const u16 sKadabraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -849,7 +849,7 @@ const u16 gKadabraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAlakazamLevelUpLearnset[] = { +static const u16 sAlakazamLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -865,7 +865,7 @@ const u16 gAlakazamLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachopLevelUpLearnset[] = { +static const u16 sMachopLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -881,7 +881,7 @@ const u16 gMachopLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachokeLevelUpLearnset[] = { +static const u16 sMachokeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -898,7 +898,7 @@ const u16 gMachokeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMachampLevelUpLearnset[] = { +static const u16 sMachampLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -915,7 +915,7 @@ const u16 gMachampLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBellsproutLevelUpLearnset[] = { +static const u16 sBellsproutLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 6, MOVE_GROWTH), LEVEL_UP_MOVE(11, MOVE_WRAP), @@ -929,7 +929,7 @@ const u16 gBellsproutLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeepinbellLevelUpLearnset[] = { +static const u16 sWeepinbellLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WRAP), @@ -945,7 +945,7 @@ const u16 gWeepinbellLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVictreebelLevelUpLearnset[] = { +static const u16 sVictreebelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), @@ -953,7 +953,7 @@ const u16 gVictreebelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTentacoolLevelUpLearnset[] = { +static const u16 sTentacoolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), LEVEL_UP_MOVE(12, MOVE_CONSTRICT), @@ -966,7 +966,7 @@ const u16 gTentacoolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTentacruelLevelUpLearnset[] = { +static const u16 sTentacruelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), @@ -981,7 +981,7 @@ const u16 gTentacruelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGeodudeLevelUpLearnset[] = { +static const u16 sGeodudeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), @@ -996,7 +996,7 @@ const u16 gGeodudeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGravelerLevelUpLearnset[] = { +static const u16 sGravelerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -1013,7 +1013,7 @@ const u16 gGravelerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGolemLevelUpLearnset[] = { +static const u16 sGolemLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -1030,7 +1030,7 @@ const u16 gGolemLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPonytaLevelUpLearnset[] = { +static const u16 sPonytaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), @@ -1044,7 +1044,7 @@ const u16 gPonytaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRapidashLevelUpLearnset[] = { +static const u16 sRapidashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -1062,7 +1062,7 @@ const u16 gRapidashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowpokeLevelUpLearnset[] = { +static const u16 sSlowpokeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -1076,7 +1076,7 @@ const u16 gSlowpokeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowbroLevelUpLearnset[] = { +static const u16 sSlowbroLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -1092,7 +1092,7 @@ const u16 gSlowbroLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagnemiteLevelUpLearnset[] = { +static const u16 sMagnemiteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), @@ -1107,7 +1107,7 @@ const u16 gMagnemiteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagnetonLevelUpLearnset[] = { +static const u16 sMagnetonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -1124,7 +1124,7 @@ const u16 gMagnetonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFarfetchdLevelUpLearnset[] = { +static const u16 sFarfetchdLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(11, MOVE_LEER), @@ -1138,7 +1138,7 @@ const u16 gFarfetchdLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDoduoLevelUpLearnset[] = { +static const u16 sDoduoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_PURSUIT), @@ -1151,7 +1151,7 @@ const u16 gDoduoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDodrioLevelUpLearnset[] = { +static const u16 sDodrioLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_PURSUIT), @@ -1166,7 +1166,7 @@ const u16 gDodrioLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeelLevelUpLearnset[] = { +static const u16 sSeelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 9, MOVE_GROWL), LEVEL_UP_MOVE(17, MOVE_ICY_WIND), @@ -1178,7 +1178,7 @@ const u16 gSeelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDewgongLevelUpLearnset[] = { +static const u16 sDewgongLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), @@ -1194,7 +1194,7 @@ const u16 gDewgongLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrimerLevelUpLearnset[] = { +static const u16 sGrimerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 4, MOVE_HARDEN), @@ -1208,7 +1208,7 @@ const u16 gGrimerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMukLevelUpLearnset[] = { +static const u16 sMukLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -1223,7 +1223,7 @@ const u16 gMukLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShellderLevelUpLearnset[] = { +static const u16 sShellderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), @@ -1235,7 +1235,7 @@ const u16 gShellderLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCloysterLevelUpLearnset[] = { +static const u16 sCloysterLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), @@ -1245,7 +1245,7 @@ const u16 gCloysterLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGastlyLevelUpLearnset[] = { +static const u16 sGastlyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 8, MOVE_SPITE), @@ -1258,7 +1258,7 @@ const u16 gGastlyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHaunterLevelUpLearnset[] = { +static const u16 sHaunterLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_SPITE), @@ -1273,7 +1273,7 @@ const u16 gHaunterLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGengarLevelUpLearnset[] = { +static const u16 sGengarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_SPITE), @@ -1288,7 +1288,7 @@ const u16 gGengarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOnixLevelUpLearnset[] = { +static const u16 sOnixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 9, MOVE_BIND), @@ -1303,7 +1303,7 @@ const u16 gOnixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDrowzeeLevelUpLearnset[] = { +static const u16 sDrowzeeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE(10, MOVE_DISABLE), @@ -1317,7 +1317,7 @@ const u16 gDrowzeeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHypnoLevelUpLearnset[] = { +static const u16 sHypnoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DISABLE), @@ -1333,7 +1333,7 @@ const u16 gHypnoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKrabbyLevelUpLearnset[] = { +static const u16 sKrabbyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 5, MOVE_LEER), LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), @@ -1346,7 +1346,7 @@ const u16 gKrabbyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKinglerLevelUpLearnset[] = { +static const u16 sKinglerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), @@ -1361,7 +1361,7 @@ const u16 gKinglerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVoltorbLevelUpLearnset[] = { +static const u16 sVoltorbLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 8, MOVE_SCREECH), @@ -1376,7 +1376,7 @@ const u16 gVoltorbLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectrodeLevelUpLearnset[] = { +static const u16 sElectrodeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), @@ -1393,7 +1393,7 @@ const u16 gElectrodeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExeggcuteLevelUpLearnset[] = { +static const u16 sExeggcuteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), @@ -1407,7 +1407,7 @@ const u16 gExeggcuteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExeggutorLevelUpLearnset[] = { +static const u16 sExeggutorLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1416,7 +1416,7 @@ const u16 gExeggutorLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCuboneLevelUpLearnset[] = { +static const u16 sCuboneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), @@ -1432,7 +1432,7 @@ const u16 gCuboneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarowakLevelUpLearnset[] = { +static const u16 sMarowakLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), @@ -1451,7 +1451,7 @@ const u16 gMarowakLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHitmonleeLevelUpLearnset[] = { +static const u16 sHitmonleeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 6, MOVE_MEDITATE), @@ -1468,7 +1468,7 @@ const u16 gHitmonleeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHitmonchanLevelUpLearnset[] = { +static const u16 sHitmonchanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 7, MOVE_AGILITY), @@ -1484,7 +1484,7 @@ const u16 gHitmonchanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLickitungLevelUpLearnset[] = { +static const u16 sLickitungLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), LEVEL_UP_MOVE(12, MOVE_DEFENSE_CURL), @@ -1498,7 +1498,7 @@ const u16 gLickitungLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKoffingLevelUpLearnset[] = { +static const u16 sKoffingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_SMOG), @@ -1512,7 +1512,7 @@ const u16 gKoffingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWeezingLevelUpLearnset[] = { +static const u16 sWeezingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SMOG), @@ -1528,7 +1528,7 @@ const u16 gWeezingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRhyhornLevelUpLearnset[] = { +static const u16 sRhyhornLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(10, MOVE_STOMP), @@ -1542,7 +1542,7 @@ const u16 gRhyhornLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRhydonLevelUpLearnset[] = { +static const u16 sRhydonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_STOMP), @@ -1558,7 +1558,7 @@ const u16 gRhydonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChanseyLevelUpLearnset[] = { +static const u16 sChanseyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -1574,7 +1574,7 @@ const u16 gChanseyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTangelaLevelUpLearnset[] = { +static const u16 sTangelaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_INGRAIN), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 4, MOVE_SLEEP_POWDER), @@ -1590,7 +1590,7 @@ const u16 gTangelaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKangaskhanLevelUpLearnset[] = { +static const u16 sKangaskhanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_BITE), @@ -1604,7 +1604,7 @@ const u16 gKangaskhanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHorseaLevelUpLearnset[] = { +static const u16 sHorseaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), LEVEL_UP_MOVE(15, MOVE_LEER), @@ -1616,7 +1616,7 @@ const u16 gHorseaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeadraLevelUpLearnset[] = { +static const u16 sSeadraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -1631,7 +1631,7 @@ const u16 gSeadraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGoldeenLevelUpLearnset[] = { +static const u16 sGoldeenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -1645,7 +1645,7 @@ const u16 gGoldeenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeakingLevelUpLearnset[] = { +static const u16 sSeakingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -1660,7 +1660,7 @@ const u16 gSeakingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStaryuLevelUpLearnset[] = { +static const u16 sStaryuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), @@ -1676,7 +1676,7 @@ const u16 gStaryuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStarmieLevelUpLearnset[] = { +static const u16 sStarmieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), LEVEL_UP_MOVE( 1, MOVE_RECOVER), @@ -1685,7 +1685,7 @@ const u16 gStarmieLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMrmimeLevelUpLearnset[] = { +static const u16 sMrmimeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRIER), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), LEVEL_UP_MOVE( 9, MOVE_SUBSTITUTE), @@ -1704,7 +1704,7 @@ const u16 gMrmimeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gScytherLevelUpLearnset[] = { +static const u16 sScytherLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), @@ -1719,7 +1719,7 @@ const u16 gScytherLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJynxLevelUpLearnset[] = { +static const u16 sJynxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_LOVELY_KISS), @@ -1736,7 +1736,7 @@ const u16 gJynxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectabuzzLevelUpLearnset[] = { +static const u16 sElectabuzzLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), @@ -1749,7 +1749,7 @@ const u16 gElectabuzzLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagmarLevelUpLearnset[] = { +static const u16 sMagmarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOG), @@ -1765,7 +1765,7 @@ const u16 gMagmarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPinsirLevelUpLearnset[] = { +static const u16 sPinsirLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 7, MOVE_BIND), @@ -1779,7 +1779,7 @@ const u16 gPinsirLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTaurosLevelUpLearnset[] = { +static const u16 sTaurosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 8, MOVE_RAGE), @@ -1792,14 +1792,14 @@ const u16 gTaurosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagikarpLevelUpLearnset[] = { +static const u16 sMagikarpLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE(15, MOVE_TACKLE), LEVEL_UP_MOVE(30, MOVE_FLAIL), LEVEL_UP_END }; -const u16 gGyaradosLevelUpLearnset[] = { +static const u16 sGyaradosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE(20, MOVE_BITE), LEVEL_UP_MOVE(25, MOVE_DRAGON_RAGE), @@ -1812,7 +1812,7 @@ const u16 gGyaradosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLaprasLevelUpLearnset[] = { +static const u16 sLaprasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -1828,12 +1828,12 @@ const u16 gLaprasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDittoLevelUpLearnset[] = { +static const u16 sDittoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TRANSFORM), LEVEL_UP_END }; -const u16 gEeveeLevelUpLearnset[] = { +static const u16 sEeveeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1846,7 +1846,7 @@ const u16 gEeveeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVaporeonLevelUpLearnset[] = { +static const u16 sVaporeonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1861,7 +1861,7 @@ const u16 gVaporeonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJolteonLevelUpLearnset[] = { +static const u16 sJolteonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1876,7 +1876,7 @@ const u16 gJolteonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlareonLevelUpLearnset[] = { +static const u16 sFlareonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -1891,7 +1891,7 @@ const u16 gFlareonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPorygonLevelUpLearnset[] = { +static const u16 sPorygonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), @@ -1906,7 +1906,7 @@ const u16 gPorygonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOmanyteLevelUpLearnset[] = { +static const u16 sOmanyteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE(13, MOVE_BITE), @@ -1920,7 +1920,7 @@ const u16 gOmanyteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOmastarLevelUpLearnset[] = { +static const u16 sOmastarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_BITE), @@ -1936,7 +1936,7 @@ const u16 gOmastarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKabutoLevelUpLearnset[] = { +static const u16 sKabutoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_ABSORB), @@ -1950,7 +1950,7 @@ const u16 gKabutoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKabutopsLevelUpLearnset[] = { +static const u16 sKabutopsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -1966,7 +1966,7 @@ const u16 gKabutopsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAerodactylLevelUpLearnset[] = { +static const u16 sAerodactylLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 8, MOVE_AGILITY), LEVEL_UP_MOVE(15, MOVE_BITE), @@ -1978,7 +1978,7 @@ const u16 gAerodactylLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnorlaxLevelUpLearnset[] = { +static const u16 sSnorlaxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_AMNESIA), LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), @@ -1995,7 +1995,7 @@ const u16 gSnorlaxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArticunoLevelUpLearnset[] = { +static const u16 sArticunoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE(13, MOVE_MIST), @@ -2008,7 +2008,7 @@ const u16 gArticunoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZapdosLevelUpLearnset[] = { +static const u16 sZapdosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), @@ -2021,7 +2021,7 @@ const u16 gZapdosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMoltresLevelUpLearnset[] = { +static const u16 sMoltresLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE(13, MOVE_FIRE_SPIN), @@ -2034,7 +2034,7 @@ const u16 gMoltresLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDratiniLevelUpLearnset[] = { +static const u16 sDratiniLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), @@ -2048,7 +2048,7 @@ const u16 gDratiniLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDragonairLevelUpLearnset[] = { +static const u16 sDragonairLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -2064,7 +2064,7 @@ const u16 gDragonairLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDragoniteLevelUpLearnset[] = { +static const u16 sDragoniteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -2081,7 +2081,7 @@ const u16 gDragoniteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMewtwoLevelUpLearnset[] = { +static const u16 sMewtwoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE(11, MOVE_BARRIER), @@ -2096,7 +2096,7 @@ const u16 gMewtwoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMewLevelUpLearnset[] = { +static const u16 sMewLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE(10, MOVE_TRANSFORM), LEVEL_UP_MOVE(20, MOVE_MEGA_PUNCH), @@ -2106,7 +2106,7 @@ const u16 gMewLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChikoritaLevelUpLearnset[] = { +static const u16 sChikoritaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), @@ -2120,7 +2120,7 @@ const u16 gChikoritaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBayleefLevelUpLearnset[] = { +static const u16 sBayleefLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), @@ -2136,7 +2136,7 @@ const u16 gBayleefLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMeganiumLevelUpLearnset[] = { +static const u16 sMeganiumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), @@ -2152,7 +2152,7 @@ const u16 gMeganiumLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCyndaquilLevelUpLearnset[] = { +static const u16 sCyndaquilLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), @@ -2164,7 +2164,7 @@ const u16 gCyndaquilLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQuilavaLevelUpLearnset[] = { +static const u16 sQuilavaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -2177,7 +2177,7 @@ const u16 gQuilavaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyphlosionLevelUpLearnset[] = { +static const u16 sTyphlosionLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -2191,7 +2191,7 @@ const u16 gTyphlosionLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTotodileLevelUpLearnset[] = { +static const u16 sTotodileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_RAGE), @@ -2204,7 +2204,7 @@ const u16 gTotodileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCroconawLevelUpLearnset[] = { +static const u16 sCroconawLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -2218,7 +2218,7 @@ const u16 gCroconawLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFeraligatrLevelUpLearnset[] = { +static const u16 sFeraligatrLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -2233,7 +2233,7 @@ const u16 gFeraligatrLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSentretLevelUpLearnset[] = { +static const u16 sSentretLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -2246,7 +2246,7 @@ const u16 gSentretLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFurretLevelUpLearnset[] = { +static const u16 sFurretLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -2261,7 +2261,7 @@ const u16 gFurretLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoothootLevelUpLearnset[] = { +static const u16 sHoothootLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), @@ -2274,7 +2274,7 @@ const u16 gHoothootLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNoctowlLevelUpLearnset[] = { +static const u16 sNoctowlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -2289,7 +2289,7 @@ const u16 gNoctowlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLedybaLevelUpLearnset[] = { +static const u16 sLedybaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), @@ -2303,7 +2303,7 @@ const u16 gLedybaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLedianLevelUpLearnset[] = { +static const u16 sLedianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), @@ -2318,7 +2318,7 @@ const u16 gLedianLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpinarakLevelUpLearnset[] = { +static const u16 sSpinarakLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), @@ -2332,7 +2332,7 @@ const u16 gSpinarakLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAriadosLevelUpLearnset[] = { +static const u16 sAriadosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), @@ -2348,7 +2348,7 @@ const u16 gAriadosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCrobatLevelUpLearnset[] = { +static const u16 sCrobatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -2365,7 +2365,7 @@ const u16 gCrobatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChinchouLevelUpLearnset[] = { +static const u16 sChinchouLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), @@ -2379,7 +2379,7 @@ const u16 gChinchouLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLanturnLevelUpLearnset[] = { +static const u16 sLanturnLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), @@ -2394,7 +2394,7 @@ const u16 gLanturnLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPichuLevelUpLearnset[] = { +static const u16 sPichuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -2403,7 +2403,7 @@ const u16 gPichuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCleffaLevelUpLearnset[] = { +static const u16 sCleffaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 4, MOVE_ENCORE), @@ -2412,7 +2412,7 @@ const u16 gCleffaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIgglybuffLevelUpLearnset[] = { +static const u16 sIgglybuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), @@ -2421,7 +2421,7 @@ const u16 gIgglybuffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTogepiLevelUpLearnset[] = { +static const u16 sTogepiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_METRONOME), @@ -2435,7 +2435,7 @@ const u16 gTogepiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTogeticLevelUpLearnset[] = { +static const u16 sTogeticLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_METRONOME), @@ -2449,7 +2449,7 @@ const u16 gTogeticLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNatuLevelUpLearnset[] = { +static const u16 sNatuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), @@ -2461,7 +2461,7 @@ const u16 gNatuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gXatuLevelUpLearnset[] = { +static const u16 sXatuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), @@ -2473,7 +2473,7 @@ const u16 gXatuLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMareepLevelUpLearnset[] = { +static const u16 sMareepLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), @@ -2484,7 +2484,7 @@ const u16 gMareepLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlaaffyLevelUpLearnset[] = { +static const u16 sFlaaffyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -2496,7 +2496,7 @@ const u16 gFlaaffyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAmpharosLevelUpLearnset[] = { +static const u16 sAmpharosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -2510,7 +2510,7 @@ const u16 gAmpharosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBellossomLevelUpLearnset[] = { +static const u16 sBellossomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -2520,7 +2520,7 @@ const u16 gBellossomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarillLevelUpLearnset[] = { +static const u16 sMarillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -2533,7 +2533,7 @@ const u16 gMarillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAzumarillLevelUpLearnset[] = { +static const u16 sAzumarillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2549,7 +2549,7 @@ const u16 gAzumarillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSudowoodoLevelUpLearnset[] = { +static const u16 sSudowoodoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), LEVEL_UP_MOVE( 1, MOVE_MIMIC), LEVEL_UP_MOVE( 9, MOVE_FLAIL), @@ -2562,7 +2562,7 @@ const u16 gSudowoodoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPolitoedLevelUpLearnset[] = { +static const u16 sPolitoedLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -2572,7 +2572,7 @@ const u16 gPolitoedLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoppipLevelUpLearnset[] = { +static const u16 sHoppipLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -2586,7 +2586,7 @@ const u16 gHoppipLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkiploomLevelUpLearnset[] = { +static const u16 sSkiploomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2603,7 +2603,7 @@ const u16 gSkiploomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJumpluffLevelUpLearnset[] = { +static const u16 sJumpluffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -2620,7 +2620,7 @@ const u16 gJumpluffLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAipomLevelUpLearnset[] = { +static const u16 sAipomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), @@ -2634,7 +2634,7 @@ const u16 gAipomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSunkernLevelUpLearnset[] = { +static const u16 sSunkernLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 6, MOVE_GROWTH), LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), @@ -2646,7 +2646,7 @@ const u16 gSunkernLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSunfloraLevelUpLearnset[] = { +static const u16 sSunfloraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 6, MOVE_GROWTH), @@ -2659,7 +2659,7 @@ const u16 gSunfloraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gYanmaLevelUpLearnset[] = { +static const u16 sYanmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -2673,7 +2673,7 @@ const u16 gYanmaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWooperLevelUpLearnset[] = { +static const u16 sWooperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(11, MOVE_SLAM), @@ -2687,7 +2687,7 @@ const u16 gWooperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQuagsireLevelUpLearnset[] = { +static const u16 sQuagsireLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE(11, MOVE_SLAM), @@ -2701,7 +2701,7 @@ const u16 gQuagsireLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEspeonLevelUpLearnset[] = { +static const u16 sEspeonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -2716,7 +2716,7 @@ const u16 gEspeonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUmbreonLevelUpLearnset[] = { +static const u16 sUmbreonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -2731,7 +2731,7 @@ const u16 gUmbreonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMurkrowLevelUpLearnset[] = { +static const u16 sMurkrowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 9, MOVE_ASTONISH), LEVEL_UP_MOVE(14, MOVE_PURSUIT), @@ -2743,7 +2743,7 @@ const u16 gMurkrowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlowkingLevelUpLearnset[] = { +static const u16 sSlowkingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2757,7 +2757,7 @@ const u16 gSlowkingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMisdreavusLevelUpLearnset[] = { +static const u16 sMisdreavusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 6, MOVE_SPITE), @@ -2771,12 +2771,12 @@ const u16 gMisdreavusLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUnownLevelUpLearnset[] = { +static const u16 sUnownLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HIDDEN_POWER), LEVEL_UP_END }; -const u16 gWobbuffetLevelUpLearnset[] = { +static const u16 sWobbuffetLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), @@ -2784,7 +2784,7 @@ const u16 gWobbuffetLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGirafarigLevelUpLearnset[] = { +static const u16 sGirafarigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ASTONISH), @@ -2798,7 +2798,7 @@ const u16 gGirafarigLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPinecoLevelUpLearnset[] = { +static const u16 sPinecoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), @@ -2811,7 +2811,7 @@ const u16 gPinecoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gForretressLevelUpLearnset[] = { +static const u16 sForretressLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), @@ -2825,7 +2825,7 @@ const u16 gForretressLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDunsparceLevelUpLearnset[] = { +static const u16 sDunsparceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE(11, MOVE_YAWN), @@ -2838,7 +2838,7 @@ const u16 gDunsparceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGligarLevelUpLearnset[] = { +static const u16 sGligarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(13, MOVE_HARDEN), @@ -2850,7 +2850,7 @@ const u16 gGligarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSteelixLevelUpLearnset[] = { +static const u16 sSteelixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 9, MOVE_BIND), @@ -2865,7 +2865,7 @@ const u16 gSteelixLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnubbullLevelUpLearnset[] = { +static const u16 sSnubbullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -2879,7 +2879,7 @@ const u16 gSnubbullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGranbullLevelUpLearnset[] = { +static const u16 sGranbullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -2893,7 +2893,7 @@ const u16 gGranbullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gQwilfishLevelUpLearnset[] = { +static const u16 sQwilfishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPIKES), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), @@ -2906,7 +2906,7 @@ const u16 gQwilfishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gScizorLevelUpLearnset[] = { +static const u16 sScizorLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), @@ -2921,7 +2921,7 @@ const u16 gScizorLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShuckleLevelUpLearnset[] = { +static const u16 sShuckleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 9, MOVE_WRAP), @@ -2932,7 +2932,7 @@ const u16 gShuckleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHeracrossLevelUpLearnset[] = { +static const u16 sHeracrossLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_HORN_ATTACK), @@ -2946,7 +2946,7 @@ const u16 gHeracrossLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSneaselLevelUpLearnset[] = { +static const u16 sSneaselLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_TAUNT), @@ -2962,7 +2962,7 @@ const u16 gSneaselLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTeddiursaLevelUpLearnset[] = { +static const u16 sTeddiursaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_LICK), @@ -2976,7 +2976,7 @@ const u16 gTeddiursaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gUrsaringLevelUpLearnset[] = { +static const u16 sUrsaringLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -2992,7 +2992,7 @@ const u16 gUrsaringLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlugmaLevelUpLearnset[] = { +static const u16 sSlugmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 8, MOVE_EMBER), @@ -3005,7 +3005,7 @@ const u16 gSlugmaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagcargoLevelUpLearnset[] = { +static const u16 sMagcargoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -3020,7 +3020,7 @@ const u16 gMagcargoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwinubLevelUpLearnset[] = { +static const u16 sSwinubLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), @@ -3032,7 +3032,7 @@ const u16 gSwinubLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPiloswineLevelUpLearnset[] = { +static const u16 sPiloswineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -3047,7 +3047,7 @@ const u16 gPiloswineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCorsolaLevelUpLearnset[] = { +static const u16 sCorsolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 6, MOVE_HARDEN), LEVEL_UP_MOVE(12, MOVE_BUBBLE), @@ -3061,7 +3061,7 @@ const u16 gCorsolaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRemoraidLevelUpLearnset[] = { +static const u16 sRemoraidLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE(11, MOVE_LOCK_ON), LEVEL_UP_MOVE(22, MOVE_PSYBEAM), @@ -3073,7 +3073,7 @@ const u16 gRemoraidLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gOctilleryLevelUpLearnset[] = { +static const u16 sOctilleryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE(11, MOVE_CONSTRICT), LEVEL_UP_MOVE(22, MOVE_PSYBEAM), @@ -3086,12 +3086,12 @@ const u16 gOctilleryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDelibirdLevelUpLearnset[] = { +static const u16 sDelibirdLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PRESENT), LEVEL_UP_END }; -const u16 gMantineLevelUpLearnset[] = { +static const u16 sMantineLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), @@ -3104,7 +3104,7 @@ const u16 gMantineLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkarmoryLevelUpLearnset[] = { +static const u16 sSkarmoryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), @@ -3118,7 +3118,7 @@ const u16 gSkarmoryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoundourLevelUpLearnset[] = { +static const u16 sHoundourLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 7, MOVE_HOWL), @@ -3132,7 +3132,7 @@ const u16 gHoundourLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoundoomLevelUpLearnset[] = { +static const u16 sHoundoomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_HOWL), @@ -3147,7 +3147,7 @@ const u16 gHoundoomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKingdraLevelUpLearnset[] = { +static const u16 sKingdraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -3162,7 +3162,7 @@ const u16 gKingdraLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPhanpyLevelUpLearnset[] = { +static const u16 sPhanpyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3175,7 +3175,7 @@ const u16 gPhanpyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDonphanLevelUpLearnset[] = { +static const u16 sDonphanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3188,7 +3188,7 @@ const u16 gDonphanLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPorygon2LevelUpLearnset[] = { +static const u16 sPorygon2LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), @@ -3203,7 +3203,7 @@ const u16 gPorygon2LevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gStantlerLevelUpLearnset[] = { +static const u16 sStantlerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_ASTONISH), @@ -3216,7 +3216,7 @@ const u16 gStantlerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSmeargleLevelUpLearnset[] = { +static const u16 sSmeargleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SKETCH), LEVEL_UP_MOVE(11, MOVE_SKETCH), LEVEL_UP_MOVE(21, MOVE_SKETCH), @@ -3230,12 +3230,12 @@ const u16 gSmeargleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyrogueLevelUpLearnset[] = { +static const u16 sTyrogueLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gHitmontopLevelUpLearnset[] = { +static const u16 sHitmontopLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_REVENGE), LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -3250,7 +3250,7 @@ const u16 gHitmontopLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSmoochumLevelUpLearnset[] = { +static const u16 sSmoochumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), @@ -3265,7 +3265,7 @@ const u16 gSmoochumLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElekidLevelUpLearnset[] = { +static const u16 sElekidLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), @@ -3277,7 +3277,7 @@ const u16 gElekidLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMagbyLevelUpLearnset[] = { +static const u16 sMagbyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 7, MOVE_LEER), LEVEL_UP_MOVE(13, MOVE_SMOG), @@ -3290,7 +3290,7 @@ const u16 gMagbyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMiltankLevelUpLearnset[] = { +static const u16 sMiltankLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_DEFENSE_CURL), @@ -3303,7 +3303,7 @@ const u16 gMiltankLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlisseyLevelUpLearnset[] = { +static const u16 sBlisseyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), @@ -3319,7 +3319,7 @@ const u16 gBlisseyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaikouLevelUpLearnset[] = { +static const u16 sRaikouLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_THUNDER_SHOCK), @@ -3333,7 +3333,7 @@ const u16 gRaikouLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gEnteiLevelUpLearnset[] = { +static const u16 sEnteiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_EMBER), @@ -3347,7 +3347,7 @@ const u16 gEnteiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSuicuneLevelUpLearnset[] = { +static const u16 sSuicuneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE(11, MOVE_BUBBLE_BEAM), @@ -3361,7 +3361,7 @@ const u16 gSuicuneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLarvitarLevelUpLearnset[] = { +static const u16 sLarvitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), @@ -3375,7 +3375,7 @@ const u16 gLarvitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPupitarLevelUpLearnset[] = { +static const u16 sPupitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), @@ -3391,7 +3391,7 @@ const u16 gPupitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTyranitarLevelUpLearnset[] = { +static const u16 sTyranitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), @@ -3407,7 +3407,7 @@ const u16 gTyranitarLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLugiaLevelUpLearnset[] = { +static const u16 sLugiaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), LEVEL_UP_MOVE(22, MOVE_GUST), @@ -3421,7 +3421,7 @@ const u16 gLugiaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHoOhLevelUpLearnset[] = { +static const u16 sHoOhLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), LEVEL_UP_MOVE(22, MOVE_GUST), @@ -3435,7 +3435,7 @@ const u16 gHoOhLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCelebiLevelUpLearnset[] = { +static const u16 sCelebiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_RECOVER), @@ -3448,132 +3448,132 @@ const u16 gCelebiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpecies252LevelUpLearnset[] = { +static const u16 sSpecies252LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies253LevelUpLearnset[] = { +static const u16 sSpecies253LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies254LevelUpLearnset[] = { +static const u16 sSpecies254LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies255LevelUpLearnset[] = { +static const u16 sSpecies255LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies256LevelUpLearnset[] = { +static const u16 sSpecies256LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies257LevelUpLearnset[] = { +static const u16 sSpecies257LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies258LevelUpLearnset[] = { +static const u16 sSpecies258LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies259LevelUpLearnset[] = { +static const u16 sSpecies259LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies260LevelUpLearnset[] = { +static const u16 sSpecies260LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies261LevelUpLearnset[] = { +static const u16 sSpecies261LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies262LevelUpLearnset[] = { +static const u16 sSpecies262LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies263LevelUpLearnset[] = { +static const u16 sSpecies263LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies264LevelUpLearnset[] = { +static const u16 sSpecies264LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies265LevelUpLearnset[] = { +static const u16 sSpecies265LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies266LevelUpLearnset[] = { +static const u16 sSpecies266LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies267LevelUpLearnset[] = { +static const u16 sSpecies267LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies268LevelUpLearnset[] = { +static const u16 sSpecies268LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies269LevelUpLearnset[] = { +static const u16 sSpecies269LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies270LevelUpLearnset[] = { +static const u16 sSpecies270LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies271LevelUpLearnset[] = { +static const u16 sSpecies271LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies272LevelUpLearnset[] = { +static const u16 sSpecies272LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies273LevelUpLearnset[] = { +static const u16 sSpecies273LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies274LevelUpLearnset[] = { +static const u16 sSpecies274LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies275LevelUpLearnset[] = { +static const u16 sSpecies275LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gSpecies276LevelUpLearnset[] = { +static const u16 sSpecies276LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -const u16 gTreeckoLevelUpLearnset[] = { +static const u16 sTreeckoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 6, MOVE_ABSORB), @@ -3588,7 +3588,7 @@ const u16 gTreeckoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrovyleLevelUpLearnset[] = { +static const u16 sGrovyleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3606,7 +3606,7 @@ const u16 gGrovyleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSceptileLevelUpLearnset[] = { +static const u16 sSceptileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3624,7 +3624,7 @@ const u16 gSceptileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTorchicLevelUpLearnset[] = { +static const u16 sTorchicLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), @@ -3639,7 +3639,7 @@ const u16 gTorchicLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCombuskenLevelUpLearnset[] = { +static const u16 sCombuskenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -3657,7 +3657,7 @@ const u16 gCombuskenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBlazikenLevelUpLearnset[] = { +static const u16 sBlazikenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -3677,7 +3677,7 @@ const u16 gBlazikenLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMudkipLevelUpLearnset[] = { +static const u16 sMudkipLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), @@ -3693,7 +3693,7 @@ const u16 gMudkipLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMarshtompLevelUpLearnset[] = { +static const u16 sMarshtompLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -3712,7 +3712,7 @@ const u16 gMarshtompLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwampertLevelUpLearnset[] = { +static const u16 sSwampertLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -3731,7 +3731,7 @@ const u16 gSwampertLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPoochyenaLevelUpLearnset[] = { +static const u16 sPoochyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_HOWL), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), @@ -3747,7 +3747,7 @@ const u16 gPoochyenaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMightyenaLevelUpLearnset[] = { +static const u16 sMightyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HOWL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -3766,7 +3766,7 @@ const u16 gMightyenaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZigzagoonLevelUpLearnset[] = { +static const u16 sZigzagoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), @@ -3782,7 +3782,7 @@ const u16 gZigzagoonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLinooneLevelUpLearnset[] = { +static const u16 sLinooneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -3800,20 +3800,20 @@ const u16 gLinooneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWurmpleLevelUpLearnset[] = { +static const u16 sWurmpleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 5, MOVE_POISON_STING), LEVEL_UP_END }; -const u16 gSilcoonLevelUpLearnset[] = { +static const u16 sSilcoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gBeautiflyLevelUpLearnset[] = { +static const u16 sBeautiflyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE(10, MOVE_ABSORB), LEVEL_UP_MOVE(13, MOVE_GUST), @@ -3827,13 +3827,13 @@ const u16 gBeautiflyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCascoonLevelUpLearnset[] = { +static const u16 sCascoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -const u16 gDustoxLevelUpLearnset[] = { +static const u16 sDustoxLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(10, MOVE_CONFUSION), LEVEL_UP_MOVE(13, MOVE_GUST), @@ -3847,7 +3847,7 @@ const u16 gDustoxLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLotadLevelUpLearnset[] = { +static const u16 sLotadLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ABSORB), @@ -3858,7 +3858,7 @@ const u16 gLotadLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLombreLevelUpLearnset[] = { +static const u16 sLombreLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_ABSORB), @@ -3872,7 +3872,7 @@ const u16 gLombreLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLudicoloLevelUpLearnset[] = { +static const u16 sLudicoloLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3880,7 +3880,7 @@ const u16 gLudicoloLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeedotLevelUpLearnset[] = { +static const u16 sSeedotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIDE), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -3891,7 +3891,7 @@ const u16 gSeedotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNuzleafLevelUpLearnset[] = { +static const u16 sNuzleafLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -3905,7 +3905,7 @@ const u16 gNuzleafLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShiftryLevelUpLearnset[] = { +static const u16 sShiftryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_GROWTH), @@ -3913,7 +3913,7 @@ const u16 gShiftryLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNincadaLevelUpLearnset[] = { +static const u16 sNincadaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), @@ -3927,7 +3927,7 @@ const u16 gNincadaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNinjaskLevelUpLearnset[] = { +static const u16 sNinjaskLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), @@ -3946,7 +3946,7 @@ const u16 gNinjaskLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShedinjaLevelUpLearnset[] = { +static const u16 sShedinjaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), @@ -3960,7 +3960,7 @@ const u16 gShedinjaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTaillowLevelUpLearnset[] = { +static const u16 sTaillowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), @@ -3973,7 +3973,7 @@ const u16 gTaillowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwellowLevelUpLearnset[] = { +static const u16 sSwellowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -3988,7 +3988,7 @@ const u16 gSwellowLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShroomishLevelUpLearnset[] = { +static const u16 sShroomishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 4, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), @@ -4002,7 +4002,7 @@ const u16 gShroomishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBreloomLevelUpLearnset[] = { +static const u16 sBreloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), @@ -4020,7 +4020,7 @@ const u16 gBreloomLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpindaLevelUpLearnset[] = { +static const u16 sSpindaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_UPROAR), LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK), @@ -4035,7 +4035,7 @@ const u16 gSpindaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWingullLevelUpLearnset[] = { +static const u16 sWingullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), @@ -4047,7 +4047,7 @@ const u16 gWingullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPelipperLevelUpLearnset[] = { +static const u16 sPelipperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), @@ -4064,7 +4064,7 @@ const u16 gPelipperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSurskitLevelUpLearnset[] = { +static const u16 sSurskitLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), @@ -4076,7 +4076,7 @@ const u16 gSurskitLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMasquerainLevelUpLearnset[] = { +static const u16 sMasquerainLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), @@ -4092,7 +4092,7 @@ const u16 gMasquerainLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWailmerLevelUpLearnset[] = { +static const u16 sWailmerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 5, MOVE_GROWL), LEVEL_UP_MOVE(10, MOVE_WATER_GUN), @@ -4108,7 +4108,7 @@ const u16 gWailmerLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWailordLevelUpLearnset[] = { +static const u16 sWailordLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4127,7 +4127,7 @@ const u16 gWailordLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSkittyLevelUpLearnset[] = { +static const u16 sSkittyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), @@ -4143,7 +4143,7 @@ const u16 gSkittyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDelcattyLevelUpLearnset[] = { +static const u16 sDelcattyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ATTRACT), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -4151,7 +4151,7 @@ const u16 gDelcattyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKecleonLevelUpLearnset[] = { +static const u16 sKecleonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -4168,7 +4168,7 @@ const u16 gKecleonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBaltoyLevelUpLearnset[] = { +static const u16 sBaltoyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 3, MOVE_HARDEN), LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), @@ -4183,7 +4183,7 @@ const u16 gBaltoyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClaydolLevelUpLearnset[] = { +static const u16 sClaydolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -4202,7 +4202,7 @@ const u16 gClaydolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNosepassLevelUpLearnset[] = { +static const u16 sNosepassLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), @@ -4216,7 +4216,7 @@ const u16 gNosepassLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTorkoalLevelUpLearnset[] = { +static const u16 sTorkoalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 4, MOVE_SMOG), LEVEL_UP_MOVE( 7, MOVE_CURSE), @@ -4232,7 +4232,7 @@ const u16 gTorkoalLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSableyeLevelUpLearnset[] = { +static const u16 sSableyeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_FORESIGHT), @@ -4249,7 +4249,7 @@ const u16 gSableyeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBarboachLevelUpLearnset[] = { +static const u16 sBarboachLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), @@ -4264,7 +4264,7 @@ const u16 gBarboachLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWhiscashLevelUpLearnset[] = { +static const u16 sWhiscashLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TICKLE), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -4282,7 +4282,7 @@ const u16 gWhiscashLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLuvdiscLevelUpLearnset[] = { +static const u16 sLuvdiscLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_CHARM), LEVEL_UP_MOVE(12, MOVE_WATER_GUN), @@ -4295,7 +4295,7 @@ const u16 gLuvdiscLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCorphishLevelUpLearnset[] = { +static const u16 sCorphishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), @@ -4310,7 +4310,7 @@ const u16 gCorphishLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCrawdauntLevelUpLearnset[] = { +static const u16 sCrawdauntLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), @@ -4328,14 +4328,14 @@ const u16 gCrawdauntLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFeebasLevelUpLearnset[] = { +static const u16 sFeebasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE(15, MOVE_TACKLE), LEVEL_UP_MOVE(30, MOVE_FLAIL), LEVEL_UP_END }; -const u16 gMiloticLevelUpLearnset[] = { +static const u16 sMiloticLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 5, MOVE_WRAP), LEVEL_UP_MOVE(10, MOVE_WATER_SPORT), @@ -4350,7 +4350,7 @@ const u16 gMiloticLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCarvanhaLevelUpLearnset[] = { +static const u16 sCarvanhaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 7, MOVE_RAGE), @@ -4364,7 +4364,7 @@ const u16 gCarvanhaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSharpedoLevelUpLearnset[] = { +static const u16 sSharpedoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_RAGE), @@ -4382,7 +4382,7 @@ const u16 gSharpedoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTrapinchLevelUpLearnset[] = { +static const u16 sTrapinchLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), @@ -4394,7 +4394,7 @@ const u16 gTrapinchLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVibravaLevelUpLearnset[] = { +static const u16 sVibravaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), @@ -4410,7 +4410,7 @@ const u16 gVibravaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gFlygonLevelUpLearnset[] = { +static const u16 sFlygonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), @@ -4426,7 +4426,7 @@ const u16 gFlygonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMakuhitaLevelUpLearnset[] = { +static const u16 sMakuhitaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), @@ -4443,7 +4443,7 @@ const u16 gMakuhitaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHariyamaLevelUpLearnset[] = { +static const u16 sHariyamaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -4462,7 +4462,7 @@ const u16 gHariyamaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gElectrikeLevelUpLearnset[] = { +static const u16 sElectrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 9, MOVE_LEER), @@ -4477,7 +4477,7 @@ const u16 gElectrikeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gManectricLevelUpLearnset[] = { +static const u16 sManectricLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -4495,7 +4495,7 @@ const u16 gManectricLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gNumelLevelUpLearnset[] = { +static const u16 sNumelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(11, MOVE_EMBER), @@ -4509,7 +4509,7 @@ const u16 gNumelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCameruptLevelUpLearnset[] = { +static const u16 sCameruptLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -4526,7 +4526,7 @@ const u16 gCameruptLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSphealLevelUpLearnset[] = { +static const u16 sSphealLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4542,7 +4542,7 @@ const u16 gSphealLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSealeoLevelUpLearnset[] = { +static const u16 sSealeoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4559,7 +4559,7 @@ const u16 gSealeoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWalreinLevelUpLearnset[] = { +static const u16 sWalreinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -4576,7 +4576,7 @@ const u16 gWalreinLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCacneaLevelUpLearnset[] = { +static const u16 sCacneaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 5, MOVE_ABSORB), @@ -4593,7 +4593,7 @@ const u16 gCacneaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCacturneLevelUpLearnset[] = { +static const u16 sCacturneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -4612,7 +4612,7 @@ const u16 gCacturneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSnoruntLevelUpLearnset[] = { +static const u16 sSnoruntLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), @@ -4627,7 +4627,7 @@ const u16 gSnoruntLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGlalieLevelUpLearnset[] = { +static const u16 sGlalieLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -4645,7 +4645,7 @@ const u16 gGlalieLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLunatoneLevelUpLearnset[] = { +static const u16 sLunatoneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_CONFUSION), @@ -4659,7 +4659,7 @@ const u16 gLunatoneLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSolrockLevelUpLearnset[] = { +static const u16 sSolrockLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_CONFUSION), @@ -4673,7 +4673,7 @@ const u16 gSolrockLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAzurillLevelUpLearnset[] = { +static const u16 sAzurillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 3, MOVE_CHARM), LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), @@ -4683,7 +4683,7 @@ const u16 gAzurillLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSpoinkLevelUpLearnset[] = { +static const u16 sSpoinkLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), @@ -4698,7 +4698,7 @@ const u16 gSpoinkLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGrumpigLevelUpLearnset[] = { +static const u16 sGrumpigLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), @@ -4716,7 +4716,7 @@ const u16 gGrumpigLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gPlusleLevelUpLearnset[] = { +static const u16 sPlusleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), @@ -4731,7 +4731,7 @@ const u16 gPlusleLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMinunLevelUpLearnset[] = { +static const u16 sMinunLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), @@ -4746,7 +4746,7 @@ const u16 gMinunLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMawileLevelUpLearnset[] = { +static const u16 sMawileLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 6, MOVE_FAKE_TEARS), LEVEL_UP_MOVE(11, MOVE_BITE), @@ -4762,7 +4762,7 @@ const u16 gMawileLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMedititeLevelUpLearnset[] = { +static const u16 sMedititeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIDE), LEVEL_UP_MOVE( 4, MOVE_MEDITATE), LEVEL_UP_MOVE( 9, MOVE_CONFUSION), @@ -4777,7 +4777,7 @@ const u16 gMedititeLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMedichamLevelUpLearnset[] = { +static const u16 sMedichamLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), @@ -4798,7 +4798,7 @@ const u16 gMedichamLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwabluLevelUpLearnset[] = { +static const u16 sSwabluLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 8, MOVE_ASTONISH), @@ -4813,7 +4813,7 @@ const u16 gSwabluLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAltariaLevelUpLearnset[] = { +static const u16 sAltariaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -4832,7 +4832,7 @@ const u16 gAltariaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWynautLevelUpLearnset[] = { +static const u16 sWynautLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4843,7 +4843,7 @@ const u16 gWynautLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDuskullLevelUpLearnset[] = { +static const u16 sDuskullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE( 5, MOVE_DISABLE), @@ -4858,7 +4858,7 @@ const u16 gDuskullLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDusclopsLevelUpLearnset[] = { +static const u16 sDusclopsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), @@ -4876,7 +4876,7 @@ const u16 gDusclopsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRoseliaLevelUpLearnset[] = { +static const u16 sRoseliaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 5, MOVE_GROWTH), LEVEL_UP_MOVE( 9, MOVE_POISON_STING), @@ -4895,7 +4895,7 @@ const u16 gRoseliaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlakothLevelUpLearnset[] = { +static const u16 sSlakothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 7, MOVE_ENCORE), @@ -4908,7 +4908,7 @@ const u16 gSlakothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVigorothLevelUpLearnset[] = { +static const u16 sVigorothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4924,7 +4924,7 @@ const u16 gVigorothLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSlakingLevelUpLearnset[] = { +static const u16 sSlakingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4940,7 +4940,7 @@ const u16 gSlakingLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGulpinLevelUpLearnset[] = { +static const u16 sGulpinLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 6, MOVE_YAWN), LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), @@ -4955,7 +4955,7 @@ const u16 gGulpinLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSwalotLevelUpLearnset[] = { +static const u16 sSwalotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -4974,7 +4974,7 @@ const u16 gSwalotLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gTropiusLevelUpLearnset[] = { +static const u16 sTropiusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 7, MOVE_GROWTH), @@ -4989,7 +4989,7 @@ const u16 gTropiusLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gWhismurLevelUpLearnset[] = { +static const u16 sWhismurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 5, MOVE_UPROAR), LEVEL_UP_MOVE(11, MOVE_ASTONISH), @@ -5004,7 +5004,7 @@ const u16 gWhismurLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLoudredLevelUpLearnset[] = { +static const u16 sLoudredLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -5022,7 +5022,7 @@ const u16 gLoudredLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gExploudLevelUpLearnset[] = { +static const u16 sExploudLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -5041,7 +5041,7 @@ const u16 gExploudLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gClamperlLevelUpLearnset[] = { +static const u16 sClamperlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CLAMP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), @@ -5049,7 +5049,7 @@ const u16 gClamperlLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gHuntailLevelUpLearnset[] = { +static const u16 sHuntailLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), LEVEL_UP_MOVE( 8, MOVE_BITE), LEVEL_UP_MOVE(15, MOVE_SCREECH), @@ -5061,7 +5061,7 @@ const u16 gHuntailLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGorebyssLevelUpLearnset[] = { +static const u16 sGorebyssLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), LEVEL_UP_MOVE( 8, MOVE_CONFUSION), LEVEL_UP_MOVE(15, MOVE_AGILITY), @@ -5073,7 +5073,7 @@ const u16 gGorebyssLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAbsolLevelUpLearnset[] = { +static const u16 sAbsolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 5, MOVE_LEER), LEVEL_UP_MOVE( 9, MOVE_TAUNT), @@ -5088,7 +5088,7 @@ const u16 gAbsolLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShuppetLevelUpLearnset[] = { +static const u16 sShuppetLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), LEVEL_UP_MOVE( 8, MOVE_SCREECH), LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), @@ -5102,7 +5102,7 @@ const u16 gShuppetLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBanetteLevelUpLearnset[] = { +static const u16 sBanetteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), @@ -5119,7 +5119,7 @@ const u16 gBanetteLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSeviperLevelUpLearnset[] = { +static const u16 sSeviperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 7, MOVE_LICK), LEVEL_UP_MOVE(10, MOVE_BITE), @@ -5133,7 +5133,7 @@ const u16 gSeviperLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gZangooseLevelUpLearnset[] = { +static const u16 sZangooseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 4, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), @@ -5148,7 +5148,7 @@ const u16 gZangooseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRelicanthLevelUpLearnset[] = { +static const u16 sRelicanthLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), @@ -5163,7 +5163,7 @@ const u16 gRelicanthLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAronLevelUpLearnset[] = { +static const u16 sAronLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_HARDEN), LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), @@ -5179,7 +5179,7 @@ const u16 gAronLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLaironLevelUpLearnset[] = { +static const u16 sLaironLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -5198,7 +5198,7 @@ const u16 gLaironLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAggronLevelUpLearnset[] = { +static const u16 sAggronLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), @@ -5217,7 +5217,7 @@ const u16 gAggronLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCastformLevelUpLearnset[] = { +static const u16 sCastformLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE(10, MOVE_WATER_GUN), LEVEL_UP_MOVE(10, MOVE_EMBER), @@ -5229,7 +5229,7 @@ const u16 gCastformLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gVolbeatLevelUpLearnset[] = { +static const u16 sVolbeatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 9, MOVE_DOUBLE_TEAM), @@ -5243,7 +5243,7 @@ const u16 gVolbeatLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gIllumiseLevelUpLearnset[] = { +static const u16 sIllumiseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 9, MOVE_CHARM), @@ -5257,7 +5257,7 @@ const u16 gIllumiseLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLileepLevelUpLearnset[] = { +static const u16 sLileepLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), LEVEL_UP_MOVE(15, MOVE_ACID), @@ -5271,7 +5271,7 @@ const u16 gLileepLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gCradilyLevelUpLearnset[] = { +static const u16 sCradilyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_ACID), @@ -5288,7 +5288,7 @@ const u16 gCradilyLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gAnorithLevelUpLearnset[] = { +static const u16 sAnorithLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), @@ -5302,7 +5302,7 @@ const u16 gAnorithLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gArmaldoLevelUpLearnset[] = { +static const u16 sArmaldoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), @@ -5319,7 +5319,7 @@ const u16 gArmaldoLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRaltsLevelUpLearnset[] = { +static const u16 sRaltsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 6, MOVE_CONFUSION), LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), @@ -5333,7 +5333,7 @@ const u16 gRaltsLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKirliaLevelUpLearnset[] = { +static const u16 sKirliaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -5350,7 +5350,7 @@ const u16 gKirliaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGardevoirLevelUpLearnset[] = { +static const u16 sGardevoirLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), @@ -5367,7 +5367,7 @@ const u16 gGardevoirLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBagonLevelUpLearnset[] = { +static const u16 sBagonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 5, MOVE_BITE), LEVEL_UP_MOVE( 9, MOVE_LEER), @@ -5382,7 +5382,7 @@ const u16 gBagonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gShelgonLevelUpLearnset[] = { +static const u16 sShelgonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5401,7 +5401,7 @@ const u16 gShelgonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gSalamenceLevelUpLearnset[] = { +static const u16 sSalamenceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5421,12 +5421,12 @@ const u16 gSalamenceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gBeldumLevelUpLearnset[] = { +static const u16 sBeldumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_END }; -const u16 gMetangLevelUpLearnset[] = { +static const u16 sMetangLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(20, MOVE_CONFUSION), LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), @@ -5440,7 +5440,7 @@ const u16 gMetangLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gMetagrossLevelUpLearnset[] = { +static const u16 sMetagrossLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), @@ -5457,7 +5457,7 @@ const u16 gMetagrossLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegirockLevelUpLearnset[] = { +static const u16 sRegirockLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5470,7 +5470,7 @@ const u16 gRegirockLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegiceLevelUpLearnset[] = { +static const u16 sRegiceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_ICY_WIND), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5483,7 +5483,7 @@ const u16 gRegiceLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRegisteelLevelUpLearnset[] = { +static const u16 sRegisteelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), LEVEL_UP_MOVE( 9, MOVE_METAL_CLAW), LEVEL_UP_MOVE(17, MOVE_CURSE), @@ -5497,7 +5497,7 @@ const u16 gRegisteelLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gKyogreLevelUpLearnset[] = { +static const u16 sKyogreLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5512,7 +5512,7 @@ const u16 gKyogreLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gGroudonLevelUpLearnset[] = { +static const u16 sGroudonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5527,7 +5527,7 @@ const u16 gGroudonLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gRayquazaLevelUpLearnset[] = { +static const u16 sRayquazaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), @@ -5542,7 +5542,7 @@ const u16 gRayquazaLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLatiasLevelUpLearnset[] = { +static const u16 sLatiasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 5, MOVE_WISH), LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), @@ -5557,7 +5557,7 @@ const u16 gLatiasLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gLatiosLevelUpLearnset[] = { +static const u16 sLatiosLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 5, MOVE_MEMENTO), LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), @@ -5572,7 +5572,7 @@ const u16 gLatiosLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gJirachiLevelUpLearnset[] = { +static const u16 sJirachiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WISH), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 5, MOVE_REST), @@ -5588,7 +5588,7 @@ const u16 gJirachiLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gDeoxysLevelUpLearnset[] = { +static const u16 sDeoxysLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 5, MOVE_NIGHT_SHADE), @@ -5604,7 +5604,7 @@ const u16 gDeoxysLevelUpLearnset[] = { LEVEL_UP_END }; -const u16 gChimechoLevelUpLearnset[] = { +static const u16 sChimechoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 6, MOVE_GROWL), LEVEL_UP_MOVE( 9, MOVE_ASTONISH), diff --git a/include/data2.h b/include/data2.h index d71958201..af830a4c4 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,6 +1,8 @@ #ifndef GUARD_DATA2_H #define GUARD_DATA2_H +#define MOVE_NAME_LENGTH 12 + struct MonCoords { // This would use a bitfield, but some function @@ -13,10 +15,9 @@ extern struct MonCoords gTrainerBackPicCoords[]; extern struct MonCoords gTrainerFrontPicCoords[]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern const u8 gMoveNames[][13]; +extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1]; extern struct CompressedSpriteSheet gUnknown_0831C620; extern struct CompressedSpritePalette gUnknown_0831C628; extern const struct SpriteTemplate gUnknown_0831C688; - #endif // GUARD_DATA2_H diff --git a/include/decoration.h b/include/decoration.h index 76b2f2ec4..f613c25d2 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -73,5 +73,6 @@ void sub_8126B2C(u8 taskId); void sub_8127208(u8 taskId); void sub_8127250(u8 *dest, u8 decorCat); bool8 IsSelectedDecorInThePC(void); +u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u16 paletteTag); #endif //GUARD_DECORATION_H diff --git a/include/dynamic_placeholder_text_util.h b/include/dynamic_placeholder_text_util.h new file mode 100644 index 000000000..19bca71bb --- /dev/null +++ b/include/dynamic_placeholder_text_util.h @@ -0,0 +1,9 @@ +#ifndef GUARD_DYNAMIC_PLACEHOLDER_TEXT_UTIL_H +#define GUARD_DYNAMIC_PLACEHOLDER_TEXT_UTIL_H + +void DynamicPlaceholderTextUtil_Reset(void); +void DynamicPlaceholderTextUtil_SetPlaceholderPtr(u8 idx, const u8 *ptr); +u8 *DynamicPlaceholderTextUtil_ExpandPlaceholders(u8 *dest, const u8 *src); +const u8 *DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 idx); + +#endif //GUARD_DYNAMIC_PLACEHOLDER_TEXT_UTIL_H diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 3c4ad030f..0ff1834ca 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -37,5 +37,6 @@ bool8 sub_8068894(void); bool8 sub_8068A64(struct MapPosition *, u16); u8 sub_8068F18(void); bool8 dive_warp(struct MapPosition *position, u16 b); +void sub_809D2BC(void); #endif // GUARD_FIELDCONTROLAVATAR_H diff --git a/include/field_effect.h b/include/field_effect.h index 9c9501bfa..cdabd5c99 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -74,7 +74,10 @@ enum FieldEffectScriptIdx FLDEFF_USE_FLY_ANCIENT_TOMB, FLDEFF_PCTURN_ON, FLDEFF_HALL_OF_FAME_RECORD, - FLDEFF_USE_TELEPORT + FLDEFF_USE_TELEPORT, + FLDEFF_64, + FLDEFF_65, + FLDEFF_66, }; extern s32 gFieldEffectArguments[8]; diff --git a/include/field_region_map.h b/include/field_region_map.h new file mode 100644 index 000000000..d50f1265c --- /dev/null +++ b/include/field_region_map.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_REGION_MAP_H +#define GUARD_FIELD_REGION_MAP_H + +void FieldInitRegionMap(MainCallback callback); + +#endif // GUARD_FIELD_REGION_MAP_H diff --git a/include/field_screen.h b/include/field_screen.h index d9a2bb5fa..bf1502405 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -14,5 +14,7 @@ void UpdateWeatherPerDay(u16 days); void sub_80AC3D0(void); void sub_80AC3E4(void); void PreservePaletteInWeather(u8); +void sub_80AF128(void); +void sub_80AB104(u8); #endif //GUARD_FIELD_SCREEN_H diff --git a/include/global.h b/include/global.h index 7153ef260..2015d47cc 100644 --- a/include/global.h +++ b/include/global.h @@ -163,6 +163,16 @@ enum OPTIONS_BATTLE_STYLE_SET }; +struct Coords8 { + s8 x; + s8 y; +}; + +struct UCoords8 { + u8 x; + u8 y; +}; + struct Coords16 { s16 x; @@ -344,7 +354,8 @@ struct BattleFrontier /*0xCA9*/ u8 field_CA9_f:1; // 0x80 /*0xCAA*/ u16 field_CAA[4]; /*0xCB2*/ u16 field_CB2; - /*0xCB4*/ u16 field_CB4[30]; + /*0xCB4*/ u16 field_CB4[22]; + /*0xCE0*/ u16 field_CE0[4][2]; /*0xCF0*/ u16 field_CF0[2]; /*0xCF4*/ u16 field_CF4[2]; /*0xCF8*/ u16 field_CF8[2]; @@ -355,24 +366,21 @@ struct BattleFrontier /*0xD09*/ u8 filler_D09; /*0xD0A*/ u8 filler_D0A; /*0xD0B*/ u8 filler_D0B; - /*0xD0C*/ u8 filler_D0C; - /*0xD0D*/ u8 filler_D0D; - /*0xD0E*/ u8 filler_D0E; - /*0xD0F*/ u8 filler_D0F; + /*0xD0C*/ u16 field_D0C[2]; /*0xD10*/ u8 filler_D10; /*0xD11*/ u8 filler_D11; /*0xD12*/ u8 filler_D12; /*0xD13*/ u8 filler_D13; /*0xD14*/ u16 field_D14[2]; - /*0xD18*/ u8 field_D18[0xB8]; + /*0xD18*/ u8 field_D18[0xB0]; + /*0xDC8*/ u16 field_DC8[2]; + /*0xDCC*/ u8 filler_DCC[4]; /*0xDD0*/ u16 field_DD0[2]; /*0xDD4*/ u16 field_DD4[2]; /*0xDD8*/ u16 field_DD8; - /*0xDDA*/ u16 field_DDA; - /*0xDDC*/ u16 field_DDC; + /*0xDDA*/ u16 field_DDA[2]; /*0xDDE*/ u16 field_DDE[2]; - /*0xDE2*/ u16 field_DE2; - /*0xDE4*/ u16 field_DE4; + /*0xDE2*/ u16 field_DE2[2]; /*0xDE6*/ u16 field_DE6; /*0xDE8*/ u16 field_DE8; /*0xDEA*/ u16 field_DEA[2]; @@ -387,11 +395,9 @@ struct BattleFrontier /*0xDFE*/ u16 field_DFE; /*0xE00*/ u16 field_E00; /*0xE02*/ u16 field_E02; - /*0xE04*/ u16 field_E04; - /*0xE06*/ u16 field_E06; + /*0xE04*/ u16 field_E04[2]; /*0xE08*/ u16 field_E08[9]; - /*0xE1A*/ u16 field_E1A; - /*0xE1C*/ u16 field_E1C; + /*0xE1A*/ u16 field_E1A[2]; /*0xE1E*/ u16 field_E1E[7]; /*0xE2C*/ struct PyramidBag pyramidBag; /*0xE58*/ u16 field_E58; diff --git a/include/heal_location.h b/include/heal_location.h index 1f966f1ae..46f0d785a 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -1,13 +1,6 @@ #ifndef GUARD_HEAL_LOCATION_H #define GUARD_HEAL_LOCATION_H -// Exported type declarations - -struct UnkStruct_0859F534 { - const union AffineAnimCmd *const *const affineAnims; - void (* callback)(struct Sprite *sprite); -}; - struct HealLocation { s8 group; @@ -16,10 +9,8 @@ struct HealLocation u16 y; }; -// Exported RAM declarations - -// Exported ROM declarations - -const struct HealLocation *GetHealLocationPointer(u32 loc); +u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum); +const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum); +const struct HealLocation *GetHealLocation(u32 index); -#endif //GUARD_HEAL_LOCATION_H +#endif // GUARD_HEAL_LOCATION_H diff --git a/include/librfu.h b/include/librfu.h index aae7df4e9..9d131f027 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -47,7 +47,7 @@ enum RFU_UNK3A, RFU_UNK3B, RFU_UNK3C, - RFU_STOP_MODE, //3D + RFU_STOP_MODE, // 3D }; struct RfuPacket8 @@ -67,7 +67,7 @@ union RfuPacket struct RfuPacket8 rfuPacket8; }; -struct __attribute__((packed)) UnkLinkRfuStruct_02022B14 +struct UnkLinkRfuStruct_02022B14Substruct { u16 unk_00_0:4; u16 unk_00_4:1; @@ -79,9 +79,14 @@ struct __attribute__((packed)) UnkLinkRfuStruct_02022B14 u16 unk_01_2:4; u16 unk_01_6:2; u8 playerTrainerId[2]; +}; + +struct __attribute__((packed)) UnkLinkRfuStruct_02022B14 +{ + struct UnkLinkRfuStruct_02022B14Substruct unk_00; u8 unk_04[4]; - u16 unk_08_0:10; - u16 unk_09_2:6; + u16 species:10; + u16 type:6; u8 unk_0a_0:7; u8 unk_0a_7:1; u8 playerGender:1; @@ -200,8 +205,6 @@ extern struct RfuUnk1* gUnknown_03007870[4]; extern void* sub_82E53F4; extern void rfu_STC_clearAPIVariables(void); -struct UnkLinkRfuStruct_02022B14; - void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam); void rfu_REQ_stopMode(void); void rfu_waitREQComplete(void); diff --git a/include/link.h b/include/link.h index afc5008e6..b1b5a6d04 100644 --- a/include/link.h +++ b/include/link.h @@ -122,7 +122,7 @@ struct LinkPlayer /* 0x08 */ u8 name[11]; /* 0x13 */ u8 gender; /* 0x14 */ u32 linkType; - /* 0x18 */ u16 lp_field_18; // battle bank in battles + /* 0x18 */ u16 id; // battler id in battles /* 0x1A */ u16 language; }; diff --git a/include/link_rfu.h b/include/link_rfu.h index ca39c2fb2..c3ca75604 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -232,5 +232,37 @@ void sub_8011068(u8 a0); void sub_8011170(u32 a0); void sub_8011A64(u8 a0, u16 a1); u8 sub_801048C(bool32 a0); +void sub_800DF90(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2); +void sub_8010F84(u8 a0, u32 a1, u32 a2); +void sub_8011C10(u32 a0); +bool32 sub_8012240(void); +void sub_800EF38(void); +bool32 sub_80105EC(void); +bool32 sub_801064C(u16 a0, const u8 *a1); +void sub_8010688(u8 a0, u16 a1, const u8 *a2); +u32 sub_8010714(u16 a0, const u8 *a1); +void sub_8011DC0(const u8 *a0, u16 a1); +bool8 sub_800EF1C(void); +bool32 sub_800EF58(bool32 a0); +void sub_800E084(void); +void sub_801103C(void); +void sub_8011C5C(void); +void sub_80106D4(void); +void sub_800E3A8(void); +void sub_800ED10(void); +void sub_800ED28(void); +void sub_8011090(u8 a0, u32 a1, u32 a2); +void sub_8011FC8(u8 *a0, u16 a1); +void sub_8010FA0(bool32 a0, bool32 a1); +void sub_8010F60(void); +void sub_8010FCC(u32 a0, u32 a1, u32 a2); +void sub_8011C84(void); +void sub_8012188(const u8 *a0, struct UnkLinkRfuStruct_02022B14 *arg1, u8 arg2); +bool32 sub_8011B90(void); +void sub_800FE50(u16 *a0); +bool32 sub_800E540(u16 id, u8 *name); +void sub_8011DE0(u32 arg0); +u8 sub_801100C(int a0); +void sub_800EF7C(void); #endif //GUARD_LINK_RFU_H diff --git a/include/match_call.h b/include/match_call.h index 9698e7cd3..1f431bfaf 100644 --- a/include/match_call.h +++ b/include/match_call.h @@ -10,4 +10,6 @@ enum { MATCH_CALL_TYPE_GYMLEADER_ELITEFOUR }; +s32 GetRematchIdxByTrainerIdx(s32 trainerIdx); + #endif //GUARD_MATCH_CALL_H diff --git a/include/menu.h b/include/menu.h index 888d898b6..4cc43dd4c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -51,7 +51,7 @@ void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void reset_temp_tile_data_buffers(void); void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode); bool8 free_temp_tile_data_buffers_if_possible(void); -struct WindowTemplate sub_8198A50(u8, u8, u8, u8, u8, u8, u16); +struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode); s8 ProcessMenuInputNoWrap_(void); @@ -84,5 +84,6 @@ void sub_819A344(u8 a0, u8 *dest, u8 color); void RemoveMapNamePopUpWindow(void); u8 GetMapNamePopUpWindowId(void); u8 AddMapNamePopUpWindow(void); +void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); #endif // GUARD_MENU_H diff --git a/include/overworld.h b/include/overworld.h index 6869d7084..341e44278 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -126,8 +126,8 @@ void CB2_ReturnToFieldLocal(void); void CB2_ReturnToFieldLink(void); void c2_8056854(void); void CB2_ReturnToFieldWithOpenMenu(void); -void sub_80861B0(void); void CB2_ReturnToFieldContinueScript(void); +void CB2_ReturnToFieldContinueScriptPlayMapMusic(void); void sub_80861E8(void); void CB2_ContinueSavedGame(void); void sub_8086C2C(void); diff --git a/include/party_menu.h b/include/party_menu.h index fd52f8d4d..cb2c38891 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -34,6 +34,8 @@ struct Struct203CEC8 extern struct Struct203CEC8 gUnknown_0203CEC8; +extern const u16 gUnknown_0861500C[]; + bool8 pokemon_has_move(struct Pokemon *, u16); void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); @@ -50,6 +52,10 @@ void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); void sub_81B1B5C(void *a, u8 b); u8 sub_81B1BD4(); void sub_81B8448(); +void sub_81B8518(u8 unused); +u8 sub_81B1360(void); +void sub_81B8904(u8 arg0, void (*callback)(void)); void OpenPartyMenuInBattle(u8 caseId); +u16 ItemIdToBattleMoveId(u16 itemId); #endif // GUARD_PARTY_MENU_H diff --git a/include/pc_screen_effect.h b/include/pc_screen_effect.h new file mode 100644 index 000000000..5cfde0093 --- /dev/null +++ b/include/pc_screen_effect.h @@ -0,0 +1,16 @@ +#ifndef GUARD_PC_SCREEN_EFFECT_H +#define GUARD_PC_SCREEN_EFFECT_H + +struct PCScreenEffectStruct +{ + /*0x00*/ u16 tileTag; + /*0x02*/ u16 paletteTag; + /*0x04*/ u16 unk04; + /*0x06*/ u16 unk06; + /*0x08*/ u16 unk08; + /*0x0A*/ u16 unk0A; + /*0x0C*/ s16 unk0C; + /*0x10*/ u32 selectedPalettes; +}; + +#endif //GUARD_PC_SCREEN_EFFECT_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9fcfdba96..03f4e0da6 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -4,10 +4,84 @@ #define TOTAL_BOXES_COUNT 14 #define IN_BOX_COUNT 30 +#include "pc_screen_effect.h" +#include "mon_markings.h" + +struct PokemonStorageSystemFunc +{ + u8 (*func)(void); + s8 unk4; +}; + +struct StorageAction +{ + const u8 *text; + u8 format; +}; + +struct StorageText +{ + const u8 *text; + int textId; +}; + +struct PSS_MenuStringPtrs +{ + const u8 *text; + const u8 *desc; +}; + +struct UnkStruct_2000028 +{ + const u8 *unk_00; + u8 *unk_04; + u16 unk_08; + u16 unk_0a; + void (*unk_0c)(struct UnkStruct_2000028 *data); +}; + +struct UnkStruct_2000020 +{ + struct UnkStruct_2000028 *unk_00; + u8 unk_04; + u8 unk_05; +}; + +struct UnkPSSStruct_2002370 +{ + struct Sprite *unk_0000; + struct Sprite *unk_0004[4]; + u32 unk_0014[3]; + struct Sprite *unk_0020[2]; + u8 filler_0028[0x214]; + u32 unk_023c; + u16 unk_0240; + u16 unk_0242; + u8 curBox; + u8 unk_0245; + u8 unk_0246; +}; + +struct PokemonStorageSystemData +{ + u8 state; + u8 boxOption; + u8 unk_0002; + u8 unk_0003; + u8 taskId; + u8 unk_0005[710]; + u16 bg2_X; +}; + +extern struct UnkPSSStruct_2002370 *gUnknown_02039D04; +extern struct PokemonStorageSystemData *gUnknown_02039D08; + u8* GetBoxNamePtr(u8 boxNumber); struct BoxPokemon *GetBoxedMonPtr(u8, u8); void SetBoxMonNickFromAnyBox(u8, u8, u8 *); void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); +bool8 CheckFreePokemonStorageSpace(void); +u8 StorageGetCurrentBox(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index fd8c35f56..f71e5d97d 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -8,5 +8,6 @@ // Exported ROM declarations void sub_8018438(void); +u16 mevent_081445C0(u8); #endif //GUARD_rom_8011DC0_H diff --git a/include/script_menu.h b/include/script_menu.h index 0555d0f78..c50bef00f 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -9,8 +9,9 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2); bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); -u8 convert_pixel_width_to_tile_width(s32); +s32 convert_pixel_width_to_tile_width(s32); u8 CreateWindowFromRect(u8, u8, u8, u8); void sub_80E2A78(u8); +u32 display_text_and_get_width(const u8*, u32); #endif //GUARD_SCRIPT_MENU_H diff --git a/include/strings.h b/include/strings.h index 4736fdc5d..528f70f69 100644 --- a/include/strings.h +++ b/include/strings.h @@ -462,4 +462,304 @@ extern const u8 gText_TotalRecordWLD[]; extern const u8 gText_PlayersBattleResults[]; extern const u8 gText_WinLoseDraw[]; +extern const u8 gText_99TimesPlus[]; +extern const u8 gText_1MinutePlus[]; +extern const u8 gText_SpaceSeconds[]; +extern const u8 gText_SpaceTimes[]; + +extern const u8 gText_BigGuy[]; +extern const u8 gText_BigGirl[]; +extern const u8 gText_Son[]; +extern const u8 gText_Daughter[]; + +extern const u8 gText_1F[]; +extern const u8 gText_2F[]; +extern const u8 gText_3F[]; +extern const u8 gText_4F[]; +extern const u8 gText_5F[]; +extern const u8 gText_6F[]; +extern const u8 gText_7F[]; +extern const u8 gText_8F[]; +extern const u8 gText_9F[]; +extern const u8 gText_10F[]; +extern const u8 gText_11F[]; +extern const u8 gText_B1F[]; +extern const u8 gText_B2F[]; +extern const u8 gText_B3F[]; +extern const u8 gText_B4F[]; +extern const u8 gText_Rooftop[]; +extern const u8 gText_ElevatorNowOn[]; + +extern const u8 gText_Exit[]; + +extern const u8 gText_BlueFlute[]; +extern const u8 gText_YellowFlute[]; +extern const u8 gText_RedFlute[]; +extern const u8 gText_WhiteFlute[]; +extern const u8 gText_BlackFlute[]; +extern const u8 gText_PrettyChair[]; +extern const u8 gText_PrettyDesk[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_0Pts[]; +extern const u8 gText_10Pts[]; +extern const u8 gText_20Pts[]; +extern const u8 gText_30Pts[]; +extern const u8 gText_40Pts[]; +extern const u8 gText_50Pts[]; +extern const u8 gText_60Pts[]; +extern const u8 gText_70Pts[]; +extern const u8 gText_80Pts[]; +extern const u8 gText_90Pts[]; +extern const u8 gText_100Pts[]; +extern const u8 gText_QuestionMark[]; + +extern const u8 gText_KissPoster16BP[]; +extern const u8 gText_KissCushion32BP[]; +extern const u8 gText_SmoochumDoll32BP[]; +extern const u8 gText_TogepiDoll48BP[]; +extern const u8 gText_MeowthDoll48BP[]; +extern const u8 gText_ClefairyDoll48BP[]; +extern const u8 gText_DittoDoll48BP[]; +extern const u8 gText_CyndaquilDoll80BP[]; +extern const u8 gText_ChikoritaDoll80BP[]; +extern const u8 gText_TotodileDoll80BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_LaprasDoll128BP[]; +extern const u8 gText_SnorlaxDoll128BP[]; +extern const u8 gText_VenusaurDoll256BP[]; +extern const u8 gText_CharizardDoll256BP[]; +extern const u8 gText_BlastoiseDoll256BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Protein1BP[]; +extern const u8 gText_Calcium1BP[]; +extern const u8 gText_Iron1BP[]; +extern const u8 gText_Zinc1BP[]; +extern const u8 gText_Carbos1BP[]; +extern const u8 gText_HpUp1BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Leftovers48BP[]; +extern const u8 gText_WhiteHerb48BP[]; +extern const u8 gText_QuickClaw48BP[]; +extern const u8 gText_MentalHerb48BP[]; +extern const u8 gText_BrightPowder64BP[]; +extern const u8 gText_ChoiceBand64BP[]; +extern const u8 gText_KingsRock64BP[]; +extern const u8 gText_FocusBand64BP[]; +extern const u8 gText_ScopeLens64BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_EnergyPowder50[]; +extern const u8 gText_EnergyRoot80[]; +extern const u8 gText_HealPowder50[]; +extern const u8 gText_RevivalHerb300[]; +extern const u8 gText_Protein1000[]; +extern const u8 gText_Iron1000[]; +extern const u8 gText_Carbos1000[]; +extern const u8 gText_Calcium1000[]; +extern const u8 gText_Zinc1000[]; +extern const u8 gText_HPUp1000[]; +extern const u8 gText_PPUp3000[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_BattleTower2[]; +extern const u8 gText_BattleDome[]; +extern const u8 gText_BattlePalace[]; +extern const u8 gText_BattleArena[]; +extern const u8 gText_BattleFactory[]; +extern const u8 gText_BattlePike[]; +extern const u8 gText_BattlePyramid[]; +extern const u8 gText_RankingHall[]; +extern const u8 gText_ExchangeService[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_Softboiled16BP[]; +extern const u8 gText_SeismicToss24BP[]; +extern const u8 gText_DreamEater24BP[]; +extern const u8 gText_MegaPunch24BP[]; +extern const u8 gText_MegaKick48BP[]; +extern const u8 gText_BodySlam48BP[]; +extern const u8 gText_RockSlide48BP[]; +extern const u8 gText_Counter48BP[]; +extern const u8 gText_ThunderWave48BP[]; +extern const u8 gText_SwordsDance48BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_DefenseCurl16BP[]; +extern const u8 gText_Snore24BP[]; +extern const u8 gText_MudSlap24BP[]; +extern const u8 gText_Swift24BP[]; +extern const u8 gText_IcyWind24BP[]; +extern const u8 gText_Endure48BP[]; +extern const u8 gText_PsychUp48BP[]; +extern const u8 gText_IcePunch48BP[]; +extern const u8 gText_ThunderPunch48BP[]; +extern const u8 gText_FirePunch48BP[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_SlateportCity[]; +extern const u8 gText_BattleFrontier[]; +extern const u8 gText_SouthernIsland[]; +extern const u8 gText_NavelRock[]; +extern const u8 gText_BirthIsland[]; +extern const u8 gText_FarawayIsland[]; +extern const u8 gText_Exit[]; + +extern const u8 gText_BattleTrainers[]; +extern const u8 gText_BattleBasics[]; +extern const u8 gText_PokemonNature[]; +extern const u8 gText_PokemonMoves[]; +extern const u8 gText_Underpowered[]; +extern const u8 gText_WhenInDanger[]; +extern const u8 gText_Exit[]; + +extern const u8 BattleFrontier_Lounge2_Text_260971[]; +extern const u8 BattleFrontier_Lounge2_Text_260A1E[]; +extern const u8 BattleFrontier_Lounge2_Text_260AE7[]; +extern const u8 BattleFrontier_Lounge2_Text_2619AC[]; +extern const u8 BattleFrontier_Lounge2_Text_261A91[]; +extern const u8 BattleFrontier_Lounge2_Text_261B0C[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261B95[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; +extern const u8 BattleFrontier_Lounge2_Text_260BC4[]; +extern const u8 BattleFrontier_Lounge2_Text_260C6D[]; +extern const u8 BattleFrontier_Lounge2_Text_260D3A[]; +extern const u8 BattleFrontier_Lounge2_Text_260E1E[]; +extern const u8 BattleFrontier_Lounge2_Text_260EC7[]; +extern const u8 BattleFrontier_Lounge2_Text_260F74[]; +extern const u8 BattleFrontier_Lounge2_Text_2614E6[]; +extern const u8 BattleFrontier_Lounge2_Text_261591[]; +extern const u8 BattleFrontier_Lounge2_Text_26166F[]; +extern const u8 BattleFrontier_Lounge2_Text_261282[]; +extern const u8 BattleFrontier_Lounge2_Text_261329[]; +extern const u8 BattleFrontier_Lounge2_Text_261403[]; +extern const u8 BattleFrontier_Lounge2_Text_261026[]; +extern const u8 BattleFrontier_Lounge2_Text_2610CC[]; +extern const u8 BattleFrontier_Lounge2_Text_261194[]; +extern const u8 BattleFrontier_Lounge2_Text_26174D[]; +extern const u8 BattleFrontier_Lounge2_Text_2617F9[]; +extern const u8 BattleFrontier_Lounge2_Text_2618C4[]; + +extern const u8 BattleFrontier_Lounge5_Text_26468D[]; +extern const u8 BattleFrontier_Lounge5_Text_2646E5[]; +extern const u8 BattleFrontier_Lounge5_Text_264741[]; +extern const u8 BattleFrontier_Lounge5_Text_2647A4[]; +extern const u8 BattleFrontier_Lounge5_Text_2647FC[]; +extern const u8 BattleFrontier_Lounge5_Text_264858[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264916[]; +extern const u8 BattleFrontier_Lounge5_Text_264972[]; +extern const u8 BattleFrontier_Lounge5_Text_2649D5[]; +extern const u8 BattleFrontier_Lounge5_Text_264A3F[]; +extern const u8 BattleFrontier_Lounge5_Text_264A9B[]; +extern const u8 BattleFrontier_Lounge5_Text_264AF3[]; +extern const u8 BattleFrontier_Lounge5_Text_264B5D[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264BC3[]; +extern const u8 BattleFrontier_Lounge5_Text_264C36[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; +extern const u8 BattleFrontier_Lounge5_Text_264C95[]; +extern const u8 BattleFrontier_Lounge5_Text_264D01[]; +extern const u8 BattleFrontier_Lounge5_Text_264D6B[]; +extern const u8 BattleFrontier_Lounge5_Text_264DD7[]; +extern const u8 BattleFrontier_Lounge5_Text_264E33[]; +extern const u8 BattleFrontier_Lounge5_Text_264E8F[]; +extern const u8 BattleFrontier_Lounge5_Text_2648BE[]; + +extern const u8 BattleFrontier_Lounge3_Text_262261[]; +extern const u8 BattleFrontier_Lounge3_Text_26230D[]; +extern const u8 BattleFrontier_Lounge3_Text_2623B9[]; +extern const u8 BattleFrontier_Lounge3_Text_262464[]; +extern const u8 BattleFrontier_Lounge3_Text_26250E[]; +extern const u8 BattleFrontier_Lounge3_Text_2625B8[]; +extern const u8 BattleFrontier_Lounge3_Text_26266A[]; +extern const u8 BattleFrontier_Lounge3_Text_26271C[]; +extern const u8 BattleFrontier_Lounge3_Text_2627C9[]; +extern const u8 BattleFrontier_Lounge3_Text_262876[]; +extern const u8 BattleFrontier_Lounge3_Text_26291A[]; +extern const u8 BattleFrontier_Lounge3_Text_2629BC[]; + +extern const u8 BattleFrontier_Lounge3_Text_262C04[]; +extern const u8 BattleFrontier_Lounge3_Text_262C90[]; +extern const u8 BattleFrontier_Lounge3_Text_262D1C[]; +extern const u8 BattleFrontier_Lounge3_Text_262DA7[]; +extern const u8 BattleFrontier_Lounge3_Text_262E34[]; +extern const u8 BattleFrontier_Lounge3_Text_262EC1[]; +extern const u8 BattleFrontier_Lounge3_Text_262F56[]; +extern const u8 BattleFrontier_Lounge3_Text_262FEB[]; +extern const u8 BattleFrontier_Lounge3_Text_263078[]; +extern const u8 BattleFrontier_Lounge3_Text_263105[]; +extern const u8 BattleFrontier_Lounge3_Text_26318C[]; +extern const u8 BattleFrontier_Lounge3_Text_263211[]; + +extern const u8 gText_BP[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260201[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260287[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260397[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260436[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C[]; + +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260542[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260575[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2[]; +extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260613[]; + +extern const u8 BattleFrontier_Lounge7_Text_265E30[]; +extern const u8 BattleFrontier_Lounge7_Text_265E5B[]; +extern const u8 BattleFrontier_Lounge7_Text_265E8A[]; +extern const u8 BattleFrontier_Lounge7_Text_265EC0[]; +extern const u8 BattleFrontier_Lounge7_Text_265EED[]; +extern const u8 BattleFrontier_Lounge7_Text_265F1C[]; +extern const u8 BattleFrontier_Lounge7_Text_265F47[]; +extern const u8 BattleFrontier_Lounge7_Text_265F77[]; +extern const u8 BattleFrontier_Lounge7_Text_265FAA[]; +extern const u8 BattleFrontier_Lounge7_Text_265FDD[]; + +extern const u8 BattleFrontier_Lounge7_Text_26600A[]; +extern const u8 BattleFrontier_Lounge7_Text_26603E[]; +extern const u8 BattleFrontier_Lounge7_Text_266070[]; +extern const u8 BattleFrontier_Lounge7_Text_2660A6[]; +extern const u8 BattleFrontier_Lounge7_Text_2660D0[]; +extern const u8 BattleFrontier_Lounge7_Text_2660FF[]; +extern const u8 BattleFrontier_Lounge7_Text_26612D[]; +extern const u8 BattleFrontier_Lounge7_Text_26615F[]; +extern const u8 BattleFrontier_Lounge7_Text_266185[]; +extern const u8 BattleFrontier_Lounge7_Text_2661B5[]; + +extern const u8 gText_YourPartnerHasRetired[]; + +extern const u8 gText_Wallace[]; +extern const u8 gText_Steven[]; +extern const u8 gText_Brawly[]; +extern const u8 gText_Winona[]; +extern const u8 gText_Phoebe[]; +extern const u8 gText_Glacia[]; + #endif //GUARD_STRINGS_H diff --git a/include/trade.h b/include/trade.h index 15438ff3f..af4da0015 100644 --- a/include/trade.h +++ b/include/trade.h @@ -7,6 +7,8 @@ // Exported ROM declarations -int sub_807A728(void); +s32 sub_807A728(void); +void sub_80773AC(void); +void sub_807AE50(void); #endif //GUARD_TRADE_H diff --git a/include/trainer_card.h b/include/trainer_card.h index 5cb93dba0..af603444f 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -32,4 +32,8 @@ struct TrainerCard extern struct TrainerCard gTrainerCards[4]; +void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion); +void sub_80C4E74(u8 arg0, void (*callback)(void)); +void sub_80C30A4(u16 *arg0); + #endif // GUARD_TRAINER_CARD_H diff --git a/include/tv.h b/include/tv.h index 17be8c43c..554bbad85 100644 --- a/include/tv.h +++ b/include/tv.h @@ -48,5 +48,6 @@ void PutPokemonTodayCaughtOnAir(void); void TV_PutSecretBaseVisitOnTheAir(void); void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlayer, u16 speciesOpponent); void UpdateTVScreensOnMap(int, int); +void TV_PrintIntToStringVar(u8 varIdx, int value); #endif //GUARD_TV_H diff --git a/include/unk_text_util.h b/include/unk_text_util.h deleted file mode 100644 index 72243a90e..000000000 --- a/include/unk_text_util.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef GUARD_UNK_TEXT_UTIL_H -#define GUARD_UNK_TEXT_UTIL_H - -void UnkTextUtil_Reset(void); -void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr); -u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src); -const u8 *UnkTextUtil_GetPtrI(u8 idx); - -#endif //GUARD_UNK_TEXT_UTIL_H diff --git a/include/wallclock.h b/include/wallclock.h index 48697c19f..208af9324 100644 --- a/include/wallclock.h +++ b/include/wallclock.h @@ -1,6 +1,7 @@ #ifndef GUARD_WALLCLOCK_H #define GUARD_WALLCLOCK_H -void Cb2_StartWallClock(void); +void CB2_StartWallClock(void); +void CB2_ViewWallClock(void); #endif //GUARD_WALLCLOCK_H diff --git a/ld_script.txt b/ld_script.txt index 6768cbc19..a739bae42 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -55,6 +55,7 @@ SECTIONS { src/link.o(.text); src/link_rfu.o(.text); asm/link_rfu.o(.text); + src/rom_8011DC0.o(.text); asm/rom_8011DC0.o(.text); src/rtc.o(.text); src/main_menu.o(.text); @@ -180,7 +181,7 @@ SECTIONS { src/time_events.o(.text); src/birch_pc.o(.text); src/hof_pc.o(.text); - asm/field_specials.o(.text); + src/field_specials.o(.text); src/battle_records.o(.text); asm/pokedex_area_screen.o(.text); src/evolution_scene.o(.text); @@ -243,7 +244,7 @@ SECTIONS { asm/battle_frontier_2.o(.text); src/item_menu.o(.text); src/list_menu.o(.text); - src/unk_text_util.o(.text); + src/dynamic_placeholder_text_util.o(.text); src/save_location.o(.text); src/item_icon.o(.text); asm/party_menu.o(.text); @@ -367,11 +368,14 @@ SECTIONS { src/string_util.o(.rodata); src/link.o(.rodata); src/link_rfu.o(.rodata); + src/rom_8011DC0.o(.rodata); data/rom_8011DC0.o(.rodata); src/rtc.o(.rodata); src/main_menu.o(.rodata); src/rom_8034C54.o(.rodata); data/data2b.o(.rodata); + src/battle_data.o(.rodata); + data/data2c.o(.rodata); src/battle_main.o(.rodata); src/battle_util.o(.rodata); src/battle_script_commands.o(.rodata); @@ -467,7 +471,7 @@ SECTIONS { src/pokeblock.o(.rodata); src/fldeff_flash.o(.rodata); src/time_events.o(.rodata); - data/field_specials.o(.rodata); + src/field_specials.o(.rodata); src/battle_records.o(.rodata); data/pokedex_area_screen.o(.rodata); src/evolution_scene.o(.rodata); @@ -497,7 +501,7 @@ SECTIONS { src/credits.o(.rodata); src/lottery_corner.o(.rodata); src/diploma.o(.rodata); - data/strings.o(.rodata); + src/strings.o(.rodata); src/berry_tag_screen.o(.rodata); src/mystery_event_menu.o(.rodata); src/save_failed_screen.o(.rodata); @@ -528,6 +532,7 @@ SECTIONS { src/fossil_specials.o(.rodata); src/fldeff_groundshake.o(.rodata); src/berry_fix_program.o(.rodata); + src/pokemon_summary_screen.o(.rodata); data/pokemon_summary_screen.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); diff --git a/src/battle_bg.c b/src/battle_bg.c index 9f5bd8740..999b64a54 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -279,7 +279,7 @@ static void sub_8035C4C(void) { if (gBattleOutcome == B_OUTCOME_WON) { - switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18) + switch (gLinkPlayers[gBattleScripting.multiplayerId].id) { case 0: BattlePutTextOnWindow(gText_Win, 0x16); @@ -301,7 +301,7 @@ static void sub_8035C4C(void) } else { - switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18) + switch (gLinkPlayers[gBattleScripting.multiplayerId].id) { case 0: BattlePutTextOnWindow(gText_Win, 0x17); @@ -324,7 +324,7 @@ static void sub_8035C4C(void) } else if (gBattleOutcome == B_OUTCOME_WON) { - if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0) + if (gLinkPlayers[gBattleScripting.multiplayerId].id != 0) { BattlePutTextOnWindow(gText_Win, 0x17); BattlePutTextOnWindow(gText_Loss, 0x16); @@ -337,7 +337,7 @@ static void sub_8035C4C(void) } else { - if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0) + if (gLinkPlayers[gBattleScripting.multiplayerId].id != 0) { BattlePutTextOnWindow(gText_Win, 0x16); BattlePutTextOnWindow(gText_Loss, 0x17); @@ -366,23 +366,23 @@ void sub_8035D74(u8 taskId) name = gLinkPlayers[i].name; linkPlayer = &gLinkPlayers[i]; - switch (linkPlayer->lp_field_18) + switch (linkPlayer->id) { case 0: BattlePutTextOnWindow(name, 0x11); - sub_8035AE4(taskId, linkPlayer->lp_field_18, 1, 2, 4); + sub_8035AE4(taskId, linkPlayer->id, 1, 2, 4); break; case 1: BattlePutTextOnWindow(name, 0x12); - sub_8035AE4(taskId, linkPlayer->lp_field_18, 2, 2, 4); + sub_8035AE4(taskId, linkPlayer->id, 2, 2, 4); break; case 2: BattlePutTextOnWindow(name, 0x13); - sub_8035AE4(taskId, linkPlayer->lp_field_18, 1, 2, 8); + sub_8035AE4(taskId, linkPlayer->id, 1, 2, 8); break; case 3: BattlePutTextOnWindow(name, 0x14); - sub_8035AE4(taskId, linkPlayer->lp_field_18, 2, 2, 8); + sub_8035AE4(taskId, linkPlayer->id, 2, 2, 8); break; } } @@ -393,7 +393,7 @@ void sub_8035D74(u8 taskId) u8 opponentId = playerId ^ BIT_SIDE; u8 opponentId_copy = opponentId; - if (gLinkPlayers[playerId].lp_field_18 != 0) + if (gLinkPlayers[playerId].id != 0) opponentId = playerId, playerId = opponentId_copy; name = gLinkPlayers[playerId].name; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 1ce5d3099..4d714ca81 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -264,67 +264,67 @@ static void InitSinglePlayerBtlControllers(void) for (var = gUnknown_0203C7B4, i = 0; i < MAX_BATTLERS_COUNT; i++) { - switch (gLinkPlayers[i].lp_field_18) + switch (gLinkPlayers[i].id) { case 0: case 3: - sub_81B8D64(gLinkPlayers[i].lp_field_18, 0); + sub_81B8D64(gLinkPlayers[i].id, 0); break; case 1: case 2: - sub_81B8D64(gLinkPlayers[i].lp_field_18, 1); + sub_81B8D64(gLinkPlayers[i].id, 1); break; } if (i == var) { - gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedPlayer; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToRecordedPlayer; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_LEFT; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_RIGHT; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_RIGHT; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } - else if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[var].lp_field_18 & 1)) - || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[var].lp_field_18 & 1))) + else if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[var].id & 1)) + || ((gLinkPlayers[i].id & 1) && (gLinkPlayers[var].id & 1))) { - gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedPlayer; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToRecordedPlayer; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_LEFT; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_PLAYER_RIGHT; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_RIGHT; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } else { - gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToRecordedOpponent; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToRecordedOpponent; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_OPPONENT_LEFT; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_OPPONENT_LEFT; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = B_POSITION_OPPONENT_RIGHT; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_OPPONENT_RIGHT; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } @@ -506,69 +506,69 @@ static void InitLinkBtlControllers(void) for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - switch (gLinkPlayers[i].lp_field_18) + switch (gLinkPlayers[i].id) { case 0: case 3: - sub_81B8D64(gLinkPlayers[i].lp_field_18, 0); + sub_81B8D64(gLinkPlayers[i].id, 0); break; case 1: case 2: - sub_81B8D64(gLinkPlayers[i].lp_field_18, 1); + sub_81B8D64(gLinkPlayers[i].id, 1); break; } if (i == multiplayerId) { - gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToPlayer; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToPlayer; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = 0; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].id] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = 2; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].id] = 2; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } else { - if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[multiplayerId].lp_field_18 & 1)) - || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[multiplayerId].lp_field_18 & 1))) + if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[multiplayerId].id & 1)) + || ((gLinkPlayers[i].id & 1) && (gLinkPlayers[multiplayerId].id & 1))) { - gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToLinkPartner; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToLinkPartner; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = 0; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].id] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = 2; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].id] = 2; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } else { - gBattlerControllerFuncs[gLinkPlayers[i].lp_field_18] = SetControllerToLinkOpponent; - switch (gLinkPlayers[i].lp_field_18) + gBattlerControllerFuncs[gLinkPlayers[i].id] = SetControllerToLinkOpponent; + switch (gLinkPlayers[i].id) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = 1; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPositions[gLinkPlayers[i].id] = 1; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].lp_field_18] = 3; - gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPositions[gLinkPlayers[i].id] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } } diff --git a/src/battle_data.c b/src/battle_data.c new file mode 100644 index 000000000..f3719ac2d --- /dev/null +++ b/src/battle_data.c @@ -0,0 +1,13 @@ +#include "global.h" +#include "battle.h" +#include "data2.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/trainers.h" + +#include "data/trainer_parties.h" +#include "data/text/trainer_class_names.h" +#include "data/trainers.h" +#include "data/text/species_names.h" +#include "data/text/move_names.h" diff --git a/src/battle_main.c b/src/battle_main.c index 6aa7ae622..86937f85f 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -828,7 +828,7 @@ static void SetAllPlayersBerryData(void) for (i = 0; i < numPlayers; i++) { src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - battlerId = gLinkPlayers[i].lp_field_18; + battlerId = gLinkPlayers[i].id; for (j = 0; j < BERRY_NAME_COUNT - 1; j++) gEnigmaBerries[battlerId].name[j] = src->name[j]; @@ -965,8 +965,8 @@ static void CB2_HandleStartBattle(void) if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00) { - gLinkPlayers[0].lp_field_18 = 0; - gLinkPlayers[1].lp_field_18 = 1; + gLinkPlayers[0].id = 0; + gLinkPlayers[1].id = 1; } SendBlock(bitmask_all_link_players_but_self(), &gBattleStruct->field_180, 32); @@ -1153,10 +1153,10 @@ static void CB2_HandleStartMultiPartnerBattle(void) { u8 language; - gLinkPlayers[0].lp_field_18 = 0; - gLinkPlayers[1].lp_field_18 = 2; - gLinkPlayers[2].lp_field_18 = 1; - gLinkPlayers[3].lp_field_18 = 3; + gLinkPlayers[0].id = 0; + gLinkPlayers[1].id = 2; + gLinkPlayers[2].id = 1; + gLinkPlayers[3].id = 3; GetFrontierTrainerName(gLinkPlayers[2].name, gTrainerBattleOpponent_A); GetFrontierTrainerName(gLinkPlayers[3].name, gTrainerBattleOpponent_B); sub_8165B88(&language, gTrainerBattleOpponent_A); @@ -1214,7 +1214,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) if ((GetBlockReceivedStatus() & 3) == 3) { ResetBlockReceivedFlags(); - if (gLinkPlayers[playerMultiplayerId].lp_field_18 != 0) + if (gLinkPlayers[playerMultiplayerId].id != 0) { memcpy(gPlayerParty, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); memcpy(gPlayerParty + 3, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon) * 2); @@ -1238,7 +1238,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) if ((GetBlockReceivedStatus() & 3) == 3) { ResetBlockReceivedFlags(); - if (gLinkPlayers[playerMultiplayerId].lp_field_18 != 0) + if (gLinkPlayers[playerMultiplayerId].id != 0) { memcpy(gPlayerParty + 2, gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon)); memcpy(gPlayerParty + 5, gBlockRecvBuffer[playerMultiplayerId], sizeof(struct Pokemon)); @@ -1429,8 +1429,8 @@ static void CB2_PreInitMultiBattle(void) if (numPlayers == 4) { - if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplierId].lp_field_18 & 1)) - || (gLinkPlayers[i].lp_field_18 & 1 && gLinkPlayers[playerMultiplierId].lp_field_18 & 1)) + if ((!(gLinkPlayers[i].id & 1) && !(gLinkPlayers[playerMultiplierId].id & 1)) + || (gLinkPlayers[i].id & 1 && gLinkPlayers[playerMultiplierId].id & 1)) { memcpy(gUnknown_02022FF8, gBlockRecvBuffer[i], sizeof(struct UnknownPokemonStruct4) * 3); } @@ -1590,7 +1590,7 @@ static void CB2_HandleStartMultiBattle(void) for (id = 0; id < MAX_LINK_PLAYERS; id++) { sub_8185F90(gBlockRecvBuffer[id][1]); - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: gTasks[var].data[3] |= gBlockRecvBuffer[id][1] & 0x3F; @@ -1627,7 +1627,7 @@ static void CB2_HandleStartMultiBattle(void) { if (id == playerMultiplayerId) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -1641,10 +1641,10 @@ static void CB2_HandleStartMultiBattle(void) } else { - if ((!(gLinkPlayers[id].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplayerId].lp_field_18 & 1)) - || ((gLinkPlayers[id].lp_field_18 & 1) && (gLinkPlayers[playerMultiplayerId].lp_field_18 & 1))) + if ((!(gLinkPlayers[id].id & 1) && !(gLinkPlayers[playerMultiplayerId].id & 1)) + || ((gLinkPlayers[id].id & 1) && (gLinkPlayers[playerMultiplayerId].id & 1))) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -1658,7 +1658,7 @@ static void CB2_HandleStartMultiBattle(void) } else { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -1690,7 +1690,7 @@ static void CB2_HandleStartMultiBattle(void) { if (id == playerMultiplayerId) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -1704,10 +1704,10 @@ static void CB2_HandleStartMultiBattle(void) } else { - if ((!(gLinkPlayers[id].lp_field_18 & 1) && !(gLinkPlayers[playerMultiplayerId].lp_field_18 & 1)) - || ((gLinkPlayers[id].lp_field_18 & 1) && (gLinkPlayers[playerMultiplayerId].lp_field_18 & 1))) + if ((!(gLinkPlayers[id].id & 1) && !(gLinkPlayers[playerMultiplayerId].id & 1)) + || ((gLinkPlayers[id].id & 1) && (gLinkPlayers[playerMultiplayerId].id & 1))) { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -1721,7 +1721,7 @@ static void CB2_HandleStartMultiBattle(void) } else { - switch (gLinkPlayers[id].lp_field_18) + switch (gLinkPlayers[id].id) { case 0: case 3: @@ -2095,7 +2095,7 @@ static void sub_8038B94(u8 taskId) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - switch (gLinkPlayers[r2].lp_field_18) + switch (gLinkPlayers[r2].id) { case 0: case 2: @@ -3964,9 +3964,9 @@ void BattleTurnPassed(void) TurnValuesCleanUp(TRUE); if (gBattleOutcome == 0) { - if (UpdateTurnCounters()) + if (DoFieldEndTurnEffects()) return; - if (TurnBasedEffects()) + if (DoBattlerEndTurnEffects()) return; } if (HandleFaintedMonActions()) @@ -4008,7 +4008,7 @@ void BattleTurnPassed(void) gChosenMoveByBattler[i] = MOVE_NONE; } - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) *(gBattleStruct->monToSwitchIntoId + i) = PARTY_SIZE; *(&gBattleStruct->field_91) = gAbsentBattlerFlags; diff --git a/src/battle_message.c b/src/battle_message.c index 4f5190dec..13502d6f2 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -2383,25 +2383,25 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = text; break; case B_TXT_LINK_PLAYER_MON1_NAME: // link first player poke name - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18]], + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_OPPONENT_MON1_NAME: // link first opponent poke name - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 1]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_PLAYER_MON2_NAME: // link second player poke name - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case B_TXT_LINK_OPPONENT_MON2_NAME: // link second opponent poke name - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].id ^ 3]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; @@ -2467,7 +2467,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } else { - if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 == gPotentialItemEffectBattler) + if (gLinkPlayers[gBattleScripting.multiplayerId].id == gPotentialItemEffectBattler) { StringCopy(text, gEnigmaBerries[gPotentialItemEffectBattler].name); StringAppend(text, sText_BerrySuffix); @@ -2562,13 +2562,13 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = gLinkPlayers[multiplayerID].name; break; case B_TXT_1F: // link partner name? - toCpy = gLinkPlayers[GetBattlerMultiplayerId(2 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(2 ^ gLinkPlayers[multiplayerID].id)].name; break; case B_TXT_20: // link opponent 1 name? - toCpy = gLinkPlayers[GetBattlerMultiplayerId(1 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(1 ^ gLinkPlayers[multiplayerID].id)].name; break; case B_TXT_21: // link opponent 2 name? - toCpy = gLinkPlayers[GetBattlerMultiplayerId(3 ^ gLinkPlayers[multiplayerID].lp_field_18)].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(3 ^ gLinkPlayers[multiplayerID].id)].name; break; case B_TXT_22: // link scripting active name toCpy = gLinkPlayers[GetBattlerMultiplayerId(gBattleScripting.battler)].name; @@ -2832,7 +2832,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) { if (hword == ITEM_ENIGMA_BERRY) { - if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 == gPotentialItemEffectBattler) + if (gLinkPlayers[gBattleScripting.multiplayerId].id == gPotentialItemEffectBattler) { StringCopy(dst, gEnigmaBerries[gPotentialItemEffectBattler].name); StringAppend(dst, sText_BerrySuffix); diff --git a/src/battle_records.c b/src/battle_records.c index c06005b17..8e9d045cb 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -356,7 +356,7 @@ static void Task_ExitTrainerHillRecords(u8 taskId) { if (!gPaletteFade.active) { - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); Free(sTilemapBuffer); RemoveTrainerHillRecordsWindow(0); FreeAllWindowBuffers(); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3af03a5e0..7f5a4fb48 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1120,9 +1120,9 @@ static void atk01_accuracycheck(void) { u16 move = T2_READ_16(gBattlescriptCurrInstr + 5); - if (move == 0xFFFE || move == 0xFFFF) + if (move == NO_ACC_CALC || move == NO_ACC_CALC_CHECK_LOCK_ON) { - if (gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBattlerTarget].battlerWithSureHit == gBattlerAttacker) + if (gStatuses3[gBattlerTarget] & STATUS3_ALWAYS_HITS && move == NO_ACC_CALC_CHECK_LOCK_ON && gDisableStructs[gBattlerTarget].battlerWithSureHit == gBattlerAttacker) gBattlescriptCurrInstr += 7; else if (gStatuses3[gBattlerTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -4378,22 +4378,22 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po static void atk47_setgraphicalstatchangevalues(void) { u8 value = 0; - switch (gBattleScripting.statChanger & 0xF0) + switch (GET_STAT_BUFF_VALUE2(gBattleScripting.statChanger)) { - case 0x10: // +1 + case SET_STAT_BUFF_VALUE(1): // +1 value = 0xF; break; - case 0x20: // +2 + case SET_STAT_BUFF_VALUE(2): // +2 value = 0x27; break; - case 0x90: // -1 + case SET_STAT_BUFF_VALUE(1) | STAT_BUFF_NEGATIVE: // -1 value = 0x16; break; - case 0xA0: // -2 + case SET_STAT_BUFF_VALUE(2) | STAT_BUFF_NEGATIVE: // -2 value = 0x2E; break; } - gBattleScripting.animArg1 = (gBattleScripting.statChanger & 0xF) + value - 1; + gBattleScripting.animArg1 = GET_STAT_BUFF_ID(gBattleScripting.statChanger) + value - 1; gBattleScripting.animArg2 = 0; gBattlescriptCurrInstr++; } @@ -4479,16 +4479,16 @@ static void atk48_playstatchangeanimation(void) } } - if (gBattlescriptCurrInstr[3] & ATK48_BIT_x4 && changeableStatsCount < 2) + if (gBattlescriptCurrInstr[3] & ATK48_ONLY_MULTIPLE && changeableStatsCount < 2) { gBattlescriptCurrInstr += 4; } - else if (changeableStatsCount != 0 && gBattleScripting.field_1B == 0) + else if (changeableStatsCount != 0 && !gBattleScripting.statAnimPlayed) { BtlController_EmitBattleAnimation(0, B_ANIM_STATS_CHANGE, statAnimId); MarkBattlerForControllerExec(gActiveBattler); - if (gBattlescriptCurrInstr[3] & ATK48_BIT_x4 && changeableStatsCount > 1) - gBattleScripting.field_1B = 1; + if (gBattlescriptCurrInstr[3] & ATK48_ONLY_MULTIPLE && changeableStatsCount > 1) + gBattleScripting.statAnimPlayed = TRUE; gBattlescriptCurrInstr += 4; } else @@ -7230,7 +7230,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) PREPARE_STAT_BUFFER(gBattleTextBuff1, statId) - if ((statValue << 0x18) < 0) // stat decrease + if (statValue <= -1) // Stat decrease. { if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) diff --git a/src/battle_setup.c b/src/battle_setup.c index 46fc7349c..2955a33fc 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -467,7 +467,7 @@ void StartWallyTutorialBattle(void) { CreateMaleMon(&gEnemyParty[0], SPECIES_RALTS, 5); ScriptContext2_Enable(); - gMain.savedCallback = CB2_ReturnToFieldContinueScript; + gMain.savedCallback = CB2_ReturnToFieldContinueScriptPlayMapMusic; gBattleTypeFlags = BATTLE_TYPE_WALLY_TUTORIAL; CreateBattleStartTask(B_TRANSITION_SLICE, 0); } @@ -609,13 +609,13 @@ static void CB2_EndScriptedWildBattle(void) if (IsPlayerDefeated(gBattleOutcome) == TRUE) { if (InBattlePyramid()) - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else SetMainCallback2(CB2_WhiteOut); } else { - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } } @@ -900,7 +900,7 @@ static void CB2_GiveStarter(void) { u16 starterMon; - *GetVarPointer(VAR_FIRST_POKE) = gSpecialVar_Result; + *GetVarPointer(VAR_STARTER_MON) = gSpecialVar_Result; starterMon = GetStarterPokemon(gSpecialVar_Result); ScriptGiveMon(starterMon, 5, 0, 0, 0, 0); ResetTasks(); @@ -932,7 +932,7 @@ static void CB2_StartFirstBattle(void) static void CB2_EndFirstBattle(void) { Overworld_ClearSavedMusic(); - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } static void sub_80B1218(void) @@ -1308,18 +1308,18 @@ static void CB2_EndTrainerBattle(void) { if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) { - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } else if (IsPlayerDefeated(gBattleOutcome) == TRUE) { if (InBattlePyramid() || sub_81D5C18()) - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); else SetMainCallback2(CB2_WhiteOut); } else { - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); if (!InBattlePyramid() && !sub_81D5C18()) { RegisterTrainerInMatchCall(); @@ -1332,7 +1332,7 @@ static void CB2_EndRematchBattle(void) { if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) { - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } else if (IsPlayerDefeated(gBattleOutcome) == TRUE) { @@ -1340,7 +1340,7 @@ static void CB2_EndRematchBattle(void) } else { - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); RegisterTrainerInMatchCall(); SetBattledTrainersFlags(); HandleRematchVarsOnBattleEnd(); diff --git a/src/battle_util.c b/src/battle_util.c index c739c648c..875244d79 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -426,7 +426,7 @@ u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) gPotentialItemEffectBattler = battlerId; - for (i = 0; i < MAX_BATTLERS_COUNT; i++) + for (i = 0; i < 4; i++) { if (gBattleMons[battlerId].moves[i] == 0 && check & MOVE_LIMITATION_ZEROMOVE) unusableMoves |= gBitTable[i]; @@ -490,7 +490,22 @@ u8 GetImprisonedMovesCount(u8 battlerId, u16 move) return imprisionedMoves; } -u8 UpdateTurnCounters(void) +enum +{ + ENDTURN_ORDER, + ENDTURN_REFLECT, + ENDTURN_LIGHT_SCREEN, + ENDTURN_MIST, + ENDTURN_SAFEGUARD, + ENDTURN_WISH, + ENDTURN_RAIN, + ENDTURN_SANDSTORM, + ENDTURN_SUN, + ENDTURN_HAIL, + ENDTURN_FIELD_COUNT, +}; + +u8 DoFieldEndTurnEffects(void) { u8 effect = 0; s32 i; @@ -508,7 +523,7 @@ u8 UpdateTurnCounters(void) switch (gBattleStruct->turnCountersTracker) { - case 0: + case ENDTURN_ORDER: for (i = 0; i < gBattlersCount; i++) { gBattlerByTurnOrder[i] = i; @@ -530,7 +545,7 @@ u8 UpdateTurnCounters(void) gBattleStruct->turnSideTracker = 0; } // fall through - case 1: + case ENDTURN_REFLECT: while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; @@ -555,7 +570,7 @@ u8 UpdateTurnCounters(void) gBattleStruct->turnSideTracker = 0; } break; - case 2: + case ENDTURN_LIGHT_SCREEN: while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; @@ -581,7 +596,7 @@ u8 UpdateTurnCounters(void) gBattleStruct->turnSideTracker = 0; } break; - case 3: + case ENDTURN_MIST: while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; @@ -605,7 +620,7 @@ u8 UpdateTurnCounters(void) gBattleStruct->turnSideTracker = 0; } break; - case 4: + case ENDTURN_SAFEGUARD: while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; @@ -629,7 +644,7 @@ u8 UpdateTurnCounters(void) gBattleStruct->turnSideTracker = 0; } break; - case 5: + case ENDTURN_WISH: while (gBattleStruct->turnSideTracker < gBattlersCount) { gActiveBattler = gBattlerByTurnOrder[gBattleStruct->turnSideTracker]; @@ -650,7 +665,7 @@ u8 UpdateTurnCounters(void) gBattleStruct->turnCountersTracker++; } break; - case 6: + case ENDTURN_RAIN: if (gBattleWeather & WEATHER_RAIN_ANY) { if (!(gBattleWeather & WEATHER_RAIN_PERMANENT)) @@ -680,7 +695,7 @@ u8 UpdateTurnCounters(void) } gBattleStruct->turnCountersTracker++; break; - case 7: + case ENDTURN_SANDSTORM: if (gBattleWeather & WEATHER_SANDSTORM_ANY) { if (!(gBattleWeather & WEATHER_SANDSTORM_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) @@ -700,7 +715,7 @@ u8 UpdateTurnCounters(void) } gBattleStruct->turnCountersTracker++; break; - case 8: + case ENDTURN_SUN: if (gBattleWeather & WEATHER_SUN_ANY) { if (!(gBattleWeather & WEATHER_SUN_PERMANENT) && --gWishFutureKnock.weatherDuration == 0) @@ -718,8 +733,8 @@ u8 UpdateTurnCounters(void) } gBattleStruct->turnCountersTracker++; break; - case 9: - if (gBattleWeather & WEATHER_HAIL) + case ENDTURN_HAIL: + if (gBattleWeather & WEATHER_HAIL_ANY) { if (--gWishFutureKnock.weatherDuration == 0) { @@ -738,7 +753,7 @@ u8 UpdateTurnCounters(void) } gBattleStruct->turnCountersTracker++; break; - case 10: + case ENDTURN_FIELD_COUNT: effect++; break; } @@ -746,14 +761,36 @@ u8 UpdateTurnCounters(void) return (gBattleMainFunc != BattleTurnPassed); } -#define TURNBASED_MAX_CASE 19 +enum +{ + ENDTURN_INGRAIN, + ENDTURN_ABILITIES, + ENDTURN_ITEMS1, + ENDTURN_LEECH_SEED, + ENDTURN_POISON, + ENDTURN_BAD_POISON, + ENDTURN_BURN, + ENDTURN_NIGHTMARES, + ENDTURN_CURSE, + ENDTURN_WRAP, + ENDTURN_UPROAR, + ENDTURN_THRASH, + ENDTURN_DISABLE, + ENDTURN_ENCORE, + ENDTURN_LOCK_ON, + ENDTURN_CHARGE, + ENDTURN_TAUNT, + ENDTURN_YAWN, + ENDTURN_ITEMS2, + ENDTURN_BATTLER_COUNT +}; -u8 TurnBasedEffects(void) +u8 DoBattlerEndTurnEffects(void) { u8 effect = 0; gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) + while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= ENDTURN_BATTLER_COUNT) { gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) @@ -764,7 +801,7 @@ u8 TurnBasedEffects(void) { switch (gBattleStruct->turnEffectsTracker) { - case 0: // ingrain + case ENDTURN_INGRAIN: // ingrain if ((gStatuses3[gActiveBattler] & STATUS3_ROOTED) && gBattleMons[gActiveBattler].hp != gBattleMons[gActiveBattler].maxHP && gBattleMons[gActiveBattler].hp != 0) @@ -778,22 +815,22 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 1: // end turn abilities + case ENDTURN_ABILITIES: // end turn abilities if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBattler, 0, 0, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; - case 2: // item effects + case ENDTURN_ITEMS1: // item effects if (ItemBattleEffects(1, gActiveBattler, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; - case 18: // item effects again + case ENDTURN_ITEMS2: // item effects again if (ItemBattleEffects(1, gActiveBattler, 1)) effect++; gBattleStruct->turnEffectsTracker++; break; - case 3: // leech seed + case ENDTURN_LEECH_SEED: // leech seed if ((gStatuses3[gActiveBattler] & STATUS3_LEECHSEED) && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BATTLER].hp != 0 && gBattleMons[gActiveBattler].hp != 0) @@ -809,7 +846,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 4: // poison + case ENDTURN_POISON: // poison if ((gBattleMons[gActiveBattler].status1 & STATUS1_POISON) && gBattleMons[gActiveBattler].hp != 0) { gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; @@ -820,7 +857,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 5: // toxic poison + case ENDTURN_BAD_POISON: // toxic poison if ((gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON) && gBattleMons[gActiveBattler].hp != 0) { gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; @@ -834,7 +871,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 6: // burn + case ENDTURN_BURN: // burn if ((gBattleMons[gActiveBattler].status1 & STATUS1_BURN) && gBattleMons[gActiveBattler].hp != 0) { gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; @@ -845,7 +882,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 7: // spooky nightmares + case ENDTURN_NIGHTMARES: // spooky nightmares if ((gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBattler].hp != 0) { // R/S does not perform this sleep check, which causes the nightmare effect to @@ -865,7 +902,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 8: // curse + case ENDTURN_CURSE: // curse if ((gBattleMons[gActiveBattler].status2 & STATUS2_CURSED) && gBattleMons[gActiveBattler].hp != 0) { gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; @@ -876,7 +913,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 9: // wrap + case ENDTURN_WRAP: // wrap if ((gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBattler].hp != 0) { gBattleMons[gActiveBattler].status2 -= 0x2000; @@ -909,7 +946,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 10: // uproar + case ENDTURN_UPROAR: // uproar if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount; gBattlerAttacker++) @@ -958,7 +995,7 @@ u8 TurnBasedEffects(void) if (effect != 2) gBattleStruct->turnEffectsTracker++; break; - case 11: // thrash + case ENDTURN_THRASH: // thrash if (gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) { gBattleMons[gActiveBattler].status2 -= 0x400; @@ -980,7 +1017,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 12: // disable + case ENDTURN_DISABLE: // disable if (gDisableStructs[gActiveBattler].disableTimer1 != 0) { s32 i; @@ -1003,7 +1040,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 13: // encore + case ENDTURN_ENCORE: // encore if (gDisableStructs[gActiveBattler].encoreTimer1 != 0) { if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore @@ -1022,22 +1059,22 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 14: // lock-on decrement + case ENDTURN_LOCK_ON: // lock-on decrement if (gStatuses3[gActiveBattler] & STATUS3_ALWAYS_HITS) gStatuses3[gActiveBattler] -= 0x8; gBattleStruct->turnEffectsTracker++; break; - case 15: // charge + case ENDTURN_CHARGE: // charge if (gDisableStructs[gActiveBattler].chargeTimer1 && --gDisableStructs[gActiveBattler].chargeTimer1 == 0) gStatuses3[gActiveBattler] &= ~STATUS3_CHARGED_UP; gBattleStruct->turnEffectsTracker++; break; - case 16: // taunt + case ENDTURN_TAUNT: // taunt if (gDisableStructs[gActiveBattler].tauntTimer1) gDisableStructs[gActiveBattler].tauntTimer1--; gBattleStruct->turnEffectsTracker++; break; - case 17: // yawn + case ENDTURN_YAWN: // yawn if (gStatuses3[gActiveBattler] & STATUS3_YAWN) { gStatuses3[gActiveBattler] -= 0x800; @@ -1056,7 +1093,7 @@ u8 TurnBasedEffects(void) } gBattleStruct->turnEffectsTracker++; break; - case 19: // done + case ENDTURN_BATTLER_COUNT: // done gBattleStruct->turnEffectsTracker = 0; gBattleStruct->turnEffectsBattlerId++; break; @@ -1264,7 +1301,24 @@ void TryClearRageStatuses(void) } } -#define ATKCANCELLER_MAX_CASE 14 +enum +{ + CANCELLER_FLAGS, + CANCELLER_ASLEEP, + CANCELLER_FROZEN, + CANCELLER_TRUANT, + CANCELLER_RECHARGE, + CANCELLER_FLINCH, + CANCELLER_DISABLED, + CANCELLER_TAUNTED, + CANCELLER_IMPRISONED, + CANCELLER_CONFUSED, + CANCELLER_PARALYSED, + CANCELLER_IN_LOVE, + CANCELLER_BIDE, + CANCELLER_THAW, + CANCELLER_END, +}; u8 AtkCanceller_UnableToUseMove(void) { @@ -1274,12 +1328,12 @@ u8 AtkCanceller_UnableToUseMove(void) { switch (gBattleStruct->atkCancellerTracker) { - case 0: // flags clear + case CANCELLER_FLAGS: // flags clear gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_DESTINY_BOND); gStatuses3[gBattlerAttacker] &= ~(STATUS3_GRUDGE); gBattleStruct->atkCancellerTracker++; break; - case 1: // check being asleep + case CANCELLER_ASLEEP: // check being asleep if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) { if (UproarWakeUpCheck(gBattlerAttacker)) @@ -1323,7 +1377,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 2: // check being frozen + case CANCELLER_FROZEN: // check being frozen if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE) { if (Random() % 5) @@ -1350,7 +1404,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 3: // truant + case CANCELLER_TRUANT: // truant if (gBattleMons[gBattlerAttacker].ability == ABILITY_TRUANT && gDisableStructs[gBattlerAttacker].truantCounter) { CancelMultiTurnMoves(gBattlerAttacker); @@ -1362,7 +1416,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 4: // recharge + case CANCELLER_RECHARGE: // recharge if (gBattleMons[gBattlerAttacker].status2 & STATUS2_RECHARGE) { gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_RECHARGE); @@ -1374,7 +1428,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 5: // flinch + case CANCELLER_FLINCH: // flinch if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FLINCHED) { gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_FLINCHED); @@ -1386,7 +1440,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 6: // disabled move + case CANCELLER_DISABLED: // disabled move if (gDisableStructs[gBattlerAttacker].disabledMove == gCurrentMove && gDisableStructs[gBattlerAttacker].disabledMove != 0) { gProtectStructs[gBattlerAttacker].usedDisabledMove = 1; @@ -1398,7 +1452,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 7: // taunt + case CANCELLER_TAUNTED: // taunt if (gDisableStructs[gBattlerAttacker].tauntTimer1 && gBattleMoves[gCurrentMove].power == 0) { gProtectStructs[gBattlerAttacker].usedTauntedMove = 1; @@ -1409,7 +1463,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 8: // imprisoned + case CANCELLER_IMPRISONED: // imprisoned if (GetImprisonedMovesCount(gBattlerAttacker, gCurrentMove)) { gProtectStructs[gBattlerAttacker].usedImprisionedMove = 1; @@ -1420,7 +1474,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 9: // confusion + case CANCELLER_CONFUSED: // confusion if (gBattleMons[gBattlerAttacker].status2 & STATUS2_CONFUSION) { gBattleMons[gBattlerAttacker].status2--; @@ -1450,7 +1504,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 10: // paralysis + case CANCELLER_PARALYSED: // paralysis if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_PARALYSIS) && (Random() % 4) == 0) { gProtectStructs[gBattlerAttacker].prlzImmobility = 1; @@ -1462,7 +1516,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 11: // infatuation + case CANCELLER_IN_LOVE: // infatuation if (gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) { gBattleScripting.battler = CountTrailingZeroBits((gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) >> 0x10); @@ -1482,7 +1536,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 12: // bide + case CANCELLER_BIDE: // bide if (gBattleMons[gBattlerAttacker].status2 & STATUS2_BIDE) { gBattleMons[gBattlerAttacker].status2 -= 0x100; @@ -1512,7 +1566,7 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case 13: // move thawing + case CANCELLER_THAW: // move thawing if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE) { if (gBattleMoves[gCurrentMove].effect == EFFECT_THAW_HIT) @@ -1526,11 +1580,11 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; - case ATKCANCELLER_MAX_CASE: + case CANCELLER_END: break; } - } while (gBattleStruct->atkCancellerTracker != ATKCANCELLER_MAX_CASE && effect == 0); + } while (gBattleStruct->atkCancellerTracker != CANCELLER_END && effect == 0); if (effect == 2) { diff --git a/src/berry_blender.c b/src/berry_blender.c index ed082e14c..257c7233f 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -2687,7 +2687,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) if (gReceivedRemoteLinkPlayers == 0) { FREE_AND_SET_NULL(sBerryBlenderData); - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } break; } @@ -2737,7 +2737,7 @@ static void CB2_HandlePlayerPlayAgainChoice(void) if (sBerryBlenderData->playAgainState == PLAY_AGAIN_OK) SetMainCallback2(DoBerryBlending); else - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); FreeAllWindowBuffers(); UnsetBgTilemapBuffer(2); diff --git a/src/clock.c b/src/clock.c index 71c433ed2..91eb5f16d 100644 --- a/src/clock.c +++ b/src/clock.c @@ -83,11 +83,11 @@ static void UpdatePerMinute(struct Time *localTime) static void ReturnFromStartWallClock(void) { InitTimeBasedEvents(); - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } void StartWallClock(void) { - SetMainCallback2(Cb2_StartWallClock); + SetMainCallback2(CB2_StartWallClock); gMain.savedCallback = ReturnFromStartWallClock; } diff --git a/src/credits.c b/src/credits.c index 168f3e8a3..a88e4b549 100644 --- a/src/credits.c +++ b/src/credits.c @@ -2285,7 +2285,7 @@ static void sub_81772B8(struct Sprite *sprite) static void sub_8177388(void) { - u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_FIRST_POKE))); + u16 starter = SpeciesToNationalPokedexNum(GetStarterPokemon(VarGet(VAR_STARTER_MON))); u16 page; u16 dexNum; u16 j; diff --git a/src/data/heal_locations.h b/src/data/heal_locations.h new file mode 100644 index 000000000..613bcebe8 --- /dev/null +++ b/src/data/heal_locations.h @@ -0,0 +1,25 @@ +static const struct HealLocation sHealLocations[] = +{ + {MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), 4, 2}, + {MAP_GROUP(LITTLEROOT_TOWN_MAYS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_MAYS_HOUSE_2F), 4, 2}, + {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 20, 17}, + {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 19, 20}, + {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 22, 6}, + {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 16, 39}, + {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 5, 7}, + {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 24, 15}, + {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 28, 17}, + {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 43, 32}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 27, 49}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 5, 9}, + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 14, 9}, + {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 6, 17}, + {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 2, 11}, + {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 9, 7}, + {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 14, 8}, + {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 16, 4}, + {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 8, 16}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 18, 6}, + {MAP_GROUP(SOUTHERN_ISLAND_EXTERIOR), MAP_NUM(SOUTHERN_ISLAND_EXTERIOR), 15, 20}, + {MAP_GROUP(BATTLE_FRONTIER_OUTSIDE_EAST), MAP_NUM(BATTLE_FRONTIER_OUTSIDE_EAST), 3, 52}, +}; diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h new file mode 100644 index 000000000..f8830c593 --- /dev/null +++ b/src/data/text/move_descriptions.h @@ -0,0 +1,714 @@ +static const u8 sNullMoveDescription[] = _(""); +static const u8 sPoundMoveDescription[] = _("Pounds the foe with\nforelegs or tail."); +static const u8 sKarateChopMoveDescription[] = _("A chopping attack with a\nhigh critical-hit ratio."); +static const u8 sDoubleSlapMoveDescription[] = _("Repeatedly slaps the foe\n2 to 5 times."); +static const u8 sCometPunchMoveDescription[] = _("Repeatedly punches the foe\n2 to 5 times."); +static const u8 sMegaPunchMoveDescription[] = _("A strong punch thrown with\nincredible power."); +static const u8 sPayDayMoveDescription[] = _("Throws coins at the foe.\nMoney is recovered after."); +static const u8 sFirePunchMoveDescription[] = _("A fiery punch that may burn\nthe foe."); +static const u8 sIcePunchMoveDescription[] = _("An icy punch that may\nfreeze the foe."); +static const u8 sThunderPunchMoveDescription[] = _("An electrified punch that\nmay paralyze the foe."); +static const u8 sScratchMoveDescription[] = _("Scratches the foe with\nsharp claws."); +static const u8 sViceGripMoveDescription[] = _("Grips the foe with large and\npowerful pincers."); +static const u8 sGuillotineMoveDescription[] = _("A powerful pincer attack\nthat may cause fainting."); +static const u8 sRazorWindMoveDescription[] = _("A 2-turn move that strikes\nthe foe on the 2nd turn."); +static const u8 sSwordsDanceMoveDescription[] = _("A fighting dance that\nsharply raises ATTACK."); +static const u8 sCutMoveDescription[] = _("Cuts the foe with sharp\nscythes, claws, etc."); +static const u8 sGustMoveDescription[] = _("Strikes the foe with a gust\nof wind whipped up by wings."); +static const u8 sWingAttackMoveDescription[] = _("Strikes the foe with wings\nspread wide."); +static const u8 sWhirlwindMoveDescription[] = _("Blows away the foe with\nwind and ends the battle."); +static const u8 sFlyMoveDescription[] = _("Flies up on the first turn,\nthen strikes the next turn."); +static const u8 sBindMoveDescription[] = _("Binds and squeezes the foe\nfor 2 to 5 turns."); +static const u8 sSlamMoveDescription[] = _("Slams the foe with a long\ntail, vine, etc."); +static const u8 sVineWhipMoveDescription[] = _("Strikes the foe with\nslender, whiplike vines."); +static const u8 sStompMoveDescription[] = _("Stomps the enemy with a big\nfoot. May cause flinching."); +static const u8 sDoubleKickMoveDescription[] = _("A double-kicking attack\nthat strikes the foe twice."); +static const u8 sMegaKickMoveDescription[] = _("An extremely powerful kick\nwith intense force."); +static const u8 sJumpKickMoveDescription[] = _("A strong jumping kick. May\nmiss and hurt the kicker."); +static const u8 sRollingKickMoveDescription[] = _("A fast kick delivered from\na rapid spin."); +static const u8 sSandAttackMoveDescription[] = _("Reduces the foe’s accuracy\nby hurling sand in its face."); +static const u8 sHeadbuttMoveDescription[] = _("A ramming attack that may\ncause flinching."); +static const u8 sHornAttackMoveDescription[] = _("Jabs the foe with sharp\nhorns."); +static const u8 sFuryAttackMoveDescription[] = _("Jabs the foe 2 to 5 times\nwith sharp horns, etc."); +static const u8 sHornDrillMoveDescription[] = _("A one-hit KO attack that\nuses a horn like a drill."); +static const u8 sTackleMoveDescription[] = _("Charges the foe with a full-\nbody tackle."); +static const u8 sBodySlamMoveDescription[] = _("A full-body slam that may\ncause paralysis."); +static const u8 sWrapMoveDescription[] = _("Wraps and squeezes the foe\n2 to 5 times with vines, etc."); +static const u8 sTakeDownMoveDescription[] = _("A reckless charge attack\nthat also hurts the user."); +static const u8 sThrashMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sDoubleEdgeMoveDescription[] = _("A life-risking tackle that\nalso hurts the user."); +static const u8 sTailWhipMoveDescription[] = _("Wags the tail to lower the\nfoe’s DEFENSE."); +static const u8 sPoisonStingMoveDescription[] = _("A toxic attack with barbs,\netc., that may poison."); +static const u8 sTwineedleMoveDescription[] = _("Stingers on the forelegs\njab the foe twice."); +static const u8 sPinMissileMoveDescription[] = _("Sharp pins are fired to\nstrike 2 to 5 times."); +static const u8 sLeerMoveDescription[] = _("Frightens the foe with a\nleer to lower DEFENSE."); +static const u8 sBiteMoveDescription[] = _("Bites with vicious fangs.\nMay cause flinching."); +static const u8 sGrowlMoveDescription[] = _("Growls cutely to reduce the\nfoe’s ATTACK."); +static const u8 sRoarMoveDescription[] = _("Makes the foe flee to end\nthe battle."); +static const u8 sSingMoveDescription[] = _("A soothing song lulls the\nfoe into a deep slumber."); +static const u8 sSupersonicMoveDescription[] = _("Emits bizarre sound waves\nthat may confuse the foe."); +static const u8 sSonicBoomMoveDescription[] = _("Launches shock waves that\nalways inflict 20 HP damage."); +static const u8 sDisableMoveDescription[] = _("Psychically disables one of\nthe foe’s moves."); +static const u8 sAcidMoveDescription[] = _("Sprays a hide-melting acid.\nMay lower DEFENSE."); +static const u8 sEmberMoveDescription[] = _("A weak fire attack that may\ninflict a burn."); +static const u8 sFlamethrowerMoveDescription[] = _("A powerful fire attack that\nmay inflict a burn."); +static const u8 sMistMoveDescription[] = _("Creates a mist that stops\nreduction of abilities."); +static const u8 sWaterGunMoveDescription[] = _("Squirts water to attack\nthe foe."); +static const u8 sHydroPumpMoveDescription[] = _("Blasts water at high power\nto strike the foe."); +static const u8 sSurfMoveDescription[] = _("Creates a huge wave, then\ncrashes it down on the foe."); +static const u8 sIceBeamMoveDescription[] = _("Blasts the foe with an icy\nbeam that may freeze it."); +static const u8 sBlizzardMoveDescription[] = _("Hits the foe with an icy\nstorm that may freeze it."); +static const u8 sPsybeamMoveDescription[] = _("Fires a peculiar ray that\nmay confuse the foe."); +static const u8 sBubbleBeamMoveDescription[] = _("Forcefully sprays bubbles\nthat may lower SPEED."); +static const u8 sAuroraBeamMoveDescription[] = _("Fires a rainbow-colored\nbeam that may lower ATTACK."); +static const u8 sHyperBeamMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sPeckMoveDescription[] = _("Attacks the foe with a\njabbing beak, etc."); +static const u8 sDrillPeckMoveDescription[] = _("A corkscrewing attack with\nthe beak acting as a drill."); +static const u8 sSubmissionMoveDescription[] = _("A reckless body slam that\nalso hurts the user."); +static const u8 sLowKickMoveDescription[] = _("A kick that inflicts more\ndamage on heavier foes."); +static const u8 sCounterMoveDescription[] = _("Retaliates any physical hit\nwith double the power."); +static const u8 sSeismicTossMoveDescription[] = _("Inflicts damage identical\nto the user’s level."); +static const u8 sStrengthMoveDescription[] = _("Builds enormous power,\nthen slams the foe."); +static const u8 sAbsorbMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted."); +static const u8 sMegaDrainMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted."); +static const u8 sLeechSeedMoveDescription[] = _("Plants a seed on the foe to\nsteal HP on every turn."); +static const u8 sGrowthMoveDescription[] = _("Forces the body to grow\nand heightens SP. ATK."); +static const u8 sRazorLeafMoveDescription[] = _("Cuts the enemy with leaves.\nHigh critical-hit ratio."); +static const u8 sSolarBeamMoveDescription[] = _("Absorbs light in one turn,\nthen attacks next turn."); +static const u8 sPoisonPowderMoveDescription[] = _("Scatters a toxic powder\nthat may poison the foe."); +static const u8 sStunSporeMoveDescription[] = _("Scatters a powder that may\nparalyze the foe."); +static const u8 sSleepPowderMoveDescription[] = _("Scatters a powder that may\ncause the foe to sleep."); +static const u8 sPetalDanceMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sStringShotMoveDescription[] = _("Binds the foe with string\nto reduce its SPEED."); +static const u8 sDragonRageMoveDescription[] = _("Launches shock waves that\nalways inflict 40 HP damage."); +static const u8 sFireSpinMoveDescription[] = _("Traps the foe in a ring of\nfire for 2 to 5 turns."); +static const u8 sThunderShockMoveDescription[] = _("An electrical attack that\nmay paralyze the foe."); +static const u8 sThunderboltMoveDescription[] = _("A strong electrical attack\nthat may paralyze the foe."); +static const u8 sThunderWaveMoveDescription[] = _("A weak jolt of electricity\nthat paralyzes the foe."); +static const u8 sThunderMoveDescription[] = _("A lightning attack that may\ncause paralysis."); +static const u8 sRockThrowMoveDescription[] = _("Throws small rocks to\nstrike the foe."); +static const u8 sEarthquakeMoveDescription[] = _("A powerful quake, but has\nno effect on flying foes."); +static const u8 sFissureMoveDescription[] = _("A one-hit KO move that\ndrops the foe in a fissure."); +static const u8 sDigMoveDescription[] = _("Digs underground the first\nturn and strikes next turn."); +static const u8 sToxicMoveDescription[] = _("Poisons the foe with an\nintensifying toxin."); +static const u8 sConfusionMoveDescription[] = _("A psychic attack that may\ncause confusion."); +static const u8 sPsychicMoveDescription[] = _("A powerful psychic attack\nthat may lower SP. DEF."); +static const u8 sHypnosisMoveDescription[] = _("A hypnotizing move that\nmay induce sleep."); +static const u8 sMeditateMoveDescription[] = _("Meditates in a peaceful\nfashion to raise ATTACK."); +static const u8 sAgilityMoveDescription[] = _("Relaxes the body to sharply\nboost SPEED."); +static const u8 sQuickAttackMoveDescription[] = _("An extremely fast attack\nthat always strikes first."); +static const u8 sRageMoveDescription[] = _("Raises the user’s ATTACK\nevery time it is hit."); +static const u8 sTeleportMoveDescription[] = _("A psychic move for fleeing\nfrom battle instantly."); +static const u8 sNightShadeMoveDescription[] = _("Inflicts damage identical\nto the user’s level."); +static const u8 sMimicMoveDescription[] = _("Copies a move used by the\nfoe during one battle."); +static const u8 sScreechMoveDescription[] = _("Emits a screech to sharply\nreduce the foe’s DEFENSE."); +static const u8 sDoubleTeamMoveDescription[] = _("Creates illusory copies to\nraise evasiveness."); +static const u8 sRecoverMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sHardenMoveDescription[] = _("Stiffens the body’s \nmuscles to raise DEFENSE."); +static const u8 sMinimizeMoveDescription[] = _("Minimizes the user’s size\nto raise evasiveness."); +static const u8 sSmokescreenMoveDescription[] = _("Lowers the foe’s accuracy\nusing smoke, ink, etc."); +static const u8 sConfuseRayMoveDescription[] = _("A sinister ray that\nconfuses the foe."); +static const u8 sWithdrawMoveDescription[] = _("Withdraws the body into its\nhard shell to raise DEFENSE."); +static const u8 sDefenseCurlMoveDescription[] = _("Curls up to conceal weak\nspots and raise DEFENSE."); +static const u8 sBarrierMoveDescription[] = _("Creates a barrier that\nsharply raises DEFENSE."); +static const u8 sLightScreenMoveDescription[] = _("Creates a wall of light that\nlowers SP. ATK damage."); +static const u8 sHazeMoveDescription[] = _("Creates a black haze that\neliminates all stat changes."); +static const u8 sReflectMoveDescription[] = _("Creates a wall of light that\nweakens physical attacks."); +static const u8 sFocusEnergyMoveDescription[] = _("Focuses power to raise the\ncritical-hit ratio."); +static const u8 sBideMoveDescription[] = _("Endures attack for 2\nturns to retaliate double."); +static const u8 sMetronomeMoveDescription[] = _("Waggles a finger to use any\nPOKéMON move at random."); +static const u8 sMirrorMoveMoveDescription[] = _("Counters the foe’s attack\nwith the same move."); +static const u8 sSelfDestructMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint."); +static const u8 sEggBombMoveDescription[] = _("An egg is forcibly hurled at\nthe foe."); +static const u8 sLickMoveDescription[] = _("Licks with a long tongue to\ninjure. May also paralyze."); +static const u8 sSmogMoveDescription[] = _("An exhaust-gas attack\nthat may also poison."); +static const u8 sSludgeMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison."); +static const u8 sBoneClubMoveDescription[] = _("Clubs the foe with a bone.\nMay cause flinching."); +static const u8 sFireBlastMoveDescription[] = _("Incinerates everything it\nstrikes. May cause a burn."); +static const u8 sWaterfallMoveDescription[] = _("Charges the foe with speed\nto climb waterfalls."); +static const u8 sClampMoveDescription[] = _("Traps and squeezes the\nfoe for 2 to 5 turns."); +static const u8 sSwiftMoveDescription[] = _("Sprays star-shaped rays\nthat never miss."); +static const u8 sSkullBashMoveDescription[] = _("Tucks in the head, then\nattacks on the next turn."); +static const u8 sSpikeCannonMoveDescription[] = _("Launches sharp spikes that\nstrike 2 to 5 times."); +static const u8 sConstrictMoveDescription[] = _("Constricts to inflict pain.\nMay lower SPEED."); +static const u8 sAmnesiaMoveDescription[] = _("Forgets about something\nand sharply raises SP. DEF."); +static const u8 sKinesisMoveDescription[] = _("Distracts the foe.\nMay lower accuracy."); +static const u8 sSoftBoiledMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sHiJumpKickMoveDescription[] = _("A jumping knee kick. If it\nmisses, the user is hurt."); +static const u8 sGlareMoveDescription[] = _("Intimidates and frightens\nthe foe into paralysis."); +static const u8 sDreamEaterMoveDescription[] = _("Takes one half the damage\ninflicted on a sleeping foe."); +static const u8 sPoisonGasMoveDescription[] = _("Envelops the foe in a toxic\ngas that may poison."); +static const u8 sBarrageMoveDescription[] = _("Hurls round objects at the\nfoe 2 to 5 times."); +static const u8 sLeechLifeMoveDescription[] = _("An attack that steals half\nthe damage inflicted."); +static const u8 sLovelyKissMoveDescription[] = _("Demands a kiss with a scary\nface that induces sleep."); +static const u8 sSkyAttackMoveDescription[] = _("Searches out weak spots,\nthen strikes the next turn."); +static const u8 sTransformMoveDescription[] = _("Alters the user’s cells to\nbecome a copy of the foe."); +static const u8 sBubbleMoveDescription[] = _("An attack using bubbles.\nMay lower the foe’s SPEED."); +static const u8 sDizzyPunchMoveDescription[] = _("A rhythmic punch that may\nconfuse the foe."); +static const u8 sSporeMoveDescription[] = _("Scatters a cloud of spores\nthat always induce sleep."); +static const u8 sFlashMoveDescription[] = _("Looses a powerful blast of\nlight that cuts accuracy."); +static const u8 sPsywaveMoveDescription[] = _("Attacks with a psychic\nwave of varying intensity."); +static const u8 sSplashMoveDescription[] = _("It’s just a splash...\nHas no effect whatsoever."); +static const u8 sAcidArmorMoveDescription[] = _("Liquifies the user’s body\nto sharply raise DEFENSE."); +static const u8 sCrabhammerMoveDescription[] = _("Hammers with a pincer. Has a\nhigh critical-hit ratio."); +static const u8 sExplosionMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint."); +static const u8 sFurySwipesMoveDescription[] = _("Rakes the foe with sharp\nclaws, etc., 2 to 5 times."); +static const u8 sBonemerangMoveDescription[] = _("Throws a bone boomerang\nthat strikes twice."); +static const u8 sRestMoveDescription[] = _("The user sleeps for 2 turns,\nrestoring HP and status."); +static const u8 sRockSlideMoveDescription[] = _("Large boulders are hurled.\nMay cause flinching."); +static const u8 sHyperFangMoveDescription[] = _("Attacks with sharp fangs.\nMay cause flinching."); +static const u8 sSharpenMoveDescription[] = _("Reduces the polygon count\nand raises ATTACK."); +static const u8 sConversionMoveDescription[] = _("Changes the user’s type\ninto a known move’s type."); +static const u8 sTriAttackMoveDescription[] = _("Fires three types of beams\nat the same time."); +static const u8 sSuperFangMoveDescription[] = _("Attacks with sharp fangs\nand cuts half the foe’s HP."); +static const u8 sSlashMoveDescription[] = _("Slashes with claws, etc. Has\na high critical-hit ratio."); +static const u8 sSubstituteMoveDescription[] = _("Creates a decoy using 1/4\nof the user’s maximum HP."); +static const u8 sStruggleMoveDescription[] = _("Used only if all PP are gone.\nAlso hurts the user a little."); +static const u8 sSketchMoveDescription[] = _("Copies the foe’s last move\npermanently."); +static const u8 sTripleKickMoveDescription[] = _("Kicks the foe 3 times in a\nrow with rising intensity."); +static const u8 sThiefMoveDescription[] = _("While attacking, it may\nsteal the foe’s held item."); +static const u8 sSpiderWebMoveDescription[] = _("Ensnares the foe to stop it\nfrom fleeing or switching."); +static const u8 sMindReaderMoveDescription[] = _("Senses the foe’s action to\nensure the next move’s hit."); +static const u8 sNightmareMoveDescription[] = _("Inflicts 1/4 damage on a\nsleeping foe every turn."); +static const u8 sFlameWheelMoveDescription[] = _("A fiery charge attack that\nmay inflict a burn."); +static const u8 sSnoreMoveDescription[] = _("A loud attack that can be\nused only while asleep."); +static const u8 sCurseMoveDescription[] = _("A move that functions\ndifferently for GHOSTS."); +static const u8 sFlailMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down."); +static const u8 sConversion2MoveDescription[] = _("Makes the user resistant\nto the last attack’s type."); +static const u8 sAeroblastMoveDescription[] = _("Launches a vacuumed blast.\nHigh critical-hit ratio."); +static const u8 sCottonSporeMoveDescription[] = _("Spores cling to the foe,\nsharply reducing SPEED."); +static const u8 sReversalMoveDescription[] = _("Inflicts more damage when\nthe user’s HP is down."); +static const u8 sSpiteMoveDescription[] = _("Spitefully cuts the PP\nof the foe’s last move."); +static const u8 sPowderSnowMoveDescription[] = _("Blasts the foe with a snowy\ngust. May cause freezing."); +static const u8 sProtectMoveDescription[] = _("Evades attack, but may fail\nif used in succession."); +static const u8 sMachPunchMoveDescription[] = _("A punch is thrown at wicked\nspeed to strike first."); +static const u8 sScaryFaceMoveDescription[] = _("Frightens with a scary face\nto sharply reduce SPEED."); +static const u8 sFaintAttackMoveDescription[] = _("Draws the foe close, then\nstrikes without fail."); +static const u8 sSweetKissMoveDescription[] = _("Demands a kiss with a cute\nlook. May cause confusion."); +static const u8 sBellyDrumMoveDescription[] = _("Maximizes ATTACK while\nsacrificing HP."); +static const u8 sSludgeBombMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison."); +static const u8 sMudSlapMoveDescription[] = _("Hurls mud in the foe’s face\nto reduce its accuracy."); +static const u8 sOctazookaMoveDescription[] = _("Fires a lump of ink to\ndamage and cut accuracy."); +static const u8 sSpikesMoveDescription[] = _("Sets spikes that hurt a \nfoe switching in."); +static const u8 sZapCannonMoveDescription[] = _("Powerful and sure to cause\nparalysis, but inaccurate."); +static const u8 sForesightMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness."); +static const u8 sDestinyBondMoveDescription[] = _("If the user faints, the foe\nis also made to faint."); +static const u8 sPerishSongMoveDescription[] = _("Any POKéMON hearing this\nsong faints in 3 turns."); +static const u8 sIcyWindMoveDescription[] = _("A chilling attack that\nlowers the foe’s SPEED."); +static const u8 sDetectMoveDescription[] = _("Evades attack, but may fail\nif used in succession."); +static const u8 sBoneRushMoveDescription[] = _("Strikes the foe with a bone\nin hand 2 to 5 times."); +static const u8 sLockOnMoveDescription[] = _("Locks on to the foe to\nensure the next move hits."); +static const u8 sOutrageMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user."); +static const u8 sSandstormMoveDescription[] = _("Causes a sandstorm that\nrages for several turns."); +static const u8 sGigaDrainMoveDescription[] = _("An attack that steals half\nthe damage inflicted."); +static const u8 sEndureMoveDescription[] = _("Endures any attack for\n1 turn, leaving at least 1HP."); +static const u8 sCharmMoveDescription[] = _("Charms the foe and sharply\nreduces its ATTACK."); +static const u8 sRolloutMoveDescription[] = _("An attack lasting 5 turns\nwith rising intensity."); +static const u8 sFalseSwipeMoveDescription[] = _("An attack that leaves the\nfoe with at least 1 HP."); +static const u8 sSwaggerMoveDescription[] = _("Confuses the foe, but also\nsharply raises ATTACK."); +static const u8 sMilkDrinkMoveDescription[] = _("Recovers up to half the\nuser’s maximum HP."); +static const u8 sSparkMoveDescription[] = _("An electrified tackle that\nmay paralyze the foe."); +static const u8 sFuryCutterMoveDescription[] = _("An attack that intensifies\non each successive hit."); +static const u8 sSteelWingMoveDescription[] = _("Strikes the foe with hard\nwings spread wide."); +static const u8 sMeanLookMoveDescription[] = _("Fixes the foe with a mean\nlook that prevents escape."); +static const u8 sAttractMoveDescription[] = _("Makes the opposite gender\nless likely to attack."); +static const u8 sSleepTalkMoveDescription[] = _("Uses an available move\nrandomly while asleep."); +static const u8 sHealBellMoveDescription[] = _("Chimes soothingly to heal\nall status abnormalities."); +static const u8 sReturnMoveDescription[] = _("An attack that increases\nin power with friendship."); +static const u8 sPresentMoveDescription[] = _("A gift in the form of a\nbomb. May restore HP."); +static const u8 sFrustrationMoveDescription[] = _("An attack that is stronger\nif the TRAINER is disliked."); +static const u8 sSafeguardMoveDescription[] = _("A mystical force prevents\nall status problems."); +static const u8 sPainSplitMoveDescription[] = _("Adds the user and foe’s HP,\nthen shares them equally."); +static const u8 sSacredFireMoveDescription[] = _("A mystical fire attack that\nmay inflict a burn."); +static const u8 sMagnitudeMoveDescription[] = _("A ground-shaking attack\nof random intensity."); +static const u8 sDynamicPunchMoveDescription[] = _("Powerful and sure to cause\nconfusion, but inaccurate."); +static const u8 sMegahornMoveDescription[] = _("A brutal ramming attack\nusing out-thrust horns."); +static const u8 sDragonBreathMoveDescription[] = _("Strikes the foe with an\nincredible blast of breath."); +static const u8 sBatonPassMoveDescription[] = _("Switches out the user while\nkeeping effects in play."); +static const u8 sEncoreMoveDescription[] = _("Makes the foe repeat its\nlast move over 2 to 6 turns."); +static const u8 sPursuitMoveDescription[] = _("Inflicts bad damage if used\non a foe switching out."); +static const u8 sRapidSpinMoveDescription[] = _("Spins the body at high\nspeed to strike the foe."); +static const u8 sSweetScentMoveDescription[] = _("Allures the foe to reduce\nevasiveness."); +static const u8 sIronTailMoveDescription[] = _("Attacks with a rock-hard\ntail. May lower DEFENSE."); +static const u8 sMetalClawMoveDescription[] = _("A claw attack that may\nraise the user’s ATTACK."); +static const u8 sVitalThrowMoveDescription[] = _("Makes the user’s move last,\nbut it never misses."); +static const u8 sMorningSunMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sSynthesisMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sMoonlightMoveDescription[] = _("Restores HP. The amount\nvaries with the weather."); +static const u8 sHiddenPowerMoveDescription[] = _("The effectiveness varies\nwith the user."); +static const u8 sCrossChopMoveDescription[] = _("A double-chopping attack.\nHigh critical-hit ratio."); +static const u8 sTwisterMoveDescription[] = _("Whips up a vicious twister\nto tear at the foe."); +static const u8 sRainDanceMoveDescription[] = _("Boosts the power of WATER-\ntype moves for 5 turns."); +static const u8 sSunnyDayMoveDescription[] = _("Boosts the power of FIRE-\ntype moves for 5 turns."); +static const u8 sCrunchMoveDescription[] = _("Crunches with sharp fangs.\nMay lower SP. DEF."); +static const u8 sMirrorCoatMoveDescription[] = _("Counters the foe’s special\nattack at double the power."); +static const u8 sPsychUpMoveDescription[] = _("Copies the foe’s effect(s)\nand gives to the user."); +static const u8 sExtremeSpeedMoveDescription[] = _("An extremely fast and\npowerful attack."); +static const u8 sAncientPowerMoveDescription[] = _("An attack that may raise\nall stats."); +static const u8 sShadowBallMoveDescription[] = _("Hurls a black blob that may\nlower the foe’s SP. DEF."); +static const u8 sFutureSightMoveDescription[] = _("Heightens inner power to\nstrike 2 turns later."); +static const u8 sRockSmashMoveDescription[] = _("A rock-crushing attack\nthat may lower DEFENSE."); +static const u8 sWhirlpoolMoveDescription[] = _("Traps and hurts the foe in\na whirlpool for 2 to 5 turns."); +static const u8 sBeatUpMoveDescription[] = _("Summons party POKéMON to\njoin in the attack."); +static const u8 sFakeOutMoveDescription[] = _("A 1st-turn, 1st-strike move\nthat causes flinching."); +static const u8 sUproarMoveDescription[] = _("Causes an uproar for 2 to 5\nturns and prevents sleep."); +static const u8 sStockpileMoveDescription[] = _("Charges up power for up to\n3 turns."); +static const u8 sSpitUpMoveDescription[] = _("Releases stockpiled power\n(the more the better)."); +static const u8 sSwallowMoveDescription[] = _("Absorbs stockpiled power\nand restores HP."); +static const u8 sHeatWaveMoveDescription[] = _("Exhales a hot breath on the\nfoe. May inflict a burn."); +static const u8 sHailMoveDescription[] = _("Summons a hailstorm that\nstrikes every turn."); +static const u8 sTormentMoveDescription[] = _("Torments the foe and stops\nsuccessive use of a move."); +static const u8 sFlatterMoveDescription[] = _("Confuses the foe, but\nraises its SP. ATK."); +static const u8 sWillOWispMoveDescription[] = _("Inflicts a burn on the foe\nwith intense fire."); +static const u8 sMementoMoveDescription[] = _("The user faints and lowers\nthe foe’s abilities."); +static const u8 sFacadeMoveDescription[] = _("Boosts ATTACK when burned,\nparalyzed, or poisoned."); +static const u8 sFocusPunchMoveDescription[] = _("A powerful loyalty attack.\nThe user flinches if hit."); +static const u8 sSmellingSaltMoveDescription[] = _("Powerful against paralyzed\nfoes, but also heals them."); +static const u8 sFollowMeMoveDescription[] = _("Draws attention to make\nfoes attack only the user."); +static const u8 sNaturePowerMoveDescription[] = _("The type of attack varies\ndepending on the location."); +static const u8 sChargeMoveDescription[] = _("Charges power to boost the\nelectric move used next."); +static const u8 sTauntMoveDescription[] = _("Taunts the foe into only\nusing attack moves."); +static const u8 sHelpingHandMoveDescription[] = _("Boosts the power of the\nrecipient’s moves."); +static const u8 sTrickMoveDescription[] = _("Tricks the foe into trading\nheld items."); +static const u8 sRolePlayMoveDescription[] = _("Mimics the target and\ncopies its special ability."); +static const u8 sWishMoveDescription[] = _("A wish that restores HP.\nIt takes time to work."); +static const u8 sAssistMoveDescription[] = _("Attacks randomly with one\nof the partner’s moves."); +static const u8 sIngrainMoveDescription[] = _("Lays roots that restore HP.\nThe user can’t switch out."); +static const u8 sSuperpowerMoveDescription[] = _("Boosts strength sharply,\nbut lowers abilities."); +static const u8 sMagicCoatMoveDescription[] = _("Reflects special effects\nback to the attacker."); +static const u8 sRecycleMoveDescription[] = _("Recycles a used item for\none more use."); +static const u8 sRevengeMoveDescription[] = _("An attack that gains power\nif injured by the foe."); +static const u8 sBrickBreakMoveDescription[] = _("Destroys barriers such as\nREFLECT and causes damage."); +static const u8 sYawnMoveDescription[] = _("Lulls the foe into yawning,\nthen sleeping next turn."); +static const u8 sKnockOffMoveDescription[] = _("Knocks down the foe’s held\nitem to prevent its use."); +static const u8 sEndeavorMoveDescription[] = _("Gains power if the user’s HP\nis lower than the foe’s HP."); +static const u8 sEruptionMoveDescription[] = _("The higher the user’s HP,\nthe more damage caused."); +static const u8 sSkillSwapMoveDescription[] = _("The user swaps special\nabilities with the target."); +static const u8 sImprisonMoveDescription[] = _("Prevents foes from using\nmoves known by the user."); +static const u8 sRefreshMoveDescription[] = _("Heals poisoning, paralysis,\nor a burn."); +static const u8 sGrudgeMoveDescription[] = _("If the user faints, deletes\nall PP of foe’s last move."); +static const u8 sSnatchMoveDescription[] = _("Steals the effects of the\nmove the target uses next."); +static const u8 sSecretPowerMoveDescription[] = _("An attack with effects\nthat vary by location."); +static const u8 sDiveMoveDescription[] = _("Dives underwater the first\nturn and strikes next turn."); +static const u8 sArmThrustMoveDescription[] = _("Straight-arm punches that\nstrike the foe 2 to 5 times."); +static const u8 sCamouflageMoveDescription[] = _("Alters the POKéMON’s type\ndepending on the location."); +static const u8 sTailGlowMoveDescription[] = _("Flashes a light that sharply\nraises SP. ATK."); +static const u8 sLusterPurgeMoveDescription[] = _("Attacks with a burst of\nlight. May lower SP. DEF."); +static const u8 sMistBallMoveDescription[] = _("Attacks with a flurry of\ndown. May lower SP. ATK."); +static const u8 sFeatherDanceMoveDescription[] = _("Envelops the foe with down\nto sharply reduce ATTACK."); +static const u8 sTeeterDanceMoveDescription[] = _("Confuses all POKéMON on\nthe scene."); +static const u8 sBlazeKickMoveDescription[] = _("A kick with a high critical-\nhit ratio. May cause a burn."); +static const u8 sMudSportMoveDescription[] = _("Covers the user in mud to\nraise electrical resistance."); +static const u8 sIceBallMoveDescription[] = _("A 5-turn attack that gains\npower on successive hits."); +static const u8 sNeedleArmMoveDescription[] = _("Attacks with thorny arms.\nMay cause flinching."); +static const u8 sSlackOffMoveDescription[] = _("Slacks off and restores\nhalf the maximum HP."); +static const u8 sHyperVoiceMoveDescription[] = _("A loud attack that uses\nsound waves to injure."); +static const u8 sPoisonFangMoveDescription[] = _("A sharp-fanged attack.\nMay badly poison the foe."); +static const u8 sCrushClawMoveDescription[] = _("Tears at the foe with sharp\nclaws. May lower DEFENSE."); +static const u8 sBlastBurnMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sHydroCannonMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sMeteorMashMoveDescription[] = _("Fires a meteor-like punch.\nMay raise ATTACK."); +static const u8 sAstonishMoveDescription[] = _("An attack that may shock\nthe foe into flinching."); +static const u8 sWeatherBallMoveDescription[] = _("The move’s type and power\nchange with the weather."); +static const u8 sAromatherapyMoveDescription[] = _("Heals all status problems\nwith a soothing scent."); +static const u8 sFakeTearsMoveDescription[] = _("Feigns crying to sharply\nlower the foe’s SP. DEF."); +static const u8 sAirCutterMoveDescription[] = _("Hacks with razorlike wind.\nHigh critical-hit ratio."); +static const u8 sOverheatMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK."); +static const u8 sOdorSleuthMoveDescription[] = _("Negates the foe’s efforts\nto heighten evasiveness."); +static const u8 sRockTombMoveDescription[] = _("Stops the foe from moving\nwith rocks and cuts SPEED."); +static const u8 sSilverWindMoveDescription[] = _("A powdery attack that may\nraise abilities."); +static const u8 sMetalSoundMoveDescription[] = _("Emits a horrible screech\nthat sharply lowers SP. DEF."); +static const u8 sGrassWhistleMoveDescription[] = _("Lulls the foe into sleep\nwith a pleasant melody."); +static const u8 sTickleMoveDescription[] = _("Makes the foe laugh to\nlower ATTACK and DEFENSE."); +static const u8 sCosmicPowerMoveDescription[] = _("Raises DEFENSE and SP. DEF\nwith a mystic power."); +static const u8 sWaterSpoutMoveDescription[] = _("Inflicts more damage if the\nuser’s HP is high."); +static const u8 sSignalBeamMoveDescription[] = _("A strange beam attack that\nmay confuse the foe."); +static const u8 sShadowPunchMoveDescription[] = _("An unavoidable punch that\nis thrown from shadows."); +static const u8 sExtrasensoryMoveDescription[] = _("Attacks with a peculiar\npower. May cause flinching."); +static const u8 sSkyUppercutMoveDescription[] = _("An uppercut thrown as if\nleaping into the sky."); +static const u8 sSandTombMoveDescription[] = _("Traps and hurts the foe in\nquicksand for 2 to 5 turns."); +static const u8 sSheerColdMoveDescription[] = _("A chilling attack that\ncauses fainting if it hits."); +static const u8 sMuddyWaterMoveDescription[] = _("Attacks with muddy water.\nMay lower accuracy."); +static const u8 sBulletSeedMoveDescription[] = _("Shoots 2 to 5 seeds in a row\nto strike the foe."); +static const u8 sAerialAceMoveDescription[] = _("An extremely speedy and\nunavoidable attack."); +static const u8 sIcicleSpearMoveDescription[] = _("Attacks the foe by firing\n2 to 5 icicles in a row."); +static const u8 sIronDefenseMoveDescription[] = _("Hardens the body’s surface\nto sharply raise DEFENSE."); +static const u8 sBlockMoveDescription[] = _("Blocks the foe’s way to\nprevent escape."); +static const u8 sHowlMoveDescription[] = _("Howls to raise the spirit\nand boosts ATTACK."); +static const u8 sDragonClawMoveDescription[] = _("Slashes the foe with sharp\nclaws."); +static const u8 sFrenzyPlantMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn."); +static const u8 sBulkUpMoveDescription[] = _("Bulks up the body to boost\nboth ATTACK and DEFENSE."); +static const u8 sBounceMoveDescription[] = _("Bounces up, then down the\nnext turn. May paralyze."); +static const u8 sMudShotMoveDescription[] = _("Hurls mud at the foe and\nreduces SPEED."); +static const u8 sPoisonTailMoveDescription[] = _("Has a high critical-hit\nratio. May also poison."); +static const u8 sCovetMoveDescription[] = _("Cutely begs to obtain an\nitem held by the foe."); +static const u8 sVoltTackleMoveDescription[] = _("A life-risking tackle that\nslightly hurts the user."); +static const u8 sMagicalLeafMoveDescription[] = _("Attacks with a strange leaf\nthat cannot be evaded."); +static const u8 sWaterSportMoveDescription[] = _("The user becomes soaked to\nraise resistance to fire."); +static const u8 sCalmMindMoveDescription[] = _("Raises SP. ATK and SP. DEF\nby focusing the mind."); +static const u8 sLeafBladeMoveDescription[] = _("Slashes with a sharp leaf.\nHigh critical-hit ratio."); +static const u8 sDragonDanceMoveDescription[] = _("A mystical dance that ups\nATTACK and SPEED."); +static const u8 sRockBlastMoveDescription[] = _("Hurls boulders at the foe\n2 to 5 times in a row."); +static const u8 sShockWaveMoveDescription[] = _("A fast and unavoidable\nelectric attack."); +static const u8 sWaterPulseMoveDescription[] = _("Attacks with ultrasonic\nwaves. May confuse the foe."); +static const u8 sDoomDesireMoveDescription[] = _("Summons strong sunlight to\nattack 2 turns later."); +static const u8 sPsychoBoostMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK."); + +// MOVE_NONE is ignored in this table. Make sure to always subtract 1 before getting the right pointer. +const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = +{ + [MOVE_POUND - 1] = sPoundMoveDescription, + [MOVE_KARATE_CHOP - 1] = sKarateChopMoveDescription, + [MOVE_DOUBLE_SLAP - 1] = sDoubleSlapMoveDescription, + [MOVE_COMET_PUNCH - 1] = sCometPunchMoveDescription, + [MOVE_MEGA_PUNCH - 1] = sMegaPunchMoveDescription, + [MOVE_PAY_DAY - 1] = sPayDayMoveDescription, + [MOVE_FIRE_PUNCH - 1] = sFirePunchMoveDescription, + [MOVE_ICE_PUNCH - 1] = sIcePunchMoveDescription, + [MOVE_THUNDER_PUNCH - 1] = sThunderPunchMoveDescription, + [MOVE_SCRATCH - 1] = sScratchMoveDescription, + [MOVE_VICE_GRIP - 1] = sViceGripMoveDescription, + [MOVE_GUILLOTINE - 1] = sGuillotineMoveDescription, + [MOVE_RAZOR_WIND - 1] = sRazorWindMoveDescription, + [MOVE_SWORDS_DANCE - 1] = sSwordsDanceMoveDescription, + [MOVE_CUT - 1] = sCutMoveDescription, + [MOVE_GUST - 1] = sGustMoveDescription, + [MOVE_WING_ATTACK - 1] = sWingAttackMoveDescription, + [MOVE_WHIRLWIND - 1] = sWhirlwindMoveDescription, + [MOVE_FLY - 1] = sFlyMoveDescription, + [MOVE_BIND - 1] = sBindMoveDescription, + [MOVE_SLAM - 1] = sSlamMoveDescription, + [MOVE_VINE_WHIP - 1] = sVineWhipMoveDescription, + [MOVE_STOMP - 1] = sStompMoveDescription, + [MOVE_DOUBLE_KICK - 1] = sDoubleKickMoveDescription, + [MOVE_MEGA_KICK - 1] = sMegaKickMoveDescription, + [MOVE_JUMP_KICK - 1] = sJumpKickMoveDescription, + [MOVE_ROLLING_KICK - 1] = sRollingKickMoveDescription, + [MOVE_SAND_ATTACK - 1] = sSandAttackMoveDescription, + [MOVE_HEADBUTT - 1] = sHeadbuttMoveDescription, + [MOVE_HORN_ATTACK - 1] = sHornAttackMoveDescription, + [MOVE_FURY_ATTACK - 1] = sFuryAttackMoveDescription, + [MOVE_HORN_DRILL - 1] = sHornDrillMoveDescription, + [MOVE_TACKLE - 1] = sTackleMoveDescription, + [MOVE_BODY_SLAM - 1] = sBodySlamMoveDescription, + [MOVE_WRAP - 1] = sWrapMoveDescription, + [MOVE_TAKE_DOWN - 1] = sTakeDownMoveDescription, + [MOVE_THRASH - 1] = sThrashMoveDescription, + [MOVE_DOUBLE_EDGE - 1] = sDoubleEdgeMoveDescription, + [MOVE_TAIL_WHIP - 1] = sTailWhipMoveDescription, + [MOVE_POISON_STING - 1] = sPoisonStingMoveDescription, + [MOVE_TWINEEDLE - 1] = sTwineedleMoveDescription, + [MOVE_PIN_MISSILE - 1] = sPinMissileMoveDescription, + [MOVE_LEER - 1] = sLeerMoveDescription, + [MOVE_BITE - 1] = sBiteMoveDescription, + [MOVE_GROWL - 1] = sGrowlMoveDescription, + [MOVE_ROAR - 1] = sRoarMoveDescription, + [MOVE_SING - 1] = sSingMoveDescription, + [MOVE_SUPERSONIC - 1] = sSupersonicMoveDescription, + [MOVE_SONIC_BOOM - 1] = sSonicBoomMoveDescription, + [MOVE_DISABLE - 1] = sDisableMoveDescription, + [MOVE_ACID - 1] = sAcidMoveDescription, + [MOVE_EMBER - 1] = sEmberMoveDescription, + [MOVE_FLAMETHROWER - 1] = sFlamethrowerMoveDescription, + [MOVE_MIST - 1] = sMistMoveDescription, + [MOVE_WATER_GUN - 1] = sWaterGunMoveDescription, + [MOVE_HYDRO_PUMP - 1] = sHydroPumpMoveDescription, + [MOVE_SURF - 1] = sSurfMoveDescription, + [MOVE_ICE_BEAM - 1] = sIceBeamMoveDescription, + [MOVE_BLIZZARD - 1] = sBlizzardMoveDescription, + [MOVE_PSYBEAM - 1] = sPsybeamMoveDescription, + [MOVE_BUBBLE_BEAM - 1] = sBubbleBeamMoveDescription, + [MOVE_AURORA_BEAM - 1] = sAuroraBeamMoveDescription, + [MOVE_HYPER_BEAM - 1] = sHyperBeamMoveDescription, + [MOVE_PECK - 1] = sPeckMoveDescription, + [MOVE_DRILL_PECK - 1] = sDrillPeckMoveDescription, + [MOVE_SUBMISSION - 1] = sSubmissionMoveDescription, + [MOVE_LOW_KICK - 1] = sLowKickMoveDescription, + [MOVE_COUNTER - 1] = sCounterMoveDescription, + [MOVE_SEISMIC_TOSS - 1] = sSeismicTossMoveDescription, + [MOVE_STRENGTH - 1] = sStrengthMoveDescription, + [MOVE_ABSORB - 1] = sAbsorbMoveDescription, + [MOVE_MEGA_DRAIN - 1] = sMegaDrainMoveDescription, + [MOVE_LEECH_SEED - 1] = sLeechSeedMoveDescription, + [MOVE_GROWTH - 1] = sGrowthMoveDescription, + [MOVE_RAZOR_LEAF - 1] = sRazorLeafMoveDescription, + [MOVE_SOLAR_BEAM - 1] = sSolarBeamMoveDescription, + [MOVE_POISON_POWDER - 1] = sPoisonPowderMoveDescription, + [MOVE_STUN_SPORE - 1] = sStunSporeMoveDescription, + [MOVE_SLEEP_POWDER - 1] = sSleepPowderMoveDescription, + [MOVE_PETAL_DANCE - 1] = sPetalDanceMoveDescription, + [MOVE_STRING_SHOT - 1] = sStringShotMoveDescription, + [MOVE_DRAGON_RAGE - 1] = sDragonRageMoveDescription, + [MOVE_FIRE_SPIN - 1] = sFireSpinMoveDescription, + [MOVE_THUNDER_SHOCK - 1] = sThunderShockMoveDescription, + [MOVE_THUNDERBOLT - 1] = sThunderboltMoveDescription, + [MOVE_THUNDER_WAVE - 1] = sThunderWaveMoveDescription, + [MOVE_THUNDER - 1] = sThunderMoveDescription, + [MOVE_ROCK_THROW - 1] = sRockThrowMoveDescription, + [MOVE_EARTHQUAKE - 1] = sEarthquakeMoveDescription, + [MOVE_FISSURE - 1] = sFissureMoveDescription, + [MOVE_DIG - 1] = sDigMoveDescription, + [MOVE_TOXIC - 1] = sToxicMoveDescription, + [MOVE_CONFUSION - 1] = sConfusionMoveDescription, + [MOVE_PSYCHIC - 1] = sPsychicMoveDescription, + [MOVE_HYPNOSIS - 1] = sHypnosisMoveDescription, + [MOVE_MEDITATE - 1] = sMeditateMoveDescription, + [MOVE_AGILITY - 1] = sAgilityMoveDescription, + [MOVE_QUICK_ATTACK - 1] = sQuickAttackMoveDescription, + [MOVE_RAGE - 1] = sRageMoveDescription, + [MOVE_TELEPORT - 1] = sTeleportMoveDescription, + [MOVE_NIGHT_SHADE - 1] = sNightShadeMoveDescription, + [MOVE_MIMIC - 1] = sMimicMoveDescription, + [MOVE_SCREECH - 1] = sScreechMoveDescription, + [MOVE_DOUBLE_TEAM - 1] = sDoubleTeamMoveDescription, + [MOVE_RECOVER - 1] = sRecoverMoveDescription, + [MOVE_HARDEN - 1] = sHardenMoveDescription, + [MOVE_MINIMIZE - 1] = sMinimizeMoveDescription, + [MOVE_SMOKESCREEN - 1] = sSmokescreenMoveDescription, + [MOVE_CONFUSE_RAY - 1] = sConfuseRayMoveDescription, + [MOVE_WITHDRAW - 1] = sWithdrawMoveDescription, + [MOVE_DEFENSE_CURL - 1] = sDefenseCurlMoveDescription, + [MOVE_BARRIER - 1] = sBarrierMoveDescription, + [MOVE_LIGHT_SCREEN - 1] = sLightScreenMoveDescription, + [MOVE_HAZE - 1] = sHazeMoveDescription, + [MOVE_REFLECT - 1] = sReflectMoveDescription, + [MOVE_FOCUS_ENERGY - 1] = sFocusEnergyMoveDescription, + [MOVE_BIDE - 1] = sBideMoveDescription, + [MOVE_METRONOME - 1] = sMetronomeMoveDescription, + [MOVE_MIRROR_MOVE - 1] = sMirrorMoveMoveDescription, + [MOVE_SELF_DESTRUCT - 1] = sSelfDestructMoveDescription, + [MOVE_EGG_BOMB - 1] = sEggBombMoveDescription, + [MOVE_LICK - 1] = sLickMoveDescription, + [MOVE_SMOG - 1] = sSmogMoveDescription, + [MOVE_SLUDGE - 1] = sSludgeMoveDescription, + [MOVE_BONE_CLUB - 1] = sBoneClubMoveDescription, + [MOVE_FIRE_BLAST - 1] = sFireBlastMoveDescription, + [MOVE_WATERFALL - 1] = sWaterfallMoveDescription, + [MOVE_CLAMP - 1] = sClampMoveDescription, + [MOVE_SWIFT - 1] = sSwiftMoveDescription, + [MOVE_SKULL_BASH - 1] = sSkullBashMoveDescription, + [MOVE_SPIKE_CANNON - 1] = sSpikeCannonMoveDescription, + [MOVE_CONSTRICT - 1] = sConstrictMoveDescription, + [MOVE_AMNESIA - 1] = sAmnesiaMoveDescription, + [MOVE_KINESIS - 1] = sKinesisMoveDescription, + [MOVE_SOFT_BOILED - 1] = sSoftBoiledMoveDescription, + [MOVE_HI_JUMP_KICK - 1] = sHiJumpKickMoveDescription, + [MOVE_GLARE - 1] = sGlareMoveDescription, + [MOVE_DREAM_EATER - 1] = sDreamEaterMoveDescription, + [MOVE_POISON_GAS - 1] = sPoisonGasMoveDescription, + [MOVE_BARRAGE - 1] = sBarrageMoveDescription, + [MOVE_LEECH_LIFE - 1] = sLeechLifeMoveDescription, + [MOVE_LOVELY_KISS - 1] = sLovelyKissMoveDescription, + [MOVE_SKY_ATTACK - 1] = sSkyAttackMoveDescription, + [MOVE_TRANSFORM - 1] = sTransformMoveDescription, + [MOVE_BUBBLE - 1] = sBubbleMoveDescription, + [MOVE_DIZZY_PUNCH - 1] = sDizzyPunchMoveDescription, + [MOVE_SPORE - 1] = sSporeMoveDescription, + [MOVE_FLASH - 1] = sFlashMoveDescription, + [MOVE_PSYWAVE - 1] = sPsywaveMoveDescription, + [MOVE_SPLASH - 1] = sSplashMoveDescription, + [MOVE_ACID_ARMOR - 1] = sAcidArmorMoveDescription, + [MOVE_CRABHAMMER - 1] = sCrabhammerMoveDescription, + [MOVE_EXPLOSION - 1] = sExplosionMoveDescription, + [MOVE_FURY_SWIPES - 1] = sFurySwipesMoveDescription, + [MOVE_BONEMERANG - 1] = sBonemerangMoveDescription, + [MOVE_REST - 1] = sRestMoveDescription, + [MOVE_ROCK_SLIDE - 1] = sRockSlideMoveDescription, + [MOVE_HYPER_FANG - 1] = sHyperFangMoveDescription, + [MOVE_SHARPEN - 1] = sSharpenMoveDescription, + [MOVE_CONVERSION - 1] = sConversionMoveDescription, + [MOVE_TRI_ATTACK - 1] = sTriAttackMoveDescription, + [MOVE_SUPER_FANG - 1] = sSuperFangMoveDescription, + [MOVE_SLASH - 1] = sSlashMoveDescription, + [MOVE_SUBSTITUTE - 1] = sSubstituteMoveDescription, + [MOVE_STRUGGLE - 1] = sStruggleMoveDescription, + [MOVE_SKETCH - 1] = sSketchMoveDescription, + [MOVE_TRIPLE_KICK - 1] = sTripleKickMoveDescription, + [MOVE_THIEF - 1] = sThiefMoveDescription, + [MOVE_SPIDER_WEB - 1] = sSpiderWebMoveDescription, + [MOVE_MIND_READER - 1] = sMindReaderMoveDescription, + [MOVE_NIGHTMARE - 1] = sNightmareMoveDescription, + [MOVE_FLAME_WHEEL - 1] = sFlameWheelMoveDescription, + [MOVE_SNORE - 1] = sSnoreMoveDescription, + [MOVE_CURSE - 1] = sCurseMoveDescription, + [MOVE_FLAIL - 1] = sFlailMoveDescription, + [MOVE_CONVERSION_2 - 1] = sConversion2MoveDescription, + [MOVE_AEROBLAST - 1] = sAeroblastMoveDescription, + [MOVE_COTTON_SPORE - 1] = sCottonSporeMoveDescription, + [MOVE_REVERSAL - 1] = sReversalMoveDescription, + [MOVE_SPITE - 1] = sSpiteMoveDescription, + [MOVE_POWDER_SNOW - 1] = sPowderSnowMoveDescription, + [MOVE_PROTECT - 1] = sProtectMoveDescription, + [MOVE_MACH_PUNCH - 1] = sMachPunchMoveDescription, + [MOVE_SCARY_FACE - 1] = sScaryFaceMoveDescription, + [MOVE_FAINT_ATTACK - 1] = sFaintAttackMoveDescription, + [MOVE_SWEET_KISS - 1] = sSweetKissMoveDescription, + [MOVE_BELLY_DRUM - 1] = sBellyDrumMoveDescription, + [MOVE_SLUDGE_BOMB - 1] = sSludgeBombMoveDescription, + [MOVE_MUD_SLAP - 1] = sMudSlapMoveDescription, + [MOVE_OCTAZOOKA - 1] = sOctazookaMoveDescription, + [MOVE_SPIKES - 1] = sSpikesMoveDescription, + [MOVE_ZAP_CANNON - 1] = sZapCannonMoveDescription, + [MOVE_FORESIGHT - 1] = sForesightMoveDescription, + [MOVE_DESTINY_BOND - 1] = sDestinyBondMoveDescription, + [MOVE_PERISH_SONG - 1] = sPerishSongMoveDescription, + [MOVE_ICY_WIND - 1] = sIcyWindMoveDescription, + [MOVE_DETECT - 1] = sDetectMoveDescription, + [MOVE_BONE_RUSH - 1] = sBoneRushMoveDescription, + [MOVE_LOCK_ON - 1] = sLockOnMoveDescription, + [MOVE_OUTRAGE - 1] = sOutrageMoveDescription, + [MOVE_SANDSTORM - 1] = sSandstormMoveDescription, + [MOVE_GIGA_DRAIN - 1] = sGigaDrainMoveDescription, + [MOVE_ENDURE - 1] = sEndureMoveDescription, + [MOVE_CHARM - 1] = sCharmMoveDescription, + [MOVE_ROLLOUT - 1] = sRolloutMoveDescription, + [MOVE_FALSE_SWIPE - 1] = sFalseSwipeMoveDescription, + [MOVE_SWAGGER - 1] = sSwaggerMoveDescription, + [MOVE_MILK_DRINK - 1] = sMilkDrinkMoveDescription, + [MOVE_SPARK - 1] = sSparkMoveDescription, + [MOVE_FURY_CUTTER - 1] = sFuryCutterMoveDescription, + [MOVE_STEEL_WING - 1] = sSteelWingMoveDescription, + [MOVE_MEAN_LOOK - 1] = sMeanLookMoveDescription, + [MOVE_ATTRACT - 1] = sAttractMoveDescription, + [MOVE_SLEEP_TALK - 1] = sSleepTalkMoveDescription, + [MOVE_HEAL_BELL - 1] = sHealBellMoveDescription, + [MOVE_RETURN - 1] = sReturnMoveDescription, + [MOVE_PRESENT - 1] = sPresentMoveDescription, + [MOVE_FRUSTRATION - 1] = sFrustrationMoveDescription, + [MOVE_SAFEGUARD - 1] = sSafeguardMoveDescription, + [MOVE_PAIN_SPLIT - 1] = sPainSplitMoveDescription, + [MOVE_SACRED_FIRE - 1] = sSacredFireMoveDescription, + [MOVE_MAGNITUDE - 1] = sMagnitudeMoveDescription, + [MOVE_DYNAMIC_PUNCH - 1] = sDynamicPunchMoveDescription, + [MOVE_MEGAHORN - 1] = sMegahornMoveDescription, + [MOVE_DRAGON_BREATH - 1] = sDragonBreathMoveDescription, + [MOVE_BATON_PASS - 1] = sBatonPassMoveDescription, + [MOVE_ENCORE - 1] = sEncoreMoveDescription, + [MOVE_PURSUIT - 1] = sPursuitMoveDescription, + [MOVE_RAPID_SPIN - 1] = sRapidSpinMoveDescription, + [MOVE_SWEET_SCENT - 1] = sSweetScentMoveDescription, + [MOVE_IRON_TAIL - 1] = sIronTailMoveDescription, + [MOVE_METAL_CLAW - 1] = sMetalClawMoveDescription, + [MOVE_VITAL_THROW - 1] = sVitalThrowMoveDescription, + [MOVE_MORNING_SUN - 1] = sMorningSunMoveDescription, + [MOVE_SYNTHESIS - 1] = sSynthesisMoveDescription, + [MOVE_MOONLIGHT - 1] = sMoonlightMoveDescription, + [MOVE_HIDDEN_POWER - 1] = sHiddenPowerMoveDescription, + [MOVE_CROSS_CHOP - 1] = sCrossChopMoveDescription, + [MOVE_TWISTER - 1] = sTwisterMoveDescription, + [MOVE_RAIN_DANCE - 1] = sRainDanceMoveDescription, + [MOVE_SUNNY_DAY - 1] = sSunnyDayMoveDescription, + [MOVE_CRUNCH - 1] = sCrunchMoveDescription, + [MOVE_MIRROR_COAT - 1] = sMirrorCoatMoveDescription, + [MOVE_PSYCH_UP - 1] = sPsychUpMoveDescription, + [MOVE_EXTREME_SPEED - 1] = sExtremeSpeedMoveDescription, + [MOVE_ANCIENT_POWER - 1] = sAncientPowerMoveDescription, + [MOVE_SHADOW_BALL - 1] = sShadowBallMoveDescription, + [MOVE_FUTURE_SIGHT - 1] = sFutureSightMoveDescription, + [MOVE_ROCK_SMASH - 1] = sRockSmashMoveDescription, + [MOVE_WHIRLPOOL - 1] = sWhirlpoolMoveDescription, + [MOVE_BEAT_UP - 1] = sBeatUpMoveDescription, + [MOVE_FAKE_OUT - 1] = sFakeOutMoveDescription, + [MOVE_UPROAR - 1] = sUproarMoveDescription, + [MOVE_STOCKPILE - 1] = sStockpileMoveDescription, + [MOVE_SPIT_UP - 1] = sSpitUpMoveDescription, + [MOVE_SWALLOW - 1] = sSwallowMoveDescription, + [MOVE_HEAT_WAVE - 1] = sHeatWaveMoveDescription, + [MOVE_HAIL - 1] = sHailMoveDescription, + [MOVE_TORMENT - 1] = sTormentMoveDescription, + [MOVE_FLATTER - 1] = sFlatterMoveDescription, + [MOVE_WILL_O_WISP - 1] = sWillOWispMoveDescription, + [MOVE_MEMENTO - 1] = sMementoMoveDescription, + [MOVE_FACADE - 1] = sFacadeMoveDescription, + [MOVE_FOCUS_PUNCH - 1] = sFocusPunchMoveDescription, + [MOVE_SMELLING_SALT - 1] = sSmellingSaltMoveDescription, + [MOVE_FOLLOW_ME - 1] = sFollowMeMoveDescription, + [MOVE_NATURE_POWER - 1] = sNaturePowerMoveDescription, + [MOVE_CHARGE - 1] = sChargeMoveDescription, + [MOVE_TAUNT - 1] = sTauntMoveDescription, + [MOVE_HELPING_HAND - 1] = sHelpingHandMoveDescription, + [MOVE_TRICK - 1] = sTrickMoveDescription, + [MOVE_ROLE_PLAY - 1] = sRolePlayMoveDescription, + [MOVE_WISH - 1] = sWishMoveDescription, + [MOVE_ASSIST - 1] = sAssistMoveDescription, + [MOVE_INGRAIN - 1] = sIngrainMoveDescription, + [MOVE_SUPERPOWER - 1] = sSuperpowerMoveDescription, + [MOVE_MAGIC_COAT - 1] = sMagicCoatMoveDescription, + [MOVE_RECYCLE - 1] = sRecycleMoveDescription, + [MOVE_REVENGE - 1] = sRevengeMoveDescription, + [MOVE_BRICK_BREAK - 1] = sBrickBreakMoveDescription, + [MOVE_YAWN - 1] = sYawnMoveDescription, + [MOVE_KNOCK_OFF - 1] = sKnockOffMoveDescription, + [MOVE_ENDEAVOR - 1] = sEndeavorMoveDescription, + [MOVE_ERUPTION - 1] = sEruptionMoveDescription, + [MOVE_SKILL_SWAP - 1] = sSkillSwapMoveDescription, + [MOVE_IMPRISON - 1] = sImprisonMoveDescription, + [MOVE_REFRESH - 1] = sRefreshMoveDescription, + [MOVE_GRUDGE - 1] = sGrudgeMoveDescription, + [MOVE_SNATCH - 1] = sSnatchMoveDescription, + [MOVE_SECRET_POWER - 1] = sSecretPowerMoveDescription, + [MOVE_DIVE - 1] = sDiveMoveDescription, + [MOVE_ARM_THRUST - 1] = sArmThrustMoveDescription, + [MOVE_CAMOUFLAGE - 1] = sCamouflageMoveDescription, + [MOVE_TAIL_GLOW - 1] = sTailGlowMoveDescription, + [MOVE_LUSTER_PURGE - 1] = sLusterPurgeMoveDescription, + [MOVE_MIST_BALL - 1] = sMistBallMoveDescription, + [MOVE_FEATHER_DANCE - 1] = sFeatherDanceMoveDescription, + [MOVE_TEETER_DANCE - 1] = sTeeterDanceMoveDescription, + [MOVE_BLAZE_KICK - 1] = sBlazeKickMoveDescription, + [MOVE_MUD_SPORT - 1] = sMudSportMoveDescription, + [MOVE_ICE_BALL - 1] = sIceBallMoveDescription, + [MOVE_NEEDLE_ARM - 1] = sNeedleArmMoveDescription, + [MOVE_SLACK_OFF - 1] = sSlackOffMoveDescription, + [MOVE_HYPER_VOICE - 1] = sHyperVoiceMoveDescription, + [MOVE_POISON_FANG - 1] = sPoisonFangMoveDescription, + [MOVE_CRUSH_CLAW - 1] = sCrushClawMoveDescription, + [MOVE_BLAST_BURN - 1] = sBlastBurnMoveDescription, + [MOVE_HYDRO_CANNON - 1] = sHydroCannonMoveDescription, + [MOVE_METEOR_MASH - 1] = sMeteorMashMoveDescription, + [MOVE_ASTONISH - 1] = sAstonishMoveDescription, + [MOVE_WEATHER_BALL - 1] = sWeatherBallMoveDescription, + [MOVE_AROMATHERAPY - 1] = sAromatherapyMoveDescription, + [MOVE_FAKE_TEARS - 1] = sFakeTearsMoveDescription, + [MOVE_AIR_CUTTER - 1] = sAirCutterMoveDescription, + [MOVE_OVERHEAT - 1] = sOverheatMoveDescription, + [MOVE_ODOR_SLEUTH - 1] = sOdorSleuthMoveDescription, + [MOVE_ROCK_TOMB - 1] = sRockTombMoveDescription, + [MOVE_SILVER_WIND - 1] = sSilverWindMoveDescription, + [MOVE_METAL_SOUND - 1] = sMetalSoundMoveDescription, + [MOVE_GRASS_WHISTLE - 1] = sGrassWhistleMoveDescription, + [MOVE_TICKLE - 1] = sTickleMoveDescription, + [MOVE_COSMIC_POWER - 1] = sCosmicPowerMoveDescription, + [MOVE_WATER_SPOUT - 1] = sWaterSpoutMoveDescription, + [MOVE_SIGNAL_BEAM - 1] = sSignalBeamMoveDescription, + [MOVE_SHADOW_PUNCH - 1] = sShadowPunchMoveDescription, + [MOVE_EXTRASENSORY - 1] = sExtrasensoryMoveDescription, + [MOVE_SKY_UPPERCUT - 1] = sSkyUppercutMoveDescription, + [MOVE_SAND_TOMB - 1] = sSandTombMoveDescription, + [MOVE_SHEER_COLD - 1] = sSheerColdMoveDescription, + [MOVE_MUDDY_WATER - 1] = sMuddyWaterMoveDescription, + [MOVE_BULLET_SEED - 1] = sBulletSeedMoveDescription, + [MOVE_AERIAL_ACE - 1] = sAerialAceMoveDescription, + [MOVE_ICICLE_SPEAR - 1] = sIcicleSpearMoveDescription, + [MOVE_IRON_DEFENSE - 1] = sIronDefenseMoveDescription, + [MOVE_BLOCK - 1] = sBlockMoveDescription, + [MOVE_HOWL - 1] = sHowlMoveDescription, + [MOVE_DRAGON_CLAW - 1] = sDragonClawMoveDescription, + [MOVE_FRENZY_PLANT - 1] = sFrenzyPlantMoveDescription, + [MOVE_BULK_UP - 1] = sBulkUpMoveDescription, + [MOVE_BOUNCE - 1] = sBounceMoveDescription, + [MOVE_MUD_SHOT - 1] = sMudShotMoveDescription, + [MOVE_POISON_TAIL - 1] = sPoisonTailMoveDescription, + [MOVE_COVET - 1] = sCovetMoveDescription, + [MOVE_VOLT_TACKLE - 1] = sVoltTackleMoveDescription, + [MOVE_MAGICAL_LEAF - 1] = sMagicalLeafMoveDescription, + [MOVE_WATER_SPORT - 1] = sWaterSportMoveDescription, + [MOVE_CALM_MIND - 1] = sCalmMindMoveDescription, + [MOVE_LEAF_BLADE - 1] = sLeafBladeMoveDescription, + [MOVE_DRAGON_DANCE - 1] = sDragonDanceMoveDescription, + [MOVE_ROCK_BLAST - 1] = sRockBlastMoveDescription, + [MOVE_SHOCK_WAVE - 1] = sShockWaveMoveDescription, + [MOVE_WATER_PULSE - 1] = sWaterPulseMoveDescription, + [MOVE_DOOM_DESIRE - 1] = sDoomDesireMoveDescription, + [MOVE_PSYCHO_BOOST - 1] = sPsychoBoostMoveDescription, +}; diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h new file mode 100644 index 000000000..9f540f1d6 --- /dev/null +++ b/src/data/text/move_names.h @@ -0,0 +1,358 @@ +const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = +{ + [MOVE_NONE] = _("-"), + [MOVE_POUND] = _("POUND"), + [MOVE_KARATE_CHOP] = _("KARATE CHOP"), + [MOVE_DOUBLE_SLAP] = _("DOUBLESLAP"), + [MOVE_COMET_PUNCH] = _("COMET PUNCH"), + [MOVE_MEGA_PUNCH] = _("MEGA PUNCH"), + [MOVE_PAY_DAY] = _("PAY DAY"), + [MOVE_FIRE_PUNCH] = _("FIRE PUNCH"), + [MOVE_ICE_PUNCH] = _("ICE PUNCH"), + [MOVE_THUNDER_PUNCH] = _("THUNDERPUNCH"), + [MOVE_SCRATCH] = _("SCRATCH"), + [MOVE_VICE_GRIP] = _("VICEGRIP"), + [MOVE_GUILLOTINE] = _("GUILLOTINE"), + [MOVE_RAZOR_WIND] = _("RAZOR WIND"), + [MOVE_SWORDS_DANCE] = _("SWORDS DANCE"), + [MOVE_CUT] = _("CUT"), + [MOVE_GUST] = _("GUST"), + [MOVE_WING_ATTACK] = _("WING ATTACK"), + [MOVE_WHIRLWIND] = _("WHIRLWIND"), + [MOVE_FLY] = _("FLY"), + [MOVE_BIND] = _("BIND"), + [MOVE_SLAM] = _("SLAM"), + [MOVE_VINE_WHIP] = _("VINE WHIP"), + [MOVE_STOMP] = _("STOMP"), + [MOVE_DOUBLE_KICK] = _("DOUBLE KICK"), + [MOVE_MEGA_KICK] = _("MEGA KICK"), + [MOVE_JUMP_KICK] = _("JUMP KICK"), + [MOVE_ROLLING_KICK] = _("ROLLING KICK"), + [MOVE_SAND_ATTACK] = _("SAND-ATTACK"), + [MOVE_HEADBUTT] = _("HEADBUTT"), + [MOVE_HORN_ATTACK] = _("HORN ATTACK"), + [MOVE_FURY_ATTACK] = _("FURY ATTACK"), + [MOVE_HORN_DRILL] = _("HORN DRILL"), + [MOVE_TACKLE] = _("TACKLE"), + [MOVE_BODY_SLAM] = _("BODY SLAM"), + [MOVE_WRAP] = _("WRAP"), + [MOVE_TAKE_DOWN] = _("TAKE DOWN"), + [MOVE_THRASH] = _("THRASH"), + [MOVE_DOUBLE_EDGE] = _("DOUBLE-EDGE"), + [MOVE_TAIL_WHIP] = _("TAIL WHIP"), + [MOVE_POISON_STING] = _("POISON STING"), + [MOVE_TWINEEDLE] = _("TWINEEDLE"), + [MOVE_PIN_MISSILE] = _("PIN MISSILE"), + [MOVE_LEER] = _("LEER"), + [MOVE_BITE] = _("BITE"), + [MOVE_GROWL] = _("GROWL"), + [MOVE_ROAR] = _("ROAR"), + [MOVE_SING] = _("SING"), + [MOVE_SUPERSONIC] = _("SUPERSONIC"), + [MOVE_SONIC_BOOM] = _("SONICBOOM"), + [MOVE_DISABLE] = _("DISABLE"), + [MOVE_ACID] = _("ACID"), + [MOVE_EMBER] = _("EMBER"), + [MOVE_FLAMETHROWER] = _("FLAMETHROWER"), + [MOVE_MIST] = _("MIST"), + [MOVE_WATER_GUN] = _("WATER GUN"), + [MOVE_HYDRO_PUMP] = _("HYDRO PUMP"), + [MOVE_SURF] = _("SURF"), + [MOVE_ICE_BEAM] = _("ICE BEAM"), + [MOVE_BLIZZARD] = _("BLIZZARD"), + [MOVE_PSYBEAM] = _("PSYBEAM"), + [MOVE_BUBBLE_BEAM] = _("BUBBLEBEAM"), + [MOVE_AURORA_BEAM] = _("AURORA BEAM"), + [MOVE_HYPER_BEAM] = _("HYPER BEAM"), + [MOVE_PECK] = _("PECK"), + [MOVE_DRILL_PECK] = _("DRILL PECK"), + [MOVE_SUBMISSION] = _("SUBMISSION"), + [MOVE_LOW_KICK] = _("LOW KICK"), + [MOVE_COUNTER] = _("COUNTER"), + [MOVE_SEISMIC_TOSS] = _("SEISMIC TOSS"), + [MOVE_STRENGTH] = _("STRENGTH"), + [MOVE_ABSORB] = _("ABSORB"), + [MOVE_MEGA_DRAIN] = _("MEGA DRAIN"), + [MOVE_LEECH_SEED] = _("LEECH SEED"), + [MOVE_GROWTH] = _("GROWTH"), + [MOVE_RAZOR_LEAF] = _("RAZOR LEAF"), + [MOVE_SOLAR_BEAM] = _("SOLARBEAM"), + [MOVE_POISON_POWDER] = _("POISONPOWDER"), + [MOVE_STUN_SPORE] = _("STUN SPORE"), + [MOVE_SLEEP_POWDER] = _("SLEEP POWDER"), + [MOVE_PETAL_DANCE] = _("PETAL DANCE"), + [MOVE_STRING_SHOT] = _("STRING SHOT"), + [MOVE_DRAGON_RAGE] = _("DRAGON RAGE"), + [MOVE_FIRE_SPIN] = _("FIRE SPIN"), + [MOVE_THUNDER_SHOCK] = _("THUNDERSHOCK"), + [MOVE_THUNDERBOLT] = _("THUNDERBOLT"), + [MOVE_THUNDER_WAVE] = _("THUNDER WAVE"), + [MOVE_THUNDER] = _("THUNDER"), + [MOVE_ROCK_THROW] = _("ROCK THROW"), + [MOVE_EARTHQUAKE] = _("EARTHQUAKE"), + [MOVE_FISSURE] = _("FISSURE"), + [MOVE_DIG] = _("DIG"), + [MOVE_TOXIC] = _("TOXIC"), + [MOVE_CONFUSION] = _("CONFUSION"), + [MOVE_PSYCHIC] = _("PSYCHIC"), + [MOVE_HYPNOSIS] = _("HYPNOSIS"), + [MOVE_MEDITATE] = _("MEDITATE"), + [MOVE_AGILITY] = _("AGILITY"), + [MOVE_QUICK_ATTACK] = _("QUICK ATTACK"), + [MOVE_RAGE] = _("RAGE"), + [MOVE_TELEPORT] = _("TELEPORT"), + [MOVE_NIGHT_SHADE] = _("NIGHT SHADE"), + [MOVE_MIMIC] = _("MIMIC"), + [MOVE_SCREECH] = _("SCREECH"), + [MOVE_DOUBLE_TEAM] = _("DOUBLE TEAM"), + [MOVE_RECOVER] = _("RECOVER"), + [MOVE_HARDEN] = _("HARDEN"), + [MOVE_MINIMIZE] = _("MINIMIZE"), + [MOVE_SMOKESCREEN] = _("SMOKESCREEN"), + [MOVE_CONFUSE_RAY] = _("CONFUSE RAY"), + [MOVE_WITHDRAW] = _("WITHDRAW"), + [MOVE_DEFENSE_CURL] = _("DEFENSE CURL"), + [MOVE_BARRIER] = _("BARRIER"), + [MOVE_LIGHT_SCREEN] = _("LIGHT SCREEN"), + [MOVE_HAZE] = _("HAZE"), + [MOVE_REFLECT] = _("REFLECT"), + [MOVE_FOCUS_ENERGY] = _("FOCUS ENERGY"), + [MOVE_BIDE] = _("BIDE"), + [MOVE_METRONOME] = _("METRONOME"), + [MOVE_MIRROR_MOVE] = _("MIRROR MOVE"), + [MOVE_SELF_DESTRUCT] = _("SELFDESTRUCT"), + [MOVE_EGG_BOMB] = _("EGG BOMB"), + [MOVE_LICK] = _("LICK"), + [MOVE_SMOG] = _("SMOG"), + [MOVE_SLUDGE] = _("SLUDGE"), + [MOVE_BONE_CLUB] = _("BONE CLUB"), + [MOVE_FIRE_BLAST] = _("FIRE BLAST"), + [MOVE_WATERFALL] = _("WATERFALL"), + [MOVE_CLAMP] = _("CLAMP"), + [MOVE_SWIFT] = _("SWIFT"), + [MOVE_SKULL_BASH] = _("SKULL BASH"), + [MOVE_SPIKE_CANNON] = _("SPIKE CANNON"), + [MOVE_CONSTRICT] = _("CONSTRICT"), + [MOVE_AMNESIA] = _("AMNESIA"), + [MOVE_KINESIS] = _("KINESIS"), + [MOVE_SOFT_BOILED] = _("SOFTBOILED"), + [MOVE_HI_JUMP_KICK] = _("HI JUMP KICK"), + [MOVE_GLARE] = _("GLARE"), + [MOVE_DREAM_EATER] = _("DREAM EATER"), + [MOVE_POISON_GAS] = _("POISON GAS"), + [MOVE_BARRAGE] = _("BARRAGE"), + [MOVE_LEECH_LIFE] = _("LEECH LIFE"), + [MOVE_LOVELY_KISS] = _("LOVELY KISS"), + [MOVE_SKY_ATTACK] = _("SKY ATTACK"), + [MOVE_TRANSFORM] = _("TRANSFORM"), + [MOVE_BUBBLE] = _("BUBBLE"), + [MOVE_DIZZY_PUNCH] = _("DIZZY PUNCH"), + [MOVE_SPORE] = _("SPORE"), + [MOVE_FLASH] = _("FLASH"), + [MOVE_PSYWAVE] = _("PSYWAVE"), + [MOVE_SPLASH] = _("SPLASH"), + [MOVE_ACID_ARMOR] = _("ACID ARMOR"), + [MOVE_CRABHAMMER] = _("CRABHAMMER"), + [MOVE_EXPLOSION] = _("EXPLOSION"), + [MOVE_FURY_SWIPES] = _("FURY SWIPES"), + [MOVE_BONEMERANG] = _("BONEMERANG"), + [MOVE_REST] = _("REST"), + [MOVE_ROCK_SLIDE] = _("ROCK SLIDE"), + [MOVE_HYPER_FANG] = _("HYPER FANG"), + [MOVE_SHARPEN] = _("SHARPEN"), + [MOVE_CONVERSION] = _("CONVERSION"), + [MOVE_TRI_ATTACK] = _("TRI ATTACK"), + [MOVE_SUPER_FANG] = _("SUPER FANG"), + [MOVE_SLASH] = _("SLASH"), + [MOVE_SUBSTITUTE] = _("SUBSTITUTE"), + [MOVE_STRUGGLE] = _("STRUGGLE"), + [MOVE_SKETCH] = _("SKETCH"), + [MOVE_TRIPLE_KICK] = _("TRIPLE KICK"), + [MOVE_THIEF] = _("THIEF"), + [MOVE_SPIDER_WEB] = _("SPIDER WEB"), + [MOVE_MIND_READER] = _("MIND READER"), + [MOVE_NIGHTMARE] = _("NIGHTMARE"), + [MOVE_FLAME_WHEEL] = _("FLAME WHEEL"), + [MOVE_SNORE] = _("SNORE"), + [MOVE_CURSE] = _("CURSE"), + [MOVE_FLAIL] = _("FLAIL"), + [MOVE_CONVERSION_2] = _("CONVERSION 2"), + [MOVE_AEROBLAST] = _("AEROBLAST"), + [MOVE_COTTON_SPORE] = _("COTTON SPORE"), + [MOVE_REVERSAL] = _("REVERSAL"), + [MOVE_SPITE] = _("SPITE"), + [MOVE_POWDER_SNOW] = _("POWDER SNOW"), + [MOVE_PROTECT] = _("PROTECT"), + [MOVE_MACH_PUNCH] = _("MACH PUNCH"), + [MOVE_SCARY_FACE] = _("SCARY FACE"), + [MOVE_FAINT_ATTACK] = _("FAINT ATTACK"), + [MOVE_SWEET_KISS] = _("SWEET KISS"), + [MOVE_BELLY_DRUM] = _("BELLY DRUM"), + [MOVE_SLUDGE_BOMB] = _("SLUDGE BOMB"), + [MOVE_MUD_SLAP] = _("MUD-SLAP"), + [MOVE_OCTAZOOKA] = _("OCTAZOOKA"), + [MOVE_SPIKES] = _("SPIKES"), + [MOVE_ZAP_CANNON] = _("ZAP CANNON"), + [MOVE_FORESIGHT] = _("FORESIGHT"), + [MOVE_DESTINY_BOND] = _("DESTINY BOND"), + [MOVE_PERISH_SONG] = _("PERISH SONG"), + [MOVE_ICY_WIND] = _("ICY WIND"), + [MOVE_DETECT] = _("DETECT"), + [MOVE_BONE_RUSH] = _("BONE RUSH"), + [MOVE_LOCK_ON] = _("LOCK-ON"), + [MOVE_OUTRAGE] = _("OUTRAGE"), + [MOVE_SANDSTORM] = _("SANDSTORM"), + [MOVE_GIGA_DRAIN] = _("GIGA DRAIN"), + [MOVE_ENDURE] = _("ENDURE"), + [MOVE_CHARM] = _("CHARM"), + [MOVE_ROLLOUT] = _("ROLLOUT"), + [MOVE_FALSE_SWIPE] = _("FALSE SWIPE"), + [MOVE_SWAGGER] = _("SWAGGER"), + [MOVE_MILK_DRINK] = _("MILK DRINK"), + [MOVE_SPARK] = _("SPARK"), + [MOVE_FURY_CUTTER] = _("FURY CUTTER"), + [MOVE_STEEL_WING] = _("STEEL WING"), + [MOVE_MEAN_LOOK] = _("MEAN LOOK"), + [MOVE_ATTRACT] = _("ATTRACT"), + [MOVE_SLEEP_TALK] = _("SLEEP TALK"), + [MOVE_HEAL_BELL] = _("HEAL BELL"), + [MOVE_RETURN] = _("RETURN"), + [MOVE_PRESENT] = _("PRESENT"), + [MOVE_FRUSTRATION] = _("FRUSTRATION"), + [MOVE_SAFEGUARD] = _("SAFEGUARD"), + [MOVE_PAIN_SPLIT] = _("PAIN SPLIT"), + [MOVE_SACRED_FIRE] = _("SACRED FIRE"), + [MOVE_MAGNITUDE] = _("MAGNITUDE"), + [MOVE_DYNAMIC_PUNCH] = _("DYNAMICPUNCH"), + [MOVE_MEGAHORN] = _("MEGAHORN"), + [MOVE_DRAGON_BREATH] = _("DRAGONBREATH"), + [MOVE_BATON_PASS] = _("BATON PASS"), + [MOVE_ENCORE] = _("ENCORE"), + [MOVE_PURSUIT] = _("PURSUIT"), + [MOVE_RAPID_SPIN] = _("RAPID SPIN"), + [MOVE_SWEET_SCENT] = _("SWEET SCENT"), + [MOVE_IRON_TAIL] = _("IRON TAIL"), + [MOVE_METAL_CLAW] = _("METAL CLAW"), + [MOVE_VITAL_THROW] = _("VITAL THROW"), + [MOVE_MORNING_SUN] = _("MORNING SUN"), + [MOVE_SYNTHESIS] = _("SYNTHESIS"), + [MOVE_MOONLIGHT] = _("MOONLIGHT"), + [MOVE_HIDDEN_POWER] = _("HIDDEN POWER"), + [MOVE_CROSS_CHOP] = _("CROSS CHOP"), + [MOVE_TWISTER] = _("TWISTER"), + [MOVE_RAIN_DANCE] = _("RAIN DANCE"), + [MOVE_SUNNY_DAY] = _("SUNNY DAY"), + [MOVE_CRUNCH] = _("CRUNCH"), + [MOVE_MIRROR_COAT] = _("MIRROR COAT"), + [MOVE_PSYCH_UP] = _("PSYCH UP"), + [MOVE_EXTREME_SPEED] = _("EXTREMESPEED"), + [MOVE_ANCIENT_POWER] = _("ANCIENTPOWER"), + [MOVE_SHADOW_BALL] = _("SHADOW BALL"), + [MOVE_FUTURE_SIGHT] = _("FUTURE SIGHT"), + [MOVE_ROCK_SMASH] = _("ROCK SMASH"), + [MOVE_WHIRLPOOL] = _("WHIRLPOOL"), + [MOVE_BEAT_UP] = _("BEAT UP"), + [MOVE_FAKE_OUT] = _("FAKE OUT"), + [MOVE_UPROAR] = _("UPROAR"), + [MOVE_STOCKPILE] = _("STOCKPILE"), + [MOVE_SPIT_UP] = _("SPIT UP"), + [MOVE_SWALLOW] = _("SWALLOW"), + [MOVE_HEAT_WAVE] = _("HEAT WAVE"), + [MOVE_HAIL] = _("HAIL"), + [MOVE_TORMENT] = _("TORMENT"), + [MOVE_FLATTER] = _("FLATTER"), + [MOVE_WILL_O_WISP] = _("WILL-O-WISP"), + [MOVE_MEMENTO] = _("MEMENTO"), + [MOVE_FACADE] = _("FACADE"), + [MOVE_FOCUS_PUNCH] = _("FOCUS PUNCH"), + [MOVE_SMELLING_SALT] = _("SMELLINGSALT"), + [MOVE_FOLLOW_ME] = _("FOLLOW ME"), + [MOVE_NATURE_POWER] = _("NATURE POWER"), + [MOVE_CHARGE] = _("CHARGE"), + [MOVE_TAUNT] = _("TAUNT"), + [MOVE_HELPING_HAND] = _("HELPING HAND"), + [MOVE_TRICK] = _("TRICK"), + [MOVE_ROLE_PLAY] = _("ROLE PLAY"), + [MOVE_WISH] = _("WISH"), + [MOVE_ASSIST] = _("ASSIST"), + [MOVE_INGRAIN] = _("INGRAIN"), + [MOVE_SUPERPOWER] = _("SUPERPOWER"), + [MOVE_MAGIC_COAT] = _("MAGIC COAT"), + [MOVE_RECYCLE] = _("RECYCLE"), + [MOVE_REVENGE] = _("REVENGE"), + [MOVE_BRICK_BREAK] = _("BRICK BREAK"), + [MOVE_YAWN] = _("YAWN"), + [MOVE_KNOCK_OFF] = _("KNOCK OFF"), + [MOVE_ENDEAVOR] = _("ENDEAVOR"), + [MOVE_ERUPTION] = _("ERUPTION"), + [MOVE_SKILL_SWAP] = _("SKILL SWAP"), + [MOVE_IMPRISON] = _("IMPRISON"), + [MOVE_REFRESH] = _("REFRESH"), + [MOVE_GRUDGE] = _("GRUDGE"), + [MOVE_SNATCH] = _("SNATCH"), + [MOVE_SECRET_POWER] = _("SECRET POWER"), + [MOVE_DIVE] = _("DIVE"), + [MOVE_ARM_THRUST] = _("ARM THRUST"), + [MOVE_CAMOUFLAGE] = _("CAMOUFLAGE"), + [MOVE_TAIL_GLOW] = _("TAIL GLOW"), + [MOVE_LUSTER_PURGE] = _("LUSTER PURGE"), + [MOVE_MIST_BALL] = _("MIST BALL"), + [MOVE_FEATHER_DANCE] = _("FEATHERDANCE"), + [MOVE_TEETER_DANCE] = _("TEETER DANCE"), + [MOVE_BLAZE_KICK] = _("BLAZE KICK"), + [MOVE_MUD_SPORT] = _("MUD SPORT"), + [MOVE_ICE_BALL] = _("ICE BALL"), + [MOVE_NEEDLE_ARM] = _("NEEDLE ARM"), + [MOVE_SLACK_OFF] = _("SLACK OFF"), + [MOVE_HYPER_VOICE] = _("HYPER VOICE"), + [MOVE_POISON_FANG] = _("POISON FANG"), + [MOVE_CRUSH_CLAW] = _("CRUSH CLAW"), + [MOVE_BLAST_BURN] = _("BLAST BURN"), + [MOVE_HYDRO_CANNON] = _("HYDRO CANNON"), + [MOVE_METEOR_MASH] = _("METEOR MASH"), + [MOVE_ASTONISH] = _("ASTONISH"), + [MOVE_WEATHER_BALL] = _("WEATHER BALL"), + [MOVE_AROMATHERAPY] = _("AROMATHERAPY"), + [MOVE_FAKE_TEARS] = _("FAKE TEARS"), + [MOVE_AIR_CUTTER] = _("AIR CUTTER"), + [MOVE_OVERHEAT] = _("OVERHEAT"), + [MOVE_ODOR_SLEUTH] = _("ODOR SLEUTH"), + [MOVE_ROCK_TOMB] = _("ROCK TOMB"), + [MOVE_SILVER_WIND] = _("SILVER WIND"), + [MOVE_METAL_SOUND] = _("METAL SOUND"), + [MOVE_GRASS_WHISTLE] = _("GRASSWHISTLE"), + [MOVE_TICKLE] = _("TICKLE"), + [MOVE_COSMIC_POWER] = _("COSMIC POWER"), + [MOVE_WATER_SPOUT] = _("WATER SPOUT"), + [MOVE_SIGNAL_BEAM] = _("SIGNAL BEAM"), + [MOVE_SHADOW_PUNCH] = _("SHADOW PUNCH"), + [MOVE_EXTRASENSORY] = _("EXTRASENSORY"), + [MOVE_SKY_UPPERCUT] = _("SKY UPPERCUT"), + [MOVE_SAND_TOMB] = _("SAND TOMB"), + [MOVE_SHEER_COLD] = _("SHEER COLD"), + [MOVE_MUDDY_WATER] = _("MUDDY WATER"), + [MOVE_BULLET_SEED] = _("BULLET SEED"), + [MOVE_AERIAL_ACE] = _("AERIAL ACE"), + [MOVE_ICICLE_SPEAR] = _("ICICLE SPEAR"), + [MOVE_IRON_DEFENSE] = _("IRON DEFENSE"), + [MOVE_BLOCK] = _("BLOCK"), + [MOVE_HOWL] = _("HOWL"), + [MOVE_DRAGON_CLAW] = _("DRAGON CLAW"), + [MOVE_FRENZY_PLANT] = _("FRENZY PLANT"), + [MOVE_BULK_UP] = _("BULK UP"), + [MOVE_BOUNCE] = _("BOUNCE"), + [MOVE_MUD_SHOT] = _("MUD SHOT"), + [MOVE_POISON_TAIL] = _("POISON TAIL"), + [MOVE_COVET] = _("COVET"), + [MOVE_VOLT_TACKLE] = _("VOLT TACKLE"), + [MOVE_MAGICAL_LEAF] = _("MAGICAL LEAF"), + [MOVE_WATER_SPORT] = _("WATER SPORT"), + [MOVE_CALM_MIND] = _("CALM MIND"), + [MOVE_LEAF_BLADE] = _("LEAF BLADE"), + [MOVE_DRAGON_DANCE] = _("DRAGON DANCE"), + [MOVE_ROCK_BLAST] = _("ROCK BLAST"), + [MOVE_SHOCK_WAVE] = _("SHOCK WAVE"), + [MOVE_WATER_PULSE] = _("WATER PULSE"), + [MOVE_DOOM_DESIRE] = _("DOOM DESIRE"), + [MOVE_PSYCHO_BOOST] = _("PSYCHO BOOST"), +}; diff --git a/src/data/text/species_names.h b/src/data/text/species_names.h new file mode 100644 index 000000000..840beb22b --- /dev/null +++ b/src/data/text/species_names.h @@ -0,0 +1,414 @@ +const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { + [SPECIES_NONE] = _("??????????"), + [SPECIES_BULBASAUR] = _("BULBASAUR"), + [SPECIES_IVYSAUR] = _("IVYSAUR"), + [SPECIES_VENUSAUR] = _("VENUSAUR"), + [SPECIES_CHARMANDER] = _("CHARMANDER"), + [SPECIES_CHARMELEON] = _("CHARMELEON"), + [SPECIES_CHARIZARD] = _("CHARIZARD"), + [SPECIES_SQUIRTLE] = _("SQUIRTLE"), + [SPECIES_WARTORTLE] = _("WARTORTLE"), + [SPECIES_BLASTOISE] = _("BLASTOISE"), + [SPECIES_CATERPIE] = _("CATERPIE"), + [SPECIES_METAPOD] = _("METAPOD"), + [SPECIES_BUTTERFREE] = _("BUTTERFREE"), + [SPECIES_WEEDLE] = _("WEEDLE"), + [SPECIES_KAKUNA] = _("KAKUNA"), + [SPECIES_BEEDRILL] = _("BEEDRILL"), + [SPECIES_PIDGEY] = _("PIDGEY"), + [SPECIES_PIDGEOTTO] = _("PIDGEOTTO"), + [SPECIES_PIDGEOT] = _("PIDGEOT"), + [SPECIES_RATTATA] = _("RATTATA"), + [SPECIES_RATICATE] = _("RATICATE"), + [SPECIES_SPEAROW] = _("SPEAROW"), + [SPECIES_FEAROW] = _("FEAROW"), + [SPECIES_EKANS] = _("EKANS"), + [SPECIES_ARBOK] = _("ARBOK"), + [SPECIES_PIKACHU] = _("PIKACHU"), + [SPECIES_RAICHU] = _("RAICHU"), + [SPECIES_SANDSHREW] = _("SANDSHREW"), + [SPECIES_SANDSLASH] = _("SANDSLASH"), + [SPECIES_NIDORAN_F] = _("NIDORAN♀"), + [SPECIES_NIDORINA] = _("NIDORINA"), + [SPECIES_NIDOQUEEN] = _("NIDOQUEEN"), + [SPECIES_NIDORAN_M] = _("NIDORAN♂"), + [SPECIES_NIDORINO] = _("NIDORINO"), + [SPECIES_NIDOKING] = _("NIDOKING"), + [SPECIES_CLEFAIRY] = _("CLEFAIRY"), + [SPECIES_CLEFABLE] = _("CLEFABLE"), + [SPECIES_VULPIX] = _("VULPIX"), + [SPECIES_NINETALES] = _("NINETALES"), + [SPECIES_JIGGLYPUFF] = _("JIGGLYPUFF"), + [SPECIES_WIGGLYTUFF] = _("WIGGLYTUFF"), + [SPECIES_ZUBAT] = _("ZUBAT"), + [SPECIES_GOLBAT] = _("GOLBAT"), + [SPECIES_ODDISH] = _("ODDISH"), + [SPECIES_GLOOM] = _("GLOOM"), + [SPECIES_VILEPLUME] = _("VILEPLUME"), + [SPECIES_PARAS] = _("PARAS"), + [SPECIES_PARASECT] = _("PARASECT"), + [SPECIES_VENONAT] = _("VENONAT"), + [SPECIES_VENOMOTH] = _("VENOMOTH"), + [SPECIES_DIGLETT] = _("DIGLETT"), + [SPECIES_DUGTRIO] = _("DUGTRIO"), + [SPECIES_MEOWTH] = _("MEOWTH"), + [SPECIES_PERSIAN] = _("PERSIAN"), + [SPECIES_PSYDUCK] = _("PSYDUCK"), + [SPECIES_GOLDUCK] = _("GOLDUCK"), + [SPECIES_MANKEY] = _("MANKEY"), + [SPECIES_PRIMEAPE] = _("PRIMEAPE"), + [SPECIES_GROWLITHE] = _("GROWLITHE"), + [SPECIES_ARCANINE] = _("ARCANINE"), + [SPECIES_POLIWAG] = _("POLIWAG"), + [SPECIES_POLIWHIRL] = _("POLIWHIRL"), + [SPECIES_POLIWRATH] = _("POLIWRATH"), + [SPECIES_ABRA] = _("ABRA"), + [SPECIES_KADABRA] = _("KADABRA"), + [SPECIES_ALAKAZAM] = _("ALAKAZAM"), + [SPECIES_MACHOP] = _("MACHOP"), + [SPECIES_MACHOKE] = _("MACHOKE"), + [SPECIES_MACHAMP] = _("MACHAMP"), + [SPECIES_BELLSPROUT] = _("BELLSPROUT"), + [SPECIES_WEEPINBELL] = _("WEEPINBELL"), + [SPECIES_VICTREEBEL] = _("VICTREEBEL"), + [SPECIES_TENTACOOL] = _("TENTACOOL"), + [SPECIES_TENTACRUEL] = _("TENTACRUEL"), + [SPECIES_GEODUDE] = _("GEODUDE"), + [SPECIES_GRAVELER] = _("GRAVELER"), + [SPECIES_GOLEM] = _("GOLEM"), + [SPECIES_PONYTA] = _("PONYTA"), + [SPECIES_RAPIDASH] = _("RAPIDASH"), + [SPECIES_SLOWPOKE] = _("SLOWPOKE"), + [SPECIES_SLOWBRO] = _("SLOWBRO"), + [SPECIES_MAGNEMITE] = _("MAGNEMITE"), + [SPECIES_MAGNETON] = _("MAGNETON"), + [SPECIES_FARFETCHD] = _("FARFETCH’D"), + [SPECIES_DODUO] = _("DODUO"), + [SPECIES_DODRIO] = _("DODRIO"), + [SPECIES_SEEL] = _("SEEL"), + [SPECIES_DEWGONG] = _("DEWGONG"), + [SPECIES_GRIMER] = _("GRIMER"), + [SPECIES_MUK] = _("MUK"), + [SPECIES_SHELLDER] = _("SHELLDER"), + [SPECIES_CLOYSTER] = _("CLOYSTER"), + [SPECIES_GASTLY] = _("GASTLY"), + [SPECIES_HAUNTER] = _("HAUNTER"), + [SPECIES_GENGAR] = _("GENGAR"), + [SPECIES_ONIX] = _("ONIX"), + [SPECIES_DROWZEE] = _("DROWZEE"), + [SPECIES_HYPNO] = _("HYPNO"), + [SPECIES_KRABBY] = _("KRABBY"), + [SPECIES_KINGLER] = _("KINGLER"), + [SPECIES_VOLTORB] = _("VOLTORB"), + [SPECIES_ELECTRODE] = _("ELECTRODE"), + [SPECIES_EXEGGCUTE] = _("EXEGGCUTE"), + [SPECIES_EXEGGUTOR] = _("EXEGGUTOR"), + [SPECIES_CUBONE] = _("CUBONE"), + [SPECIES_MAROWAK] = _("MAROWAK"), + [SPECIES_HITMONLEE] = _("HITMONLEE"), + [SPECIES_HITMONCHAN] = _("HITMONCHAN"), + [SPECIES_LICKITUNG] = _("LICKITUNG"), + [SPECIES_KOFFING] = _("KOFFING"), + [SPECIES_WEEZING] = _("WEEZING"), + [SPECIES_RHYHORN] = _("RHYHORN"), + [SPECIES_RHYDON] = _("RHYDON"), + [SPECIES_CHANSEY] = _("CHANSEY"), + [SPECIES_TANGELA] = _("TANGELA"), + [SPECIES_KANGASKHAN] = _("KANGASKHAN"), + [SPECIES_HORSEA] = _("HORSEA"), + [SPECIES_SEADRA] = _("SEADRA"), + [SPECIES_GOLDEEN] = _("GOLDEEN"), + [SPECIES_SEAKING] = _("SEAKING"), + [SPECIES_STARYU] = _("STARYU"), + [SPECIES_STARMIE] = _("STARMIE"), + [SPECIES_MR_MIME] = _("MR. MIME"), + [SPECIES_SCYTHER] = _("SCYTHER"), + [SPECIES_JYNX] = _("JYNX"), + [SPECIES_ELECTABUZZ] = _("ELECTABUZZ"), + [SPECIES_MAGMAR] = _("MAGMAR"), + [SPECIES_PINSIR] = _("PINSIR"), + [SPECIES_TAUROS] = _("TAUROS"), + [SPECIES_MAGIKARP] = _("MAGIKARP"), + [SPECIES_GYARADOS] = _("GYARADOS"), + [SPECIES_LAPRAS] = _("LAPRAS"), + [SPECIES_DITTO] = _("DITTO"), + [SPECIES_EEVEE] = _("EEVEE"), + [SPECIES_VAPOREON] = _("VAPOREON"), + [SPECIES_JOLTEON] = _("JOLTEON"), + [SPECIES_FLAREON] = _("FLAREON"), + [SPECIES_PORYGON] = _("PORYGON"), + [SPECIES_OMANYTE] = _("OMANYTE"), + [SPECIES_OMASTAR] = _("OMASTAR"), + [SPECIES_KABUTO] = _("KABUTO"), + [SPECIES_KABUTOPS] = _("KABUTOPS"), + [SPECIES_AERODACTYL] = _("AERODACTYL"), + [SPECIES_SNORLAX] = _("SNORLAX"), + [SPECIES_ARTICUNO] = _("ARTICUNO"), + [SPECIES_ZAPDOS] = _("ZAPDOS"), + [SPECIES_MOLTRES] = _("MOLTRES"), + [SPECIES_DRATINI] = _("DRATINI"), + [SPECIES_DRAGONAIR] = _("DRAGONAIR"), + [SPECIES_DRAGONITE] = _("DRAGONITE"), + [SPECIES_MEWTWO] = _("MEWTWO"), + [SPECIES_MEW] = _("MEW"), + [SPECIES_CHIKORITA] = _("CHIKORITA"), + [SPECIES_BAYLEEF] = _("BAYLEEF"), + [SPECIES_MEGANIUM] = _("MEGANIUM"), + [SPECIES_CYNDAQUIL] = _("CYNDAQUIL"), + [SPECIES_QUILAVA] = _("QUILAVA"), + [SPECIES_TYPHLOSION] = _("TYPHLOSION"), + [SPECIES_TOTODILE] = _("TOTODILE"), + [SPECIES_CROCONAW] = _("CROCONAW"), + [SPECIES_FERALIGATR] = _("FERALIGATR"), + [SPECIES_SENTRET] = _("SENTRET"), + [SPECIES_FURRET] = _("FURRET"), + [SPECIES_HOOTHOOT] = _("HOOTHOOT"), + [SPECIES_NOCTOWL] = _("NOCTOWL"), + [SPECIES_LEDYBA] = _("LEDYBA"), + [SPECIES_LEDIAN] = _("LEDIAN"), + [SPECIES_SPINARAK] = _("SPINARAK"), + [SPECIES_ARIADOS] = _("ARIADOS"), + [SPECIES_CROBAT] = _("CROBAT"), + [SPECIES_CHINCHOU] = _("CHINCHOU"), + [SPECIES_LANTURN] = _("LANTURN"), + [SPECIES_PICHU] = _("PICHU"), + [SPECIES_CLEFFA] = _("CLEFFA"), + [SPECIES_IGGLYBUFF] = _("IGGLYBUFF"), + [SPECIES_TOGEPI] = _("TOGEPI"), + [SPECIES_TOGETIC] = _("TOGETIC"), + [SPECIES_NATU] = _("NATU"), + [SPECIES_XATU] = _("XATU"), + [SPECIES_MAREEP] = _("MAREEP"), + [SPECIES_FLAAFFY] = _("FLAAFFY"), + [SPECIES_AMPHAROS] = _("AMPHAROS"), + [SPECIES_BELLOSSOM] = _("BELLOSSOM"), + [SPECIES_MARILL] = _("MARILL"), + [SPECIES_AZUMARILL] = _("AZUMARILL"), + [SPECIES_SUDOWOODO] = _("SUDOWOODO"), + [SPECIES_POLITOED] = _("POLITOED"), + [SPECIES_HOPPIP] = _("HOPPIP"), + [SPECIES_SKIPLOOM] = _("SKIPLOOM"), + [SPECIES_JUMPLUFF] = _("JUMPLUFF"), + [SPECIES_AIPOM] = _("AIPOM"), + [SPECIES_SUNKERN] = _("SUNKERN"), + [SPECIES_SUNFLORA] = _("SUNFLORA"), + [SPECIES_YANMA] = _("YANMA"), + [SPECIES_WOOPER] = _("WOOPER"), + [SPECIES_QUAGSIRE] = _("QUAGSIRE"), + [SPECIES_ESPEON] = _("ESPEON"), + [SPECIES_UMBREON] = _("UMBREON"), + [SPECIES_MURKROW] = _("MURKROW"), + [SPECIES_SLOWKING] = _("SLOWKING"), + [SPECIES_MISDREAVUS] = _("MISDREAVUS"), + [SPECIES_UNOWN] = _("UNOWN"), + [SPECIES_WOBBUFFET] = _("WOBBUFFET"), + [SPECIES_GIRAFARIG] = _("GIRAFARIG"), + [SPECIES_PINECO] = _("PINECO"), + [SPECIES_FORRETRESS] = _("FORRETRESS"), + [SPECIES_DUNSPARCE] = _("DUNSPARCE"), + [SPECIES_GLIGAR] = _("GLIGAR"), + [SPECIES_STEELIX] = _("STEELIX"), + [SPECIES_SNUBBULL] = _("SNUBBULL"), + [SPECIES_GRANBULL] = _("GRANBULL"), + [SPECIES_QWILFISH] = _("QWILFISH"), + [SPECIES_SCIZOR] = _("SCIZOR"), + [SPECIES_SHUCKLE] = _("SHUCKLE"), + [SPECIES_HERACROSS] = _("HERACROSS"), + [SPECIES_SNEASEL] = _("SNEASEL"), + [SPECIES_TEDDIURSA] = _("TEDDIURSA"), + [SPECIES_URSARING] = _("URSARING"), + [SPECIES_SLUGMA] = _("SLUGMA"), + [SPECIES_MAGCARGO] = _("MAGCARGO"), + [SPECIES_SWINUB] = _("SWINUB"), + [SPECIES_PILOSWINE] = _("PILOSWINE"), + [SPECIES_CORSOLA] = _("CORSOLA"), + [SPECIES_REMORAID] = _("REMORAID"), + [SPECIES_OCTILLERY] = _("OCTILLERY"), + [SPECIES_DELIBIRD] = _("DELIBIRD"), + [SPECIES_MANTINE] = _("MANTINE"), + [SPECIES_SKARMORY] = _("SKARMORY"), + [SPECIES_HOUNDOUR] = _("HOUNDOUR"), + [SPECIES_HOUNDOOM] = _("HOUNDOOM"), + [SPECIES_KINGDRA] = _("KINGDRA"), + [SPECIES_PHANPY] = _("PHANPY"), + [SPECIES_DONPHAN] = _("DONPHAN"), + [SPECIES_PORYGON2] = _("PORYGON2"), + [SPECIES_STANTLER] = _("STANTLER"), + [SPECIES_SMEARGLE] = _("SMEARGLE"), + [SPECIES_TYROGUE] = _("TYROGUE"), + [SPECIES_HITMONTOP] = _("HITMONTOP"), + [SPECIES_SMOOCHUM] = _("SMOOCHUM"), + [SPECIES_ELEKID] = _("ELEKID"), + [SPECIES_MAGBY] = _("MAGBY"), + [SPECIES_MILTANK] = _("MILTANK"), + [SPECIES_BLISSEY] = _("BLISSEY"), + [SPECIES_RAIKOU] = _("RAIKOU"), + [SPECIES_ENTEI] = _("ENTEI"), + [SPECIES_SUICUNE] = _("SUICUNE"), + [SPECIES_LARVITAR] = _("LARVITAR"), + [SPECIES_PUPITAR] = _("PUPITAR"), + [SPECIES_TYRANITAR] = _("TYRANITAR"), + [SPECIES_LUGIA] = _("LUGIA"), + [SPECIES_HO_OH] = _("HO-OH"), + [SPECIES_CELEBI] = _("CELEBI"), + [SPECIES_OLD_UNOWN_B] = _("?"), + [SPECIES_OLD_UNOWN_C] = _("?"), + [SPECIES_OLD_UNOWN_D] = _("?"), + [SPECIES_OLD_UNOWN_E] = _("?"), + [SPECIES_OLD_UNOWN_F] = _("?"), + [SPECIES_OLD_UNOWN_G] = _("?"), + [SPECIES_OLD_UNOWN_H] = _("?"), + [SPECIES_OLD_UNOWN_I] = _("?"), + [SPECIES_OLD_UNOWN_J] = _("?"), + [SPECIES_OLD_UNOWN_K] = _("?"), + [SPECIES_OLD_UNOWN_L] = _("?"), + [SPECIES_OLD_UNOWN_M] = _("?"), + [SPECIES_OLD_UNOWN_N] = _("?"), + [SPECIES_OLD_UNOWN_O] = _("?"), + [SPECIES_OLD_UNOWN_P] = _("?"), + [SPECIES_OLD_UNOWN_Q] = _("?"), + [SPECIES_OLD_UNOWN_R] = _("?"), + [SPECIES_OLD_UNOWN_S] = _("?"), + [SPECIES_OLD_UNOWN_T] = _("?"), + [SPECIES_OLD_UNOWN_U] = _("?"), + [SPECIES_OLD_UNOWN_V] = _("?"), + [SPECIES_OLD_UNOWN_W] = _("?"), + [SPECIES_OLD_UNOWN_X] = _("?"), + [SPECIES_OLD_UNOWN_Y] = _("?"), + [SPECIES_OLD_UNOWN_Z] = _("?"), + [SPECIES_TREECKO] = _("TREECKO"), + [SPECIES_GROVYLE] = _("GROVYLE"), + [SPECIES_SCEPTILE] = _("SCEPTILE"), + [SPECIES_TORCHIC] = _("TORCHIC"), + [SPECIES_COMBUSKEN] = _("COMBUSKEN"), + [SPECIES_BLAZIKEN] = _("BLAZIKEN"), + [SPECIES_MUDKIP] = _("MUDKIP"), + [SPECIES_MARSHTOMP] = _("MARSHTOMP"), + [SPECIES_SWAMPERT] = _("SWAMPERT"), + [SPECIES_POOCHYENA] = _("POOCHYENA"), + [SPECIES_MIGHTYENA] = _("MIGHTYENA"), + [SPECIES_ZIGZAGOON] = _("ZIGZAGOON"), + [SPECIES_LINOONE] = _("LINOONE"), + [SPECIES_WURMPLE] = _("WURMPLE"), + [SPECIES_SILCOON] = _("SILCOON"), + [SPECIES_BEAUTIFLY] = _("BEAUTIFLY"), + [SPECIES_CASCOON] = _("CASCOON"), + [SPECIES_DUSTOX] = _("DUSTOX"), + [SPECIES_LOTAD] = _("LOTAD"), + [SPECIES_LOMBRE] = _("LOMBRE"), + [SPECIES_LUDICOLO] = _("LUDICOLO"), + [SPECIES_SEEDOT] = _("SEEDOT"), + [SPECIES_NUZLEAF] = _("NUZLEAF"), + [SPECIES_SHIFTRY] = _("SHIFTRY"), + [SPECIES_NINCADA] = _("NINCADA"), + [SPECIES_NINJASK] = _("NINJASK"), + [SPECIES_SHEDINJA] = _("SHEDINJA"), + [SPECIES_TAILLOW] = _("TAILLOW"), + [SPECIES_SWELLOW] = _("SWELLOW"), + [SPECIES_SHROOMISH] = _("SHROOMISH"), + [SPECIES_BRELOOM] = _("BRELOOM"), + [SPECIES_SPINDA] = _("SPINDA"), + [SPECIES_WINGULL] = _("WINGULL"), + [SPECIES_PELIPPER] = _("PELIPPER"), + [SPECIES_SURSKIT] = _("SURSKIT"), + [SPECIES_MASQUERAIN] = _("MASQUERAIN"), + [SPECIES_WAILMER] = _("WAILMER"), + [SPECIES_WAILORD] = _("WAILORD"), + [SPECIES_SKITTY] = _("SKITTY"), + [SPECIES_DELCATTY] = _("DELCATTY"), + [SPECIES_KECLEON] = _("KECLEON"), + [SPECIES_BALTOY] = _("BALTOY"), + [SPECIES_CLAYDOL] = _("CLAYDOL"), + [SPECIES_NOSEPASS] = _("NOSEPASS"), + [SPECIES_TORKOAL] = _("TORKOAL"), + [SPECIES_SABLEYE] = _("SABLEYE"), + [SPECIES_BARBOACH] = _("BARBOACH"), + [SPECIES_WHISCASH] = _("WHISCASH"), + [SPECIES_LUVDISC] = _("LUVDISC"), + [SPECIES_CORPHISH] = _("CORPHISH"), + [SPECIES_CRAWDAUNT] = _("CRAWDAUNT"), + [SPECIES_FEEBAS] = _("FEEBAS"), + [SPECIES_MILOTIC] = _("MILOTIC"), + [SPECIES_CARVANHA] = _("CARVANHA"), + [SPECIES_SHARPEDO] = _("SHARPEDO"), + [SPECIES_TRAPINCH] = _("TRAPINCH"), + [SPECIES_VIBRAVA] = _("VIBRAVA"), + [SPECIES_FLYGON] = _("FLYGON"), + [SPECIES_MAKUHITA] = _("MAKUHITA"), + [SPECIES_HARIYAMA] = _("HARIYAMA"), + [SPECIES_ELECTRIKE] = _("ELECTRIKE"), + [SPECIES_MANECTRIC] = _("MANECTRIC"), + [SPECIES_NUMEL] = _("NUMEL"), + [SPECIES_CAMERUPT] = _("CAMERUPT"), + [SPECIES_SPHEAL] = _("SPHEAL"), + [SPECIES_SEALEO] = _("SEALEO"), + [SPECIES_WALREIN] = _("WALREIN"), + [SPECIES_CACNEA] = _("CACNEA"), + [SPECIES_CACTURNE] = _("CACTURNE"), + [SPECIES_SNORUNT] = _("SNORUNT"), + [SPECIES_GLALIE] = _("GLALIE"), + [SPECIES_LUNATONE] = _("LUNATONE"), + [SPECIES_SOLROCK] = _("SOLROCK"), + [SPECIES_AZURILL] = _("AZURILL"), + [SPECIES_SPOINK] = _("SPOINK"), + [SPECIES_GRUMPIG] = _("GRUMPIG"), + [SPECIES_PLUSLE] = _("PLUSLE"), + [SPECIES_MINUN] = _("MINUN"), + [SPECIES_MAWILE] = _("MAWILE"), + [SPECIES_MEDITITE] = _("MEDITITE"), + [SPECIES_MEDICHAM] = _("MEDICHAM"), + [SPECIES_SWABLU] = _("SWABLU"), + [SPECIES_ALTARIA] = _("ALTARIA"), + [SPECIES_WYNAUT] = _("WYNAUT"), + [SPECIES_DUSKULL] = _("DUSKULL"), + [SPECIES_DUSCLOPS] = _("DUSCLOPS"), + [SPECIES_ROSELIA] = _("ROSELIA"), + [SPECIES_SLAKOTH] = _("SLAKOTH"), + [SPECIES_VIGOROTH] = _("VIGOROTH"), + [SPECIES_SLAKING] = _("SLAKING"), + [SPECIES_GULPIN] = _("GULPIN"), + [SPECIES_SWALOT] = _("SWALOT"), + [SPECIES_TROPIUS] = _("TROPIUS"), + [SPECIES_WHISMUR] = _("WHISMUR"), + [SPECIES_LOUDRED] = _("LOUDRED"), + [SPECIES_EXPLOUD] = _("EXPLOUD"), + [SPECIES_CLAMPERL] = _("CLAMPERL"), + [SPECIES_HUNTAIL] = _("HUNTAIL"), + [SPECIES_GOREBYSS] = _("GOREBYSS"), + [SPECIES_ABSOL] = _("ABSOL"), + [SPECIES_SHUPPET] = _("SHUPPET"), + [SPECIES_BANETTE] = _("BANETTE"), + [SPECIES_SEVIPER] = _("SEVIPER"), + [SPECIES_ZANGOOSE] = _("ZANGOOSE"), + [SPECIES_RELICANTH] = _("RELICANTH"), + [SPECIES_ARON] = _("ARON"), + [SPECIES_LAIRON] = _("LAIRON"), + [SPECIES_AGGRON] = _("AGGRON"), + [SPECIES_CASTFORM] = _("CASTFORM"), + [SPECIES_VOLBEAT] = _("VOLBEAT"), + [SPECIES_ILLUMISE] = _("ILLUMISE"), + [SPECIES_LILEEP] = _("LILEEP"), + [SPECIES_CRADILY] = _("CRADILY"), + [SPECIES_ANORITH] = _("ANORITH"), + [SPECIES_ARMALDO] = _("ARMALDO"), + [SPECIES_RALTS] = _("RALTS"), + [SPECIES_KIRLIA] = _("KIRLIA"), + [SPECIES_GARDEVOIR] = _("GARDEVOIR"), + [SPECIES_BAGON] = _("BAGON"), + [SPECIES_SHELGON] = _("SHELGON"), + [SPECIES_SALAMENCE] = _("SALAMENCE"), + [SPECIES_BELDUM] = _("BELDUM"), + [SPECIES_METANG] = _("METANG"), + [SPECIES_METAGROSS] = _("METAGROSS"), + [SPECIES_REGIROCK] = _("REGIROCK"), + [SPECIES_REGICE] = _("REGICE"), + [SPECIES_REGISTEEL] = _("REGISTEEL"), + [SPECIES_KYOGRE] = _("KYOGRE"), + [SPECIES_GROUDON] = _("GROUDON"), + [SPECIES_RAYQUAZA] = _("RAYQUAZA"), + [SPECIES_LATIAS] = _("LATIAS"), + [SPECIES_LATIOS] = _("LATIOS"), + [SPECIES_JIRACHI] = _("JIRACHI"), + [SPECIES_DEOXYS] = _("DEOXYS"), + [SPECIES_CHIMECHO] = _("CHIMECHO"), +}; diff --git a/src/data/text/trainer_class_names.h b/src/data/text/trainer_class_names.h new file mode 100644 index 000000000..7a126a128 --- /dev/null +++ b/src/data/text/trainer_class_names.h @@ -0,0 +1,73 @@ +#ifndef GUARD_TRAINER_CLASS_NAMES_H +#define GUARD_TRAINER_CLASS_NAMES_H + +const u8 gTrainerClassNames[][13] = { + _("{PKMN} TRAINER"), + _("{PKMN} TRAINER"), + _("HIKER"), + _("TEAM AQUA"), + _("{PKMN} BREEDER"), + _("COOLTRAINER"), + _("BIRD KEEPER"), + _("COLLECTOR"), + _("SWIMMER♂"), + _("TEAM MAGMA"), + _("EXPERT"), + _("AQUA ADMIN"), + _("BLACK BELT"), + _("AQUA LEADER"), + _("HEX MANIAC"), + _("AROMA LADY"), + _("RUIN MANIAC"), + _("INTERVIEWER"), + _("TUBER"), + _("TUBER"), + _("LADY"), + _("BEAUTY"), + _("RICH BOY"), + _("POKéMANIAC"), + _("GUITARIST"), + _("KINDLER"), + _("CAMPER"), + _("PICNICKER"), + _("BUG MANIAC"), + _("PSYCHIC"), + _("GENTLEMAN"), + _("ELITE FOUR"), + _("LEADER"), + _("SCHOOL KID"), + _("SR. AND JR."), + _("WINSTRATE"), + _("POKéFAN"), + _("YOUNGSTER"), + _("CHAMPION"), + _("FISHERMAN"), + _("TRIATHLETE"), + _("DRAGON TAMER"), + _("NINJA BOY"), + _("BATTLE GIRL"), + _("PARASOL LADY"), + _("SWIMMER♀"), + _("TWINS"), + _("SAILOR"), + _("COOLTRAINER"), + _("MAGMA ADMIN"), + _("{PKMN} TRAINER"), + _("BUG CATCHER"), + _("{PKMN} RANGER"), + _("MAGMA LEADER"), + _("LASS"), + _("YOUNG COUPLE"), + _("OLD COUPLE"), + _("SIS AND BRO"), + _("SALON MAIDEN"), + _("DOME ACE"), + _("PALACE MAVEN"), + _("ARENA TYCOON"), + _("FACTORY HEAD"), + _("PIKE QUEEN"), + _("PYRAMID KING"), + _("{PKMN} TRAINER"), +}; + +#endif diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h new file mode 100644 index 000000000..4993186d2 --- /dev/null +++ b/src/data/trainer_parties.h @@ -0,0 +1,12437 @@ +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = { + { + .iv = 0, + .lvl = 21, + .species = SPECIES_GEODUDE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle1[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_SKITTY, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_LOTAD, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_SEEDOT, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_TAILLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[] = { + { + .iv = 0, + .lvl = 9, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcel[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_SHIFTRY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_PELIPPER, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_XATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_ZANGOOSE, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_SEVIPER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = { + { + .iv = 0, + .lvl = 11, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .lvl = 27, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .lvl = 27, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt19[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt20[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fredrick[] = { + { + .iv = 100, + .lvl = 30, + .species = SPECIES_MAKUHITA, + }, + { + .iv = 100, + .lvl = 30, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matt[] = { + { + .iv = 50, + .lvl = 34, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 50, + .lvl = 34, + .species = SPECIES_GOLBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zander[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly1[] = { + { + .iv = 50, + .lvl = 28, + .species = SPECIES_CARVANHA, + }, + { + .iv = 50, + .lvl = 28, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelly2[] = { + { + .iv = 100, + .lvl = 37, + .species = SPECIES_SHARPEDO, + }, + { + .iv = 100, + .lvl = 37, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Archie[] = { + { + .iv = 150, + .lvl = 41, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 150, + .lvl = 41, + .species = SPECIES_CROBAT, + }, + { + .iv = 150, + .lvl = 43, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leah[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_SPOINK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisy[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose1[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ROSELIA, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Felix[] = { + { + .iv = 0, + .lvl = 43, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE + }, + { + .iv = 0, + .lvl = 43, + .species = SPECIES_CLAYDOL, + .moves = MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Violet[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_ROSELIA, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_GLOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose2[] = { + { + .iv = 10, + .lvl = 26, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 10, + .lvl = 26, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose3[] = { + { + .iv = 20, + .lvl = 28, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 20, + .lvl = 28, + .species = SPECIES_GLOOM, + }, + { + .iv = 20, + .lvl = 28, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose4[] = { + { + .iv = 30, + .lvl = 31, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_GLOOM, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rose5[] = { + { + .iv = 40, + .lvl = 34, + .species = SPECIES_BRELOOM, + }, + { + .iv = 40, + .lvl = 34, + .species = SPECIES_GLOOM, + }, + { + .iv = 40, + .lvl = 34, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty1[] = { + { + .iv = 50, + .lvl = 23, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Chip[] = { + { + .iv = 50, + .lvl = 27, + .species = SPECIES_BALTOY, + .moves = MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER + }, + { + .iv = 50, + .lvl = 27, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + }, + { + .iv = 50, + .lvl = 27, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Foster[] = { + { + .iv = 100, + .lvl = 25, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + }, + { + .iv = 100, + .lvl = 25, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty2[] = { + { + .iv = 60, + .lvl = 27, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty3[] = { + { + .iv = 70, + .lvl = 30, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty4[] = { + { + .iv = 80, + .lvl = 33, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Dusty5[] = { + { + .iv = 90, + .lvl = 36, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy1[] = { + { + .iv = 50, + .lvl = 17, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 50, + .lvl = 17, + .species = SPECIES_WHISMUR, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy2[] = { + { + .iv = 100, + .lvl = 27, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 100, + .lvl = 27, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy3[] = { + { + .iv = 150, + .lvl = 30, + .species = SPECIES_MAGNETON, + }, + { + .iv = 150, + .lvl = 30, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy4[] = { + { + .iv = 200, + .lvl = 33, + .species = SPECIES_MAGNETON, + }, + { + .iv = 200, + .lvl = 33, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_GabbyAndTy5[] = { + { + .iv = 250, + .lvl = 36, + .species = SPECIES_MAGNETON, + }, + { + .iv = 250, + .lvl = 36, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_GabbyAndTy6[] = { + { + .iv = 250, + .lvl = 39, + .species = SPECIES_MAGNETON, + .moves = MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT + }, + { + .iv = 250, + .lvl = 39, + .species = SPECIES_EXPLOUD, + .moves = MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola1[] = { + { + .iv = 10, + .lvl = 12, + .species = SPECIES_AZURILL, + }, + { + .iv = 10, + .lvl = 12, + .species = SPECIES_AZURILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Austina[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola2[] = { + { + .iv = 10, + .lvl = 26, + .species = SPECIES_MARILL, + }, + { + .iv = 10, + .lvl = 26, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola3[] = { + { + .iv = 20, + .lvl = 29, + .species = SPECIES_MARILL, + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola4[] = { + { + .iv = 30, + .lvl = 32, + .species = SPECIES_MARILL, + }, + { + .iv = 30, + .lvl = 32, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola5[] = { + { + .iv = 40, + .lvl = 35, + .species = SPECIES_AZUMARILL, + }, + { + .iv = 40, + .lvl = 35, + .species = SPECIES_AZUMARILL, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky1[] = { + { + .iv = 10, + .lvl = 13, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[] = { + { + .iv = 0, + .lvl = 12, + .species = SPECIES_AZURILL, + }, + { + .iv = 0, + .lvl = 12, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlie[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[] = { + { + .iv = 10, + .lvl = 27, + .species = SPECIES_LINOONE, + .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky3[] = { + { + .iv = 20, + .lvl = 30, + .species = SPECIES_LINOONE, + .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky4[] = { + { + .iv = 30, + .lvl = 33, + .species = SPECIES_LINOONE, + .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky5[] = { + { + .iv = 40, + .lvl = 36, + .species = SPECIES_LINOONE, + .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Randall[] = { + { + .iv = 255, + .lvl = 26, + .species = SPECIES_SWELLOW, + .heldItem = ITEM_NONE, + .moves = MOVE_QUICK_ATTACK, MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_NONE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Parker[] = { + { + .iv = 255, + .lvl = 26, + .species = SPECIES_SPINDA, + .heldItem = ITEM_NONE, + .moves = MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_NONE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_George[] = { + { + .iv = 255, + .lvl = 26, + .species = SPECIES_SLAKOTH, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SLACK_OFF, MOVE_COUNTER, MOVE_SHADOW_BALL, MOVE_NONE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Berke[] = { + { + .iv = 255, + .lvl = 26, + .species = SPECIES_VIGOROTH, + .heldItem = ITEM_NONE, + .moves = MOVE_FOCUS_ENERGY, MOVE_SLASH, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Braxton[] = { + { + .iv = 100, + .lvl = 28, + .species = SPECIES_SWELLOW, + .moves = MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR + }, + { + .iv = 100, + .lvl = 28, + .species = SPECIES_TRAPINCH, + .moves = MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB + }, + { + .iv = 100, + .lvl = 28, + .species = SPECIES_WAILMER, + .moves = MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE + }, + { + .iv = 100, + .lvl = 28, + .species = SPECIES_MAGNETON, + .moves = MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM + }, + { + .iv = 100, + .lvl = 28, + .species = SPECIES_SHIFTRY, + .moves = MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[] = { + { + .iv = 100, + .lvl = 44, + .species = SPECIES_SABLEYE, + }, + { + .iv = 100, + .lvl = 44, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 100, + .lvl = 44, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[] = { + { + .iv = 100, + .lvl = 46, + .species = SPECIES_MAWILE, + }, + { + .iv = 100, + .lvl = 46, + .species = SPECIES_STARMIE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton1[] = { + { + .iv = 100, + .lvl = 17, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 100, + .lvl = 17, + .species = SPECIES_WAILMER, + }, + { + .iv = 100, + .lvl = 17, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edgar[] = { + { + .iv = 100, + .lvl = 43, + .species = SPECIES_CACTURNE, + }, + { + .iv = 100, + .lvl = 43, + .species = SPECIES_PELIPPER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Albert[] = { + { + .iv = 100, + .lvl = 43, + .species = SPECIES_MAGNETON, + }, + { + .iv = 100, + .lvl = 43, + .species = SPECIES_MUK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samuel[] = { + { + .iv = 100, + .lvl = 42, + .species = SPECIES_SWELLOW, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_MAWILE, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_KADABRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vito[] = { + { + .iv = 100, + .lvl = 42, + .species = SPECIES_DODRIO, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_KADABRA, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_ELECTRODE, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_SHIFTRY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Owen[] = { + { + .iv = 100, + .lvl = 42, + .species = SPECIES_KECLEON, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_GRAVELER, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_WAILORD, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton2[] = { + { + .iv = 110, + .lvl = 26, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 110, + .lvl = 26, + .species = SPECIES_WAILMER, + }, + { + .iv = 110, + .lvl = 26, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton3[] = { + { + .iv = 120, + .lvl = 29, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 120, + .lvl = 29, + .species = SPECIES_WAILMER, + }, + { + .iv = 120, + .lvl = 29, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton4[] = { + { + .iv = 130, + .lvl = 32, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 130, + .lvl = 32, + .species = SPECIES_WAILMER, + }, + { + .iv = 130, + .lvl = 32, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton5[] = { + { + .iv = 140, + .lvl = 35, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 140, + .lvl = 35, + .species = SPECIES_WAILMER, + }, + { + .iv = 140, + .lvl = 35, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Warren[] = { + { + .iv = 100, + .lvl = 33, + .species = SPECIES_GRAVELER, + }, + { + .iv = 100, + .lvl = 33, + .species = SPECIES_LUDICOLO, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Mary[] = { + { + .iv = 255, + .lvl = 26, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_NONE, + .moves = MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Alexia[] = { + { + .iv = 255, + .lvl = 26, + .species = SPECIES_WIGGLYTUFF, + .heldItem = ITEM_NONE, + .moves = MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_NONE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Jody[] = { + { + .iv = 255, + .lvl = 26, + .species = SPECIES_ZANGOOSE, + .heldItem = ITEM_NONE, + .moves = MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Wendy[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_MAWILE, + .moves = MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_ROSELIA, + .moves = MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_PELIPPER, + .moves = MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keira[] = { + { + .iv = 100, + .lvl = 45, + .species = SPECIES_LAIRON, + }, + { + .iv = 100, + .lvl = 45, + .species = SPECIES_MANECTRIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke1[] = { + { + .iv = 100, + .lvl = 17, + .species = SPECIES_WINGULL, + }, + { + .iv = 100, + .lvl = 17, + .species = SPECIES_NUMEL, + }, + { + .iv = 100, + .lvl = 17, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jennifer[] = { + { + .iv = 200, + .lvl = 30, + .species = SPECIES_SABLEYE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = { + { + .iv = 100, + .lvl = 45, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = { + { + .iv = 100, + .lvl = 45, + .species = SPECIES_CLAYDOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Michelle[] = { + { + .iv = 100, + .lvl = 42, + .species = SPECIES_TORKOAL, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_LUDICOLO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Caroline[] = { + { + .iv = 100, + .lvl = 43, + .species = SPECIES_SKARMORY, + }, + { + .iv = 100, + .lvl = 43, + .species = SPECIES_SABLEYE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julie[] = { + { + .iv = 100, + .lvl = 42, + .species = SPECIES_SANDSLASH, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_NINETALES, + }, + { + .iv = 100, + .lvl = 42, + .species = SPECIES_TROPIUS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke2[] = { + { + .iv = 110, + .lvl = 26, + .species = SPECIES_WINGULL, + }, + { + .iv = 110, + .lvl = 26, + .species = SPECIES_NUMEL, + }, + { + .iv = 110, + .lvl = 26, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke3[] = { + { + .iv = 120, + .lvl = 29, + .species = SPECIES_PELIPPER, + }, + { + .iv = 120, + .lvl = 29, + .species = SPECIES_NUMEL, + }, + { + .iv = 120, + .lvl = 29, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke4[] = { + { + .iv = 130, + .lvl = 32, + .species = SPECIES_PELIPPER, + }, + { + .iv = 130, + .lvl = 32, + .species = SPECIES_NUMEL, + }, + { + .iv = 130, + .lvl = 32, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke5[] = { + { + .iv = 140, + .lvl = 34, + .species = SPECIES_PELIPPER, + }, + { + .iv = 140, + .lvl = 34, + .species = SPECIES_CAMERUPT, + }, + { + .iv = 140, + .lvl = 34, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[] = { + { + .iv = 0, + .lvl = 41, + .species = SPECIES_BANETTE, + }, + { + .iv = 0, + .lvl = 41, + .species = SPECIES_LUNATONE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kindra[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_DUSKULL, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_SHUPPET, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tammy[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_DUSKULL, + }, + { + .iv = 0, + .lvl = 29, + .species = SPECIES_SHUPPET, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie1[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_SABLEYE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = { + { + .iv = 50, + .lvl = 32, + .species = SPECIES_SHUPPET, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie2[] = { + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SABLEYE, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SPOINK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie3[] = { + { + .iv = 20, + .lvl = 35, + .species = SPECIES_SPOINK, + }, + { + .iv = 20, + .lvl = 35, + .species = SPECIES_SABLEYE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie4[] = { + { + .iv = 30, + .lvl = 40, + .species = SPECIES_SPOINK, + }, + { + .iv = 30, + .lvl = 40, + .species = SPECIES_SABLEYE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie5[] = { + { + .iv = 40, + .lvl = 42, + .species = SPECIES_DUSKULL, + }, + { + .iv = 40, + .lvl = 42, + .species = SPECIES_SABLEYE, + }, + { + .iv = 40, + .lvl = 42, + .species = SPECIES_GRUMPIG, + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy1[] = { + { + .iv = 0, + .lvl = 7, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Daphne[] = { + { + .iv = 100, + .lvl = 39, + .species = SPECIES_LUVDISC, + .heldItem = ITEM_NUGGET, + .moves = MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE + }, + { + .iv = 100, + .lvl = 39, + .species = SPECIES_LUVDISC, + .heldItem = ITEM_NUGGET, + .moves = MOVE_ATTRACT, MOVE_SAFEGUARD, MOVE_TAKE_DOWN, MOVE_WATER_PULSE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt23[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Cindy2[] = { + { + .iv = 0, + .lvl = 11, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_NUGGET, + .moves = MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Brianna[] = { + { + .iv = 150, + .lvl = 40, + .species = SPECIES_SEAKING, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Naomi[] = { + { + .iv = 100, + .lvl = 45, + .species = SPECIES_ROSELIA, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy3[] = { + { + .iv = 10, + .lvl = 27, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy4[] = { + { + .iv = 20, + .lvl = 30, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Cindy5[] = { + { + .iv = 30, + .lvl = 33, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Cindy6[] = { + { + .iv = 40, + .lvl = 36, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET, + .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melissa[] = { + { + .iv = 0, + .lvl = 21, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = { + { + .iv = 0, + .lvl = 21, + .species = SPECIES_SHROOMISH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = { + { + .iv = 0, + .lvl = 21, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica1[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 0, + .lvl = 29, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[] = { + { + .iv = 100, + .lvl = 40, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = { + { + .iv = 150, + .lvl = 40, + .species = SPECIES_AZUMARILL, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[] = { + { + .iv = 100, + .lvl = 35, + .species = SPECIES_CLAMPERL, + .moves = MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE + }, + { + .iv = 100, + .lvl = 37, + .species = SPECIES_CORPHISH, + .moves = MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE + }, + { + .iv = 100, + .lvl = 39, + .species = SPECIES_LOMBRE, + .moves = MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[] = { + { + .iv = 100, + .lvl = 39, + .species = SPECIES_CARVANHA, + }, + { + .iv = 100, + .lvl = 39, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica2[] = { + { + .iv = 10, + .lvl = 35, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 10, + .lvl = 35, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica3[] = { + { + .iv = 20, + .lvl = 38, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 20, + .lvl = 38, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica4[] = { + { + .iv = 30, + .lvl = 41, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 30, + .lvl = 41, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica5[] = { + { + .iv = 40, + .lvl = 44, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 40, + .lvl = 44, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[] = { + { + .iv = 0, + .lvl = 7, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mollie[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_WHISCASH, + }, + { + .iv = 200, + .lvl = 33, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[] = { + { + .iv = 0, + .lvl = 45, + .species = SPECIES_AZUMARILL, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Winston2[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Winston3[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Winston4[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Winston5[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET, + .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_ARON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia1[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_WAILMER, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_HORSEA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mark[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_RHYHORN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = { + { + .iv = 0, + .lvl = 20, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = { + { + .iv = 10, + .lvl = 27, + .species = SPECIES_LAIRON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve3[] = { + { + .iv = 20, + .lvl = 29, + .species = SPECIES_LAIRON, + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_RHYHORN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve4[] = { + { + .iv = 30, + .lvl = 32, + .species = SPECIES_LAIRON, + }, + { + .iv = 30, + .lvl = 32, + .species = SPECIES_RHYHORN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve5[] = { + { + .iv = 40, + .lvl = 35, + .species = SPECIES_AGGRON, + }, + { + .iv = 40, + .lvl = 35, + .species = SPECIES_RHYDON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Douglas[] = { + { + .iv = 10, + .lvl = 24, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 10, + .lvl = 24, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darrin[] = { + { + .iv = 10, + .lvl = 24, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 10, + .lvl = 24, + .species = SPECIES_WINGULL, + }, + { + .iv = 10, + .lvl = 24, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony1[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_David[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spencer[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_WINGULL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roland[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_HORSEA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dean[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_CARVANHA, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rodney[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_PELIPPER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Herman[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Santiago[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_TENTACRUEL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gilbert[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_SEALEO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_SPHEAL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony2[] = { + { + .iv = 10, + .lvl = 30, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = { + { + .iv = 20, + .lvl = 33, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony4[] = { + { + .iv = 30, + .lvl = 34, + .species = SPECIES_STARYU, + }, + { + .iv = 30, + .lvl = 36, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony5[] = { + { + .iv = 40, + .lvl = 37, + .species = SPECIES_STARMIE, + }, + { + .iv = 40, + .lvl = 39, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takao[] = { + { + .iv = 127, + .lvl = 13, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hitoshi[] = { + { + .iv = 50, + .lvl = 32, + .species = SPECIES_MACHOP, + }, + { + .iv = 200, + .lvl = 32, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kiyo[] = { + { + .iv = 100, + .lvl = 34, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koichi[] = { + { + .iv = 100, + .lvl = 24, + .species = SPECIES_MACHOP, + }, + { + .iv = 150, + .lvl = 28, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob1[] = { + { + .iv = 100, + .lvl = 19, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = { + { + .iv = 110, + .lvl = 27, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob3[] = { + { + .iv = 120, + .lvl = 29, + .species = SPECIES_MACHOP, + }, + { + .iv = 120, + .lvl = 29, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob4[] = { + { + .iv = 130, + .lvl = 31, + .species = SPECIES_MACHOP, + }, + { + .iv = 130, + .lvl = 31, + .species = SPECIES_MACHOKE, + }, + { + .iv = 130, + .lvl = 31, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Nob5[] = { + { + .iv = 140, + .lvl = 33, + .species = SPECIES_MACHOP, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .lvl = 33, + .species = SPECIES_MACHOKE, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .lvl = 33, + .species = SPECIES_MACHOKE, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .lvl = 33, + .species = SPECIES_MACHAMP, + .heldItem = ITEM_BLACK_BELT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[] = { + { + .iv = 100, + .lvl = 26, + .species = SPECIES_MAKUHITA, + }, + { + .iv = 100, + .lvl = 26, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[] = { + { + .iv = 100, + .lvl = 19, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = { + { + .iv = 100, + .lvl = 32, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Kirk[] = { + { + .iv = 100, + .lvl = 17, + .species = SPECIES_ELECTRIKE, + .moves = MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER + }, + { + .iv = 100, + .lvl = 17, + .species = SPECIES_VOLTORB, + .moves = MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt25[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt26[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[] = { + { + .iv = 100, + .lvl = 17, + .species = SPECIES_VOLTORB, + }, + { + .iv = 100, + .lvl = 17, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando1[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton1[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 0, + .lvl = 15, + .species = SPECIES_WHISMUR, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton2[] = { + { + .iv = 10, + .lvl = 25, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_WHISMUR, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton3[] = { + { + .iv = 20, + .lvl = 28, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 20, + .lvl = 28, + .species = SPECIES_LOUDRED, + }, + { + .iv = 20, + .lvl = 28, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton4[] = { + { + .iv = 30, + .lvl = 31, + .species = SPECIES_MAGNETON, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_LOUDRED, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_MAGNETON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton5[] = { + { + .iv = 40, + .lvl = 34, + .species = SPECIES_MAGNETON, + }, + { + .iv = 40, + .lvl = 34, + .species = SPECIES_EXPLOUD, + }, + { + .iv = 40, + .lvl = 34, + .species = SPECIES_MAGNETON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cole[] = { + { + .iv = 100, + .lvl = 23, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[] = { + { + .iv = 100, + .lvl = 22, + .species = SPECIES_SLUGMA, + }, + { + .iv = 100, + .lvl = 22, + .species = SPECIES_SLUGMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Axle[] = { + { + .iv = 100, + .lvl = 23, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = { + { + .iv = 100, + .lvl = 23, + .species = SPECIES_SLUGMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = { + { + .iv = 120, + .lvl = 23, + .species = SPECIES_SLUGMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SLUGMA, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_WINGULL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[] = { + { + .iv = 10, + .lvl = 26, + .species = SPECIES_SLUGMA, + }, + { + .iv = 10, + .lvl = 26, + .species = SPECIES_WINGULL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie3[] = { + { + .iv = 20, + .lvl = 29, + .species = SPECIES_SLUGMA, + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_PELIPPER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie4[] = { + { + .iv = 30, + .lvl = 32, + .species = SPECIES_SLUGMA, + }, + { + .iv = 30, + .lvl = 32, + .species = SPECIES_PELIPPER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie5[] = { + { + .iv = 40, + .lvl = 35, + .species = SPECIES_MAGCARGO, + }, + { + .iv = 40, + .lvl = 35, + .species = SPECIES_PELIPPER, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Drew[] = { + { + .iv = 0, + .lvl = 23, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Beau[] = { + { + .iv = 0, + .lvl = 21, + .species = SPECIES_BALTOY, + .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + }, + { + .iv = 0, + .lvl = 21, + .species = SPECIES_SANDSHREW, + .moves = MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG + }, + { + .iv = 0, + .lvl = 21, + .species = SPECIES_BALTOY, + .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Larry[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[] = { + { + .iv = 0, + .lvl = 24, + .species = SPECIES_KECLEON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan1[] = { + { + .iv = 0, + .lvl = 20, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 20, + .species = SPECIES_TAILLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Autumn[] = { + { + .iv = 0, + .lvl = 21, + .species = SPECIES_SHROOMISH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SANDSHREW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan2[] = { + { + .iv = 10, + .lvl = 26, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 10, + .lvl = 26, + .species = SPECIES_TAILLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan3[] = { + { + .iv = 20, + .lvl = 29, + .species = SPECIES_LINOONE, + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_SWELLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan4[] = { + { + .iv = 30, + .lvl = 31, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_SWELLOW, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_LINOONE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan5[] = { + { + .iv = 40, + .lvl = 34, + .species = SPECIES_SWELLOW, + }, + { + .iv = 40, + .lvl = 34, + .species = SPECIES_SANDSLASH, + }, + { + .iv = 40, + .lvl = 34, + .species = SPECIES_LINOONE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[] = { + { + .iv = 100, + .lvl = 26, + .species = SPECIES_SURSKIT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[] = { + { + .iv = 100, + .lvl = 24, + .species = SPECIES_WURMPLE, + }, + { + .iv = 100, + .lvl = 24, + .species = SPECIES_SILCOON, + }, + { + .iv = 100, + .lvl = 24, + .species = SPECIES_BEAUTIFLY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[] = { + { + .iv = 100, + .lvl = 27, + .species = SPECIES_WURMPLE, + }, + { + .iv = 100, + .lvl = 27, + .species = SPECIES_CASCOON, + }, + { + .iv = 100, + .lvl = 27, + .species = SPECIES_DUSTOX, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey1[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_SURSKIT, + }, + { + .iv = 0, + .lvl = 27, + .species = SPECIES_SURSKIT, + }, + { + .iv = 0, + .lvl = 27, + .species = SPECIES_SURSKIT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[] = { + { + .iv = 150, + .lvl = 16, + .species = SPECIES_DUSTOX, + }, + { + .iv = 150, + .lvl = 16, + .species = SPECIES_BEAUTIFLY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey2[] = { + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SURSKIT, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SURSKIT, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SURSKIT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey3[] = { + { + .iv = 20, + .lvl = 34, + .species = SPECIES_SURSKIT, + }, + { + .iv = 20, + .lvl = 34, + .species = SPECIES_SURSKIT, + }, + { + .iv = 20, + .lvl = 34, + .species = SPECIES_MASQUERAIN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeffrey4[] = { + { + .iv = 30, + .lvl = 36, + .species = SPECIES_SURSKIT, + }, + { + .iv = 30, + .lvl = 36, + .species = SPECIES_WURMPLE, + }, + { + .iv = 30, + .lvl = 36, + .species = SPECIES_SURSKIT, + }, + { + .iv = 30, + .lvl = 36, + .species = SPECIES_MASQUERAIN, + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Jeffrey5[] = { + { + .iv = 40, + .lvl = 38, + .species = SPECIES_SURSKIT, + .heldItem = ITEM_NONE + }, + { + .iv = 40, + .lvl = 38, + .species = SPECIES_DUSTOX, + .heldItem = ITEM_NONE + }, + { + .iv = 40, + .lvl = 38, + .species = SPECIES_SURSKIT, + .heldItem = ITEM_NONE + }, + { + .iv = 40, + .lvl = 38, + .species = SPECIES_MASQUERAIN, + .heldItem = ITEM_SILVER_POWDER + }, + { + .iv = 40, + .lvl = 38, + .species = SPECIES_BEAUTIFLY, + .heldItem = ITEM_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_ABRA, + .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Preston[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_KIRLIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_RALTS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_GIRAFARIG, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_William[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_RALTS, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_RALTS, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_KIRLIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[] = { + { + .iv = 0, + .lvl = 41, + .species = SPECIES_KADABRA, + }, + { + .iv = 0, + .lvl = 41, + .species = SPECIES_SOLROCK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_SOLROCK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[] = { + { + .iv = 10, + .lvl = 33, + .species = SPECIES_KADABRA, + }, + { + .iv = 10, + .lvl = 33, + .species = SPECIES_SOLROCK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[] = { + { + .iv = 20, + .lvl = 38, + .species = SPECIES_KADABRA, + }, + { + .iv = 20, + .lvl = 38, + .species = SPECIES_SOLROCK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[] = { + { + .iv = 30, + .lvl = 41, + .species = SPECIES_KADABRA, + }, + { + .iv = 30, + .lvl = 41, + .species = SPECIES_SOLROCK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron5[] = { + { + .iv = 40, + .lvl = 45, + .species = SPECIES_SOLROCK, + }, + { + .iv = 40, + .lvl = 45, + .species = SPECIES_ALAKAZAM, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Jaclyn[] = { + { + .iv = 0, + .lvl = 16, + .species = SPECIES_ABRA, + .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hannah[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_KIRLIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_XATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_KADABRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kayla[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_WOBBUFFET, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_NATU, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_KADABRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[] = { + { + .iv = 0, + .lvl = 41, + .species = SPECIES_KIRLIA, + }, + { + .iv = 0, + .lvl = 41, + .species = SPECIES_XATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_KADABRA, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_LUNATONE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[] = { + { + .iv = 10, + .lvl = 34, + .species = SPECIES_KADABRA, + }, + { + .iv = 10, + .lvl = 34, + .species = SPECIES_LUNATONE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki3[] = { + { + .iv = 20, + .lvl = 37, + .species = SPECIES_KADABRA, + }, + { + .iv = 20, + .lvl = 37, + .species = SPECIES_LUNATONE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki4[] = { + { + .iv = 30, + .lvl = 40, + .species = SPECIES_KADABRA, + }, + { + .iv = 30, + .lvl = 40, + .species = SPECIES_LUNATONE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki5[] = { + { + .iv = 40, + .lvl = 43, + .species = SPECIES_LUNATONE, + }, + { + .iv = 40, + .lvl = 43, + .species = SPECIES_ALAKAZAM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter1[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_MANECTRIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Micah[] = { + { + .iv = 0, + .lvl = 44, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 0, + .lvl = 44, + .species = SPECIES_MANECTRIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[] = { + { + .iv = 0, + .lvl = 45, + .species = SPECIES_ZANGOOSE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = { + { + .iv = 10, + .lvl = 34, + .species = SPECIES_MANECTRIC, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter3[] = { + { + .iv = 20, + .lvl = 36, + .species = SPECIES_LINOONE, + .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + }, + { + .iv = 20, + .lvl = 36, + .species = SPECIES_MANECTRIC, + .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter4[] = { + { + .iv = 30, + .lvl = 39, + .species = SPECIES_LINOONE, + .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + }, + { + .iv = 30, + .lvl = 39, + .species = SPECIES_MANECTRIC, + .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Walter5[] = { + { + .iv = 40, + .lvl = 41, + .species = SPECIES_LINOONE, + .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + }, + { + .iv = 40, + .lvl = 41, + .species = SPECIES_GOLDUCK, + .moves = MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP + }, + { + .iv = 40, + .lvl = 41, + .species = SPECIES_MANECTRIC, + .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Sidney[] = { + { + .iv = 250, + .lvl = 46, + .species = SPECIES_MIGHTYENA, + .heldItem = ITEM_NONE, + .moves = MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH + }, + { + .iv = 250, + .lvl = 48, + .species = SPECIES_SHIFTRY, + .heldItem = ITEM_NONE, + .moves = MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY + }, + { + .iv = 250, + .lvl = 46, + .species = SPECIES_CACTURNE, + .heldItem = ITEM_NONE, + .moves = MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE + }, + { + .iv = 250, + .lvl = 48, + .species = SPECIES_CRAWDAUNT, + .heldItem = ITEM_NONE, + .moves = MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE + }, + { + .iv = 255, + .lvl = 49, + .species = SPECIES_ABSOL, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_SLASH + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Phoebe[] = { + { + .iv = 250, + .lvl = 48, + .species = SPECIES_DUSCLOPS, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT + }, + { + .iv = 250, + .lvl = 49, + .species = SPECIES_BANETTE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK + }, + { + .iv = 250, + .lvl = 50, + .species = SPECIES_SABLEYE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK + }, + { + .iv = 250, + .lvl = 49, + .species = SPECIES_BANETTE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE + }, + { + .iv = 255, + .lvl = 51, + .species = SPECIES_DUSCLOPS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[] = { + { + .iv = 250, + .lvl = 50, + .species = SPECIES_SEALEO, + .heldItem = ITEM_NONE, + .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL + }, + { + .iv = 250, + .lvl = 50, + .species = SPECIES_GLALIE, + .heldItem = ITEM_NONE, + .moves = MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM + }, + { + .iv = 250, + .lvl = 52, + .species = SPECIES_SEALEO, + .heldItem = ITEM_NONE, + .moves = MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD + }, + { + .iv = 250, + .lvl = 52, + .species = SPECIES_GLALIE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_WALREIN, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SURF, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_SHEER_COLD + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Drake[] = { + { + .iv = 250, + .lvl = 52, + .species = SPECIES_SHELGON, + .heldItem = ITEM_NONE, + .moves = MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE + }, + { + .iv = 250, + .lvl = 54, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_NONE, + .moves = MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE + }, + { + .iv = 250, + .lvl = 53, + .species = SPECIES_KINGDRA, + .heldItem = ITEM_NONE, + .moves = MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM + }, + { + .iv = 250, + .lvl = 53, + .species = SPECIES_FLYGON, + .heldItem = ITEM_NONE, + .moves = MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_SALAMENCE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_CRUNCH + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne1[] = { + { + .iv = 100, + .lvl = 12, + .species = SPECIES_GEODUDE, + .heldItem = ITEM_NONE, + .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB + }, + { + .iv = 100, + .lvl = 12, + .species = SPECIES_GEODUDE, + .heldItem = ITEM_NONE, + .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB + }, + { + .iv = 200, + .lvl = 15, + .species = SPECIES_NOSEPASS, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Brawly1[] = { + { + .iv = 100, + .lvl = 16, + .species = SPECIES_MACHOP, + .heldItem = ITEM_NONE, + .moves = MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP + }, + { + .iv = 100, + .lvl = 16, + .species = SPECIES_MEDITITE, + .heldItem = ITEM_NONE, + .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP + }, + { + .iv = 200, + .lvl = 19, + .species = SPECIES_MAKUHITA, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_ARM_THRUST, MOVE_VITAL_THROW, MOVE_REVERSAL, MOVE_BULK_UP + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Wattson1[] = { + { + .iv = 200, + .lvl = 20, + .species = SPECIES_VOLTORB, + .heldItem = ITEM_NONE, + .moves = MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE + }, + { + .iv = 200, + .lvl = 20, + .species = SPECIES_ELECTRIKE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL + }, + { + .iv = 220, + .lvl = 22, + .species = SPECIES_MAGNETON, + .heldItem = ITEM_NONE, + .moves = MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM + }, + { + .iv = 250, + .lvl = 24, + .species = SPECIES_MANECTRIC, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_HOWL + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Flannery1[] = { + { + .iv = 200, + .lvl = 24, + .species = SPECIES_NUMEL, + .heldItem = ITEM_NONE, + .moves = MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + }, + { + .iv = 200, + .lvl = 24, + .species = SPECIES_SLUGMA, + .heldItem = ITEM_NONE, + .moves = MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY + }, + { + .iv = 250, + .lvl = 26, + .species = SPECIES_CAMERUPT, + .heldItem = ITEM_NONE, + .moves = MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT + }, + { + .iv = 250, + .lvl = 29, + .species = SPECIES_TORKOAL, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_BODY_SLAM, MOVE_ATTRACT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Norman1[] = { + { + .iv = 200, + .lvl = 27, + .species = SPECIES_SPINDA, + .heldItem = ITEM_NONE, + .moves = MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE + }, + { + .iv = 200, + .lvl = 27, + .species = SPECIES_VIGOROTH, + .heldItem = ITEM_NONE, + .moves = MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK + }, + { + .iv = 200, + .lvl = 29, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NONE, + .moves = MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT + }, + { + .iv = 250, + .lvl = 31, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Winona1[] = { + { + .iv = 210, + .lvl = 29, + .species = SPECIES_SWABLU, + .heldItem = ITEM_NONE, + .moves = MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE + }, + { + .iv = 210, + .lvl = 29, + .species = SPECIES_TROPIUS, + .heldItem = ITEM_NONE, + .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS + }, + { + .iv = 210, + .lvl = 30, + .species = SPECIES_PELIPPER, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + }, + { + .iv = 220, + .lvl = 31, + .species = SPECIES_SKARMORY, + .heldItem = ITEM_NONE, + .moves = MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 33, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza1[] = { + { + .iv = 250, + .lvl = 41, + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_NONE, + .moves = MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + }, + { + .iv = 250, + .lvl = 41, + .species = SPECIES_XATU, + .heldItem = ITEM_NONE, + .moves = MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + }, + { + .iv = 250, + .lvl = 42, + .species = SPECIES_LUNATONE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND + }, + { + .iv = 250, + .lvl = 42, + .species = SPECIES_SOLROCK, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Juan1[] = { + { + .iv = 200, + .lvl = 41, + .species = SPECIES_LUVDISC, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL + }, + { + .iv = 200, + .lvl = 41, + .species = SPECIES_WHISCASH, + .heldItem = ITEM_NONE, + .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE + }, + { + .iv = 200, + .lvl = 43, + .species = SPECIES_SEALEO, + .heldItem = ITEM_NONE, + .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE + }, + { + .iv = 200, + .lvl = 43, + .species = SPECIES_CRAWDAUNT, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER + }, + { + .iv = 250, + .lvl = 46, + .species = SPECIES_KINGDRA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry1[] = { + { + .iv = 10, + .lvl = 9, + .species = SPECIES_RALTS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = { + { + .iv = 10, + .lvl = 17, + .species = SPECIES_RALTS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[] = { + { + .iv = 10, + .lvl = 15, + .species = SPECIES_NUMEL, + }, + { + .iv = 10, + .lvl = 15, + .species = SPECIES_ODDISH, + }, + { + .iv = 10, + .lvl = 15, + .species = SPECIES_WINGULL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry2[] = { + { + .iv = 20, + .lvl = 26, + .species = SPECIES_RALTS, + }, + { + .iv = 20, + .lvl = 26, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry3[] = { + { + .iv = 30, + .lvl = 29, + .species = SPECIES_KIRLIA, + }, + { + .iv = 30, + .lvl = 29, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry4[] = { + { + .iv = 40, + .lvl = 32, + .species = SPECIES_KIRLIA, + }, + { + .iv = 40, + .lvl = 32, + .species = SPECIES_MEDICHAM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry5[] = { + { + .iv = 50, + .lvl = 34, + .species = SPECIES_KIRLIA, + }, + { + .iv = 50, + .lvl = 34, + .species = SPECIES_BANETTE, + }, + { + .iv = 50, + .lvl = 34, + .species = SPECIES_MEDICHAM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen1[] = { + { + .iv = 10, + .lvl = 9, + .species = SPECIES_SHROOMISH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[] = { + { + .iv = 10, + .lvl = 16, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 10, + .lvl = 16, + .species = SPECIES_BEAUTIFLY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen2[] = { + { + .iv = 20, + .lvl = 26, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 20, + .lvl = 26, + .species = SPECIES_WHISMUR, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen3[] = { + { + .iv = 30, + .lvl = 29, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 30, + .lvl = 29, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen4[] = { + { + .iv = 40, + .lvl = 32, + .species = SPECIES_BRELOOM, + }, + { + .iv = 40, + .lvl = 32, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen5[] = { + { + .iv = 50, + .lvl = 35, + .species = SPECIES_BRELOOM, + }, + { + .iv = 50, + .lvl = 35, + .species = SPECIES_EXPLOUD, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_KateAndJoy[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_SPINDA, + .moves = MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE + }, + { + .iv = 0, + .lvl = 32, + .species = SPECIES_SLAKING, + .moves = MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 0, + .lvl = 17, + .species = SPECIES_MAKUHITA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[] = { + { + .iv = 10, + .lvl = 28, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 10, + .lvl = 30, + .species = SPECIES_MAKUHITA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg3[] = { + { + .iv = 20, + .lvl = 31, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_MAKUHITA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg4[] = { + { + .iv = 30, + .lvl = 34, + .species = SPECIES_LINOONE, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 30, + .lvl = 36, + .species = SPECIES_MAKUHITA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg5[] = { + { + .iv = 40, + .lvl = 36, + .species = SPECIES_LINOONE, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 40, + .lvl = 38, + .species = SPECIES_HARIYAMA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Victor[] = { + { + .iv = 25, + .lvl = 16, + .species = SPECIES_TAILLOW, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 25, + .lvl = 16, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel1[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Colton[] = { + { + .iv = 0, + .lvl = 22, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .lvl = 36, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .lvl = 40, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .lvl = 12, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .lvl = 42, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel4[] = { + { + .iv = 0, + .lvl = 35, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel5[] = { + { + .iv = 0, + .lvl = 38, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_SITRUS_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Victoria[] = { + { + .iv = 50, + .lvl = 17, + .species = SPECIES_ROSELIA, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Vanessa[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_PIKACHU, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Bethany[] = { + { + .iv = 100, + .lvl = 35, + .species = SPECIES_AZURILL, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 100, + .lvl = 37, + .species = SPECIES_MARILL, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 100, + .lvl = 39, + .species = SPECIES_AZUMARILL, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[] = { + { + .iv = 10, + .lvl = 26, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 10, + .lvl = 26, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel3[] = { + { + .iv = 20, + .lvl = 29, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel4[] = { + { + .iv = 30, + .lvl = 32, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 30, + .lvl = 32, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel5[] = { + { + .iv = 40, + .lvl = 35, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_SITRUS_BERRY + }, + { + .iv = 40, + .lvl = 35, + .species = SPECIES_MINUN, + .heldItem = ITEM_SITRUS_BERRY + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timothy1[] = { + { + .iv = 200, + .lvl = 27, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy2[] = { + { + .iv = 210, + .lvl = 33, + .species = SPECIES_HARIYAMA, + .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy3[] = { + { + .iv = 220, + .lvl = 36, + .species = SPECIES_HARIYAMA, + .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy4[] = { + { + .iv = 230, + .lvl = 39, + .species = SPECIES_HARIYAMA, + .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy5[] = { + { + .iv = 240, + .lvl = 42, + .species = SPECIES_HARIYAMA, + .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Vicky[] = { + { + .iv = 200, + .lvl = 18, + .species = SPECIES_MEDITITE, + .moves = MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[] = { + { + .iv = 200, + .lvl = 21, + .species = SPECIES_MEDITITE, + }, + { + .iv = 200, + .lvl = 21, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[] = { + { + .iv = 210, + .lvl = 30, + .species = SPECIES_MEDITITE, + }, + { + .iv = 210, + .lvl = 30, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[] = { + { + .iv = 220, + .lvl = 33, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 220, + .lvl = 33, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby4[] = { + { + .iv = 230, + .lvl = 36, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 230, + .lvl = 36, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby5[] = { + { + .iv = 240, + .lvl = 39, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 240, + .lvl = 39, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Billy[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 7, + .species = SPECIES_SEEDOT, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[] = { + { + .iv = 100, + .lvl = 10, + .species = SPECIES_GEODUDE, + .moves = MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[] = { + { + .iv = 110, + .lvl = 8, + .species = SPECIES_GEODUDE, + }, + { + .iv = 120, + .lvl = 8, + .species = SPECIES_GEODUDE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joey[] = { + { + .iv = 0, + .lvl = 9, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[] = { + { + .iv = 150, + .lvl = 17, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT + }, + { + .iv = 150, + .lvl = 17, + .species = SPECIES_GULPIN, + .moves = MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Quincy[] = { + { + .iv = 100, + .lvl = 43, + .species = SPECIES_SLAKING, + .moves = MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER + }, + { + .iv = 100, + .lvl = 43, + .species = SPECIES_DUSCLOPS, + .moves = MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Katelynn[] = { + { + .iv = 100, + .lvl = 43, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND + }, + { + .iv = 100, + .lvl = 43, + .species = SPECIES_SLAKING, + .moves = MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaylen[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_TRAPINCH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_ARON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = { + { + .iv = 10, + .lvl = 27, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[] = { + { + .iv = 20, + .lvl = 28, + .species = SPECIES_SWELLOW, + }, + { + .iv = 20, + .lvl = 30, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin4[] = { + { + .iv = 30, + .lvl = 31, + .species = SPECIES_SWELLOW, + }, + { + .iv = 30, + .lvl = 29, + .species = SPECIES_LINOONE, + }, + { + .iv = 30, + .lvl = 33, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin5[] = { + { + .iv = 40, + .lvl = 34, + .species = SPECIES_SWELLOW, + }, + { + .iv = 40, + .lvl = 32, + .species = SPECIES_LINOONE, + }, + { + .iv = 40, + .lvl = 36, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 16, + .species = SPECIES_ZIGZAGOON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[] = { + { + .iv = 0, + .lvl = 4, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 3, + .species = SPECIES_TAILLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Timmy[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_ARON, + }, + { + .iv = 0, + .lvl = 13, + .species = SPECIES_ELECTRIKE, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Wallace[] = { + { + .iv = 255, + .lvl = 57, + .species = SPECIES_WAILORD, + .heldItem = ITEM_NONE, + .moves = MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_TENTACRUEL, + .heldItem = ITEM_NONE, + .moves = MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 56, + .species = SPECIES_LUDICOLO, + .heldItem = ITEM_NONE, + .moves = MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM + }, + { + .iv = 255, + .lvl = 56, + .species = SPECIES_WHISCASH, + .heldItem = ITEM_NONE, + .moves = MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM + }, + { + .iv = 255, + .lvl = 56, + .species = SPECIES_GYARADOS, + .heldItem = ITEM_NONE, + .moves = MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF + }, + { + .iv = 255, + .lvl = 58, + .species = SPECIES_MILOTIC, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_RECOVER, MOVE_SURF, MOVE_ICE_BEAM, MOVE_TOXIC + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrew[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 10, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 15, + .species = SPECIES_MAGIKARP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ivan[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 6, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 7, + .species = SPECIES_MAGIKARP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Claude[] = { + { + .iv = 0, + .lvl = 16, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 17, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_BARBOACH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[] = { + { + .iv = 0, + .lvl = 10, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 7, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 10, + .species = SPECIES_MAGIKARP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[] = { + { + .iv = 10, + .lvl = 11, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dale[] = { + { + .iv = 0, + .lvl = 11, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_WAILMER, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolan[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_BARBOACH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barny[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wade[] = { + { + .iv = 0, + .lvl = 16, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carter[] = { + { + .iv = 10, + .lvl = 25, + .species = SPECIES_WAILMER, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[] = { + { + .iv = 10, + .lvl = 24, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 10, + .lvl = 27, + .species = SPECIES_GYARADOS, + }, + { + .iv = 10, + .lvl = 27, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot3[] = { + { + .iv = 20, + .lvl = 29, + .species = SPECIES_GYARADOS, + }, + { + .iv = 20, + .lvl = 26, + .species = SPECIES_CARVANHA, + }, + { + .iv = 20, + .lvl = 26, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot4[] = { + { + .iv = 30, + .lvl = 31, + .species = SPECIES_GYARADOS, + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_CARVANHA, + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_TENTACRUEL, + }, + { + .iv = 31, + .lvl = 31, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot5[] = { + { + .iv = 40, + .lvl = 33, + .species = SPECIES_GYARADOS, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_SHARPEDO, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_GYARADOS, + }, + { + .iv = 40, + .lvl = 35, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ronald[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 21, + .species = SPECIES_GYARADOS, + }, + { + .iv = 0, + .lvl = 23, + .species = SPECIES_GYARADOS, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_GYARADOS, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_GYARADOS, + }, + { + .iv = 0, + .lvl = 35, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[] = { + { + .iv = 20, + .lvl = 6, + .species = SPECIES_VOLTORB, + }, + { + .iv = 20, + .lvl = 6, + .species = SPECIES_VOLTORB, + }, + { + .iv = 200, + .lvl = 14, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[] = { + { + .iv = 0, + .lvl = 16, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = { + { + .iv = 10, + .lvl = 30, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = { + { + .iv = 20, + .lvl = 33, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = { + { + .iv = 30, + .lvl = 36, + .species = SPECIES_MAGNETON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = { + { + .iv = 40, + .lvl = 39, + .species = SPECIES_MAGNETON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = { + { + .iv = 0, + .lvl = 16, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[] = { + { + .iv = 80, + .lvl = 14, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 80, + .lvl = 14, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 0, + .lvl = 6, + .species = SPECIES_VOLTORB, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[] = { + { + .iv = 10, + .lvl = 28, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = { + { + .iv = 20, + .lvl = 31, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = { + { + .iv = 30, + .lvl = 34, + .species = SPECIES_MAGNETON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = { + { + .iv = 40, + .lvl = 37, + .species = SPECIES_MAGNETON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_DODUO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = { + { + .iv = 10, + .lvl = 28, + .species = SPECIES_DODUO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = { + { + .iv = 20, + .lvl = 31, + .species = SPECIES_DODUO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = { + { + .iv = 30, + .lvl = 34, + .species = SPECIES_DODRIO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = { + { + .iv = 40, + .lvl = 37, + .species = SPECIES_DODRIO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_DODUO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = { + { + .iv = 10, + .lvl = 28, + .species = SPECIES_DODUO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = { + { + .iv = 20, + .lvl = 31, + .species = SPECIES_DODUO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = { + { + .iv = 30, + .lvl = 34, + .species = SPECIES_DODRIO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = { + { + .iv = 40, + .lvl = 37, + .species = SPECIES_DODRIO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camden[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_STARYU, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Demetrius[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_ELECTRIKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[] = { + { + .iv = 0, + .lvl = 35, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo1[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_STARYU, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chase[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_WINGULL, + }, + { + .iv = 80, + .lvl = 34, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[] = { + { + .iv = 10, + .lvl = 39, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = { + { + .iv = 20, + .lvl = 42, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = { + { + .iv = 30, + .lvl = 45, + .species = SPECIES_STARMIE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = { + { + .iv = 40, + .lvl = 48, + .species = SPECIES_STARMIE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donny[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_WINGULL, + }, + { + .iv = 160, + .lvl = 34, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Talia[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = { + { + .iv = 0, + .lvl = 35, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allison[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_WINGULL, + }, + { + .iv = 240, + .lvl = 33, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[] = { + { + .iv = 10, + .lvl = 39, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = { + { + .iv = 20, + .lvl = 42, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = { + { + .iv = 30, + .lvl = 45, + .species = SPECIES_STARMIE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = { + { + .iv = 40, + .lvl = 48, + .species = SPECIES_STARMIE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[] = { + { + .iv = 100, + .lvl = 37, + .species = SPECIES_ALTARIA, + }, + { + .iv = 100, + .lvl = 37, + .species = SPECIES_ALTARIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[] = { + { + .iv = 110, + .lvl = 41, + .species = SPECIES_ALTARIA, + }, + { + .iv = 110, + .lvl = 41, + .species = SPECIES_ALTARIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[] = { + { + .iv = 120, + .lvl = 44, + .species = SPECIES_ALTARIA, + }, + { + .iv = 120, + .lvl = 44, + .species = SPECIES_ALTARIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas4[] = { + { + .iv = 130, + .lvl = 46, + .species = SPECIES_BAGON, + }, + { + .iv = 130, + .lvl = 46, + .species = SPECIES_ALTARIA, + }, + { + .iv = 130, + .lvl = 46, + .species = SPECIES_ALTARIA, + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Nicolas5[] = { + { + .iv = 140, + .lvl = 49, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .lvl = 49, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .lvl = 49, + .species = SPECIES_SHELGON, + .heldItem = ITEM_DRAGON_FANG + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Aaron[] = { + { + .iv = 255, + .lvl = 34, + .species = SPECIES_BAGON, + .moves = MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perry[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_WINGULL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hugh[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_TROPIUS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phil[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_SWELLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[] = { + { + .iv = 100, + .lvl = 27, + .species = SPECIES_DODUO, + }, + { + .iv = 100, + .lvl = 27, + .species = SPECIES_SKARMORY, + }, + { + .iv = 100, + .lvl = 27, + .species = SPECIES_TROPIUS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Humberto[] = { + { + .iv = 250, + .lvl = 30, + .species = SPECIES_SKARMORY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Presley[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_TROPIUS, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_XATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwardo[] = { + { + .iv = 150, + .lvl = 29, + .species = SPECIES_DODUO, + }, + { + .iv = 150, + .lvl = 29, + .species = SPECIES_PELIPPER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Colin[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_NATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert1[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_SWABLU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_SWELLOW, + }, + { + .iv = 0, + .lvl = 36, + .species = SPECIES_PELIPPER, + }, + { + .iv = 0, + .lvl = 36, + .species = SPECIES_XATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chester[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_TAILLOW, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_SWELLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert2[] = { + { + .iv = 10, + .lvl = 32, + .species = SPECIES_NATU, + }, + { + .iv = 10, + .lvl = 32, + .species = SPECIES_SWABLU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert3[] = { + { + .iv = 20, + .lvl = 35, + .species = SPECIES_NATU, + }, + { + .iv = 20, + .lvl = 35, + .species = SPECIES_ALTARIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert4[] = { + { + .iv = 30, + .lvl = 38, + .species = SPECIES_NATU, + }, + { + .iv = 30, + .lvl = 38, + .species = SPECIES_ALTARIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert5[] = { + { + .iv = 40, + .lvl = 41, + .species = SPECIES_ALTARIA, + }, + { + .iv = 40, + .lvl = 41, + .species = SPECIES_XATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alex[] = { + { + .iv = 150, + .lvl = 33, + .species = SPECIES_NATU, + }, + { + .iv = 150, + .lvl = 33, + .species = SPECIES_SWELLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beck[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_TROPIUS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_NINJASK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Takashi[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_NINJASK, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_KOFFING, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Dianne[] = { + { + .iv = 0, + .lvl = 43, + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_NONE, + .moves = MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + }, + { + .iv = 0, + .lvl = 43, + .species = SPECIES_LANTURN, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jani[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT + }, + { + .iv = 0, + .lvl = 17, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT + }, + { + .iv = 0, + .lvl = 17, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lung[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_KOFFING, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_NINJASK, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[] = { + { + .iv = 0, + .lvl = 24, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 0, + .lvl = 24, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 0, + .lvl = 24, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao3[] = { + { + .iv = 20, + .lvl = 27, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 20, + .lvl = 27, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 20, + .lvl = 27, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao4[] = { + { + .iv = 30, + .lvl = 30, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 30, + .lvl = 32, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Lao5[] = { + { + .iv = 40, + .lvl = 33, + .species = SPECIES_KOFFING, + .heldItem = ITEM_NONE, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_KOFFING, + .heldItem = ITEM_NONE, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_KOFFING, + .heldItem = ITEM_NONE, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 40, + .lvl = 35, + .species = SPECIES_WEEZING, + .heldItem = ITEM_SMOKE_BALL, + .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jocelyn[] = { + { + .iv = 127, + .lvl = 13, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = { + { + .iv = 150, + .lvl = 13, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[] = { + { + .iv = 100, + .lvl = 18, + .species = SPECIES_MEDITITE, + }, + { + .iv = 100, + .lvl = 18, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[] = { + { + .iv = 100, + .lvl = 27, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = { + { + .iv = 100, + .lvl = 27, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[] = { + { + .iv = 110, + .lvl = 26, + .species = SPECIES_MEDITITE, + }, + { + .iv = 110, + .lvl = 26, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy3[] = { + { + .iv = 120, + .lvl = 29, + .species = SPECIES_MEDITITE, + }, + { + .iv = 120, + .lvl = 29, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy4[] = { + { + .iv = 130, + .lvl = 32, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 130, + .lvl = 32, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy5[] = { + { + .iv = 140, + .lvl = 35, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 140, + .lvl = 35, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_NUMEL, + .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarissa[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_ROSELIA, + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Angelica[] = { + { + .iv = 50, + .lvl = 30, + .species = SPECIES_CASTFORM, + .moves = MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[] = { + { + .iv = 10, + .lvl = 29, + .species = SPECIES_NUMEL, + .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline3[] = { + { + .iv = 20, + .lvl = 32, + .species = SPECIES_NUMEL, + .moves = MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline4[] = { + { + .iv = 30, + .lvl = 34, + .species = SPECIES_ROSELIA, + .moves = MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY + }, + { + .iv = 30, + .lvl = 34, + .species = SPECIES_NUMEL, + .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline5[] = { + { + .iv = 40, + .lvl = 37, + .species = SPECIES_ROSELIA, + .moves = MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY + }, + { + .iv = 40, + .lvl = 37, + .species = SPECIES_CAMERUPT, + .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Imani[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tara[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_HORSEA, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Missy[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[] = { + { + .iv = 0, + .lvl = 24, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 0, + .lvl = 24, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 24, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_LUVDISC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_SEAKING, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nikki[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_MARILL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_SPHEAL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenda[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katie[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_SPHEAL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susie[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_LUVDISC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_SEAKING, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_AZUMARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sienna[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_LUVDISC, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_LUVDISC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Debra[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_SEAKING, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_HORSEA, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_SEADRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_LANTURN, + }, + { + .iv = 0, + .lvl = 34, + .species = SPECIES_PELIPPER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurel[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_LUVDISC, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_LUVDISC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carlee[] = { + { + .iv = 0, + .lvl = 35, + .species = SPECIES_SEAKING, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = { + { + .iv = 0, + .lvl = 38, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = { + { + .iv = 0, + .lvl = 41, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[] = { + { + .iv = 0, + .lvl = 43, + .species = SPECIES_STARYU, + }, + { + .iv = 0, + .lvl = 43, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny5[] = { + { + .iv = 0, + .lvl = 45, + .species = SPECIES_LUVDISC, + }, + { + .iv = 0, + .lvl = 45, + .species = SPECIES_WAILMER, + }, + { + .iv = 0, + .lvl = 45, + .species = SPECIES_STARMIE, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Heidi[] = { + { + .iv = 0, + .lvl = 22, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH + }, + { + .iv = 0, + .lvl = 22, + .species = SPECIES_BALTOY, + .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Becky[] = { + { + .iv = 0, + .lvl = 22, + .species = SPECIES_SANDSHREW, + .moves = MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG + }, + { + .iv = 0, + .lvl = 22, + .species = SPECIES_MARILL, + .moves = MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carol[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_TAILLOW, + }, + { + .iv = 0, + .lvl = 17, + .species = SPECIES_LOMBRE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nancy[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_MARILL, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_LOMBRE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[] = { + { + .iv = 0, + .lvl = 23, + .species = SPECIES_SKITTY, + }, + { + .iv = 0, + .lvl = 23, + .species = SPECIES_SWABLU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .lvl = 19, + .species = SPECIES_ODDISH, + }, + { + .iv = 0, + .lvl = 19, + .species = SPECIES_SWABLU, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Cedric[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_WOBBUFFET, + .moves = MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Irene[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .lvl = 17, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[] = { + { + .iv = 10, + .lvl = 25, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_GLOOM, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_SWABLU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[] = { + { + .iv = 20, + .lvl = 28, + .species = SPECIES_BRELOOM, + }, + { + .iv = 20, + .lvl = 28, + .species = SPECIES_GLOOM, + }, + { + .iv = 20, + .lvl = 28, + .species = SPECIES_SWABLU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[] = { + { + .iv = 30, + .lvl = 31, + .species = SPECIES_BRELOOM, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_GLOOM, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_SWABLU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana5[] = { + { + .iv = 40, + .lvl = 40, + .species = SPECIES_BRELOOM, + }, + { + .iv = 40, + .lvl = 40, + .species = SPECIES_VILEPLUME, + }, + { + .iv = 40, + .lvl = 40, + .species = SPECIES_ALTARIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_PLUSLE, + }, + { + .iv = 0, + .lvl = 15, + .species = SPECIES_MINUN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[] = { + { + .iv = 10, + .lvl = 27, + .species = SPECIES_PLUSLE, + }, + { + .iv = 10, + .lvl = 27, + .species = SPECIES_MINUN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_GinaAndMia1[] = { + { + .iv = 0, + .lvl = 6, + .species = SPECIES_SEEDOT, + }, + { + .iv = 0, + .lvl = 6, + .species = SPECIES_LOTAD, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_MiuAndYuki[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_BEAUTIFLY, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_DUSTOX, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[] = { + { + .iv = 0, + .lvl = 9, + .species = SPECIES_PLUSLE, + }, + { + .iv = 0, + .lvl = 9, + .species = SPECIES_MINUN, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia2[] = { + { + .iv = 0, + .lvl = 10, + .species = SPECIES_DUSKULL, + .moves = MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE + }, + { + .iv = 0, + .lvl = 10, + .species = SPECIES_SHROOMISH, + .moves = MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv4[] = { + { + .iv = 20, + .lvl = 30, + .species = SPECIES_PLUSLE, + }, + { + .iv = 20, + .lvl = 30, + .species = SPECIES_MINUN, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[] = { + { + .iv = 30, + .lvl = 33, + .species = SPECIES_PLUSLE, + .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND + }, + { + .iv = 30, + .lvl = 33, + .species = SPECIES_MINUN, + .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv6[] = { + { + .iv = 40, + .lvl = 36, + .species = SPECIES_PLUSLE, + .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND + }, + { + .iv = 40, + .lvl = 36, + .species = SPECIES_MINUN, + .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Huey[] = { + { + .iv = 10, + .lvl = 12, + .species = SPECIES_WINGULL, + }, + { + .iv = 10, + .lvl = 12, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edmond[] = { + { + .iv = 0, + .lvl = 13, + .species = SPECIES_WINGULL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[] = { + { + .iv = 0, + .lvl = 11, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_MACHOP, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[] = { + { + .iv = 0, + .lvl = 44, + .species = SPECIES_TENTACRUEL, + }, + { + .iv = 0, + .lvl = 44, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[] = { + { + .iv = 0, + .lvl = 43, + .species = SPECIES_MACHOP, + }, + { + .iv = 0, + .lvl = 43, + .species = SPECIES_PELIPPER, + }, + { + .iv = 0, + .lvl = 43, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Duncan[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[] = { + { + .iv = 10, + .lvl = 36, + .species = SPECIES_WINGULL, + }, + { + .iv = 10, + .lvl = 36, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 10, + .lvl = 36, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[] = { + { + .iv = 20, + .lvl = 39, + .species = SPECIES_PELIPPER, + }, + { + .iv = 20, + .lvl = 39, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 20, + .lvl = 39, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[] = { + { + .iv = 30, + .lvl = 42, + .species = SPECIES_PELIPPER, + }, + { + .iv = 30, + .lvl = 42, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 30, + .lvl = 42, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[] = { + { + .iv = 40, + .lvl = 45, + .species = SPECIES_PELIPPER, + }, + { + .iv = 40, + .lvl = 45, + .species = SPECIES_MACHOKE, + }, + { + .iv = 40, + .lvl = 45, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eli[] = { + { + .iv = 100, + .lvl = 23, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Annika[] = { + { + .iv = 100, + .lvl = 39, + .species = SPECIES_FEEBAS, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT + }, + { + .iv = 100, + .lvl = 39, + .species = SPECIES_FEEBAS, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jazmyn[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_ABSOL, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Jonas[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_KOFFING, + .moves = MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Kayley[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_CASTFORM, + .moves = MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Auron[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_MACHAMP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[] = { + { + .iv = 150, + .lvl = 33, + .species = SPECIES_MACHOKE, + }, + { + .iv = 150, + .lvl = 33, + .species = SPECIES_SPHEAL, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Marley[] = { + { + .iv = 255, + .lvl = 34, + .species = SPECIES_MANECTRIC, + .heldItem = ITEM_NONE, + .moves = MOVE_BITE, MOVE_ROAR, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reyna[] = { + { + .iv = 50, + .lvl = 33, + .species = SPECIES_MEDITITE, + }, + { + .iv = 200, + .lvl = 33, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hudson[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Conor[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_CHINCHOU, + }, + { + .iv = 200, + .lvl = 33, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_LOMBRE, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_ZANGOOSE, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SEVIPER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha1[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_CAMERUPT, + }, + { + .iv = 100, + .lvl = 38, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 100, + .lvl = 40, + .species = SPECIES_GOLBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_LOMBRE, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_LOMBRE, + }, + { + .iv = 0, + .lvl = 29, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_LOMBRE, + }, + { + .iv = 0, + .lvl = 32, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin5[] = { + { + .iv = 0, + .lvl = 35, + .species = SPECIES_LUDICOLO, + }, + { + .iv = 0, + .lvl = 35, + .species = SPECIES_SHIFTRY, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally1[] = { + { + .iv = 150, + .lvl = 44, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .lvl = 43, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .lvl = 44, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .lvl = 41, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .lvl = 45, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_TREECKO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[] = { + { + .iv = 50, + .lvl = 18, + .species = SPECIES_SLUGMA, + }, + { + .iv = 50, + .lvl = 18, + .species = SPECIES_WINGULL, + }, + { + .iv = 100, + .lvl = 20, + .species = SPECIES_GROVYLE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_SLUGMA, + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_PELIPPER, + }, + { + .iv = 150, + .lvl = 31, + .species = SPECIES_GROVYLE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_TORCHIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[] = { + { + .iv = 50, + .lvl = 18, + .species = SPECIES_WINGULL, + }, + { + .iv = 50, + .lvl = 18, + .species = SPECIES_LOMBRE, + }, + { + .iv = 100, + .lvl = 20, + .species = SPECIES_COMBUSKEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_PELIPPER, + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_LOMBRE, + }, + { + .iv = 150, + .lvl = 31, + .species = SPECIES_COMBUSKEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_MUDKIP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[] = { + { + .iv = 50, + .lvl = 18, + .species = SPECIES_LOMBRE, + }, + { + .iv = 50, + .lvl = 18, + .species = SPECIES_SLUGMA, + }, + { + .iv = 100, + .lvl = 20, + .species = SPECIES_MARSHTOMP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_LOMBRE, + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_SLUGMA, + }, + { + .iv = 150, + .lvl = 31, + .species = SPECIES_MARSHTOMP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_TREECKO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[] = { + { + .iv = 50, + .lvl = 18, + .species = SPECIES_WINGULL, + }, + { + .iv = 50, + .lvl = 18, + .species = SPECIES_SLUGMA, + }, + { + .iv = 100, + .lvl = 20, + .species = SPECIES_GROVYLE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_SLUGMA, + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_LOMBRE, + }, + { + .iv = 150, + .lvl = 31, + .species = SPECIES_GROVYLE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_TORCHIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[] = { + { + .iv = 50, + .lvl = 18, + .species = SPECIES_WINGULL, + }, + { + .iv = 50, + .lvl = 18, + .species = SPECIES_LOMBRE, + }, + { + .iv = 100, + .lvl = 20, + .species = SPECIES_COMBUSKEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_PELIPPER, + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_LOMBRE, + }, + { + .iv = 150, + .lvl = 31, + .species = SPECIES_COMBUSKEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_MUDKIP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May8[] = { + { + .iv = 50, + .lvl = 18, + .species = SPECIES_LOMBRE, + }, + { + .iv = 50, + .lvl = 18, + .species = SPECIES_SLUGMA, + }, + { + .iv = 100, + .lvl = 20, + .species = SPECIES_MARSHTOMP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May9[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_LOMBRE, + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_SLUGMA, + }, + { + .iv = 150, + .lvl = 31, + .species = SPECIES_MARSHTOMP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[] = { + { + .iv = 0, + .lvl = 11, + .species = SPECIES_WHISMUR, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_ARON, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_TAILLOW, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Davis[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_PINSIR, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Mitchell[] = { + { + .iv = 0, + .lvl = 43, + .species = SPECIES_LUNATONE, + .moves = MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC + }, + { + .iv = 0, + .lvl = 43, + .species = SPECIES_SOLROCK, + .moves = MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[] = { + { + .iv = 10, + .lvl = 22, + .species = SPECIES_LOUDRED, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_LINOONE, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_ARON, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_SWELLOW, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[] = { + { + .iv = 20, + .lvl = 25, + .species = SPECIES_LOUDRED, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_LINOONE, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_ARON, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_SWELLOW, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[] = { + { + .iv = 30, + .lvl = 28, + .species = SPECIES_LOUDRED, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_LINOONE, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_ARON, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_SWELLOW, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[] = { + { + .iv = 40, + .lvl = 31, + .species = SPECIES_LOUDRED, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_LINOONE, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_LAIRON, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_SWELLOW, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_HARIYAMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[] = { + { + .iv = 0, + .lvl = 11, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_MARILL, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_ROSELIA, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_SKITTY, + }, + { + .iv = 0, + .lvl = 11, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Halle[] = { + { + .iv = 0, + .lvl = 43, + .species = SPECIES_SABLEYE, + }, + { + .iv = 0, + .lvl = 43, + .species = SPECIES_ABSOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Garrison[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_SANDSLASH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[] = { + { + .iv = 10, + .lvl = 22, + .species = SPECIES_WINGULL, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_MARILL, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_ROSELIA, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_SKITTY, + }, + { + .iv = 10, + .lvl = 22, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[] = { + { + .iv = 20, + .lvl = 25, + .species = SPECIES_PELIPPER, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_BRELOOM, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_MARILL, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_ROSELIA, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_DELCATTY, + }, + { + .iv = 20, + .lvl = 25, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[] = { + { + .iv = 30, + .lvl = 28, + .species = SPECIES_PELIPPER, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_BRELOOM, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_MARILL, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_ROSELIA, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_DELCATTY, + }, + { + .iv = 30, + .lvl = 28, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia5[] = { + { + .iv = 40, + .lvl = 31, + .species = SPECIES_PELIPPER, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_BRELOOM, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_AZUMARILL, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_ROSELIA, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_DELCATTY, + }, + { + .iv = 40, + .lvl = 31, + .species = SPECIES_SEAKING, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[] = { + { + .iv = 50, + .lvl = 27, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lorenzo[] = { + { + .iv = 50, + .lvl = 28, + .species = SPECIES_SEEDOT, + }, + { + .iv = 50, + .lvl = 28, + .species = SPECIES_NUZLEAF, + }, + { + .iv = 50, + .lvl = 28, + .species = SPECIES_LOMBRE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[] = { + { + .iv = 50, + .lvl = 39, + .species = SPECIES_CACTURNE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = { + { + .iv = 60, + .lvl = 31, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = { + { + .iv = 70, + .lvl = 34, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = { + { + .iv = 80, + .lvl = 37, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson5[] = { + { + .iv = 90, + .lvl = 39, + .species = SPECIES_KECLEON, + }, + { + .iv = 90, + .lvl = 39, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[] = { + { + .iv = 50, + .lvl = 26, + .species = SPECIES_GLOOM, + }, + { + .iv = 50, + .lvl = 26, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenna[] = { + { + .iv = 50, + .lvl = 28, + .species = SPECIES_LOTAD, + }, + { + .iv = 50, + .lvl = 28, + .species = SPECIES_LOMBRE, + }, + { + .iv = 50, + .lvl = 28, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[] = { + { + .iv = 50, + .lvl = 38, + .species = SPECIES_SWABLU, + }, + { + .iv = 50, + .lvl = 38, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[] = { + { + .iv = 60, + .lvl = 30, + .species = SPECIES_GLOOM, + }, + { + .iv = 60, + .lvl = 30, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[] = { + { + .iv = 70, + .lvl = 33, + .species = SPECIES_GLOOM, + }, + { + .iv = 70, + .lvl = 33, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[] = { + { + .iv = 80, + .lvl = 36, + .species = SPECIES_GLOOM, + }, + { + .iv = 80, + .lvl = 36, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine5[] = { + { + .iv = 90, + .lvl = 39, + .species = SPECIES_BELLOSSOM, + }, + { + .iv = 90, + .lvl = 39, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julio[] = { + { + .iv = 0, + .lvl = 21, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt27[] = { + { + .iv = 50, + .lvl = 35, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 50, + .lvl = 35, + .species = SPECIES_GOLBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt28[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_WAILMER, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt29[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_WAILMER, + }, + { + .iv = 0, + .lvl = 30, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt30[] = { + { + .iv = 50, + .lvl = 22, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 50, + .lvl = 22, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marc[] = { + { + .iv = 120, + .lvl = 8, + .species = SPECIES_GEODUDE, + }, + { + .iv = 130, + .lvl = 8, + .species = SPECIES_GEODUDE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brenden[] = { + { + .iv = 100, + .lvl = 13, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = { + { + .iv = 150, + .lvl = 13, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = { + { + .iv = 200, + .lvl = 13, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Athena[] = { + { + .iv = 100, + .lvl = 32, + .species = SPECIES_MANECTRIC, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE + }, + { + .iv = 100, + .lvl = 32, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NONE, + .moves = MOVE_SURF, MOVE_THIEF, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harrison[] = { + { + .iv = 0, + .lvl = 35, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = { + { + .iv = 0, + .lvl = 20, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = { + { + .iv = 0, + .lvl = 37, + .species = SPECIES_GIRAFARIG, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_SPOINK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = { + { + .iv = 100, + .lvl = 36, + .species = SPECIES_KADABRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_GIRAFARIG, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_WOBBUFFET, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt32[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt33[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_BALTOY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_BALTOY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = { + { + .iv = 0, + .lvl = 36, + .species = SPECIES_NATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[] = { + { + .iv = 25, + .lvl = 13, + .species = SPECIES_LOTAD, + }, + { + .iv = 50, + .lvl = 15, + .species = SPECIES_TORCHIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan11[] = { + { + .iv = 25, + .lvl = 13, + .species = SPECIES_WINGULL, + }, + { + .iv = 50, + .lvl = 15, + .species = SPECIES_TREECKO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paxton[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_SWELLOW, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabella[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt37[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .lvl = 27, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha2[] = { + { + .iv = 50, + .lvl = 18, + .species = SPECIES_NUMEL, + }, + { + .iv = 50, + .lvl = 20, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 50, + .lvl = 22, + .species = SPECIES_NUMEL, + }, + { + .iv = 50, + .lvl = 22, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonathan[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_KECLEON, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan12[] = { + { + .iv = 25, + .lvl = 13, + .species = SPECIES_SLUGMA, + }, + { + .iv = 50, + .lvl = 15, + .species = SPECIES_MUDKIP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May10[] = { + { + .iv = 25, + .lvl = 13, + .species = SPECIES_WINGULL, + }, + { + .iv = 50, + .lvl = 15, + .species = SPECIES_TREECKO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[] = { + { + .iv = 150, + .lvl = 37, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 150, + .lvl = 38, + .species = SPECIES_CROBAT, + }, + { + .iv = 150, + .lvl = 39, + .species = SPECIES_CAMERUPT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[] = { + { + .iv = 150, + .lvl = 24, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 150, + .lvl = 24, + .species = SPECIES_ZUBAT, + }, + { + .iv = 150, + .lvl = 25, + .species = SPECIES_CAMERUPT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[] = { + { + .iv = 0, + .lvl = 4, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 4, + .species = SPECIES_SHROOMISH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[] = { + { + .iv = 0, + .lvl = 6, + .species = SPECIES_LOTAD, + }, + { + .iv = 0, + .lvl = 6, + .species = SPECIES_SHROOMISH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[] = { + { + .iv = 0, + .lvl = 9, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vivi[] = { + { + .iv = 100, + .lvl = 15, + .species = SPECIES_MARILL, + }, + { + .iv = 100, + .lvl = 15, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 100, + .lvl = 15, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[] = { + { + .iv = 10, + .lvl = 26, + .species = SPECIES_LOMBRE, + }, + { + .iv = 10, + .lvl = 26, + .species = SPECIES_SHROOMISH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[] = { + { + .iv = 20, + .lvl = 29, + .species = SPECIES_LOMBRE, + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[] = { + { + .iv = 30, + .lvl = 32, + .species = SPECIES_LOMBRE, + }, + { + .iv = 30, + .lvl = 32, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley5[] = { + { + .iv = 40, + .lvl = 34, + .species = SPECIES_SWELLOW, + }, + { + .iv = 40, + .lvl = 34, + .species = SPECIES_LOMBRE, + }, + { + .iv = 40, + .lvl = 34, + .species = SPECIES_BRELOOM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[] = { + { + .iv = 0, + .lvl = 16, + .species = SPECIES_ODDISH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_SKITTY, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[] = { + { + .iv = 100, + .lvl = 40, + .species = SPECIES_LUVDISC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[] = { + { + .iv = 100, + .lvl = 39, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 100, + .lvl = 39, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rick[] = { + { + .iv = 0, + .lvl = 4, + .species = SPECIES_WURMPLE, + }, + { + .iv = 0, + .lvl = 4, + .species = SPECIES_WURMPLE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[] = { + { + .iv = 0, + .lvl = 3, + .species = SPECIES_WURMPLE, + }, + { + .iv = 0, + .lvl = 3, + .species = SPECIES_WURMPLE, + }, + { + .iv = 0, + .lvl = 3, + .species = SPECIES_WURMPLE, + }, + { + .iv = 0, + .lvl = 3, + .species = SPECIES_WURMPLE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[] = { + { + .iv = 50, + .lvl = 8, + .species = SPECIES_WURMPLE, + }, + { + .iv = 50, + .lvl = 8, + .species = SPECIES_NINCADA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_NINCADA, + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_NINJASK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greg[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_ILLUMISE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_NINJASK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[] = { + { + .iv = 0, + .lvl = 6, + .species = SPECIES_NINCADA, + }, + { + .iv = 0, + .lvl = 6, + .species = SPECIES_NINCADA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[] = { + { + .iv = 10, + .lvl = 27, + .species = SPECIES_NINJASK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[] = { + { + .iv = 20, + .lvl = 29, + .species = SPECIES_DUSTOX, + }, + { + .iv = 20, + .lvl = 29, + .species = SPECIES_NINJASK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_James4[] = { + { + .iv = 30, + .lvl = 31, + .species = SPECIES_SURSKIT, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_DUSTOX, + }, + { + .iv = 30, + .lvl = 31, + .species = SPECIES_NINJASK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_James5[] = { + { + .iv = 40, + .lvl = 33, + .species = SPECIES_SURSKIT, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_NINJASK, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_DUSTOX, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_NINJASK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brice[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_NUMEL, + }, + { + .iv = 0, + .lvl = 17, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[] = { + { + .iv = 0, + .lvl = 16, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 17, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 16, + .species = SPECIES_GEODUDE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[] = { + { + .iv = 0, + .lvl = 22, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 22, + .species = SPECIES_NOSEPASS, + }, + { + .iv = 0, + .lvl = 22, + .species = SPECIES_GRAVELER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[] = { + { + .iv = 0, + .lvl = 8, + .species = SPECIES_GEODUDE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eric[] = { + { + .iv = 0, + .lvl = 20, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 20, + .species = SPECIES_BALTOY, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[] = { + { + .iv = 0, + .lvl = 9, + .species = SPECIES_WAILMER, + .moves = MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Mike1[] = { + { + .iv = 0, + .lvl = 10, + .species = SPECIES_PELIPPER, + .moves = MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE + }, + { + .iv = 0, + .lvl = 10, + .species = SPECIES_POOCHYENA, + .moves = MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike2[] = { + { + .iv = 0, + .lvl = 16, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 16, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 16, + .species = SPECIES_MACHOP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[] = { + { + .iv = 10, + .lvl = 24, + .species = SPECIES_GEODUDE, + }, + { + .iv = 10, + .lvl = 24, + .species = SPECIES_GEODUDE, + }, + { + .iv = 10, + .lvl = 24, + .species = SPECIES_GEODUDE, + }, + { + .iv = 10, + .lvl = 24, + .species = SPECIES_GRAVELER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent3[] = { + { + .iv = 20, + .lvl = 27, + .species = SPECIES_GEODUDE, + }, + { + .iv = 20, + .lvl = 27, + .species = SPECIES_GEODUDE, + }, + { + .iv = 20, + .lvl = 27, + .species = SPECIES_GRAVELER, + }, + { + .iv = 20, + .lvl = 27, + .species = SPECIES_GRAVELER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent4[] = { + { + .iv = 30, + .lvl = 30, + .species = SPECIES_GEODUDE, + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_GRAVELER, + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_GRAVELER, + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_GRAVELER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent5[] = { + { + .iv = 40, + .lvl = 33, + .species = SPECIES_GRAVELER, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_GRAVELER, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_GRAVELER, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_GOLEM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_DezAndLuke[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_DELCATTY, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_MANECTRIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[] = { + { + .iv = 0, + .lvl = 45, + .species = SPECIES_LUVDISC, + }, + { + .iv = 0, + .lvl = 45, + .species = SPECIES_LUVDISC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan1[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_ILLUMISE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan2[] = { + { + .iv = 10, + .lvl = 30, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 10, + .lvl = 30, + .species = SPECIES_ILLUMISE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan3[] = { + { + .iv = 20, + .lvl = 33, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_ILLUMISE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan4[] = { + { + .iv = 30, + .lvl = 36, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 30, + .lvl = 36, + .species = SPECIES_ILLUMISE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_KiraAndDan5[] = { + { + .iv = 40, + .lvl = 39, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 40, + .lvl = 39, + .species = SPECIES_ILLUMISE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[] = { + { + .iv = 0, + .lvl = 13, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Gerald[] = { + { + .iv = 100, + .lvl = 23, + .species = SPECIES_KECLEON, + .moves = MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[] = { + { + .iv = 100, + .lvl = 17, + .species = SPECIES_MEDITITE, + .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH + }, + { + .iv = 100, + .lvl = 17, + .species = SPECIES_MEDITITE, + .moves = MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Danielle[] = { + { + .iv = 100, + .lvl = 23, + .species = SPECIES_MEDITITE, + .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Hideo[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Keigo[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_NINJASK, + .moves = MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Riley[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_NINCADA, + .moves = MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[] = { + { + .iv = 150, + .lvl = 29, + .species = SPECIES_SWELLOW, + }, + { + .iv = 150, + .lvl = 29, + .species = SPECIES_XATU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ashley[] = { + { + .iv = 100, + .lvl = 27, + .species = SPECIES_SWABLU, + }, + { + .iv = 100, + .lvl = 27, + .species = SPECIES_SWABLU, + }, + { + .iv = 100, + .lvl = 27, + .species = SPECIES_SWABLU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wally2[] = { + { + .iv = 30, + .lvl = 16, + .species = SPECIES_RALTS, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally3[] = { + { + .iv = 150, + .lvl = 47, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .lvl = 46, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .lvl = 47, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .lvl = 44, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .lvl = 48, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally4[] = { + { + .iv = 150, + .lvl = 50, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .lvl = 49, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .lvl = 50, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .lvl = 47, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .lvl = 51, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally5[] = { + { + .iv = 150, + .lvl = 53, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .lvl = 52, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .lvl = 53, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .lvl = 50, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .lvl = 54, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Wally6[] = { + { + .iv = 150, + .lvl = 56, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .lvl = 55, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .lvl = 56, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .lvl = 53, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .lvl = 57, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan13[] = { + { + .iv = 150, + .lvl = 31, + .species = SPECIES_TROPIUS, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_SLUGMA, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_PELIPPER, + }, + { + .iv = 200, + .lvl = 34, + .species = SPECIES_GROVYLE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan14[] = { + { + .iv = 150, + .lvl = 31, + .species = SPECIES_TROPIUS, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_PELIPPER, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_LUDICOLO, + }, + { + .iv = 200, + .lvl = 34, + .species = SPECIES_COMBUSKEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan15[] = { + { + .iv = 150, + .lvl = 31, + .species = SPECIES_TROPIUS, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_LUDICOLO, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_SLUGMA, + }, + { + .iv = 200, + .lvl = 34, + .species = SPECIES_MARSHTOMP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May11[] = { + { + .iv = 150, + .lvl = 31, + .species = SPECIES_TROPIUS, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_SLUGMA, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_PELIPPER, + }, + { + .iv = 200, + .lvl = 34, + .species = SPECIES_GROVYLE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May12[] = { + { + .iv = 150, + .lvl = 31, + .species = SPECIES_TROPIUS, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_PELIPPER, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_LUDICOLO, + }, + { + .iv = 200, + .lvl = 34, + .species = SPECIES_COMBUSKEN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May13[] = { + { + .iv = 150, + .lvl = 31, + .species = SPECIES_TROPIUS, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_LUDICOLO, + }, + { + .iv = 150, + .lvl = 32, + .species = SPECIES_SLUGMA, + }, + { + .iv = 200, + .lvl = 34, + .species = SPECIES_MARSHTOMP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jonah[] = { + { + .iv = 0, + .lvl = 30, + .species = SPECIES_WAILMER, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 32, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Henry[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_CARVANHA, + }, + { + .iv = 0, + .lvl = 34, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 35, + .species = SPECIES_GYARADOS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexa[] = { + { + .iv = 100, + .lvl = 34, + .species = SPECIES_GLOOM, + }, + { + .iv = 100, + .lvl = 34, + .species = SPECIES_AZUMARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ruben[] = { + { + .iv = 100, + .lvl = 34, + .species = SPECIES_SHIFTRY, + }, + { + .iv = 100, + .lvl = 34, + .species = SPECIES_NOSEPASS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji1[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[] = { + { + .iv = 0, + .lvl = 31, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 31, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 36, + .species = SPECIES_WAILMER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_SWELLOW, + }, + { + .iv = 0, + .lvl = 32, + .species = SPECIES_SKARMORY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Reed[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tisha[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_CHINCHOU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToriAndTia[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_SPINDA, + }, + { + .iv = 0, + .lvl = 19, + .species = SPECIES_SPINDA, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[] = { + { + .iv = 0, + .lvl = 32, + .species = SPECIES_SWABLU, + .moves = MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE + }, + { + .iv = 0, + .lvl = 35, + .species = SPECIES_NUMEL, + .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_TyraAndIvy[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_ROSELIA, + .moves = MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED + }, + { + .iv = 0, + .lvl = 20, + .species = SPECIES_GRAVELER, + .moves = MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_MelAndPaul[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_DUSTOX, + .moves = MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT + }, + { + .iv = 0, + .lvl = 27, + .species = SPECIES_BEAUTIFLY, + .moves = MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[] = { + { + .iv = 200, + .lvl = 39, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 200, + .lvl = 39, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[] = { + { + .iv = 210, + .lvl = 43, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 210, + .lvl = 43, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[] = { + { + .iv = 220, + .lvl = 46, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 220, + .lvl = 46, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[] = { + { + .iv = 230, + .lvl = 49, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 230, + .lvl = 49, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[] = { + { + .iv = 240, + .lvl = 52, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 240, + .lvl = 52, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_ReliAndIan[] = { + { + .iv = 0, + .lvl = 35, + .species = SPECIES_AZUMARILL, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_WINGULL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy1[] = { + { + .iv = 0, + .lvl = 34, + .species = SPECIES_CHINCHOU, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy2[] = { + { + .iv = 0, + .lvl = 42, + .species = SPECIES_CHINCHOU, + }, + { + .iv = 0, + .lvl = 40, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy3[] = { + { + .iv = 0, + .lvl = 45, + .species = SPECIES_LANTURN, + }, + { + .iv = 0, + .lvl = 43, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy4[] = { + { + .iv = 0, + .lvl = 48, + .species = SPECIES_LANTURN, + }, + { + .iv = 0, + .lvl = 46, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LilaAndRoy5[] = { + { + .iv = 0, + .lvl = 51, + .species = SPECIES_LANTURN, + }, + { + .iv = 0, + .lvl = 49, + .species = SPECIES_SHARPEDO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LisaAndRay[] = { + { + .iv = 0, + .lvl = 27, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .lvl = 20, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_FEEBAS, + }, + { + .iv = 0, + .lvl = 23, + .species = SPECIES_CARVANHA, + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Dawson[] = { + { + .iv = 0, + .lvl = 8, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_NUGGET + }, + { + .iv = 0, + .lvl = 8, + .species = SPECIES_POOCHYENA, + .heldItem = ITEM_NONE + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Sarah[] = { + { + .iv = 0, + .lvl = 8, + .species = SPECIES_LOTAD, + .heldItem = ITEM_NONE + }, + { + .iv = 0, + .lvl = 8, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darian[] = { + { + .iv = 0, + .lvl = 9, + .species = SPECIES_MAGIKARP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = { + { + .iv = 0, + .lvl = 13, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chandler[] = { + { + .iv = 0, + .lvl = 12, + .species = SPECIES_TENTACOOL, + }, + { + .iv = 0, + .lvl = 12, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Kaleb[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joseph[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_VOLTORB, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alyssa[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_MAGNEMITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = { + { + .iv = 100, + .lvl = 15, + .species = SPECIES_VOLTORB, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = { + { + .iv = 100, + .lvl = 15, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_SANDSHREW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SHROOMISH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophie[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_MARILL, + }, + { + .iv = 0, + .lvl = 19, + .species = SPECIES_LOMBRE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Coby[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_SKARMORY, + }, + { + .iv = 0, + .lvl = 19, + .species = SPECIES_SWELLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lawrence[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_BALTOY, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SANDSHREW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wyatt[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_ARON, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_ARON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Angelina[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_LOMBRE, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kai[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_BARBOACH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = { + { + .iv = 0, + .lvl = 19, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deandre[] = { + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ARON, + }, + { + .iv = 0, + .lvl = 14, + .species = SPECIES_ELECTRIKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt38[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt41[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_BALTOY, + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt42[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_BALTOY, + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt43[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_POOCHYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_BALTOY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_ZUBAT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_MIGHTYENA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_BALTOY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha3[] = { + { + .iv = 75, + .lvl = 26, + .species = SPECIES_NUMEL, + }, + { + .iv = 75, + .lvl = 28, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 75, + .lvl = 30, + .species = SPECIES_ZUBAT, + }, + { + .iv = 75, + .lvl = 33, + .species = SPECIES_CAMERUPT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_PELIPPER, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_CAMERUPT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie3[] = { + { + .iv = 150, + .lvl = 42, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 150, + .lvl = 43, + .species = SPECIES_CROBAT, + }, + { + .iv = 150, + .lvl = 44, + .species = SPECIES_CAMERUPT, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pete[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = { + { + .iv = 0, + .lvl = 15, + .species = SPECIES_MARILL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres1[] = { + { + .iv = 50, + .lvl = 25, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 50, + .lvl = 25, + .species = SPECIES_SANDSHREW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Josue[] = { + { + .iv = 50, + .lvl = 25, + .species = SPECIES_TAILLOW, + }, + { + .iv = 50, + .lvl = 25, + .species = SPECIES_WINGULL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Camron[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory1[] = { + { + .iv = 0, + .lvl = 24, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .lvl = 24, + .species = SPECIES_MACHOP, + }, + { + .iv = 0, + .lvl = 24, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carolina[] = { + { + .iv = 50, + .lvl = 24, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 50, + .lvl = 24, + .species = SPECIES_SWELLOW, + }, + { + .iv = 50, + .lvl = 24, + .species = SPECIES_MANECTRIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elijah[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_SKARMORY, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_SKARMORY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celia[] = { + { + .iv = 0, + .lvl = 22, + .species = SPECIES_MARILL, + }, + { + .iv = 0, + .lvl = 22, + .species = SPECIES_LOMBRE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryan[] = { + { + .iv = 0, + .lvl = 22, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 0, + .lvl = 22, + .species = SPECIES_SANDSLASH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Branden[] = { + { + .iv = 0, + .lvl = 22, + .species = SPECIES_TAILLOW, + }, + { + .iv = 0, + .lvl = 22, + .species = SPECIES_NUZLEAF, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bryant[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_NUMEL, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SLUGMA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shayla[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_ROSELIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyra[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_DODUO, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_DODRIO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaiden[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_NINJASK, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_GULPIN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alix[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_KADABRA, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_KIRLIA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Helene[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MEDITITE, + }, + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[] = { + { + .iv = 0, + .lvl = 18, + .species = SPECIES_MEDITITE, + }, + { + .iv = 0, + .lvl = 18, + .species = SPECIES_SPOINK, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Devan[] = { + { + .iv = 0, + .lvl = 8, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .lvl = 8, + .species = SPECIES_GEODUDE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johnson[] = { + { + .iv = 0, + .lvl = 8, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .lvl = 8, + .species = SPECIES_LOTAD, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Melina[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_DODUO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_RALTS, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = { + { + .iv = 0, + .lvl = 17, + .species = SPECIES_MEDITITE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makayla[] = { + { + .iv = 0, + .lvl = 33, + .species = SPECIES_ROSELIA, + }, + { + .iv = 0, + .lvl = 33, + .species = SPECIES_MEDICHAM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fabian[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_MANECTRIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dayton[] = { + { + .iv = 0, + .lvl = 25, + .species = SPECIES_SLUGMA, + }, + { + .iv = 0, + .lvl = 25, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rachel[] = { + { + .iv = 0, + .lvl = 26, + .species = SPECIES_GOLDEEN, + } +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Leonel[] = { + { + .iv = 100, + .lvl = 30, + .species = SPECIES_MANECTRIC, + .moves = MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Callie[] = { + { + .iv = 0, + .lvl = 28, + .species = SPECIES_MEDITITE, + }, + { + .iv = 0, + .lvl = 28, + .species = SPECIES_MAKUHITA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cale[] = { + { + .iv = 0, + .lvl = 29, + .species = SPECIES_DUSTOX, + }, + { + .iv = 0, + .lvl = 29, + .species = SPECIES_BEAUTIFLY, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Myles[] = { + { + .iv = 10, + .lvl = 25, + .species = SPECIES_MAKUHITA, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_WINGULL, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_TROPIUS, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pat[] = { + { + .iv = 10, + .lvl = 25, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_MARILL, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 10, + .lvl = 25, + .species = SPECIES_GULPIN, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin1[] = { + { + .iv = 100, + .lvl = 29, + .species = SPECIES_LOUDRED, + }, + { + .iv = 100, + .lvl = 29, + .species = SPECIES_VIGOROTH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May14[] = { + { + .iv = 25, + .lvl = 13, + .species = SPECIES_LOTAD, + }, + { + .iv = 50, + .lvl = 15, + .species = SPECIES_TORCHIC, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May15[] = { + { + .iv = 25, + .lvl = 13, + .species = SPECIES_TORKOAL, + }, + { + .iv = 50, + .lvl = 15, + .species = SPECIES_MUDKIP, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne2[] = { + { + .iv = 255, + .lvl = 32, + .species = SPECIES_GOLEM, + .heldItem = ITEM_NONE, + .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION + }, + { + .iv = 255, + .lvl = 35, + .species = SPECIES_KABUTO, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 35, + .species = SPECIES_ONIX, + .heldItem = ITEM_NONE, + .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 37, + .species = SPECIES_NOSEPASS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne3[] = { + { + .iv = 255, + .lvl = 37, + .species = SPECIES_OMANYTE, + .heldItem = ITEM_NONE, + .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + }, + { + .iv = 255, + .lvl = 37, + .species = SPECIES_GOLEM, + .heldItem = ITEM_NONE, + .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION + }, + { + .iv = 255, + .lvl = 40, + .species = SPECIES_KABUTOPS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 40, + .species = SPECIES_ONIX, + .heldItem = ITEM_NONE, + .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 42, + .species = SPECIES_NOSEPASS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne4[] = { + { + .iv = 255, + .lvl = 42, + .species = SPECIES_OMASTAR, + .heldItem = ITEM_NONE, + .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + }, + { + .iv = 255, + .lvl = 42, + .species = SPECIES_GOLEM, + .heldItem = ITEM_NONE, + .moves = MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_KABUTOPS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_ONIX, + .heldItem = ITEM_NONE, + .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 47, + .species = SPECIES_NOSEPASS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Roxanne5[] = { + { + .iv = 255, + .lvl = 47, + .species = SPECIES_AERODACTYL, + .heldItem = ITEM_NONE, + .moves = MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 47, + .species = SPECIES_GOLEM, + .heldItem = ITEM_NONE, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION + }, + { + .iv = 255, + .lvl = 47, + .species = SPECIES_OMASTAR, + .heldItem = ITEM_NONE, + .moves = MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_KABUTOPS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_STEELIX, + .heldItem = ITEM_NONE, + .moves = MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 52, + .species = SPECIES_NOSEPASS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_DOUBLE_TEAM, MOVE_EXPLOSION, MOVE_PROTECT, MOVE_ROCK_SLIDE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Brawly2[] = { + { + .iv = 255, + .lvl = 33, + .species = SPECIES_MACHAMP, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + }, + { + .iv = 255, + .lvl = 33, + .species = SPECIES_MEDITITE, + .heldItem = ITEM_NONE, + .moves = MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH + }, + { + .iv = 255, + .lvl = 35, + .species = SPECIES_HITMONTOP, + .heldItem = ITEM_NONE, + .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + }, + { + .iv = 255, + .lvl = 37, + .species = SPECIES_HARIYAMA, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Brawly3[] = { + { + .iv = 255, + .lvl = 38, + .species = SPECIES_MACHAMP, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + }, + { + .iv = 255, + .lvl = 38, + .species = SPECIES_MEDICHAM, + .heldItem = ITEM_NONE, + .moves = MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH + }, + { + .iv = 255, + .lvl = 40, + .species = SPECIES_HITMONTOP, + .heldItem = ITEM_NONE, + .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + }, + { + .iv = 255, + .lvl = 42, + .species = SPECIES_HARIYAMA, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Brawly4[] = { + { + .iv = 255, + .lvl = 40, + .species = SPECIES_HITMONCHAN, + .heldItem = ITEM_NONE, + .moves = MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH + }, + { + .iv = 255, + .lvl = 43, + .species = SPECIES_MACHAMP, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + }, + { + .iv = 255, + .lvl = 43, + .species = SPECIES_MEDICHAM, + .heldItem = ITEM_NONE, + .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_HITMONTOP, + .heldItem = ITEM_NONE, + .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + }, + { + .iv = 255, + .lvl = 47, + .species = SPECIES_HARIYAMA, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Brawly5[] = { + { + .iv = 255, + .lvl = 46, + .species = SPECIES_HITMONLEE, + .heldItem = ITEM_NONE, + .moves = MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP + }, + { + .iv = 255, + .lvl = 46, + .species = SPECIES_HITMONCHAN, + .heldItem = ITEM_NONE, + .moves = MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_MACHAMP, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_MEDICHAM, + .heldItem = ITEM_NONE, + .moves = MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_HITMONTOP, + .heldItem = ITEM_NONE, + .moves = MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK + }, + { + .iv = 255, + .lvl = 52, + .species = SPECIES_HARIYAMA, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_FAKE_OUT, MOVE_FOCUS_PUNCH, MOVE_BELLY_DRUM, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Wattson2[] = { + { + .iv = 255, + .lvl = 36, + .species = SPECIES_MAREEP, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 36, + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_NONE, + .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + }, + { + .iv = 255, + .lvl = 38, + .species = SPECIES_MAGNETON, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + }, + { + .iv = 255, + .lvl = 40, + .species = SPECIES_MANECTRIC, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Wattson3[] = { + { + .iv = 255, + .lvl = 39, + .species = SPECIES_PIKACHU, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE + }, + { + .iv = 255, + .lvl = 41, + .species = SPECIES_FLAAFFY, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 41, + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_NONE, + .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + }, + { + .iv = 255, + .lvl = 43, + .species = SPECIES_MAGNETON, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_MANECTRIC, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Wattson4[] = { + { + .iv = 255, + .lvl = 44, + .species = SPECIES_RAICHU, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 46, + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 46, + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_NONE, + .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_MAGNETON, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_MANECTRIC, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Wattson5[] = { + { + .iv = 255, + .lvl = 50, + .species = SPECIES_ELECTABUZZ, + .heldItem = ITEM_NONE, + .moves = MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 51, + .species = SPECIES_RAICHU, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 51, + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_NONE, + .moves = MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_MAGNETON, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_MANECTRIC, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PROTECT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Flannery2[] = { + { + .iv = 255, + .lvl = 38, + .species = SPECIES_MAGCARGO, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 36, + .species = SPECIES_PONYTA, + .heldItem = ITEM_NONE, + .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + }, + { + .iv = 255, + .lvl = 38, + .species = SPECIES_CAMERUPT, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + }, + { + .iv = 255, + .lvl = 40, + .species = SPECIES_TORKOAL, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Flannery3[] = { + { + .iv = 255, + .lvl = 41, + .species = SPECIES_GROWLITHE, + .heldItem = ITEM_NONE, + .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY + }, + { + .iv = 255, + .lvl = 43, + .species = SPECIES_MAGCARGO, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 41, + .species = SPECIES_PONYTA, + .heldItem = ITEM_NONE, + .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + }, + { + .iv = 255, + .lvl = 43, + .species = SPECIES_CAMERUPT, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_TORKOAL, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Flannery4[] = { + { + .iv = 255, + .lvl = 46, + .species = SPECIES_HOUNDOUR, + .heldItem = ITEM_NONE, + .moves = MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY + }, + { + .iv = 255, + .lvl = 46, + .species = SPECIES_GROWLITHE, + .heldItem = ITEM_NONE, + .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_MAGCARGO, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 46, + .species = SPECIES_RAPIDASH, + .heldItem = ITEM_NONE, + .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_CAMERUPT, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_TORKOAL, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Flannery5[] = { + { + .iv = 255, + .lvl = 51, + .species = SPECIES_ARCANINE, + .heldItem = ITEM_NONE, + .moves = MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_MAGCARGO, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE + }, + { + .iv = 255, + .lvl = 51, + .species = SPECIES_HOUNDOOM, + .heldItem = ITEM_NONE, + .moves = MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY + }, + { + .iv = 255, + .lvl = 51, + .species = SPECIES_RAPIDASH, + .heldItem = ITEM_NONE, + .moves = MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_CAMERUPT, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_TORKOAL, + .heldItem = ITEM_WHITE_HERB, + .moves = MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_ATTRACT + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Norman2[] = { + { + .iv = 255, + .lvl = 42, + .species = SPECIES_CHANSEY, + .heldItem = ITEM_NONE, + .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + }, + { + .iv = 255, + .lvl = 42, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + }, + { + .iv = 255, + .lvl = 43, + .species = SPECIES_SPINDA, + .heldItem = ITEM_NONE, + .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Norman3[] = { + { + .iv = 255, + .lvl = 47, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + }, + { + .iv = 255, + .lvl = 47, + .species = SPECIES_CHANSEY, + .heldItem = ITEM_NONE, + .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_KANGASKHAN, + .heldItem = ITEM_NONE, + .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_SPINDA, + .heldItem = ITEM_NONE, + .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Norman4[] = { + { + .iv = 255, + .lvl = 52, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + }, + { + .iv = 255, + .lvl = 52, + .species = SPECIES_BLISSEY, + .heldItem = ITEM_NONE, + .moves = MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_KANGASKHAN, + .heldItem = ITEM_NONE, + .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_SPINDA, + .heldItem = ITEM_NONE, + .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Norman5[] = { + { + .iv = 255, + .lvl = 57, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST + }, + { + .iv = 255, + .lvl = 57, + .species = SPECIES_BLISSEY, + .heldItem = ITEM_NONE, + .moves = MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_KANGASKHAN, + .heldItem = ITEM_NONE, + .moves = MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL + }, + { + .iv = 255, + .lvl = 57, + .species = SPECIES_TAUROS, + .heldItem = ITEM_NONE, + .moves = MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE + }, + { + .iv = 255, + .lvl = 58, + .species = SPECIES_SPINDA, + .heldItem = ITEM_NONE, + .moves = MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS + }, + { + .iv = 255, + .lvl = 60, + .species = SPECIES_SLAKING, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT, MOVE_SHADOW_BALL + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Winona2[] = { + { + .iv = 255, + .lvl = 40, + .species = SPECIES_DRATINI, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 38, + .species = SPECIES_TROPIUS, + .heldItem = ITEM_NONE, + .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + }, + { + .iv = 255, + .lvl = 41, + .species = SPECIES_PELIPPER, + .heldItem = ITEM_NONE, + .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 43, + .species = SPECIES_SKARMORY, + .heldItem = ITEM_NONE, + .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Winona3[] = { + { + .iv = 255, + .lvl = 43, + .species = SPECIES_HOOTHOOT, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + }, + { + .iv = 255, + .lvl = 43, + .species = SPECIES_TROPIUS, + .heldItem = ITEM_NONE, + .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + }, + { + .iv = 255, + .lvl = 45, + .species = SPECIES_DRAGONAIR, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 46, + .species = SPECIES_PELIPPER, + .heldItem = ITEM_NONE, + .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_SKARMORY, + .heldItem = ITEM_NONE, + .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Winona4[] = { + { + .iv = 255, + .lvl = 48, + .species = SPECIES_NOCTOWL, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + }, + { + .iv = 255, + .lvl = 49, + .species = SPECIES_TROPIUS, + .heldItem = ITEM_NONE, + .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_DRAGONAIR, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 51, + .species = SPECIES_PELIPPER, + .heldItem = ITEM_NONE, + .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_SKARMORY, + .heldItem = ITEM_NONE, + .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_AERIAL_ACE, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Winona5[] = { + { + .iv = 255, + .lvl = 53, + .species = SPECIES_NOCTOWL, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER + }, + { + .iv = 255, + .lvl = 54, + .species = SPECIES_TROPIUS, + .heldItem = ITEM_NONE, + .moves = MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_PELIPPER, + .heldItem = ITEM_NONE, + .moves = MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_DRAGONITE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 58, + .species = SPECIES_SKARMORY, + .heldItem = ITEM_NONE, + .moves = MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE + }, + { + .iv = 255, + .lvl = 60, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_SKY_ATTACK, MOVE_REST, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza2[] = { + { + .iv = 255, + .lvl = 48, + .species = SPECIES_SLOWPOKE, + .heldItem = ITEM_NONE, + .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 49, + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_NONE, + .moves = MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 49, + .species = SPECIES_XATU, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_LUNATONE, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + }, + { + .iv = 255, + .lvl = 50, + .species = SPECIES_SOLROCK, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza3[] = { + { + .iv = 255, + .lvl = 53, + .species = SPECIES_DROWZEE, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_SLOWPOKE, + .heldItem = ITEM_NONE, + .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 54, + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_NONE, + .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 54, + .species = SPECIES_XATU, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_LUNATONE, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + }, + { + .iv = 255, + .lvl = 55, + .species = SPECIES_SOLROCK, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza4[] = { + { + .iv = 255, + .lvl = 58, + .species = SPECIES_HYPNO, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 59, + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_NONE, + .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 58, + .species = SPECIES_SLOWPOKE, + .heldItem = ITEM_NONE, + .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 59, + .species = SPECIES_XATU, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + }, + { + .iv = 255, + .lvl = 60, + .species = SPECIES_LUNATONE, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + }, + { + .iv = 255, + .lvl = 60, + .species = SPECIES_SOLROCK, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza5[] = { + { + .iv = 255, + .lvl = 63, + .species = SPECIES_HYPNO, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 64, + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_NONE, + .moves = MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN + }, + { + .iv = 255, + .lvl = 63, + .species = SPECIES_SLOWKING, + .heldItem = ITEM_NONE, + .moves = MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT + }, + { + .iv = 255, + .lvl = 64, + .species = SPECIES_XATU, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND + }, + { + .iv = 255, + .lvl = 65, + .species = SPECIES_LUNATONE, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND + }, + { + .iv = 255, + .lvl = 65, + .species = SPECIES_SOLROCK, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Juan2[] = { + { + .iv = 255, + .lvl = 46, + .species = SPECIES_POLIWAG, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + }, + { + .iv = 255, + .lvl = 46, + .species = SPECIES_WHISCASH, + .heldItem = ITEM_NONE, + .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_WALREIN, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 48, + .species = SPECIES_CRAWDAUNT, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM + }, + { + .iv = 255, + .lvl = 51, + .species = SPECIES_KINGDRA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Juan3[] = { + { + .iv = 255, + .lvl = 50, + .species = SPECIES_POLIWHIRL, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + }, + { + .iv = 255, + .lvl = 51, + .species = SPECIES_WHISCASH, + .heldItem = ITEM_NONE, + .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_WALREIN, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 53, + .species = SPECIES_CRAWDAUNT, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + }, + { + .iv = 255, + .lvl = 56, + .species = SPECIES_KINGDRA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Juan4[] = { + { + .iv = 255, + .lvl = 56, + .species = SPECIES_LAPRAS, + .heldItem = ITEM_NONE, + .moves = MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY + }, + { + .iv = 255, + .lvl = 58, + .species = SPECIES_WHISCASH, + .heldItem = ITEM_NONE, + .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + }, + { + .iv = 255, + .lvl = 56, + .species = SPECIES_POLIWHIRL, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP + }, + { + .iv = 255, + .lvl = 58, + .species = SPECIES_WALREIN, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM + }, + { + .iv = 255, + .lvl = 58, + .species = SPECIES_CRAWDAUNT, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + }, + { + .iv = 255, + .lvl = 61, + .species = SPECIES_KINGDRA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Juan5[] = { + { + .iv = 255, + .lvl = 61, + .species = SPECIES_LAPRAS, + .heldItem = ITEM_NONE, + .moves = MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY + }, + { + .iv = 255, + .lvl = 63, + .species = SPECIES_WHISCASH, + .heldItem = ITEM_NONE, + .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE + }, + { + .iv = 255, + .lvl = 61, + .species = SPECIES_POLITOED, + .heldItem = ITEM_NONE, + .moves = MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG + }, + { + .iv = 255, + .lvl = 63, + .species = SPECIES_WALREIN, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD + }, + { + .iv = 255, + .lvl = 63, + .species = SPECIES_CRAWDAUNT, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM + }, + { + .iv = 255, + .lvl = 66, + .species = SPECIES_KINGDRA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_ICE_BEAM, MOVE_REST + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Angelo[] = { + { + .iv = 100, + .lvl = 17, + .species = SPECIES_ILLUMISE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE + }, + { + .iv = 100, + .lvl = 17, + .species = SPECIES_VOLBEAT, + .heldItem = ITEM_NONE, + .moves = MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CONFUSE_RAY, MOVE_NONE + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darius[] = { + { + .iv = 200, + .lvl = 30, + .species = SPECIES_TROPIUS, + } +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Steven[] = { + { + .iv = 255, + .lvl = 77, + .species = SPECIES_SKARMORY, + .heldItem = ITEM_NONE, + .moves = MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING + }, + { + .iv = 255, + .lvl = 75, + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_NONE, + .moves = MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE + }, + { + .iv = 255, + .lvl = 76, + .species = SPECIES_AGGRON, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW + }, + { + .iv = 255, + .lvl = 76, + .species = SPECIES_CRADILY, + .heldItem = ITEM_NONE, + .moves = MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY + }, + { + .iv = 255, + .lvl = 76, + .species = SPECIES_ARMALDO, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH + }, + { + .iv = 255, + .lvl = 78, + .species = SPECIES_METAGROSS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_SHADOW_BALL + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anabel[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_BELDUM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_BELDUM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_BELDUM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_BELDUM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_BELDUM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_BELDUM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_BELDUM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres2[] = { + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SANDSHREW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres3[] = { + { + .iv = 20, + .lvl = 33, + .species = SPECIES_NOSEPASS, + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_SANDSHREW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres4[] = { + { + .iv = 30, + .lvl = 35, + .species = SPECIES_NOSEPASS, + }, + { + .iv = 30, + .lvl = 35, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 30, + .lvl = 35, + .species = SPECIES_SANDSHREW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andres5[] = { + { + .iv = 40, + .lvl = 37, + .species = SPECIES_NOSEPASS, + }, + { + .iv = 40, + .lvl = 37, + .species = SPECIES_SANDSLASH, + }, + { + .iv = 40, + .lvl = 37, + .species = SPECIES_SANDSLASH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory2[] = { + { + .iv = 10, + .lvl = 30, + .species = SPECIES_WINGULL, + }, + { + .iv = 10, + .lvl = 30, + .species = SPECIES_MACHOP, + }, + { + .iv = 10, + .lvl = 30, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory3[] = { + { + .iv = 20, + .lvl = 32, + .species = SPECIES_PELIPPER, + }, + { + .iv = 20, + .lvl = 32, + .species = SPECIES_MACHOP, + }, + { + .iv = 20, + .lvl = 32, + .species = SPECIES_TENTACOOL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory4[] = { + { + .iv = 30, + .lvl = 34, + .species = SPECIES_PELIPPER, + }, + { + .iv = 30, + .lvl = 34, + .species = SPECIES_MACHOP, + }, + { + .iv = 30, + .lvl = 34, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cory5[] = { + { + .iv = 40, + .lvl = 36, + .species = SPECIES_PELIPPER, + }, + { + .iv = 40, + .lvl = 36, + .species = SPECIES_MACHOKE, + }, + { + .iv = 40, + .lvl = 36, + .species = SPECIES_TENTACRUEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo2[] = { + { + .iv = 10, + .lvl = 37, + .species = SPECIES_STARYU, + }, + { + .iv = 10, + .lvl = 37, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo3[] = { + { + .iv = 20, + .lvl = 39, + .species = SPECIES_WINGULL, + }, + { + .iv = 20, + .lvl = 39, + .species = SPECIES_STARYU, + }, + { + .iv = 20, + .lvl = 39, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo4[] = { + { + .iv = 30, + .lvl = 41, + .species = SPECIES_PELIPPER, + }, + { + .iv = 30, + .lvl = 41, + .species = SPECIES_STARYU, + }, + { + .iv = 30, + .lvl = 41, + .species = SPECIES_STARYU, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo5[] = { + { + .iv = 40, + .lvl = 43, + .species = SPECIES_PELIPPER, + }, + { + .iv = 40, + .lvl = 43, + .species = SPECIES_STARMIE, + }, + { + .iv = 40, + .lvl = 43, + .species = SPECIES_STARMIE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji2[] = { + { + .iv = 10, + .lvl = 37, + .species = SPECIES_MACHOKE, + }, + { + .iv = 10, + .lvl = 37, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji3[] = { + { + .iv = 20, + .lvl = 39, + .species = SPECIES_MAKUHITA, + }, + { + .iv = 20, + .lvl = 39, + .species = SPECIES_MACHOKE, + }, + { + .iv = 20, + .lvl = 39, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji4[] = { + { + .iv = 30, + .lvl = 41, + .species = SPECIES_HARIYAMA, + }, + { + .iv = 30, + .lvl = 41, + .species = SPECIES_MACHOKE, + }, + { + .iv = 30, + .lvl = 41, + .species = SPECIES_MACHOKE, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Koji5[] = { + { + .iv = 40, + .lvl = 43, + .species = SPECIES_HARIYAMA, + }, + { + .iv = 40, + .lvl = 43, + .species = SPECIES_MACHAMP, + }, + { + .iv = 40, + .lvl = 43, + .species = SPECIES_MACHAMP, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin2[] = { + { + .iv = 110, + .lvl = 35, + .species = SPECIES_LOUDRED, + }, + { + .iv = 110, + .lvl = 35, + .species = SPECIES_VIGOROTH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin3[] = { + { + .iv = 120, + .lvl = 37, + .species = SPECIES_SPINDA, + }, + { + .iv = 120, + .lvl = 37, + .species = SPECIES_LOUDRED, + }, + { + .iv = 120, + .lvl = 37, + .species = SPECIES_VIGOROTH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin4[] = { + { + .iv = 130, + .lvl = 39, + .species = SPECIES_SPINDA, + }, + { + .iv = 130, + .lvl = 39, + .species = SPECIES_LOUDRED, + }, + { + .iv = 100, + .lvl = 39, + .species = SPECIES_VIGOROTH, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristin5[] = { + { + .iv = 140, + .lvl = 41, + .species = SPECIES_SPINDA, + }, + { + .iv = 140, + .lvl = 41, + .species = SPECIES_EXPLOUD, + }, + { + .iv = 140, + .lvl = 41, + .species = SPECIES_SLAKING, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando2[] = { + { + .iv = 10, + .lvl = 35, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 10, + .lvl = 35, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 10, + .lvl = 35, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando3[] = { + { + .iv = 20, + .lvl = 37, + .species = SPECIES_ELECTRIKE, + }, + { + .iv = 20, + .lvl = 37, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 20, + .lvl = 37, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando4[] = { + { + .iv = 30, + .lvl = 39, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 30, + .lvl = 39, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 30, + .lvl = 39, + .species = SPECIES_LOUDRED, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando5[] = { + { + .iv = 40, + .lvl = 41, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 40, + .lvl = 41, + .species = SPECIES_MANECTRIC, + }, + { + .iv = 40, + .lvl = 41, + .species = SPECIES_EXPLOUD, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer2[] = { + { + .iv = 10, + .lvl = 26, + .species = SPECIES_GEODUDE, + }, + { + .iv = 10, + .lvl = 26, + .species = SPECIES_NUMEL, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer3[] = { + { + .iv = 20, + .lvl = 28, + .species = SPECIES_MACHOP, + }, + { + .iv = 20, + .lvl = 28, + .species = SPECIES_NUMEL, + }, + { + .iv = 20, + .lvl = 28, + .species = SPECIES_GRAVELER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer4[] = { + { + .iv = 30, + .lvl = 30, + .species = SPECIES_MACHOP, + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_NUMEL, + }, + { + .iv = 30, + .lvl = 30, + .species = SPECIES_GRAVELER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer5[] = { + { + .iv = 40, + .lvl = 33, + .species = SPECIES_MACHOKE, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_CAMERUPT, + }, + { + .iv = 40, + .lvl = 33, + .species = SPECIES_GOLEM, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle2[] = { + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SKITTY, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_LOTAD, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_SEEDOT, + }, + { + .iv = 10, + .lvl = 31, + .species = SPECIES_TAILLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle3[] = { + { + .iv = 20, + .lvl = 33, + .species = SPECIES_SKITTY, + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_LINOONE, + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_LOMBRE, + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_NUZLEAF, + }, + { + .iv = 20, + .lvl = 33, + .species = SPECIES_TAILLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle4[] = { + { + .iv = 30, + .lvl = 35, + .species = SPECIES_DELCATTY, + }, + { + .iv = 30, + .lvl = 35, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 30, + .lvl = 35, + .species = SPECIES_LINOONE, + }, + { + .iv = 30, + .lvl = 35, + .species = SPECIES_LOMBRE, + }, + { + .iv = 30, + .lvl = 35, + .species = SPECIES_NUZLEAF, + }, + { + .iv = 30, + .lvl = 35, + .species = SPECIES_SWELLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gabrielle5[] = { + { + .iv = 40, + .lvl = 37, + .species = SPECIES_DELCATTY, + }, + { + .iv = 40, + .lvl = 37, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 40, + .lvl = 37, + .species = SPECIES_LINOONE, + }, + { + .iv = 40, + .lvl = 37, + .species = SPECIES_LUDICOLO, + }, + { + .iv = 40, + .lvl = 37, + .species = SPECIES_SHIFTRY, + }, + { + .iv = 40, + .lvl = 37, + .species = SPECIES_SWELLOW, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia2[] = { + { + .iv = 10, + .lvl = 34, + .species = SPECIES_WAILMER, + }, + { + .iv = 10, + .lvl = 34, + .species = SPECIES_HORSEA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia3[] = { + { + .iv = 20, + .lvl = 36, + .species = SPECIES_LUVDISC, + }, + { + .iv = 20, + .lvl = 36, + .species = SPECIES_WAILMER, + }, + { + .iv = 20, + .lvl = 36, + .species = SPECIES_SEADRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia4[] = { + { + .iv = 30, + .lvl = 38, + .species = SPECIES_LUVDISC, + }, + { + .iv = 30, + .lvl = 38, + .species = SPECIES_WAILMER, + }, + { + .iv = 30, + .lvl = 38, + .species = SPECIES_SEADRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thalia5[] = { + { + .iv = 40, + .lvl = 40, + .species = SPECIES_LUVDISC, + }, + { + .iv = 40, + .lvl = 40, + .species = SPECIES_WAILORD, + }, + { + .iv = 40, + .lvl = 40, + .species = SPECIES_KINGDRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mariela[] = { + { + .iv = 0, + .lvl = 41, + .species = SPECIES_CHIMECHO, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alvaro[] = { + { + .iv = 0, + .lvl = 41, + .species = SPECIES_BANETTE, + }, + { + .iv = 0, + .lvl = 41, + .species = SPECIES_KADABRA, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Everett[] = { + { + .iv = 0, + .lvl = 41, + .species = SPECIES_WOBBUFFET, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_CHARMANDER, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_BULBASAUR, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_GROUDON, + } +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May16[] = { + { + .iv = 0, + .lvl = 5, + .species = SPECIES_KYOGRE, + } +}; + diff --git a/src/data/trainers.h b/src/data/trainers.h new file mode 100644 index 000000000..19e210acc --- /dev/null +++ b/src/data/trainers.h @@ -0,0 +1,11971 @@ +const struct Trainer gTrainers[] = { + [TRAINER_NONE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 0, + .party = {.NoItemDefaultMoves = NULL } + }, + + [TRAINER_SAWYER_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("SAWYER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer1 } + }, + + [TRAINER_GRUNT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt1 } + }, + + [TRAINER_GRUNT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt2 } + }, + + [TRAINER_GRUNT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt3 } + }, + + [TRAINER_GRUNT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt4 } + }, + + [TRAINER_GRUNT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt5 } + }, + + [TRAINER_GRUNT_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt6 } + }, + + [TRAINER_GRUNT_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt7 } + }, + + [TRAINER_GABRIELLE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("GABRIELLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle1 } + }, + + [TRAINER_GRUNT_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt8 } + }, + + [TRAINER_MARCEL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("MARCEL"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Marcel } + }, + + [TRAINER_ALBERTO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ALBERTO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Alberto } + }, + + [TRAINER_ED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("ED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Ed } + }, + + [TRAINER_GRUNT_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt9 } + }, + + [TRAINER_DECLAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DECLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Declan } + }, + + [TRAINER_GRUNT_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt10 } + }, + + [TRAINER_GRUNT_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt11 } + }, + + [TRAINER_GRUNT_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt12 } + }, + + [TRAINER_GRUNT_13] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt13 } + }, + + [TRAINER_GRUNT_14] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt14 } + }, + + [TRAINER_GRUNT_15] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt15 } + }, + + [TRAINER_GRUNT_16] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt16 } + }, + + [TRAINER_GRUNT_17] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt17 } + }, + + [TRAINER_GRUNT_18] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt18 } + }, + + [TRAINER_GRUNT_19] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt19 } + }, + + [TRAINER_GRUNT_20] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt20 } + }, + + [TRAINER_GRUNT_21] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt21 } + }, + + [TRAINER_GRUNT_22] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt22 } + }, + + [TRAINER_FREDRICK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("FREDRICK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Fredrick } + }, + + [TRAINER_MATT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_M, + .trainerName = _("MATT"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Matt } + }, + + [TRAINER_ZANDER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("ZANDER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Zander } + }, + + [TRAINER_SHELLY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_F, + .trainerName = _("SHELLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shelly1 } + }, + + [TRAINER_SHELLY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_F, + .trainerName = _("SHELLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shelly2 } + }, + + [TRAINER_ARCHIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_LEADER_ARCHIE, + .trainerName = _("ARCHIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Archie } + }, + + [TRAINER_LEAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("LEAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Leah } + }, + + [TRAINER_DAISY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("DAISY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Daisy } + }, + + [TRAINER_ROSE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Rose1 } + }, + + [TRAINER_FELIX] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("FELIX"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Felix } + }, + + [TRAINER_VIOLET] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("VIOLET"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Violet } + }, + + [TRAINER_ROSE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Rose2 } + }, + + [TRAINER_ROSE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Rose3 } + }, + + [TRAINER_ROSE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Rose4 } + }, + + [TRAINER_ROSE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Rose5 } + }, + + [TRAINER_DUSTY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Dusty1 } + }, + + [TRAINER_CHIP] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("CHIP"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemCustomMoves = gTrainerParty_Chip } + }, + + [TRAINER_FOSTER] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("FOSTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Foster } + }, + + [TRAINER_DUSTY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Dusty2 } + }, + + [TRAINER_DUSTY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Dusty3 } + }, + + [TRAINER_DUSTY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Dusty4 } + }, + + [TRAINER_DUSTY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Dusty5 } + }, + + [TRAINER_GABBY_AND_TY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy1 } + }, + + [TRAINER_GABBY_AND_TY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy2 } + }, + + [TRAINER_GABBY_AND_TY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy3 } + }, + + [TRAINER_GABBY_AND_TY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy4 } + }, + + [TRAINER_GABBY_AND_TY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_GabbyAndTy5 } + }, + + [TRAINER_GABBY_AND_TY_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_GabbyAndTy6 } + }, + + [TRAINER_LOLA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("LOLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lola1 } + }, + + [TRAINER_AUSTINA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("AUSTINA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Austina } + }, + + [TRAINER_GWEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("GWEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Gwen } + }, + + [TRAINER_LOLA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("LOLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lola2 } + }, + + [TRAINER_LOLA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("LOLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lola3 } + }, + + [TRAINER_LOLA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("LOLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lola4 } + }, + + [TRAINER_LOLA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("LOLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lola5 } + }, + + [TRAINER_RICKY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_2, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Ricky1 } + }, + + [TRAINER_SIMON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_2, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("SIMON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Simon } + }, + + [TRAINER_CHARLIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_2, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("CHARLIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Charlie } + }, + + [TRAINER_RICKY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_2, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Ricky2 } + }, + + [TRAINER_RICKY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_2, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Ricky3 } + }, + + [TRAINER_RICKY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_2, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Ricky4 } + }, + + [TRAINER_RICKY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_2, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Ricky5 } + }, + + [TRAINER_RANDALL] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("RANDALL"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Randall } + }, + + [TRAINER_PARKER] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PARKER"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Parker } + }, + + [TRAINER_GEORGE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("GEORGE"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_George } + }, + + [TRAINER_BERKE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("BERKE"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Berke } + }, + + [TRAINER_BRAXTON] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("BRAXTON"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.NoItemCustomMoves = gTrainerParty_Braxton } + }, + + [TRAINER_VINCENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("VINCENT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Vincent } + }, + + [TRAINER_LEROY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("LEROY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Leroy } + }, + + [TRAINER_WILTON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Wilton1 } + }, + + [TRAINER_EDGAR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("EDGAR"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Edgar } + }, + + [TRAINER_ALBERT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("ALBERT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Albert } + }, + + [TRAINER_SAMUEL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("SAMUEL"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Samuel } + }, + + [TRAINER_VITO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("VITO"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Vito } + }, + + [TRAINER_OWEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("OWEN"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Owen } + }, + + [TRAINER_WILTON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Wilton2 } + }, + + [TRAINER_WILTON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Wilton3 } + }, + + [TRAINER_WILTON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Wilton4 } + }, + + [TRAINER_WILTON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Wilton5 } + }, + + [TRAINER_WARREN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WARREN"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Warren } + }, + + [TRAINER_MARY] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("MARY"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Mary } + }, + + [TRAINER_ALEXIA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("ALEXIA"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Alexia } + }, + + [TRAINER_JODY] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("JODY"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Jody } + }, + + [TRAINER_WENDY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("WENDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = {.NoItemCustomMoves = gTrainerParty_Wendy } + }, + + [TRAINER_KEIRA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("KEIRA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Keira } + }, + + [TRAINER_BROOKE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brooke1 } + }, + + [TRAINER_JENNIFER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("JENNIFER"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jennifer } + }, + + [TRAINER_HOPE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("HOPE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Hope } + }, + + [TRAINER_SHANNON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("SHANNON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Shannon } + }, + + [TRAINER_MICHELLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("MICHELLE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Michelle } + }, + + [TRAINER_CAROLINE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("CAROLINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Caroline } + }, + + [TRAINER_JULIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("JULIE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Julie } + }, + + [TRAINER_BROOKE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brooke2 } + }, + + [TRAINER_BROOKE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brooke3 } + }, + + [TRAINER_BROOKE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brooke4 } + }, + + [TRAINER_BROOKE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brooke5 } + }, + + [TRAINER_PATRICIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("PATRICIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Patricia } + }, + + [TRAINER_KINDRA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("KINDRA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Kindra } + }, + + [TRAINER_TAMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("TAMMY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Tammy } + }, + + [TRAINER_VALERIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("VALERIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Valerie1 } + }, + + [TRAINER_TASHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("TASHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Tasha } + }, + + [TRAINER_VALERIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("VALERIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Valerie2 } + }, + + [TRAINER_VALERIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("VALERIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Valerie3 } + }, + + [TRAINER_VALERIE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("VALERIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Valerie4 } + }, + + [TRAINER_VALERIE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("VALERIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Valerie5 } + }, + + [TRAINER_CINDY_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Cindy1 } + }, + + [TRAINER_DAPHNE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("DAPHNE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemCustomMoves = gTrainerParty_Daphne } + }, + + [TRAINER_GRUNT_23] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt23 } + }, + + [TRAINER_CINDY_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Cindy2 } + }, + + [TRAINER_BRIANNA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("BRIANNA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Brianna } + }, + + [TRAINER_NAOMI] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("NAOMI"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Naomi } + }, + + [TRAINER_CINDY_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Cindy3 } + }, + + [TRAINER_CINDY_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Cindy4 } + }, + + [TRAINER_CINDY_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Cindy5 } + }, + + [TRAINER_CINDY_6] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Cindy6 } + }, + + [TRAINER_MELISSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("MELISSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Melissa } + }, + + [TRAINER_SHEILA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("SHEILA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Sheila } + }, + + [TRAINER_SHIRLEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("SHIRLEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Shirley } + }, + + [TRAINER_JESSICA_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Jessica1 } + }, + + [TRAINER_CONNIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("CONNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Connie } + }, + + [TRAINER_BRIDGET] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("BRIDGET"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Bridget } + }, + + [TRAINER_OLIVIA] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("OLIVIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemCustomMoves = gTrainerParty_Olivia } + }, + + [TRAINER_TIFFANY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("TIFFANY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Tiffany } + }, + + [TRAINER_JESSICA_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Jessica2 } + }, + + [TRAINER_JESSICA_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Jessica3 } + }, + + [TRAINER_JESSICA_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Jessica4 } + }, + + [TRAINER_JESSICA_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Jessica5 } + }, + + [TRAINER_WINSTON_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Winston1 } + }, + + [TRAINER_MOLLIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("MOLLIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Mollie } + }, + + [TRAINER_GARRET] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("GARRET"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Garret } + }, + + [TRAINER_WINSTON_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Winston2 } + }, + + [TRAINER_WINSTON_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Winston3 } + }, + + [TRAINER_WINSTON_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Winston4 } + }, + + [TRAINER_WINSTON_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Winston5 } + }, + + [TRAINER_STEVE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Steve1 } + }, + + [TRAINER_THALIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("THALIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Thalia1 } + }, + + [TRAINER_MARK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("MARK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Mark } + }, + + [TRAINER_GRUNT_24] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt24 } + }, + + [TRAINER_STEVE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Steve2 } + }, + + [TRAINER_STEVE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Steve3 } + }, + + [TRAINER_STEVE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Steve4 } + }, + + [TRAINER_STEVE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Steve5 } + }, + + [TRAINER_LUIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("LUIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Luis } + }, + + [TRAINER_DOMINIK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DOMINIK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Dominik } + }, + + [TRAINER_DOUGLAS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DOUGLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Douglas } + }, + + [TRAINER_DARRIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DARRIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Darrin } + }, + + [TRAINER_TONY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Tony1 } + }, + + [TRAINER_JEROME] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("JEROME"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jerome } + }, + + [TRAINER_MATTHEW] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("MATTHEW"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Matthew } + }, + + [TRAINER_DAVID] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DAVID"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_David } + }, + + [TRAINER_SPENCER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("SPENCER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Spencer } + }, + + [TRAINER_ROLAND] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("ROLAND"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Roland } + }, + + [TRAINER_NOLEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("NOLEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Nolen } + }, + + [TRAINER_STAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("STAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Stan } + }, + + [TRAINER_BARRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("BARRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Barry } + }, + + [TRAINER_DEAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DEAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Dean } + }, + + [TRAINER_RODNEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("RODNEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Rodney } + }, + + [TRAINER_RICHARD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("RICHARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Richard } + }, + + [TRAINER_HERMAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("HERMAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Herman } + }, + + [TRAINER_SANTIAGO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("SANTIAGO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Santiago } + }, + + [TRAINER_GILBERT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("GILBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Gilbert } + }, + + [TRAINER_FRANKLIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("FRANKLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Franklin } + }, + + [TRAINER_KEVIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("KEVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Kevin } + }, + + [TRAINER_JACK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("JACK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jack } + }, + + [TRAINER_DUDLEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DUDLEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Dudley } + }, + + [TRAINER_CHAD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("CHAD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Chad } + }, + + [TRAINER_TONY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Tony2 } + }, + + [TRAINER_TONY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Tony3 } + }, + + [TRAINER_TONY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Tony4 } + }, + + [TRAINER_TONY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Tony5 } + }, + + [TRAINER_TAKAO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("TAKAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Takao } + }, + + [TRAINER_HITOSHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("HITOSHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Hitoshi } + }, + + [TRAINER_KIYO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KIYO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Kiyo } + }, + + [TRAINER_KOICHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KOICHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Koichi } + }, + + [TRAINER_NOB_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Nob1 } + }, + + [TRAINER_NOB_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Nob2 } + }, + + [TRAINER_NOB_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Nob3 } + }, + + [TRAINER_NOB_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Nob4 } + }, + + [TRAINER_NOB_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.ItemDefaultMoves = gTrainerParty_Nob5 } + }, + + [TRAINER_YUJI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("YUJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Yuji } + }, + + [TRAINER_DAISUKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("DAISUKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Daisuke } + }, + + [TRAINER_ATSUSHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("ATSUSHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Atsushi } + }, + + [TRAINER_KIRK] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("KIRK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Kirk } + }, + + [TRAINER_GRUNT_25] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt25 } + }, + + [TRAINER_GRUNT_26] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt26 } + }, + + [TRAINER_SHAWN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("SHAWN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shawn } + }, + + [TRAINER_FERNANDO_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("FERNANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Fernando1 } + }, + + [TRAINER_DALTON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Dalton1 } + }, + + [TRAINER_DALTON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Dalton2 } + }, + + [TRAINER_DALTON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Dalton3 } + }, + + [TRAINER_DALTON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Dalton4 } + }, + + [TRAINER_DALTON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Dalton5 } + }, + + [TRAINER_COLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("COLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Cole } + }, + + [TRAINER_JEFF] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("JEFF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jeff } + }, + + [TRAINER_AXLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("AXLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Axle } + }, + + [TRAINER_JACE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("JACE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jace } + }, + + [TRAINER_KEEGAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("KEEGAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Keegan } + }, + + [TRAINER_BERNIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Bernie1 } + }, + + [TRAINER_BERNIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Bernie2 } + }, + + [TRAINER_BERNIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Bernie3 } + }, + + [TRAINER_BERNIE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Bernie4 } + }, + + [TRAINER_BERNIE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Bernie5 } + }, + + [TRAINER_DREW] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("DREW"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Drew } + }, + + [TRAINER_BEAU] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("BEAU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemCustomMoves = gTrainerParty_Beau } + }, + + [TRAINER_LARRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("LARRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Larry } + }, + + [TRAINER_SHANE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("SHANE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shane } + }, + + [TRAINER_JUSTIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("JUSTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Justin } + }, + + [TRAINER_ETHAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Ethan1 } + }, + + [TRAINER_AUTUMN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("AUTUMN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Autumn } + }, + + [TRAINER_TRAVIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("TRAVIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Travis } + }, + + [TRAINER_ETHAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Ethan2 } + }, + + [TRAINER_ETHAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Ethan3 } + }, + + [TRAINER_ETHAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Ethan4 } + }, + + [TRAINER_ETHAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Ethan5 } + }, + + [TRAINER_BRENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brent } + }, + + [TRAINER_DONALD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("DONALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Donald } + }, + + [TRAINER_TAYLOR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("TAYLOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Taylor } + }, + + [TRAINER_JEFFREY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("JEFFREY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey1 } + }, + + [TRAINER_DEREK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("DEREK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Derek } + }, + + [TRAINER_JEFFREY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("JEFFREY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey2 } + }, + + [TRAINER_JEFFREY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("JEFFREY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey3 } + }, + + [TRAINER_JEFFREY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("JEFFREY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Jeffrey4 } + }, + + [TRAINER_JEFFREY_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("JEFFREY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 5, + .party = {.ItemDefaultMoves = gTrainerParty_Jeffrey5 } + }, + + [TRAINER_EDWARD] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("EDWARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Edward } + }, + + [TRAINER_PRESTON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("PRESTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Preston } + }, + + [TRAINER_VIRGIL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("VIRGIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Virgil } + }, + + [TRAINER_BLAKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("BLAKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Blake } + }, + + [TRAINER_WILLIAM] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("WILLIAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_William } + }, + + [TRAINER_JOSHUA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("JOSHUA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Joshua } + }, + + [TRAINER_CAMERON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Cameron1 } + }, + + [TRAINER_CAMERON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cameron2 } + }, + + [TRAINER_CAMERON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cameron3 } + }, + + [TRAINER_CAMERON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cameron4 } + }, + + [TRAINER_CAMERON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cameron5 } + }, + + [TRAINER_JACLYN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("JACLYN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Jaclyn } + }, + + [TRAINER_HANNAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("HANNAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Hannah } + }, + + [TRAINER_SAMANTHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("SAMANTHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Samantha } + }, + + [TRAINER_MAURA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("MAURA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Maura } + }, + + [TRAINER_KAYLA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("KAYLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Kayla } + }, + + [TRAINER_ALEXIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("ALEXIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Alexis } + }, + + [TRAINER_JACKI_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("JACKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jacki1 } + }, + + [TRAINER_JACKI_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("JACKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jacki2 } + }, + + [TRAINER_JACKI_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("JACKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jacki3 } + }, + + [TRAINER_JACKI_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("JACKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jacki4 } + }, + + [TRAINER_JACKI_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("JACKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jacki5 } + }, + + [TRAINER_WALTER_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Walter1 } + }, + + [TRAINER_MICAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("MICAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Micah } + }, + + [TRAINER_THOMAS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("THOMAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Thomas } + }, + + [TRAINER_WALTER_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Walter2 } + }, + + [TRAINER_WALTER_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Walter3 } + }, + + [TRAINER_WALTER_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Walter4 } + }, + + [TRAINER_WALTER_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemCustomMoves = gTrainerParty_Walter5 } + }, + + [TRAINER_SIDNEY] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_ELITE_FOUR_SIDNEY, + .trainerName = _("SIDNEY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xf, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Sidney } + }, + + [TRAINER_PHOEBE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_ELITE_FOUR_PHOEBE, + .trainerName = _("PHOEBE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Phoebe } + }, + + [TRAINER_GLACIA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_ELITE_FOUR_GLACIA, + .trainerName = _("GLACIA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Glacia } + }, + + [TRAINER_DRAKE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_ELITE_FOUR_DRAKE, + .trainerName = _("DRAKE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Drake } + }, + + [TRAINER_ROXANNE_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_ROXANNE, + .trainerName = _("ROXANNE"), + .items = {ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.ItemCustomMoves = gTrainerParty_Roxanne1 } + }, + + [TRAINER_BRAWLY_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_BRAWLY, + .trainerName = _("BRAWLY"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.ItemCustomMoves = gTrainerParty_Brawly1 } + }, + + [TRAINER_WATTSON_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_WATTSON, + .trainerName = _("WATTSON"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Wattson1 } + }, + + [TRAINER_FLANNERY_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_FLANNERY, + .trainerName = _("FLANNERY"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Flannery1 } + }, + + [TRAINER_NORMAN_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_NORMAN, + .trainerName = _("NORMAN"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Norman1 } + }, + + [TRAINER_WINONA_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_WINONA, + .trainerName = _("WINONA"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x17, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Winona1 } + }, + + [TRAINER_TATE_AND_LIZA_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, + .trainerName = _("TATE&LIZA"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza1 } + }, + + [TRAINER_JUAN_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_JUAN, + .trainerName = _("JUAN"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Juan1 } + }, + + [TRAINER_JERRY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jerry1 } + }, + + [TRAINER_TED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("TED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Ted } + }, + + [TRAINER_PAUL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("PAUL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Paul } + }, + + [TRAINER_JERRY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jerry2 } + }, + + [TRAINER_JERRY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jerry3 } + }, + + [TRAINER_JERRY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jerry4 } + }, + + [TRAINER_JERRY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jerry5 } + }, + + [TRAINER_KAREN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KAREN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Karen1 } + }, + + [TRAINER_GEORGIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("GEORGIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Georgia } + }, + + [TRAINER_KAREN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KAREN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Karen2 } + }, + + [TRAINER_KAREN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KAREN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Karen3 } + }, + + [TRAINER_KAREN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KAREN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Karen4 } + }, + + [TRAINER_KAREN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KAREN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Karen5 } + }, + + [TRAINER_KATE_AND_JOY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("KATE & JOY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_KateAndJoy } + }, + + [TRAINER_ANNA_AND_MEG_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg1 } + }, + + [TRAINER_ANNA_AND_MEG_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg2 } + }, + + [TRAINER_ANNA_AND_MEG_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg3 } + }, + + [TRAINER_ANNA_AND_MEG_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg4 } + }, + + [TRAINER_ANNA_AND_MEG_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_AnnaAndMeg5 } + }, + + [TRAINER_VICTOR] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_M, + .trainerName = _("VICTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Victor } + }, + + [TRAINER_MIGUEL_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Miguel1 } + }, + + [TRAINER_COLTON] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_M, + .trainerName = _("COLTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Colton } + }, + + [TRAINER_MIGUEL_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Miguel2 } + }, + + [TRAINER_MIGUEL_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Miguel3 } + }, + + [TRAINER_MIGUEL_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Miguel4 } + }, + + [TRAINER_MIGUEL_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Miguel5 } + }, + + [TRAINER_VICTORIA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("VICTORIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Victoria } + }, + + [TRAINER_VANESSA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("VANESSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.ItemDefaultMoves = gTrainerParty_Vanessa } + }, + + [TRAINER_BETHANY] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("BETHANY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.ItemDefaultMoves = gTrainerParty_Bethany } + }, + + [TRAINER_ISABEL_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Isabel1 } + }, + + [TRAINER_ISABEL_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Isabel2 } + }, + + [TRAINER_ISABEL_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Isabel3 } + }, + + [TRAINER_ISABEL_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Isabel4 } + }, + + [TRAINER_ISABEL_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Isabel5 } + }, + + [TRAINER_TIMOTHY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Timothy1 } + }, + + [TRAINER_TIMOTHY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Timothy2 } + }, + + [TRAINER_TIMOTHY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Timothy3 } + }, + + [TRAINER_TIMOTHY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Timothy4 } + }, + + [TRAINER_TIMOTHY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Timothy5 } + }, + + [TRAINER_VICKY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("VICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Vicky } + }, + + [TRAINER_SHELBY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("SHELBY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shelby1 } + }, + + [TRAINER_SHELBY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("SHELBY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shelby2 } + }, + + [TRAINER_SHELBY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("SHELBY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shelby3 } + }, + + [TRAINER_SHELBY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("SHELBY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shelby4 } + }, + + [TRAINER_SHELBY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("SHELBY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shelby5 } + }, + + [TRAINER_CALVIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Calvin1 } + }, + + [TRAINER_BILLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("BILLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Billy } + }, + + [TRAINER_JOSH] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("JOSH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Josh } + }, + + [TRAINER_TOMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("TOMMY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Tommy } + }, + + [TRAINER_JOEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("JOEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Joey } + }, + + [TRAINER_BEN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("BEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Ben } + }, + + [TRAINER_QUINCY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("QUINCY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Quincy } + }, + + [TRAINER_KATELYNN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("KATELYNN"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Katelynn } + }, + + [TRAINER_JAYLEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("JAYLEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jaylen } + }, + + [TRAINER_DILLON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("DILLON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Dillon } + }, + + [TRAINER_CALVIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Calvin2 } + }, + + [TRAINER_CALVIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Calvin3 } + }, + + [TRAINER_CALVIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Calvin4 } + }, + + [TRAINER_CALVIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Calvin5 } + }, + + [TRAINER_EDDIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("EDDIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Eddie } + }, + + [TRAINER_ALLEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ALLEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Allen } + }, + + [TRAINER_TIMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("TIMMY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Timmy } + }, + + [TRAINER_WALLACE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CHAMPION, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CHAMPION_WALLACE, + .trainerName = _("WALLACE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Wallace } + }, + + [TRAINER_ANDREW] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ANDREW"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Andrew } + }, + + [TRAINER_IVAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("IVAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Ivan } + }, + + [TRAINER_CLAUDE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("CLAUDE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Claude } + }, + + [TRAINER_ELLIOT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Elliot1 } + }, + + [TRAINER_NED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("NED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Ned } + }, + + [TRAINER_DALE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("DALE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Dale } + }, + + [TRAINER_NOLAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("NOLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Nolan } + }, + + [TRAINER_BARNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("BARNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Barny } + }, + + [TRAINER_WADE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("WADE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Wade } + }, + + [TRAINER_CARTER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("CARTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Carter } + }, + + [TRAINER_ELLIOT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Elliot2 } + }, + + [TRAINER_ELLIOT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Elliot3 } + }, + + [TRAINER_ELLIOT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Elliot4 } + }, + + [TRAINER_ELLIOT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Elliot5 } + }, + + [TRAINER_RONALD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("RONALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Ronald } + }, + + [TRAINER_JACOB] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("JACOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jacob } + }, + + [TRAINER_ANTHONY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("ANTHONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Anthony } + }, + + [TRAINER_BENJAMIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin1 } + }, + + [TRAINER_BENJAMIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin2 } + }, + + [TRAINER_BENJAMIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin3 } + }, + + [TRAINER_BENJAMIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin4 } + }, + + [TRAINER_BENJAMIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Benjamin5 } + }, + + [TRAINER_ABIGAIL_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("ABIGAIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Abigail1 } + }, + + [TRAINER_JASMINE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("JASMINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jasmine } + }, + + [TRAINER_ABIGAIL_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("ABIGAIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Abigail2 } + }, + + [TRAINER_ABIGAIL_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("ABIGAIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Abigail3 } + }, + + [TRAINER_ABIGAIL_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("ABIGAIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Abigail4 } + }, + + [TRAINER_ABIGAIL_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("ABIGAIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Abigail5 } + }, + + [TRAINER_DYLAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Dylan1 } + }, + + [TRAINER_DYLAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Dylan2 } + }, + + [TRAINER_DYLAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Dylan3 } + }, + + [TRAINER_DYLAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Dylan4 } + }, + + [TRAINER_DYLAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Dylan5 } + }, + + [TRAINER_MARIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("MARIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Maria1 } + }, + + [TRAINER_MARIA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("MARIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Maria2 } + }, + + [TRAINER_MARIA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("MARIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Maria3 } + }, + + [TRAINER_MARIA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("MARIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Maria4 } + }, + + [TRAINER_MARIA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("MARIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Maria5 } + }, + + [TRAINER_CAMDEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("CAMDEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Camden } + }, + + [TRAINER_DEMETRIUS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("DEMETRIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Demetrius } + }, + + [TRAINER_ISAIAH_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah1 } + }, + + [TRAINER_PABLO_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("PABLO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Pablo1 } + }, + + [TRAINER_CHASE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("CHASE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Chase } + }, + + [TRAINER_ISAIAH_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah2 } + }, + + [TRAINER_ISAIAH_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah3 } + }, + + [TRAINER_ISAIAH_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah4 } + }, + + [TRAINER_ISAIAH_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaiah5 } + }, + + [TRAINER_ISOBEL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("ISOBEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Isobel } + }, + + [TRAINER_DONNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("DONNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Donny } + }, + + [TRAINER_TALIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("TALIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Talia } + }, + + [TRAINER_KATELYN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("KATELYN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn1 } + }, + + [TRAINER_ALLISON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("ALLISON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Allison } + }, + + [TRAINER_KATELYN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("KATELYN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn2 } + }, + + [TRAINER_KATELYN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("KATELYN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn3 } + }, + + [TRAINER_KATELYN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("KATELYN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn4 } + }, + + [TRAINER_KATELYN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("KATELYN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Katelyn5 } + }, + + [TRAINER_NICOLAS_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas1 } + }, + + [TRAINER_NICOLAS_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas2 } + }, + + [TRAINER_NICOLAS_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas3 } + }, + + [TRAINER_NICOLAS_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Nicolas4 } + }, + + [TRAINER_NICOLAS_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.ItemDefaultMoves = gTrainerParty_Nicolas5 } + }, + + [TRAINER_AARON] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("AARON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Aaron } + }, + + [TRAINER_PERRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("PERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Perry } + }, + + [TRAINER_HUGH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("HUGH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Hugh } + }, + + [TRAINER_PHIL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("PHIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Phil } + }, + + [TRAINER_JARED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("JARED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jared } + }, + + [TRAINER_HUMBERTO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("HUMBERTO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Humberto } + }, + + [TRAINER_PRESLEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("PRESLEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Presley } + }, + + [TRAINER_EDWARDO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("EDWARDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Edwardo } + }, + + [TRAINER_COLIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("COLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Colin } + }, + + [TRAINER_ROBERT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Robert1 } + }, + + [TRAINER_BENNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("BENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Benny } + }, + + [TRAINER_CHESTER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("CHESTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Chester } + }, + + [TRAINER_ROBERT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Robert2 } + }, + + [TRAINER_ROBERT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Robert3 } + }, + + [TRAINER_ROBERT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Robert4 } + }, + + [TRAINER_ROBERT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Robert5 } + }, + + [TRAINER_ALEX] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ALEX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Alex } + }, + + [TRAINER_BECK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("BECK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Beck } + }, + + [TRAINER_YASU] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("YASU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Yasu } + }, + + [TRAINER_TAKASHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("TAKASHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Takashi } + }, + + [TRAINER_DIANNE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("DIANNE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 2, + .party = {.ItemCustomMoves = gTrainerParty_Dianne } + }, + + [TRAINER_JANI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("JANI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jani } + }, + + [TRAINER_LAO_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 3, + .party = {.NoItemCustomMoves = gTrainerParty_Lao1 } + }, + + [TRAINER_LUNG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LUNG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lung } + }, + + [TRAINER_LAO_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = {.NoItemCustomMoves = gTrainerParty_Lao2 } + }, + + [TRAINER_LAO_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = {.NoItemCustomMoves = gTrainerParty_Lao3 } + }, + + [TRAINER_LAO_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = {.NoItemCustomMoves = gTrainerParty_Lao4 } + }, + + [TRAINER_LAO_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Lao5 } + }, + + [TRAINER_JOCELYN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("JOCELYN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jocelyn } + }, + + [TRAINER_LAURA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("LAURA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Laura } + }, + + [TRAINER_CYNDY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("CYNDY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy1 } + }, + + [TRAINER_CORA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("CORA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Cora } + }, + + [TRAINER_PAULA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("PAULA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Paula } + }, + + [TRAINER_CYNDY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("CYNDY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy2 } + }, + + [TRAINER_CYNDY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("CYNDY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy3 } + }, + + [TRAINER_CYNDY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("CYNDY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy4 } + }, + + [TRAINER_CYNDY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("CYNDY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cyndy5 } + }, + + [TRAINER_MADELINE_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("MADELINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Madeline1 } + }, + + [TRAINER_CLARISSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("CLARISSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Clarissa } + }, + + [TRAINER_ANGELICA] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("ANGELICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Angelica } + }, + + [TRAINER_MADELINE_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("MADELINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Madeline2 } + }, + + [TRAINER_MADELINE_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("MADELINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Madeline3 } + }, + + [TRAINER_MADELINE_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("MADELINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Madeline4 } + }, + + [TRAINER_MADELINE_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("MADELINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Madeline5 } + }, + + [TRAINER_BEVERLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("BEVERLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Beverly } + }, + + [TRAINER_IMANI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("IMANI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Imani } + }, + + [TRAINER_KYLA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("KYLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Kyla } + }, + + [TRAINER_DENISE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("DENISE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Denise } + }, + + [TRAINER_BETH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("BETH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Beth } + }, + + [TRAINER_TARA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("TARA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Tara } + }, + + [TRAINER_MISSY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("MISSY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Missy } + }, + + [TRAINER_ALICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("ALICE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Alice } + }, + + [TRAINER_JENNY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("JENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jenny1 } + }, + + [TRAINER_GRACE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("GRACE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grace } + }, + + [TRAINER_TANYA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("TANYA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Tanya } + }, + + [TRAINER_SHARON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("SHARON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Sharon } + }, + + [TRAINER_NIKKI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("NIKKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Nikki } + }, + + [TRAINER_BRENDA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("BRENDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brenda } + }, + + [TRAINER_KATIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("KATIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Katie } + }, + + [TRAINER_SUSIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("SUSIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Susie } + }, + + [TRAINER_KARA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("KARA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Kara } + }, + + [TRAINER_DANA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("DANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Dana } + }, + + [TRAINER_SIENNA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("SIENNA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Sienna } + }, + + [TRAINER_DEBRA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("DEBRA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Debra } + }, + + [TRAINER_LINDA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("LINDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Linda } + }, + + [TRAINER_KAYLEE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("KAYLEE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Kaylee } + }, + + [TRAINER_LAUREL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("LAUREL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Laurel } + }, + + [TRAINER_CARLEE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("CARLEE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Carlee } + }, + + [TRAINER_JENNY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("JENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jenny2 } + }, + + [TRAINER_JENNY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("JENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jenny3 } + }, + + [TRAINER_JENNY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("JENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jenny4 } + }, + + [TRAINER_JENNY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("JENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jenny5 } + }, + + [TRAINER_HEIDI] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("HEIDI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Heidi } + }, + + [TRAINER_BECKY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("BECKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Becky } + }, + + [TRAINER_CAROL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("CAROL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Carol } + }, + + [TRAINER_NANCY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("NANCY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Nancy } + }, + + [TRAINER_MARTHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("MARTHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Martha } + }, + + [TRAINER_DIANA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Diana1 } + }, + + [TRAINER_CEDRIC] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CEDRIC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Cedric } + }, + + [TRAINER_IRENE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("IRENE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Irene } + }, + + [TRAINER_DIANA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Diana2 } + }, + + [TRAINER_DIANA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Diana3 } + }, + + [TRAINER_DIANA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Diana4 } + }, + + [TRAINER_DIANA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Diana5 } + }, + + [TRAINER_AMY_AND_LIV_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv1 } + }, + + [TRAINER_AMY_AND_LIV_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv2 } + }, + + [TRAINER_GINA_AND_MIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("GINA & MIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_GinaAndMia1 } + }, + + [TRAINER_MIU_AND_YUKI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("MIU & YUKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_MiuAndYuki } + }, + + [TRAINER_AMY_AND_LIV_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv3 } + }, + + [TRAINER_GINA_AND_MIA_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("GINA & MIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_GinaAndMia2 } + }, + + [TRAINER_AMY_AND_LIV_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_AmyAndLiv4 } + }, + + [TRAINER_AMY_AND_LIV_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv5 } + }, + + [TRAINER_AMY_AND_LIV_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_AmyAndLiv6 } + }, + + [TRAINER_HUEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("HUEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Huey } + }, + + [TRAINER_EDMOND] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("EDMOND"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Edmond } + }, + + [TRAINER_ERNEST_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Ernest1 } + }, + + [TRAINER_DWAYNE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("DWAYNE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Dwayne } + }, + + [TRAINER_PHILLIP] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("PHILLIP"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Phillip } + }, + + [TRAINER_LEONARD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("LEONARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Leonard } + }, + + [TRAINER_DUNCAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("DUNCAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Duncan } + }, + + [TRAINER_ERNEST_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Ernest2 } + }, + + [TRAINER_ERNEST_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Ernest3 } + }, + + [TRAINER_ERNEST_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Ernest4 } + }, + + [TRAINER_ERNEST_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Ernest5 } + }, + + [TRAINER_ELI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("ELI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Eli } + }, + + [TRAINER_ANNIKA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_F, + .trainerName = _("ANNIKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemCustomMoves = gTrainerParty_Annika } + }, + + [TRAINER_JAZMYN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_2, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("JAZMYN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jazmyn } + }, + + [TRAINER_JONAS] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("JONAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Jonas } + }, + + [TRAINER_KAYLEY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("KAYLEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Kayley } + }, + + [TRAINER_AURON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("AURON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Auron } + }, + + [TRAINER_KELVIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("KELVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Kelvin } + }, + + [TRAINER_MARLEY] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("MARLEY"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.ItemCustomMoves = gTrainerParty_Marley } + }, + + [TRAINER_REYNA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("REYNA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Reyna } + }, + + [TRAINER_HUDSON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("HUDSON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Hudson } + }, + + [TRAINER_CONOR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("CONOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Conor } + }, + + [TRAINER_EDWIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Edwin1 } + }, + + [TRAINER_HECTOR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("HECTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Hector } + }, + + [TRAINER_TABITHA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha1 } + }, + + [TRAINER_EDWIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Edwin2 } + }, + + [TRAINER_EDWIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Edwin3 } + }, + + [TRAINER_EDWIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Edwin4 } + }, + + [TRAINER_EDWIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Edwin5 } + }, + + [TRAINER_WALLY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.NoItemCustomMoves = gTrainerParty_Wally1 } + }, + + [TRAINER_BRENDAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan1 } + }, + + [TRAINER_BRENDAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan2 } + }, + + [TRAINER_BRENDAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan3 } + }, + + [TRAINER_BRENDAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan4 } + }, + + [TRAINER_BRENDAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan5 } + }, + + [TRAINER_BRENDAN_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan6 } + }, + + [TRAINER_BRENDAN_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan7 } + }, + + [TRAINER_BRENDAN_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan8 } + }, + + [TRAINER_BRENDAN_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan9 } + }, + + [TRAINER_MAY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_May1 } + }, + + [TRAINER_MAY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_May2 } + }, + + [TRAINER_MAY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_May3 } + }, + + [TRAINER_MAY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_May4 } + }, + + [TRAINER_MAY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_May5 } + }, + + [TRAINER_MAY_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_May6 } + }, + + [TRAINER_MAY_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_May7 } + }, + + [TRAINER_MAY_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_May8 } + }, + + [TRAINER_MAY_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_May9 } + }, + + [TRAINER_ISAAC_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaac1 } + }, + + [TRAINER_DAVIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("DAVIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Davis } + }, + + [TRAINER_MITCHELL] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("MITCHELL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Mitchell } + }, + + [TRAINER_ISAAC_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaac2 } + }, + + [TRAINER_ISAAC_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaac3 } + }, + + [TRAINER_ISAAC_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaac4 } + }, + + [TRAINER_ISAAC_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Isaac5 } + }, + + [TRAINER_LYDIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("LYDIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Lydia1 } + }, + + [TRAINER_HALLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("HALLE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Halle } + }, + + [TRAINER_GARRISON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("GARRISON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Garrison } + }, + + [TRAINER_LYDIA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("LYDIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Lydia2 } + }, + + [TRAINER_LYDIA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("LYDIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Lydia3 } + }, + + [TRAINER_LYDIA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("LYDIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Lydia4 } + }, + + [TRAINER_LYDIA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("LYDIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Lydia5 } + }, + + [TRAINER_JACKSON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jackson1 } + }, + + [TRAINER_LORENZO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("LORENZO"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Lorenzo } + }, + + [TRAINER_SEBASTIAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("SEBASTIAN"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Sebastian } + }, + + [TRAINER_JACKSON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jackson2 } + }, + + [TRAINER_JACKSON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jackson3 } + }, + + [TRAINER_JACKSON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Jackson4 } + }, + + [TRAINER_JACKSON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jackson5 } + }, + + [TRAINER_CATHERINE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Catherine1 } + }, + + [TRAINER_JENNA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("JENNA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jenna } + }, + + [TRAINER_SOPHIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("SOPHIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Sophia } + }, + + [TRAINER_CATHERINE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Catherine2 } + }, + + [TRAINER_CATHERINE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Catherine3 } + }, + + [TRAINER_CATHERINE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Catherine4 } + }, + + [TRAINER_CATHERINE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Catherine5 } + }, + + [TRAINER_JULIO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("JULIO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Julio } + }, + + [TRAINER_GRUNT_27] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt27 } + }, + + [TRAINER_GRUNT_28] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt28 } + }, + + [TRAINER_GRUNT_29] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt29 } + }, + + [TRAINER_GRUNT_30] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt30 } + }, + + [TRAINER_MARC] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("MARC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Marc } + }, + + [TRAINER_BRENDEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("BRENDEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brenden } + }, + + [TRAINER_LILITH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("LILITH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Lilith } + }, + + [TRAINER_CRISTIAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("CRISTIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Cristian } + }, + + [TRAINER_SYLVIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("SYLVIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Sylvia } + }, + + [TRAINER_LEONARDO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("LEONARDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Leonardo } + }, + + [TRAINER_ATHENA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("ATHENA"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.ItemCustomMoves = gTrainerParty_Athena } + }, + + [TRAINER_HARRISON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("HARRISON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Harrison } + }, + + [TRAINER_GRUNT_31] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt31 } + }, + + [TRAINER_CLARENCE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("CLARENCE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Clarence } + }, + + [TRAINER_TERRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("TERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Terry } + }, + + [TRAINER_NATE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("NATE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Nate } + }, + + [TRAINER_KATHLEEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("KATHLEEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Kathleen } + }, + + [TRAINER_CLIFFORD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("CLIFFORD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Clifford } + }, + + [TRAINER_NICHOLAS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("NICHOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Nicholas } + }, + + [TRAINER_GRUNT_32] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt32 } + }, + + [TRAINER_GRUNT_33] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt33 } + }, + + [TRAINER_GRUNT_34] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt34 } + }, + + [TRAINER_GRUNT_35] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt35 } + }, + + [TRAINER_GRUNT_36] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt36 } + }, + + [TRAINER_MACEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("MACEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Macey } + }, + + [TRAINER_BRENDAN_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan10 } + }, + + [TRAINER_BRENDAN_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan11 } + }, + + [TRAINER_PAXTON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("PAXTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Paxton } + }, + + [TRAINER_ISABELLA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("ISABELLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Isabella } + }, + + [TRAINER_GRUNT_37] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt37 } + }, + + [TRAINER_TABITHA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha2 } + }, + + [TRAINER_JONATHAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("JONATHAN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jonathan } + }, + + [TRAINER_BRENDAN_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan12 } + }, + + [TRAINER_MAY_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_May10 } + }, + + [TRAINER_MAXIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_LEADER_MAXIE, + .trainerName = _("MAXIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Maxie1 } + }, + + [TRAINER_MAXIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_LEADER_MAXIE, + .trainerName = _("MAXIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Maxie2 } + }, + + [TRAINER_TIANA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("TIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Tiana } + }, + + [TRAINER_HALEY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Haley1 } + }, + + [TRAINER_JANICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("JANICE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Janice } + }, + + [TRAINER_VIVI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("VIVI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Vivi } + }, + + [TRAINER_HALEY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Haley2 } + }, + + [TRAINER_HALEY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Haley3 } + }, + + [TRAINER_HALEY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Haley4 } + }, + + [TRAINER_HALEY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Haley5 } + }, + + [TRAINER_SALLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("SALLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Sally } + }, + + [TRAINER_ROBIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ROBIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Robin } + }, + + [TRAINER_ANDREA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ANDREA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Andrea } + }, + + [TRAINER_CRISSY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("CRISSY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Crissy } + }, + + [TRAINER_RICK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("RICK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Rick } + }, + + [TRAINER_LYLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("LYLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Lyle } + }, + + [TRAINER_JOSE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JOSE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jose } + }, + + [TRAINER_DOUG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("DOUG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Doug } + }, + + [TRAINER_GREG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GREG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Greg } + }, + + [TRAINER_KENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("KENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Kent } + }, + + [TRAINER_JAMES_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_James1 } + }, + + [TRAINER_JAMES_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_James2 } + }, + + [TRAINER_JAMES_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_James3 } + }, + + [TRAINER_JAMES_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_James4 } + }, + + [TRAINER_JAMES_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_James5 } + }, + + [TRAINER_BRICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("BRICE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Brice } + }, + + [TRAINER_TRENT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Trent1 } + }, + + [TRAINER_LENNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("LENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lenny } + }, + + [TRAINER_LUCAS_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("LUCAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lucas1 } + }, + + [TRAINER_ALAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("ALAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Alan } + }, + + [TRAINER_CLARK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("CLARK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Clark } + }, + + [TRAINER_ERIC] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("ERIC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Eric } + }, + + [TRAINER_LUCAS_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("LUCAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Lucas2 } + }, + + [TRAINER_MIKE_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("MIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Mike1 } + }, + + [TRAINER_MIKE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("MIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Mike2 } + }, + + [TRAINER_TRENT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Trent2 } + }, + + [TRAINER_TRENT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Trent3 } + }, + + [TRAINER_TRENT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Trent4 } + }, + + [TRAINER_TRENT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Trent5 } + }, + + [TRAINER_DEZ_AND_LUKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("DEZ & LUKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_DezAndLuke } + }, + + [TRAINER_LEA_AND_JED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("LEA & JED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_LeaAndJed } + }, + + [TRAINER_KIRA_AND_DAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("KIRA & DAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan1 } + }, + + [TRAINER_KIRA_AND_DAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("KIRA & DAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan2 } + }, + + [TRAINER_KIRA_AND_DAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("KIRA & DAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan3 } + }, + + [TRAINER_KIRA_AND_DAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("KIRA & DAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan4 } + }, + + [TRAINER_KIRA_AND_DAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("KIRA & DAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_KiraAndDan5 } + }, + + [TRAINER_JOHANNA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JOHANNA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Johanna } + }, + + [TRAINER_GERALD] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("GERALD"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Gerald } + }, + + [TRAINER_VIVIAN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("VIVIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Vivian } + }, + + [TRAINER_DANIELLE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("DANIELLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Danielle } + }, + + [TRAINER_HIDEO] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("HIDEO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Hideo } + }, + + [TRAINER_KEIGO] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("KEIGO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Keigo } + }, + + [TRAINER_RILEY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("RILEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_Riley } + }, + + [TRAINER_FLINT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("FLINT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Flint } + }, + + [TRAINER_ASHLEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("ASHLEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Ashley } + }, + + [TRAINER_WALLY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Wally2 } + }, + + [TRAINER_WALLY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.NoItemCustomMoves = gTrainerParty_Wally3 } + }, + + [TRAINER_WALLY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.NoItemCustomMoves = gTrainerParty_Wally4 } + }, + + [TRAINER_WALLY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.NoItemCustomMoves = gTrainerParty_Wally5 } + }, + + [TRAINER_WALLY_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.NoItemCustomMoves = gTrainerParty_Wally6 } + }, + + [TRAINER_BRENDAN_13] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan13 } + }, + + [TRAINER_BRENDAN_14] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan14 } + }, + + [TRAINER_BRENDAN_15] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan15 } + }, + + [TRAINER_MAY_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_May11 } + }, + + [TRAINER_MAY_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_May12 } + }, + + [TRAINER_MAY_13] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_May13 } + }, + + [TRAINER_JONAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("JONAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Jonah } + }, + + [TRAINER_HENRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("HENRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Henry } + }, + + [TRAINER_ROGER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ROGER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Roger } + }, + + [TRAINER_ALEXA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("ALEXA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Alexa } + }, + + [TRAINER_RUBEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("RUBEN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Ruben } + }, + + [TRAINER_KOJI_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KOJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Koji1 } + }, + + [TRAINER_WAYNE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("WAYNE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Wayne } + }, + + [TRAINER_AIDAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("AIDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Aidan } + }, + + [TRAINER_REED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("REED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Reed } + }, + + [TRAINER_TISHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("TISHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Tisha } + }, + + [TRAINER_TORI_AND_TIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("TORI & TIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_ToriAndTia } + }, + + [TRAINER_KIM_AND_IRIS] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("KIM & IRIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_KimAndIris } + }, + + [TRAINER_TYRA_AND_IVY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("TYRA & IVY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_TyraAndIvy } + }, + + [TRAINER_MEL_AND_PAUL] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("MEL & PAUL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_MelAndPaul } + }, + + [TRAINER_JOHN_AND_JAY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay1 } + }, + + [TRAINER_JOHN_AND_JAY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay2 } + }, + + [TRAINER_JOHN_AND_JAY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay3 } + }, + + [TRAINER_JOHN_AND_JAY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0xb, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay4 } + }, + + [TRAINER_JOHN_AND_JAY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemCustomMoves = gTrainerParty_JohnAndJay5 } + }, + + [TRAINER_RELI_AND_IAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("RELI & IAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_ReliAndIan } + }, + + [TRAINER_LILA_AND_ROY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("LILA & ROY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy1 } + }, + + [TRAINER_LILA_AND_ROY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("LILA & ROY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy2 } + }, + + [TRAINER_LILA_AND_ROY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("LILA & ROY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy3 } + }, + + [TRAINER_LILA_AND_ROY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("LILA & ROY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy4 } + }, + + [TRAINER_LILA_AND_ROY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("LILA & ROY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_LilaAndRoy5 } + }, + + [TRAINER_LISA_AND_RAY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("LISA & RAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_LisaAndRay } + }, + + [TRAINER_CHRIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("CHRIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Chris } + }, + + [TRAINER_DAWSON] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("DAWSON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Dawson } + }, + + [TRAINER_SARAH] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("SARAH"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Sarah } + }, + + [TRAINER_DARIAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("DARIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Darian } + }, + + [TRAINER_HAILEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("HAILEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Hailey } + }, + + [TRAINER_CHANDLER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_2, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("CHANDLER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Chandler } + }, + + [TRAINER_KALEB] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_WINSTRATE_M, + .trainerName = _("KALEB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.ItemDefaultMoves = gTrainerParty_Kaleb } + }, + + [TRAINER_JOSEPH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("JOSEPH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Joseph } + }, + + [TRAINER_ALYSSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("ALYSSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Alyssa } + }, + + [TRAINER_MARCOS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("MARCOS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Marcos } + }, + + [TRAINER_RHETT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("RHETT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Rhett } + }, + + [TRAINER_TYRON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("TYRON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Tyron } + }, + + [TRAINER_CELINA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("CELINA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Celina } + }, + + [TRAINER_BIANCA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("BIANCA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Bianca } + }, + + [TRAINER_HAYDEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HAYDEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Hayden } + }, + + [TRAINER_SOPHIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("SOPHIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Sophie } + }, + + [TRAINER_COBY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("COBY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Coby } + }, + + [TRAINER_LAWRENCE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("LAWRENCE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Lawrence } + }, + + [TRAINER_WYATT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("WYATT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Wyatt } + }, + + [TRAINER_ANGELINA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("ANGELINA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Angelina } + }, + + [TRAINER_KAI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("KAI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Kai } + }, + + [TRAINER_CHARLOTTE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("CHARLOTTE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Charlotte } + }, + + [TRAINER_DEANDRE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("DEANDRE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Deandre } + }, + + [TRAINER_GRUNT_38] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt38 } + }, + + [TRAINER_GRUNT_39] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt39 } + }, + + [TRAINER_GRUNT_40] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt40 } + }, + + [TRAINER_GRUNT_41] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt41 } + }, + + [TRAINER_GRUNT_42] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt42 } + }, + + [TRAINER_GRUNT_43] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt43 } + }, + + [TRAINER_GRUNT_44] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt44 } + }, + + [TRAINER_GRUNT_45] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt45 } + }, + + [TRAINER_GRUNT_46] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt46 } + }, + + [TRAINER_GRUNT_47] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt47 } + }, + + [TRAINER_GRUNT_48] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt48 } + }, + + [TRAINER_GRUNT_49] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt49 } + }, + + [TRAINER_GRUNT_50] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt50 } + }, + + [TRAINER_GRUNT_51] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt51 } + }, + + [TRAINER_GRUNT_52] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt52 } + }, + + [TRAINER_GRUNT_53] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Grunt53 } + }, + + [TRAINER_TABITHA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = {.NoItemDefaultMoves = gTrainerParty_Tabitha3 } + }, + + [TRAINER_DARCY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("DARCY"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Darcy } + }, + + [TRAINER_MAXIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_LEADER_MAXIE, + .trainerName = _("MAXIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Maxie3 } + }, + + [TRAINER_PETE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("PETE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Pete } + }, + + [TRAINER_ISABELLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("ISABELLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Isabelle } + }, + + [TRAINER_ANDRES_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("ANDRES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Andres1 } + }, + + [TRAINER_JOSUE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("JOSUE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Josue } + }, + + [TRAINER_CAMRON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("CAMRON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Camron } + }, + + [TRAINER_CORY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("CORY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Cory1 } + }, + + [TRAINER_CAROLINA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("CAROLINA"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Carolina } + }, + + [TRAINER_ELIJAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ELIJAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Elijah } + }, + + [TRAINER_CELIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("CELIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Celia } + }, + + [TRAINER_BRYAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("BRYAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Bryan } + }, + + [TRAINER_BRANDEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("BRANDEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Branden } + }, + + [TRAINER_BRYANT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BRYANT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Bryant } + }, + + [TRAINER_SHAYLA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("SHAYLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Shayla } + }, + + [TRAINER_KYRA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("KYRA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Kyra } + }, + + [TRAINER_JAIDEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("JAIDEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Jaiden } + }, + + [TRAINER_ALIX] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("ALIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Alix } + }, + + [TRAINER_HELENE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("HELENE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Helene } + }, + + [TRAINER_MARLENE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("MARLENE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Marlene } + }, + + [TRAINER_DEVAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("DEVAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Devan } + }, + + [TRAINER_JOHNSON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("JOHNSON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Johnson } + }, + + [TRAINER_MELINA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("MELINA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Melina } + }, + + [TRAINER_BRANDI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("BRANDI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brandi } + }, + + [TRAINER_AISHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("AISHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Aisha } + }, + + [TRAINER_MAKAYLA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("MAKAYLA"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Makayla } + }, + + [TRAINER_FABIAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("FABIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Fabian } + }, + + [TRAINER_DAYTON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("DAYTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Dayton } + }, + + [TRAINER_RACHEL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("RACHEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Rachel } + }, + + [TRAINER_LEONEL] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("LEONEL"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemCustomMoves = gTrainerParty_Leonel } + }, + + [TRAINER_CALLIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("CALLIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Callie } + }, + + [TRAINER_CALE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("CALE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cale } + }, + + [TRAINER_MYLES] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("MYLES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Myles } + }, + + [TRAINER_PAT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("PAT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Pat } + }, + + [TRAINER_CRISTIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("CRISTIN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cristin1 } + }, + + [TRAINER_MAY_14] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_May14 } + }, + + [TRAINER_MAY_15] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_May15 } + }, + + [TRAINER_ROXANNE_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_ROXANNE, + .trainerName = _("ROXANNE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Roxanne2 } + }, + + [TRAINER_ROXANNE_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_ROXANNE, + .trainerName = _("ROXANNE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Roxanne3 } + }, + + [TRAINER_ROXANNE_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_ROXANNE, + .trainerName = _("ROXANNE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Roxanne4 } + }, + + [TRAINER_ROXANNE_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_ROXANNE, + .trainerName = _("ROXANNE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Roxanne5 } + }, + + [TRAINER_BRAWLY_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_BRAWLY, + .trainerName = _("BRAWLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Brawly2 } + }, + + [TRAINER_BRAWLY_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_BRAWLY, + .trainerName = _("BRAWLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Brawly3 } + }, + + [TRAINER_BRAWLY_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_BRAWLY, + .trainerName = _("BRAWLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Brawly4 } + }, + + [TRAINER_BRAWLY_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_BRAWLY, + .trainerName = _("BRAWLY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Brawly5 } + }, + + [TRAINER_WATTSON_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_WATTSON, + .trainerName = _("WATTSON"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Wattson2 } + }, + + [TRAINER_WATTSON_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_WATTSON, + .trainerName = _("WATTSON"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Wattson3 } + }, + + [TRAINER_WATTSON_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_WATTSON, + .trainerName = _("WATTSON"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Wattson4 } + }, + + [TRAINER_WATTSON_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_WATTSON, + .trainerName = _("WATTSON"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Wattson5 } + }, + + [TRAINER_FLANNERY_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_FLANNERY, + .trainerName = _("FLANNERY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Flannery2 } + }, + + [TRAINER_FLANNERY_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_FLANNERY, + .trainerName = _("FLANNERY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Flannery3 } + }, + + [TRAINER_FLANNERY_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_FLANNERY, + .trainerName = _("FLANNERY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Flannery4 } + }, + + [TRAINER_FLANNERY_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_FLANNERY, + .trainerName = _("FLANNERY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Flannery5 } + }, + + [TRAINER_NORMAN_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_NORMAN, + .trainerName = _("NORMAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 4, + .party = {.ItemCustomMoves = gTrainerParty_Norman2 } + }, + + [TRAINER_NORMAN_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_NORMAN, + .trainerName = _("NORMAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Norman3 } + }, + + [TRAINER_NORMAN_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_NORMAN, + .trainerName = _("NORMAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Norman4 } + }, + + [TRAINER_NORMAN_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_NORMAN, + .trainerName = _("NORMAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Norman5 } + }, + + [TRAINER_WINONA_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_WINONA, + .trainerName = _("WINONA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x17, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Winona2 } + }, + + [TRAINER_WINONA_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_WINONA, + .trainerName = _("WINONA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x17, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Winona3 } + }, + + [TRAINER_WINONA_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_WINONA, + .trainerName = _("WINONA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x17, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Winona4 } + }, + + [TRAINER_WINONA_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_WINONA, + .trainerName = _("WINONA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x17, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Winona5 } + }, + + [TRAINER_TATE_AND_LIZA_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, + .trainerName = _("TATE&LIZA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza2 } + }, + + [TRAINER_TATE_AND_LIZA_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, + .trainerName = _("TATE&LIZA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza3 } + }, + + [TRAINER_TATE_AND_LIZA_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, + .trainerName = _("TATE&LIZA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza4 } + }, + + [TRAINER_TATE_AND_LIZA_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA, + .trainerName = _("TATE&LIZA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_TateAndLiza5 } + }, + + [TRAINER_JUAN_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_JUAN, + .trainerName = _("JUAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Juan2 } + }, + + [TRAINER_JUAN_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_JUAN, + .trainerName = _("JUAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 5, + .party = {.ItemCustomMoves = gTrainerParty_Juan3 } + }, + + [TRAINER_JUAN_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_JUAN, + .trainerName = _("JUAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Juan4 } + }, + + [TRAINER_JUAN_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEADER_JUAN, + .trainerName = _("JUAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Juan5 } + }, + + [TRAINER_ANGELO] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("ANGELO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.ItemCustomMoves = gTrainerParty_Angelo } + }, + + [TRAINER_DARIUS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("DARIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Darius } + }, + + [TRAINER_STEVEN] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_STEVEN, + .trainerName = _("STEVEN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 6, + .party = {.ItemCustomMoves = gTrainerParty_Steven } + }, + + [TRAINER_ANABEL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SALON_MAIDEN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SALON_MAIDEN_ANABEL, + .trainerName = _("ANABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Anabel } + }, + + [TRAINER_TUCKER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DOME_ACE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_DOME_ACE_TUCKER, + .trainerName = _("TUCKER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Tucker } + }, + + [TRAINER_SPENSER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PALACE_MAVEN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_PALACE_MAVEN_SPENSER, + .trainerName = _("SPENSER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Spenser } + }, + + [TRAINER_GRETA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_ARENA_TYCOON, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_ARENA_TYCOON_GRETA, + .trainerName = _("GRETA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Greta } + }, + + [TRAINER_NOLAND] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FACTORY_HEAD, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_FACTORY_HEAD_NOLAND, + .trainerName = _("NOLAND"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Noland } + }, + + [TRAINER_LUCY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PIKE_QUEEN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_PIKE_QUEEN_LUCY, + .trainerName = _("LUCY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Lucy } + }, + + [TRAINER_BRANDON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PYRAMID_KING, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_PYRAMID_KING_BRANDON, + .trainerName = _("BRANDON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brandon } + }, + + [TRAINER_ANDRES_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("ANDRES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Andres2 } + }, + + [TRAINER_ANDRES_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("ANDRES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Andres3 } + }, + + [TRAINER_ANDRES_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("ANDRES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Andres4 } + }, + + [TRAINER_ANDRES_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("ANDRES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Andres5 } + }, + + [TRAINER_CORY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("CORY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Cory2 } + }, + + [TRAINER_CORY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("CORY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Cory3 } + }, + + [TRAINER_CORY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("CORY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Cory4 } + }, + + [TRAINER_CORY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("CORY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Cory5 } + }, + + [TRAINER_PABLO_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("PABLO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Pablo2 } + }, + + [TRAINER_PABLO_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("PABLO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Pablo3 } + }, + + [TRAINER_PABLO_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("PABLO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Pablo4 } + }, + + [TRAINER_PABLO_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("PABLO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Pablo5 } + }, + + [TRAINER_KOJI_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KOJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Koji2 } + }, + + [TRAINER_KOJI_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KOJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Koji3 } + }, + + [TRAINER_KOJI_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KOJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Koji4 } + }, + + [TRAINER_KOJI_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KOJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Koji5 } + }, + + [TRAINER_CRISTIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("CRISTIN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Cristin2 } + }, + + [TRAINER_CRISTIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("CRISTIN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Cristin3 } + }, + + [TRAINER_CRISTIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("CRISTIN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Cristin4 } + }, + + [TRAINER_CRISTIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOLTRAINER_1, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("CRISTIN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Cristin5 } + }, + + [TRAINER_FERNANDO_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("FERNANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Fernando2 } + }, + + [TRAINER_FERNANDO_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("FERNANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Fernando3 } + }, + + [TRAINER_FERNANDO_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("FERNANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Fernando4 } + }, + + [TRAINER_FERNANDO_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("FERNANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Fernando5 } + }, + + [TRAINER_SAWYER_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("SAWYER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer2 } + }, + + [TRAINER_SAWYER_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("SAWYER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer3 } + }, + + [TRAINER_SAWYER_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("SAWYER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer4 } + }, + + [TRAINER_SAWYER_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("SAWYER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Sawyer5 } + }, + + [TRAINER_GABRIELLE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("GABRIELLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle2 } + }, + + [TRAINER_GABRIELLE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("GABRIELLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle3 } + }, + + [TRAINER_GABRIELLE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("GABRIELLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle4 } + }, + + [TRAINER_GABRIELLE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("GABRIELLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = {.NoItemDefaultMoves = gTrainerParty_Gabrielle5 } + }, + + [TRAINER_THALIA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("THALIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Thalia2 } + }, + + [TRAINER_THALIA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("THALIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Thalia3 } + }, + + [TRAINER_THALIA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("THALIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Thalia4 } + }, + + [TRAINER_THALIA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("THALIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = {.NoItemDefaultMoves = gTrainerParty_Thalia5 } + }, + + [TRAINER_MARIELA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("MARIELA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Mariela } + }, + + [TRAINER_ALVARO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("ALVARO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 2, + .party = {.NoItemDefaultMoves = gTrainerParty_Alvaro } + }, + + [TRAINER_EVERETT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("EVERETT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Everett } + }, + + [TRAINER_RED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RED, + .trainerName = _("RED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Red } + }, + + [TRAINER_LEAF] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_LEAF, + .trainerName = _("LEAF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Leaf } + }, + + [TRAINER_BRENDAN_16] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_4, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_Brendan16 } + }, + + [TRAINER_MAY_16] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PKMN_TRAINER_4, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUBY_SAPPHIRE_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = {.NoItemDefaultMoves = gTrainerParty_May16 } + }, +}; diff --git a/src/unk_text_util.c b/src/dynamic_placeholder_text_util.c index 2773522b2..bdfcf6653 100644 --- a/src/unk_text_util.c +++ b/src/dynamic_placeholder_text_util.c @@ -1,11 +1,11 @@ #include "global.h" #include "text.h" -#include "unk_text_util.h" +#include "dynamic_placeholder_text_util.h" #include "string_util.h" static EWRAM_DATA const u8 *sStringPointers[8] = {}; -void UnkTextUtil_Reset(void) +void DynamicPlaceholderTextUtil_Reset(void) { const u8 **ptr; u8 *fillval; @@ -20,7 +20,7 @@ void UnkTextUtil_Reset(void) } while ((int)ptr2 >= (int)ptr); } -void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr) +void DynamicPlaceholderTextUtil_SetPlaceholderPtr(u8 idx, const u8 *ptr) { if (idx < ARRAY_COUNT(sStringPointers)) { @@ -28,7 +28,7 @@ void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr) } } -u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src) +u8 *DynamicPlaceholderTextUtil_ExpandPlaceholders(u8 *dest, const u8 *src) { while (*src != EOS) { @@ -50,7 +50,7 @@ u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src) return dest; } -const u8 *UnkTextUtil_GetPtrI(u8 idx) +const u8 *DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 idx) { return sStringPointers[idx]; } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 64ec47537..67876f33b 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -631,7 +631,7 @@ static void CB2_EggHatch_1(void) GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_HatchedFromEgg); EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 3, 0xFF); - PlayFanfare(371); + PlayFanfare(MUS_FANFA5); sEggHatchData->CB2_state++; PutWindowTilemap(sEggHatchData->windowId); CopyWindowToVram(sEggHatchData->windowId, 3); diff --git a/src/field_region_map.c b/src/field_region_map.c index 34b6089df..f56548068 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -63,7 +63,7 @@ static const struct WindowTemplate gUnknown_085E5070[] = { // .text -void sub_817018C(MainCallback callback) +void FieldInitRegionMap(MainCallback callback) { SetVBlankCallback(NULL); sFieldRegionMapHandler = malloc(sizeof(*sFieldRegionMapHandler)); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 39977808f..6f33b2c9b 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -272,7 +272,7 @@ bool8 sub_80FB59C(void) void Task_HandlePorthole(u8 taskId) { s16 *data = gTasks[taskId].data; - u16 *var = GetVarPointer(VAR_PORTHOLE); + u16 *var = GetVarPointer(VAR_PORTHOLE_STATE); struct WarpData *location = &gSaveBlock1Ptr->location; switch (data[0]) diff --git a/src/field_specials.c b/src/field_specials.c new file mode 100644 index 000000000..897bcc8d7 --- /dev/null +++ b/src/field_specials.c @@ -0,0 +1,4329 @@ +#include "global.h" +#include "main.h" +#include "battle.h" +#include "battle_tower.h" +#include "cable_club.h" +#include "data2.h" +#include "decoration.h" +#include "diploma.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "fieldmap.h" +#include "field_camera.h" +#include "field_effect.h" +#include "field_message_box.h" +#include "field_player_avatar.h" +#include "field_region_map.h" +#include "field_screen.h" +#include "field_specials.h" +#include "field_weather.h" +#include "international_string_util.h" +#include "item_icon.h" +#include "link.h" +#include "list_menu.h" +#include "malloc.h" +#include "match_call.h" +#include "menu.h" +#include "overworld.h" +#include "party_menu.h" +#include "pokeblock.h" +#include "pokemon.h" +#include "pokemon_storage_system.h" +#include "random.h" +#include "rayquaza_scene.h" +#include "region_map.h" +#include "rom_8011DC0.h" +#include "rtc.h" +#include "script.h" +#include "script_menu.h" +#include "sound.h" +#include "starter_choose.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text.h" +#include "tv.h" +#include "wallclock.h" +#include "window.h" +#include "constants/event_objects.h" +#include "constants/items.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" +#include "constants/moves.h" +#include "constants/vars.h" + +EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; +EWRAM_DATA u8 gBikeCollisions = 0; +EWRAM_DATA u32 gBikeCyclingTimer = 0; +EWRAM_DATA u8 gUnknown_0203AB5C = 0; +EWRAM_DATA u8 gUnknown_0203AB5D = 0; +EWRAM_DATA u8 gUnknown_0203AB5E = 0; +EWRAM_DATA u16 gUnknown_0203AB60 = 0; +EWRAM_DATA u16 gUnknown_0203AB62 = 0; +EWRAM_DATA struct ListMenuItem *gUnknown_0203AB64 = NULL; +EWRAM_DATA u16 gUnknown_0203AB68 = 0; +EWRAM_DATA u16 gUnknown_0203AB6A = 0; +EWRAM_DATA u8 gUnknown_0203AB6C = 0; +EWRAM_DATA u8 gUnknown_0203AB6D = 0; +EWRAM_DATA u8 gUnknown_0203AB6E = 0; +EWRAM_DATA u8 gUnknown_0203AB6F = 0; +EWRAM_DATA u32 gUnknown_0203AB70 = 0; + +struct ListMenuTemplate gUnknown_030061D0; + +extern const u16 gEventObjectPalette8[]; +extern const u16 gEventObjectPalette17[]; +extern const u16 gEventObjectPalette33[]; +extern const u16 gEventObjectPalette34[]; + +extern void LoadPalette(const void *src, u32 offset, u16 size); // incorrect signature, needed to match +extern void BlendPalettes(u32, u8, u16); + +void UpdateMovedLilycoveFanClubMembers(void); +void sub_813BF60(void); +u16 GetNumMovedLilycoveFanClubMembers(void); + +static void RecordCyclingRoadResults(u32, u8); +static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum); +static void Task_PetalburgGym(u8); +static void PetalburgGymFunc(u8, u16); +static void Task_PCTurnOnEffect(u8); +static void PCTurnOnEffect_0(struct Task *); +static void PCTurnOnEffect_1(s16, s8, s8); +static void PCTurnOffEffect(void); +static void Task_LotteryCornerComputerEffect(u8); +static void LotteryCornerComputerEffect(struct Task *); +static void sub_81395BC(u8 taskId); +static void sub_8139620(u8 taskId); +static void sub_8139AF4(u8 taskId); +static void sub_8139C2C(u16 a1, u8 a2); +static void sub_8139C80(u8 taskId); +static void sub_813A2DC(u8 taskId); +static void sub_813AA60(u16 a0, u16 a1); +static void sub_813ACE8(u8 a0, u16 a1); +static void sub_813A42C(void); +static void sub_813A4EC(u8 taskId); +static void sub_813A694(u8 taskId); +static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void sub_813AC44(u16 a0, u16 a1); +static void sub_813AD34(u8 a0, u16 a1); +static void sub_813A570(u8 taskId); +static void sub_813A738(u8 taskId); +static void sub_813A600(u8 taskId); +static void sub_813A664(u8 taskId); +static void sub_813ABD4(u16 a0); +static void task_deoxys_sound(u8 taskId); +static void sub_813B0B4(u8 a0); +static void sub_813B160(u8 taskId); +static void sub_813B57C(u8 taskId); +static void sub_813B824(u8 taskId); +static void _fwalk(u8 taskId); +static u8 sub_813BF44(void); +static void sub_813BD84(void); +static u16 sub_813BB74(void); +static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b); + +void Special_ShowDiploma(void) +{ + SetMainCallback2(CB2_ShowDiploma); + ScriptContext2_Enable(); +} + +void Special_ViewWallClock(void) +{ + gMain.savedCallback = CB2_ReturnToField; + SetMainCallback2(CB2_ViewWallClock); + ScriptContext2_Enable(); +} + +void ResetCyclingRoadChallengeData(void) +{ + gBikeCyclingChallenge = FALSE; + gBikeCollisions = 0; + gBikeCyclingTimer = 0; +} + +void Special_BeginCyclingRoadChallenge(void) +{ + gBikeCyclingChallenge = TRUE; + gBikeCollisions = 0; + gBikeCyclingTimer = gMain.vblankCounter1; +} + +u16 GetPlayerAvatarBike(void) +{ + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)) + return 1; + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE)) + return 2; + return 0; +} + +static void DetermineCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) +{ + u8 result; + + if (numBikeCollisions < 100) + { + ConvertIntToDecimalStringN(gStringVar1, numBikeCollisions, STR_CONV_MODE_LEFT_ALIGN, 2); + StringAppend(gStringVar1, gText_SpaceTimes); + } + else + { + StringCopy(gStringVar1, gText_99TimesPlus); + } + + if (numFrames < 3600) + { + ConvertIntToDecimalStringN(gStringVar2, numFrames / 60, STR_CONV_MODE_RIGHT_ALIGN, 2); + gStringVar2[2] = CHAR_PERIOD; + ConvertIntToDecimalStringN(&gStringVar2[3], ((numFrames % 60) * 100) / 60, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(gStringVar2, gText_SpaceSeconds); + } + else + { + StringCopy(gStringVar2, gText_1MinutePlus); + } + + result = 0; + if (numBikeCollisions == 0) + { + result = 5; + } + else if (numBikeCollisions < 4) + { + result = 4; + } + else if (numBikeCollisions < 10) + { + result = 3; + } + else if (numBikeCollisions < 20) + { + result = 2; + } + else if (numBikeCollisions < 100) + { + result = 1; + } + + if (numFrames / 60 <= 10) + { + result += 5; + } + else if (numFrames / 60 <= 15) + { + result += 4; + } + else if (numFrames / 60 <= 20) + { + result += 3; + } + else if (numFrames / 60 <= 40) + { + result += 2; + } + else if (numFrames / 60 < 60) + { + result += 1; + } + + + gSpecialVar_Result = result; +} + +void FinishCyclingRoadChallenge(void) { + const u32 numFrames = gMain.vblankCounter1 - gBikeCyclingTimer; + + DetermineCyclingRoadResults(numFrames, gBikeCollisions); + RecordCyclingRoadResults(numFrames, gBikeCollisions); +} + +static void RecordCyclingRoadResults(u32 numFrames, u8 numBikeCollisions) { + u16 low = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_L); + u16 high = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_H); + u32 framesRecord = low + (high << 16); + + if (framesRecord > numFrames || framesRecord == 0) + { + VarSet(VAR_CYCLING_ROAD_RECORD_TIME_L, numFrames); + VarSet(VAR_CYCLING_ROAD_RECORD_TIME_H, numFrames >> 16); + VarSet(VAR_CYCLING_ROAD_RECORD_COLLISIONS, numBikeCollisions); + } +} + +u16 GetRecordedCyclingRoadResults(void) { + u16 low = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_L); + u16 high = VarGet(VAR_CYCLING_ROAD_RECORD_TIME_H); + u32 framesRecord = low + (high << 16); + + if (framesRecord == 0) + { + return FALSE; + } + + DetermineCyclingRoadResults(framesRecord, VarGet(VAR_CYCLING_ROAD_RECORD_COLLISIONS)); + return TRUE; +} + +void UpdateCyclingRoadState(void) { + if (gUnknown_020322DC.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE) && gUnknown_020322DC.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE)) + { + return; + } + + if (VarGet(VAR_CYCLING_CHALLENGE_STATE) == 2 || VarGet(VAR_CYCLING_CHALLENGE_STATE) == 3) + { + VarSet(VAR_CYCLING_CHALLENGE_STATE, 0); + Overworld_SetSavedMusic(MUS_DUMMY); + } +} + +void SetSSTidalFlag(void) +{ + FlagSet(FLAG_SYS_CRUISE_MODE); + *GetVarPointer(VAR_CRUISE_STEP_COUNT) = 0; +} + +void ResetSSTidalFlag(void) +{ + FlagClear(FLAG_SYS_CRUISE_MODE); +} + +bool32 CountSSTidalStep(u16 delta) +{ + if (!FlagGet(FLAG_SYS_CRUISE_MODE) || (*GetVarPointer(VAR_CRUISE_STEP_COUNT) += delta) <= 0xcc) + { + return FALSE; + } + return TRUE; +} + +u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y) +{ + u16 *varCruiseStepCount = GetVarPointer(VAR_CRUISE_STEP_COUNT); + switch (*GetVarPointer(VAR_PORTHOLE_STATE)) + { + case 1: + case 8: + return 1; + case 3: + case 9: + return 4; + case 4: + case 5: + return 2; + case 6: + case 10: + return 3; + case 2: + if (*varCruiseStepCount < 60) + { + *mapNum = MAP_NUM(ROUTE134); + *x = *varCruiseStepCount + 19; + } + else if (*varCruiseStepCount < 140) + { + *mapNum = MAP_NUM(ROUTE133); + *x = *varCruiseStepCount - 60; + } + else + { + *mapNum = MAP_NUM(ROUTE132); + *x = *varCruiseStepCount - 140; + } + break; + case 7: + if (*varCruiseStepCount < 66) + { + *mapNum = MAP_NUM(ROUTE132); + *x = 65 - *varCruiseStepCount; + } + else if (*varCruiseStepCount < 146) { + *mapNum = MAP_NUM(ROUTE133); + *x = 145 - *varCruiseStepCount; + } + else + { + *mapNum = MAP_NUM(ROUTE134); + *x = 224 - *varCruiseStepCount; + } + break; + } + *mapGroup = MAP_GROUP(ROUTE132); + *y = 20; + return 0; +} + +bool32 is_tile_that_overrides_player_control(void) +{ + if (FlagGet(FLAG_0x088)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F2)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_8138120(void) +{ + if (FlagGet(FLAG_0x08A)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F3)) < 0xA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_8138168(void) +{ + if (FlagGet(FLAG_0x072)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F5)) < 0xA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_81381B0(void) +{ + if (FlagGet(FLAG_0x080)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F4)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +bool32 sub_81381F8(void) +{ + if (FlagGet(FLAG_0x075)) + { + switch (gMapHeader.mapType) + { + case 1: + case 2: + case 3: + case 6: + if (++(*GetVarPointer(VAR_0x40F6)) < 0xFA) + { + return FALSE; + } + break; + default: + return FALSE; + } + } + else + { + return FALSE; + } + + return TRUE; +} + +u8 GetLinkPartnerNames(void) +{ + u8 i; + u8 j = 0; + u8 myLinkPlayerNumber = GetMultiplayerId(); + u8 nLinkPlayers = GetLinkPlayerCount(); + for (i = 0; i < nLinkPlayers; i++) + { + if (myLinkPlayerNumber != i) + { + StringCopy(gTVStringVarPtrs[j], gLinkPlayers[i].name); + j++; + } + } + return nLinkPlayers; +} + +void SpawnLinkPartnerEventObject(void) +{ + u8 j = 0; + s16 x = 0; + s16 y = 0; + u8 gUnknown_085B2B5C[] = {7, 9, 8, 10}; + s8 gUnknown_085B2B60[][2] = { + { 0, 1}, + { 1, 0}, + { 0, -1}, + {-1, 0} + }; + u8 myLinkPlayerNumber; + u8 playerFacingDirection; + u8 linkSpriteId; + u8 i; + + myLinkPlayerNumber = GetMultiplayerId(); + playerFacingDirection = GetPlayerFacingDirection(); + switch (playerFacingDirection) + { + case DIR_WEST: + j = 2; + x = gSaveBlock1Ptr->pos.x - 1; + y = gSaveBlock1Ptr->pos.y; + break; + case DIR_NORTH: + j = 1; + x = gSaveBlock1Ptr->pos.x; + y = gSaveBlock1Ptr->pos.y - 1; + break; + case DIR_EAST: + x = gSaveBlock1Ptr->pos.x + 1; + y = gSaveBlock1Ptr->pos.y; + break; + case DIR_SOUTH: + j = 3; + x = gSaveBlock1Ptr->pos.x; + y = gSaveBlock1Ptr->pos.y + 1; + } + for (i = 0; i < gSpecialVar_0x8004; i++) + { + if (myLinkPlayerNumber != i) + { + switch ((u8)gLinkPlayers[i].version) + { + case VERSION_RUBY: + case VERSION_SAPPHIRE: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_LINK_RS_BRENDAN; + else + linkSpriteId = EVENT_OBJ_GFX_LINK_RS_MAY; + break; + case VERSION_EMERALD: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL; + else + linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; + break; + default: + if (gLinkPlayers[i].gender == 0) + linkSpriteId = EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL; + else + linkSpriteId = EVENT_OBJ_GFX_RIVAL_MAY_NORMAL; + break; + } + SpawnSpecialEventObjectParameterized(linkSpriteId, gUnknown_085B2B5C[j], 0xf0 - i, gUnknown_085B2B60[j][0] + x + 7, gUnknown_085B2B60[j][1] + y + 7, 0); + LoadLinkPartnerEventObjectSpritePalette(linkSpriteId, 0xf0 - i, i); + j++; + if (j == 4) + { + j = 0; + } + } + } +} + +static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEventId, u8 paletteNum) +{ + paletteNum += 6; + if (graphicsId == EVENT_OBJ_GFX_LINK_RS_BRENDAN || + graphicsId == EVENT_OBJ_GFX_LINK_RS_MAY || + graphicsId == EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL || + graphicsId == EVENT_OBJ_GFX_RIVAL_MAY_NORMAL) + { + u8 obj = GetEventObjectIdByLocalIdAndMap(localEventId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + if (obj != NUM_EVENT_OBJECTS) + { + u8 spriteId = gEventObjects[obj].spriteId; + struct Sprite *sprite = &gSprites[spriteId]; + sprite->oam.paletteNum = paletteNum; + + switch (graphicsId) + { + case EVENT_OBJ_GFX_LINK_RS_BRENDAN: + LoadPalette(gEventObjectPalette33, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_LINK_RS_MAY: + LoadPalette(gEventObjectPalette34, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL: + LoadPalette(gEventObjectPalette8, 0x100 + paletteNum * 16, 0x20); + break; + case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL: + LoadPalette(gEventObjectPalette17, 0x100 + paletteNum * 16, 0x20); + break; + } + } + } +} + +static const struct UCoords8 gUnknown_085B2B68[] = { + { 7, 22}, + {11, 19}, + {10, 16}, + {15, 16} +}; + +void MauvilleGymSpecial1(void) +{ + u8 i; + for (i = 0; i < ARRAY_COUNT(gUnknown_085B2B68); i++) + { + if (i == gSpecialVar_0x8004) + { + MapGridSetMetatileIdAt(gUnknown_085B2B68[i].x, gUnknown_085B2B68[i].y, 0x206); + } + else + { + MapGridSetMetatileIdAt(gUnknown_085B2B68[i].x, gUnknown_085B2B68[i].y, 0x205); + } + } +} + +void MauvilleGymSpecial2(void) +{ + int x, y; + for (y = 12; y < 24; y++) + { + for (x = 7; x < 16; x++) + { + switch (MapGridGetMetatileIdAt(x, y)) + { + case 0x220: + MapGridSetMetatileIdAt(x, y, 0x230); + break; + case 0x221: + MapGridSetMetatileIdAt(x, y, 0x231); + break; + case 0x228: + MapGridSetMetatileIdAt(x, y, 0x238); + break; + case 0x229: + MapGridSetMetatileIdAt(x, y, 0x239); + break; + case 0x230: + MapGridSetMetatileIdAt(x, y, 0x220); + break; + case 0x231: + MapGridSetMetatileIdAt(x, y, 0x221); + break; + case 0x238: + MapGridSetMetatileIdAt(x, y, 0xe28); + break; + case 0x239: + MapGridSetMetatileIdAt(x, y, 0xe29); + break; + case 0x222: + MapGridSetMetatileIdAt(x, y, 0x232); + break; + case 0x223: + MapGridSetMetatileIdAt(x, y, 0x233); + break; + case 0x22a: + MapGridSetMetatileIdAt(x, y, 0x23a); + break; + case 0x22b: + MapGridSetMetatileIdAt(x, y, 0x23b); + break; + case 0x232: + MapGridSetMetatileIdAt(x, y, 0x222); + break; + case 0x233: + MapGridSetMetatileIdAt(x, y, 0x223); + break; + case 0x23a: + MapGridSetMetatileIdAt(x, y, 0xe2a); + break; + case 0x23b: + MapGridSetMetatileIdAt(x, y, 0xe2b); + break; + case 0x240: + MapGridSetMetatileIdAt(x, y, 0xe42); + break; + case 0x248: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x241: + MapGridSetMetatileIdAt(x, y, 0xe43); + break; + case 0x249: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x242: + MapGridSetMetatileIdAt(x, y, 0xe40); + break; + case 0x21a: + if (MapGridGetMetatileIdAt(x, y - 1) == 0x240) + { + MapGridSetMetatileIdAt(x, y, 0xe48); + } + else + { + MapGridSetMetatileIdAt(x, y, 0xe49); + } + break; + case 0x243: + MapGridSetMetatileIdAt(x, y, 0xe41); + break; + case 0x251: + MapGridSetMetatileIdAt(x, y, 0xe50); + break; + case 0x250: + MapGridSetMetatileIdAt(x, y, 0x251); + break; + } + } + } +} + +void MauvilleGymSpecial3(void) +{ + int i, x, y; + const struct UCoords8 *switchCoords = gUnknown_085B2B68; + for (i = ARRAY_COUNT(gUnknown_085B2B68) - 1; i >= 0; i--) + { + MapGridSetMetatileIdAt(switchCoords->x, switchCoords->y, 0x206); + switchCoords++; + } + for (y = 12; y < 24; y++) + { + for (x = 7; x < 16; x++) + { + switch (MapGridGetMetatileIdAt(x, y)) + { + case 0x220: + MapGridSetMetatileIdAt(x, y, 0x230); + break; + case 0x221: + MapGridSetMetatileIdAt(x, y, 0x231); + break; + case 0x228: + MapGridSetMetatileIdAt(x, y, 0x238); + break; + case 0x229: + MapGridSetMetatileIdAt(x, y, 0x239); + break; + case 0x222: + MapGridSetMetatileIdAt(x, y, 0x232); + break; + case 0x223: + MapGridSetMetatileIdAt(x, y, 0x233); + break; + case 0x22a: + MapGridSetMetatileIdAt(x, y, 0x23a); + break; + case 0x22b: + MapGridSetMetatileIdAt(x, y, 0x23b); + break; + case 0x240: + MapGridSetMetatileIdAt(x, y, 0xe42); + break; + case 0x241: + MapGridSetMetatileIdAt(x, y, 0xe43); + break; + case 0x248: + case 0x249: + MapGridSetMetatileIdAt(x, y, 0x21a); + break; + case 0x250: + MapGridSetMetatileIdAt(x, y, 0x251); + break; + } + } + } +} + +static const u8 gUnknown_085B2B78[] = {0, 1, 1, 1, 1}; +static const u16 gUnknown_085B2B7E[] = {0x218, 0x219, 0x21a, 0x21b, 0x21c}; + +void PetalburgGymSpecial1(void) +{ + gUnknown_0203AB5C = 0; + gUnknown_0203AB5D = 0; + PlaySE(SE_KI_GASYAN); + CreateTask(Task_PetalburgGym, 8); +} + +static void Task_PetalburgGym(u8 taskId) +{ + if (gUnknown_085B2B78[gUnknown_0203AB5D] == gUnknown_0203AB5C) + { + PetalburgGymFunc(gSpecialVar_0x8004, gUnknown_085B2B7E[gUnknown_0203AB5D]); + gUnknown_0203AB5C = 0; + if ((++gUnknown_0203AB5D) == 5) + { + DestroyTask(taskId); + EnableBothScriptContexts(); + } + } + else + { + gUnknown_0203AB5C++; + } +} + +static void PetalburgGymFunc(u8 a0, u16 a1) +{ + u16 x[4]; + u16 y[4]; + u8 i; + u8 nDoors = 0; + switch (a0) + { + case 1: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x68; + y[1] = 0x68; + break; + case 2: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x4e; + y[1] = 0x4e; + break; + case 3: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x5b; + y[1] = 0x5b; + break; + case 4: + nDoors = 1; + x[0] = 7; + y[0] = 0x27; + break; + case 5: + nDoors = 2; + x[0] = 1; + x[1] = 7; + y[0] = 0x34; + y[1] = 0x34; + break; + case 6: + nDoors = 1; + x[0] = 1; + y[0] = 0x41; + break; + case 7: + nDoors = 1; + x[0] = 7; + y[0] = 0xd; + break; + case 8: + nDoors = 1; + x[0] = 1; + y[0] = 0x1a; + break; + } + for (i = 0; i < nDoors; i++) + { + MapGridSetMetatileIdAt(x[i] + 7, y[i] + 7, a1 | 0xc00); + MapGridSetMetatileIdAt(x[i] + 7, y[i] + 8, (a1 + 8) | 0xc00); + } + DrawWholeMapView(); +} + +void PetalburgGymSpecial2(void) +{ + PetalburgGymFunc(gSpecialVar_0x8004, gUnknown_085B2B7E[4]); +} + +void ShowFieldMessageStringVar4(void) +{ + ShowFieldMessage(gStringVar4); +} + +void StorePlayerCoordsInVars(void) +{ + gSpecialVar_0x8004 = gSaveBlock1Ptr->pos.x; + gSpecialVar_0x8005 = gSaveBlock1Ptr->pos.y; +} + +u8 GetPlayerTrainerIdOnesDigit(void) +{ + return (u16)((gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0]) % 10; +} + +void GetPlayerBigGuyGirlString(void) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + { + StringCopy(gStringVar1, gText_BigGuy); + } + else + { + StringCopy(gStringVar1, gText_BigGirl); + } +} + +void GetRivalSonDaughterString(void) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + { + StringCopy(gStringVar1, gText_Daughter); + } + else + { + StringCopy(gStringVar1, gText_Son); + } +} + +u8 GetBattleOutcome(void) +{ + return gBattleOutcome; +} + +void CableCarWarp(void) +{ + if (gSpecialVar_0x8004 != 0) + { + Overworld_SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(ROUTE112_CABLE_CAR_STATION), -1, 6, 4); + } + else + { + Overworld_SetWarpDestination(MAP_GROUP(MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MT_CHIMNEY_CABLE_CAR_STATION), -1, 6, 4); + } +} + +void SetFlagInVar(void) +{ + FlagSet(gSpecialVar_0x8004); +} + +u16 GetWeekCount(void) +{ + u16 weekCount = gLocalTime.days / 7; + if (weekCount > 9999) + { + weekCount = 9999; + } + return weekCount; +} + +u8 GetLeadMonFriendshipScore(void) +{ + struct Pokemon *pokemon = &gPlayerParty[GetLeadMonIndex()]; + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) == 255) + { + return 6; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 200) + { + return 5; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 150) + { + return 4; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 100) + { + return 3; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 50) + { + return 2; + } + if (GetMonData(pokemon, MON_DATA_FRIENDSHIP) >= 1) + { + return 1; + } + return 0; +} + +static void CB2_FieldShowRegionMap(void) +{ + FieldInitRegionMap(CB2_ReturnToFieldContinueScriptPlayMapMusic); +} + +void FieldShowRegionMap(void) +{ + SetMainCallback2(CB2_FieldShowRegionMap); +} + +void DoPCTurnOnEffect(void) +{ + if (FuncIsActiveTask(Task_PCTurnOnEffect) != TRUE) + { + u8 taskId = CreateTask(Task_PCTurnOnEffect, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = taskId; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[4] = 0; + } +} + +static void Task_PCTurnOnEffect(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] == 0) + { + PCTurnOnEffect_0(task); + } +} + +static void PCTurnOnEffect_0(struct Task *task) +{ + u8 playerDirection; + s8 dx = 0; + s8 dy = 0; + if (task->data[3] == 6) + { + task->data[3] = 0; + playerDirection = GetPlayerFacingDirection(); + switch (playerDirection) + { + case DIR_NORTH: + dx = 0; + dy = -1; + break; + case DIR_WEST: + dx = -1; + dy = -1; + break; + case DIR_EAST: + dx = 1; + dy = -1; + break; + } + PCTurnOnEffect_1(task->data[4], dx, dy); + DrawWholeMapView(); + task->data[4] ^= 1; + if ((++task->data[2]) == 5) + { + DestroyTask(task->data[1]); + } + } + task->data[3]++; +} + +static void PCTurnOnEffect_1(s16 flag, s8 dx, s8 dy) +{ + u16 tileId = 0; + if (flag != 0) + { + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x4; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x25a; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x259; + } + } + else + { + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x5; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x27f; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x27e; + } + } + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + 7, gSaveBlock1Ptr->pos.y + dy + 7, tileId | 0xc00); +} + +void DoPCTurnOffEffect(void) +{ + PCTurnOffEffect(); +} + +static void PCTurnOffEffect(void) +{ + s8 dx = 0; + s8 dy = 0; + u16 tileId = 0; + u8 playerDirection = GetPlayerFacingDirection(); + switch (playerDirection) + { + case DIR_NORTH: + dx = 0; + dy = -1; + break; + case DIR_WEST: + dx = -1; + dy = -1; + break; + case DIR_EAST: + dx = 1; + dy = -1; + break; + } + if (gSpecialVar_0x8004 == 0) + { + tileId = 0x4; + } + else if (gSpecialVar_0x8004 == 1) + { + tileId = 0x25a; + } + else if (gSpecialVar_0x8004 == 2) + { + tileId = 0x259; + } + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + dx + 7, gSaveBlock1Ptr->pos.y + dy + 7, tileId | 0xc00); + DrawWholeMapView(); +} + +void DoLotteryCornerComputerEffect(void) +{ + if (FuncIsActiveTask(Task_LotteryCornerComputerEffect) != TRUE) + { + u8 taskId = CreateTask(Task_LotteryCornerComputerEffect, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = taskId; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[4] = 0; + } +} + +static void Task_LotteryCornerComputerEffect(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] == 0) + { + LotteryCornerComputerEffect(task); + } +} + +static void LotteryCornerComputerEffect(struct Task *task) +{ + if (task->data[3] == 6) + { + task->data[3] = 0; + if (task->data[4] != 0) + { + MapGridSetMetatileIdAt(18, 8, 0xe9d); + MapGridSetMetatileIdAt(18, 9, 0xea5); + } + else + { + MapGridSetMetatileIdAt(18, 8, 0xe58); + MapGridSetMetatileIdAt(18, 9, 0xe60); + } + DrawWholeMapView(); + task->data[4] ^= 1; + if ((++task->data[2]) == 5) + { + DestroyTask(task->data[1]); + } + } + task->data[3]++; +} + +void EndLotteryCornerComputerEffect(void) +{ + MapGridSetMetatileIdAt(18, 8, 0xe9d); + MapGridSetMetatileIdAt(18, 9, 0xea5); + DrawWholeMapView(); +} + +void SetTrickHouseEndRoomFlag(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_0x1F5; + *specVar = flag; + FlagSet(flag); +} + +void ResetTrickHouseEndRoomFlag(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_0x1F5; + *specVar = flag; + FlagClear(flag); +} + +bool8 CheckLeadMonCool(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_COOL) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonBeauty(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_BEAUTY) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonCute(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_CUTE) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonSmart(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SMART) < 200) + { + return FALSE; + } + return TRUE; +} + +bool8 CheckLeadMonTough(void) +{ + if (GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_TOUGH) < 200) + { + return FALSE; + } + return TRUE; +} + +void IsGrassTypeInParty(void) +{ + u8 i; + u16 species; + struct Pokemon *pokemon; + for (i = 0; i < PARTY_SIZE; i++) + { + pokemon = &gPlayerParty[i]; + if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && !GetMonData(pokemon, MON_DATA_IS_EGG)) + { + species = GetMonData(pokemon, MON_DATA_SPECIES); + if (gBaseStats[species].type1 == TYPE_GRASS || gBaseStats[species].type2 == TYPE_GRASS) + { + gSpecialVar_Result = TRUE; + return; + } + } + } + gSpecialVar_Result = FALSE; +} + +void SpawnScriptEventObject(void) +{ + u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, 0x7F, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3); + gEventObjects[obj].invisible = TRUE; + CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId); +} + +void RemoveScriptEventObject(void) +{ + CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); + RemoveEventObjectByLocalIdAndMap(0x7F, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); +} + +u8 GetPokeblockNameByMonNature(void) +{ + return CopyMonFavoritePokeblockName(GetNature(&gPlayerParty[GetLeadMonIndex()]), gStringVar1); +} + +void GetSecretBaseNearbyMapName(void) +{ + GetMapName(gStringVar1, VarGet(VAR_SECRET_BASE_MAP), 0); +} + +u16 GetBestBattleTowerStreak(void) +{ + return GetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK); +} + +void BufferEReaderTrainerName(void) +{ + GetEreaderTrainerName(gStringVar1); +} + +u16 GetSlotMachineId(void) +{ + static const u8 gUnknown_085B2B88[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; + static const u8 gUnknown_085B2B94[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; + static const u8 gUnknown_085B2BA0[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; + + u32 v0 = gSaveBlock1Ptr->easyChatPairs[0].unk0_0 + gSaveBlock1Ptr->easyChatPairs[0].unk2 + gUnknown_085B2B88[gSpecialVar_0x8004]; + if (GetPriceReduction(2)) + { + return gUnknown_085B2BA0[v0 % 12]; + } + return gUnknown_085B2B94[v0 % 12]; +} + +bool8 FoundAbandonedShipRoom1Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_1F; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom2Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_20; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom4Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_21; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 FoundAbandonedShipRoom6Key(void) +{ + u16 *specVar = &gSpecialVar_0x8004; + u16 flag = FLAG_HIDDEN_ITEM_22; + *specVar = flag; + if (!FlagGet(flag)) + { + return FALSE; + } + return TRUE; +} + +bool8 LeadMonHasEffortRibbon(void) +{ + return GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_EFFORT_RIBBON, NULL); +} + +void GiveLeadMonEffortRibbon(void) +{ + bool8 ribbonSet; + struct Pokemon *leadMon; + IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS); + FlagSet(FLAG_SYS_RIBBON_GET); + ribbonSet = TRUE; + leadMon = &gPlayerParty[GetLeadMonIndex()]; + SetMonData(leadMon, MON_DATA_EFFORT_RIBBON, &ribbonSet); + if (GetRibbonCount(leadMon) > 4) + { + sub_80EE4DC(leadMon, 0x47); + } +} + +bool8 Special_AreLeadMonEVsMaxedOut(void) +{ + if (GetMonEVCount(&gPlayerParty[GetLeadMonIndex()]) >= 510) + { + return TRUE; + } + return FALSE; +} + +u8 TryUpdateRusturfTunnelState(void) +{ + if (!FlagGet(FLAG_RUSTURF_TUNNEL_OPENED) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(RUSTURF_TUNNEL) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(RUSTURF_TUNNEL)) + { + if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1)) + { + VarSet(VAR_RUSTURF_TUNNEL_STATE, 4); + return TRUE; + } + else if (FlagGet(FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2)) + { + VarSet(VAR_RUSTURF_TUNNEL_STATE, 5); + return TRUE; + } + } + return FALSE; +} + +void SetShoalItemFlag(u16 v0) +{ + FlagSet(FLAG_SYS_SHOAL_ITEM); +} + +void PutZigzagoonInPlayerParty(void) +{ + u16 monData; + CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0); + monData = TRUE; + SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, &monData); + monData = MOVE_TACKLE; + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &monData); + monData = MOVE_NONE; + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &monData); +} + +bool8 IsStarterInParty(void) +{ + u8 i; + u16 starter = GetStarterPokemon(VarGet(VAR_STARTER_MON)); + u8 partyCount = CalculatePlayerPartyCount(); + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) == starter) + { + return TRUE; + } + } + return FALSE; +} + +bool8 ScriptCheckFreePokemonStorageSpace(void) +{ + return CheckFreePokemonStorageSpace(); +} + +bool8 IsPokerusInParty(void) +{ + if (!CheckPartyPokerus(gPlayerParty, 0x3f)) + { + return FALSE; + } + return TRUE; +} + +void sub_8139560(void) +{ + u8 taskId = CreateTask(sub_81395BC, 9); + gTasks[taskId].data[0] = gSpecialVar_0x8005; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = gSpecialVar_0x8006; + gTasks[taskId].data[3] = gSpecialVar_0x8007; + gTasks[taskId].data[4] = gSpecialVar_0x8004; + SetCameraPanningCallback(NULL); + PlaySE(SE_W070); +} + +static void sub_81395BC(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + data[1]++; + if (data[1] % data[3] == 0) + { + data[1] = 0; + data[2]--; + data[0] = -data[0]; + data[4] = -data[4]; + SetCameraPanning(data[0], data[4]); + if (data[2] == 0) + { + sub_8139620(taskId); + InstallCameraPanAheadCallback(); + } + } +} + +static void sub_8139620(u8 taskId) +{ + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +bool8 FoundBlackGlasses(void) +{ + return FlagGet(FLAG_HIDDEN_ITEM_BLACK_GLASSES); +} + +void SetRoute119Weather(void) +{ + if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE) + { + SetSav1Weather(20); + } +} + +void SetRoute123Weather(void) +{ + if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE) + { + SetSav1Weather(21); + } +} + +u8 GetLeadMonIndex(void) +{ + u8 i; + u8 partyCount = CalculatePlayerPartyCount(); + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != SPECIES_EGG && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != 0) + { + return i; + } + } + return 0; +} + +u16 ScriptGetPartyMonSpecies(void) +{ + return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); +} + +void nullsub_54(void) +{ + +} + +u16 GetDaysUntilPacifidlogTMAvailable(void) +{ + u16 tmReceivedDay = VarGet(VAR_PACIFIDLOG_TM_RECEIVED_DAY); + if (gLocalTime.days - tmReceivedDay >= 7) + { + return 0; + } + else if (gLocalTime.days < 0) + { + return 8; + } + return 7 - (gLocalTime.days - tmReceivedDay); +} + +u16 SetPacifidlogTMReceivedDay(void) +{ + VarSet(VAR_PACIFIDLOG_TM_RECEIVED_DAY, gLocalTime.days); + return gLocalTime.days; +} + +bool8 MonOTNameMatchesPlayer(void) +{ + if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_LANGUAGE) != GAME_LANGUAGE) + { + return TRUE; // huh? + } + + GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_NAME, gStringVar1); + if (!StringCompare(gSaveBlock2Ptr->playerName, gStringVar1)) + { + return FALSE; + } + return TRUE; +} + +void BufferLottoTicketNumber(void) +{ + if (gSpecialVar_Result >= 10000) + { + TV_PrintIntToStringVar(0, gSpecialVar_Result); + } + else if (gSpecialVar_Result >= 1000) + { + gStringVar1[0] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 1, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else if (gSpecialVar_Result >= 100) + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 2, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else if (gSpecialVar_Result >= 10) + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + gStringVar1[2] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 3, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } + else + { + gStringVar1[0] = CHAR_0; + gStringVar1[1] = CHAR_0; + gStringVar1[2] = CHAR_0; + gStringVar1[3] = CHAR_0; + ConvertIntToDecimalStringN(gStringVar1 + 4, gSpecialVar_Result, 0, CountDigits(gSpecialVar_Result)); + } +} + +u16 sub_813986C(void) +{ + switch (gSpecialVar_Result) + { + case 0: + return mevent_081445C0(3); + case 1: + return mevent_081445C0(4); + case 2: + return mevent_081445C0(0); + case 3: + return mevent_081445C0(1); + case 4: + return mevent_081445C0(2); + default: + return 0; + } +} + +bool8 sub_81398C0(void) +{ + if (gSpecialVar_0x8004 >= ITEM_TM01 && gSpecialVar_0x8004 <= ITEM_HM08) + { + StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_0x8004)]); + return TRUE; + } + + return FALSE; +} + +bool8 sub_813990C(void) +{ + u8 partyCount = CalculatePlayerPartyCount(); + u8 i; + + for (i = 0; i < partyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1) == 1) + return TRUE; + } + + return FALSE; +} + +bool8 InMultiBattleRoom(void) +{ + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) && + VarGet(VAR_0x40CE) == 2) + return TRUE; + return FALSE; +} + +void sub_8139980(void) +{ + SetCameraPanningCallback(NULL); + SetCameraPanning(8, 0); +} + +const struct WindowTemplate gUnknown_085B2BAC = { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 1, + .width = 8, + .height = 4, + .paletteNum = 15, + .baseBlock = 8, +}; + +const u8 *const gElevatorFloorsTable[] = { + gText_B4F, + gText_B3F, + gText_B2F, + gText_B1F, + gText_1F, + gText_2F, + gText_3F, + gText_4F, + gText_5F, + gText_6F, + gText_7F, + gText_8F, + gText_9F, + gText_10F, + gText_11F, + gText_Rooftop +}; + +const u16 gUnknown_085B2BF4[] = { 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b }; +const u16 gUnknown_085B2C06[] = { 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a }; + +void SetDepartmentStoreFloorVar(void) +{ + u8 deptStoreFloor; + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): + deptStoreFloor = 4; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): + deptStoreFloor = 5; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): + deptStoreFloor = 6; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): + deptStoreFloor = 7; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): + deptStoreFloor = 8; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP): + deptStoreFloor = 15; + break; + default: + deptStoreFloor = 4; + break; + } + VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor); +} + +u16 sub_81399F4(void) +{ + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 0; + + if (gSaveBlock1Ptr->warp2.mapGroup == 13) + { + switch (gSaveBlock1Ptr->warp2.mapNum) + { + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 0; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_4F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 1; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_3F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 2; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_2F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 3; + break; + case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): + gUnknown_0203AB60 = 0; + gUnknown_0203AB62 = 4; + break; + } + } + + return gUnknown_0203AB62; +} + +void ShakeScreenInElevator(void) +{ + static const u8 gUnknown_085B2C18[] = { 0x08, 0x10, 0x18, 0x20, 0x26, 0x2e, 0x34, 0x38, 0x39 }; + + s16 *data = gTasks[CreateTask(sub_8139AF4, 9)].data; + u16 floorDelta; + + data[1] = 0; + data[2] = 0; + data[4] = 1; + + if (gSpecialVar_0x8005 > gSpecialVar_0x8006) + { + floorDelta = gSpecialVar_0x8005 - gSpecialVar_0x8006; + data[6] = 1; + } + else + { + floorDelta = gSpecialVar_0x8006 - gSpecialVar_0x8005; + data[6] = 0; + } + + if (floorDelta > 8) + floorDelta = 8; + + data[5] = gUnknown_085B2C18[floorDelta]; + + SetCameraPanningCallback(NULL); + sub_8139C2C(floorDelta, data[6]); + PlaySE(SE_ELEBETA); +} + +static void sub_8139AF4(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[1]++; + if (data[1] % 3 == 0) + { + data[1] = 0; + data[2]++; + data[4] = -data[4]; + SetCameraPanning(0, data[4]); + if (data[2] == data[5]) + { + PlaySE(SE_PINPON); + DestroyTask(taskId); + EnableBothScriptContexts(); + InstallCameraPanAheadCallback(); + } + } +} + +void sub_8139B60(void) +{ + int xPos; + + gUnknown_0203AB5E = AddWindow(&gUnknown_085B2BAC); + SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + + xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64); + PrintTextOnWindow(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL); + + xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64); + PrintTextOnWindow(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL); + + PutWindowTilemap(gUnknown_0203AB5E); + CopyWindowToVram(gUnknown_0203AB5E, 3); +} + +void sub_8139C10(void) +{ + sub_8198070(gUnknown_0203AB5E, TRUE); + RemoveWindow(gUnknown_0203AB5E); +} + +static void sub_8139C2C(u16 a1, u8 a2) +{ + static const u8 gUnknown_085B2C21[] = { 0x03, 0x06, 0x09, 0x0c, 0x0f, 0x12, 0x15, 0x18, 0x1b }; + + if (FuncIsActiveTask(sub_8139C80) != TRUE) + { + u8 taskId = CreateTask(sub_8139C80, 8); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[2] = a2; + gTasks[taskId].data[3] = gUnknown_085B2C21[a1]; + } +} + +// Annoyingly close but compiler wants to add all the parts of the index into the arrays +// first and then shift by one, whereas we need each individual part to shift and then be added. +#ifdef NONMATCHING +static void sub_8139C80(u8 taskId) +{ + u8 x, y; + s16 *data = gTasks[taskId].data; + + if (data[1] == 6) + { + data[0]++; + if (data[2] == 0) + { + for (y = 0; y < 3; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2BF4[y * 3 + data[0] % 3] | 0xC00); + } + } + } + else + { + for (y = 0; y < 3; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2C06[y * 3 + data[0] % 3] | 0xC00); + } + } + } + DrawWholeMapView(); + data[1] = 0; + if (data[0] == data[3]) + { + DestroyTask(taskId); + } + } + data[1]++; +} +#else +NAKED +static void sub_8139C80(u8 taskId) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + str r0, [sp]\n\ + lsls r0, 2\n\ + ldr r1, [sp]\n\ + adds r0, r1\n\ + lsls r0, 3\n\ + ldr r1, =gTasks + 0x8\n\ + adds r6, r0, r1\n\ + movs r2, 0x2\n\ + ldrsh r0, [r6, r2]\n\ + cmp r0, 0x6\n\ + bne _08139D7C\n\ + ldrh r0, [r6]\n\ + adds r0, 0x1\n\ + strh r0, [r6]\n\ + movs r1, 0x4\n\ + ldrsh r0, [r6, r1]\n\ + cmp r0, 0\n\ + bne _08139D10\n\ + movs r1, 0\n\ + ldr r2, =gUnknown_085B2BF4\n\ + mov r10, r2\n\ +_08139CBA:\n\ + movs r5, 0\n\ + adds r7, r1, 0x7\n\ + lsls r0, r1, 1\n\ + adds r2, r1, 0x1\n\ + mov r8, r2\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + mov r9, r0\n\ +_08139CCA:\n\ + adds r4, r5, 0\n\ + adds r4, 0x8\n\ + movs r1, 0\n\ + ldrsh r0, [r6, r1]\n\ + movs r1, 0x3\n\ + bl __modsi3\n\ + lsls r0, 16\n\ + asrs r0, 15\n\ + add r0, r9\n\ + add r0, r10\n\ + ldrh r0, [r0]\n\ + movs r1, 0xC0\n\ + lsls r1, 4\n\ + adds r2, r1, 0\n\ + orrs r2, r0\n\ + adds r0, r4, 0\n\ + adds r1, r7, 0\n\ + bl MapGridSetMetatileIdAt\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x2\n\ + bls _08139CCA\n\ + mov r2, r8\n\ + lsls r0, r2, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x2\n\ + bls _08139CBA\n\ + b _08139D62\n\ + .pool\n\ +_08139D10:\n\ + movs r1, 0\n\ + ldr r0, =gUnknown_085B2C06\n\ + mov r10, r0\n\ +_08139D16:\n\ + movs r5, 0\n\ + adds r7, r1, 0x7\n\ + lsls r0, r1, 1\n\ + adds r2, r1, 0x1\n\ + mov r8, r2\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + mov r9, r0\n\ +_08139D26:\n\ + adds r4, r5, 0\n\ + adds r4, 0x8\n\ + movs r1, 0\n\ + ldrsh r0, [r6, r1]\n\ + movs r1, 0x3\n\ + bl __modsi3\n\ + lsls r0, 16\n\ + asrs r0, 15\n\ + add r0, r9\n\ + add r0, r10\n\ + ldrh r0, [r0]\n\ + movs r1, 0xC0\n\ + lsls r1, 4\n\ + adds r2, r1, 0\n\ + orrs r2, r0\n\ + adds r0, r4, 0\n\ + adds r1, r7, 0\n\ + bl MapGridSetMetatileIdAt\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x2\n\ + bls _08139D26\n\ + mov r2, r8\n\ + lsls r0, r2, 24\n\ + lsrs r1, r0, 24\n\ + cmp r1, 0x2\n\ + bls _08139D16\n\ +_08139D62:\n\ + bl DrawWholeMapView\n\ + movs r0, 0\n\ + strh r0, [r6, 0x2]\n\ + movs r0, 0\n\ + ldrsh r1, [r6, r0]\n\ + movs r2, 0x6\n\ + ldrsh r0, [r6, r2]\n\ + cmp r1, r0\n\ + bne _08139D7C\n\ + ldr r0, [sp]\n\ + bl DestroyTask\n\ +_08139D7C:\n\ + ldrh r0, [r6, 0x2]\n\ + adds r0, 0x1\n\ + strh r0, [r6, 0x2]\n\ + add sp, 0x4\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NAKED + +void sub_8139D98(void) +{ + u8 i; + u32 ivStorage[6]; + + ivStorage[0] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_HP_IV); + ivStorage[1] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_ATK_IV); + ivStorage[2] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_DEF_IV); + ivStorage[3] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPEED_IV); + ivStorage[4] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPATK_IV); + ivStorage[5] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPDEF_IV); + + gSpecialVar_0x8005 = 0; + + for (i = 0; i < ARRAY_COUNT(ivStorage); i++) + { + gSpecialVar_0x8005 += ivStorage[i]; + } + + gSpecialVar_0x8006 = 0; + gSpecialVar_0x8007 = ivStorage[0]; // HP IV + + for (i = 1; i < 6; i++) + { + if (ivStorage[gSpecialVar_0x8006] < ivStorage[i]) + { + gSpecialVar_0x8006 = i; + gSpecialVar_0x8007 = ivStorage[i]; + } + else if (ivStorage[gSpecialVar_0x8006] == ivStorage[i]) + { + u16 randomNumber = Random(); + if ((randomNumber & 1) != 0) + { + gSpecialVar_0x8006 = i; + gSpecialVar_0x8007 = ivStorage[i]; + } + } + } +} + +bool32 warp0_in_pokecenter(void) +{ + static const u16 gUnknown_085B2C2A[] = { 0x0202, 0x0301, 0x0405, 0x0504, 0x0604, 0x0700, 0x0804, 0x090b, 0x0a05, 0x0b05, 0x0c02, 0x0d06, 0x0e03, 0x0f02, 0x100c, 0x100a, 0x1a35, 0x193c, 0xffff }; + + int i; + u16 map = (gUnknown_020322DC.mapGroup << 8) + gUnknown_020322DC.mapNum; + + for (i = 0; gUnknown_085B2C2A[i] != 0xFFFF; i++) + { + if (gUnknown_085B2C2A[i] == map) + return TRUE; + } + + return FALSE; +} + +bool32 sub_8139ED0(void) +{ + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(TRAINER_HILL_ENTRANCE) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(TRAINER_HILL_ENTRANCE)) + { + return FALSE; + } + return TRUE; +} + +void UpdateFrontierManiac(u16 a0) +{ + u16 *var = GetVarPointer(VAR_FRONTIER_MANIAC_FACILITY); + *var += a0; + *var %= 10; +} + +void sub_8139F20(void) +{ + static const u8 *const gUnknown_085B2C50[][3] = { + { BattleFrontier_Lounge2_Text_260971, BattleFrontier_Lounge2_Text_260A1E, BattleFrontier_Lounge2_Text_260AE7 }, + { BattleFrontier_Lounge2_Text_2619AC, BattleFrontier_Lounge2_Text_261A91, BattleFrontier_Lounge2_Text_261B0C }, + { BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95, BattleFrontier_Lounge2_Text_261B95 }, + { BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A, BattleFrontier_Lounge2_Text_261C1A }, + { BattleFrontier_Lounge2_Text_260BC4, BattleFrontier_Lounge2_Text_260C6D, BattleFrontier_Lounge2_Text_260D3A }, + { BattleFrontier_Lounge2_Text_260E1E, BattleFrontier_Lounge2_Text_260EC7, BattleFrontier_Lounge2_Text_260F74 }, + { BattleFrontier_Lounge2_Text_2614E6, BattleFrontier_Lounge2_Text_261591, BattleFrontier_Lounge2_Text_26166F }, + { BattleFrontier_Lounge2_Text_261282, BattleFrontier_Lounge2_Text_261329, BattleFrontier_Lounge2_Text_261403 }, + { BattleFrontier_Lounge2_Text_261026, BattleFrontier_Lounge2_Text_2610CC, BattleFrontier_Lounge2_Text_261194 }, + { BattleFrontier_Lounge2_Text_26174D, BattleFrontier_Lounge2_Text_2617F9, BattleFrontier_Lounge2_Text_2618C4 }, + }; + + static const u8 gUnknown_085B2CC8[][2] = { + { 0x15, 0x38 }, + { 0x15, 0x23 }, + { 0xff, 0xff }, + { 0xff, 0xff }, + { 0x02, 0x04 }, + { 0x07, 0x15 }, + { 0x07, 0x15 }, + { 0x0e, 0x1c }, + { 0x0d, 0x70 }, + { 0x07, 0x38 } + }; + + u8 i; + u16 unk = 0; + u16 var = VarGet(VAR_FRONTIER_MANIAC_FACILITY); + switch (var) + { + case 0: + case 1: + case 2: + case 3: + if (gSaveBlock2Ptr->frontier.field_CE0[var][0] >= gSaveBlock2Ptr->frontier.field_CE0[var][1]) + { + unk = gSaveBlock2Ptr->frontier.field_CE0[var][0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_CE0[var][1]; + } + break; + case 4: + if (gSaveBlock2Ptr->frontier.field_D0C[0] >= gSaveBlock2Ptr->frontier.field_D0C[1]) + { + unk = gSaveBlock2Ptr->frontier.field_D0C[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_D0C[1]; + } + break; + case 5: + if (gSaveBlock2Ptr->frontier.field_DE2[0] >= gSaveBlock2Ptr->frontier.field_DE2[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DE2[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DE2[1]; + } + break; + case 6: + if (gSaveBlock2Ptr->frontier.field_DC8[0] >= gSaveBlock2Ptr->frontier.field_DC8[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DC8[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DC8[1]; + } + break; + case 7: + if (gSaveBlock2Ptr->frontier.field_DDA[0] >= gSaveBlock2Ptr->frontier.field_DDA[1]) + { + unk = gSaveBlock2Ptr->frontier.field_DDA[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_DDA[1]; + } + break; + case 8: + if (gSaveBlock2Ptr->frontier.field_E04[0] >= gSaveBlock2Ptr->frontier.field_E04[1]) + { + unk = gSaveBlock2Ptr->frontier.field_E04[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_E04[1]; + } + break; + case 9: + if (gSaveBlock2Ptr->frontier.field_E1A[0] >= gSaveBlock2Ptr->frontier.field_E1A[1]) + { + unk = gSaveBlock2Ptr->frontier.field_E1A[0]; + } + else + { + unk = gSaveBlock2Ptr->frontier.field_E1A[1]; + } + break; + } + + for (i = 0; i < 2 && gUnknown_085B2CC8[var][i] < unk; i++); + + ShowFieldMessage(gUnknown_085B2C50[var][i]); +} + +void sub_813A080(void) +{ + static const u16 gUnknown_085B2CDC[] = { + 0x0007, 0x000e, 0x0015, 0x001c, 0x0023, 0x0031, 0x003f, 0x004d, 0x005b, 0x0000 + }; + + u8 i; + u16 var = VarGet(VAR_0x40CE); + u8 chosenLevel = gSaveBlock2Ptr->frontier.chosenLvl; + + if (var == 2 && !FlagGet(FLAG_0x152)) + { + gSpecialVar_0x8005 = 5; + gSpecialVar_0x8006 = 4; + return; + } + + for (i = 0; i < 9; i++) + { + if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[var][chosenLevel]) + { + gSpecialVar_0x8005 = 4; + gSpecialVar_0x8006 = i + 5; + return; + } + } + + gSpecialVar_0x8005 = 4; + gSpecialVar_0x8006 = 12; +} + +void sub_813A128(void) +{ + u8 taskId = CreateTask(sub_813A2DC, 8); + struct Task *task = &gTasks[taskId]; + task->data[11] = gSpecialVar_0x8004; + + switch (gSpecialVar_0x8004) + { + case 0: + task->data[0] = 1; + task->data[1] = 1; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 1; + task->data[5] = 1; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 1: + task->data[0] = 5; + task->data[1] = 8; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 9; + task->data[5] = 10; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 2: + task->data[0] = 6; + task->data[1] = 12; + task->data[2] = 1; + task->data[3] = 1; + task->data[4] = 7; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 3: + task->data[0] = 6; + task->data[1] = 11; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 4: + task->data[0] = 6; + task->data[1] = 6; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 5: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 6: + task->data[0] = 6; + task->data[1] = 10; + task->data[2] = 14; + task->data[3] = 1; + task->data[4] = 15; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 7: + task->data[0] = 6; + task->data[1] = 12; + task->data[2] = 15; + task->data[3] = 1; + task->data[4] = 14; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 8: + task->data[0] = 6; + task->data[1] = 10; + task->data[2] = 17; + task->data[3] = 1; + task->data[4] = 11; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 9: + case 10: + task->data[0] = 6; + task->data[1] = 11; + task->data[2] = 15; + task->data[3] = 1; + task->data[4] = 14; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 11: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 19; + task->data[3] = 1; + task->data[4] = 10; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + case 12: + task->data[0] = 6; + task->data[1] = 7; + task->data[2] = 17; + task->data[3] = 1; + task->data[4] = 12; + task->data[5] = 12; + task->data[6] = 0; + task->data[15] = taskId; + break; + default: + gSpecialVar_Result = 0x7F; + DestroyTask(taskId); + break; + } +} + +static const u8 *const gUnknown_085B2CF0[][16] = { + { + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BlueFlute, + gText_YellowFlute, + gText_RedFlute, + gText_WhiteFlute, + gText_BlackFlute, + gText_PrettyChair, + gText_PrettyDesk, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_0Pts, + gText_10Pts, + gText_20Pts, + gText_30Pts, + gText_40Pts, + gText_50Pts, + gText_60Pts, + gText_70Pts, + gText_80Pts, + gText_90Pts, + gText_100Pts, + gText_QuestionMark, + NULL, + NULL, + NULL, + NULL + }, + { + gText_KissPoster16BP, + gText_KissCushion32BP, + gText_SmoochumDoll32BP, + gText_TogepiDoll48BP, + gText_MeowthDoll48BP, + gText_ClefairyDoll48BP, + gText_DittoDoll48BP, + gText_CyndaquilDoll80BP, + gText_ChikoritaDoll80BP, + gText_TotodileDoll80BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_LaprasDoll128BP, + gText_SnorlaxDoll128BP, + gText_VenusaurDoll256BP, + gText_CharizardDoll256BP, + gText_BlastoiseDoll256BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Protein1BP, + gText_Calcium1BP, + gText_Iron1BP, + gText_Zinc1BP, + gText_Carbos1BP, + gText_HpUp1BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Leftovers48BP, + gText_WhiteHerb48BP, + gText_QuickClaw48BP, + gText_MentalHerb48BP, + gText_BrightPowder64BP, + gText_ChoiceBand64BP, + gText_KingsRock64BP, + gText_FocusBand64BP, + gText_ScopeLens64BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_EnergyPowder50, + gText_EnergyRoot80, + gText_HealPowder50, + gText_RevivalHerb300, + gText_Protein1000, + gText_Iron1000, + gText_Carbos1000, + gText_Calcium1000, + gText_Zinc1000, + gText_HPUp1000, + gText_PPUp3000, + gText_Exit, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BattleTower2, + gText_BattleDome, + gText_BattlePalace, + gText_BattleArena, + gText_BattleFactory, + gText_BattlePike, + gText_BattlePyramid, + gText_RankingHall, + gText_ExchangeService, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_Softboiled16BP, + gText_SeismicToss24BP, + gText_DreamEater24BP, + gText_MegaPunch24BP, + gText_MegaKick48BP, + gText_BodySlam48BP, + gText_RockSlide48BP, + gText_Counter48BP, + gText_ThunderWave48BP, + gText_SwordsDance48BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_DefenseCurl16BP, + gText_Snore24BP, + gText_MudSlap24BP, + gText_Swift24BP, + gText_IcyWind24BP, + gText_Endure48BP, + gText_PsychUp48BP, + gText_IcePunch48BP, + gText_ThunderPunch48BP, + gText_FirePunch48BP, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_SlateportCity, + gText_BattleFrontier, + gText_SouthernIsland, + gText_NavelRock, + gText_BirthIsland, + gText_FarawayIsland, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }, + { + gText_BattleTrainers, + gText_BattleBasics, + gText_PokemonNature, + gText_PokemonMoves, + gText_Underpowered, + gText_WhenInDanger, + gText_Exit, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + } +}; + +static void sub_813A2DC(u8 taskId) +{ + u32 unk1; + u8 i, windowId; + struct WindowTemplate template; + struct Task *task = &gTasks[taskId]; + + ScriptContext2_Enable(); + gUnknown_0203AB68 = 0; + gUnknown_0203AB6C = 0x40; + sub_813AA60(task->data[11], 0); + sub_813ACE8(task->data[11], 0); + gUnknown_0203AB64 = AllocZeroed(task->data[1] * 8); + gUnknown_0203AB6A = 0; + sub_813A42C(); + + for (unk1 = 0, i = 0; i < task->data[1]; i++) + { + const u8 *text = gUnknown_085B2CF0[gSpecialVar_0x8004][i]; + gUnknown_0203AB64[i].name = text; + gUnknown_0203AB64[i].id = i; + unk1 = display_text_and_get_width(text, unk1); + } + + task->data[4] = convert_pixel_width_to_tile_width(unk1); + + if (task->data[2] + task->data[4] > 0x1D) + { + int unk2 = 0x1D - task->data[4]; + if (unk2 < 0) + { + task->data[2] = 0; + } + else + { + task->data[2] = unk2; + } + } + + template = CreateWindowTemplate(0, task->data[2], task->data[3], task->data[4], task->data[5], 0xF, 0x64); + windowId = AddWindow(&template); + task->data[13] = windowId; + SetStandardWindowBorderStyle(windowId, 0); + + gUnknown_030061D0.totalItems = task->data[1]; + gUnknown_030061D0.maxShowed = task->data[0]; + gUnknown_030061D0.windowId = task->data[13]; + + sub_813A694(taskId); + task->data[14] = ListMenuInit(&gUnknown_030061D0, task->data[7], task->data[8]); + schedule_bg_copy_tilemap_to_vram(0); + gTasks[taskId].func = sub_813A4EC; +} + +static void sub_813A42C(void) +{ + gUnknown_030061D0.items = gUnknown_0203AB64; + gUnknown_030061D0.moveCursorFunc = sub_813A46C; + gUnknown_030061D0.itemPrintFunc = NULL; + gUnknown_030061D0.totalItems = 1; + gUnknown_030061D0.maxShowed = 1; + gUnknown_030061D0.windowId = 0; + gUnknown_030061D0.header_X = 0; + gUnknown_030061D0.item_X = 8; + gUnknown_030061D0.cursor_X = 0; + gUnknown_030061D0.upText_Y = 1; + gUnknown_030061D0.cursorPal = 2; + gUnknown_030061D0.fillValue = 1; + gUnknown_030061D0.cursorShadowPal = 3; + gUnknown_030061D0.lettersSpacing = 0; + gUnknown_030061D0.itemVerticalPadding = 0; + gUnknown_030061D0.scrollMultiple = 0; + gUnknown_030061D0.fontId = 1; + gUnknown_030061D0.cursorKind = 0; +} + +static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + u8 taskId; + PlaySE(SE_SELECT); + taskId = FindTaskIdByFunc(sub_813A4EC); + if (taskId != 0xFF) + { + u16 misc; + struct Task *task = &gTasks[taskId]; + ListMenuGetScrollAndRow(task->data[14], &misc, NULL); + gUnknown_0203AB68 = misc; + ListMenuGetCurrentItemArrayId(task->data[14], &misc); + sub_813AC44(task->data[11], gUnknown_0203AB6A); + sub_813AA60(task->data[11], misc); + sub_813AD34(task->data[11], misc); + gUnknown_0203AB6A = misc; + } +} + +// stupid r5<->r6 swap +#ifdef NONMATCHING +static void sub_813A4EC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + s32 itemId = ListMenuHandleInputGetItemId(task->data[14]); + + switch (itemId) + { + case LIST_NOTHING_CHOSEN: + break; + case LIST_B_PRESSED: + gSpecialVar_Result = 0x7F; + PlaySE(SE_SELECT); + sub_813A570(taskId); + break; + default: + gSpecialVar_Result = itemId; + PlaySE(SE_SELECT); + if (!task->data[6] || itemId == task->data[1] - 1) + { + sub_813A570(taskId); + } + else + { + sub_813A738(taskId); + task->func = sub_813A600; + EnableBothScriptContexts(); + } + break; + } +} +#else +NAKED +static void sub_813A4EC(u8 taskId) +{ + asm_unified("push {r4-r6,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + ldr r1, =gTasks\n\ + adds r6, r0, r1\n\ + ldrh r0, [r6, 0x24]\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + bl ListMenuHandleInputGetItemId\n\ + adds r4, r0, 0\n\ + movs r0, 0x2\n\ + negs r0, r0\n\ + cmp r4, r0\n\ + beq _0813A51C\n\ + adds r0, 0x1\n\ + cmp r4, r0\n\ + bne _0813A530\n\ + b _0813A566\n\ + .pool\n\ +_0813A51C:\n\ + ldr r1, =gSpecialVar_Result\n\ + movs r0, 0x7F\n\ + strh r0, [r1]\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + b _0813A54C\n\ + .pool\n\ +_0813A530:\n\ + ldr r0, =gSpecialVar_Result\n\ + strh r4, [r0]\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r1, 0x14\n\ + ldrsh r0, [r6, r1]\n\ + cmp r0, 0\n\ + beq _0813A54C\n\ + movs r1, 0xA\n\ + ldrsh r0, [r6, r1]\n\ + subs r0, 0x1\n\ + cmp r4, r0\n\ + bne _0813A558\n\ +_0813A54C:\n\ + adds r0, r5, 0\n\ + bl sub_813A570\n\ + b _0813A566\n\ + .pool\n\ +_0813A558:\n\ + adds r0, r5, 0\n\ + bl sub_813A738\n\ + ldr r0, =sub_813A600\n\ + str r0, [r6]\n\ + bl EnableBothScriptContexts\n\ +_0813A566:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +static void sub_813A570(u8 taskId) +{ + u16 array; + struct Task *task = &gTasks[taskId]; + ListMenuGetCurrentItemArrayId(task->data[14], &array); + sub_813AC44(task->data[11], array); + sub_813A738(taskId); + DestroyListMenuTask(task->data[14], NULL, NULL); + Free(gUnknown_0203AB64); + sub_8198070(task->data[13], 1); + FillWindowPixelBuffer(task->data[13], 0); + CopyWindowToVram(task->data[13], 2); + RemoveWindow(task->data[13]); + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +static void sub_813A600(u8 taskId) +{ + switch (gTasks[taskId].data[6]) + { + case 1: + default: + break; + case 2: + gTasks[taskId].data[6] = 1; + gTasks[taskId].func = sub_813A664; + break; + } +} + +void sub_813A630(void) +{ + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId == 0xFF) + { + EnableBothScriptContexts(); + } + else + { + gTasks[taskId].data[6]++; + } +} + +static void sub_813A664(u8 taskId) +{ + ScriptContext2_Enable(); + sub_813A694(taskId); + gTasks[taskId].func = sub_813A4EC; +} + +static void sub_813A694(u8 taskId) +{ + static const struct ScrollArrowsTemplate gUnknown_085B3030 = { + .firstArrowType = 2, + .firstX = 0, + .firstY = 0, + .secondArrowType = 3, + .secondX = 0, + .secondY = 0, + .fullyUpThreshold = 0, + .fullyDownThreshold = 0, + .tileTag = 2000, + .palTag = 100, + .palNum = 0 + }; + + struct Task *task = &gTasks[taskId]; + struct ScrollArrowsTemplate template = gUnknown_085B3030; + if (task->data[0] != task->data[1]) + { + template.firstX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; + template.firstY = 8; + template.secondX = (task->data[4] / 2) * 8 + 12 + (task->data[2] - 1) * 8; + template.secondY = task->data[5] * 8 + 10; + template.fullyUpThreshold = 0; + template.fullyDownThreshold = task->data[1] - task->data[0]; + task->data[12] = AddScrollIndicatorArrowPair(&template, &gUnknown_0203AB68); + } +} + +static void sub_813A738(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + if (task->data[0] != task->data[1]) + { + RemoveScrollIndicatorArrowPair(task->data[12]); + } +} + +void nullsub_55(void) +{ + +} + +void sub_813A76C(void) +{ + u8 i; + for (i = 0; i < 2; i++) + { + if (gLinkPlayers[i].gender == MALE) + { + VarSet(VAR_OBJ_GFX_ID_F - i, EVENT_OBJ_GFX_BRENDAN_NORMAL); + } + else + { + VarSet(VAR_OBJ_GFX_ID_F - i, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL); + } + } +} + +void sub_813A7B8(void) +{ + static const u8 *const gUnknown_085B3040[] = { + BattleFrontier_Lounge5_Text_26468D, + BattleFrontier_Lounge5_Text_2646E5, + BattleFrontier_Lounge5_Text_264741, + BattleFrontier_Lounge5_Text_2647A4, + BattleFrontier_Lounge5_Text_2647FC, + BattleFrontier_Lounge5_Text_264858, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264916, + BattleFrontier_Lounge5_Text_264972, + BattleFrontier_Lounge5_Text_2649D5, + BattleFrontier_Lounge5_Text_264A3F, + BattleFrontier_Lounge5_Text_264A9B, + BattleFrontier_Lounge5_Text_264AF3, + BattleFrontier_Lounge5_Text_264B5D, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264BC3, + BattleFrontier_Lounge5_Text_264C36, + BattleFrontier_Lounge5_Text_2648BE, + BattleFrontier_Lounge5_Text_264C95, + BattleFrontier_Lounge5_Text_264D01, + BattleFrontier_Lounge5_Text_264D6B, + BattleFrontier_Lounge5_Text_264DD7, + BattleFrontier_Lounge5_Text_264E33, + BattleFrontier_Lounge5_Text_264E8F, + BattleFrontier_Lounge5_Text_2648BE, + }; + + u8 nature; + + if (gSpecialVar_0x8004 >= PARTY_SIZE) + { + gSpecialVar_0x8004 = 0; + } + + nature = GetNature(&gPlayerParty[gSpecialVar_0x8004]); + ShowFieldMessage(gUnknown_085B3040[nature]); +} + +void UpdateFrontierGambler(u16 a0) +{ + u16 *var = GetVarPointer(VAR_FRONTIER_GAMBLER_FACILITY); + *var += a0; + *var %= 12; +} + +void sub_813A820(void) +{ + static const u8 *const gUnknown_085B30A4[] = { + BattleFrontier_Lounge3_Text_262261, + BattleFrontier_Lounge3_Text_26230D, + BattleFrontier_Lounge3_Text_2623B9, + BattleFrontier_Lounge3_Text_262464, + BattleFrontier_Lounge3_Text_26250E, + BattleFrontier_Lounge3_Text_2625B8, + BattleFrontier_Lounge3_Text_26266A, + BattleFrontier_Lounge3_Text_26271C, + BattleFrontier_Lounge3_Text_2627C9, + BattleFrontier_Lounge3_Text_262876, + BattleFrontier_Lounge3_Text_26291A, + BattleFrontier_Lounge3_Text_2629BC, + }; + + u16 var = VarGet(VAR_FRONTIER_GAMBLER_FACILITY); + ShowFieldMessage(gUnknown_085B30A4[var]); + VarSet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F, var); +} + +void sub_813A854(void) +{ + static const u8 *const gUnknown_085B30D4[] = { + BattleFrontier_Lounge3_Text_262C04, + BattleFrontier_Lounge3_Text_262C90, + BattleFrontier_Lounge3_Text_262D1C, + BattleFrontier_Lounge3_Text_262DA7, + BattleFrontier_Lounge3_Text_262E34, + BattleFrontier_Lounge3_Text_262EC1, + BattleFrontier_Lounge3_Text_262F56, + BattleFrontier_Lounge3_Text_262FEB, + BattleFrontier_Lounge3_Text_263078, + BattleFrontier_Lounge3_Text_263105, + BattleFrontier_Lounge3_Text_26318C, + BattleFrontier_Lounge3_Text_263211, + }; + + ShowFieldMessage(gUnknown_085B30D4[VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F)]); +} + +void sub_813A878(u8 a0) +{ + static const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600}; + + u16 var1 = VarGet(VAR_0x40CE); + u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F); + u16 var3 = VarGet(VAR_FRONTIER_FACILITY); + + if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1) + { + if (gUnknown_085B3104[var2] == (var3 << 8) + var1) + { + if (a0 != 0) + { + VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2); + } + else + { + VarSet(VAR_FRONTIER_GAMBLER_PLACED_BET_F, 3); + } + } + } +} + +void sub_813A8FC(void) +{ + u8 string[32]; + u32 x; + StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.frontierBattlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP); + x = GetStringRightAlignXOffset(1, string, 48); + PrintTextOnWindow(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL); +} + +void sub_813A958(void) +{ + static const struct WindowTemplate gUnknown_085B311C = { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 6, + .height = 2, + .paletteNum = 15, + .baseBlock = 8, + }; + + gUnknown_0203AB6D = AddWindow(&gUnknown_085B311C); + SetStandardWindowBorderStyle(gUnknown_0203AB6D, 0); + sub_813A8FC(); + CopyWindowToVram(gUnknown_0203AB6D, 2); +} + +void sub_813A988(void) +{ + sub_8198070(gUnknown_0203AB6D, TRUE); + RemoveWindow(gUnknown_0203AB6D); +} + +void sub_813A9A4(void) +{ + if (gSaveBlock2Ptr->frontier.frontierBattlePoints < gSpecialVar_0x8004) + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = 0; + } + else + { + gSaveBlock2Ptr->frontier.frontierBattlePoints -= gSpecialVar_0x8004; + } +} + +void sub_813A9D0(void) +{ + if (gSaveBlock2Ptr->frontier.frontierBattlePoints + gSpecialVar_0x8004 > 0x270F) + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = 0x270f; + } + else + { + gSaveBlock2Ptr->frontier.frontierBattlePoints = gSaveBlock2Ptr->frontier.frontierBattlePoints + gSpecialVar_0x8004; + } +} + +u16 sub_813AA04(void) +{ + return gSaveBlock2Ptr->frontier.frontierBattlePoints; +} + +void sub_813AA18(void) +{ + static const struct WindowTemplate gUnknown_085B3124 = { + .priority = 0, + .tilemapLeft = 2, + .tilemapTop = 9, + .width = 4, + .height = 4, + .paletteNum = 15, + .baseBlock = 20, + }; + + gUnknown_0203AB6E = AddWindow(&gUnknown_085B3124); + SetStandardWindowBorderStyle(gUnknown_0203AB6E, 0); + CopyWindowToVram(gUnknown_0203AB6E, 2); +} + +void sub_813AA44(void) +{ + sub_8198070(gUnknown_0203AB6E, TRUE); + RemoveWindow(gUnknown_0203AB6E); +} + +static void sub_813AA60(u16 a0, u16 a1) +{ + static const u16 gUnknown_085B312C[] = { 0x004b, 0x0067, 0x0057, 0x004f, 0x0054, 0x0055, 0x0056, 0x0050, 0x0051, 0x0052, 0xffff }; + static const u16 gUnknown_085B3142[] = { 0x0071, 0x006f, 0x0072, 0x0073, 0x0074, 0xffff }; + static const u16 gUnknown_085B314E[] = { 0x0040, 0x0043, 0x0041, 0x0046, 0x0042, 0x003f, 0xffff }; + static const u16 gUnknown_085B315C[] = { 0x00c8, 0x00b4, 0x00b7, 0x00b9, 0x00b3, 0x00ba, 0x00bb, 0x00c4, 0x00c6, 0xffff }; + + static const u8 *const gUnknown_085B3170[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260201, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260287, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E, + gText_Exit, + }; + + static const u8 *const gUnknown_085B319C[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C, + gText_Exit + }; + + static const u8 *const gUnknown_085B31B4[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_260397, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260436, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C, + gText_Exit + }; + + static const u8 *const gUnknown_085B31D0[] = { + BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260542, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260575, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8, + BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2, + BattleFrontier_BattlePointExchangeServiceCorner_Text_260613, + gText_Exit + }; + + if (a0 > 2 && a0 < 7) + { + FillWindowPixelRect(0, 0x11, 0, 0, 216, 32); + switch (a0) + { + case 3: + AddTextPrinterParameterized(0, 1, gUnknown_085B3170[a1], 0, NULL, 2, 1, 3); + if (gUnknown_085B312C[a1] == 0xFFFF) + { + sub_813ABD4(gUnknown_085B312C[a1]); + } + else + { + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B312C[a1], 33, 88, 0, 5500, 5500); + } + break; + case 4: + AddTextPrinterParameterized(0, 1, gUnknown_085B319C[a1], 0, NULL, 2, 1, 3); + if (gUnknown_085B3142[a1] == 0xFFFF) + { + sub_813ABD4(gUnknown_085B3142[a1]); + } + else + { + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddDecorationIconObject(gUnknown_085B3142[a1], 33, 88, 0, 5500, 5500); + } + break; + case 5: + AddTextPrinterParameterized(0, 1, gUnknown_085B31B4[a1], 0, NULL, 2, 1, 3); + sub_813ABD4(gUnknown_085B314E[a1]); + break; + case 6: + AddTextPrinterParameterized(0, 1, gUnknown_085B31D0[a1], 0, NULL, 2, 1, 3); + sub_813ABD4(gUnknown_085B315C[a1]); + break; + } + } +} + +static void sub_813ABD4(u16 a0) +{ + FreeSpriteTilesByTag(5500); + FreeSpritePaletteByTag(5500); + gUnknown_0203AB6C = AddItemIconSprite(5500, 5500, a0); + + if (gUnknown_0203AB6C != MAX_SPRITES) + { + gSprites[gUnknown_0203AB6C].oam.priority = 0; + gSprites[gUnknown_0203AB6C].pos1.x = 36; + gSprites[gUnknown_0203AB6C].pos1.y = 92; + } +} + +static void sub_813AC44(u16 a0, u16 unused) +{ + if (gUnknown_0203AB6C != MAX_SPRITES) + { + switch (a0) + { + case 3 ... 6: + DestroySpriteAndFreeResources(&gSprites[gUnknown_0203AB6C]); + break; + } + gUnknown_0203AB6C = MAX_SPRITES; + } +} + +static const u16 gUnknown_085B31F8[] = { 0x0087, 0x0045, 0x008a, 0x0005, 0x0019, 0x0022, 0x009d, 0x0044, 0x0056, 0x000e }; +static const u16 gUnknown_085B320C[] = { 0x006f, 0x00ad, 0x00bd, 0x0081, 0x00c4, 0x00cb, 0x00f4, 0x0008, 0x0009, 0x0007 }; + +void sub_813AC7C(void) +{ + if (gSpecialVar_0x8005 != 0) + { + StringCopy(gStringVar1, gMoveNames[gUnknown_085B320C[gSpecialVar_0x8004]]); + } + else + { + StringCopy(gStringVar1, gMoveNames[gUnknown_085B31F8[gSpecialVar_0x8004]]); + } +} + +static void sub_813ACE8(u8 a0, u16 a1) +{ + static const struct WindowTemplate gUnknown_085B3220 = { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 7, + .width = 12, + .height = 6, + .paletteNum = 15, + .baseBlock = 28, + }; + + if (a0 == 9 || a0 == 10) + { + if (gSpecialVar_0x8006 == 0) + { + gUnknown_0203AB5E = AddWindow(&gUnknown_085B3220); + SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0); + } + sub_813AD34(a0, a1); + } +} + +static void sub_813AD34(u8 a0, u16 a1) +{ + static const u8 *const gUnknown_085B3228[] = { + BattleFrontier_Lounge7_Text_265E30, + BattleFrontier_Lounge7_Text_265E5B, + BattleFrontier_Lounge7_Text_265E8A, + BattleFrontier_Lounge7_Text_265EC0, + BattleFrontier_Lounge7_Text_265EED, + BattleFrontier_Lounge7_Text_265F1C, + BattleFrontier_Lounge7_Text_265F47, + BattleFrontier_Lounge7_Text_265F77, + BattleFrontier_Lounge7_Text_265FAA, + BattleFrontier_Lounge7_Text_265FDD, + gText_Exit, + }; + + static const u8 *const gUnknown_085B3254[] = { + BattleFrontier_Lounge7_Text_26600A, + BattleFrontier_Lounge7_Text_26603E, + BattleFrontier_Lounge7_Text_266070, + BattleFrontier_Lounge7_Text_2660A6, + BattleFrontier_Lounge7_Text_2660D0, + BattleFrontier_Lounge7_Text_2660FF, + BattleFrontier_Lounge7_Text_26612D, + BattleFrontier_Lounge7_Text_26615F, + BattleFrontier_Lounge7_Text_266185, + BattleFrontier_Lounge7_Text_2661B5, + gText_Exit, + }; + + if (a0 == 9 || a0 == 10) + { + FillWindowPixelRect(gUnknown_0203AB5E, 0x11, 0, 0, 96, 48); + if (a0 == 10) + { + PrintTextOnWindow(gUnknown_0203AB5E, 1, gUnknown_085B3254[a1], 0, 1, 0, NULL); + } + else + { + PrintTextOnWindow(gUnknown_0203AB5E, 1, gUnknown_085B3228[a1], 0, 1, 0, NULL); + } + } +} + +void sub_813ADB8(void) +{ + sub_8198070(gUnknown_0203AB5E, TRUE); + RemoveWindow(gUnknown_0203AB5E); +} + +void sub_813ADD4(void) +{ + u16 scrollOffset, selectedRow; + u8 i; + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId != 0xFF) + { + struct Task *task = &gTasks[taskId]; + ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow); + SetStandardWindowBorderStyle(task->data[13], 0); + + for (i = 0; i < 6; i++) + { + sub_8199F74(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0); + } + + PrintTextOnWindow(task->data[13], 1, gText_SelectorArrow, 0, selectedRow * 16, TEXT_SPEED_FF, NULL); + PutWindowTilemap(task->data[13]); + CopyWindowToVram(task->data[13], 3); + } +} + +void sub_813AEB4(void) +{ + u8 i; + u16 temp1 = 0; + u16 temp2 = 0; + gSpecialVar_0x8005 = 0; + + temp1 = VarGet(VAR_TEMP_E); + temp2 = VarGet(VAR_TEMP_D); + + if (temp1 != 0) + { + i = 0; + do + { + if (gUnknown_0861500C[i] == gUnknown_085B320C[temp2]) + { + gSpecialVar_0x8005 = i; + break; + } + i++; + } while (i < 30); + } + else + { + i = 0; + do + { + if (gUnknown_0861500C[i] == gUnknown_085B31F8[temp2]) + { + gSpecialVar_0x8005 = i; + break; + } + i++; + } while (i < 30); + } +} + +void sub_813AF48(void) +{ + u8 taskId = FindTaskIdByFunc(sub_813A600); + if (taskId != 0xFF) + { + struct Task *task = &gTasks[taskId]; + DestroyListMenuTask(task->data[14], NULL, NULL); + Free(gUnknown_0203AB64); + sub_8198070(task->data[13], TRUE); + FillWindowPixelBuffer(task->data[13], 0); + ClearWindowTilemap(task->data[13]); + CopyWindowToVram(task->data[13], 2); + RemoveWindow(task->data[13]); + DestroyTask(taskId); + } +} + +void sub_813AFC8(void) +{ + CreateTask(task_deoxys_sound, 8); +} + +static const u16 gUnknown_085B3280[][16] = { + INCBIN_U16("graphics/misc/deoxys1.gbapal"), + INCBIN_U16("graphics/misc/deoxys2.gbapal"), + INCBIN_U16("graphics/misc/deoxys3.gbapal"), + INCBIN_U16("graphics/misc/deoxys4.gbapal"), + INCBIN_U16("graphics/misc/deoxys5.gbapal"), + INCBIN_U16("graphics/misc/deoxys6.gbapal"), + INCBIN_U16("graphics/misc/deoxys7.gbapal"), + INCBIN_U16("graphics/misc/deoxys8.gbapal"), + INCBIN_U16("graphics/misc/deoxys9.gbapal"), + INCBIN_U16("graphics/misc/deoxys10.gbapal"), + INCBIN_U16("graphics/misc/deoxys11.gbapal"), +}; + +static const u8 gUnknown_085B33E0[][2] = { + { 0x0f, 0x0c }, + { 0x0b, 0x0e }, + { 0x0f, 0x08 }, + { 0x13, 0x0e }, + { 0x0c, 0x0b }, + { 0x12, 0x0b }, + { 0x0f, 0x0e }, + { 0x0b, 0x0e }, + { 0x13, 0x0e }, + { 0x0f, 0x0f }, + { 0x0f, 0x0a }, +}; + +static void task_deoxys_sound(u8 taskId) +{ + static const u8 gUnknown_085B33F6[] = { 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 }; + + if (FlagGet(FLAG_0x8D4) == TRUE) + { + gSpecialVar_Result = 3; + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + u16 temp1 = VarGet(VAR_0x4035); + u16 temp2 = VarGet(VAR_0x4034); + + VarSet(VAR_0x4034, 0); + if (temp1 != 0 && gUnknown_085B33F6[temp1 - 1] < temp2) + { + sub_813B0B4(0); + VarSet(VAR_0x4035, 0); + gSpecialVar_Result = 0; + DestroyTask(taskId); + } + else if (temp1 == 10) + { + FlagSet(FLAG_0x8D4); + gSpecialVar_Result = 2; + EnableBothScriptContexts(); + DestroyTask(taskId); + } + else + { + temp1++; + sub_813B0B4(temp1); + VarSet(VAR_0x4035, temp1); + gSpecialVar_Result = 1; + DestroyTask(taskId); + } + } +} + +static void sub_813B0B4(u8 a0) +{ + u8 eventObjectId; + LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8); + TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); + + if (a0 == 0) + { + PlaySE(SE_W109); + } + else + { + PlaySE(SE_RG_DEOMOV); + } + + CreateTask(sub_813B160, 8); + + gFieldEffectArguments[0] = 1; + gFieldEffectArguments[1] = 58; + gFieldEffectArguments[2] = 26; + gFieldEffectArguments[3] = gUnknown_085B33E0[a0][0]; + gFieldEffectArguments[4] = gUnknown_085B33E0[a0][1]; + + if (a0 == 0) + { + gFieldEffectArguments[5] = 60; + } + else + { + gFieldEffectArguments[5] = 5; + } + + FieldEffectStart(FLDEFF_66); + Overworld_SetEventObjTemplateCoords(1, gUnknown_085B33E0[a0][0], gUnknown_085B33E0[a0][1]); +} + +static void sub_813B160(u8 taskId) +{ + if (FieldEffectActiveListContains(FLDEFF_66) == FALSE) + { + EnableBothScriptContexts(); + DestroyTask(taskId); + } +} + +void increment_var_x4026_on_birth_island_modulo_100(void) +{ + u16 var = VarGet(VAR_0x4034); + if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR)) + { + var++; + if (var > 99) + { + VarSet(VAR_0x4034, 0); + } + else + { + VarSet(VAR_0x4034, var); + } + } +} + +void sub_813B1D0(void) +{ + LoadPalette(&gUnknown_085B3280[(u8)VarGet(VAR_0x4035)], 0x1A0, 8); + BlendPalettes(0x04000000, 16, 0); +} + +void set_unknown_box_id(u8 id) +{ + gUnknown_0203AB6F = id; +} + +u16 get_unknown_box_id(void) +{ + return gUnknown_0203AB6F; +} + +bool32 sub_813B21C(void) +{ + if (FlagGet(FLAG_SYS_STORAGE_UNKNOWN_FLAG) == FALSE) + { + if (StorageGetCurrentBox() != VarGet(VAR_STORAGE_UNKNOWN)) + { + FlagSet(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + return TRUE; + } + } + return FALSE; +} + +bool8 sub_813B260(void) +{ + int box; + int i; + set_unknown_box_id(VarGet(VAR_STORAGE_UNKNOWN)); + box = StorageGetCurrentBox(); + do + { + for (i = 0; i < IN_BOX_COUNT; i++) + { + if (GetBoxMonData(GetBoxedMonPtr(box, i), MON_DATA_SPECIES, 0) == 0) + { + if (get_unknown_box_id() != box) + { + FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG); + } + VarSet(VAR_STORAGE_UNKNOWN, box); + return sub_813B21C(); + } + } + + if (++box == TOTAL_BOXES_COUNT) + { + box = 0; + } + } while (box != StorageGetCurrentBox()); + return FALSE; +} + +void sub_813B2E4(void) +{ + u16 randomValue = Random(); + VarSet(VAR_0x4038, 0); + + if (FlagGet(FLAG_0x1BE) == TRUE) + { + VarSet(VAR_0x4037, (randomValue & 7) + 1); + } + else if (FlagGet(FLAG_0x1BF) == TRUE) + { + VarSet(VAR_0x4037, (randomValue & 7) + 9); + } + else if ((randomValue & 1) == 0) + { + randomValue = Random(); + VarSet(VAR_0x4037, (randomValue & 7) + 1); + } + else + { + randomValue = Random(); + VarSet(VAR_0x4037, (randomValue & 7) + 9); + } +} + +bool32 sub_813B374(void) +{ + static const u8 gUnknown_085B3400[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; + + u16 var = VarGet(VAR_0x4037); + + GetMapName(gStringVar1, gUnknown_085B3400[var - 1], 0); + + if (var < 9) + { + return FALSE; + } + else + { + return TRUE; + } +} + +bool32 sub_813B3B0(void) +{ + static const u8 gUnknown_085B3410[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; + + u16 var1 = VarGet(VAR_0x4038); + u16 var2 = VarGet(VAR_0x4037); + + if (!var2) + { + return FALSE; + } + + if (++var1 > 999) + { + VarSet(VAR_0x4038, 0); + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE)) + { + switch (gSaveBlock1Ptr->location.mapNum) + { + case MAP_NUM(UNDERWATER_MARINE_CAVE): + case MAP_NUM(MARINE_CAVE_ENTRANCE): + case MAP_NUM(MARINE_CAVE_END): + case MAP_NUM(TERRA_CAVE_ENTRANCE): + case MAP_NUM(TERRA_CAVE_END): + VarSet(VAR_0x4039, 1); + return FALSE; + default: + break; + } + } + + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER3)) + { + switch (gSaveBlock1Ptr->location.mapNum) + { + case MAP_NUM(UNDERWATER3): + case MAP_NUM(UNDERWATER5): + case MAP_NUM(UNDERWATER6): + case MAP_NUM(UNDERWATER7): + VarSet(VAR_0x4039, 1); + return FALSE; + default: + break; + } + } + + if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3410[var2 - 1] && + gSaveBlock1Ptr->location.mapGroup == 0) + { + return TRUE; + } + else + { + VarSet(VAR_0x4037, 0); + return FALSE; + } + } + else + { + VarSet(VAR_0x4038, var1); + return FALSE; + } +} + +void sub_813B484(void) +{ + sub_80AB104(2); +} + +bool32 sub_813B490(void) +{ + static const u8 gUnknown_085B3420[][3] = { + { 0x02, 0x04, 0x01 }, + { 0x04, 0x04, 0x01 }, + { 0x05, 0x00, 0x01 }, + { 0x06, 0x03, 0x01 }, + { 0x08, 0x06, 0x01 }, + { 0x09, 0x0d, 0x01 }, + { 0x0a, 0x07, 0x01 }, + { 0x0b, 0x07, 0x01 }, + { 0x0c, 0x04, 0x01 }, + { 0x0e, 0x05, 0x01 }, + { 0x0f, 0x04, 0x01 }, + { 0x1a, 0x37, 0x01 } + }; + + u8 i; + for (i = 0; i < 12; i++) + { + if (gSaveBlock1Ptr->location.mapGroup == gUnknown_085B3420[i][0]) + { + if (gSaveBlock1Ptr->location.mapNum == gUnknown_085B3420[i][1]) + { + return gUnknown_085B3420[i][2]; + } + } + } + return TRUE; +} + +bool32 sub_813B4E0(void) +{ + int index = GetRematchIdxByTrainerIdx(gSpecialVar_0x8004); + if (index >= 0) + { + if (FlagGet(FLAG_MATCH_CALL_REGISTERED + index) == TRUE) + return TRUE; + } + return FALSE; +} + +bool32 sub_813B514(void) +{ + if (!VarGet(VAR_0x403F)) + { + return FALSE; + } + return TRUE; +} + +void sub_813B534(void) +{ + gUnknown_0203AB70 = gBattleTypeFlags; + gBattleTypeFlags = 0; + if (!gReceivedRemoteLinkPlayers) + { + CreateTask(sub_80B3AF8, 5); + } +} + +void sub_813B568(void) +{ + CreateTask(sub_813B57C, 5); +} + +static void sub_813B57C(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (!FuncIsActiveTask(sub_80B3AF8)) + { + gTasks[taskId].data[0]++; + } + break; + case 1: + if (sub_800A520() == TRUE) + { + if (GetMultiplayerId() == 0) + { + gTasks[taskId].data[0]++; + } + else + { + SendBlock(bitmask_all_link_players_but_self(), &gSpecialVar_0x8004, 2); + gTasks[taskId].data[0]++; + } + } + break; + case 2: + if ((GetBlockReceivedStatus() & 2) != 0) + { + if (GetMultiplayerId() == 0) + { + gSpecialVar_0x8005 = gBlockRecvBuffer[1][0]; + ResetBlockReceivedFlag(1); + if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 1) + { + gSpecialVar_Result = 1; + } + else if (gSpecialVar_0x8004 == 0 && gSpecialVar_0x8005 == 1) + { + gSpecialVar_Result = 2; + } + else if (gSpecialVar_0x8004 == 1 && gSpecialVar_0x8005 == 0) + { + gSpecialVar_Result = 3; + } + else + { + gSpecialVar_Result = 0; + } + } + gTasks[taskId].data[0]++; + } + break; + case 3: + if (sub_800A520() == TRUE) + { + if (GetMultiplayerId() != 0) + { + gTasks[taskId].data[0]++; + } + else + { + SendBlock(bitmask_all_link_players_but_self(), &gSpecialVar_Result, 2); + gTasks[taskId].data[0]++; + } + } + break; + case 4: + if ((GetBlockReceivedStatus() & 1) != 0) + { + if (GetMultiplayerId() != 0) + { + gSpecialVar_Result = gBlockRecvBuffer[0][0]; + ResetBlockReceivedFlag(0); + gTasks[taskId].data[0]++; + } + else + { + gTasks[taskId].data[0]++; + } + } + break; + case 5: + if (GetMultiplayerId() == 0) + { + if (gSpecialVar_Result == 2) + { + ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); + } + } + else + { + if (gSpecialVar_Result == 3) + { + ShowFieldAutoScrollMessage(gText_YourPartnerHasRetired); + } + } + gTasks[taskId].data[0]++; + break; + case 6: + if (!IsTextPrinterActive(0)) + { + gTasks[taskId].data[0]++; + } + break; + case 7: + if (sub_800A520() == 1) + { + sub_800ADF8(); + gTasks[taskId].data[0]++; + } + break; + case 8: + if (sub_800A520() == 1) + { + gTasks[taskId].data[0]++; + } + break; + case 9: + if (gWirelessCommType == 0) + { + sub_800AC34(); + } + gBattleTypeFlags = gUnknown_0203AB70; + EnableBothScriptContexts(); + DestroyTask(taskId); + break; + } +} + +void sub_813B7D8(void) +{ + if (gSpecialVar_0x8004 == 0) + { + DoRayquazaScene(0, TRUE, CB2_ReturnToFieldContinueScriptPlayMapMusic); + } + else + { + DoRayquazaScene(1, FALSE, CB2_ReturnToFieldContinueScriptPlayMapMusic); + } +} + +void sub_813B80C(void) +{ + CreateTask(sub_813B824, 8); + PlaySE(SE_W017); +} + +static void sub_813B824(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + data[1]++; + if (data[1] == gSpecialVar_0x8005) + { + data[0]++; + data[1] = 0; + PlaySE(SE_W017); + } + + if (data[0] == gSpecialVar_0x8004 - 1) + { + DestroyTask(taskId); + } +} + +void sub_813B880(void) +{ + u8 taskId = CreateTask(_fwalk, 8); + gTasks[taskId].data[0] = 4; + gTasks[taskId].data[1] = 4; + gTasks[taskId].data[2] = 4; + gTasks[taskId].data[3] = 0; +} + +static void _fwalk(u8 taskId) +{ + u8 x, y; + s16 *data = gTasks[taskId].data; + + data[data[3]]--; + if (data[data[3]] == 0) + { + for (y = 0; y < 4; y++) + { + for (x = 0; x < 3; x++) + { + MapGridSetMetatileIdAt(gSaveBlock1Ptr->pos.x + x + 6, gSaveBlock1Ptr->pos.y + y + 4, x + 0x201 + y * 8 + data[3] * 32); + } + } + DrawWholeMapView(); + data[3]++; + if (data[3] == 3) + { + DestroyTask(taskId); + EnableBothScriptContexts(); + } + } +} + +void sub_813B968(void) +{ + gSpecialVar_Result = gSpecialVar_0x8004 / 7; + gSpecialVar_Result -= (gSpecialVar_Result / 20) * 20; +} + +void sub_813B9A0(void) +{ + if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN)) + { + Overworld_SetHealLocationWarp(3); + } +} + +bool32 sub_813B9C0(void) +{ + static const u16 gUnknown_085B3444[] = { + MAP_OLDALE_TOWN_POKEMON_CENTER_1F, + MAP_DEWFORD_TOWN_POKEMON_CENTER_1F, + MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F, + MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F, + MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F, + MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F, + MAP_PETALBURG_CITY_POKEMON_CENTER_1F, + MAP_SLATEPORT_CITY_POKEMON_CENTER_1F, + MAP_MAUVILLE_CITY_POKEMON_CENTER_1F, + MAP_RUSTBORO_CITY_POKEMON_CENTER_1F, + MAP_FORTREE_CITY_POKEMON_CENTER_1F, + MAP_LILYCOVE_CITY_POKEMON_CENTER_1F, + MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F, + MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F, + MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F, + MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F, + MAP_SINGLE_BATTLE_COLOSSEUM, + MAP_TRADE_CENTER, + MAP_RECORD_CORNER, + MAP_DOUBLE_BATTLE_COLOSSEUM, + 0xffff + }; + + int i; + u16 map = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum; + + for (i = 0; gUnknown_085B3444[i] != 0xFFFF; i++) + { + if (gUnknown_085B3444[i] == map) + { + return TRUE; + } + } + return FALSE; +} + +void ResetFanClub(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = 0; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = 0; +} + +void sub_813BA30(void) +{ + if (sub_813BF44() != 0) + { + UpdateMovedLilycoveFanClubMembers(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + } +} + +void sub_813BA60(void) +{ + if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1)) + { + sub_813BF60(); + sub_813BD84(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + FlagClear(FLAG_HIDE_FANCLUB_OLD_LADY); + FlagClear(FLAG_HIDE_FANCLUB_BOY); + FlagClear(FLAG_HIDE_FANCLUB_LITTLE_BOY); + FlagClear(FLAG_HIDE_FANCLUB_LADY); + FlagClear(FLAG_0x2DA); + VarSet(VAR_LILYCOVE_FAN_CLUB_STATE, 1); + } +} + +u8 sub_813BADC(u8 a0) +{ + static const u8 gUnknown_085B3470[] = { 0x02, 0x01, 0x02, 0x01 }; + + if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) + { + if ((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F) + gUnknown_085B3470[a0] > 19) + { + if (GetNumMovedLilycoveFanClubMembers() < 3) + { + sub_813BB74(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] &= 0xFF80; + } + else + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] = (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0xFF80) | 0x14; + } + } + else + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] += gUnknown_085B3470[a0]; + } + } + + return gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F; +} + +static u16 sub_813BB74(void) +{ + static const u8 gUnknown_085B3474[] = { 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }; + + u8 i; + u8 retVal = 0; + + for (i = 0; i < 8; i++) + { + if (!((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B3474[i]) & 1)) + { + retVal = i; + if ((Random() & 1) != 0) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; + return retVal; + } + } + } + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 1 << gUnknown_085B3474[retVal]; + return retVal; +} + +static u16 sub_813BC00(void) +{ + static const u8 gUnknown_085B347C[] = { 0x08, 0x0d, 0x0e, 0x0b, 0x0a, 0x0c, 0x0f, 0x09 }; + + u8 i; + u8 retVal = 0; + + if (GetNumMovedLilycoveFanClubMembers() == 1) + { + return 0; + } + + for (i = 0; i < 8; i++) + { + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[i]) & 1) != 0) + { + retVal = i; + if ((Random() & 1) != 0) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; + return retVal; + } + } + } + + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[retVal]) & 1)) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal]; + } + + return retVal; +} + +u16 GetNumMovedLilycoveFanClubMembers(void) +{ + u8 i; + u8 retVal = 0; + + for (i = 0; i < 8; i++) + { + if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> (i + 8)) & 1) != 0) + { + retVal++; + } + } + + return retVal; +} + +void UpdateMovedLilycoveFanClubMembers(void) +{ + u8 i = 0; + if (gSaveBlock2Ptr->playTimeHours < 999) + { + while (TRUE) + { + if (GetNumMovedLilycoveFanClubMembers() < 5) + { + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] = gSaveBlock2Ptr->playTimeHours; + break; + } + else if (i == 8) + { + break; + } + else if (gSaveBlock2Ptr->playTimeHours - gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] < 12) + { + return; + } + sub_813BC00(); + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_2 - VARS_START] += 12; + i++; + } + } +} + +bool8 ShouldMoveLilycoveFanClubMember(void) +{ + return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gSpecialVar_0x8004) & 1; +} + +static void sub_813BD84(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x2000; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x100; + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x400; +} + +void BufferStreakTrainerText(void) +{ + u8 a = 0; + u8 b = 0; + switch (gSpecialVar_0x8004) + { + case 8: + break; + case 9: + break; + case 10: + a = 0; + b = 3; + break; + case 11: + a = 0; + b = 1; + break; + case 12: + a = 1; + b = 0; + break; + case 13: + a = 0; + b = 4; + break; + case 14: + a = 1; + b = 5; + break; + case 15: + break; + } + sub_813BE30(&gSaveBlock1Ptr->linkBattleRecords, a, b); +} + +static void sub_813BE30(struct LinkBattleRecords *linkRecords, u8 a, u8 b) +{ + struct LinkBattleRecord *record = &linkRecords->entries[a]; + if (record->name[0] == EOS) + { + switch (b) + { + case 0: + StringCopy(gStringVar1, gText_Wallace); + break; + case 1: + StringCopy(gStringVar1, gText_Steven); + break; + case 2: + StringCopy(gStringVar1, gText_Brawly); + break; + case 3: + StringCopy(gStringVar1, gText_Winona); + break; + case 4: + StringCopy(gStringVar1, gText_Phoebe); + break; + case 5: + StringCopy(gStringVar1, gText_Glacia); + break; + default: + StringCopy(gStringVar1, gText_Wallace); + break; + } + } + else + { + StringCopyN(gStringVar1, record->name, 7); + gStringVar1[7] = EOS; + ConvertInternationalString(gStringVar1, linkRecords->languages[a]); + } +} + +void sub_813BF10(void) +{ + if (VarGet(VAR_LILYCOVE_FAN_CLUB_STATE) == 2) + { + sub_813BA30(); + if (gBattleOutcome == 1) + { + sub_813BB74(); + } + else + { + sub_813BC00(); + } + } +} + +static bool8 sub_813BF44(void) +{ + return (gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> 7) & 1; +} + +void sub_813BF60(void) +{ + gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] |= 0x80; +} + +u8 sub_813BF7C(void) +{ + return sub_813BADC(gSpecialVar_0x8004); +} diff --git a/src/heal_location.c b/src/heal_location.c index aa90fe1ae..b378e8e8c 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -1,83 +1,37 @@ - -// Includes #include "global.h" -#include "constants/maps.h" #include "heal_location.h" +#include "constants/maps.h" -#define HEAL_LOCATION(map, x, y) {MAP_GROUP(map), MAP_NUM(map), x, y} - -// Static type declarations - -// Static RAM declarations - -// Static ROM declarations - -// .rodata - -static const struct HealLocation sHealLocations[] = { - HEAL_LOCATION(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 4, 2), - HEAL_LOCATION(LITTLEROOT_TOWN_MAYS_HOUSE_2F, 4, 2), - HEAL_LOCATION(PETALBURG_CITY, 20, 17), - HEAL_LOCATION(SLATEPORT_CITY, 19, 20), - HEAL_LOCATION(MAUVILLE_CITY, 22, 6), - HEAL_LOCATION(RUSTBORO_CITY, 16, 39), - HEAL_LOCATION(FORTREE_CITY, 5, 7), - HEAL_LOCATION(LILYCOVE_CITY, 24, 15), - HEAL_LOCATION(MOSSDEEP_CITY, 28, 17), - HEAL_LOCATION(SOOTOPOLIS_CITY, 43, 32), - HEAL_LOCATION(EVER_GRANDE_CITY, 27, 49), - HEAL_LOCATION(LITTLEROOT_TOWN, 5, 9), - HEAL_LOCATION(LITTLEROOT_TOWN, 14, 9), - HEAL_LOCATION(OLDALE_TOWN, 6, 17), - HEAL_LOCATION(DEWFORD_TOWN, 2, 11), - HEAL_LOCATION(LAVARIDGE_TOWN, 9, 7), - HEAL_LOCATION(FALLARBOR_TOWN, 14, 8), - HEAL_LOCATION(VERDANTURF_TOWN, 16, 4), - HEAL_LOCATION(PACIFIDLOG_TOWN, 8, 16), - HEAL_LOCATION(EVER_GRANDE_CITY, 18, 6), - HEAL_LOCATION(SOUTHERN_ISLAND_EXTERIOR, 15, 20), - HEAL_LOCATION(BATTLE_FRONTIER_OUTSIDE_EAST, 3, 52) -}; - -#define NUM_HEAL_LOCATIONS (ARRAY_COUNT(sHealLocations)) - -// .text +#include "data/heal_locations.h" -static u32 GetHealLocationIndexFromMapGroupAndNum(u16 mapGroup, u16 mapNum) +u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) { u32 i; - for (i = 0; i < NUM_HEAL_LOCATIONS; i++) + for (i = 0; i < ARRAY_COUNT(sHealLocations); i++) { if (sHealLocations[i].group == mapGroup && sHealLocations[i].map == mapNum) - { return i + 1; - } } return 0; } -const struct HealLocation *GetHealLocationPointerFromMapGroupAndNum(u16 mapGroup, u16 mapNum) +const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) { - u32 loc; + u32 index = GetHealLocationIndexByMap(mapGroup, mapNum); - loc = GetHealLocationIndexFromMapGroupAndNum(mapGroup, mapNum); - if (loc == 0) - { + if (index == 0) return NULL; - } - return &sHealLocations[loc - 1]; + else + return &sHealLocations[index - 1]; } -const struct HealLocation *GetHealLocationPointer(u32 loc) +const struct HealLocation *GetHealLocation(u32 index) { - if (loc == 0) - { + if (index == 0) return NULL; - } - if (loc > NUM_HEAL_LOCATIONS) - { + else if (index > ARRAY_COUNT(sHealLocations)) return NULL; - } - return &sHealLocations[loc - 1]; + else + return &sHealLocations[index - 1]; } diff --git a/src/item_menu.c b/src/item_menu.c index a05ca169b..d134e6375 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -301,7 +301,7 @@ void sub_81AABB0(void) void CB2_ChooseBerry(void) { - GoToBagMenu(4, 3, sub_80861B0); + GoToBagMenu(4, 3, CB2_ReturnToFieldContinueScript); } void sub_81AABF0(void(*callback)(void)) diff --git a/src/link.c b/src/link.c index ca9a5bb13..b729f86eb 100644 --- a/src/link.c +++ b/src/link.c @@ -304,7 +304,7 @@ void LinkTestScreen(void) void sub_8009628(u8 a0) { - gLocalLinkPlayer.lp_field_18 = a0; + gLocalLinkPlayer.id = a0; } static void InitLocalLinkPlayer(void) diff --git a/src/link_rfu.c b/src/link_rfu.c index 37aa20950..29256899d 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2126,7 +2126,7 @@ void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, int r for (i = 0; i < 2; i++) { - data->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; + data->unk_00.playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; } for (i = 0; i < 4; i++) { @@ -2136,14 +2136,14 @@ void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, int r data->playerGender = gSaveBlock2Ptr->playerGender; data->unk_0a_0 = r9; data->unk_0a_7 = r2; - data->unk_00_0 = 2; - data->unk_01_2 = 3; - data->unk_00_4 = 0; - data->unk_00_5 = 0; - data->unk_00_6 = 0; - data->unk_00_7 = FlagGet(FLAG_0x87F); - data->unk_01_0 = IsNationalPokedexEnabled(); - data->unk_01_1 = FlagGet(FLAG_SYS_GAME_CLEAR); + data->unk_00.unk_00_0 = 2; + data->unk_00.unk_01_2 = 3; + data->unk_00.unk_00_4 = 0; + data->unk_00.unk_00_5 = 0; + data->unk_00.unk_00_6 = 0; + data->unk_00.unk_00_7 = FlagGet(FLAG_0x87F); + data->unk_00.unk_01_0 = IsNationalPokedexEnabled(); + data->unk_00.unk_01_1 = FlagGet(FLAG_SYS_GAME_CLEAR); } bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx) @@ -2155,12 +2155,12 @@ bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx) retVal = TRUE; if (sub_8010454(gUnknown_03007890->unk_14[idx].unk_04) && ((gUnknown_03007890->unk_07 >> idx) & 1)) { - memcpy(buff1, &gUnknown_03007890->unk_14[idx].unk_06, sizeof(gUnknown_03007890->unk_14[idx].unk_06)); + memcpy(buff1, &gUnknown_03007890->unk_14[idx].unk_06, 0xD); memcpy(buff2, gUnknown_03007890->unk_14[idx].unk_15, sizeof(gUnknown_03007890->unk_14[idx].unk_15)); } else { - memset(buff1, 0, sizeof(gUnknown_03007890->unk_14[idx].unk_06)); + memset(buff1, 0, 0xD); memset(buff2, 0, sizeof(gUnknown_03007890->unk_14[idx].unk_15)); } } @@ -2169,12 +2169,12 @@ bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx) retVal = FALSE; if (sub_8010454(gUnknown_03007890->unk_14[idx].unk_04)) { - memcpy(buff1, &gUnknown_03007890->unk_14[idx].unk_06, sizeof(gUnknown_03007890->unk_14[idx].unk_06)); + memcpy(buff1, &gUnknown_03007890->unk_14[idx].unk_06, 0xD); memcpy(buff2, gUnknown_03007890->unk_14[idx].unk_15, sizeof(gUnknown_03007890->unk_14[idx].unk_15)); } else { - memset(buff1, 0, sizeof(gUnknown_03007890->unk_14[idx].unk_06)); + memset(buff1, 0, 0xD); memset(buff2, 0, sizeof(gUnknown_03007890->unk_14[idx].unk_15)); } } @@ -2850,7 +2850,7 @@ void sub_800EF38(void) gUnknown_03005000.unk_ce7 = gUnknown_03004140.unk_00; } -bool8 sub_800EF58(bool32 a0) +bool32 sub_800EF58(bool32 a0) { if (gUnknown_03005000.unk_04 == 17 || a0) { @@ -4104,7 +4104,7 @@ bool8 sub_8010540(void) return retval; } -bool8 sub_80105EC(void) +bool32 sub_80105EC(void) { u8 flags = 0; int i; @@ -4129,7 +4129,7 @@ bool8 sub_80105EC(void) return FALSE; } -bool8 sub_801064C(u16 a0, const u8 *a1) +bool32 sub_801064C(u16 a0, const u8 *a1) { u8 r1 = sub_8011CE4(a1, a0); if (r1 == 0xFF) @@ -4154,14 +4154,14 @@ void sub_80106D4(void) rfu_NI_setSendData(1 << gUnknown_03005000.unk_c3e, 8, &gUnknown_03005000.unk_c85, 1); } -u8 sub_8010714(u16 a0, const u8 *a1) +u32 sub_8010714(u16 a0, const u8 *a1) { u8 r0 = sub_8011CE4(a1, a0); if (r0 == 0xff) return 2; if (gUnknown_03007880[r0]->unk_0 == 0) - return TRUE; - return FALSE; + return 1; + return 0; } void sub_8010750(void) @@ -4512,14 +4512,14 @@ void sub_8010F84(u8 a0, u32 a1, u32 a2) void sub_8010FA0(bool32 a0, bool32 a1) { - gUnknown_02022B14.unk_00_4 = a0; - gUnknown_02022B14.unk_00_5 = a1; + gUnknown_02022B14.unk_00.unk_00_4 = a0; + gUnknown_02022B14.unk_00.unk_00_5 = a1; } void sub_8010FCC(u32 a0, u32 a1, u32 a2) { - gUnknown_02022B14.unk_09_2 = a0; - gUnknown_02022B14.unk_08_0 = a1; + gUnknown_02022B14.type = a0; + gUnknown_02022B14.species = a1; gUnknown_02022B14.unk_0b_1 = a2; } diff --git a/src/list_menu.c b/src/list_menu.c index 933d9835f..6b5c3af94 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -39,7 +39,7 @@ struct UnkIndicatorsStruct struct ScrollIndicatorPair { u8 field_0; - u16 *currItemPtr; + u16 *scrollOffset; u16 fullyUpThreshold; u16 fullyDownThreshold; u8 topSpriteId; @@ -1064,7 +1064,7 @@ static u8 AddScrollIndicatorArrowObject(u8 arrowDir, u8 x, u8 y, u16 tileTag, u1 #undef tFrequency #undef tSinePos -u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 *currItemPtr) +u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 *scrollOffset) { struct CompressedSpriteSheet spriteSheet; struct SpritePalette spritePal; @@ -1091,7 +1091,7 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 data = (void*) gTasks[taskId].data; data->field_0 = 0; - data->currItemPtr = currItemPtr; + data->scrollOffset = scrollOffset; data->fullyUpThreshold = arrowInfo->fullyUpThreshold; data->fullyDownThreshold = arrowInfo->fullyDownThreshold; data->tileTag = arrowInfo->tileTag; @@ -1108,7 +1108,7 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 return taskId; } -u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *currItemPtr) +u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *scrollOffset) { if (arrowType == SCROLL_ARROW_UP || arrowType == SCROLL_ARROW_DOWN) { @@ -1135,13 +1135,13 @@ u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 fi gTempScrollArrowTemplate.palTag = palTag; gTempScrollArrowTemplate.palNum = 0; - return AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, currItemPtr); + return AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, scrollOffset); } static void Task_ScrollIndicatorArrowPair(u8 taskId) { struct ScrollIndicatorPair *data = (void*) gTasks[taskId].data; - u16 currItem = (*data->currItemPtr); + u16 currItem = (*data->scrollOffset); if (currItem == data->fullyUpThreshold && currItem != 0xFFFF) gSprites[data->topSpriteId].invisible = TRUE; diff --git a/src/load_save.c b/src/load_save.c index 0c6df7662..005af7c42 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -38,7 +38,7 @@ EWRAM_DATA struct PokemonStorage gPokemonStorage = {0}; EWRAM_DATA u8 gSaveblock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0}; EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0}; -EWRAM_DATA u32 gLastEncryptionKey = {0}; +EWRAM_DATA u32 gLastEncryptionKey = 0; // IWRAM common IWRAM_DATA bool32 gFlashMemoryPresent; diff --git a/src/main_menu.c b/src/main_menu.c index 87673c9b2..3afe1abe5 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1965,7 +1965,7 @@ void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f) { struct WindowTemplate sp; - sp = sub_8198A50(0, a + 1, b + 1, 5, 4, f, d); + sp = CreateWindowTemplate(0, a + 1, b + 1, 5, 4, f, d); CreateYesNoMenu(&sp, c, e, 0); } diff --git a/src/match_call.c b/src/match_call.c index aa6945161..99eb6d65a 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -360,7 +360,7 @@ MATCHCALLDEF(sMomMatchCallHeader, 0, 0, FLAG_0x0D8, gMomMatchCallDesc, gMomMatch static const match_call_text_data_t sStevenTextScripts[] = { { gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff }, - { gText_Steven_Pokenav_2B5C53, FLAG_0x0C7, 0xffff }, + { gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff }, { gText_Steven_Pokenav_2B5CC9, FLAG_0x0D4, 0xffff }, { gText_Steven_Pokenav_2B5DB4, FLAG_0x070, 0xffff }, { gText_Steven_Pokenav_2B5E26, FLAG_0x4F6, 0xffff }, @@ -415,7 +415,7 @@ MATCHCALLDEF(sBrendanMatchCallHeader, 4, FEMALE, FLAG_0x0FD, gMayBrendanMatchCal static const match_call_text_data_t sWallyTextScripts[] = { { gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF }, - { gText_Wally_Pokenav_2B4E57, FLAG_0x0C7, 0xFFFF }, + { gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF }, { gText_Wally_Pokenav_2B4EA5, FLAG_0x4F3, 0xFFFF }, { gText_Wally_Pokenav_2B4F41, FLAG_0x097, 0xFFFF }, { gText_Wally_Pokenav_2B4FF3, FLAG_0x06F, 0xFFFF }, diff --git a/src/menu.c b/src/menu.c index 96dda3075..f4ffec023 100644 --- a/src/menu.c +++ b/src/menu.c @@ -120,7 +120,6 @@ extern void DrawWindowBorder(u8, u8, u8, u8, u8, u8); extern void sub_81980A8(u8, u8, u8, u8, u8, u8); extern u8 MoveMenuCursor(s8); extern u8 sub_8199134(s8, s8); -extern void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); extern void sub_8198C78(void); extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); @@ -1143,7 +1142,7 @@ void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 template->baseBlock = baseBlock; } -struct WindowTemplate sub_8198A50(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) +struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) { struct WindowTemplate template; SetWindowTemplateFields(&template, bg, left, top, width, height, paletteNum, baseBlock); diff --git a/src/overworld.c b/src/overworld.c index 9cbc8dc52..d85af9e4d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -689,7 +689,7 @@ void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused) void sub_8084CCC(u8 a1) { - const struct HealLocation *warp = GetHealLocationPointer(a1); + const struct HealLocation *warp = GetHealLocation(a1); if (warp) Overworld_SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y); @@ -702,7 +702,7 @@ void Overworld_SetWarpDestToLastHealLoc(void) void Overworld_SetHealLocationWarp(u8 healLocationId) { - const struct HealLocation *healLocation = GetHealLocationPointer(healLocationId); + const struct HealLocation *healLocation = GetHealLocation(healLocationId); if (healLocation != NULL) SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y); @@ -761,7 +761,7 @@ void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) void sub_8084F6C(u8 a1) { - const struct HealLocation *warp = GetHealLocationPointer(a1); + const struct HealLocation *warp = GetHealLocation(a1); if (warp) SetWarpData(&gSaveBlock1Ptr->warp1, warp->group, warp->map, -1, warp->x, warp->y); } @@ -1689,14 +1689,14 @@ void CB2_ReturnToFieldWithOpenMenu(void) CB2_ReturnToField(); } -void sub_80861B0(void) +void CB2_ReturnToFieldContinueScript(void) { FieldClearVBlankHBlankCallbacks(); gFieldCallback = sub_80AF188; CB2_ReturnToField(); } -void CB2_ReturnToFieldContinueScript(void) +void CB2_ReturnToFieldContinueScriptPlayMapMusic(void) { FieldClearVBlankHBlankCallbacks(); gFieldCallback = sub_80AF168; diff --git a/src/pokedex.c b/src/pokedex.c index 37e0515bd..0d73a9fe1 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -812,7 +812,7 @@ const struct WindowTemplate sWindowTemplates_0855D2A8[] = DUMMY_WIN_TEMPLATE }; -const u8 gUnknown_0855D2B8[] = _("{UNK_CTRL_F9 8}000"); +const u8 gUnknown_0855D2B8[] = _("{NO}000"); const u8 gUnknown_0855D2BE[] = INCBIN_U8("graphics/pokedex/caught_ball.4bpp"); const u8 sText_TenDashes[] = _("----------"); diff --git a/src/pokemon.c b/src/pokemon.c index c572ee10e..7c010cd39 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1752,7 +1752,7 @@ bool8 sub_80688F8(u8 caseId, u8 battlerId) return FALSE; if (!gMain.inBattle) return FALSE; - if (gLinkPlayers[GetMultiplayerId()].lp_field_18 == battlerId) + if (gLinkPlayers[GetMultiplayerId()].id == battlerId) return FALSE; break; case 2: @@ -1774,7 +1774,7 @@ bool8 sub_80688F8(u8 caseId, u8 battlerId) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (gLinkPlayers[GetMultiplayerId()].lp_field_18 == battlerId) + if (gLinkPlayers[GetMultiplayerId()].id == battlerId) return FALSE; } else @@ -2089,7 +2089,7 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) s32 level = GetLevelFromBoxMonExp(boxMon); s32 i; - for (i = 0; gLevelUpLearnsets[species][i] != (u16)-1; i++) + for (i = 0; gLevelUpLearnsets[species][i] != LEVEL_UP_END; i++) { u16 moveLevel; u16 move; @@ -2101,7 +2101,7 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) move = (gLevelUpLearnsets[species][i] & 0x1FF); - if (GiveMoveToBoxMon(boxMon, move) == (u16)-1) + if (GiveMoveToBoxMon(boxMon, move) == 0xFFFF) DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, move); } } @@ -2123,7 +2123,7 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) while ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) != (level << 9)) { sLearningMoveTableID++; - if (gLevelUpLearnsets[species][sLearningMoveTableID] == 0xFFFF) + if (gLevelUpLearnsets[species][sLearningMoveTableID] == LEVEL_UP_END) return 0; } } @@ -4806,7 +4806,7 @@ void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies) bool8 sub_806D7EC(void) { bool8 retVal = FALSE; - switch (gLinkPlayers[GetMultiplayerId()].lp_field_18) + switch (gLinkPlayers[GetMultiplayerId()].id) { case 0: case 3: @@ -4823,7 +4823,7 @@ bool8 sub_806D7EC(void) u16 GetLinkTrainerFlankId(u8 linkPlayerId) { u16 flankId = 0; - switch (gLinkPlayers[linkPlayerId].lp_field_18) + switch (gLinkPlayers[linkPlayerId].id) { case 0: case 3: @@ -4841,7 +4841,7 @@ s32 GetBattlerMultiplayerId(u16 a1) { s32 id; for (id = 0; id < MAX_LINK_PLAYERS; id++) - if (gLinkPlayers[id].lp_field_18 == a1) + if (gLinkPlayers[id].id == a1) break; return id; } @@ -5694,7 +5694,7 @@ const u8 *GetTrainerPartnerName(void) else { u8 id = GetMultiplayerId(); - return gLinkPlayers[GetBattlerMultiplayerId(gLinkPlayers[id].lp_field_18 ^ 2)].name; + return gLinkPlayers[GetBattlerMultiplayerId(gLinkPlayers[id].id ^ 2)].name; } } @@ -5824,7 +5824,7 @@ u8 sub_806EF08(u8 arg0) s32 i; s32 var = 0; u8 multiplayerId = GetMultiplayerId(); - switch (gLinkPlayers[multiplayerId].lp_field_18) + switch (gLinkPlayers[multiplayerId].id) { case 0: case 2: @@ -5837,7 +5837,7 @@ u8 sub_806EF08(u8 arg0) } for (i = 0; i < 4; i++) { - if (gLinkPlayers[i].lp_field_18 == (s16)(var)) + if (gLinkPlayers[i].id == (s16)(var)) break; } return i; @@ -5847,7 +5847,7 @@ u8 sub_806EF84(u8 arg0, u8 arg1) { s32 i; s32 var = 0; - switch (gLinkPlayers[arg1].lp_field_18) + switch (gLinkPlayers[arg1].id) { case 0: case 2: @@ -5860,7 +5860,7 @@ u8 sub_806EF84(u8 arg0, u8 arg1) } for (i = 0; i < 4; i++) { - if (gLinkPlayers[i].lp_field_18 == (s16)(var)) + if (gLinkPlayers[i].id == (s16)(var)) break; } return i; diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 7f8c24ab7..7c622c223 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -7,17 +7,49 @@ #include "text.h" #include "strings.h" #include "window.h" +#include "menu.h" +#include "bg.h" +#include "main.h" +#include "palette.h" +#include "overworld.h" +#include "field_screen.h" +#include "field_weather.h" +#include "script.h" +#include "international_string_util.h" +#include "walda_phrase.h" +#include "sound.h" +#include "gpu_regs.h" +#include "constants/songs.h" IWRAM_DATA u8 gUnknown_03000F78[0x188]; -struct OptionAndDescription -{ - const u8 *optionTxt; - const u8 *descriptionTxt; -}; +extern const u8 gText_PartyFull[]; +extern const u8 gText_Box[]; +extern const u8 gText_JustOnePkmn[]; + +extern u8 gUnknown_02039D00; + +// This file's functions. +void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr); +void sub_80C7D74(u8); +u8 sub_80CAEA0(void); +void SetBoxWallpaper(u8 boxId, u8 wallpaperId); +void SetCurrentBox(u8 boxId); +void ClearMonInBox(u8 boxId, u8 boxPos); +void ResetWaldaWallpaper(void); +void sub_80C7958(u8 curBox); +void sub_80C7B14(void); +void sub_80C7BB4(void); +void sub_80CA028(void); +void sub_80C7B80(void); +void sub_80D2AA4(void); +void sub_80C7BE4(void); +void sub_80CAA14(void); +void sub_80C7CF4(struct Sprite *sprite); +struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority); // const rom data -const struct OptionAndDescription gUnknown_085716C0[] = +const struct PSS_MenuStringPtrs gUnknown_085716C0[] = { {gText_WithdrawPokemon, gText_WithdrawMonDescription}, {gText_DepositPokemon, gText_DepositMonDescription}, @@ -74,6 +106,10 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] = const u8 gUnknown_08571734[] = {4, 0xF, 0xE}; const u8 gUnknown_08571737[] = _("/30"); +const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/unknown/unknown_57173C.gbapal"); +const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp"); +const u8 gBoxSelectionPopupSidesTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp"); + // code u8 CountMonsInBox(u8 boxId) { @@ -166,24 +202,473 @@ static u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n) return str; } -/* can't match -static void sub_80C7128(u16 *dst, u16 dstToAdd, u16 dstToMul, const u16 *src, u16 srcToAdd, u16 srcToMul, u32 size, u16 count, u16 srcBy) +static void sub_80C7128(u16 *dest, u16 dest_left, u16 dest_top, const u16 *src, u16 src_left, u16 src_top, u16 dest_width, u16 dest_height, u16 src_width) +{ + u16 i; + + dest_width *= 2; + dest += dest_top * 0x20 + dest_left; + src += src_top * src_width + src_left; + for (i = 0; i < dest_height; i++) + { + CpuCopy16(src, dest, dest_width); + dest += 0x20; + src += src_width; + } +} + +#define MAX_DMA_BLOCK_SIZE 0x1000 +#define Dma3FillLarge_(value, dest, size, bit) \ +{ \ + void *_dest = dest; \ + u32 _size = size; \ + while (1) \ + { \ + if (_size <= MAX_DMA_BLOCK_SIZE) \ + { \ + DmaFill##bit(3, value, _dest, _size); \ + break; \ + } \ + DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \ + _dest += MAX_DMA_BLOCK_SIZE; \ + _size -= MAX_DMA_BLOCK_SIZE; \ + } \ +} + +#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16) +#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32) + +void sub_80C71A4(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height) +{ + u16 i; + + dest += dest_top * 0x20 + dest_left; + width *= 2; + for (i = 0; i < height; dest += 0x20, i++) + Dma3FillLarge16_(0, dest, width); +} + +void Task_PokemonStorageSystem(u8 taskId) +{ + struct Task *task = gTasks + taskId; + switch (task->data[0]) + { + case 0: + StorageSystemCreatePrimaryMenu(task->data[1], &task->data[15]); + sub_81973A4(); + NewMenuHelpers_DrawDialogueFrame(0, 0); + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, TEXT_SPEED_FF, NULL, 2, 1, 3); + CopyWindowToVram(0, 3); + CopyWindowToVram(task->data[15], 3); + task->data[0]++; + break; + case 1: + if (IsWeatherNotFadingIn()) + { + task->data[0]++; + } + break; + case 2: + task->data[2] = ProcessMenuInput(); + switch(task->data[2]) + { + case -2: + task->data[3] = task->data[1]; + if (gMain.newKeys & DPAD_UP && --task->data[3] < 0) + task->data[3] = 4; + + if (gMain.newKeys & DPAD_DOWN && ++task->data[3] > 4) + task->data[3] = 0; + if (task->data[1] != task->data[3]) + { + task->data[1] = task->data[3]; + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + } + break; + case -1: + case 4: + sub_819746C(task->data[15], TRUE); + ScriptContext2_Disable(); + EnableBothScriptContexts(); + RemoveWindow(task->data[15]); + DestroyTask(taskId); + break; + default: + if (task->data[2] == 0 && CountPartyMons() == PARTY_SIZE) + { + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gText_PartyFull, 0, NULL, 2, 1, 3); + task->data[0] = 3; + } + else if (task->data[2] == 1 && CountPartyMons() == 1) + { + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gText_JustOnePkmn, 0, NULL, 2, 1, 3); + task->data[0] = 3; + } + else + { + FadeScreen(1, 0); + task->data[0] = 4; + } + break; + } + break; + case 3: + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + task->data[0] = 2; + } + else if (gMain.newKeys & DPAD_UP) + { + if (--task->data[1] < 0) + task->data[1] = 4; + MoveMenuCursor(-1); + task->data[1] = GetMenuCursorPos(); + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + task->data[0] = 2; + } + else if (gMain.newKeys & DPAD_DOWN) + { + if (++task->data[1] > 3) + task->data[1] = 0; + MoveMenuCursor(1); + task->data[1] = GetMenuCursorPos(); + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3); + task->data[0] = 2; + } + break; + case 4: + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + sub_80C7D74(task->data[2]); + RemoveWindow(task->data[15]); + DestroyTask(taskId); + } + break; + } +} + +void ShowPokemonStorageSystem(void) +{ + u8 taskId = CreateTask(Task_PokemonStorageSystem, 80); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + ScriptContext2_Enable(); +} + +void mapldr_0808C6D8(void) +{ + u8 taskId; + MainCallback vblankCb = gMain.vblankCallback; + + SetVBlankCallback(NULL); + taskId = CreateTask(Task_PokemonStorageSystem, 80); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = gUnknown_02039D00; + Task_PokemonStorageSystem(taskId); + SetVBlankCallback(vblankCb); + pal_fill_black(); +} + +void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr) +{ + s16 windowId; + struct WindowTemplate winTemplate = gUnknown_085716E8; + winTemplate.width = GetMaxWidthInMenuTable((void *)gUnknown_085716C0, ARRAY_COUNT(gUnknown_085716C0)); + windowId = AddWindow(&winTemplate); + + NewMenuHelpers_DrawStdWindowFrame(windowId, FALSE); + PrintMenuTable(windowId, ARRAY_COUNT(gUnknown_085716C0), (void *)gUnknown_085716C0); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, ARRAY_COUNT(gUnknown_085716C0), whichMenu); + *windowIdPtr = windowId; +} + +void sub_80C7678(void) +{ + gUnknown_02039D00 = sub_80CAEA0(); + gFieldCallback = mapldr_0808C6D8; + SetMainCallback2(CB2_ReturnToField); +} + +s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx, u8 mode) +{ + s16 i; + s16 direction; + if (mode == 0 || mode == 1) + { + direction = 1; + } + else + { + direction = -1; + } + if (mode == 1 || mode == 3) + { + for (i = startIdx + direction; i >= 0 && i <= stopIdx; i += direction) + { + if (GetBoxMonData(box + i, MON_DATA_SPECIES) != 0) + return i; + } + } + else + { + for (i = startIdx + direction; i >= 0 && i <= stopIdx; i += direction) + { + if (GetBoxMonData(box + i, MON_DATA_SPECIES) != 0 && !GetBoxMonData(box + i, MON_DATA_IS_EGG)) + return i; + } + } + return -1; +} + +void ResetPokemonStorageSystem(void) +{ + u16 boxId; + u16 boxMon; + + SetCurrentBox(0); + for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) + { + for (boxMon = 0; boxMon < IN_BOX_COUNT; boxMon++) + ClearMonInBox(boxId, boxMon); + } + for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) + { + u8 *dest = StringCopy(GetBoxNamePtr(boxId), gText_Box); + ConvertIntToDecimalStringN(dest, boxId + 1, STR_CONV_MODE_LEFT_ALIGN, 2); + } + for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) + { + SetBoxWallpaper(boxId, boxId % 4); + } + ResetWaldaWallpaper(); +} + +void sub_80C77E8(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal) +{ + struct SpritePalette palette = + { + gBoxSelectionPopupPalette, palTag + }; + struct SpriteSheet sheets[] = + { + {gBoxSelectionPopupCenterTiles, 0x800, tileTag}, + {gBoxSelectionPopupSidesTiles, 0x180, tileTag + 1}, + {} + }; + + if (loadPal) + LoadSpritePalette(&palette); + + LoadSpriteSheets(sheets); + gUnknown_02039D04 = a0; + a0->unk_0240 = tileTag; + a0->unk_0242 = palTag; + a0->unk_0246 = a3; + a0->unk_023c = loadPal; +} + +void sub_80C7890(void) +{ + if (gUnknown_02039D04->unk_023c) + FreeSpritePaletteByTag(gUnknown_02039D04->unk_0242); + FreeSpriteTilesByTag(gUnknown_02039D04->unk_0240); + FreeSpriteTilesByTag(gUnknown_02039D04->unk_0240 + 1); +} + +void sub_80C78D4(u8 curBox) +{ + sub_80C7958(curBox); +} + +void sub_80C78E4(void) +{ + sub_80C7B14(); +} + +u8 sub_80C78F0(void) +{ + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + return 201; + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_02039D04->curBox; + } + if (gMain.newKeys & DPAD_LEFT) + { + PlaySE(SE_SELECT); + sub_80C7BB4(); + } + else if (gMain.newKeys & DPAD_RIGHT) + { + PlaySE(SE_SELECT); + sub_80C7B80(); + } + return 200; +} + +void sub_80C7958(u8 curBox) { u16 i; + u8 spriteId; + struct SpriteTemplate template; + struct OamData oamData = {}; + oamData.size = 3; + oamData.paletteNum = 1; + template = (struct SpriteTemplate){ + 0, 0, &oamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + }; + + gUnknown_02039D04->curBox = curBox; + template.tileTag = gUnknown_02039D04->unk_0240; + template.paletteTag = gUnknown_02039D04->unk_0242; + + spriteId = CreateSprite(&template, 0xA0, 0x60, 0); + gUnknown_02039D04->unk_0000 = gSprites + spriteId; + + oamData.shape = ST_OAM_V_RECTANGLE; + oamData.size = 1; + template.tileTag = gUnknown_02039D04->unk_0240 + 1; + template.anims = sSpriteAnimTable_8571710; + for (i = 0; i < 4; i++) + { + u16 r5; + spriteId = CreateSprite(&template, 0x7c, 0x50, gUnknown_02039D04->unk_0246); + gUnknown_02039D04->unk_0004[i] = gSprites + spriteId; + r5 = 0; + if (i & 2) + { + gUnknown_02039D04->unk_0004[i]->pos1.x = 0xc4; + r5 = 2; + } + if (i & 1) + { + gUnknown_02039D04->unk_0004[i]->pos1.y = 0x70; + gUnknown_02039D04->unk_0004[i]->oam.size = 0; + r5++; + } + StartSpriteAnim(gUnknown_02039D04->unk_0004[i], r5); + } + for (i = 0; i < 2; i++) + { + gUnknown_02039D04->unk_0020[i] = sub_80CD2E8(72 * i + 0x7c, 0x58, i, 0, gUnknown_02039D04->unk_0246); + if (gUnknown_02039D04->unk_0020[i]) + { + gUnknown_02039D04->unk_0020[i]->data[0] = (i == 0 ? -1 : 1); + gUnknown_02039D04->unk_0020[i]->callback = sub_80C7CF4; + } + } + sub_80C7BE4(); +} + +void sub_80C7B14(void) +{ + u16 i; + if (gUnknown_02039D04->unk_0000) + { + DestroySprite(gUnknown_02039D04->unk_0000); + gUnknown_02039D04->unk_0000 = NULL; + } + for (i = 0; i < 4; i++) + { + if (gUnknown_02039D04->unk_0004[i]) + { + DestroySprite(gUnknown_02039D04->unk_0004[i]); + gUnknown_02039D04->unk_0004[i] = NULL; + } + } + for (i = 0; i < 2; i++) + { + if (gUnknown_02039D04->unk_0020[i]) + DestroySprite(gUnknown_02039D04->unk_0020[i]); + } +} - size <<= 0x11; - dst += (dstToMul * 32) + dstToAdd; - src += (srcToMul * srcBy) + srcToAdd; +void sub_80C7B80(void) +{ + if (++gUnknown_02039D04->curBox >= TOTAL_BOXES_COUNT) + gUnknown_02039D04->curBox = 0; + sub_80C7BE4(); +} + +void sub_80C7BB4(void) +{ + gUnknown_02039D04->curBox = (gUnknown_02039D04->curBox == 0 ? TOTAL_BOXES_COUNT - 1 : gUnknown_02039D04->curBox - 1); + sub_80C7BE4(); +} - i = 0; - if (i < count) +void sub_80C7BE4(void) +{ + u8 text[16]; + struct WindowTemplate winTemplate; + u8 windowId; + u8 *boxName = GetBoxNamePtr(gUnknown_02039D04->curBox); + u8 nPokemonInBox = CountMonsInBox(gUnknown_02039D04->curBox); + u32 winTileData; + s32 center; + + memset(&winTemplate, 0, sizeof(winTemplate)); + winTemplate.width = 8; + winTemplate.height = 4; + + windowId = AddWindow(&winTemplate); + FillWindowPixelBuffer(windowId, 0x44); + + center = GetStringCenterAlignXOffset(1, boxName, 0x40); + box_print(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName); + + ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2); + StringAppend(text, gUnknown_08571737); + center = GetStringCenterAlignXOffset(1, text, 0x40); + box_print(windowId, 1, center, 0x11, gUnknown_08571734, TEXT_SPEED_FF, text); + + winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA); + CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400); + + RemoveWindow(windowId); +} + +void sub_80C7CF4(struct Sprite *sprite) +{ + if (++sprite->data[1] > 3) { - size >>= 1; - for (i = 0; i < count; i++) + sprite->data[1] = 0; + sprite->pos2.x += sprite->data[0]; + if (++sprite->data[2] > 5) { - CpuSet(src, dst, size >> 0x10); - dst += 0x20; - src += srcBy; + sprite->data[2] = 0; + sprite->pos2.x = 0; } } -}*/ +} + +void sub_80C7D28(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + sub_80D2AA4(); + TransferPlttBuffer(); + SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_02039D08->bg2_X); +} + +void c2_Box(void) +{ + RunTasks(); + do_scheduled_bg_tilemap_copies_to_vram(); + sub_80CA028(); + sub_80CAA14(); + AnimateSprites(); + BuildOamBuffer(); +} diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 0cbbba4dd..728b887f8 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -15,7 +15,7 @@ #include "sound.h" #include "constants/species.h" #include "sprite.h" -#include "unk_text_util.h" +#include "dynamic_placeholder_text_util.h" #include "string_util.h" #include "task.h" #include "text.h" @@ -27,21 +27,8 @@ #include "scanline_effect.h" #include "menu_helpers.h" #include "daycare.h" - -struct ContestMove -{ - u8 effect; - u8 type; - u8 comboID; - u8 combo[4]; -}; - -struct ContestEffect -{ - u8 type; - u8 appeal; - u8 jam; -}; +#include "data2.h" +#include "contest.h" extern struct UnkSummaryStruct* gUnknown_0203CF1C; extern struct BgTemplate gUnknown_0861CBB4; @@ -69,6 +56,7 @@ extern u8 gUnknown_0861CE74[]; extern u8 gUnknown_0861CE7B[]; extern struct WindowTemplate gUnknown_0861CCEC; extern struct WindowTemplate gUnknown_0861CD14; +extern const u8 *const gContestEffectDescriptionPointers[]; void sub_81C488C(u8 a); extern u8 sub_81221EC(); @@ -96,6 +84,7 @@ extern u8 gText_PkmnInfo[]; extern u8 gText_PkmnSkills[]; extern u8 gText_BattleMoves[]; extern u8 gText_ContestMoves[]; +extern u8 gText_HMMovesCantBeForgotten2[]; extern u8 gText_Cancel2[]; extern u8 gText_Info[]; extern u8 gText_Switch[]; @@ -144,12 +133,14 @@ extern u8 gUnknown_0861CE8E[]; extern u8 gText_OneDash[]; extern u8 gText_TwoDashes[]; extern u8 gText_ThreeDashes[]; +extern u8 gText_Cancel[]; extern u8 gUnknown_0861CE97[]; +extern const struct SpriteTemplate gUnknown_0861CFC4; extern void sub_8199C30(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f); extern bool8 sub_81A6BF4(); extern bool8 sub_81B9E94(); -extern void UnkTextUtil_Reset(); +extern void DynamicPlaceholderTextUtil_Reset(); extern void sub_8124610(u8 *a, u8 b); extern int GetPlayerIDAsU32(); extern u8 GetCurrentPpToMaxPpState(u8 a, u8 b); @@ -173,6 +164,9 @@ void sub_81C4984(); void sub_81C4A08(); void sub_81C4A88(); void sub_81C4280(); +void sub_81C43A0(); +void sub_81C4484(); +void sub_81C4420(); void sub_81C0510(u8 taskId); void sub_81C171C(u8 taskId); void ResetAllBgsCoordinates(); @@ -341,15 +335,16 @@ struct UnkSummaryStruct u8 unk40C9; u8 unk40CA; u8 unk40CB[8]; - u8 unk40D3; - u8 unk40D4; - u8 unk40D5; - u8 unk_filler5[0x19]; + u8 unk40D3[0x1C]; u8 unk40EF; s16 unk40F0; u8 unk_filler4[6]; }; +// const rom data +#include "data/text/move_descriptions.h" + +// code void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) { u8 byte; @@ -506,8 +501,8 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 17: - gUnknown_0203CF1C->unk40D3 = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &gUnknown_0203CF1C->unk40F0); - if (gUnknown_0203CF1C->unk40D3 != 0xFF) + gUnknown_0203CF1C->unk40D3[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &gUnknown_0203CF1C->unk40F0); + if (gUnknown_0203CF1C->unk40D3[0] != 0xFF) { gUnknown_0203CF1C->unk40F0 = 0; gMain.state++; @@ -890,10 +885,10 @@ void sub_81C0704(u8 taskId) break; case 1: sub_81C4898(); - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3]); + DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3[0]]); break; case 2: - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D4]); + DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3[1]]); break; case 3: sub_81C0098(&gUnknown_0203CF1C->currentMon); @@ -916,10 +911,10 @@ void sub_81C0704(u8 taskId) data[1] = 0; break; case 8: - gUnknown_0203CF1C->unk40D3 = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]); - if (gUnknown_0203CF1C->unk40D3 == 0xFF) + gUnknown_0203CF1C->unk40D3[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]); + if (gUnknown_0203CF1C->unk40D3[0] == 0xFF) return; - gSprites[gUnknown_0203CF1C->unk40D3].data[2] = 1; + gSprites[gUnknown_0203CF1C->unk40D3[0]].data[2] = 1; sub_81C0E24(); data[1] = 0; break; @@ -934,7 +929,7 @@ void sub_81C0704(u8 taskId) sub_81C2524(); break; case 12: - gSprites[gUnknown_0203CF1C->unk40D3].data[2] = 0; + gSprites[gUnknown_0203CF1C->unk40D3[0]].data[2] = 0; break; default: if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0) @@ -1139,7 +1134,7 @@ void sub_81C0E48(u8 taskId) gUnknown_0203CF1C->unk40C6 = 0; move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; ClearWindowTilemap(0x13); - if (gSprites[gUnknown_0203CF1C->unk40D5].invisible == 0) + if (gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible == 0) ClearWindowTilemap(0xD); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); @@ -1245,7 +1240,7 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) if ((*c == 4 && gUnknown_0203CF1C->unk40C4 == 0) || a[1] == 1) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible) + if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); @@ -1889,7 +1884,7 @@ void sub_81C1940(u8 taskId) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible) + if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) ClearWindowTilemap(13); move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; gTasks[taskId].func = sub_81C174C; @@ -1903,7 +1898,7 @@ void sub_81C1940(u8 taskId) if (gUnknown_0203CF1C->unk40C0 != 3) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible) + if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) ClearWindowTilemap(13); move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; gTasks[taskId].func = sub_81C174C; @@ -1915,7 +1910,7 @@ void sub_81C1940(u8 taskId) else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible) + if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) ClearWindowTilemap(13); move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; sub_81C3E9C(move); @@ -2208,7 +2203,7 @@ void sub_81C1E20(u8 taskId) } else { - if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible) + if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) PutWindowTilemap(13); PutWindowTilemap(19); } @@ -2259,7 +2254,7 @@ void sub_81C1F80(u8 taskId) } else { - if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible) + if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) { PutWindowTilemap(13); } @@ -2908,12 +2903,12 @@ void sub_81C307C() { struct PokeSummary *sum = &gUnknown_0203CF1C->summary; u8 *text; - UnkTextUtil_Reset(); - UnkTextUtil_SetPtrI(0, gUnknown_0861CE74); - UnkTextUtil_SetPtrI(1, gUnknown_0861CE7B); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_0861CE74); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_0861CE7B); sub_81C31C0(); if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || sub_81C3304() == TRUE) - UnkTextUtil_StringExpandPlaceholders(gStringVar4, gText_XNature); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_XNature); else { u8 *alloced1 = Alloc(32); @@ -2922,7 +2917,7 @@ void sub_81C307C() if (sum->metLocation <= 0xD4) { sub_8124610(alloced2, sum->metLocation); - UnkTextUtil_SetPtrI(4, alloced2); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, alloced2); } if (sub_81C3220() == 1) { @@ -2937,7 +2932,7 @@ void sub_81C307C() text = (sum->metLocation > 0xD4) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; else text = gText_XNatureObtainedInTrade; - UnkTextUtil_StringExpandPlaceholders(gStringVar4, text); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, text); Free(alloced1); Free(alloced2); } @@ -2951,8 +2946,8 @@ void sub_81C3194() void sub_81C31C0() { struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C; - UnkTextUtil_SetPtrI(2, gNatureNamePointers[sumStruct->summary.nature]); - UnkTextUtil_SetPtrI(5, gText_EmptyString5); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gText_EmptyString5); } void sub_81C31F0(u8 *a) @@ -2961,7 +2956,7 @@ void sub_81C31F0(u8 *a) if (level == 0) level = EGG_HATCH_LEVEL; ConvertIntToDecimalStringN(a, level, 0, 3); - UnkTextUtil_SetPtrI(3, a); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, a); } u8 sub_81C3220() @@ -3216,12 +3211,12 @@ void sub_81C3710() ConvertIntToDecimalStringN(alloced2, gUnknown_0203CF1C->summary.maxHP, 1, 3); ConvertIntToDecimalStringN(alloced3, gUnknown_0203CF1C->summary.atk, 1, 7); ConvertIntToDecimalStringN(alloced4, gUnknown_0203CF1C->summary.def, 1, 7); - UnkTextUtil_Reset(); - UnkTextUtil_SetPtrI(0, alloced1); - UnkTextUtil_SetPtrI(1, alloced2); - UnkTextUtil_SetPtrI(2, alloced3); - UnkTextUtil_SetPtrI(3, alloced4); - UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE82); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, alloced1); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, alloced2); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, alloced3); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, alloced4); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE82); Free(alloced1); Free(alloced2); Free(alloced3); @@ -3238,11 +3233,11 @@ void sub_81C3808() ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3); ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3); ConvertIntToDecimalStringN(gStringVar3, gUnknown_0203CF1C->summary.speed, 1, 3); - UnkTextUtil_Reset(); - UnkTextUtil_SetPtrI(0, gStringVar1); - UnkTextUtil_SetPtrI(1, gStringVar2); - UnkTextUtil_SetPtrI(2, gStringVar3); - UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE8E); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gStringVar3); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE8E); } void sub_81C3890() @@ -3351,10 +3346,10 @@ void sub_81C3B08(u8 a) sub_81C25A4(r8, gMoveNames[move], 0, (a<<4) + 1, 0, 1); ConvertIntToDecimalStringN(gStringVar1, r10->summary.pp[a], 1, 2); ConvertIntToDecimalStringN(gStringVar2, r6, 1, 2); - UnkTextUtil_Reset(); - UnkTextUtil_SetPtrI(0, gStringVar1); - UnkTextUtil_SetPtrI(1, gStringVar2); - UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE97); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); text = gStringVar4; r5 = GetCurrentPpToMaxPpState(r10->summary.pp[a], r6) + 9; offset = GetStringRightAlignXOffset(1, text, 0x2C); @@ -3446,17 +3441,17 @@ void sub_81C3B08(u8 a) movs r2, 0x1\n\ movs r3, 0x2\n\ bl ConvertIntToDecimalStringN\n\ - bl UnkTextUtil_Reset\n\ + bl DynamicPlaceholderTextUtil_Reset\n\ movs r0, 0\n\ mov r1, r8\n\ - bl UnkTextUtil_SetPtrI\n\ + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ movs r0, 0x1\n\ adds r1, r4, 0\n\ - bl UnkTextUtil_SetPtrI\n\ + bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ ldr r4, =gStringVar4\n\ ldr r1, =gUnknown_0861CE97\n\ adds r0, r4, 0\n\ - bl UnkTextUtil_StringExpandPlaceholders\n\ + bl DynamicPlaceholderTextUtil_ExpandPlaceholders\n\ adds r7, r4, 0\n\ ldrb r0, [r5]\n\ adds r1, r6, 0\n\ @@ -3591,3 +3586,238 @@ void sub_81C3D54(u8 taskId) } data[0]++; } + +void sub_81C3E2C(u8 moveSlot) +{ + u16 move; + + if (moveSlot == 4) + move = gUnknown_0203CF1C->unk40C4; + else + move = gUnknown_0203CF1C->summary.moves[moveSlot]; + + if (move != MOVE_NONE) + { + u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); + } +} + +void sub_81C3E9C(u16 move) +{ + u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + FillWindowPixelBuffer(windowId, 0); + if (move != MOVE_NONE) + { + if (gUnknown_0203CF1C->unk40C0 == 2) + { + sub_81C3C5C(move); + sub_81C25A4(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); + } + else + { + sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); + } + PutWindowTilemap(windowId); + } + else + { + ClearWindowTilemap(windowId); + } + + schedule_bg_copy_tilemap_to_vram(0); +} + +void sub_81C3F44(void) +{ + u8 windowId1 = sub_81C2D2C(&gUnknown_0861CD14, 0); + u8 windowId2 = sub_81C2D2C(&gUnknown_0861CD14, 1); + if (gUnknown_0203CF1C->unk40C4 == MOVE_NONE) + { + sub_81C25A4(windowId1, gText_Cancel, 0, 0x41, 0, 1); + } + else + { + u16 move = gUnknown_0203CF1C->unk40C4; + if (gUnknown_0203CF1C->unk40C0 == 2) + sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 6); + else + sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 5); + + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, 1, 2); + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1); + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); + sub_81C25A4(windowId2, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x2C), 0x41, 0, 12); + } +} + +void sub_81C4064(void) +{ + u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 0); + FillWindowPixelRect(windowId, 0, 0, 0x42, 0x48, 0x10); + CopyWindowToVram(windowId, 2); +} + +void sub_81C40A0(u8 a, u8 b) +{ + u8 windowId1 = sub_81C2D2C(&gUnknown_0861CD14, 0); + u8 windowId2 = sub_81C2D2C(&gUnknown_0861CD14, 1); + + FillWindowPixelRect(windowId1, 0, 0, a * 16, 0x48, 0x10); + FillWindowPixelRect(windowId1, 0, 0, b * 16, 0x48, 0x10); + + FillWindowPixelRect(windowId2, 0, 0, a * 16, 0x30, 0x10); + FillWindowPixelRect(windowId2, 0, 0, b * 16, 0x30, 0x10); + + sub_81C3B08(a); + sub_81C3B08(b); +} + +void sub_81C4154(void) +{ + u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + FillWindowPixelBuffer(windowId, 0); + sub_81C25A4(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); +} + +void sub_81C4190(void) +{ + u8 i; + + for (i = 0; i < 28; i++) + gUnknown_0203CF1C->unk40D3[i] |= 0xFF; +} + +void sub_81C41C0(u8 spriteArrayId) +{ + if (gUnknown_0203CF1C->unk40D3[spriteArrayId] != 0xFF) + { + DestroySprite(&gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]]); + gUnknown_0203CF1C->unk40D3[spriteArrayId] = 0xFF; + } +} + +void sub_81C4204(u8 spriteArrayId, bool8 invisible) +{ + gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]].invisible = invisible; +} + +void sub_81C424C(void) +{ + u8 i; + + for (i = 3; i < 28; i++) + { + if (gUnknown_0203CF1C->unk40D3[i] != 0xFF) + sub_81C4204(i, TRUE); + } +} + +void sub_81C4280(void) +{ + switch (gUnknown_0203CF1C->unk40C0) + { + case 0: + sub_81C43A0(); + break; + case 2: + sub_81C4420(); + sub_81C44F0(); + break; + case 3: + sub_81C4484(); + sub_81C44F0(); + break; + } +} + +void sub_81C42C8(void) +{ + u8 i; + + for (i = 3; i < 8; i++) + { + if (gUnknown_0203CF1C->unk40D3[i] == 0xFF) + gUnknown_0203CF1C->unk40D3[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); + + sub_81C4204(i, TRUE); + } +} + +extern const u8 gUnknown_0861CFDC[]; + +void sub_81C4318(u8 typeId, u8 x, u8 y, u8 spriteArrayId) +{ + struct Sprite *sprite = &gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]]; + StartSpriteAnim(sprite, typeId); + sprite->oam.paletteNum = gUnknown_0861CFDC[typeId]; + sprite->pos1.x = x + 16; + sprite->pos1.y = y + 8; + sub_81C4204(spriteArrayId, FALSE); +} + +void sub_81C43A0(void) +{ + struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + if (summary->isEgg) + { + sub_81C4318(TYPE_MYSTERY, 0x78, 0x30, 3); + sub_81C4204(4, TRUE); + } + else + { + sub_81C4318(gBaseStats[summary->species].type1, 0x78, 0x30, 3); + if (gBaseStats[summary->species].type1 != gBaseStats[summary->species].type2) + { + sub_81C4318(gBaseStats[summary->species].type2, 0xA0, 0x30, 4); + sub_81C4204(4, FALSE); + } + else + { + sub_81C4204(4, TRUE); + } + } +} + +void sub_81C4420(void) +{ + u8 i; + struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + for (i = 0; i < 4; i++) + { + if (summary->moves[i] != MOVE_NONE) + sub_81C4318(gBattleMoves[summary->moves[i]].type, 0x55, 0x20 + (i * 0x10), i + 3); + else + sub_81C4204(i + 3, TRUE); + } +} + +void sub_81C4484(void) +{ + u8 i; + struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + for (i = 0; i < 4; i++) + { + if (summary->moves[i] != MOVE_NONE) + sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[summary->moves[i]].contestCategory, 0x55, 0x20 + (i * 0x10), i + 3); + else + sub_81C4204(i + 3, TRUE); + } +} + +void sub_81C44F0(void) +{ + if (gUnknown_0203CF1C->unk40C4 == MOVE_NONE) + { + sub_81C4204(7, TRUE); + } + else + { + if (gUnknown_0203CF1C->unk40C0 == 2) + sub_81C4318(gBattleMoves[gUnknown_0203CF1C->unk40C4].type, 0x55, 0x60, 7); + else + sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[gUnknown_0203CF1C->unk40C4].contestCategory, 0x55, 0x60, 7); + } +} diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 4f1766934..45b07ca7a 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -159,7 +159,7 @@ void sub_8184E58(void) { sPlayers[i].trainerId = gLinkPlayers[i].trainerId; sPlayers[i].gender = gLinkPlayers[i].gender; - sPlayers[i].battlerId = gLinkPlayers[i].lp_field_18; + sPlayers[i].battlerId = gLinkPlayers[i].id; sPlayers[i].language = gLinkPlayers[i].language; if (i < linkPlayersCount) @@ -1340,7 +1340,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) } gLinkPlayers[i].gender = src->playersGender[i]; gLinkPlayers[i].language = src->playersLanguage[i]; - gLinkPlayers[i].lp_field_18 = src->playersBattlers[i]; + gLinkPlayers[i].id = src->playersBattlers[i]; gLinkPlayers[i].trainerId = src->playersTrainerId[i]; if (var) @@ -1453,7 +1453,7 @@ u8 GetActiveBattlerLinkPlayerGender(void) for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayers[i].lp_field_18 == gActiveBattler) + if (gLinkPlayers[i].id == gActiveBattler) break; } diff --git a/src/region_map.c b/src/region_map.c index 5176d4996..3214ae185 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -22,6 +22,8 @@ #include "field_effect.h" #include "region_map.h" #include "constants/region_map_sections.h" +#include "heal_location.h" +#include "constants/heal_locations.h" #define MAP_WIDTH 28 #define MAP_HEIGHT 15 @@ -52,7 +54,7 @@ static EWRAM_DATA struct { /*0x88c*/ u8 unk_88c[0x1c0]; /*0xa4c*/ u8 unk_a4c[0x26]; /*0xa72*/ bool8 unk_a72; -} *gUnknown_0203A148 = NULL; // a74 +} *sFlyMap = NULL; // a74 static bool32 gUnknown_03001180; static bool32 gUnknown_03001184; @@ -242,23 +244,23 @@ static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_ic static const u8 sUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz"); -static const u8 sUnknown_085A1E3C[][3] = { - {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 1}, - {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 14}, - {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 15}, - {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), 16}, - {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), 17}, - {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), 18}, - {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), 19}, - {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), 3}, - {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), 4}, - {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), 5}, - {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), 6}, - {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), 7}, - {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), 8}, - {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), 9}, - {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), 10}, - {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), 11}, +static const u8 sMapHealLocations[][3] = { + {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F}, + {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), HEAL_LOCATION_OLDALE_TOWN}, + {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), HEAL_LOCATION_DEWFORD_TOWN}, + {MAP_GROUP(LAVARIDGE_TOWN), MAP_NUM(LAVARIDGE_TOWN), HEAL_LOCATION_LAVARIDGE_TOWN}, + {MAP_GROUP(FALLARBOR_TOWN), MAP_NUM(FALLARBOR_TOWN), HEAL_LOCATION_FALLARBOR_TOWN}, + {MAP_GROUP(VERDANTURF_TOWN), MAP_NUM(VERDANTURF_TOWN), HEAL_LOCATION_VERDANTURF_TOWN}, + {MAP_GROUP(PACIFIDLOG_TOWN), MAP_NUM(PACIFIDLOG_TOWN), HEAL_LOCATION_PACIFIDLOG_TOWN}, + {MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), HEAL_LOCATION_PETALBURG_CITY}, + {MAP_GROUP(SLATEPORT_CITY), MAP_NUM(SLATEPORT_CITY), HEAL_LOCATION_SLATEPORT_CITY}, + {MAP_GROUP(MAUVILLE_CITY), MAP_NUM(MAUVILLE_CITY), HEAL_LOCATION_MAUVILLE_CITY}, + {MAP_GROUP(RUSTBORO_CITY), MAP_NUM(RUSTBORO_CITY), HEAL_LOCATION_RUSTBORO_CITY}, + {MAP_GROUP(FORTREE_CITY), MAP_NUM(FORTREE_CITY), HEAL_LOCATION_FORTREE_CITY}, + {MAP_GROUP(LILYCOVE_CITY), MAP_NUM(LILYCOVE_CITY), HEAL_LOCATION_LILYCOVE_CITY}, + {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY}, + {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY}, + {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY_1}, {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), 0}, {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0}, {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0}, @@ -1578,8 +1580,8 @@ void MCB2_FlyMap(void) SetGpuReg(REG_OFFSET_BG2HOFS, 0); SetGpuReg(REG_OFFSET_BG3HOFS, 0); SetGpuReg(REG_OFFSET_BG3VOFS, 0); - gUnknown_0203A148 = malloc(sizeof(*gUnknown_0203A148)); - if (gUnknown_0203A148 == NULL) + sFlyMap = malloc(sizeof(*sFlyMap)); + if (sFlyMap == NULL) { SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); } @@ -1608,11 +1610,11 @@ void MCB2_FlyMap(void) gMain.state++; break; case 4: - InitRegionMap(&gUnknown_0203A148->regionMap, FALSE); + InitRegionMap(&sFlyMap->regionMap, FALSE); CreateRegionMapCursor(0, 0); CreateRegionMapPlayerIcon(1, 1); - gUnknown_0203A148->mapSecId = gUnknown_0203A148->regionMap.mapSecId; - StringFill(gUnknown_0203A148->unk_a4c, CHAR_SPACE, 16); + sFlyMap->mapSecId = sFlyMap->regionMap.mapSecId; + StringFill(sFlyMap->unk_a4c, CHAR_SPACE, 16); gUnknown_03001180 = TRUE; sub_8124904(); gMain.state++; @@ -1664,7 +1666,7 @@ static void sub_81248C0(void) static void sub_81248D4(void) { - gUnknown_0203A148->unk_000(); + sFlyMap->unk_000(); AnimateSprites(); BuildOamBuffer(); do_scheduled_bg_tilemap_copies_to_vram(); @@ -1672,8 +1674,8 @@ static void sub_81248D4(void) static void sub_81248F4(void callback(void)) { - gUnknown_0203A148->unk_000 = callback; - gUnknown_0203A148->unk_004 = 0; + sFlyMap->unk_000 = callback; + sFlyMap->unk_004 = 0; } static void sub_8124904(void) @@ -1682,21 +1684,21 @@ static void sub_8124904(void) bool32 flag; const u8 *name; - if (gUnknown_0203A148->regionMap.iconDrawType > MAPSECTYPE_NONE && gUnknown_0203A148->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER) + if (sFlyMap->regionMap.iconDrawType > MAPSECTYPE_NONE && sFlyMap->regionMap.iconDrawType <= MAPSECTYPE_BATTLE_FRONTIER) { flag = FALSE; for (i = 0; i < 1; i++) { - if (gUnknown_0203A148->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId) + if (sFlyMap->regionMap.mapSecId == gUnknown_085A1EDC[i].mapSecId) { if (FlagGet(gUnknown_085A1EDC[i].flag)) { - StringLength(gUnknown_085A1EDC[i].name[gUnknown_0203A148->regionMap.posWithinMapSec]); + StringLength(gUnknown_085A1EDC[i].name[sFlyMap->regionMap.posWithinMapSec]); flag = TRUE; sub_8198070(0, FALSE); SetWindowBorderStyle(1, FALSE, 0x65, 0x0d); - PrintTextOnWindow(1, 1, gUnknown_0203A148->regionMap.mapSecName, 0, 1, 0, NULL); - name = gUnknown_085A1EDC[i].name[gUnknown_0203A148->regionMap.posWithinMapSec]; + PrintTextOnWindow(1, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); + name = gUnknown_085A1EDC[i].name[sFlyMap->regionMap.posWithinMapSec]; PrintTextOnWindow(1, 1, name, GetStringRightAlignXOffset(1, name, 0x60), 0x11, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gUnknown_03001180 = TRUE; @@ -1715,7 +1717,7 @@ static void sub_8124904(void) { FillWindowPixelBuffer(0, 0x11); } - PrintTextOnWindow(0, 1, gUnknown_0203A148->regionMap.mapSecName, 0, 1, 0, NULL); + PrintTextOnWindow(0, 1, sFlyMap->regionMap.mapSecName, 0, 1, 0, NULL); schedule_bg_copy_tilemap_to_vram(0); gUnknown_03001180 = FALSE; } @@ -1739,8 +1741,8 @@ static void sub_8124A70(void) { struct SpriteSheet sheet; - LZ77UnCompWram(sUnknown_085A1D68, gUnknown_0203A148->unk_88c); - sheet.data = gUnknown_0203A148->unk_88c; + LZ77UnCompWram(sUnknown_085A1D68, sFlyMap->unk_88c); + sheet.data = sFlyMap->unk_88c; sheet.size = 0x1c0; sheet.tag = 2; LoadSpriteSheet(&sheet); @@ -1829,7 +1831,7 @@ static void sub_8124BE4(void) static void sub_8124CBC(struct Sprite *sprite) { - if (gUnknown_0203A148->regionMap.mapSecId == sprite->data[0]) + if (sFlyMap->regionMap.mapSecId == sprite->data[0]) { if (++sprite->data[1] > 16) { @@ -1846,11 +1848,11 @@ static void sub_8124CBC(struct Sprite *sprite) static void sub_8124D14(void) { - switch (gUnknown_0203A148->unk_004) + switch (sFlyMap->unk_004) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - gUnknown_0203A148->unk_004++; + sFlyMap->unk_004++; break; case 1: if (!UpdatePaletteFade()) @@ -1863,7 +1865,7 @@ static void sub_8124D14(void) static void sub_8124D64(void) { - if (gUnknown_0203A148->unk_004 == 0) + if (sFlyMap->unk_004 == 0) { switch (sub_81230AC()) { @@ -1875,16 +1877,16 @@ static void sub_8124D64(void) sub_8124904(); break; case INPUT_EVENT_A_BUTTON: - if (gUnknown_0203A148->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || gUnknown_0203A148->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER) + if (sFlyMap->regionMap.iconDrawType == MAPSECTYPE_CITY_CANFLY || sFlyMap->regionMap.iconDrawType == MAPSECTYPE_BATTLE_FRONTIER) { m4aSongNumStart(SE_SELECT); - gUnknown_0203A148->unk_a72 = TRUE; + sFlyMap->unk_a72 = TRUE; sub_81248F4(sub_8124E0C); } break; case INPUT_EVENT_B_BUTTON: m4aSongNumStart(SE_SELECT); - gUnknown_0203A148->unk_a72 = FALSE; + sFlyMap->unk_a72 = FALSE; sub_81248F4(sub_8124E0C); break; } @@ -1893,40 +1895,40 @@ static void sub_8124D64(void) static void sub_8124E0C(void) { - switch (gUnknown_0203A148->unk_004) + switch (sFlyMap->unk_004) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gUnknown_0203A148->unk_004++; + sFlyMap->unk_004++; break; case 1: if (!UpdatePaletteFade()) { FreeRegionMapIconResources(); - if (gUnknown_0203A148->unk_a72) + if (sFlyMap->unk_a72) { - switch (gUnknown_0203A148->regionMap.mapSecId) + switch (sFlyMap->regionMap.mapSecId) { case MAPSEC_SOUTHERN_ISLAND: - sub_8084CCC(0x15); + sub_8084CCC(HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR); break; case MAPSEC_BATTLE_FRONTIER: - sub_8084CCC(0x16); + sub_8084CCC(HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST); break; case MAPSEC_LITTLEROOT_TOWN: - sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? 0x0C : 0x0D); + sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? HEAL_LOCATION_LITTLEROOT_TOWN_1 : HEAL_LOCATION_LITTLEROOT_TOWN_2); break; case MAPSEC_EVER_GRANDE_CITY: - sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B); + sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && sFlyMap->regionMap.posWithinMapSec == 0 ? HEAL_LOCATION_EVER_GRANDE_CITY_2 : HEAL_LOCATION_EVER_GRANDE_CITY_1); break; default: - if (sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0) + if (sMapHealLocations[sFlyMap->regionMap.mapSecId][2] != 0) { - sub_8084CCC(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2]); + sub_8084CCC(sMapHealLocations[sFlyMap->regionMap.mapSecId][2]); } else { - warp1_set_2(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][0], sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][1], -1); + warp1_set_2(sMapHealLocations[sFlyMap->regionMap.mapSecId][0], sMapHealLocations[sFlyMap->regionMap.mapSecId][1], -1); } break; } @@ -1936,10 +1938,10 @@ static void sub_8124E0C(void) { SetMainCallback2(sub_81B58A8); } - if (gUnknown_0203A148 != NULL) + if (sFlyMap != NULL) { - free(gUnknown_0203A148); - gUnknown_0203A148 = NULL; + free(sFlyMap); + sFlyMap = NULL; } FreeAllWindowBuffers(); } diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index 9076b611a..55e3fe32b 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -1,18 +1,3264 @@ - -// Includes #include "global.h" +#include "window.h" +#include "bg.h" +#include "string_util.h" +#include "task.h" +#include "event_data.h" +#include "link.h" +#include "link_rfu.h" +#include "librfu.h" +#include "malloc.h" +#include "menu.h" +#include "list_menu.h" +#include "menu_helpers.h" +#include "script.h" +#include "sound.h" +#include "constants/songs.h" +#include "constants/game_stat.h" +#include "constants/maps.h" +#include "constants/species.h" +#include "constants/rgb.h" +#include "trade.h" +#include "trainer_card.h" +#include "overworld.h" +#include "battle.h" +#include "load_save.h" +#include "cable_club.h" +#include "field_control_avatar.h" +#include "party_menu.h" +#include "field_weather.h" +#include "palette.h" +#include "decompress.h" +#include "start_menu.h" +#include "data2.h" +#include "field_screen.h" + +extern void HealPlayerParty(void); + +struct UnkStruct_Shared +{ + struct UnkLinkRfuStruct_02022B14 field_0; + u8 needingPadding[3]; + u8 playerName[PLAYER_NAME_LENGTH]; +}; + +struct UnkStruct_x1C +{ + struct UnkStruct_Shared unk0; + u8 unk18; +}; + +struct UnkStruct_x20 +{ + struct UnkStruct_Shared unk; + u16 field_18; + u8 field_1A_0:2; + u8 field_1A_1:1; + u8 field_1B; + u8 field_1D; + u8 field_1E; + u8 field_1F; +}; + +struct UnkStruct_Main0 +{ + struct UnkStruct_x20 arr[5]; +}; + +struct UnkStruct_Main4 +{ + struct UnkStruct_x1C arr[5]; +}; + +struct UnkStruct_Main8 +{ + struct UnkStruct_x20 arr[5]; +}; + +struct UnkStruct_Leader +{ + struct UnkStruct_Main0 *field_0; + struct UnkStruct_Main4 *field_4; + struct UnkStruct_Main8 *field_8; + u8 state; + u8 textState; + u8 field_E; + u8 listWindowId; + u8 field_10; + u8 field_11; + u8 listTaskId; + u8 field_13; + u8 field_14; + u8 field_15; + u8 field_16; + u8 field_17; + u8 field_18; + u8 field_19; + u16 field_1A; +}; + +struct UnkStruct_Group +{ + struct UnkStruct_Main0 *field_0; + struct UnkStruct_Main4 *field_4; + u8 state; + u8 textState; + u8 field_A; + u8 listWindowId; + u8 field_C; + u8 field_D; + u8 listTaskId; + u8 field_F; + u8 field_10; + u8 field_11; + u8 field_12; + u8 field_13; + u8 field_14; + u8 field_15; +}; + +struct UnkStruct_8019BA8 +{ + u8 field_0; + u8 field_1; + u8 field_2; + u8 field_3; +}; + +struct UnkStruct_URoom +{ + struct UnkStruct_Main0 *field_0; + struct UnkStruct_Main4 *field_4; + struct UnkStruct_Main0 *field_8; + struct UnkStruct_Main4 *field_C; + u16 field_10; + u16 field_12; + u8 state; + u8 stateAfterPrint; + u8 textState; + u8 field_17; + u8 field_18; + u8 field_19; + u8 field_1A; + u8 field_1B; + u8 field_1C; + u8 field_1D; + u8 field_1E; + u8 field_1F; + u8 field_20; + u8 spriteIds[40]; + u8 field_49; + u8 field_4A; + u16 field_4C[6]; + u8 field_58[0x98 - 0x58]; + u16 field_98; + u16 field_9A; + u16 field_9C; + u16 field_9E; + struct UnkStruct_8019BA8 field_A0[8]; +}; -// Static type declarations +union UnkUnion_Main +{ + struct UnkStruct_Leader *leader; + struct UnkStruct_Group *group; + struct UnkStruct_URoom *uRoom; +}; -// Static RAM declarations -IWRAM_DATA u32 gUnknown_03000DA0; -IWRAM_DATA u32 gUnknown_03000DA4; -IWRAM_DATA void *gUnknown_03000DA8; +struct TradeUnkStruct +{ + u16 field_0; + u16 field_2; + u32 field_4; + u8 field_8; + u8 field_9; + u16 field_A; + u16 field_C; + u16 species; + u16 level; + u16 field_12; + u32 personality; +}; + +extern struct TradeUnkStruct gUnknown_02022C40; + +extern union UnkUnion_Main gUnknown_02022C30; + +extern u8 gUnknown_02022C2C; +extern u8 gUnknown_02022C2D; +extern u8 gUnknown_02022C3E; +extern u16 gUnknown_02022C3C; +extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; + +extern u8 gFieldLinkPlayerCount; +extern u8 gUnknown_03005DB4; + +// IWRAM vars +IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0; +IWRAM_DATA struct UnkStruct_Group *gUnknown_03000DA4; +IWRAM_DATA struct UnkStruct_URoom *gUnknown_03000DA8; IWRAM_DATA void *gUnknown_03000DAC; IWRAM_DATA bool32 gUnknown_03000DB0; -// Static ROM declarations +// this file's functions +void sub_80173E0(u8 windowId, u8 arg1, const u8 *str, u8 arg3, u8 arg4, u8 arg5); +u16 ReadAsU16(const u8 *ptr); +void sub_8012780(u8 taskId); +void sub_80134E8(u8 taskId); +void sub_8013C7C(u8 taskId); +void sub_8014A40(u8 taskId); +void sub_8014F48(u8 taskId); +void sub_80152F4(u8 taskId); +void sub_80156E0(u8 taskId); +void sub_80175EC(struct UnkStruct_Main4 *arg0, u8 count); +void sub_8017580(struct UnkStruct_Main0 *arg0, u8 count); +u8 sub_8016FC0(struct UnkStruct_Main4 *arg0, u32 arg1); +u8 sub_8016FF0(struct UnkStruct_Main4 *arg0, u32 arg1); +bool8 PrintOnTextbox(u8 *textState, const u8 *str); +bool8 sub_801320C(struct UnkStruct_Leader *data, u32 arg1, u32 arg2); +u8 sub_8013398(struct UnkStruct_Main0 *arg0); +s8 sub_80170B8(u8 *arg0, bool32 arg1); +void sub_8018404(u8 *dest, struct UnkStruct_x20 *arg1); +void sub_8012F64(struct UnkStruct_Leader *data); +void sub_80149C4(void); +u8 sub_80132D4(struct UnkStruct_Main0 *arg0); +void sub_80178A0(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id); +u32 sub_80176E4(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1); +u8 sub_8017734(struct UnkStruct_x20 *arg0, struct UnkStruct_Shared *arg1, u8 arg2); +u8 sub_8013E44(void); +u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id); +void sub_8013BD8(struct UnkStruct_Group *arg0, s32 id); +void sub_80173D4(void); +void sub_80177B8(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id); +bool32 sub_8017678(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1); +u32 sub_8018120(struct TradeUnkStruct *arg0, u8 multiplayerId); +void sub_801807C(struct TradeUnkStruct *arg0); +void sub_801B940(void); +void sub_801B94C(u16); +u16 sub_801B39C(void); +void sub_801AC54(void); +void sub_801DD98(void); +void sub_802A9A8(u8 monId, MainCallback callback); +void sub_802493C(u8 monId, MainCallback callback); +void sub_8020C70(MainCallback callback); +void sub_80149D8(void); +u16 sub_8019930(void); +void sub_8018784(u8 windowId); +void sub_8018884(const u8 *src); +bool32 mevent_0814257C(u8 *textState, const u8 *str); +s8 sub_8018B08(u8 *textState, u8 *arg1, u8 arg2, const u8 *str); +bool32 sub_8016F1C(struct UnkStruct_x20 *arg0, s16 arg1); +u8 sub_8016DF0(struct UnkStruct_Main4 *arg0, struct UnkStruct_Main4 *arg1, u32 arg2); +void sub_8019F2C(void); +void sub_8019E70(u8 *arg0, s32 arg1); +bool32 sub_80180A0(u8 monId, struct TradeUnkStruct *arg1); +void sub_80180E8(u8 monId, struct TradeUnkStruct *arg1); +bool32 sub_801A2A8(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); +void sub_80181CC(void); +bool32 sub_8017940(void); +u8 sub_8016B00(void); +void sub_801A274(struct UnkStruct_URoom *arg0); +void sub_801A284(struct UnkStruct_URoom *arg0); +bool32 sub_8017FD8(struct UnkStruct_URoom *arg0); +void sub_801689C(struct UnkStruct_URoom *arg0); +u8 sub_80181DC(struct UnkStruct_URoom *arg0); +bool32 sub_80168DC(struct UnkStruct_URoom *arg0); +bool32 sub_801704C(void); +u32 sub_8017CF8(u32 arg1, struct UnkStruct_Main0 *arg0); +s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender); +void sub_801818C(bool32 arg0); +void sub_801A3D0(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); +s32 sub_8017178(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate); +s32 sub_80172A0(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate *winTemplate, const struct ListMenuTemplate *menuTemplate, struct UnkStruct_Main0 *arg6); +bool32 sub_8018024(void); +u32 sub_8017984(u32 arg0); +void sub_8018220(u8 *unused, struct UnkStruct_URoom *arg1, bool8 arg2); +void sub_8017D9C(u8 *dst, u32 arg1, u32 playerGender); +u32 sub_80179AC(struct UnkStruct_x20 *arg0); +void sub_8017E00(u8 *dst, u8 arg1); +void sub_8019F04(u8 *spriteIds); +void sub_8019E3C(void); +void sub_80173B0(void); +s32 sub_8017D04(u32 type, u32 species); +void sub_8017020(const u8 *src); +void sub_8019BA8(); + +// const rom data +extern const u8 *const gUnknown_082EDB60[][5]; + +extern const u8 gText_UnkCtrlCodeF907[]; +extern const u8 gUnknown_082EDBC4[]; +extern const u8 gText_AwaitingCommunication[]; +extern const u8 gText_AwaitingLink[]; +extern const u8 gUnknown_082EDC5C[]; +extern const u8 gUnknown_082EDC9C[]; +extern const u8 gUnknown_082EDC78[]; +extern const u8 gUnknown_082EDD58[]; +extern const u8 gUnknown_082EDBE8[]; +extern const u8 gUnknown_082EDC0C[]; +extern const u8 gUnknown_082EDC34[]; +extern const u8 gUnknown_082EE560[]; +extern const u8 gUnknown_082EE57C[]; +extern const u8 gUnknown_082EFC54[]; +extern const u8 gUnknown_082EFC3C[]; +extern const u8 gUnknown_082EDE0C[]; +extern const u8 gUnknown_082EDDF4[]; +extern const u8 gUnknown_082EF7DC[]; +extern const u8 gUnknown_082EDE48[]; +extern const u8 gUnknown_082EDE64[]; +extern const u8 gUnknown_082EDF40[]; +extern const u8 gText_PleaseStartOver[]; +extern const u8 gUnknown_082EF7F8[]; +extern const u8 gUnknown_082EFBC8[]; +extern const u8 gUnknown_082EFC90[]; +extern const u8 gUnknown_082EDEC4[]; +extern const u8 gUnknown_082EDF04[]; +extern const u8 gText_WirelessSearchCanceled[]; +extern const u8 gUnknown_082EF4FC[]; +extern const u8 gUnknown_082EF520[]; +extern const u8 gUnknown_082EF5B8[]; +extern const u8 gUnknown_082EF1EC[]; +extern const u8 gUnknown_082EF544[]; +extern const u8 gUnknown_082EF47C[]; +extern const u8 gUnknown_082EE6C8[]; +extern const u8 gUnknown_082EE004[]; +extern const u8 gUnknown_082EEBD0[]; +extern const u8 gUnknown_082EEB88[]; +extern const u8 gUnknown_082EE598[]; +extern const u8 gUnknown_082EEC14[]; +extern const u8 gUnknown_082EF590[]; +extern const u8 gUnknown_082EF20C[]; +extern const u8 gUnknown_082EF564[]; +extern const u8 gUnknown_082EF4C4[]; +extern const u8 gUnknown_082EF298[]; +extern const u8 gUnknown_082EF65C[]; +extern const u8 gUnknown_082EF6E4[]; +extern const u8 gUnknown_082EF718[]; + +extern const u32 gUnknown_082F00C4[]; + +extern const u8 gUnknown_082F0530[]; + +extern const struct WindowTemplate gUnknown_082F00BC; +extern const struct WindowTemplate gUnknown_082F0124; +extern const struct WindowTemplate gUnknown_082F012C; +extern const struct WindowTemplate gUnknown_082F011C; +extern const struct WindowTemplate gUnknown_082F0174; +extern const struct WindowTemplate gUnknown_082F017C; +extern const struct WindowTemplate gUnknown_082F021C; +extern const struct WindowTemplate gUnknown_082F025C; +extern const struct WindowTemplate gUnknown_082F0294; +extern const struct WindowTemplate gUnknown_082F034C; + +extern const struct ListMenuTemplate gUnknown_082F015C; +extern const struct ListMenuTemplate gUnknown_082F0204; +extern const struct ListMenuTemplate gUnknown_082F0244; +extern const struct ListMenuTemplate gUnknown_082F027C; +extern const struct ListMenuTemplate gUnknown_082F032C; +extern const struct ListMenuTemplate gUnknown_082F03A4; + +extern const u8 *const gUnknown_082F0048[]; +extern const u8 *const gUnknown_082EDDC4[]; +extern const u8 *const gUnknown_082EFB70[]; +extern const u8 *const gUnknown_082EDD50[]; +extern const u8 *const gUnknown_082EDE9C[]; +extern const u8 *const gUnknown_082EDF80[]; +extern const u8 *const gUnknown_082EFD58[]; +extern const u8 *const gUnknown_082EEB80[]; +extern const u8 *const gUnknown_082EE378[]; +extern const u8 *const gUnknown_082EEC9C[]; +extern const u8 *const gUnknown_082EED3C[]; +extern const u8 *const gUnknown_082EE324[]; +extern const u8 *const gUnknown_082EE17C[]; + +extern const u8 *const gUnknown_082EE82C[][4]; + +extern const u8 *const gUnknown_082EE24C[][2]; + +extern const struct UnkStruct_Shared gUnknown_082F045C[]; + +// code +void nullsub_89(void) +{ + +} + +void sub_80124EC(u8 windowId, u8 arg1, u8 stringId) +{ + FillWindowPixelBuffer(windowId, 0x11); + switch (arg1 << 8) + { + case 0x200: + sub_80173E0(windowId, 1, gUnknown_082EDB60[0][stringId - 1], 0, 1, 0); + break; + case 0x400: + sub_80173E0(windowId, 1, gUnknown_082EDB60[1][stringId - 1], 0, 1, 0); + break; + case 0x2500: + sub_80173E0(windowId, 1, gUnknown_082EDB60[2][stringId - 1], 0, 1, 0); + break; + case 0x3500: + sub_80173E0(windowId, 1, gUnknown_082EDB60[3][stringId - 1], 0, 1, 0); + break; + case 0x2400: + sub_80173E0(windowId, 1, gUnknown_082EDB60[4][stringId - 1], 0, 1, 0); + break; + } + + CopyWindowToVram(windowId, 2); +} + +void sub_80125BC(u8 windowId) +{ + u8 text[30]; + u8 *txtPtr; + + sub_80173E0(windowId, 1, gSaveBlock2Ptr->playerName, 0, 1, 0); + txtPtr = StringCopy(text, gText_UnkCtrlCodeF907); + ConvertIntToDecimalStringN(txtPtr, ReadAsU16(gSaveBlock2Ptr->playerTrainerId), STR_CONV_MODE_LEADING_ZEROS, 5); + sub_80173E0(windowId, 1, text, 0, 0x11, 0); +} + +void sub_801262C(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 1 ... 4: + case 9 ... 11: + case 14 ... 16: + case 21 ... 28: + // UB: argument *dst isn't used, instead it always prints to gStringVar4 + StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication); + break; + } +} + +bool32 sub_80126CC(u32 caseId) +{ + switch (caseId) + { + case 9 ... 11: + case 15 ... 16: + case 23 ... 27: + return TRUE; + default: + return FALSE; + } +} + +void BerryBlenderLinkBecomeLeader(void) +{ + u8 taskId; + struct UnkStruct_Leader *dataPtr; + + taskId = CreateTask(sub_8012780, 0); + gUnknown_02022C30.leader = dataPtr = (void*)(gTasks[taskId].data); + gUnknown_03000DA0 = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + gSpecialVar_Result = 0; +} + +void sub_8012780(u8 taskId) +{ + u32 id, val; + struct UnkStruct_Leader *data = gUnknown_02022C30.leader; + + switch (data->state) + { + case 0: + if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.chosenLvl == 1) + gSpecialVar_0x8004++; + gUnknown_02022C2C = gUnknown_082F00C4[gSpecialVar_0x8004]; + gUnknown_02022C2D = gUnknown_082F00C4[gSpecialVar_0x8004] >> 8; + sub_8010F84(gUnknown_02022C2C, 0, 0); + sub_800B488(); + OpenLink(); + sub_8011C10(gUnknown_02022C2D & 0xF); + data->state = 3; + break; + case 3: + data->field_4 = AllocZeroed(0x70); + data->field_0 = AllocZeroed(0xA0); + data->field_8 = AllocZeroed(0xA0); + sub_80175EC(data->field_4, 4); + sub_8017580(data->field_0, 5); + sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName); + data->field_0->arr[0].field_18 = 0; + data->field_0->arr[0].field_1A_0 = 1; + data->field_0->arr[0].field_1A_1 = 0; + data->field_0->arr[0].field_1B = 0; + data->field_17 = sub_8016FC0(data->field_4, 0xFF); + data->field_10 = AddWindow(&gUnknown_082F00BC); + switch (gUnknown_02022C2D & 0xF) + { + case 2: + case 3: + case 4: + data->listWindowId = AddWindow(&gUnknown_082F011C); + break; + case 5: + data->listWindowId = AddWindow(&gUnknown_082F0124); + break; + } + data->field_11 = AddWindow(&gUnknown_082F012C); + + FillWindowPixelBuffer(data->field_10, 0x22); + sub_80173E0(data->field_10, 0, gUnknown_082EDBC4, 8, 1, 4); + PutWindowTilemap(data->field_10); + CopyWindowToVram(data->field_10, 2); + + NewMenuHelpers_DrawStdWindowFrame(data->listWindowId, FALSE); + gMultiuseListMenuTemplate = gUnknown_082F015C; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + NewMenuHelpers_DrawStdWindowFrame(data->field_11, FALSE); + PutWindowTilemap(data->field_11); + CopyWindowToVram(data->field_11, 2); + + CopyBgTilemapBufferToVram(0); + data->field_13 = 1; + data->state = 4; + break; + case 4: + StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]); + if ((gUnknown_02022C2D >> 4) != 0) + { + if (data->field_13 > (gUnknown_02022C2D >> 4) - 1 && (gUnknown_02022C2D & 0xF) != 0) + StringExpandPlaceholders(gStringVar4, gText_AwaitingLink); + else + StringExpandPlaceholders(gStringVar4, gText_AwaitingCommunication); + } + else + { + sub_801262C(gStringVar4, gUnknown_02022C2C); + } + + sub_80124EC(data->field_11, gUnknown_02022C2D, data->field_13); + data->state = 5; + break; + case 5: + if (PrintOnTextbox(&data->textState, gStringVar4)) + data->state = 6; + break; + case 6: + sub_801320C(data, 7, 10); + if (gMain.newKeys & B_BUTTON) + { + if (data->field_13 == 1) + data->state = 23; + else if ((gUnknown_02022C2D & 0xF0) != 0) + data->state = 30; + else + data->state = 19; + } + if ((gUnknown_02022C2D >> 4) != 0 + && data->field_13 > (gUnknown_02022C2D >> 4) - 1 + && (gUnknown_02022C2D & 0xF) != 0 + && sub_8012240() + && gMain.newKeys & START_BUTTON) + { + data->state = 15; + sub_800EF38(); + } + if (data->state == 6 && sub_80105EC()) + { + data->state = 9; + } + break; + case 9: + if (!sub_80105EC()) + { + data->state = 6; + data->field_13 = sub_8013398(data->field_0); + } + break; + case 10: + id = ((gUnknown_02022C2C & 0xF) == 2) ? 1 : 0; + if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id])) + { + data->field_13 = sub_8013398(data->field_0); + RedrawListMenu(data->listTaskId); + data->state = 4; + } + break; + case 29: + id = ((gUnknown_02022C2D & 0xF) == 2) ? 0 : 1; + if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id])) + { + data->state = 21; + } + break; + case 7: + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + data->state = 11; + } + break; + case 11: + switch (sub_80170B8(&data->textState, sub_801064C(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName))) + { + case 0: + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + data->field_19 = 5; + sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + data->state = 12; + break; + case 1: + case -1: + data->field_19 = 6; + sub_8010688(6, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + data->state = 12; + break; + case -3: + data->state = 9; + break; + } + break; + case 12: + val = sub_8010714(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + if (val == 1) + { + if (data->field_19 == 5) + { + data->field_0->arr[data->field_13].field_1B = 0; + RedrawListMenu(data->listTaskId); + data->field_13++; + if (data->field_13 == (gUnknown_02022C2D & 0xF)) + { + if ((gUnknown_02022C2D & 0xF0) != 0 || data->field_13 == 4) + { + data->state = 15; + } + else + { + sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]); + StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C); + data->state = 13; + } + + sub_800EF38(); + sub_80124EC(data->field_11, gUnknown_02022C2D, data->field_13); + } + else + { + data->state = 4; + } + } + else + { + sub_8011DC0(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId)); + data->field_0->arr[data->field_13].field_1A_0 = 0; + sub_8013398(data->field_0); + RedrawListMenu(data->listTaskId); + data->state = 4; + } + + data->field_19 = 0; + } + else if (val == 2) + { + sub_8011A64(0, 0); + data->state = 4; + } + break; + case 13: + if (PrintOnTextbox(&data->textState, gStringVar4)) + data->state = 14; + break; + case 14: + if (++data->field_E > 120) + data->state = 17; + break; + case 15: + if (PrintOnTextbox(&data->textState, gUnknown_082EDC5C)) + data->state = 16; + break; + case 16: + switch (sub_80170B8(&data->textState, FALSE)) + { + case 0: + data->state = 17; + break; + case 1: + case -1: + if ((gUnknown_02022C2D & 0xF0) != 0) + data->state = 30; + else + data->state = 19; + break; + } + break; + case 19: + if (PrintOnTextbox(&data->textState, gUnknown_082EDC78)) + data->state = 20; + break; + case 20: + switch (sub_80170B8(&data->textState, FALSE)) + { + case 0: + data->state = 23; + break; + case 1: + case -1: + if ((gUnknown_02022C2D & 0xF0) != 0) + data->state = 15; + else if (data->field_13 == (gUnknown_02022C2D & 0xF)) + data->state = 15; + else + data->state = 4; + break; + } + break; + case 17: + if (!sub_801320C(data, 7, 29)) + data->state = 18; + break; + case 18: + if (sub_800EF1C()) + { + if (sub_800EF58(FALSE)) + { + data->state = 26; + } + else + { + if (++data->field_1A > 300) + { + data->state = 29; + data->textState = 0; + } + } + } + else + { + data->state = 29; + data->textState = 0; + } + break; + case 30: + if (PrintOnTextbox(&data->textState, gUnknown_082EDD58)) + data->state = 23; + break; + case 21: + case 23: + sub_800E084(); + sub_800EDD4(); + sub_8012F64(data); + data->state++; + break; + case 24: + EnableBothScriptContexts(); + DestroyTask(taskId); + gSpecialVar_Result = 5; + break; + case 22: + EnableBothScriptContexts(); + DestroyTask(taskId); + gSpecialVar_Result = 8; + break; + case 26: + if (sub_8011A80()) + { + data->state = 29; + } + else + { + if (gReceivedRemoteLinkPlayers != 0) + { + if (sub_80126CC(gUnknown_02022C2C)) + sub_801103C(); + sub_8011068(1); + sub_80149C4(); + sub_8012F64(data); + DestroyTask(taskId); + } + } + break; + } +} + +void sub_8012F64(struct UnkStruct_Leader *data) +{ + ClearWindowTilemap(data->field_11); + sub_819746C(data->field_11, FALSE); + DestroyListMenuTask(data->listTaskId, 0, 0); + ClearWindowTilemap(data->field_10); + sub_819746C(data->listWindowId, FALSE); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->field_11); + RemoveWindow(data->listWindowId); + RemoveWindow(data->field_10); + DestroyTask(data->field_17); + + Free(data->field_8); + Free(data->field_0); + Free(data->field_4); +} + +void sub_8012FC4(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 1: + case 2: + case 4: + case 14: + case 28: + StringExpandPlaceholders(dst, gUnknown_082EDBE8); + break; + case 21: + case 22: + StringExpandPlaceholders(dst, gUnknown_082EDC0C); + break; + case 3: + case 9: + case 10: + case 11: + case 15: + case 16: + case 23: + case 24: + case 25: + case 26: + case 27: + StringExpandPlaceholders(dst, gUnknown_082EDC34); + break; + } +} + +void sub_8013078(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 65: + case 68: + StringExpandPlaceholders(dst, gUnknown_082EE560); + break; + case 69: + case 72: + StringExpandPlaceholders(dst, gUnknown_082EE57C); + break; + } +} + +void sub_80130B4(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 1: + case 2: + case 4: + case 14: + case 21: + case 22: + case 28: + StringExpandPlaceholders(dst, gUnknown_082EFC3C); + break; + case 3: + case 9: + case 10: + case 11: + case 15: + case 16: + case 23: + case 24: + case 25: + case 26: + case 27: + StringExpandPlaceholders(dst, gUnknown_082EFC54); + break; + } +} + +void sub_8013160(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 1: + case 2: + case 4: + case 14: + case 21: + case 22: + case 28: + StringExpandPlaceholders(dst, gUnknown_082EDDF4); + break; + case 3: + case 9: + case 10: + case 11: + case 15: + case 16: + case 23: + case 24: + case 25: + case 26: + case 27: + StringExpandPlaceholders(dst, gUnknown_082EDE0C); + break; + } +} + +bool8 sub_801320C(struct UnkStruct_Leader *data, u32 arg1, u32 arg2) +{ + switch (sub_80132D4(data->field_0)) + { + case 1: + PlaySE(SE_PC_LOGIN); + RedrawListMenu(data->listTaskId); + sub_8018404(gStringVar2, &data->field_0->arr[data->field_13]); + sub_8012FC4(gStringVar4, gUnknown_02022C2C); + data->state = arg1; + break; + case 2: + sub_8011A64(0, 0); + RedrawListMenu(data->listTaskId); + data->state = arg2; + return TRUE; + } + + return FALSE; +} + +void sub_8013278(u8 arg0, u32 id, u8 arg2) +{ + struct UnkStruct_Leader *data = gUnknown_02022C30.leader; + u8 var = 0; + + switch (data->field_0->arr[id].field_1A_0) + { + case 1: + if (data->field_0->arr[id].field_1B != 0) + var = 2; + break; + case 2: + var = 1; + break; + } + + sub_80178A0(arg0, 0, arg2, &data->field_0->arr[id], var, id); +} + +u8 sub_80132D4(struct UnkStruct_Main0 *arg0) +{ + struct UnkStruct_Leader *data = gUnknown_02022C30.leader; + u8 ret = 0; + u8 i; + s32 id; + + for (i = 1; i < 5; i++) + { + u16 var = data->field_0->arr[i].field_1A_0; + if (var == 1) + { + id = sub_80176E4(&data->field_0->arr[i], data->field_4->arr); + if (id != 0xFF) + { + data->field_0->arr[i].unk = data->field_4->arr[id].unk0; + data->field_0->arr[i].field_18 = var; + } + else + { + data->field_0->arr[i].field_1A_0 = 2; + ret = 2; + } + } + } + + for (id = 0; id < 4; id++) + sub_8017734(data->field_0->arr, &data->field_4->arr[id].unk0, 5); + + if (ret != 2) + { + for (id = 0; id < 5; id++) + { + if (data->field_0->arr[id].field_1B != 0) + ret = 1; + } + } + + return ret; +} + +u8 sub_8013398(struct UnkStruct_Main0 *arg0) +{ + struct UnkStruct_Leader *data = gUnknown_02022C30.leader; + u8 copiedCount; + s32 i; + u8 ret; + + for (i = 0; i < 5; i++) + data->field_8->arr[i] = data->field_0->arr[i]; + + copiedCount = 0; + for (i = 0; i < 5; i++) + { + if (data->field_8->arr[i].field_1A_0 == 1) + { + data->field_0->arr[copiedCount] = data->field_8->arr[i]; + copiedCount++; + } + } + + ret = copiedCount; + for (; copiedCount < 5; copiedCount++) + { + data->field_0->arr[copiedCount].unk = gUnknown_082F045C[0]; + data->field_0->arr[copiedCount].field_18 = 0; + data->field_0->arr[copiedCount].field_1A_0 = 0; + data->field_0->arr[copiedCount].field_1A_1 = 0; + data->field_0->arr[copiedCount].field_1B = 0; + } + + for (i = 0; i < 5; i++) + { + if (data->field_0->arr[i].field_1A_0 != 1) + continue; + if (data->field_0->arr[i].field_1B != 0x40) + continue; + + ret = i; + break; + } + + return ret; +} + +void BerryBlenderLinkJoinGroup(void) +{ + u8 taskId; + struct UnkStruct_Group *dataPtr; + + taskId = CreateTask(sub_80134E8, 0); + gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data); + gUnknown_03000DA4 = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + gSpecialVar_Result = 0; +} + +void sub_80134E8(u8 taskId) +{ + s32 id; + struct UnkStruct_Group *data = gUnknown_02022C30.group; + + switch (data->state) + { + case 0: + if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.chosenLvl == 1) + gSpecialVar_0x8004++; + gUnknown_02022C2C = gUnknown_082F0530[gSpecialVar_0x8004]; + sub_8010F84(gUnknown_02022C2C, 0, 0); + sub_800B488(); + OpenLink(); + sub_8011C5C(); + data->field_4 = AllocZeroed(0x70); + data->field_0 = AllocZeroed(0x200); + data->state = 1; + break; + case 1: + if (PrintOnTextbox(&data->textState, gUnknown_082EFB70[gSpecialVar_0x8004])) + data->state = 2; + break; + case 2: + sub_80175EC(data->field_4, 4); + sub_8017580(data->field_0, 16); + data->field_11 = sub_8016FC0(data->field_4, gSpecialVar_0x8004); + data->field_C = AddWindow(&gUnknown_082F00BC); + data->listWindowId = AddWindow(&gUnknown_082F0174); + data->field_D = AddWindow(&gUnknown_082F017C); + + FillWindowPixelBuffer(data->field_C, 0x22); + sub_80173E0(data->field_C, 0, gUnknown_082EF7DC, 8, 1, 4); + PutWindowTilemap(data->field_C); + CopyWindowToVram(data->field_C, 2); + + NewMenuHelpers_DrawStdWindowFrame(data->listWindowId, FALSE); + gMultiuseListMenuTemplate = gUnknown_082F0204; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + NewMenuHelpers_DrawStdWindowFrame(data->field_D, FALSE); + PutWindowTilemap(data->field_D); + sub_80125BC(data->field_D); + CopyWindowToVram(data->field_D, 2); + + CopyBgTilemapBufferToVram(0); + data->field_F = 0; + data->state = 3; + break; + case 3: + id = sub_8013E44(); + switch (id) + { + case 1: + PlaySE(SE_PC_LOGIN); + RedrawListMenu(data->listTaskId); + break; + case 0: + id = ListMenuHandleInputGetItemId(data->listTaskId); + if (gMain.newKeys & A_BUTTON && id != -1) + { + // this unused variable along with the assignment is needed to match + u32 unusedVar; + unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0; + + if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7) + { + u32 var = sub_8013B8C(data, id); + if (var == 0) + { + sub_8013BD8(data, id); + data->state = 5; + PlaySE(SE_PN_ON); + } + else + { + StringCopy(gStringVar4, gUnknown_082EDD50[var - 1]); + data->state = 18; + PlaySE(SE_PN_ON); + } + } + else + { + PlaySE(SE_WALL_HIT); + } + } + else if (gMain.newKeys & B_BUTTON) + { + data->state = 10; + } + break; + default: + RedrawListMenu(data->listTaskId); + break; + } + break; + case 5: + sub_80130B4(gStringVar4, gUnknown_02022C2C); + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); + data->state = 6; + } + break; + case 6: + if (gReceivedRemoteLinkPlayers != 0) + { + gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0; + sub_8011A64(0, 0); + switch (gUnknown_02022C2C) + { + case 1 ... 5: + case 9 ... 11: + case 13 ... 16: + case 21 ... 28: + data->state = 20; + return; + } + } + + switch (sub_8011A74()) + { + case 1: + data->state = 12; + break; + case 2: + case 6: + case 9: + data->state = 14; + break; + case 5: + sub_8013160(gStringVar4, gUnknown_02022C2C); + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + if (gUnknown_02022C2C == 28 || gUnknown_02022C2C == 14) + { + sub_8011A64(12, 0); + } + else + { + sub_8011A64(7, 0); + StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]); + StringExpandPlaceholders(gStringVar4, gUnknown_082EDE48); + } + } + break; + case 7: + if (data->field_15 > 0xF0) + { + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + sub_8011A64(12, 0); + data->field_15 = 0; + } + } + else + { + switch (gUnknown_02022C2C) + { + case 1: + case 2: + case 4: + case 14: + case 28: + break; + default: + data->field_15++; + break; + } + } + break; + } + + if (!sub_8011A74() && gMain.newKeys & B_BUTTON) + data->state = 7; + break; + case 7: + if (PrintOnTextbox(&data->textState, gUnknown_082EDE64)) + data->state = 8; + break; + case 8: + switch (sub_80170B8(&data->textState, sub_8011A74())) + { + case 0: + sub_80106D4(); + data->state = 9; + RedrawListMenu(data->listTaskId); + break; + case 1: + case -1: + data->state = 5; + RedrawListMenu(data->listTaskId); + break; + case -3: + data->state = 6; + RedrawListMenu(data->listTaskId); + break; + } + break; + case 9: + if (sub_8011A74()) + data->state = 6; + break; + case 10: + case 12: + case 14: + case 18: + case 20: + ClearWindowTilemap(data->field_D); + sub_819746C(data->field_D, FALSE); + DestroyListMenuTask(data->listTaskId, 0, 0); + ClearWindowTilemap(data->field_C); + sub_819746C(data->listWindowId, FALSE); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->field_D); + RemoveWindow(data->listWindowId); + RemoveWindow(data->field_C); + DestroyTask(data->field_11); + Free(data->field_0); + Free(data->field_4); + data->state++; + break; + case 13: + sub_800E084(); + if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()])) + { + gSpecialVar_Result = 6; + data->state = 23; + } + break; + case 11: + sub_800E084(); + gSpecialVar_Result = 5; + data->state = 23; + break; + case 15: + sub_800E084(); + if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()])) + { + gSpecialVar_Result = 8; + data->state = 23; + } + break; + case 19: + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + gSpecialVar_Result = 8; + data->state = 23; + } + break; + case 23: + DestroyTask(taskId); + sub_80173D4(); + sub_800EDD4(); + break; + case 21: + sub_80149C4(); + DestroyTask(taskId); + break; + } +} + +u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id) +{ + struct UnkStruct_x20 *structPtr = &arg0->field_0->arr[id]; + + if (gUnknown_02022C2C == 4 && structPtr->unk.field_0.unk_00.unk_01_2 != 3) + { + if (!(gSaveBlock2Ptr->specialSaveWarp & 0x80)) + return 1; + else if (structPtr->unk.field_0.unk_00.unk_00_7) + return 0; + } + else + { + return 0; + } + + return 2; +} + +void sub_8013BD8(struct UnkStruct_Group *data, s32 id) +{ + data->field_F = id; + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + RedrawListMenu(data->listTaskId); + sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); + sub_8011090(gUnknown_082F0530[gSpecialVar_0x8004], 0, 1); + sub_8011FC8(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId)); +} + +u8 sub_8013C40(void) +{ + u8 taskId; + struct UnkStruct_Group *dataPtr; + + taskId = CreateTask(sub_8013C7C, 0); + gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data); + + dataPtr->state = 0; + dataPtr->textState = 0; + + gUnknown_03000DA4 = dataPtr; + + return taskId; +} + +void sub_8013C7C(u8 taskId) +{ + struct UnkStruct_Group *data = gUnknown_02022C30.group; + + switch (data->state) + { + case 0: + sub_8010F84(0, 0, 0); + sub_800B488(); + OpenLink(); + sub_8011C5C(); + sub_80111B0(TRUE); + data->field_4 = AllocZeroed(0x70); + data->field_0 = AllocZeroed(0x200); + data->state = 2; + break; + case 2: + sub_80175EC(data->field_4, 4); + sub_8017580(data->field_0, 16); + data->field_11 = sub_8016FC0(data->field_4, 0xFF); + data->field_F = 0; + data->state = 3; + break; + case 3: + if (sub_8013E44() == 1) + PlaySE(SE_PC_LOGIN); + if (gTasks[taskId].data[15] == 0xFF) + data->state = 10; + break; + case 10: + DestroyTask(data->field_11); + Free(data->field_0); + Free(data->field_4); + sub_800EDD4(); + data->state++; + break; + case 11: + sub_800EDD4(); + DestroyTask(taskId); + break; + } +} + +extern const u8 *const gUnknown_082F04D8[22]; + +bool32 sub_8013D88(u32 arg0, u32 id) +{ + if (id == 0xFF) + return TRUE; + + if (id <= ARRAY_COUNT(gUnknown_082F04D8)) // UB: <= may access data outside the array + { + const u8 *bytes = gUnknown_082F04D8[id]; + + while ((*(bytes) != 0xFF)) + { + if ((*bytes) == arg0) + return TRUE; + bytes++; + } + } + + return FALSE; +} + +u8 sub_8013DBC(struct UnkStruct_Group *data, u32 id) +{ + if (data->field_0->arr[id].field_1A_0 == 1) + { + if (data->field_0->arr[id].unk.field_0.unk_0a_7) + return 3; + else if (data->field_0->arr[id].field_1A_1 != 0) + return 1; + else if (data->field_0->arr[id].field_1B != 0) + return 2; + } + + return 0; +} + +void sub_8013DF4(u8 arg0, u32 id, u8 arg2) +{ + struct UnkStruct_Group *data = gUnknown_02022C30.group; + u8 var = sub_8013DBC(data, id); + + sub_80177B8(arg0, 8, arg2, &data->field_0->arr[id], var, id); +} + +u8 sub_8013E44(void) +{ + struct UnkStruct_Group *data = gUnknown_02022C30.group; + u8 ret = 0; + u8 i; + s32 id; + + for (i = 0; i < 16; i++) + { + if (data->field_0->arr[i].field_1A_0 != 0) + { + id = sub_80176E4(&data->field_0->arr[i], data->field_4->arr); + if (id != 0xFF) + { + if (data->field_0->arr[i].field_1A_0 == 1) + { + if (sub_8017678(&data->field_0->arr[i], &data->field_4->arr[id])) + { + data->field_0->arr[i].unk = data->field_4->arr[id].unk0; + data->field_0->arr[i].field_1B = 0x40; + ret = 1; + } + else + { + if (data->field_0->arr[i].field_1B != 0) + { + data->field_0->arr[i].field_1B--; + if (data->field_0->arr[i].field_1B == 0) + ret = 2; + } + } + } + else + { + data->field_0->arr[i].field_1A_0 = 1; + data->field_0->arr[i].field_1B = 0x40; + ret = 1; + } + + data->field_0->arr[i].field_18 = 0; + } + else + { + if (data->field_0->arr[i].field_1A_0 != 2) + { + data->field_0->arr[i].field_18++; + if (data->field_0->arr[i].field_18 >= 300) + { + data->field_0->arr[i].field_1A_0 = 2; + ret = 2; + } + } + } + } + } + + for (id = 0; id < 4; id++) + { + if (sub_8017734(data->field_0->arr, &data->field_4->arr[id].unk0, 16) != 0xFF) + ret = 1; + } + + return ret; +} + +void sub_8013F60(u8 taskId) +{ + sub_80773AC(); + DestroyTask(taskId); +} + +u8 sub_8013F78(void) +{ + u8 taskId = CreateTask(sub_8013F60, 0); + + return taskId; +} + +extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; +extern u8 gUnknown_02032298[2]; + +void sub_8013F90(u8 taskId) +{ + u32 monId = sub_8018120(&gUnknown_02022C40, GetMultiplayerId()); + + switch (gTasks[taskId].data[0]) + { + case 0: + gTasks[taskId].data[0]++; + SendBlock(0, &gPlayerParty[monId], sizeof(struct Pokemon)); + break; + case 1: + if (GetBlockReceivedStatus() == 3) + { + gEnemyParty[0] = *(struct Pokemon*)(gBlockRecvBuffer[GetMultiplayerId() ^ 1]); + IncrementGameStat(GAME_STAT_50); + ResetBlockReceivedFlags(); + gTasks[taskId].data[0]++; + } + break; + case 2: + memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, sizeof(struct MailStruct) * PARTY_SIZE + 4); + if (SendBlock(0, gBlockSendBuffer, sizeof(struct MailStruct) * PARTY_SIZE + 4)) + gTasks[taskId].data[0]++; + break; + case 3: + if (GetBlockReceivedStatus() == 3) + { + memcpy(gUnknown_020321C0, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE); + ResetBlockReceivedFlags(); + gUnknown_02032298[0] = monId; + gUnknown_02032298[1] = 6; + gMain.savedCallback = CB2_ReturnToField; + SetMainCallback2(sub_807AE50); + sub_801807C(&gUnknown_02022C40); + DestroyTask(taskId); + } + break; + } +} + +void sub_80140E0(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (GetMultiplayerId() == 0) + sub_800A4D8(2); + gTasks[taskId].data[0]++; + break; + case 1: + if (GetBlockReceivedStatus() == sub_800A9D8()) + { + s32 i; + u16 *recvBuff; + + for (i = 0; i < GetLinkPlayerCount(); i++) + { + recvBuff = gBlockRecvBuffer[i]; + sub_80C3120(&gTrainerCards[i], recvBuff, gLinkPlayers[i].version); + } + + if (GetLinkPlayerCount() == 2) + { + recvBuff = gBlockRecvBuffer[GetMultiplayerId() ^ 1]; + sub_801B94C(recvBuff[48]); + } + else + { + sub_801B940(); + } + + ResetBlockReceivedFlags(); + DestroyTask(taskId); + } + break; + } +} + +void sub_80141A4(void) +{ + switch (gMain.state) + { + case 0: + CreateTask(sub_80140E0, 5); + gMain.state++; + break; + case 1: + if (!FuncIsActiveTask(sub_80140E0)) + sub_80C4E74(GetMultiplayerId() ^ 1, CB2_ReturnToField); + break; + } + + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); +} + +void sub_8014210(u16 battleFlags) +{ + HealPlayerParty(); + SavePlayerParty(); + LoadPlayerBag(); + gLinkPlayers[0].linkType = 0x2211; + gLinkPlayers[GetMultiplayerId()].id = GetMultiplayerId(); + gLinkPlayers[GetMultiplayerId() ^ 1].id = GetMultiplayerId() ^ 1; + gMain.savedCallback = sub_80B360C; + gBattleTypeFlags = battleFlags; + PlayBattleBGM(); +} + +void sub_8014290(u16 arg0, u16 x, u16 y) +{ + VarSet(VAR_0x4087, arg0); + Overworld_SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); + saved_warp2_set_2(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); + warp_in(); +} + +void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4) +{ + gSpecialVar_0x8004 = arg4; + VarSet(VAR_0x4087, arg4); + gFieldLinkPlayerCount = GetLinkPlayerCount(); + gUnknown_03005DB4 = GetMultiplayerId(); + sub_809D2BC(); + Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y); + warp_in(); +} + +void sub_8014384(void) +{ + switch (gMain.state) + { + case 0: + CreateTask(sub_80140E0, 5); + gMain.state++; + break; + case 1: + if (!FuncIsActiveTask(sub_80140E0)) + SetMainCallback2(sub_8086074); + break; + } + + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); +} + +void sub_80143E4(void *arg0, bool32 arg1) +{ + u16 *argAsU16Ptr = arg0; + + sub_80C30A4(argAsU16Ptr); + if (arg1) + argAsU16Ptr[48] = sub_801B39C(); + else + argAsU16Ptr[48] = 0; +} + +void sub_801440C(u8 taskId) +{ + sub_801B940(); + switch (gUnknown_02022C2C) + { + case 1 ... 4: + case 9 ... 11: + case 13: + case 15: + sub_800E3A8(); + break; + } + + switch (gUnknown_02022C2C) + { + case 65: + case 81: + overworld_free_bg_tilemaps(); + gMain.savedCallback = sub_801AC54; + sub_81B8518(3); + break; + case 1: + overworld_free_bg_tilemaps(); + sub_80143E4(gBlockSendBuffer, TRUE); + HealPlayerParty(); + SavePlayerParty(); + LoadPlayerBag(); + sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 1); + SetMainCallback2(sub_8014384); + break; + case 2: + overworld_free_bg_tilemaps(); + HealPlayerParty(); + SavePlayerParty(); + LoadPlayerBag(); + sub_80143E4(gBlockSendBuffer, TRUE); + sub_8014304(MAP_GROUP(SINGLE_BATTLE_COLOSSEUM), MAP_NUM(SINGLE_BATTLE_COLOSSEUM), 6, 8, 2); + SetMainCallback2(sub_8014384); + break; + case 3: + overworld_free_bg_tilemaps(); + HealPlayerParty(); + SavePlayerParty(); + LoadPlayerBag(); + sub_80143E4(gBlockSendBuffer, TRUE); + sub_8014304(MAP_GROUP(DOUBLE_BATTLE_COLOSSEUM), MAP_NUM(DOUBLE_BATTLE_COLOSSEUM), 5, 8, 5); + SetMainCallback2(sub_8014384); + break; + case 4: + sub_80143E4(gBlockSendBuffer, TRUE); + overworld_free_bg_tilemaps(); + sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, 3); + SetMainCallback2(sub_8014384); + break; + case 15: + sub_80143E4(gBlockSendBuffer, TRUE); + overworld_free_bg_tilemaps(); + sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, 4); + SetMainCallback2(sub_8014384); + break; + case 68: + overworld_free_bg_tilemaps(); + CreateTask(sub_8013F90, 0); + break; + case 5: + case 69: + if (GetMultiplayerId() == 0) + { + sub_800ED10(); + } + else + { + sub_800ED28(); + sub_8010F84(69, 0, 1); + } + sub_801DD98(); + break; + case 8: + case 72: + sub_80143E4(gBlockSendBuffer, FALSE); + SetMainCallback2(sub_80141A4); + break; + case 9: + sub_8014290(8, 5, 1); + sub_802A9A8(GetCursorSelectionMonId(), CB2_LoadMap); + break; + case 10: + sub_8014290(7, 9, 1); + sub_8020C70(CB2_LoadMap); + break; + case 11: + sub_8014290(8, 5, 1); + sub_802493C(GetCursorSelectionMonId(), CB2_LoadMap); + break; + } + + DestroyTask(taskId); + gSpecialVar_Result = 1; + if (gUnknown_02022C2C != 68) + ScriptContext2_Disable(); +} + +extern u8 gUnknown_0203CEF8[]; + +void sub_8014790(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 *sendBuff = (u16*)(gBlockSendBuffer); + + switch (data[0]) + { + case 0: + gSpecialVar_Result = 1; + switch (gUnknown_02022C2C) + { + case 14: + case 28: + gLinkPlayers[0].linkType = 0x2211; + gLinkPlayers[0].id = 0; + gLinkPlayers[1].id = 2; + sendBuff[0] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[0] - 1], MON_DATA_SPECIES); + sendBuff[1] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[1] - 1], MON_DATA_SPECIES, NULL); + gMain.savedCallback = NULL; + data[0] = 4; + sub_800E3A8(); + ResetBlockReceivedFlags(); + break; + case 16: + case 23 ... 27: + sub_800E3A8(); + DestroyTask(taskId); + default: + EnableBothScriptContexts(); + data[0] = 1; + break; + } + break; + case 1: + if (!ScriptContext1_IsScriptSetUp()) + { + FadeScreen(1, 0); + data[0] = 2; + } + break; + case 2: + if (!gPaletteFade.active) + { + if (gUnknown_02022C2C == 29) + { + DestroyTask(taskId); + SetMainCallback2(sub_80773AC); + } + else + { + sub_800ADF8(); + data[0] = 3; + } + } + break; + case 3: + if (sub_800A520()) + { + DestroyTask(taskId); + sub_80149D8(); + } + break; + case 4: + if (SendBlock(0, gBlockSendBuffer, 0xE)) + data[0] = 5; + break; + case 5: + if (GetBlockReceivedStatus() == 3) + { + ResetBlockReceivedFlags(); + if (sub_80B2AF4(gBlockRecvBuffer[0], gBlockRecvBuffer[1])) + { + gSpecialVar_Result = 11; + data[0] = 7; + } + else + { + data[0] = 6; + } + } + break; + case 6: + EnableBothScriptContexts(); + DestroyTask(taskId); + break; + case 7: + sub_800AC34(); + data[0] = 8; + break; + case 8: + if (gReceivedRemoteLinkPlayers == 0) + { + sub_800E084(); + EnableBothScriptContexts(); + DestroyTask(taskId); + } + break; + } +} + +void sub_80149C4(void) +{ + CreateTask(sub_8014790, 0); +} + +void sub_80149D8(void) +{ + u8 taskId = CreateTask(sub_801440C, 0); + gTasks[taskId].data[0] = 0; +} + +void sub_8014A00(u32 arg0) +{ + u8 taskId; + struct UnkStruct_Leader *dataPtr; + + taskId = CreateTask(sub_8014A40, 0); + gUnknown_02022C30.leader = dataPtr = (void*)(gTasks[taskId].data); + + dataPtr->state = 0; + dataPtr->textState = 0; + dataPtr->field_18 = arg0; + gSpecialVar_Result = 0; +} + +void sub_8014A40(u8 taskId) +{ + struct UnkStruct_Leader *data = gUnknown_02022C30.leader; + struct WindowTemplate winTemplate; + s32 val; + + switch (data->state) + { + case 0: + gUnknown_02022C2C = data->field_18; + gUnknown_02022C2D = 2; + sub_8010F84(data->field_18, 0, 0); + sub_8010FA0(FALSE, FALSE); + sub_800B488(); + OpenLink(); + sub_8011C10(2); + data->state = 1; + break; + case 1: + data->field_4 = AllocZeroed(0x70); + data->field_0 = AllocZeroed(0xA0); + data->field_8 = AllocZeroed(0xA0); + sub_80175EC(data->field_4, 4); + sub_8017580(data->field_0, 5); + sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName); + data->field_0->arr[0].field_18 = 0; + data->field_0->arr[0].field_1A_0 = 1; + data->field_0->arr[0].field_1A_1 = 0; + data->field_0->arr[0].field_1B = 0; + data->field_17 = sub_8016FC0(data->field_4, 0xFF); + + winTemplate = gUnknown_082F011C; + winTemplate.baseBlock = sub_8019930(); + winTemplate.paletteNum = 0xC; + data->listWindowId = AddWindow(&winTemplate); + sub_8018784(data->listWindowId); + gMultiuseListMenuTemplate = gUnknown_082F015C; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + CopyBgTilemapBufferToVram(0); + data->field_13 = 1; + data->state = 2; + break; + case 2: + StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]); + sub_801262C(gStringVar4, gUnknown_02022C2C); + data->state = 3; + break; + case 3: + sub_8018884(gStringVar4); + data->state = 4; + break; + case 4: + sub_801320C(data, 5, 6); + if (gMain.newKeys & B_BUTTON) + { + data->state = 13; + sub_800E084(); + } + break; + case 6: + if (mevent_0814257C(&data->textState, gUnknown_082EDF40)) + { + data->field_13 = sub_8013398(data->field_0); + RedrawListMenu(data->listTaskId); + data->state = 2; + } + break; + case 5: + data->state = 7; + break; + case 7: + switch (sub_8018B08(&data->textState, &data->field_14, 0, gStringVar4)) + { + case 0: + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + data->field_0->arr[data->field_13].field_1B = 0; + RedrawListMenu(data->listTaskId); + data->field_19 = 5; + sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + data->state = 8; + break; + case 1: + case -1: + data->field_19 = 6; + sub_8010688(6, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + data->state = 8; + break; + } + break; + case 8: + val = sub_8010714(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + if (val == 1) + { + if (data->field_19 == 5) + { + data->field_0->arr[data->field_13].field_1B = 0; + RedrawListMenu(data->listTaskId); + data->field_13++; + sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]); + StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C); + data->state = 9; + sub_800EF38(); + } + else + { + sub_8011DC0(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId)); + data->field_0->arr[data->field_13].field_1A_0 = 0; + sub_8013398(data->field_0); + RedrawListMenu(data->listTaskId); + data->state = 2; + } + + data->field_19 = 0; + } + else if (val == 2) + { + sub_8011A64(0, 0); + data->state = 2; + } + break; + case 9: + sub_8018884(gStringVar4); + data->state = 10; + break; + case 10: + if (++data->field_E > 120) + data->state = 11; + break; + case 11: + if (!sub_801320C(data, 5, 6)) + data->state = 12; + break; + case 12: + if (sub_800EF1C()) + { + sub_800EF58(FALSE); + data->state = 15; + } + else + { + data->state = 6; + } + break; + case 13: + sub_800E084(); + sub_800EDD4(); + DestroyListMenuTask(data->listTaskId, 0, 0); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->listWindowId); + DestroyTask(data->field_17); + Free(data->field_8); + Free(data->field_0); + Free(data->field_4); + data->state++; + break; + case 14: + if (mevent_0814257C(&data->textState, gText_PleaseStartOver)) + { + DestroyTask(taskId); + gSpecialVar_Result = 5; + } + break; + case 15: + if (sub_8011A74() == 1 || sub_8011A74() == 2) + { + data->state = 13; + } + else if (gReceivedRemoteLinkPlayers != 0) + { + sub_8011068(1); + data->state++; + } + break; + case 16: + DestroyListMenuTask(data->listTaskId, 0, 0); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->listWindowId); + DestroyTask(data->field_17); + Free(data->field_8); + Free(data->field_0); + Free(data->field_4); + sub_800ADF8(); + data->state++; + break; + case 17: + if (sub_800A520()) + DestroyTask(taskId); + break; + } +} + +void sub_8014EFC(u32 arg0) +{ + u8 taskId; + struct UnkStruct_Group *dataPtr; + + taskId = CreateTask(sub_8014F48, 0); + gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data); + gUnknown_03000DA4 = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + dataPtr->field_12 = arg0 - 21; + gSpecialVar_Result = 0; +} + +void sub_8014F48(u8 taskId) +{ + s32 id; + struct WindowTemplate winTemplate1, winTemplate2; + struct UnkStruct_Group *data = gUnknown_02022C30.group; + + switch (data->state) + { + case 0: + sub_8010F84(data->field_12 + 21, 0, 0); + sub_800B488(); + OpenLink(); + sub_8011C5C(); + data->field_4 = AllocZeroed(0x70); + data->field_0 = AllocZeroed(0x200); + data->state = 1; + break; + case 1: + sub_8018884(gUnknown_082EF7F8); + data->state = 2; + break; + case 2: + sub_80175EC(data->field_4, 4); + sub_8017580(data->field_0, 16); + data->field_11 = sub_8016FC0(data->field_4, data->field_12 + 7); + + winTemplate1 = gUnknown_082F0174; + winTemplate1.baseBlock = sub_8019930(); + winTemplate1.paletteNum = 0xC; + data->listWindowId = AddWindow(&winTemplate1); + + winTemplate2 = gUnknown_082F017C; + winTemplate2.paletteNum = 0xC; + data->field_D = AddWindow(&winTemplate2); + + sub_8018784(data->listWindowId); + gMultiuseListMenuTemplate = gUnknown_082F0204; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + sub_8018784(data->field_D); + FillWindowPixelBuffer(data->field_D, 0x11); + PutWindowTilemap(data->field_D); + sub_80125BC(data->field_D); + CopyWindowToVram(data->field_D, 2); + + CopyBgTilemapBufferToVram(0); + data->field_F = 0; + data->state = 3; + break; + case 3: + id = sub_8013E44(); + switch (id) + { + case 1: + PlaySE(SE_PC_LOGIN); + default: + RedrawListMenu(data->listTaskId); + break; + case 0: + id = ListMenuHandleInputGetItemId(data->listTaskId); + if (gMain.newKeys & A_BUTTON && id != -1) + { + // this unused variable along with the assignment is needed to match + u32 unusedVar; + unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0; + + if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.field_0.unk_0a_7) + { + data->field_F = id; + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + RedrawListMenu(data->listTaskId); + sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); + sub_8011FC8(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId)); + PlaySE(SE_PN_ON); + data->state = 4; + } + else + { + PlaySE(SE_WALL_HIT); + } + } + else if (gMain.newKeys & B_BUTTON) + { + data->state = 6; + } + break; + } + break; + case 4: + sub_8018884(gUnknown_082EFC3C); + sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); + data->state = 5; + break; + case 5: + if (gReceivedRemoteLinkPlayers != 0) + { + gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0; + data->state = 10; + } + + switch (sub_8011A74()) + { + case 1: + case 2: + case 6: + data->state = 8; + break; + case 5: + sub_8018884(gUnknown_082EDDF4); + sub_8011A64(0, 0); + break; + } + break; + case 6: + case 8: + case 10: + DestroyListMenuTask(data->listTaskId, 0, 0); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->field_D); + RemoveWindow(data->listWindowId); + DestroyTask(data->field_11); + Free(data->field_0); + Free(data->field_4); + data->state++; + break; + case 9: + if (mevent_0814257C(&data->textState, gUnknown_082EDF80[sub_8011A74()])) + { + sub_800E084(); + DestroyTask(taskId); + sub_800EDD4(); + gSpecialVar_Result = 5; + } + break; + case 7: + sub_800E084(); + sub_8018884(gText_PleaseStartOver); + DestroyTask(taskId); + sub_800EDD4(); + gSpecialVar_Result = 5; + break; + case 11: + data->state++; + sub_800ADF8(); + break; + case 12: + if (sub_800A520()) + DestroyTask(taskId); + break; + } +} + +void sub_80152A8(u32 arg0) +{ + u8 taskId; + struct UnkStruct_Group *dataPtr; + + taskId = CreateTask(sub_80152F4, 0); + gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data); + gUnknown_03000DA4 = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + dataPtr->field_12 = arg0 - 21; + gSpecialVar_Result = 0; +} + +void sub_80152F4(u8 taskId) +{ + s32 id; + struct WindowTemplate winTemplate; + struct UnkStruct_Group *data = gUnknown_02022C30.group; + + switch (data->state) + { + case 0: + sub_8010F84(0, 0, 0); + sub_800B488(); + OpenLink(); + sub_8011C5C(); + data->field_4 = AllocZeroed(0x70); + data->field_0 = AllocZeroed(0x200); + data->state = 1; + break; + case 1: + sub_8018884(gUnknown_082EFBC8); + data->state = 2; + break; + case 2: + sub_80175EC(data->field_4, 4); + sub_8017580(data->field_0, 16); + data->field_11 = sub_8016FF0(data->field_4, data->field_12 + 7); + + if (data->field_13 != 0) + { + winTemplate = gUnknown_082F0174; + winTemplate.baseBlock = sub_8019930(); + data->listWindowId = AddWindow(&winTemplate); + + sub_8018784(data->listWindowId); + gMultiuseListMenuTemplate = gUnknown_082F0204; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + CopyBgTilemapBufferToVram(0); + } + + data->field_F = 0; + data->state = 3; + break; + case 3: + id = sub_8013E44(); + switch (id) + { + case 1: + PlaySE(SE_PC_LOGIN); + default: + if (data->field_13 != 0) + RedrawListMenu(data->listTaskId); + break; + case 0: + if (data->field_13 != 0) + id = ListMenuHandleInputGetItemId(data->listTaskId); + if (data->field_14 > 120) + { + if (data->field_0->arr[0].field_1A_0 == 1 && !data->field_0->arr[0].unk.field_0.unk_0a_7) + { + if (sub_8016F1C(&data->field_0->arr[0], data->field_12 + 7)) + { + data->field_F = 0; + data->field_14 = 0; + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + sub_8011FC8(data->field_0->arr[0].unk.playerName, ReadAsU16(data->field_0->arr[0].unk.field_0.unk_00.playerTrainerId)); + PlaySE(SE_PN_ON); + data->state = 4; + } + else + { + PlaySE(SE_BOO); + data->state = 10; + } + } + } + else if (gMain.newKeys & B_BUTTON) + { + data->state = 6; + data->field_14 = 0; + } + data->field_14++; + break; + } + break; + case 4: + sub_8018884(gUnknown_082EFC90); + sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]); + data->state = 5; + break; + case 5: + if (gReceivedRemoteLinkPlayers != 0) + { + gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0; + data->state = 12; + } + + switch (sub_8011A74()) + { + case 1: + case 2: + case 6: + data->state = 8; + break; + case 5: + sub_8018884(gUnknown_082EDEC4); + sub_8011A64(0, 0); + break; + } + break; + case 6: + case 8: + case 10: + case 12: + if (data->field_13 != 0) + { + DestroyListMenuTask(data->listTaskId, 0, 0); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->listWindowId); + } + DestroyTask(data->field_11); + Free(data->field_0); + Free(data->field_4); + data->state++; + break; + case 9: + if (mevent_0814257C(&data->textState, gUnknown_082EDF04)) + { + sub_800E084(); + DestroyTask(taskId); + sub_800EDD4(); + gSpecialVar_Result = 5; + } + break; + case 7: + if (mevent_0814257C(&data->textState, gText_WirelessSearchCanceled)) + { + sub_800E084(); + DestroyTask(taskId); + sub_800EDD4(); + gSpecialVar_Result = 5; + } + break; + case 11: + if (mevent_0814257C(&data->textState, gUnknown_082EFD58[data->field_12])) + { + sub_800E084(); + DestroyTask(taskId); + sub_800EDD4(); + gSpecialVar_Result = 5; + } + break; + case 13: + data->state++; + sub_800ADF8(); + break; + case 14: + if (sub_800A520()) + DestroyTask(taskId); + break; + } +} + +void UnionRoomSpecial(void) +{ + struct UnkStruct_URoom *dataPtr; + + sub_8010F60(); + CreateTask(sub_80156E0, 10); + + // dumb line needed to match + gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom; + + dataPtr = AllocZeroed(0x26C); + gUnknown_02022C30.uRoom = dataPtr; + gUnknown_03000DA8 = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + dataPtr->field_10 = 0; + dataPtr->field_12 = 0; + + gSpecialVar_Result = 0; + sub_819A2BC(0xD0, 1); +} + +u16 ReadAsU16(const u8 *ptr) +{ + return (ptr[1] << 8) | (ptr[0]); +} + +void sub_8015664(u32 arg0, const u8 *src) +{ + struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom; + + data->state = 8; + data->stateAfterPrint = arg0; + if (src != gStringVar4) + StringExpandPlaceholders(gStringVar4, src); +} + +void sub_801568C(const u8 *src) +{ + struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom; + + data->state = 26; + if (src != gStringVar4) + StringExpandPlaceholders(gStringVar4, src); +} + +void sub_80156B0(struct UnkStruct_URoom *data) +{ + memcpy(&gDecompressionBuffer[0x3F00], data->field_0, 0x100); +} + +void sub_80156C8(struct UnkStruct_URoom *data) +{ + memcpy(data->field_0, &gDecompressionBuffer[0x3F00], 0x100); +} + +// Cannot match, please fix later. +/* +void sub_80156E0(u8 taskId) +{ + u32 id = 0; + s32 var5 = 0; + u32 playerGender = 0; + struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom; + s16 *taskData = gTasks[taskId].data; + + switch (data->state) + { + case 0: + data->field_4 = AllocZeroed(0x70); + data->field_C = AllocZeroed(0x70); + data->field_0 = AllocZeroed(0x100); + data->field_8 = AllocZeroed(0x20); + sub_8017580(data->field_0, 8); + gUnknown_02022C2C = 0x40; + data->field_20 = sub_8016DF0(data->field_C, data->field_4, 9); + sub_8019BA8(data->field_A0); + sub_8019F2C(); + data->state = 1; + break; + case 1: + sub_8019E70(data->spriteIds, taskData[0]); + if (++taskData[0] == 8) + data->state = 2; + break; + case 2: + sub_8010F84(0x40, 0, 0); + sub_8010FCC(gUnknown_02022C40.field_2, gUnknown_02022C40.field_A, gUnknown_02022C40.field_C); + sub_800B488(); + OpenLink(); + sub_8011C84(); + sub_8017580(data->field_8, 1); + sub_80175EC(data->field_4, 4); + sub_80175EC(data->field_C, 4); + gSpecialVar_Result = 0; + data->state = 3; + break; + case 3: + if ((sub_81B1360() == 8 || sub_81B1360() == 9) && gUnknown_02022C40.field_0 != 0) + { + id = GetCursorSelectionMonId(); + switch (gUnknown_02022C40.field_0) + { + case 1: + sub_8011090(0x54, 0, 1); + if (id >= PARTY_SIZE) + { + sub_801807C(&gUnknown_02022C40); + sub_8010FCC(0, 0, 0); + sub_801568C(gUnknown_082EF4FC); + } + else if (!sub_80180A0(GetCursorSelectionMonId(), &gUnknown_02022C40)) + { + sub_8015664(0x34, gUnknown_082EF47C); + } + else + { + data->state = 55; + } + break; + case 2: + sub_80156C8(data); + taskData[1] = gUnknown_02022C40.field_8; + if (id >= PARTY_SIZE) + { + sub_801568C(gUnknown_082EF544); + } + else + { + sub_8011090(0x54, 0, 1); + gUnknown_02022C2C = 0x44; + sub_80180E8(GetCursorSelectionMonId(), &gUnknown_02022C40); + data->state = 51; + } + break; + } + gUnknown_02022C40.field_0 = 0; + } + else + { + data->state = 4; + } + break; + case 4: + if (gSpecialVar_Result != 0) + { + if (gSpecialVar_Result == 9) + { + sub_8011090(0x54, 0, 1); + PlaySE(SE_PC_LOGIN); + StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); + data->state = 42; + gSpecialVar_Result = 0; + } + else if (gSpecialVar_Result == 11) + { + sub_8011090(0x54, 0, 1); + data->state = 23; + gSpecialVar_Result = 0; + } + else + { + taskData[0] = 0; + taskData[1] = gSpecialVar_Result - 1; + data->state = 24; + gSpecialVar_Result = 0; + } + } + else if (ScriptContext2_IsEnabled() != TRUE) + { + if (gMain.newKeys & A_BUTTON) + { + if (sub_801A2A8(data->field_0, &taskData[0], &taskData[1], data->spriteIds)) + { + PlaySE(SE_SELECT); + sub_80181CC(); + data->state = 24; + break; + } + else if (sub_8017940()) + { + sub_8011090(0x54, 0, 1); + PlaySE(SE_PC_LOGIN); + sub_80181CC(); + StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); + data->state = 45; + break; + } + } + + switch (sub_8016B00()) + { + case 1: + PlaySE(SE_PC_LOGIN); + case 2: + sub_801A274(data); + break; + case 4: + data->state = 11; + sub_80181CC(); + sub_8010FCC(0, 0, 0); + sub_8011090(0x53, sub_80181DC(data), 0); + break; + } + sub_801A284(data); + } + break; + case 23: + if (!FuncIsActiveTask(sub_809FA34)) + { + sub_8011090(0x40, 0, 0); + data->state = 4; + } + break; + case 24: + sub_801704C(); + playerGender = sub_8017CF8(taskData[1], data->field_0); + sub_8011090(0x54, 0, 1); + switch (sub_80179D4(data->field_0, taskData[0], taskData[1], playerGender)) + { + case 0: + data->state = 26; + break; + case 1: + sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, gUnknown_02022C2C); + data->field_12 = id; + data->state = 25; + break; + case 2: + sub_8015664(0x13, gStringVar4); + break; + } + break; + case 25: + sub_801704C(); + switch (sub_8011A74()) + { + case 4: + sub_801818C(TRUE); + data->state = 4; + break; + case 1: + case 2: + if (sub_8011B90() == TRUE) + sub_801568C(gUnknown_082EE6C8); + else + sub_8015664(30, gUnknown_082EE6C8); + + gUnknown_02022C2C = 0x40; + break; + } + + if (gReceivedRemoteLinkPlayers != 0) + { + sub_80143E4(gBlockSendBuffer, TRUE); + CreateTask(sub_80140E0, 5); + data->state = 38; + } + break; + case 38: + if (!FuncIsActiveTask(sub_80140E0)) + { + if (gUnknown_02022C2C == 0x44) + sub_8015664(31, gUnknown_082EE004); + else + data->state = 5; + } + break; + case 30: + if (gReceivedRemoteLinkPlayers == 0) + { + sub_801818C(FALSE); + sub_801A3D0(taskData[0], taskData[1], data->field_0); + data->state = 2; + } + break; + case 6: + var5 = sub_8017178(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_082F021C, &gUnknown_082F0244); + if (var5 != -1) + { + if (gReceivedRemoteLinkPlayers == 0) + { + data->state = 28; + } + else + { + data->field_98 = 0; + playerGender = sub_8017CF8(taskData[1], data->field_0); + switch (var5) + { + case -2: + case 0x40: + data->field_4C[0] = 0x40; + sub_800FE50(data->field_4C); + StringCopy(gStringVar4, gUnknown_082EEB80[gLinkPlayers[0].gender]); + data->state = 32; + break; + default: + gUnknown_02022C2C = var5; + gUnknown_02022C2D = (u32)(var5) >> 8; + if (gUnknown_02022C2C == 0x41 && !sub_8018024()) + { + sub_8015664(5, gUnknown_082EEBD0); + } + else + { + data->field_4C[0] = gUnknown_02022C2C | 0x40; + sub_800FE50(data->field_4C); + data->state = 27; + } + break; + } + } + } + break; + case 28: + StringCopy(gStringVar4, gUnknown_082EEB88); + data->state = 36; + break; + case 27: + sub_8017FD8(data); + playerGender = sub_8017CF8(taskData[1], data->field_0); + id = sub_8017984(data->field_4C[0] & 0x3F); + if (PrintOnTextbox(&data->textState, gUnknown_082EE82C[playerGender][id])) + { + taskData[3] = 0; + data->state = 29; + } + break; + case 32: + sub_800AC34(); + data->state = 36; + break; + case 31: + data->field_4C[0] = 0x44; + data->field_4C[1] = gUnknown_02022C40.species; + data->field_4C[2] = gUnknown_02022C40.level; + sub_800FE50(data->field_4C); + data->state = 29; + break; + case 29: + if (gReceivedRemoteLinkPlayers == 0) + { + StringCopy(gStringVar4, gUnknown_082EEB88); + data->state = 28; + } + else + { + sub_8017FD8(data); + if (data->field_98 == 0x51) + { + if (gUnknown_02022C2C == 8) + { + sub_8018220(gStringVar4, data, FALSE); + data->state = 40; + } + else + { + data->state = 13; + } + } + else if (data->field_98 == 0x52) + { + data->state = 32; + sub_8017D9C(gStringVar4, gUnknown_02022C2C | 0x40, gLinkPlayers[0].gender); + gUnknown_02022C2C = 0; + } + } + break; + case 5: + case 7: + id = sub_80179AC(&data->field_0->arr[taskData[1]]); + playerGender = sub_8017CF8(taskData[1], data->field_0); + sub_8015664(6, gUnknown_082EE24C[id][playerGender]); + break; + case 40: + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + data->state = 41; + sub_800ADF8(); + data->field_98 = 0; + data->field_9A = 0; + } + break; + case 41: + if (sub_800A520()) + { + if (GetMultiplayerId() == 0) + { + StringCopy(gStringVar1, gLinkPlayers[GetMultiplayerId() ^ 1].name); + id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name); + StringExpandPlaceholders(gStringVar4, gUnknown_082EE378[id]); + data->state = 33; + } + else + { + data->state = 7; + } + } + break; + case 19: + switch (sub_80170B8(&data->textState, FALSE)) + { + case 0: + CopyBgTilemapBufferToVram(0); + gUnknown_02022C2C = 0x45; + sub_8011090(0x45, 0, 1); + sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, gUnknown_02022C2C); + data->field_12 = taskData[1]; + data->state = 20; + taskData[3] = 0; + break; + case 1: + case -1: + playerGender = sub_8017CF8(taskData[1], data->field_0); + sub_801568C(gUnknown_082EEC9C[playerGender]); + break; + } + break; + case 20: + if (++taskData[2] > 60) + { + data->state = 21; + taskData[2] = 0; + } + break; + case 21: + switch (sub_8011A74()) + { + case 4: + sub_801818C(TRUE); + data->state = 4; + break; + case 1: + case 2: + playerGender = sub_8017CF8(taskData[1], data->field_0); + sub_8011090(0x54, 0, 1); + if (sub_8011B90() == TRUE) + sub_801568C(gUnknown_082EED3C[playerGender]); + else + sub_8015664(30, gUnknown_082EED3C[playerGender]); + break; + case 3: + data->state = 22; + break; + } + taskData[3]++; + break; + case 22: + if (sub_8011A80()) + { + playerGender = sub_8017CF8(taskData[1], data->field_0); + sub_8011090(0x54, 0, 1); + if (sub_8011B90() == TRUE) + sub_801568C(gUnknown_082EED3C[playerGender]); + else + sub_8015664(30, gUnknown_082EED3C[playerGender]); + } + if (gReceivedRemoteLinkPlayers != 0) + data->state = 16; + break; + case 11: + PlaySE(SE_PINPON); + sub_800EF7C(); + data->state = 12; + data->field_9A = 0; + break; + case 12: + if (sub_8011A80()) + { + sub_801818C(FALSE); + data->state = 2; + } + else if (gReceivedRemoteLinkPlayers != 0) + { + sub_80143E4(gBlockSendBuffer, TRUE); + CreateTask(sub_80140E0, 5); + data->state = 39; + } + break; + case 39: + sub_801689C(data); + if (!FuncIsActiveTask(sub_80140E0)) + { + data->state = 33; + StringCopy(gStringVar1, gLinkPlayers[1].name); + id = sub_800E540(gLinkPlayers[1].trainerId, gLinkPlayers[1].name); + StringExpandPlaceholders(gStringVar4, gUnknown_082EE324[id]); + } + break; + case 33: + sub_801689C(data); + if (PrintOnTextbox(&data->textState, gStringVar4)) + data->state = 34; + break; + case 34: + sub_801689C(data); + if (sub_80168DC(data) && gMain.newKeys & B_BUTTON) + { + sub_8011DE0(1); + StringCopy(gStringVar4, gUnknown_082EE598); + data->state = 36; + } + break; + case 35: + sub_8015664(9, gStringVar4); + break; + case 9: + switch (sub_80170B8(&data->textState, FALSE)) + { + case 0: + data->field_4C[0] = 0x51; + if (gUnknown_02022C2C == 0x45) + sub_8011090(gUnknown_02022C2C | 0x40, sub_801100C(1), 0); + else + sub_8011090(gUnknown_02022C2C | 0x40, sub_801100C(1), 1); + + data->field_8->arr[0].field_1B = 0; + taskData[3] = 0; + if (gUnknown_02022C2C == 0x41) + { + if (!sub_8018024()) + { + data->field_4C[0] = 0x52; + sub_800FE50(data->field_4C); + data->state = 10; + StringCopy(gStringVar4, gUnknown_082EEC14); + } + else + { + sub_800FE50(data->field_4C); + data->state = 13; + } + } + else if (gUnknown_02022C2C == 0x48) + { + sub_800FE50(data->field_4C); + sub_8018220(gStringVar4, data, 1); + data->state = 40; + } + else + { + sub_800FE50(data->field_4C); + data->state = 13; + } + break; + case 1: + case -1: + data->field_4C[0] = 0x52; + sub_800FE50(data->field_4C); + data->state = 10; + sub_8013078(gStringVar4, gUnknown_02022C2C); + break; + } + break; + case 10: + sub_800AC34(); + data->state = 36; + break; + case 36: + if (gReceivedRemoteLinkPlayers == 0) + { + gUnknown_02022C2C = 0x40; + sub_8015664(0x25, gStringVar4); + memset(data->field_4C, 0, sizeof(data->field_4C)); + data->field_9A = 0; + data->field_98 = 0; + } + break; + case 37: + data->state = 2; + sub_801818C(FALSE); + break; + case 13: + sub_8017E00(gStringVar4, gUnknown_02022C2C | 0x40); + sub_8015664(0xE, gStringVar4); + break; + case 14: + sub_800ADF8(); + data->state = 15; + break; + case 15: + if (sub_800A520()) + data->state = 16; + break; + case 16: + Free(data->field_8); + Free(data->field_0); + Free(data->field_C); + Free(data->field_4); + DestroyTask(data->field_20); + sub_8019F04(data->spriteIds); + data->state = 17; + break; + case 17: + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + data->state = 18; + break; + case 18: + if (!UpdatePaletteFade()) + { + sub_8019E3C(); + DestroyTask(taskId); + Free(gUnknown_02022C30.uRoom); + sub_80149D8(); + } + break; + case 42: + if (sub_800F7DC()->species == SPECIES_NONE) + { + data->state = 43; + } + else + { + if (sub_800F7DC()->species == SPECIES_EGG) + { + StringCopy(gStringVar4, gUnknown_082EF590); + } + else + { + StringCopy(gStringVar1, gSpeciesNames[sub_800F7DC()->species]); + ConvertIntToDecimalStringN(gStringVar2, sub_800F7DC()->unk_0b_1, STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gUnknown_082EF564); + } + sub_8015664(44, gStringVar4); + } + break; + case 43: + if (PrintOnTextbox(&data->textState, gUnknown_082EF20C)) + data->state = 47; + break; + case 47: + var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F025C, &gUnknown_082F027C); + if (var5 != -1) + { + if (var5 == -2 || var5 == 3) + { + data->state = 4; + sub_801818C(TRUE); + } + else + { + switch (var5) + { + case 1: + sub_8015664(53, gUnknown_082EF4C4); + break; + case 2: + sub_8015664(47, gUnknown_082EF298); + break; + } + } + } + break; + case 53: + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + data->state = 54; + break; + case 54: + if (!gPaletteFade.active) + { + gUnknown_02022C40.field_0 = 1; + gFieldCallback = sub_80AF128; + sub_81B8904(8, CB2_ReturnToField); + } + break; + case 52: + var5 = sub_8017178(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_082F0294, &gUnknown_082F032C); + if (var5 != -1) + { + switch (var5) + { + case -2: + case 18: + sub_801807C(&gUnknown_02022C40); + sub_8010FCC(0, 0, 0); + sub_801568C(gUnknown_082EF4FC); + break; + default: + gUnknown_02022C40.field_2 = var5; + data->state = 55; + break; + } + } + break; + case 55: + sub_8010FCC(gUnknown_02022C40.field_2, gUnknown_02022C40.field_A, gUnknown_02022C40.field_C); + sub_801568C(gUnknown_082EF520); + break; + case 44: + switch (sub_80170B8(&data->textState, FALSE)) + { + case 0: + data->state = 56; + break; + case 1: + case -1: + sub_801818C(TRUE); + data->state = 4; + break; + } + break; + case 56: + if (PrintOnTextbox(&data->textState, gUnknown_082EF5B8)) + { + sub_8010FCC(0, 0, 0); + sub_801807C(&gUnknown_02022C40); + sub_801818C(TRUE); + data->state = 4; + } + break; + case 45: + if (PrintOnTextbox(&data->textState, gUnknown_082EF1EC)) + data->state = 46; + break; + case 46: + sub_80173B0(); + data->state = 48; + break; + case 48: + var5 = sub_80172A0(&data->textState, &data->field_1D, &data->field_4A, &data->field_1E, &gUnknown_082F034C, &gUnknown_082F03A4, data->field_0); + if (var5 != -1) + { + switch (var5) + { + case -2: + case 8: + sub_801818C(TRUE); + data->state = 4; + break; + default: + sub_80173B0(); + switch (sub_8017D04(data->field_0->arr[var5].unk.field_0.type, data->field_0->arr[var5].unk.field_0.species)) + { + case 0: + sub_8018404(gStringVar1, &data->field_0->arr[var5]); + sub_8015664(49, gUnknown_082EF65C); + taskData[1] = var5; + break; + case 1: + sub_8018404(gStringVar1, &data->field_0->arr[var5]); + StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]); + sub_8015664(46, gUnknown_082EF6E4); + break; + case 2: + sub_8018404(gStringVar1, &data->field_0->arr[var5]); + StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]); + sub_8015664(46, gUnknown_082EF718); + break; + } + break; + } + } + break; + case 49: + switch (sub_80170B8(&data->textState, FALSE)) + { + case 0: + data->state = 50; + break; + case -1: + case 1: + sub_801818C(TRUE); + data->state = 4; + break; + } + break; + case 50: + if (PrintOnTextbox(&data->textState, gUnknown_082EF4C4)) + { + gUnknown_02022C40.field_0 = 2; + memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38)); + gUnknown_02022C3E = data->field_0->arr[taskData[1]].unk.field_0.type; + gUnknown_02022C3C = data->field_0->arr[taskData[1]].unk.field_0.species; + gFieldCallback = sub_80AF128; + sub_81B8904(9, CB2_ReturnToField); + sub_80156B0(data); + gUnknown_02022C40.field_8 = taskData[1]; + } + break; + case 51: + gUnknown_02022C2C = 0x44; + sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, 0x44); + sub_8018404(gStringVar1, &data->field_0->arr[taskData[1]]); + sub_8017020(gUnknown_082EE17C[2]); + data->state = 25; + break; + case 26: + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + sub_801818C(TRUE); + sub_801A3D0(taskData[0], taskData[1], data->field_0); + data->state = 4; + } + break; + case 8: + if (PrintOnTextbox(&data->textState, gStringVar4)) + data->state = data->stateAfterPrint; + break; + } +} -// .rodata +void var_800D_set_xB(void) +{ + if (InUnionRoom() == TRUE) + gSpecialVar_Result = 11; +} -// .text +*/ diff --git a/src/rotating_gate.c b/src/rotating_gate.c index 1f5ef165f..fcced6c8c 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -189,12 +189,6 @@ struct RotatingGatePuzzle u8 orientation; }; -struct Coords8 -{ - s8 deltaX; - s8 deltaY; -}; - // .rodata // Fortree static const struct RotatingGatePuzzle sRotatingGate_FortreePuzzleConfig[] = diff --git a/src/safari_zone.c b/src/safari_zone.c index c0c098b38..01d72fa13 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -31,7 +31,7 @@ extern void IncrementGameStat(u8 index); extern void ScriptContext1_SetupScript(u8*); extern void ScriptContext2_RunNewScript(u8*); extern void CB2_ReturnToField(void); -extern void CB2_ReturnToFieldContinueScript(void); +extern void CB2_ReturnToFieldContinueScriptPlayMapMusic(void); extern void CB2_LoadMap(void); extern void sub_80AF6F0(void); extern void ScriptContext1_Stop(void); @@ -125,7 +125,7 @@ void CB2_EndSafariBattle(void) { ScriptContext1_SetupScript(EventScript_2A4B9B); ScriptContext1_Stop(); - SetMainCallback2(CB2_ReturnToFieldContinueScript); + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } } diff --git a/src/scrcmd.c b/src/scrcmd.c index 57ae9cffa..01d04704a 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1515,7 +1515,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) xText = (xWindow - xText - 1) * 8 + 3; yText = (yText - yWindow - 1) * 8; - winTemplate = sub_8198A50(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); + winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); gUnknown_03000F30 = AddWindow(&winTemplate); LoadUserWindowBorderGfx(gUnknown_03000F30, 0x214, 0xE0); NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0); @@ -1909,7 +1909,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx) { u8 slotMachineIndex = VarGet(ScriptReadHalfword(ctx)); - PlaySlotMachine(slotMachineIndex, CB2_ReturnToFieldContinueScript); + PlaySlotMachine(slotMachineIndex, CB2_ReturnToFieldContinueScriptPlayMapMusic); ScriptContext1_Stop(); return TRUE; } diff --git a/src/strings.c b/src/strings.c new file mode 100644 index 000000000..cdbbb4468 --- /dev/null +++ b/src/strings.c @@ -0,0 +1,2051 @@ +#include "global.h" +#include "strings.h" + +// Yes, all the aligns are absolutely necessary. +// Until someone can come up with a better way to align byte arrays in C, this is what we're doing. +asm(".align 2"); +const u8 gExpandedPlaceholder_Empty[] = _(""); +const u8 gExpandedPlaceholder_Kun[] = _(""); +const u8 gExpandedPlaceholder_Chan[] = _(""); +const u8 gExpandedPlaceholder_Sapphire[] = _("SAPPHIRE"); +const u8 gExpandedPlaceholder_Ruby[] = _("RUBY"); +const u8 gExpandedPlaceholder_Emerald[] = _("EMERALD"); +const u8 gExpandedPlaceholder_Aqua[] = _("AQUA"); +const u8 gExpandedPlaceholder_Magma[] = _("MAGMA"); +const u8 gExpandedPlaceholder_Archie[] = _("ARCHIE"); +const u8 gExpandedPlaceholder_Maxie[] = _("MAXIE"); +const u8 gExpandedPlaceholder_Kyogre[] = _("KYOGRE"); +const u8 gExpandedPlaceholder_Groudon[] = _("GROUDON"); +const u8 gExpandedPlaceholder_Brendan[] = _("BRENDAN"); +const u8 gExpandedPlaceholder_May[] = _("MAY"); +const u8 gText_EggNickname[] = _("EGG"); +const u8 gText_Pokemon[] = _("POKéMON"); +const u8 gProfBirchMatchCallName[] = _("PROF. BIRCH"); +const u8 gText_MainMenuNewGame[] = _("NEW GAME"); +const u8 gText_MainMenuContinue[] = _("CONTINUE"); +const u8 gText_MainMenuOption[] = _("OPTION"); +const u8 gText_MainMenuMysteryGift[] = _("MYSTERY GIFT"); +const u8 gText_MainMenuMysteryGift2[] = _("MYSTERY GIFT"); +const u8 gText_MainMenuMysteryEvents[] = _("MYSTERY EVENTS"); +const u8 gText_WirelessNotConnected[] = _("The Wireless Adapter is not\nconnected."); +const u8 gText_MysteryGiftCantUse[] = _("MYSTERY GIFT can’t be used while\nthe Wireless Adapter is attached."); +const u8 gText_MysteryEventsCantUse[] = _("MYSTERY EVENTS can’t be used while\nthe Wireless Adapter is attached."); +const u8 gUnknown_085E836D[] = _("Updating save file using external\ndata. Please wait."); +const u8 gUnknown_085E83A2[] = _("The save file has been updated."); +const u8 gText_SaveFileCorrupted[] = _("The save file is corrupted. The\nprevious save file will be loaded."); +const u8 gText_SaveFileErased[] = _("The save file has been erased\ndue to corruption or damage."); +const u8 gJPText_No1MSubCircuit[] = _("1Mサブきばんが ささっていません!"); +const u8 gText_BatteryRunDry[] = _("The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur."); +const u8 gUnknown_085E84BF[] = _("PLAYER"); +const u8 gUnknown_085E84C6[] = _("POKéDEX"); +const u8 gText_MainMenuTime[] = _("TIME"); +const u8 gUnknown_085E84D3[] = _("BADGES"); +const u8 gUnknown_085E84DA[] = _("A Button"); +const u8 gUnknown_085E84E3[] = _("B Button"); +const u8 gUnknown_085E84EC[] = _("R Button"); +const u8 gUnknown_085E84F5[] = _("L Button"); +const u8 gUnknown_085E84FE[] = _("START"); +const u8 gUnknown_085E8504[] = _("SELECT"); +const u8 gUnknown_085E850B[] = _("+ Control Pad"); +const u8 gUnknown_085E8519[] = _("L Button R Button"); +const u8 gUnknown_085E852C[] = _("CONTROLS"); + +asm(".align 2"); +const u8 gUnknown_085E8538[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK"); + +asm(".align 2"); +const u8 gUnknown_085E8544[] = _("{A_BUTTON}NEXT"); + +asm(".align 2"); +const u8 gUnknown_085E854C[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK"); + +asm(".align 2"); +const u8 gText_PickNextCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL"); + +asm(".align 2"); +const u8 gText_PickCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL"); + +asm(".align 2"); +const u8 gText_UnkCtrlF800Exit[] = _("{A_BUTTON}EXIT"); +const u8 gText_BirchBoy[] = _("BOY"); +const u8 gText_BirchGirl[] = _("GIRL"); +const u8 gText_DefaultNameStu[] = _("STU"); +const u8 gText_DefaultNameMilton[] = _("MILTON"); +const u8 gText_DefaultNameTom[] = _("TOM"); +const u8 gText_DefaultNameKenny[] = _("KENNY"); +const u8 gText_DefaultNameReid[] = _("REID"); +const u8 gText_DefaultNameJude[] = _("JUDE"); +const u8 gText_DefaultNameJaxson[] = _("JAXSON"); +const u8 gText_DefaultNameEaston[] = _("EASTON"); +const u8 gText_DefaultNameWalker[] = _("WALKER"); +const u8 gText_DefaultNameTeru[] = _("TERU"); +const u8 gText_DefaultNameJohnny[] = _("JOHNNY"); +const u8 gText_DefaultNameBrett[] = _("BRETT"); +const u8 gText_DefaultNameSeth[] = _("SETH"); +const u8 gText_DefaultNameTerry[] = _("TERRY"); +const u8 gText_DefaultNameCasey[] = _("CASEY"); +const u8 gText_DefaultNameDarren[] = _("DARREN"); +const u8 gText_DefaultNameLandon[] = _("LANDON"); +const u8 gText_DefaultNameCollin[] = _("COLLIN"); +const u8 gText_DefaultNameStanley[] = _("STANLEY"); +const u8 gText_DefaultNameQuincy[] = _("QUINCY"); +const u8 gText_DefaultNameKimmy[] = _("KIMMY"); +const u8 gText_DefaultNameTiara[] = _("TIARA"); +const u8 gText_DefaultNameBella[] = _("BELLA"); +const u8 gText_DefaultNameJayla[] = _("JAYLA"); +const u8 gText_DefaultNameAllie[] = _("ALLIE"); +const u8 gText_DefaultNameLianna[] = _("LIANNA"); +const u8 gText_DefaultNameSara[] = _("SARA"); +const u8 gText_DefaultNameMonica[] = _("MONICA"); +const u8 gText_DefaultNameCamila[] = _("CAMILA"); +const u8 gText_DefaultNameAubree[] = _("AUBREE"); +const u8 gText_DefaultNameRuthie[] = _("RUTHIE"); +const u8 gText_DefaultNameHazel[] = _("HAZEL"); +const u8 gText_DefaultNameNadine[] = _("NADINE"); +const u8 gText_DefaultNameTanja[] = _("TANJA"); +const u8 gText_DefaultNameYasmin[] = _("YASMIN"); +const u8 gText_DefaultNameNicola[] = _("NICOLA"); +const u8 gText_DefaultNameLillie[] = _("LILLIE"); +const u8 gText_DefaultNameTerra[] = _("TERRA"); +const u8 gText_DefaultNameLucy[] = _("LUCY"); +const u8 gText_DefaultNameHalie[] = _("HALIE"); +const u8 gText_ThisIsAPokemon[] = _("This is what we call a “POKéMON.”{PAUSE 96}\p"); +const u8 gText_5MarksPokemon[] = _("????? POKéMON"); +const u8 gText_UnkHeight[] = _("{CLEAR_TO 0x0C}??’??”"); +const u8 gText_UnkWeight[] = _("????.? lbs."); +const u8 gUnknown_085E86DC[] = _(" POKéMON"); +const u8 gUnknown_085E86FB[] = _("{CLEAR_TO 0x0C} ’ ”"); +const u8 gUnknown_085E8709[] = _(" . lbs."); +const u8 gUnknown_085E871A[] = _(""); +const u8 gText_CryOf[] = _("CRY OF"); +const u8 gUnknown_085E8722[] = _(""); +const u8 gText_SizeComparedTo[] = _("SIZE COMPARED TO "); +const u8 gText_PokedexRegistration[] = _("POKéDEX registration completed."); +const u8 gText_HTHeight[] = _("HT"); +const u8 gText_WTWeight[] = _("WT"); +const u8 gText_SearchingPleaseWait[] = _("Searching…\nPlease wait."); +const u8 gText_SearchCompleted[] = _("Search completed."); +const u8 gUnknown_085E8785[] = _("No matching POKéMON were found."); +const u8 gUnknown_085E87A5[] = _("Search for POKéMON based on\nselected parameters."); +const u8 gUnknown_085E87D6[] = _("Switch POKéDEX listings."); +const u8 gUnknown_085E87EF[] = _("Return to the POKéDEX."); +const u8 gUnknown_085E8806[] = _("Select the POKéDEX mode."); +const u8 gUnknown_085E881F[] = _("Select the POKéDEX listing mode."); +const u8 gUnknown_085E8840[] = _("List by the first letter in the name.\nSpotted POKéMON only."); +const u8 gUnknown_085E887C[] = _("List by body color.\nSpotted POKéMON only."); +const u8 gUnknown_085E88A6[] = _("List by type.\nOwned POKéMON only."); +const u8 gUnknown_085E88C8[] = _("Execute search/switch."); +const u8 gUnknown_085E88DF[] = _("HOENN DEX"); +const u8 gUnknown_085E88E9[] = _("NATIONAL DEX"); +const u8 gUnknown_085E88F6[] = _("NUMERICAL MODE"); +const u8 gUnknown_085E8905[] = _("A TO Z MODE"); +const u8 gUnknown_085E8911[] = _("HEAVIEST MODE"); +const u8 gUnknown_085E891F[] = _("LIGHTEST MODE"); +const u8 gUnknown_085E892D[] = _("TALLEST MODE"); +const u8 gUnknown_085E893A[] = _("SMALLEST MODE"); +const u8 gUnknown_085E8948[] = _("ABC"); +const u8 gUnknown_085E894C[] = _("DEF"); +const u8 gUnknown_085E8950[] = _("GHI"); +const u8 gUnknown_085E8954[] = _("JKL"); +const u8 gUnknown_085E8958[] = _("MNO"); +const u8 gUnknown_085E895C[] = _("PQR"); +const u8 gUnknown_085E8960[] = _("STU"); +const u8 gUnknown_085E8964[] = _("VWX"); +const u8 gUnknown_085E8968[] = _("YZ"); +const u8 gUnknown_085E896B[] = _("RED"); +const u8 gUnknown_085E896F[] = _("BLUE"); +const u8 gUnknown_085E8974[] = _("YELLOW"); +const u8 gUnknown_085E897B[] = _("GREEN"); +const u8 gUnknown_085E8981[] = _("BLACK"); +const u8 gUnknown_085E8987[] = _("BROWN"); +const u8 gUnknown_085E898D[] = _("PURPLE"); +const u8 gUnknown_085E8994[] = _("GRAY"); +const u8 gUnknown_085E8999[] = _("WHITE"); +const u8 gUnknown_085E899F[] = _("PINK"); +const u8 gUnknown_085E89A4[] = _("HOENN region’s POKéDEX"); +const u8 gUnknown_085E89BB[] = _("National edition POKéDEX"); +const u8 gUnknown_085E89D4[] = _("POKéMON are listed according to their\nnumber."); +const u8 gUnknown_085E8A02[] = _("Spotted and owned POKéMON are listed\nalphabetically."); +const u8 gUnknown_085E8A37[] = _("Owned POKéMON are listed from the\nheaviest to the lightest."); +const u8 gUnknown_085E8A73[] = _("Owned POKéMON are listed from the\nlightest to the heaviest."); +const u8 gUnknown_085E8AAF[] = _("Owned POKéMON are listed from the\ntallest to the smallest."); +const u8 gUnknown_085E8AEA[] = _("Owned POKéMON are listed from the\nsmallest to the tallest."); +const u8 gUnknown_085E8B25[] = _(""); +const u8 gUnknown_085E8B26[] = _("DON’T SPECIFY."); +const u8 gUnknown_085E8B35[] = _("NONE"); +const u8 gText_SelectorArrow[] = _("▶"); +const u8 gUnknown_085E8B3C[] = _(" "); +const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!"); +const u8 gUnknown_085E8B5B[] = _("Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH’s POKéDEX rating!\pPROF. BIRCH: Let’s see…\p"); +const u8 gUnknown_085E8BBA[] = _("SAVING…\nDON’T TURN OFF THE POWER."); +const u8 gText_HOFCorrupted[] = _("The HALL OF FAME data is corrupted."); +const u8 gText_HOFNumber[] = _("HALL OF FAME No. {STR_VAR_1}"); +const u8 gText_LeagueChamp[] = _("LEAGUE CHAMPION!\nCONGRATULATIONS!"); +const u8 gText_Number[] = _("No. "); +const u8 gText_Level[] = _("Lv. "); +const u8 gUnknown_085E8C40[] = _("IDNo. /"); +const u8 gText_Name[] = _("NAME"); +const u8 gText_IDNumber[] = _("IDNo."); +const u8 gText_BirchInTrouble[] = _("PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!"); +const u8 gText_ConfirmStarterChoice[] = _("Do you choose this POKéMON?"); +const u8 gUnknown_085E8CAC[] = _("POKéMON"); +const u8 gText_FlyToWhere[] = _("FLY to where?"); +const u8 gMenuText_Use[] = _("USE"); +const u8 gMenuText_Toss[] = _("TOSS"); +const u8 gMenuText_Register[] = _("REGISTER"); +const u8 gMenuText_Give[] = _("GIVE"); +const u8 gMenuText_CheckTag[] = _("CHECK TAG"); +const u8 gMenuText_Confirm[] = _("CONFIRM"); +const u8 gMenuText_Walk[] = _("WALK"); +const u8 gText_Cancel[] = _("CANCEL"); +const u8 gText_Cancel2[] = _("CANCEL"); +const u8 gMenuText_Show[] = _("SHOW"); +const u8 gText_EmptyString2[] = _(""); +const u8 gUnknown_085E8D04[] = _("CANCEL"); +const u8 gText_Item[] = _("ITEM"); +const u8 gText_Mail[] = _("MAIL"); +const u8 gText_Take[] = _("TAKE"); +const u8 gText_Store[] = _("STORE"); +const u8 gMenuText_Check[] = _("CHECK"); +const u8 gText_None[] = _("NONE"); +const u8 gMenuText_Deselect[] = _("DESELECT"); +const u8 gText_ThreeMarks[] = _("???"); +const u8 gText_FiveMarks[] = _("?????"); +const u8 gText_Slash[] = _("/"); +const u8 gText_OneDash[] = _("-"); +const u8 gText_TwoDashes[] = _("--"); +const u8 gText_ThreeDashes[] = _("---"); +const u8 gText_MaleSymbol[] = _("♂"); +const u8 gText_FemaleSymbol[] = _("♀"); +const u8 gText_LevelSymbol[] = _("{LV}"); +const u8 gText_UnkCtrlF908Clear01[] = _("{NO}{CLEAR 0x01}"); +const u8 gUnknown_085E8D55[] = _("+"); +const u8 gUnknown_085E8D57[] = _("{RIGHT_ARROW}"); +const u8 gText_UnkCtrlF907F908[] = _("{ID}{NO}"); +const u8 gText_Space[] = _(" "); +const u8 gText_SelectorArrow2[] = _("▶"); +const u8 gText_GoBackPrevMenu[] = _("Go back to the\nprevious menu."); +const u8 gText_WhatWouldYouLike[] = _("What would you like to do?"); +const u8 gMenuText_Give2[] = _("GIVE"); +const u8 gText_xVar1[] = _("×{STR_VAR_1}"); +const u8 gUnknown_085E8DA4[] = _(" BERRY"); +const u8 gText_Coins[] = _("{STR_VAR_1} COINS"); +const u8 gText_CloseBag[] = _("CLOSE BAG"); +const u8 gText_Var1IsSelected[] = _("{STR_VAR_1} is\nselected."); +const u8 gText_CantWriteMail[] = _("You can’t write\nMAIL here."); +const u8 gText_NoPokemon[] = _("There is no\nPOKéMON."); +const u8 gText_MoveVar1Where[] = _("Move the\n{STR_VAR_1}\nwhere?"); +const u8 gText_Var1CantBeHeld[] = _("The {STR_VAR_1} can’t be held."); +const u8 gText_Var1CantBeHeldHere[] = _("The {STR_VAR_1} can’t be held\nhere."); +const u8 gText_DepositHowManyVar1[] = _("Deposit how many\n{STR_VAR_1}(s)?"); +const u8 gText_DepositedVar2Var1s[] = _("Deposited {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gText_NoRoomForItems[] = _("There’s no room to\nstore items."); +const u8 gText_CantStoreImportantItems[] = _("Important items\ncan’t be stored in\nthe PC!"); +const u8 gText_TooImportantToToss[] = _("That’s much too\nimportant to toss\nout!"); +const u8 gText_TossHowManyVar1s[] = _("Toss out how many\n{STR_VAR_1}(s)?"); +const u8 gText_ThrewAwayVar2Var1s[] = _("Threw away {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gText_ConfirmTossItems[] = _("Is it okay to\nthrow away {STR_VAR_2}\n{STR_VAR_1}(s)?"); +const u8 gText_DadsAdvice[] = _("DAD’s advice…\n{PLAYER}, there’s a time and place for\leverything!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantDismountBike[] = _("You can’t dismount your BIKE here.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemFinderNearby[] = _("Huh?\nThe ITEMFINDER’s responding!\pThere’s an item buried around here!{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemFinderOnTop[] = _("Oh!\nThe ITEMFINDER’s shaking wildly!{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemFinderNothing[] = _("… … … …Nope!\nThere’s no response.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CoinCase[] = _("Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +const u8 gText_BootedUpTM[] = _("Booted up a TM."); +const u8 gText_BootedUpHM[] = _("Booted up an HM."); +const u8 gText_TMHMContainedVar1[] = _("It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?"); +const u8 gText_PlayerUsedVar2[] = _("{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_RepelEffectsLingered[] = _("But the effects of a REPEL\nlingered from earlier.{PAUSE_UNTIL_PRESS}"); +const u8 gText_UsedVar2WildLured[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}"); +const u8 gText_UsedVar2WildRepelled[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}"); +const u8 gText_BoxFull[] = _("The BOX is full.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PowderQty[] = _("POWDER QTY: {STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +const u8 gText_TheField[] = _("the field"); +const u8 gText_TheBattle[] = _("the battle"); +const u8 gText_ThePokemonList[] = _("the POKéMON LIST"); +const u8 gText_TheShop[] = _("the shop"); +const u8 gText_ThePC[] = _("the PC"); + +const u8 *const gReturnToXStringsTable[] = +{ + gText_TheField, + gText_TheBattle, + gText_ThePokemonList, + gText_TheShop, + gText_TheField, + gText_TheField, + gText_ThePC, + gText_TheField, + gText_TheField, + gText_TheField, + gText_TheBattle, + gText_ThePC +}; + +const u8 *const gReturnToXStringsTable2[] = +{ + gText_TheField, + gText_TheBattle, + gText_ThePokemonList, + gText_TheField +}; + +const u8 gText_ReturnToVar1[] = _("Return to\n{STR_VAR_1}."); +const u8 gText_ItemsPocket[] = _("ITEMS"); +const u8 gText_PokeBallsPocket[] = _("POKé BALLS"); +const u8 gText_TMHMPocket[] = _("TMs & HMs"); +const u8 gText_BerriesPocket[] = _("BERRIES"); +const u8 gText_KeyItemsPocket[] = _("KEY ITEMS"); + +const u8 *const gPocketNamesStringsTable[] = +{ + gText_ItemsPocket, + gText_PokeBallsPocket, + gText_TMHMPocket, + gText_BerriesPocket, + gText_KeyItemsPocket +}; + +const u8 gText_UnkF908Var1Clear7Var2[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}"); +const u8 gText_ClearTo11Var1Clear5Var2[] = _("{CLEAR_TO 0x11}{STR_VAR_1}{CLEAR 0x05}{STR_VAR_2}"); +const u8 gText_SizeSlash[] = _("SIZE /"); +const u8 gText_FirmSlash[] = _("FIRM /"); +const u8 gText_Var1DotVar2[] = _("{STR_VAR_1}.{STR_VAR_2}”"); + +// Berry firmness strings +const u8 gBerryFirmnessString_VerySoft[] = _("Very soft"); +const u8 gBerryFirmnessString_Soft[] = _("Soft"); +const u8 gBerryFirmnessString_Hard[] = _("Hard"); +const u8 gBerryFirmnessString_VeryHard[] = _("Very hard"); +const u8 gBerryFirmnessString_SuperHard[] = _("Super hard"); + +const u8 gText_UnkF908Var1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}"); +const u8 gText_BerryTag[] = _("BERRY TAG"); +const u8 gText_RedPokeblock[] = _("RED {POKEBLOCK}"); +const u8 gText_BluePokeblock[] = _("BLUE {POKEBLOCK}"); +const u8 gText_PinkPokeblock[] = _("PINK {POKEBLOCK}"); +const u8 gText_GreenPokeblock[] = _("GREEN {POKEBLOCK}"); +const u8 gText_YellowPokeblock[] = _("YELLOW {POKEBLOCK}"); +const u8 gText_PurplePokeblock[] = _("PURPLE {POKEBLOCK}"); +const u8 gText_IndigoPokeblock[] = _("INDIGO {POKEBLOCK}"); +const u8 gText_BrownPokeblock[] = _("BROWN {POKEBLOCK}"); +const u8 gText_LiteBluePokeblock[] = _("LITEBLUE {POKEBLOCK}"); +const u8 gText_OlivePokeblock[] = _("OLIVE {POKEBLOCK}"); +const u8 gText_GrayPokeblock[] = _("GRAY {POKEBLOCK}"); +const u8 gText_BlackPokeblock[] = _("BLACK {POKEBLOCK}"); +const u8 gText_WhitePokeblock[] = _("WHITE {POKEBLOCK}"); +const u8 gText_GoldPokeblock[] = _("GOLD {POKEBLOCK}"); +const u8 gText_Spicy[] = _("SPICY"); +const u8 gText_Dry[] = _("DRY"); +const u8 gText_Sweet[] = _("SWEET"); +const u8 gText_Bitter[] = _("BITTER"); +const u8 gText_Sour[] = _("SOUR"); +const u8 gUnknown_085E9339[] = _("TASTY"); +const u8 gUnknown_085E933F[] = _("FEEL"); +const u8 gText_StowCase[] = _("Stow CASE."); +const u8 gText_LvVar1[] = _("{LV}{STR_VAR_1}"); +const u8 gText_ThrowAwayVar1[] = _("Throw away this\n{STR_VAR_1}?"); +const u8 gText_Var1ThrownAway[] = _("The {STR_VAR_1}\nwas thrown away."); +const u8 gText_Var1AteTheVar2[] = _("{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Var1HappilyAteVar2[] = _("{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Var1DisdainfullyAteVar2[] = _("{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_085E93C7[] = _("BUY"); +const u8 gUnknown_085E93CB[] = _("SELL"); +const u8 gUnknown_085E93D0[] = _("QUIT"); +const u8 gText_InBagVar1[] = _("IN BAG: {STR_VAR_1}"); +const u8 gText_QuitShopping[] = _("Quit shopping."); +const u8 gText_Var1CertainlyHowMany[] = _("{STR_VAR_1}? Certainly.\nHow many would you like?"); +const u8 gText_Var1CertainlyHowMany2[] = _("{STR_VAR_1}? Certainly.\nHow many would you like?"); +const u8 gText_Var1AndYouWantedVar2[] = _("{STR_VAR_1}? And you wanted {STR_VAR_2}?\nThat will be ¥{STR_VAR_3}."); +const u8 gText_Var1IsItThatllBeVar2[] = _("{STR_VAR_1}, is it?\nThat’ll be ¥{STR_VAR_2}. Do you want it?"); +const u8 gText_YouWantedVar1ThatllBeVar2[] = _("You wanted {STR_VAR_1}?\nThat’ll be ¥{STR_VAR_2}. Will that be okay?"); +const u8 gText_HereYouGoThankYou[] = _("Here you go!\nThank you very much."); +const u8 gText_ThankYouIllSendItHome[] = _("Thank you!\nI’ll send it to your home PC."); +const u8 gText_ThanksIllSendItHome[] = _("Thanks!\nI’ll send it to your PC at home."); +const u8 gText_YouDontHaveMoney[] = _("You don’t have enough money.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoMoreRoomForThis[] = _("You have no more room for this\nitem.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SpaceForVar1Full[] = _("The space for {STR_VAR_1} is full.{PAUSE_UNTIL_PRESS}"); +const u8 gText_AnythingElseICanHelp[] = _("Is there anything else I can help\nyou with?"); +const u8 gText_CanIHelpWithAnythingElse[] = _("Can I help you with anything else?"); +const u8 gText_ThrowInPremierBall[] = _("I’ll throw in a PREMIER BALL, too.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantBuyKeyItem[] = _("{STR_VAR_2}? Oh, no.\nI can’t buy that.{PAUSE_UNTIL_PRESS}"); +const u8 gText_HowManyToSell[] = _("{STR_VAR_2}?\nHow many would you like to sell?"); +const u8 gText_ICanPayVar1[] = _("I can pay ¥{STR_VAR_1}.\nWould that be okay?"); +const u8 gText_TurnedOverVar1ForVar2[] = _("Turned over the {STR_VAR_2}\nand received ¥{STR_VAR_1}."); +const u8 gText_PokedollarVar1[] = _("¥{STR_VAR_1}"); +const u8 gText_Shift[] = _("SHIFT"); +const u8 gText_SendOut[] = _("SEND OUT"); +const u8 gText_Switch2[] = _("SWITCH"); +const u8 gText_Summary5[] = _("SUMMARY"); +const u8 gUnknown_085E96BE[] = _("MOVES"); +const u8 gText_Enter[] = _("ENTER"); +const u8 gText_NoEntry[] = _("NO ENTRY"); +const u8 gText_Take2[] = _("TAKE"); +const u8 gText_Read2[] = _("READ"); +const u8 gText_Trade4[] = _("TRADE"); +const u8 gText_HP3[] = _("HP"); +const u8 gText_SpAtk3[] = _("SP. ATK"); +const u8 gText_SpDef3[] = _("SP. DEF"); +const u8 gText_WontHaveEffect[] = _("It won’t have any effect.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantBeUsedOnPkmn[] = _("This can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCantSwitchOut[] = _("{STR_VAR_1} can’t be switched\nout!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyInBattle[] = _("{STR_VAR_1} is already\nin battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadySelected[] = _("{STR_VAR_1} has already been\nselected.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHasNoEnergy[] = _("{STR_VAR_1} has no energy\nleft to battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantSwitchWithAlly[] = _("You can’t switch {STR_VAR_1}’s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}"); +const u8 gText_EggCantBattle[] = _("An EGG can’t battle!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantUseUntilNewBadge[] = _("This can’t be used until a new\nBADGE is obtained.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoMoreThanVar1Pkmn[] = _("No more than {STR_VAR_1} POKéMON\nmay enter.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SendMailToPC[] = _("Send the removed MAIL to\nyour PC?"); +const u8 gText_MailSentToPC[] = _("The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PCMailboxFull[] = _("Your PC’s MAILBOX is full.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailMessageWillBeLost[] = _("If the MAIL is removed, the\nmessage will be lost. Okay?"); +const u8 gText_RemoveMailBeforeItem[] = _("MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnWasGivenItem[] = _("{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SwitchPkmnItem[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?"); +const u8 gText_PkmnNotHolding[] = _("{STR_VAR_1} isn’t holding\nanything.{PAUSE_UNTIL_PRESS}"); +const u8 gText_RecievedItemFromPkmn[] = _("Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailTakenFromPkmn[] = _("MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SwitchedPkmnItem[] = _("The {STR_VAR_2} was taken and\nreplaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHoldingItemCantHoldMail[] = _("This POKéMON is holding an\nitem. It cannot hold MAIL.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailTransferredFromMailbox[] = _("MAIL was transferred from\nthe MAILBOX.{PAUSE_UNTIL_PRESS}"); +const u8 gText_BagFullCouldNotRemoveItem[] = _("The BAG is full. The POKéMON’s\nitem could not be removed.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnLearnedMove3[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!"); +const u8 gText_PkmnCantLearnMove[] = _("{STR_VAR_1} and {STR_VAR_2}\nare not compatible.\p{STR_VAR_2} can’t be\nlearned.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnNeedsToReplaceMove[] = _("{STR_VAR_1} wants to learn the\nmove {STR_VAR_2}.\pHowever, {STR_VAR_1} already\nknows four moves.\pShould a move be deleted and\nreplaced with {STR_VAR_2}?"); +const u8 gText_StopLearningMove2[] = _("Stop trying to teach\n{STR_VAR_2}?"); +const u8 gText_MoveNotLearned[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WhichMoveToForget[] = _("Which move should be forgotten?{PAUSE_UNTIL_PRESS}"); +const u8 gText_12PoofForgotMove[] = _("1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p{STR_VAR_1} forgot how to\nuse {STR_VAR_2}.\pAnd…{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyKnows[] = _("{STR_VAR_1} already knows\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHPRestoredByVar2[] = _("{STR_VAR_1}’s HP was restored\nby {STR_VAR_2} point(s).{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCuredOfPoison[] = _("{STR_VAR_1} was cured of its\npoisoning.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCuredOfParalysis[] = _("{STR_VAR_1} was cured of\nparalysis.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnWokeUp2[] = _("{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnBurnHealed[] = _("{STR_VAR_1}’s burn was healed.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnThawedOut[] = _("{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PPWasRestored[] = _("PP was restored.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_085E9CCA[] = _("{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnBecameHealthy[] = _("{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MovesPPIncreased[] = _("{STR_VAR_1}’s PP increased.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnElevatedToLvVar2[] = _("{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}."); +const u8 gText_PkmnBaseVar2StatIncreased[] = _("{STR_VAR_1}’s base {STR_VAR_2}\nstat was raised.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnFriendlyBaseVar2Fell[] = _("{STR_VAR_1} turned friendly.\nThe base {STR_VAR_2} fell!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAdoresBaseVar2Fell[] = _("{STR_VAR_1} adores you!\nThe base {STR_VAR_2} fell!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnFriendlyBaseVar2CantFall[] = _("{STR_VAR_1} turned friendly.\nThe base {STR_VAR_2} can’t fall!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnSnappedOutOfConfusion[] = _("{STR_VAR_1} snapped out of its\nconfusion.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnGotOverInfatuation[] = _("{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ThrowAwayItem[] = _("Throw away this\n{STR_VAR_1}?"); +const u8 gText_ItemThrownAway[] = _("The {STR_VAR_1}\nwas thrown away.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_085E9E2E[] = _("Teach which POKéMON?"); +const u8 gUnknown_085E9E43[] = _("Choose a POKéMON."); +const u8 gUnknown_085E9E55[] = _("Move to where?"); +const u8 gUnknown_085E9E64[] = _("Teach which POKéMON?"); +const u8 gUnknown_085E9E79[] = _("Use on which POKéMON?"); +const u8 gUnknown_085E9E8F[] = _("Give to which POKéMON?"); +const u8 gUnknown_085E9EA6[] = _("Do what with this {PKMN}?"); +const u8 gUnknown_085E9EBC[] = _("There’s nothing to CUT."); +const u8 gUnknown_085E9ED4[] = _("You can’t SURF here."); +const u8 gUnknown_085E9EE9[] = _("You’re already SURFING."); +const u8 gUnknown_085E9F01[] = _("Can’t use that here."); +const u8 gUnknown_085E9F16[] = _("Restore which move?"); +const u8 gUnknown_085E9F2A[] = _("Boost PP of which move?"); +const u8 gUnknown_085E9F42[] = _("Do what with an item?"); +const u8 gUnknown_085E9F58[] = _("No POKéMON for battle!"); +const u8 gUnknown_085E9F6F[] = _("Choose a POKéMON."); +const u8 gUnknown_085E9F81[] = _("Not enough HP…"); +const u8 gUnknown_085E9F90[] = _("{STR_VAR_1} POKéMON are needed."); +const u8 gUnknown_085E9FA7[] = _("POKéMON can’t be the same."); +const u8 gUnknown_085E9FC2[] = _("No identical hold items."); +const u8 gUnknown_085E9FDB[] = _("The current is much too fast!"); +const u8 gUnknown_085E9FF9[] = _("Do what with the MAIL?"); +const u8 gUnknown_085EA010[] = _("Choose POKéMON or CANCEL."); +const u8 gUnknown_085EA02A[] = _("Choose POKéMON and confirm."); +const u8 gUnknown_085EA046[] = _("Let’s enjoy cycling!"); +const u8 gUnknown_085EA05B[] = _("This is in use already."); +const u8 gUnknown_085EA073[] = _("{STR_VAR_1} is already holding\none {STR_VAR_2}."); +const u8 gUnknown_085EA091[] = _("No use."); +const u8 gUnknown_085EA099[] = _("ABLE"); +const u8 gUnknown_085EA09E[] = _("FIRST"); +const u8 gUnknown_085EA0A4[] = _("SECOND"); +const u8 gUnknown_085EA0AB[] = _("THIRD"); +const u8 gUnknown_085EA0B1[] = _("ABLE"); +const u8 gUnknown_085EA0B6[] = _("NOT ABLE"); +const u8 gUnknown_085EA0BF[] = _("ABLE!"); +const u8 gUnknown_085EA0C5[] = _("NOT ABLE!"); +const u8 gUnknown_085EA0CF[] = _("LEARNED"); +const u8 gUnknown_085EA0D7[] = _("HAVE"); +const u8 gUnknown_085EA0DC[] = _("DON’T HAVE"); +const u8 gUnknown_085EA0E7[] = _("FOURTH"); +const u8 gText_PkmnCantParticipate[] = _("That POKéMON can’t participate.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CancelParticipation[] = _("Cancel participation?"); +const u8 gText_CancelBattle[] = _("Cancel the battle?"); +const u8 gText_ReturnToWaitingRoom[] = _("Return to the WAITING ROOM?"); +const u8 gText_CancelChallenge[] = _("Cancel the challenge?"); +const u8 gText_EscapeFromHere[] = _("Want to escape from here and return\nto {STR_VAR_1}?"); +const u8 gText_ReturnToHealingSpot[] = _("Want to return to the healing spot\nused last in {STR_VAR_1}?"); +const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}"); +const u8 gJPText_PutVar1IntoSpinner[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?"); + +asm(".align 2"); +const u8 gText_OnlyPkmnForBattle[] = _("That’s your only\nPOKéMON for battle."); + +asm(".align 2"); +const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can’t be traded\nnow."); + +asm(".align 2"); +const u8 gText_EggCantBeTradedNow[] = _("An EGG can’t be traded now."); + +asm(".align 2"); +const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER’s POKéMON\ncan’t be traded now."); + +asm(".align 2"); +const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can’t accept\nthat POKéMON now."); + +asm(".align 2"); +const u8 gText_CantTradeWithTrainer[] = _("You can’t trade with that\nTRAINER now."); + +asm(".align 2"); +const u8 gText_NotPkmnOtherTrainerWants[] = _("That isn’t the type of POKéMON\nthat the other TRAINER wants."); + +asm(".align 2"); +const u8 gText_ThatIsntAnEgg[] = _("That isn’t an EGG."); +const u8 gText_Register[] = _("REGISTER"); +const u8 gText_Attack3[] = _("ATTACK"); +const u8 gText_Defense3[] = _("DEFENSE"); +const u8 gText_SpAtk4[] = _("SP. ATK"); +const u8 gText_SpDef4[] = _("SP. DEF"); +const u8 gText_Speed2[] = _("SPEED"); +const u8 gText_HP4[] = _("HP"); +const u8 gUnknown_085EA364[] = _(""); +const u8 gText_OTSlash[] = _("OT/"); +const u8 gText_RentalPkmn[] = _("RENTAL POKéMON"); +const u8 gText_TypeSlash[] = _("TYPE/"); +const u8 gText_Power[] = _("POWER"); +const u8 gText_Accuracy2[] = _("ACCURACY"); +const u8 gText_Appeal[] = _("APPEAL"); +const u8 gText_Jam[] = _("JAM"); +const u8 gText_Status[] = _("STATUS"); +const u8 gText_ExpPoints[] = _("EXP. POINTS"); +const u8 gText_NextLv[] = _("NEXT LV."); +const u8 gText_RibbonsVar1[] = _("RIBBONS: {STR_VAR_1}"); +const u8 gText_EmptyString5[] = _(""); +const u8 gUnknown_085EA3C1[] = _("EVENTS"); +const u8 gText_Switch[] = _("SWITCH"); +const u8 gText_PkmnInfo[] = _("POKéMON INFO"); +const u8 gText_PkmnSkills[] = _("POKéMON SKILLS"); +const u8 gText_BattleMoves[] = _("BATTLE MOVES"); +const u8 gText_ContestMoves[] = _("C0NTEST MOVES"); +const u8 gText_Info[] = _("INFO"); +const u8 gText_EggWillTakeALongTime[] = _("It looks like this EGG will\ntake a long time to hatch."); +const u8 gText_EggWillTakeSomeTime[] = _("What will hatch from this?\nIt will take some time."); +const u8 gText_EggWillHatchSoon[] = _("It moves occasionally.\nIt should hatch soon."); +const u8 gText_EggAboutToHatch[] = _("It’s making sounds.\nIt’s about to hatch!"); +const u8 gText_HMMovesCantBeForgotten2[] = _("HM moves can’t be\nforgotten now."); +const u8 gText_XNatureMetAtYZ[] = _("{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nmet at {LV_2}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01},\n{SPECIAL_F7 0x00}{SPECIAL_F7 0x04}{SPECIAL_F7 0x01}."); +const u8 gText_XNatureHatchedAtYZ[] = _("{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nhatched at {LV_2}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01},\n{SPECIAL_F7 0x00}{SPECIAL_F7 0x04}{SPECIAL_F7 0x01}."); +const u8 gText_XNatureObtainedInTrade[] = _("{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nobtained in a trade."); +const u8 gText_XNatureFatefulEncounter[] = _("{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nobtained in a fateful\nencounter at {LV_2}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01}."); +const u8 gText_XNatureProbablyMetAt[] = _("{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nprobably met at {LV_2}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01},\n{SPECIAL_F7 0x00}{SPECIAL_F7 0x04}{SPECIAL_F7 0x01}."); +const u8 gText_XNature[] = _("{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature"); +const u8 gText_XNatureMetSomewhereAt[] = _("{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nmet somewhere at {LV_2}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01}."); +const u8 gText_XNatureHatchedSomewhereAt[] = _("{SPECIAL_F7 0x00}{SPECIAL_F7 0x02}{SPECIAL_F7 0x01}{SPECIAL_F7 0x05} nature,\nhatched somewhere at {LV_2}{SPECIAL_F7 0x00}{SPECIAL_F7 0x03}{SPECIAL_F7 0x01}."); +const u8 gText_OddEggFoundByCouple[] = _("An odd POKéMON EGG found\nby the DAY CARE couple."); +const u8 gText_PeculiarEggNicePlace[] = _("A peculiar POKéMON EGG\nobtained at the nice place."); +const u8 gText_PeculiarEggTrade[] = _("A peculiar POKéMON EGG\nobtained in a trade."); +const u8 gText_EggFromHotSprings[] = _("A POKéMON EGG obtained\nat the hot springs."); +const u8 gText_EggFromTraveler[] = _("An odd POKéMON EGG\nobtained from a traveler."); +const u8 gText_ApostropheSBase[] = _("’s BASE"); +const u8 gText_OkayToDeleteFromRegistry[] = _("Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?"); +const u8 gText_RegisteredDataDeleted[] = _("The registered data was deleted.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoRegistry[] = _("There is no REGISTRY.{PAUSE_UNTIL_PRESS}"); +const u8 gUnknown_085EA79D[] = _("DEL REGIST."); +const u8 gUnknown_085EA7A9[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}"); +const u8 gText_Decorate[] = _("DECORATE"); +const u8 gText_PutAway[] = _("PUT AWAY"); +const u8 gText_Toss2[] = _("TOSS"); +const u8 gText_Color161Shadow161[] = _("{COLOR 161}{SHADOW 161}"); +const u8 gText_PutOutSelectedDecorItem[] = _("Put out the selected decoration item."); +const u8 gText_StoreChosenDecorInPC[] = _("Store the chosen decoration in the PC."); +const u8 gText_ThrowAwayUnwantedDecors[] = _("Throw away unwanted decorations."); +const u8 gText_NoDecorations[] = _("There are no decorations.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Desk[] = _("DESK"); +const u8 gText_Chair[] = _("CHAIR"); +const u8 gText_Plant[] = _("PLANT"); +const u8 gText_Ornament[] = _("ORNAMENT"); +const u8 gText_Mat[] = _("MAT"); +const u8 gText_Poster[] = _("POSTER"); +const u8 gText_Doll[] = _("DOLL"); +const u8 gText_Cushion[] = _("CUSHION"); +const u8 gText_Gold[] = _("GOLD"); +const u8 gText_Silver[] = _("SILVER"); +const u8 gText_PlaceItHere[] = _("Place it here?"); +const u8 gText_CantBePlacedHere[] = _("It can’t be placed here."); +const u8 gText_CancelDecorating[] = _("Cancel decorating?"); +const u8 gText_InUseAlready[] = _("This is in use already."); +const u8 gText_NoMoreDecorations[] = _("No more decorations can be placed.\nThe most that can be placed are {STR_VAR_1}."); +const u8 gText_NoMoreDecorations2[] = _("No more decorations can be placed.\nThe most that can be placed are {STR_VAR_1}."); +const u8 gUnknown_085EA978[] = _("This can’t be placed here.\nIt must be on a DESK, etc."); +const u8 gText_CantPlaceInRoom[] = _("This decoration can’t be placed in\nyour own room."); +const u8 gText_CantThrowAwayInUse[] = _("This decoration is in use.\nIt can’t be thrown away."); +const u8 gText_DecorationWillBeDiscarded[] = _("This {STR_VAR_1} will be discarded.\nIs that okay?"); +const u8 gText_DecorationThrownAway[] = _("The decoration item was thrown away."); +const u8 gText_StopPuttingAwayDecorations[] = _("Stop putting away decorations?"); +const u8 gText_NoDecorationHere[] = _("There is no decoration item here."); +const u8 gText_ReturnDecorationToPC[] = _("Return this decoration to the PC?"); +const u8 gText_DecorationReturnedToPC[] = _("The decoration was returned to the PC."); +const u8 gText_NoDecorationsInUse[] = _("There are no decorations in use.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Tristan[] = _("TRISTAN"); +const u8 gText_Philip[] = _("PHILIP"); +const u8 gText_Dennis[] = _("DENNIS"); +const u8 gText_Roberto[] = _("ROBERTO"); +const u8 gText_TurnOff[] = _("TURN OFF"); +const u8 gText_Decoration[] = _("DECORATION"); +const u8 gText_ItemStorage[] = _("ITEM STORAGE"); +const u8 gText_Mailbox[] = _("MAILBOX"); +const u8 gText_DepositItem[] = _("DEPOSIT ITEM"); +const u8 gText_WithdrawItem[] = _("WITHDRAW ITEM"); +const u8 gText_TossItem[] = _("TOSS ITEM"); +const u8 gText_StoreItemsInPC[] = _("Store items in the PC."); +const u8 gText_TakeOutItemsFromPC[] = _("Take out items from the PC."); +const u8 gText_ThrowAwayItemsInPC[] = _("Throw away items stored in the PC."); +const u8 gText_NoItems[] = _("There are no items.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoRoomInBag[] = _("There is no more\nroom in the BAG."); +const u8 gText_WithdrawHowManyItems[] = _("Withdraw how many\n{STR_VAR_1}(s)?"); +const u8 gText_WithdrawXItems[] = _("Withdrew {STR_VAR_2}\n{STR_VAR_1}(s)."); +const u8 gText_Read[] = _("READ"); +const u8 gText_MoveToBag[] = _("MOVE TO BAG"); +const u8 gText_Give2[] = _("GIVE"); +const u8 gText_NoMailHere[] = _("There’s no MAIL here.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WhatToDoWithVar1sMail[] = _("What would you like to do with\n{STR_VAR_1}’s MAIL?"); +const u8 gText_MessageWillBeLost[] = _("The message will be lost.\nIs that okay?"); +const u8 gText_BagIsFull[] = _("The BAG is full.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailToBagMessageErased[] = _("The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Dad[] = _("DAD"); +const u8 gText_Mom[] = _("MOM"); +const u8 gText_Wallace[] = _("WALLACE"); +const u8 gText_Steven[] = _("STEVEN"); +const u8 gText_Brawly[] = _("BRAWLY"); +const u8 gText_Winona[] = _("WINONA"); +const u8 gText_Phoebe[] = _("PHOEBE"); +const u8 gText_Glacia[] = _("GLACIA"); +const u8 gUnknown_085EAD37[] = _("PETALBURG"); +const u8 gUnknown_085EAD41[] = _("SLATEPORT"); +const u8 gUnknown_085EAD4B[] = _("LITTLEROOT"); +const u8 gUnknown_085EAD56[] = _("LILYCOVE"); +const u8 gUnknown_085EAD5F[] = _("DEWFORD"); +const u8 gUnknown_085EAD67[] = _("ENTER"); +const u8 gUnknown_085EAD6D[] = _("INFO"); +const u8 gUnknown_085EAD72[] = _("What’s a CONTEST?"); +const u8 gUnknown_085EAD84[] = _("Types of CONTESTS"); +const u8 gUnknown_085EAD96[] = _("Ranks"); +const u8 gUnknown_085EAD9C[] = _("Judging"); +const u8 gUnknown_085EADA4[] = _("COOLNESS CONTEST"); +const u8 gUnknown_085EADB5[] = _("BEAUTY CONTEST"); +const u8 gUnknown_085EADC4[] = _("CUTENESS CONTEST"); +const u8 gUnknown_085EADD5[] = _("SMARTNESS CONTEST"); +const u8 gUnknown_085EADE7[] = _("TOUGHNESS CONTEST"); +const u8 gUnknown_085EADF9[] = _("DECORATION"); +const u8 gUnknown_085EAE04[] = _("PACK UP"); +const u8 gUnknown_085EAE0C[] = _("COUNT"); +const u8 gUnknown_085EAE12[] = _("REGISTRY"); +const u8 gUnknown_085EAE1B[] = _("INFORMATION"); +const u8 gUnknown_085EAE27[] = _("MACH"); +const u8 gUnknown_085EAE2C[] = _("ACRO"); +const u8 gUnknown_085EAE31[] = _("PSN"); +const u8 gUnknown_085EAE35[] = _("PAR"); +const u8 gUnknown_085EAE39[] = _("SLP"); +const u8 gUnknown_085EAE3D[] = _("BRN"); +const u8 gUnknown_085EAE41[] = _("FRZ"); +const u8 gUnknown_085EAE45[] = _("TOXIC"); +const u8 gUnknown_085EAE4B[] = _("OK"); +const u8 gUnknown_085EAE4E[] = _("QUIT"); +const u8 gUnknown_085EAE53[] = _("Saw it"); +const u8 gUnknown_085EAE5A[] = _("Not yet"); +const u8 gText_Yes[] = _("YES"); +const u8 gText_No[] = _("NO"); +const u8 gUnknown_085EAE69[] = _("INFO"); +const u8 gUnknown_085EAE6E[] = _("SINGLE BATTLE"); +const u8 gUnknown_085EAE7C[] = _("DOUBLE BATTLE"); +const u8 gUnknown_085EAE8A[] = _("MULTI BATTLE"); +const u8 gUnknown_085EAE97[] = _("MR. BRINEY"); +const u8 gUnknown_085EAEA2[] = _("CHALLENGE"); +const u8 gUnknown_085EAEAC[] = _("INFO"); +const u8 gText_Lv50[] = _("LV. 50"); +const u8 gText_OpenLevel[] = _("OPEN LEVEL"); +const u8 gUnknown_085EAEC3[] = _("FRESH WATER{CLEAR_TO 0x48}¥200"); +const u8 gUnknown_085EAED6[] = _("SODA POP{CLEAR_TO 0x48}¥300"); +const u8 gUnknown_085EAEE6[] = _("LEMONADE{CLEAR_TO 0x48}¥350"); +const u8 gUnknown_085EAEF6[] = _("HOW TO RIDE"); +const u8 gUnknown_085EAF02[] = _("HOW TO TURN"); +const u8 gUnknown_085EAF0E[] = _("SANDY SLOPES"); +const u8 gUnknown_085EAF1B[] = _("WHEELIES"); +const u8 gUnknown_085EAF24[] = _("BUNNY-HOPS"); +const u8 gUnknown_085EAF2F[] = _("JUMP"); +const u8 gUnknown_085EAF34[] = _("Satisfied"); +const u8 gUnknown_085EAF3E[] = _("Dissatisfied"); +const u8 gUnknown_085EAF4B[] = _("DEEPSEATOOTH"); +const u8 gUnknown_085EAF58[] = _("DEEPSEASCALE"); +const u8 gUnknown_085EAF65[] = _("BLUE FLUTE"); +const u8 gUnknown_085EAF70[] = _("YELLOW FLUTE"); +const u8 gUnknown_085EAF7D[] = _("RED FLUTE"); +const u8 gUnknown_085EAF87[] = _("WHITE FLUTE"); +const u8 gUnknown_085EAF93[] = _("BLACK FLUTE"); +const u8 gUnknown_085EAF9F[] = _("GLASS CHAIR"); +const u8 gUnknown_085EAFAB[] = _("GLASS DESK"); +const u8 gUnknown_085EAFB6[] = _("TREECKO DOLL 1,000 COINS"); +const u8 gUnknown_085EAFCF[] = _("TORCHIC DOLL 1,000 COINS"); +const u8 gUnknown_085EAFE8[] = _("MUDKIP DOLL 1,000 COINS"); +const u8 gUnknown_085EB002[] = _(" 50 COINS ¥1,000"); +const u8 gUnknown_085EB017[] = _("500 COINS ¥10,000"); +const u8 gUnknown_085EB02A[] = _("Excellent"); +const u8 gUnknown_085EB034[] = _("Not so good"); +const u8 gUnknown_085EB040[] = _("RED SHARD"); +const u8 gUnknown_085EB04A[] = _("YELLOW SHARD"); +const u8 gUnknown_085EB057[] = _("BLUE SHARD"); +const u8 gUnknown_085EB062[] = _("GREEN SHARD"); +const u8 gText_BattleFrontier[] = _("BATTLE FRONTIER"); +const u8 gUnknown_085EB07E[] = _("Right"); +const u8 gUnknown_085EB084[] = _("Left"); +const u8 gUnknown_085EB089[] = _("TM32{CLEAR_TO 0x48}1,500 COINS"); +const u8 gUnknown_085EB09C[] = _("TM29{CLEAR_TO 0x48}3,500 COINS"); +const u8 gUnknown_085EB0AF[] = _("TM35{CLEAR_TO 0x48}4,000 COINS"); +const u8 gUnknown_085EB0C2[] = _("TM24{CLEAR_TO 0x48}4,000 COINS"); +const u8 gUnknown_085EB0D5[] = _("TM13{CLEAR_TO 0x48}4,000 COINS"); +const u8 gText_Cool[] = _("COOL"); +const u8 gText_Beauty[] = _("BEAUTY"); +const u8 gText_Cute[] = _("CUTE"); +const u8 gText_Smart[] = _("SMART"); +const u8 gText_Tough[] = _("TOUGH"); +const u8 gText_Normal[] = _("NORMAL"); +const u8 gText_Super[] = _("SUPER"); +const u8 gText_Hyper[] = _("HYPER"); +const u8 gText_Master[] = _("MASTER"); +const u8 gText_Cool2[] = _("COOL"); +const u8 gText_Beauty2[] = _("BEAUTY"); +const u8 gText_Cute2[] = _("CUTE"); +const u8 gText_Smart2[] = _("SMART"); +const u8 gText_Tough2[] = _("TOUGH"); +const u8 gText_Items[] = _("ITEMS"); +const u8 gText_Key_Items[] = _("KEY ITEMS"); +const u8 gText_Poke_Balls[] = _("POKé BALLS"); +const u8 gText_TMs_Hms[] = _("TMs & HMs"); +const u8 gText_Berries2[] = _("BERRIES"); +const u8 gText_SomeonesPC[] = _("SOMEONE’S PC"); +const u8 gText_LanettesPC[] = _("LANETTE’S PC"); +const u8 gText_PlayersPC[] = _("{PLAYER}’s PC"); +const u8 gText_HallOfFame[] = _("HALL OF FAME"); +const u8 gText_LogOff[] = _("LOG OFF"); +const u8 gText_Opponent[] = _("OPPONENT"); +const u8 gText_Tourney_Tree[] = _("TOURNEY TREE"); +const u8 gText_ReadyToStart[] = _("READY TO START"); +const u8 gText_NormalRank[] = _("NORMAL RANK"); +const u8 gText_SuperRank[] = _("SUPER RANK"); +const u8 gText_HyperRank[] = _("HYPER RANK"); +const u8 gText_MasterRank[] = _("MASTER RANK"); +const u8 gText_Single2[] = _("SINGLE"); +const u8 gText_Double2[] = _("DOUBLE"); +const u8 gText_Multi[] = _("MULTI"); +const u8 gText_MultiLink[] = _("MULTI-LINK"); +const u8 gText_BattleBag[] = _("BATTLE BAG"); +const u8 gText_HeldItem[] = _("HELD ITEM"); +const u8 gText_LinkContest[] = _("LINK CONTEST"); +const u8 gText_AboutE_Mode[] = _("ABOUT E-MODE"); +const u8 gText_AboutG_Mode[] = _("ABOUT G-MODE"); +const u8 gText_E_Mode[] = _("E-MODE"); +const u8 gText_G_Mode[] = _("G-MODE"); +const u8 gText_MenuOptionPokedex[] = _("POKéDEX"); +const u8 gText_MenuOptionPokemon[] = _("POKéMON"); +const u8 gText_MenuOptionBag[] = _("BAG"); +const u8 gText_MenuOptionPokenav[] = _("POKéNAV"); +const u8 gUnknown_085EB278[] = _(""); +const u8 gText_MenuOptionSave[] = _("SAVE"); +const u8 gText_MenuOptionOption[] = _("OPTION"); +const u8 gText_MenuOptionExit[] = _("EXIT"); +const u8 gUnknown_085EB28A[] = __(" "); +const u8 gUnknown_085EB28C[] = _("5BP"); +const u8 gUnknown_085EB290[] = _("10BP"); +const u8 gUnknown_085EB295[] = _("15BP"); +const u8 gUnknown_085EB29A[] = _("RED TENT"); +const u8 gUnknown_085EB2A3[] = _("BLUE TENT"); +const u8 gText_SouthernIsland[] = _("SOUTHERN ISLAND"); +const u8 gText_BirthIsland[] = _("BIRTH ISLAND"); +const u8 gText_FarawayIsland[] = _("FARAWAY ISLAND"); +const u8 gText_NavelRock[] = _("NAVEL ROCK"); +const u8 gUnknown_085EB2E4[] = _("CLAW FOSSIL"); +const u8 gUnknown_085EB2F0[] = _("ROOT FOSSIL"); +const u8 gUnknown_085EB2FC[] = _("NO"); +const u8 gUnknown_085EB2FF[] = _("I’ll battle now!"); +const u8 gUnknown_085EB310[] = _("I won!"); +const u8 gUnknown_085EB317[] = _("I lost!"); +const u8 gUnknown_085EB31F[] = _("I won’t tell."); +const u8 gUnknown_085EB32D[] = _("NORMAL TAG MATCH"); +const u8 gUnknown_085EB33E[] = _("VARIETY TAG MATCH"); +const u8 gUnknown_085EB350[] = _("UNIQUE TAG MATCH"); +const u8 gUnknown_085EB361[] = _("EXPERT TAG MATCH"); +const u8 gUnknown_085EB372[] = _("TRADE CENTER"); +const u8 gUnknown_085EB37F[] = _("COLOSSEUM"); +const u8 gUnknown_085EB389[] = _("RECORD CORNER"); +const u8 gUnknown_085EB397[] = _("BERRY CRUSH"); +const u8 gUnknown_085EB3A3[] = _(""); +const u8 gUnknown_085EB3A4[] = _("POKéMON JUMP"); +const u8 gUnknown_085EB3B1[] = _("DODRIO BERRY-PICKING"); +const u8 gUnknown_085EB3C6[] = _("BECOME LEADER"); +const u8 gUnknown_085EB3D4[] = _("JOIN GROUP"); +const u8 gUnknown_085EB3DF[] = _("TWO STYLES"); +const u8 gUnknown_085EB3EA[] = _("LV. 50"); +const u8 gUnknown_085EB3F1[] = _("OPEN LEVEL"); +const u8 gUnknown_085EB3FC[] = _("{PKMN} TYPE & NO."); +const u8 gUnknown_085EB40A[] = _("HOLD ITEMS"); +const u8 gUnknown_085EB415[] = _("SYMBOLS"); +const u8 gUnknown_085EB41D[] = _("RECORD"); +const u8 gUnknown_085EB424[] = _("BATTLE PTS"); +const u8 gUnknown_085EB42F[] = _("TOWER INFO"); +const u8 gUnknown_085EB43A[] = _("BATTLE {PKMN}"); +const u8 gUnknown_085EB444[] = _("BATTLE SALON"); +const u8 gUnknown_085EB451[] = _("MULTI-LINK"); +const u8 gUnknown_085EB45C[] = _("BATTLE RULES"); +const u8 gUnknown_085EB469[] = _("JUDGE: MIND"); +const u8 gUnknown_085EB475[] = _("JUDGE: SKILL"); +const u8 gUnknown_085EB482[] = _("JUDGE: BODY"); +const u8 gUnknown_085EB48E[] = _("MATCHUP"); +const u8 gUnknown_085EB496[] = _("TOURNEY TREE"); +const u8 gUnknown_085EB4A3[] = _("DOUBLE KO"); +const u8 gUnknown_085EB4AD[] = _("BASIC RULES"); +const u8 gUnknown_085EB4B9[] = _("SWAP: PARTNER"); +const u8 gUnknown_085EB4C7[] = _("SWAP: NUMBER"); +const u8 gUnknown_085EB4D4[] = _("SWAP: NOTES"); +const u8 gUnknown_085EB4E0[] = _("OPEN LEVEL"); +const u8 gText_BattleBasics[] = _("BATTLE BASICS"); +const u8 gText_PokemonNature[] = _("POKéMON NATURE"); +const u8 gText_PokemonMoves[] = _("POKéMON MOVES"); +const u8 gText_Underpowered[] = _("UNDERPOWERED"); +const u8 gText_WhenInDanger[] = _("WHEN IN DANGER"); +const u8 gUnknown_085EB532[] = _("PYRAMID: POKéMON"); +const u8 gUnknown_085EB543[] = _("PYRAMID: TRAINERS"); +const u8 gUnknown_085EB555[] = _("PYRAMID: MAZE"); +const u8 gUnknown_085EB563[] = _("BATTLE BAG"); +const u8 gUnknown_085EB56E[] = _("POKéNAV AND BAG"); +const u8 gUnknown_085EB57E[] = _("HELD ITEMS"); +const u8 gUnknown_085EB589[] = _("POKéMON ORDER"); +const u8 gUnknown_085EB597[] = _("BATTLE POKéMON"); +const u8 gText_BattleTrainers[] = _("BATTLE TRAINERS"); +const u8 gUnknown_085EB5B6[] = _("GO ON"); +const u8 gUnknown_085EB5BC[] = _("RECORD"); +const u8 gUnknown_085EB5C3[] = _("REST"); +const u8 gUnknown_085EB5C8[] = _("RETIRE"); +const u8 gText_99TimesPlus[] = _("99 times +"); +const u8 gText_1MinutePlus[] = _("1 minute +"); +const u8 gText_SpaceSeconds[] = _(" seconds"); +const u8 gText_SpaceTimes[] = _(" time(s)"); +const u8 gUnknown_085EB5F7[] = _("."); +const u8 gText_BigGuy[] = _("Big guy"); +const u8 gText_BigGirl[] = _("Big girl"); +const u8 gText_Son[] = _("son"); +const u8 gText_Daughter[] = _("daughter"); +const u8 gText_BlueFlute[] = _("BLUE FLUTE"); +const u8 gText_YellowFlute[] = _("YELLOW FLUTE"); +const u8 gText_RedFlute[] = _("RED FLUTE"); +const u8 gText_WhiteFlute[] = _("WHITE FLUTE"); +const u8 gText_BlackFlute[] = _("BLACK FLUTE"); +const u8 gText_PrettyChair[] = _("PRETTY CHAIR"); +const u8 gText_PrettyDesk[] = _("PRETTY DESK"); +const u8 gText_1F[] = _("1F"); +const u8 gText_2F[] = _("2F"); +const u8 gText_3F[] = _("3F"); +const u8 gText_4F[] = _("4F"); +const u8 gText_5F[] = _("5F"); +const u8 gText_6F[] = _("6F"); +const u8 gText_7F[] = _("7F"); +const u8 gText_8F[] = _("8F"); +const u8 gText_9F[] = _("9F"); +const u8 gText_10F[] = _("10F"); +const u8 gText_11F[] = _("11F"); +const u8 gText_B1F[] = _("B1F"); +const u8 gText_B2F[] = _("B2F"); +const u8 gText_B3F[] = _("B3F"); +const u8 gText_B4F[] = _("B4F"); +const u8 gText_Rooftop[] = _("ROOFTOP"); +const u8 gText_ElevatorNowOn[] = _("Now on:"); +const u8 gText_BP[] = _("BP"); +const u8 gText_EnergyPowder50[] = _("ENERGYPOWDER{CLEAR_TO 0x72}{SIZE 0}50"); +const u8 gText_EnergyRoot80[] = _("ENERGY ROOT{CLEAR_TO 0x72}{SIZE 0}80"); +const u8 gText_HealPowder50[] = _("HEAL POWDER{CLEAR_TO 0x72}{SIZE 0}50"); +const u8 gText_RevivalHerb300[] = _("REVIVAL HERB{CLEAR_TO 0x6C}{SIZE 0}300"); +const u8 gText_Protein1000[] = _("PROTEIN{CLEAR_TO 0x63}{SIZE 0}1,000"); +const u8 gText_Iron1000[] = _("IRON{CLEAR_TO 0x63}{SIZE 0}1,000"); +const u8 gText_Carbos1000[] = _("CARBOS{CLEAR_TO 0x63}{SIZE 0}1,000"); +const u8 gText_Calcium1000[] = _("CALCIUM{CLEAR_TO 0x63}{SIZE 0}1,000"); +const u8 gText_Zinc1000[] = _("ZINC{CLEAR_TO 0x63}{SIZE 0}1,000"); +const u8 gText_HPUp1000[] = _("HP UP{CLEAR_TO 0x63}{SIZE 0}1,000"); +const u8 gText_PPUp3000[] = _("PP UP{CLEAR_TO 0x63}{SIZE 0}3,000"); +const u8 gText_RankingHall[] = _("RANKING HALL"); +const u8 gText_ExchangeService[] = _("EXCHANGE SERVICE"); +const u8 gText_LilycoveCity[] = _("LILYCOVE CITY"); +const u8 gText_SlateportCity[] = _("SLATEPORT CITY"); +const u8 gText_CaveOfOrigin[] = _("CAVE OF ORIGIN"); +const u8 gText_MtPyre[] = _("MT. PYRE"); +const u8 gText_SkyPillar[] = _("SKY PILLAR"); +const u8 gText_DontRemember[] = _("Don’t remember"); +const u8 gText_Exit[] = _("EXIT"); +const u8 gText_ExitFromBox[] = _("Exit from the BOX?"); +const u8 gText_WhatDoYouWantToDo[] = _("What do you want to do?"); +const u8 gText_PleasePickATheme[] = _("Please pick a theme."); +const u8 gText_PickTheWallpaper[] = _("Pick the wallpaper."); +const u8 gText_PkmnIsSelected[] = _("{SPECIAL_F7 0x00} is selected."); +const u8 gText_JumpToWhichBox[] = _("Jump to which BOX?"); +const u8 gText_DepositInWhichBox[] = _("Deposit in which BOX?"); +const u8 gText_PkmnWasDeposited[] = _("{SPECIAL_F7 0x00} was deposited."); +const u8 gText_BoxIsFull2[] = _("The BOX is full."); +const u8 gText_ReleaseThisPokemon[] = _("Release this POKéMON?"); +const u8 gText_PkmnWasReleased[] = _("{SPECIAL_F7 0x00} was released."); +const u8 gText_ByeByePkmn[] = _("Bye-bye, {SPECIAL_F7 0x00}!"); +const u8 gText_MarkYourPkmn[] = _("Mark your POKéMON."); +const u8 gText_ThatsYourLastPkmn[] = _("That’s your last POKéMON!"); +const u8 gText_YourPartysFull[] = _("Your party’s full!"); +const u8 gText_YoureHoldingAPkmn[] = _("You’re holding a POKéMON!"); +const u8 gText_WhichOneWillYouTake[] = _("Which one will you take?"); +const u8 gText_YouCantReleaseAnEgg[] = _("You can’t release an EGG."); +const u8 gText_ContinueBoxOperations[] = _("Continue BOX operations?"); +const u8 gText_PkmnCameBack[] = _("{SPECIAL_F7 0x00} came back!"); +const u8 gText_WasItWorriedAboutYou[] = _("Was it worried about you?"); +const u8 gText_FourEllipsesExclamation[] = _("… … … … !"); +const u8 gText_PleaseRemoveTheMail[] = _("Please remove the MAIL."); +const u8 gText_GiveToAPkmn[] = _("GIVE to a POKéMON?"); +const u8 gText_PlacedItemInBag[] = _("Placed item in the BAG."); +const u8 gText_BagIsFull2[] = _("The BAG is full."); +const u8 gText_PutItemInBag[] = _("Put this item in the BAG?"); +const u8 gText_ItemIsNowHeld[] = _("{SPECIAL_F7 0x00} is now held."); +const u8 gText_ChangedToNewItem[] = _("Changed to {SPECIAL_F7 0x00}."); +const u8 gText_MailCantBeStored[] = _("MAIL can’t be stored!"); +const u8 gPCText_Cancel[] = _("CANCEL"); +const u8 gPCText_Store[] = _("STORE"); +const u8 gPCText_Withdraw[] = _("WITHDRAW"); +const u8 gPCText_Shift[] = _("SHIFT"); +const u8 gPCText_Move[] = _("MOVE"); +const u8 gPCText_Place[] = _("PLACE"); +const u8 gPCText_Summary[] = _("SUMMARY"); +const u8 gPCText_Release[] = _("RELEASE"); +const u8 gPCText_Mark[] = _("MARK"); +const u8 gPCText_Name[] = _("NAME"); +const u8 gPCText_Jump[] = _("JUMP"); +const u8 gPCText_Wallpaper[] = _("WALLPAPER"); +const u8 gPCText_Take[] = _("TAKE"); +const u8 gPCText_Give[] = _("GIVE"); +const u8 gPCText_Switch[] = _("SWITCH"); +const u8 gPCText_Bag[] = _("BAG"); +const u8 gPCText_Info[] = _("INFO"); +const u8 gPCText_Scenery1[] = _("SCENERY 1"); +const u8 gPCText_Scenery2[] = _("SCENERY 2"); +const u8 gPCText_Scenery3[] = _("SCENERY 3"); +const u8 gPCText_Etcetera[] = _("ETCETERA"); +const u8 gPCText_Friends[] = _("FRIENDS"); +const u8 gPCText_Forest[] = _("FOREST"); +const u8 gPCText_City[] = _("CITY"); +const u8 gPCText_Desert[] = _("DESERT"); +const u8 gPCText_Savanna[] = _("SAVANNA"); +const u8 gPCText_Crag[] = _("CRAG"); +const u8 gPCText_Volcano[] = _("VOLCANO"); +const u8 gPCText_Snow[] = _("SNOW"); +const u8 gPCText_Cave[] = _("CAVE"); +const u8 gPCText_Beach[] = _("BEACH"); +const u8 gPCText_Seafloor[] = _("SEAFLOOR"); +const u8 gPCText_River[] = _("RIVER"); +const u8 gPCText_Sky[] = _("SKY"); +const u8 gPCText_PolkaDot[] = _("POLKA-DOT"); +const u8 gPCText_Pokecenter[] = _("POKéCENTER"); +const u8 gPCText_Machine[] = _("MACHINE"); +const u8 gPCText_Simple[] = _("SIMPLE"); +const u8 gUnknown_085EBB56[] = _("What would you like to do?"); +const u8 gText_WithdrawPokemon[] = _("WITHDRAW POKéMON"); +const u8 gText_DepositPokemon[] = _("DEPOSIT POKéMON"); +const u8 gText_MovePokemon[] = _("MOVE POKéMON"); +const u8 gText_MoveItems[] = _("MOVE ITEMS"); +const u8 gText_SeeYa[] = _("SEE YA!"); +const u8 gText_WithdrawMonDescription[] = _("Move POKéMON stored in BOXES to\nyour party."); +const u8 gText_DepositMonDescription[] = _("Store POKéMON in your party in BOXES."); +const u8 gText_MoveMonDescription[] = _("Organize the POKéMON in BOXES and\nin your party."); +const u8 gText_MoveItemsDescription[] = _("Move items held by any POKéMON\nin a BOX or your party."); +const u8 gText_SeeYaDescription[] = _("Return to the previous menu."); +const u8 gText_JustOnePkmn[] = _("There is just one POKéMON with you."); +const u8 gText_PartyFull[] = _("Your party is full!"); +const u8 gText_Box[] = _("BOX"); +const u8 gUnknown_085EBCC5[] = _("Check the map of the HOENN region."); +const u8 gUnknown_085EBCE8[] = _("Check POKéMON in detail."); +const u8 gUnknown_085EBD01[] = _("Call a registered TRAINER."); +const u8 gUnknown_085EBD1C[] = _("Check obtained RIBBONS."); +const u8 gUnknown_085EBD34[] = _("Put away the POKéNAV."); +const u8 gText_NoRibbonWinners[] = _("There are no RIBBON winners."); +const u8 gUnknown_085EBD67[] = _("No TRAINERS are registered."); +const u8 gUnknown_085EBD83[] = _("Check party POKéMON in detail."); +const u8 gUnknown_085EBDA2[] = _("Check all POKéMON in detail."); +const u8 gUnknown_085EBDBF[] = _("Return to the POKéNAV menu."); +const u8 gUnknown_085EBDDB[] = _("Find cool POKéMON."); +const u8 gUnknown_085EBDEE[] = _("Find beautiful POKéMON."); +const u8 gUnknown_085EBE06[] = _("Find cute POKéMON."); +const u8 gUnknown_085EBE19[] = _("Find smart POKéMON."); +const u8 gUnknown_085EBE2D[] = _("Find tough POKéMON."); +const u8 gUnknown_085EBE41[] = _("Return to the CONDITION menu."); +const u8 gText_NumberRegistered[] = _("No. registered"); +const u8 gText_NumberOfBattles[] = _("No. of battles"); +const u8 gUnknown_085EBE7D[] = _("DETAIL"); +const u8 gUnknown_085EBE84[] = _("CALL"); +const u8 gUnknown_085EBE89[] = _("EXIT"); +const u8 gUnknown_085EBE8E[] = _("Can’t call opponent here."); +const u8 gUnknown_085EBEA8[] = _("STRATEGY"); +const u8 gUnknown_085EBEB1[] = _("TRAINER’S POKéMON"); +const u8 gUnknown_085EBEC3[] = _("SELF-INTRODUCTION"); +const u8 gUnknown_085EBED5[] = _("{CLEAR 0x80}"); +const u8 gUnknown_085EBED9[] = _("{A_BUTTON}ZOOM {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBEE9[] = _("{A_BUTTON}FULL {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBEF9[] = _("{A_BUTTON}CONDITION {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBF0E[] = _("{A_BUTTON}MARKINGS {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBF22[] = _("{A_BUTTON}SELECT MARK {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBF39[] = _("{A_BUTTON}MENU {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBF49[] = _("{A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBF57[] = _("{B_BUTTON}CANCEL"); +const u8 gUnknown_085EBF60[] = _("{A_BUTTON}RIBBONS {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBF73[] = _("{A_BUTTON}CHECK {B_BUTTON}CANCEL"); +const u8 gUnknown_085EBF84[] = _("{B_BUTTON}CANCEL"); +const u8 gText_NatureSlash[] = _("NATURE/"); +const u8 gText_TrainerCloseBy[] = _("That TRAINER is close by.\nTalk to the TRAINER in person!"); +const u8 gText_InParty[] = _("IN PARTY"); +const u8 gText_Number2[] = _("No. "); +const u8 gUnknown_085EBFDC[] = _("RIBBONS"); +const u8 gUnknown_085EBFE4[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); +const u8 gUnknown_085EBFF6[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}"); +const u8 gUnknown_085EC008[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}"); +const u8 gText_Unknown[] = _("UNKNOWN"); +const u8 gUnknown_085EC017[] = _("CALL"); +const u8 gUnknown_085EC01C[] = _("CHECK"); +const u8 gUnknown_085EC022[] = _("CANCEL"); +const u8 gText_NumberF700[] = _("No. {SPECIAL_F7 0x00}"); +const u8 gText_RibbonsF700[] = _("RIBBONS {SPECIAL_F7 0x00}"); +const u8 gUnknown_085EC03B[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); +const u8 gUnknown_085EC04F[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); +const u8 gUnknown_085EC063[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}"); +const u8 gText_CombineFourWordsOrPhrases[] = _("Combine four words or phrases"); +const u8 gText_AndMakeYourProfile[] = _("and make your profile."); +const u8 gText_CombineSixWordsOrPhrases[] = _("Combine six words or phrases"); +const u8 gText_AndMakeAMessage[] = _("and make a message."); +const u8 gText_FindWordsThatDescribeYour[] = _("Find words that describe your"); +const u8 gText_FeelingsRightNow[] = _("feelings right now."); +const u8 gUnknown_085EC104[] = _("With four phrases,"); +const u8 gText_CombineNineWordsOrPhrases[] = _("Combine nine words or phrases"); +const u8 gText_AndMakeAMessage2[] = _("and make a message."); +const u8 gText_ChangeJustOneWordOrPhrase[] = _("Change just one word or phrase"); +const u8 gText_AndImproveTheBardsSong[] = _("and improve the BARD’s song."); +const u8 gText_YourProfile[] = _("Your profile"); +const u8 gText_YourFeelingAtTheBattlesStart[] = _("Your feeling at the battle’s start"); +const u8 gText_WhatYouSayIfYouWin[] = _("What you say if you win a battle"); +const u8 gText_WhatYouSayIfYouLose[] = _("What you say if you lose a battle"); +const u8 gText_TheAnswer[] = _("The answer"); +const u8 gText_TheMailMessage[] = _("The MAIL message"); +const u8 gUnknown_085EC214[] = _("The MAIL salutation"); +const u8 gText_TheBardsSong2[] = _("The new song"); +const u8 gText_CombineTwoWordsOrPhrases[] = _("Combine two words or phrases"); +const u8 gText_AndMakeATrendySaying[] = _("and make a trendy saying."); +const u8 gText_TheTrendySaying[] = _("The trendy saying"); +const u8 gText_IsAsShownOkay[] = _("is as shown. Okay?"); +const u8 gText_CombineTwoWordsOrPhrases2[] = _("Combine two words or phrases"); +const u8 gText_ToTeachHerAGoodSaying[] = _("to teach her a good saying."); +const u8 gText_FindWordsWhichFit[] = _("Find words which fit"); +const u8 gText_TheTrainersImage[] = _("the TRAINER’s image."); +const u8 gText_TheImage[] = _("The image:"); +const u8 gText_OutOfTheListedChoices[] = _("Out of the listed choices,"); +const u8 gText_SelectTheAnswerToTheQuiz[] = _("select the answer to the quiz!"); +const u8 gText_AndCreateAQuiz[] = _("and create a quiz!"); +const u8 gText_PickAWordOrPhraseAnd[] = _("Pick a word or phrase and"); +const u8 gText_SetTheQuizAnswer[] = _("set the quiz answer."); +const u8 gText_TheAnswerColon[] = _("The answer:"); +const u8 gUnknown_085EC387[] = _("The quiz:"); +const u8 gText_ApprenticePhrase[] = _("Apprentice’s phrase:"); +const u8 gText_QuitEditing[] = _("Quit editing?"); +const u8 gText_StopGivingPkmnMail[] = _("Stop giving the POKéMON MAIL?"); +const u8 gText_AndFillOutTheQuestionnaire[] = _("and fill out the questionnaire."); +const u8 gText_LetsReplyToTheInterview[] = _("Let’s reply to the interview!"); +const u8 gText_AllTextBeingEditedWill[] = _("All the text being edited will"); +const u8 gText_BeDeletedThatOkay[] = _("be deleted. Is that okay?"); +const u8 gUnknown_085EC449[] = _("Quit editing?"); +const u8 gUnknown_085EC457[] = _("The edited text will not be saved."); +const u8 gUnknown_085EC47A[] = _("Is that okay?"); +const u8 gUnknown_085EC488[] = _("Please enter a phrase or word."); +const u8 gUnknown_085EC4A7[] = _("The entire text can’t be deleted."); +const u8 gText_OnlyOnePhrase[] = _("Only one phrase may be changed."); +const u8 gText_OriginalSongWillBeUsed[] = _("The original song will be used."); +const u8 gUnknown_085EC509[] = _("That’s trendy already!"); +const u8 gText_CombineTwoWordsOrPhrases3[] = _("Combine two words or phrases."); +const u8 gUnknown_085EC53E[] = _("Quit giving information?"); +const u8 gUnknown_085EC557[] = _("Stop giving the POKéMON MAIL?"); +const u8 gUnknown_085EC575[] = _("Create a quiz!"); +const u8 gUnknown_085EC584[] = _("Set the answer!"); +const u8 gUnknown_085EC594[] = _("Cancel the selection?"); +const u8 gText_Profile[] = _("PROFILE"); +const u8 gText_AtTheBattlesStart[] = _("At the battle’s start:"); +const u8 gText_UponWinningABattle[] = _("Upon winning a battle:"); +const u8 gText_UponLosingABattle[] = _("Upon losing a battle:"); +const u8 gText_TheBardsSong[] = _("The BARD’s Song"); +const u8 gText_WhatsHipAndHappening[] = _("What’s hip and happening?"); +const u8 gText_Interview[] = _("Interview"); +const u8 gText_GoodSaying[] = _("Good saying"); +const u8 gText_FansQuestion[] = _("Fan’s question"); +const u8 gUnknown_085EC645[] = _("クイズの こたえは?"); +const u8 gText_ApprenticesPhrase[] = _("Apprentice’s phrase"); +const u8 gText_Questionnaire[] = _("QUESTIONNAIRE"); +const u8 gText_YouCannotQuitHere[] = _("You cannot quit here."); +const u8 gText_SectionMustBeCompleted[] = _("This section must be completed."); +const u8 gText_F700sQuiz[] = _("{SPECIAL_F7 0x00}’s quiz"); +const u8 gText_Lady[] = _("Lady"); +const u8 gText_AfterYouHaveReadTheQuiz[] = _("After you have read the quiz"); +const u8 gText_QuestionPressTheAButton[] = _("question, press the A Button."); +const u8 gText_TheQuizAnswerIs[] = _("The quiz answer is?"); +const u8 gText_LikeToQuitQuiz[] = _("Would you like to quit this quiz"); +const u8 gText_ChallengeQuestionMark[] = _("challenge?"); +const u8 gText_IsThisQuizOK[] = _("Is this quiz OK?"); +const u8 gText_CreateAQuiz[] = _("Create a quiz!"); +const u8 gText_SelectTheAnswer[] = _("Select the answer!"); +const u8 gText_LyricsCantBeDeleted[] = _("The lyrics can’t be deleted."); +const u8 gText_PokemonLeague[] = _("POKéMON LEAGUE"); +const u8 gText_PokemonCenter[] = _("POKéMON CENTER"); +const u8 gText_GetsAPokeBlockQuestion[] = _(" gets a {POKEBLOCK}?"); +const u8 gText_Coolness[] = _("Coolness "); +const u8 gText_Beauty3[] = _("Beauty "); +const u8 gText_Cuteness[] = _("Cuteness "); +const u8 gText_Smartness[] = _("Smartness "); +const u8 gText_Toughness[] = _("Toughness "); +const u8 gText_WasEnhanced[] = _("was enhanced!"); +const u8 gText_NothingChanged[] = _("Nothing changed!"); +const u8 gText_WontEatAnymore[] = _("It won’t eat anymore…"); +const u8 gText_SaveFailedCheckingBackup[] = _("Save failed. Checking the backup\nmemory… Please wait.\n{COLOR RED}“Time required: about 1 minute”"); +const u8 gText_BackupMemoryDamaged[] = _("The backup memory is damaged, or\nthe internal battery has run dry.\nYou can still play, but not save."); +const u8 gText_GamePlayCannotBeContinued[] = _("{COLOR RED}“Game play cannot be continued.\nReturning to the title screen…”"); +const u8 gText_CheckCompleted[] = _("Check completed.\nAttempting to save again.\nPlease wait."); +const u8 gText_SaveCompleteGameCannotContinue[] = _("Save completed.\n{COLOR RED}“Game play cannot be continued.\nReturning to the title screen.”"); +const u8 gText_SaveCompletePressA[] = _("Save completed.\n{COLOR RED}“Please press the A Button.”"); +const u8 gText_Ferry[] = _("FERRY"); +const u8 gText_SecretBase[] = _("SECRET BASE"); +const u8 gText_Hideout[] = _("HIDEOUT"); +const u8 gText_ResetRTCConfirmCancel[] = _("Reset RTC?\nA: Confirm, B: Cancel"); +const u8 gText_PresentTime[] = _("Present time in game"); +const u8 gText_PreviousTime[] = _("Previous time in game"); +const u8 gText_PleaseResetTime[] = _("Please reset the time."); +const u8 gText_ClockHasBeenReset[] = _("The clock has been reset.\nData will be saved. Please wait."); +const u8 gText_SaveCompleted[] = _("Save completed."); +const u8 gText_SaveFailed[] = _("Save failed…"); +const u8 gText_NoSaveFileCantSetTime[] = _("There is no save file, so the time\ncan’t be set."); +const u8 gText_InGameClockUsable[] = _("The in-game clock adjustment system\nis now useable."); +const u8 gText_Slots[] = _("SLOTS"); +const u8 gText_Roulette[] = _("ROULETTE"); +const u8 gText_Good[] = _("Good"); +const u8 gText_VeryGood[] = _("Very good"); +const u8 gText_Excellent[] = _("Excellent"); +const u8 gText_SoSo[] = _("So-so"); +const u8 gText_Bad[] = _("Bad"); +const u8 gText_TheWorst[] = _("The worst"); +const u8 gText_Spicy2[] = _("spicy"); +const u8 gText_Dry2[] = _("dry"); +const u8 gText_Sweet2[] = _("sweet"); +const u8 gText_Bitter2[] = _("bitter"); +const u8 gText_Sour2[] = _("sour"); +const u8 gText_Single[] = _("SINGLE"); +const u8 gText_Double[] = _("DOUBLE"); +const u8 gText_Jackpot[] = _("jackpot"); +const u8 gText_First[] = _("first"); +const u8 gText_Second[] = _("second"); +const u8 gText_Third[] = _("third"); +const u8 gText_0Pts[] = _("0 pts"); +const u8 gText_10Pts[] = _("10 pts"); +const u8 gText_20Pts[] = _("20 pts"); +const u8 gText_30Pts[] = _("30 pts"); +const u8 gText_40Pts[] = _("40 pts"); +const u8 gText_50Pts[] = _("50 pts"); +const u8 gText_60Pts[] = _("60 pts"); +const u8 gText_70Pts[] = _("70 pts"); +const u8 gText_80Pts[] = _("80 pts"); +const u8 gText_90Pts[] = _("90 pts"); +const u8 gText_100Pts[] = _("100 pts"); +const u8 gText_QuestionMark[] = _("?"); +const u8 gText_KissPoster16BP[] = _("KISS POSTER{CLEAR_TO 0x5E}16BP"); +const u8 gText_KissCushion32BP[] = _("KISS CUSHION{CLEAR_TO 0x5E}32BP"); +const u8 gText_SmoochumDoll32BP[] = _("SMOOCHUM DOLL{CLEAR_TO 0x5E}32BP"); +const u8 gText_TogepiDoll48BP[] = _("TOGEPI DOLL{CLEAR_TO 0x5E}48BP"); +const u8 gText_MeowthDoll48BP[] = _("MEOWTH DOLL{CLEAR_TO 0x5E}48BP"); +const u8 gText_ClefairyDoll48BP[] = _("CLEFAIRY DOLL{CLEAR_TO 0x5E}48BP"); +const u8 gText_DittoDoll48BP[] = _("DITTO DOLL{CLEAR_TO 0x5E}48BP"); +const u8 gText_CyndaquilDoll80BP[] = _("CYNDAQUIL DOLL{CLEAR_TO 0x5E}80BP"); +const u8 gText_ChikoritaDoll80BP[] = _("CHIKORITA DOLL{CLEAR_TO 0x5E}80BP"); +const u8 gText_TotodileDoll80BP[] = _("TOTODILE DOLL{CLEAR_TO 0x5E}80BP"); +const u8 gText_LaprasDoll128BP[] = _("LAPRAS DOLL{CLEAR_TO 0x58}128BP"); +const u8 gText_SnorlaxDoll128BP[] = _("SNORLAX DOLL{CLEAR_TO 0x58}128BP"); +const u8 gText_VenusaurDoll256BP[] = _("VENUSAUR DOLL{CLEAR_TO 0x58}256BP"); +const u8 gText_CharizardDoll256BP[] = _("CHARIZARD DOLL{CLEAR_TO 0x58}256BP"); +const u8 gText_BlastoiseDoll256BP[] = _("BLASTOISE DOLL{CLEAR_TO 0x58}256BP"); +const u8 gText_Protein1BP[] = _("PROTEIN{CLEAR_TO 0x64}1BP"); +const u8 gText_Calcium1BP[] = _("CALCIUM{CLEAR_TO 0x64}1BP"); +const u8 gText_Iron1BP[] = _("IRON{CLEAR_TO 0x64}1BP"); +const u8 gText_Zinc1BP[] = _("ZINC{CLEAR_TO 0x64}1BP"); +const u8 gText_Carbos1BP[] = _("CARBOS{CLEAR_TO 0x64}1BP"); +const u8 gText_HpUp1BP[] = _("HP UP{CLEAR_TO 0x64}1BP"); +const u8 gText_Leftovers48BP[] = _("LEFTOVERS{CLEAR_TO 0x5E}48BP"); +const u8 gText_WhiteHerb48BP[] = _("WHITE HERB{CLEAR_TO 0x5E}48BP"); +const u8 gText_QuickClaw48BP[] = _("QUICK CLAW{CLEAR_TO 0x5E}48BP"); +const u8 gText_MentalHerb48BP[] = _("MENTAL HERB{CLEAR_TO 0x5E}48BP"); +const u8 gText_BrightPowder64BP[] = _("BRIGHTPOWDER{CLEAR_TO 0x5E}64BP"); +const u8 gText_ChoiceBand64BP[] = _("CHOICE BAND{CLEAR_TO 0x5E}64BP"); +const u8 gText_KingsRock64BP[] = _("KING’S ROCK{CLEAR_TO 0x5E}64BP"); +const u8 gText_FocusBand64BP[] = _("FOCUS BAND{CLEAR_TO 0x5E}64BP"); +const u8 gText_ScopeLens64BP[] = _("SCOPE LENS{CLEAR_TO 0x5E}64BP"); +const u8 gText_Softboiled16BP[] = _("SOFTBOILED{CLEAR_TO 0x4E}16BP"); +const u8 gText_SeismicToss24BP[] = _("SEISMIC TOSS{CLEAR_TO 0x4E}24BP"); +const u8 gText_DreamEater24BP[] = _("DREAM EATER{CLEAR_TO 0x4E}24BP"); +const u8 gText_MegaPunch24BP[] = _("MEGA PUNCH{CLEAR_TO 0x4E}24BP"); +const u8 gText_MegaKick48BP[] = _("MEGA KICK{CLEAR_TO 0x4E}48BP"); +const u8 gText_BodySlam48BP[] = _("BODY SLAM{CLEAR_TO 0x4E}48BP"); +const u8 gText_RockSlide48BP[] = _("ROCK SLIDE{CLEAR_TO 0x4E}48BP"); +const u8 gText_Counter48BP[] = _("COUNTER{CLEAR_TO 0x4E}48BP"); +const u8 gText_ThunderWave48BP[] = _("THUNDER WAVE{CLEAR_TO 0x4E}48BP"); +const u8 gText_SwordsDance48BP[] = _("SWORDS DANCE{CLEAR_TO 0x4E}48BP"); +const u8 gText_DefenseCurl16BP[] = _("DEFENSE CURL{CLEAR_TO 0x4E}16BP"); +const u8 gText_Snore24BP[] = _("SNORE{CLEAR_TO 0x4E}24BP"); +const u8 gText_MudSlap24BP[] = _("MUD-SLAP{CLEAR_TO 0x4E}24BP"); +const u8 gText_Swift24BP[] = _("SWIFT{CLEAR_TO 0x4E}24BP"); +const u8 gText_IcyWind24BP[] = _("ICY WIND{CLEAR_TO 0x4E}24BP"); +const u8 gText_Endure48BP[] = _("ENDURE{CLEAR_TO 0x4E}48BP"); +const u8 gText_PsychUp48BP[] = _("PSYCH UP{CLEAR_TO 0x4E}48BP"); +const u8 gText_IcePunch48BP[] = _("ICE PUNCH{CLEAR_TO 0x4E}48BP"); +const u8 gText_ThunderPunch48BP[] = _("THUNDERPUNCH{CLEAR_TO 0x4E}48BP"); +const u8 gText_FirePunch48BP[] = _("FIRE PUNCH{CLEAR_TO 0x4E}48BP"); +const u8 gText_PkmnFainted3[] = _("{STR_VAR_1} fainted…\p\n"); +const u8 gText_Marco[] = _("MARCO"); +const u8 gText_TrainerCardName[] = _("NAME: "); +const u8 gText_TrainerCardIDNo[] = _("IDNo."); +const u8 gText_TrainerCardMoney[] = _("MONEY"); +const u8 gUnknown_085ECF84[] = _("¥"); +const u8 gText_TrainerCardPokedex[] = _("POKéDEX"); +const u8 gText_EmptyString6[] = _(""); +const u8 gText_Colon2[] = _(":"); +const u8 gUnknown_085ECF91[] = _(" points"); +const u8 gText_TrainerCardTime[] = _("TIME"); +const u8 gUnknown_085ECF9E[] = _("ゲ-ムポイント"); +const u8 gText_Var1sTrainerCard[] = _("{STR_VAR_1}’s TRAINER CARD"); +const u8 gText_HallOfFameDebut[] = _("HALL OF FAME DEBUT "); +const u8 gText_LinkBattles[] = _("LINK BATTLES"); +const u8 gText_LinkCableBattles[] = _("LINK CABLE BATTLES"); +const u8 gText_WinsLosses[] = _("W:{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY} L:{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}"); +const u8 gText_PokemonTrades[] = _("POKéMON TRADES"); +const u8 gText_UnionTradesAndBattles[] = _("UNION TRADES & BATTLES"); +const u8 gText_BerryCrush[] = _("BERRY CRUSH"); +const u8 gText_WaitingTrainerFinishReading[] = _("Waiting for the other TRAINER to\nfinish reading your TRAINER CARD."); +const u8 gText_PokeblocksWithFriends[] = _("{POKEBLOCK}S W/FRIENDS"); +const u8 gText_Var1DarkGreyShadowLightGrey[] = _("{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}"); +const u8 gText_WonContestsWFriends[] = _("WON CONTESTS W/FRIENDS"); +const u8 gText_BattlePtsWon[] = _("BATTLE POINTS WON"); +const u8 gText_Var1DarkLightGreyBP[] = _("{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}BP"); +const u8 gText_BattleTower[] = _("BATTLE TOWER"); +const u8 gText_WSlashStraightSlash[] = _("W/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_1}{COLOR DARK_GREY}{SHADOW LIGHT_GREY} STRAIGHT/{COLOR RED}{SHADOW LIGHT_RED}{STR_VAR_2}"); +const u8 gText_BattleTower2[] = _("BATTLE TOWER"); +const u8 gText_BattleDome[] = _("BATTLE DOME"); +const u8 gText_BattlePalace[] = _("BATTLE PALACE"); +const u8 gText_BattleFactory[] = _("BATTLE FACTORY"); +const u8 gText_BattleArena[] = _("BATTLE ARENA"); +const u8 gText_BattlePike[] = _("BATTLE PIKE"); +const u8 gText_BattlePyramid[] = _("BATTLE PYRAMID"); + +asm(".align 2"); +const u8 gUnknown_085ED164[] = _("{STR_VAR_1} SINGLE"); + +asm(".align 2"); +const u8 gUnknown_085ED170[] = _("{STR_VAR_1} DOUBLE"); + +asm(".align 2"); +const u8 gUnknown_085ED17C[] = _("{STR_VAR_1} MULTI"); + +asm(".align 2"); +const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK"); + +asm(".align 2"); +const u8 gUnknown_085ED190[] = _("{STR_VAR_1}"); +const u8 gText_Give[] = _("Give"); +const u8 gText_NoNeed[] = _("No need"); +const u8 gText_ColorLightShadowDarkGrey[] = _("{COLOR LIGHT_GREY}{SHADOW DARK_GREY}"); +const u8 gText_ColorBlue[] = _("{COLOR BLUE}"); +const u8 gText_ColorTransparent[] = _("{HIGHLIGHT TRANSPARENT}{COLOR TRANSPARENT}"); +const u8 gText_CDot[] = _("C."); +const u8 gText_BDot[] = _("B."); +const u8 gText_AnnouncingResults[] = _("Announcing the results!"); +const u8 gText_PreliminaryResults[] = _("The preliminary results!"); +const u8 gText_Round2Results[] = _("Round 2 results!"); +const u8 gText_Var1sVar2Won[] = _("{STR_VAR_1}’s {STR_VAR_2} won!"); +const u8 gText_CommunicationStandby[] = _("Communication standby…"); +const u8 gText_ColorDarkGrey[] = _("{COLOR DARK_GREY}"); +const u8 gUnknown_085ED222[] = _("{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR6 WHITE DYNAMIC_COLOR5}"); +const u8 gText_HighlightDarkGrey[] = _("{HIGHLIGHT DARK_GREY}"); +const u8 gUnknown_085ED22C[] = _(" "); +const u8 gText_DynColor2Male[] = _("{COLOR DYNAMIC_COLOR2}♂"); +const u8 gText_DynColor1Female[] = _("{COLOR DYNAMIC_COLOR1}♀"); +const u8 gText_DynColor2[] = _("{COLOR DYNAMIC_COLOR2}"); +const u8 gText_Upper[] = _("UPPER"); +const u8 gText_Lower[] = _("lower"); +const u8 gText_Others[] = _("OTHERS"); +const u8 gText_Symbols[] = _("SYMBOLS"); +const u8 gText_Register2[] = _("REGISTER"); +const u8 gText_Exit2[] = _("EXIT"); +const u8 gText_QuitChatting[] = _("Quit chatting?"); +const u8 gText_RegisterTextWhere[] = _("Register text where?"); +const u8 gText_RegisterTextHere[] = _("Register text here?"); +const u8 gText_InputText[] = _("Input text."); +const u8 gText_F700JoinedChat[] = _("{SPECIAL_F7 0x00} joined the chat!"); +const u8 gText_F700LeftChat[] = _("{SPECIAL_F7 0x00} left the chat."); +const u8 gUnknown_085ED2CF[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめ:"); +const u8 gUnknown_085ED2D9[] = _("{SPECIAL_F7 0x00}の{SPECIAL_F7 0x01}ひきめは いません"); +const u8 gText_ExitingChat[] = _("Exiting the chat…"); +const u8 gText_LeaderLeftEndingChat[] = _("The LEADER, {SPECIAL_F7 0x00}, has\nleft, ending the chat."); +const u8 gText_RegisteredTextChanged[] = _("The registered text has been changed.\nIs it okay to save the game?"); +const u8 gText_AlreadySavedFile_Unused[] = _("There is already a saved file.\nIs it okay to overwrite it?"); +const u8 gText_SavingDontTurnOff_Unused[] = _("SAVING…\nDON’T TURN OFF THE POWER."); +const u8 gText_PlayerSavedGame_Unused[] = _("{SPECIAL_F7 0x00} saved the game."); +const u8 gText_IfLeaderLeavesChatEnds[] = _("If the LEADER leaves, the chat\nwill end. Is that okay?"); +const u8 gText_Hello[] = _("HELLO"); +const u8 gText_Pokemon2[] = _("POKéMON"); +const u8 gText_Trade[] = _("TRADE"); +const u8 gText_Battle[] = _("BATTLE"); +const u8 gText_Lets[] = _("LET’S"); +const u8 gText_Ok[] = _("OK!"); +const u8 gText_Sorry[] = _("SORRY"); +const u8 gText_YayUnkF9F9[] = _("YAY{EMOJI_BIGSMILE}"); +const u8 gText_ThankYou[] = _("THANK YOU"); +const u8 gText_ByeBye[] = _("BYE-BYE!"); +const u8 gMatchCallStevenStrategyText[] = _("Attack the weak points!"); +const u8 gMatchCall_StevenTrainersPokemonText[] = _("Ultimate STEEL POKéMON."); +const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[] = _("I’d climb even waterfalls"); +const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[] = _("to find a rare stone!"); +const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[] = _("I’m the strongest and most"); +const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[] = _("energetic after all!"); +const u8 gMatchCall_BrendanStrategyText[] = _("Battle with knowledge!"); +const u8 gMatchCall_BrendanTrainersPokemonText[] = _("I will use various POKéMON."); +const u8 gMatchCall_BrendanSelfIntroductionText_Line1[] = _("I’ll be a better POKéMON"); +const u8 gMatchCall_BrendanSelfIntroductionText_Line2[] = _("prof than my father is!"); +const u8 gMatchCall_MayStrategyText[] = _("I’m not so good at battles."); +const u8 gMatchCall_MayTrainersPokemonText[] = _("I’ll use any POKéMON!"); +const u8 gMatchCall_MaySelfIntroductionText_Line1[] = _("My POKéMON and I help"); +const u8 gMatchCall_MaySelfIntroductionText_Line2[] = _("my father’s research."); +const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!"); +const u8 gText_NickHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?"); + +asm(".align 2"); +const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p"); + +asm(".align 2"); +const u8 gText_WaitForAllChooseBerry[] = _("Please wait while each member\nchooses a BERRY."); + +asm(".align 2"); +const u8 gText_EndedWithXUnitsPowder[] = _("{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p"); + +asm(".align 2"); +const u8 gText_RecordingGameResults[] = _("Recording your game results in the\nsave file.\lPlease wait."); + +asm(".align 2"); +const u8 gText_PlayBerryCrushAgain[] = _("Want to play BERRY CRUSH again?"); + +asm(".align 2"); +const u8 gText_YouHaveNoBerries[] = _("You have no BERRIES.\nThe game will be canceled."); + +asm(".align 2"); +const u8 gText_MemberDroppedOut[] = _("A member dropped out.\nThe game will be canceled."); + +asm(".align 2"); +const u8 gText_TimesUpNoGoodPowder[] = _("Time’s up.\pGood BERRY POWDER could not be\nmade…\p"); + +asm(".align 2"); +const u8 gText_CommunicationStandby2[] = _("Communication standby…"); + +asm(".align 2"); +const u8 gText_1DotBlueF700[] = _("1. {COLOR BLUE}{SHADOW LIGHT_BLUE}{SPECIAL_F7 0x00}"); + +asm(".align 2"); +const u8 gText_1DotF700[] = _("1. {SPECIAL_F7 0x00}"); + +asm(".align 2"); +const u8 gText_SpaceTimes2[] = _(" time(s)"); + +asm(".align 2"); +const u8 gText_XDotY[] = _("{STR_VAR_1}.{STR_VAR_2}"); + +asm(".align 2"); +const u8 gText_Var1Berry[] = _("{STR_VAR_1} BERRY"); + +asm(".align 2"); +const u8 gText_TimeColon[] = _("Time:"); + +asm(".align 2"); +const u8 gText_PressingSpeed[] = _("Pressing Speed:"); + +asm(".align 2"); +const u8 gText_Silkiness[] = _("Silkiness:"); + +asm(".align 2"); +const u8 gText_StrVar1[] = _("{STR_VAR_1}"); + +asm(".align 2"); +const u8 gText_SpaceMin[] = _(" min. "); + +asm(".align 2"); +const u8 gText_XDotY2[] = _("{STR_VAR_1}.{STR_VAR_2}"); + +asm(".align 2"); +const u8 gText_SpaceSec[] = _(" sec."); + +asm(".align 2"); +const u8 gText_XDotY3[] = _("{STR_VAR_1}.{STR_VAR_2}"); + +asm(".align 2"); +const u8 gText_TimesPerSec[] = _(" Times/sec."); + +asm(".align 2"); +const u8 gText_Var1Percent[] = _("{STR_VAR_1}%"); + +asm(".align 2"); +const u8 gText_PressesRankings[] = _("No. of Presses Rankings"); + +asm(".align 2"); +const u8 gText_CrushingResults[] = _("Crushing Results"); + +asm(".align 2"); +const u8 gText_NeatnessRankings[] = _("Neatness Rankings"); + +asm(".align 2"); +const u8 gText_CoopRankings[] = _("Cooperative Rankings"); + +asm(".align 2"); +const u8 gText_PressingPowerRankings[] = _("Pressing-Power Rankings"); +const u8 gText_BerryCrush2[] = _("BERRY CRUSH"); +const u8 gText_PressingSpeedRankings[] = _("Pressing-Speed Rankings"); +const u8 gText_Var1Players[] = _("{STR_VAR_1} PLAYERS"); +const u8 gText_SymbolsEarned[] = _("Symbols Earned"); +const u8 gText_BattleRecord[] = _("Battle Record"); +const u8 gText_BattlePoints[] = _("Battle Points"); +const u8 gUnknown_085ED92A[] = _("CANCEL"); +const u8 gUnknown_085ED931[] = _(""); +const u8 gUnknown_085ED932[] = _("Check BATTLE FRONTIER MAP."); +const u8 gUnknown_085ED94D[] = _("Check TRAINER CARD."); +const u8 gUnknown_085ED961[] = _("View recorded battle."); +const u8 gUnknown_085ED977[] = _("Put away the FRONTIER PASS."); +const u8 gUnknown_085ED993[] = _("Your current Battle Points."); +const u8 gUnknown_085ED9AF[] = _("Your collected Symbols."); +const u8 gUnknown_085ED9C7[] = _("Battle Tower - Ability Symbol"); +const u8 gUnknown_085ED9E5[] = _("Battle Dome - Tactics Symbol"); +const u8 gUnknown_085EDA02[] = _("Battle Palace - Spirits Symbol"); +const u8 gUnknown_085EDA21[] = _("Battle Arena - Guts Symbol"); +const u8 gUnknown_085EDA3C[] = _("Battle Factory - Knowledge Symbol"); +const u8 gUnknown_085EDA5E[] = _("Battle Pike - Luck Symbol"); +const u8 gUnknown_085EDA78[] = _("Battle Pyramid - Brave Symbol"); +const u8 gUnknown_085EDA96[] = _("There is no Battle Record."); +const u8 gUnknown_085EDAB1[] = _("BATTLE TOWER"); +const u8 gUnknown_085EDABE[] = _("BATTLE DOME"); +const u8 gUnknown_085EDACA[] = _("BATTLE PALACE"); +const u8 gUnknown_085EDAD8[] = _("BATTLE ARENA"); +const u8 gUnknown_085EDAE5[] = _("BATTLE FACTORY"); +const u8 gUnknown_085EDAF4[] = _("BATTLE PIKE"); +const u8 gUnknown_085EDB00[] = _("BATTLE PYRAMID"); +const u8 gUnknown_085EDB0F[] = _("KO opponents and aim for the top!\nYour ability will be tested."); +const u8 gUnknown_085EDB4E[] = _("Keep winning at the tournament!\nYour tactics will be tested."); +const u8 gUnknown_085EDB8B[] = _("Watch your POKéMON battle!\nYour spirit will be tested."); +const u8 gUnknown_085EDBC2[] = _("Win battles with teamed-up POKéMON!\nYour guts will be tested."); +const u8 gUnknown_085EDC00[] = _("Aim for victory using rental POKéMON!\nYour knowledge will be tested."); +const u8 gUnknown_085EDC45[] = _("Select one of three paths to battle!\nYour luck will be tested."); +const u8 gUnknown_085EDC84[] = _("Aim for the top with exploration!\nYour bravery will be tested."); +const u8 gText_ContinueMenuPlayer[] = _("PLAYER"); +const u8 gText_ContinueMenuTime[] = _("TIME"); +const u8 gText_ContinueMenuPokedex[] = _("POKéDEX"); +const u8 gText_ContinueMenuBadges[] = _("BADGES"); +const u8 gText_Powder[] = _("POWDER"); +const u8 gText_BerryPickingRecords[] = _("DODRIO BERRY-PICKING RECORDS"); +const u8 gText_BerriesPicked[] = _("BERRIES picked:"); +const u8 gText_BestScore[] = _("Best score:"); +const u8 gText_BerriesInRowFivePlayers[] = _("BERRIES picked in a row with\nfive players:"); +const u8 gText_BerryPickingResults[] = _("Announcing BERRY-PICKING results!"); +const u8 gText_10P30P50P50P[] = _("{CLEAR_TO 0x03}10P{CLEAR_TO 0x2B}30P{CLEAR_TO 0x53}50P{CLEAR_TO 0x77}{EMOJI_MINUS}50P"); +const u8 gText_AnnouncingRankings[] = _("Announcing rankings!"); +const u8 gText_AnnouncingPrizes[] = _("Announcing prizes!"); +const u8 gText_1Colon[] = _("1:"); +const u8 gText_2Colon[] = _("2:"); +const u8 gText_3Colon[] = _("3:"); +const u8 gText_4Colon[] = _("4:"); +const u8 gText_5Colon[] = _("5:"); +const u8 gText_FirstPlacePrize[] = _("The first-place winner gets\nthis {SPECIAL_F7 0x00}!"); +const u8 gText_CantHoldAnyMore[] = _("You can’t hold any more!"); +const u8 gText_FilledStorageSpace[] = _("It filled its storage space."); +const u8 gText_WantToPlayAgain[] = _("Want to play again?"); +const u8 gText_SomeoneDroppedOut[] = _("Somebody dropped out.\nThe link will be canceled."); +const u8 gText_SpacePoints[] = _(" points"); +const u8 gText_CommunicationStandby3[] = _("Communication standby…"); +const u8 gText_SpacePoints2[] = _(" points"); +const u8 gText_SpaceTimes3[] = _(" time(s)"); +const u8 gText_PkmnJumpRecords[] = _("POKéMON JUMP RECORDS"); +const u8 gText_JumpsInARow[] = _("Jumps in a row:"); +const u8 gText_BestScore2[] = _("Best score:"); +const u8 gText_ExcellentsInARow[] = _("EXCELLENTS in a row:"); +const u8 gText_AwesomeWonF701F700[] = _("Awesome score! You’ve\nwon {SPECIAL_F7 0x01} {SPECIAL_F7 0x00}!"); +const u8 gText_FilledStorageSpace2[] = _("It filled its storage space."); +const u8 gText_CantHoldMore[] = _("You can’t hold any more!"); +const u8 gText_WantToPlayAgain2[] = _("Want to play again?"); +const u8 gText_SomeoneDroppedOut2[] = _("Somebody dropped out.\nThe link will be canceled."); +const u8 gText_CommunicationStandby4[] = _("Communication standby…"); +const u8 gText_LinkContestResults[] = _("{PLAYER}’s Link Contest Results"); +const u8 gText_1st[] = _("1st"); +const u8 gText_2nd[] = _("2nd"); +const u8 gText_3rd[] = _("3rd"); +const u8 gText_4th[] = _("4th"); +const u8 gText_Friend[] = _("Friend"); +const u8 gUnknown_085EDFB7[] = _("POKeMON"); +const u8 gJPText_MysteryGift[] = _("ふしぎなもらいもの"); +const u8 gJPText_DecideStop[] = _("{A_BUTTON}けってい {B_BUTTON}やめる"); +const u8 gUnknown_085EDFD6[] = _("カードeリーダー{PLUS} で\nふしぎなもらいものを よみこみます"); +const u8 gUnknown_085EDFF5[] = _("カードeリーダー{PLUS}の メニューから\n‘つうしん’を えらび"); +const u8 gUnknown_085EE014[] = _("‘ゲームボーイアドバンスとつうしん’\nを せんたく してください"); +const u8 gUnknown_085EE035[] = _("カードeリーダー{PLUS}の ‘つうしん’を\nえらんで Aボタンを おしてください"); +const u8 gUnknown_085EE05C[] = _("せつぞくが まちがっています"); +const u8 gUnknown_085EE06B[] = _("カードの よみこみを\nちゅうし しました"); +const u8 gUnknown_085EE080[] = _("カードeリーダー{PLUS}と\nつうしん できません"); +const u8 gUnknown_085EE097[] = _("つうしん ちゅう です"); +const u8 gUnknown_085EE0A3[] = _("つうしん エラーです\nせつぞくを たしかめて ください"); +const u8 gUnknown_085EE0BF[] = _("つうしん エラーです\nはじめから やりなおして ください"); +const u8 gUnknown_085EE0DC[] = _("カードeリーダー{PLUS} に\nカードを よみこませて ください"); +const u8 gUnknown_085EE0FA[] = _("つうしん しゅうりょう!"); +const u8 gUnknown_085EE107[] = _("あらたな トレーナーが\nホウエンに やってきた!"); +const u8 gUnknown_085EE120[] = _("しばらく おまちください"); +const u8 gUnknown_085EE12D[] = _("かきこみ エラー です\nデータが ほぞん できませんでした"); +const u8 gUnknown_085EE14B[] = _("RED"); +const u8 gUnknown_085EE14F[] = _("BLUE"); +const u8 gUnknown_085EE154[] = _("---"); +const u8 gText_SingleBattleRoomResults[] = _("{PLAYER}’s Single Battle Room Results"); +const u8 gText_DoubleBattleRoomResults[] = _("{PLAYER}’s Double Battle Room Results"); +const u8 gText_MultiBattleRoomResults[] = _("{PLAYER}’s Multi Battle Room Results"); +const u8 gText_LinkMultiBattleRoomResults[] = _("{PLAYER}’s Link Multi Battle Room Results"); +const u8 gText_SingleBattleTourneyResults[] = _("{PLAYER}’s Single Battle Tourney Results"); +const u8 gText_DoubleBattleTourneyResults[] = _("{PLAYER}’s Double Battle Tourney Results"); +const u8 gText_SingleBattleHallResults[] = _("{PLAYER}’s Single Battle Hall Results"); +const u8 gText_DoubleBattleHallResults[] = _("{PLAYER}’s Double Battle Hall Results"); +const u8 gText_BattleChoiceResults[] = _("{PLAYER}’s Battle Choice Results"); +const u8 gText_SetKOTourneyResults[] = _("{PLAYER}’s Set KO Tourney Results"); +const u8 gText_BattleSwapSingleResults[] = _("{PLAYER}’s Battle Swap Single Results"); +const u8 gText_BattleSwapDoubleResults[] = _("{PLAYER}’s Battle Swap Double Results"); +const u8 gText_BattleQuestResults[] = _("{PLAYER}’s Battle Quest Results"); +const u8 gText_Lv502[] = _("LV. 50"); +const u8 gText_OpenLv[] = _("OPEN LV."); +const u8 gText_WinStreak[] = _("Win streak: {STR_VAR_1}"); +const u8 gText_Current[] = _("CURRENT"); +const u8 gText_Record[] = _("RECORD"); +const u8 gText_Prev[] = _("PREV."); +const u8 gText_RentalSwap[] = _("Rental/Swap"); +const u8 gText_Total[] = _("Total"); +const u8 gText_ClearStreak[] = _("Clear streak: {STR_VAR_1}"); +const u8 gText_Championships[] = _("Championships: {STR_VAR_1}"); +const u8 gText_RoomsCleared[] = _("Rooms cleared: {STR_VAR_1}"); +const u8 gText_TimesCleared[] = _("Times cleared:{CLEAR 0x05}{STR_VAR_1}"); +const u8 gText_KOsInARow[] = _("KOs in a row: {STR_VAR_1}"); +const u8 gText_TimesVar1[] = _("Times: {STR_VAR_1}"); +const u8 gText_FloorsCleared[] = _("Floors cleared: {STR_VAR_1}"); + +asm(".align 2"); +const u8 gUnknown_085EE3B0[] = _("LV. 50"); + +asm(".align 2"); +const u8 gUnknown_085EE3B8[] = _("OPEN LEVEL"); + +asm(".align 2"); +const u8 gUnknown_085EE3C4[] = _("Win streak: {STR_VAR_2}"); + +asm(".align 2"); +const u8 gUnknown_085EE3D4[] = _("Clear streak: {STR_VAR_2}"); + +asm(".align 2"); +const u8 gUnknown_085EE3E8[] = _("Rooms cleared: {STR_VAR_2}"); + +asm(".align 2"); +const u8 gUnknown_085EE3FC[] = _("KOs in a row: {STR_VAR_2}"); + +asm(".align 2"); +const u8 gUnknown_085EE410[] = _("Floors cleared: {STR_VAR_2}"); + +asm(".align 2"); +const u8 gText_1Dot[] = _("1."); +const u8 gUnknown_085EE427[] = _("2."); +const u8 gUnknown_085EE42A[] = _("3."); +const u8 gText_SavingDontTurnOff2[] = _("SAVING…\nDON’T TURN OFF THE POWER."); +const u8 gText_BlenderMaxSpeedRecord[] = _("BERRY BLENDER\nMAXIMUM SPEED RECORD!"); +const u8 gText_234Players[] = _("2 PLAYERS\n3 PLAYERS\n4 PLAYERS"); +const u8 gText_YesNo[] = _("YES\nNO"); +const u8 gText_SelectorArrow3[] = _("▶"); +const u8 gText_Peekaboo[] = _("PEEKABOO!"); +const u8 gText_CommErrorCheckConnections[] = _("Communication error…\nPlease check all connections,\nthen turn the power OFF and ON."); +const u8 gText_CommErrorEllipsis[] = _("Communication error…"); +const u8 gText_MoveCloserToLinkPartner[] = _("Move closer to your link partner(s).\nAvoid obstacles between partners."); +const u8 gText_ABtnRegistrationCounter[] = _("A Button: Registration Counter"); +const u8 gText_ABtnTitleScreen[] = _("A Button: Title Screen"); +const u8 gText_Option[] = _("OPTION"); +const u8 gText_TextSpeed[] = _("TEXT SPEED"); +const u8 gText_BattleScene[] = _("BATTLE SCENE"); +const u8 gText_BattleStyle[] = _("BATTLE STYLE"); +const u8 gText_Sound[] = _("SOUND"); +const u8 gText_Frame[] = _("FRAME"); +const u8 gText_OptionMenuCancel[] = _("CANCEL"); +const u8 gText_ButtonMode[] = _("BUTTON MODE"); +const u8 gText_TextSpeedSlow[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}SLOW"); +const u8 gText_TextSpeedMid[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}MID"); +const u8 gText_TextSpeedFast[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}FAST"); +const u8 gText_BattleSceneOn[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}ON"); +const u8 gText_BattleSceneOff[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}OFF"); +const u8 gText_BattleStyleShift[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}SHIFT"); +const u8 gText_BattleStyleSet[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}SET"); +const u8 gText_SoundMono[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}MONO"); +const u8 gText_SoundStereo[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}STEREO"); +const u8 gText_FrameType[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}TYPE"); +const u8 gText_FrameTypeNumber[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}"); +const u8 gText_ButtonTypeNormal[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}NORMAL"); +const u8 gText_ButtonTypeLR[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}LR"); +const u8 gText_ButtonTypeLEqualsA[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}L=A"); +const u8 gText_XPLink[] = _("{STR_VAR_1}P LINK"); +const u8 gText_BronzeCard[] = _("BRONZE"); +const u8 gText_CopperCard[] = _("COPPER"); +const u8 gText_SilverCard[] = _("SILVER"); +const u8 gText_GoldCard[] = _("GOLD"); +const u8 gText_Day[] = _("DAY"); +const u8 gText_Colon3[] = _(":"); +const u8 gText_Confirm2[] = _("CONFIRM"); +const u8 gUnknown_085EE698[] = _("Days"); +const u8 gUnknown_085EE69D[] = _("Time:"); +const u8 gUnknown_085EE6A3[] = _("Game time"); +const u8 gUnknown_085EE6AD[] = _("RTC time"); +const u8 gUnknown_085EE6B6[] = _("Updated time"); +const u8 gText_MenuPokedex[] = _("POKéDEX"); +const u8 gText_MenuPokemon[] = _("POKéMON"); +const u8 gText_MenuBag[] = _("BAG"); +const u8 gText_MenuPokenav[] = _("POKéNAV"); +const u8 gText_MenuPlayer[] = _("{PLAYER}"); +const u8 gText_MenuSave[] = _("SAVE"); +const u8 gText_MenuOption[] = _("OPTION"); +const u8 gText_MenuExit[] = _("EXIT"); +const u8 gText_MenuRetire[] = _("RETIRE"); +const u8 gText_MenuRest[] = _("REST"); +const u8 gText_SafariBallStock[] = _("SAFARI BALLS\nStock: {STR_VAR_1}"); +const u8 gText_BattlePyramidFloor[] = _("Battle Pyramid\n{STR_VAR_1}"); +const u8 gText_Floor1[] = _("Floor 1"); +const u8 gText_Floor2[] = _("Floor 2"); +const u8 gText_Floor3[] = _("Floor 3"); +const u8 gText_Floor4[] = _("Floor 4"); +const u8 gText_Floor5[] = _("Floor 5"); +const u8 gText_Floor6[] = _("Floor 6"); +const u8 gText_Floor7[] = _("Floor 7"); +const u8 gText_Peak[] = _("Peak"); +const u8 gText_LinkStandby2[] = _("Link standby…\n… … B Button: Cancel"); +const u8 gText_PressAToLoadEvent[] = _("Press the A Button to load event.\n… … B Button: Cancel"); +const u8 gText_LoadingEvent[] = _("Loading event…"); +const u8 gText_DontRemoveCableTurnOff[] = _("Don’t remove the Game Link cable.\nDon’t turn off the power."); +const u8 gText_EventSafelyLoaded[] = _("The event was safely loaded."); +const u8 gText_LoadErrorEndingSession[] = _("Loading error.\nEnding session."); +const u8 gUnknown_085EE846[] = _("プレイヤー"); +const u8 gUnknown_085EE84C[] = _("さま"); +const u8 gText_DexHoenn[] = _("HOENN"); +const u8 gText_DexNational[] = _("NATIONAL"); +const u8 gText_PokedexDiploma[] = _("PLAYER: {CLEAR 0x10}{COLOR RED}{SHADOW LIGHT_RED}{PLAYER}{COLOR DARK_GREY}{SHADOW LIGHT_GREY}\n\nThis document certifies\nthat you have successfully\ncompleted your\n{STR_VAR_1} POKéDEX.\n\n{CLEAR_TO 0x42}{COLOR RED}{SHADOW LIGHT_RED}GAME FREAK"); +const u8 gUnknown_085EE8DC[] = _("{COLOR RED}{SHADOW LIGHT_RED}ゲ-ムフリ-ク"); +const u8 gUnknown_085EE8EA[] = _("{COLOR RED}{SHADOW LIGHT_RED}"); +const u8 gText_Hoenn[] = _("HOENN"); +const u8 gText_OhABite[] = _("Oh! A bite!"); +const u8 gText_PokemonOnHook[] = _("A POKéMON’s on the hook!{PAUSE_UNTIL_PRESS}"); +const u8 gText_NotEvenANibble[] = _("Not even a nibble…{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItGotAway[] = _("It got away…{PAUSE_UNTIL_PRESS}"); +const u8 gText_XWillBeSentToY[] = _("{STR_VAR_2} will be\nsent to {STR_VAR_1}."); +const u8 gText_ByeByeVar1[] = _("Bye-bye, {STR_VAR_2}!"); +const u8 gText_XSentOverY[] = _("{STR_VAR_1} sent over {STR_VAR_3}."); +const u8 gText_TakeGoodCareOfX[] = _("Take good care of {STR_VAR_3}!"); + +// Easy chat group names +const u8 gEasyChatGroupName_Pokemon[] = _("POKéMON"); +const u8 gEasyChatGroupName_Trainer[] = _("TRAINER"); +const u8 gEasyChatGroupName_Status[] = _("STATUS"); +const u8 gEasyChatGroupName_Battle[] = _("BATTLE"); +const u8 gEasyChatGroupName_Greetings[] = _("GREETINGS"); +const u8 gEasyChatGroupName_People[] = _("PEOPLE"); +const u8 gEasyChatGroupName_Voices[] = _("VOICES"); +const u8 gEasyChatGroupName_Speech[] = _("SPEECH"); +const u8 gEasyChatGroupName_Endings[] = _("ENDINGS"); +const u8 gEasyChatGroupName_Feelings[] = _("FEELINGS"); +const u8 gEasyChatGroupName_Conditions[] = _("CONDITIONS"); +const u8 gEasyChatGroupName_Actions[] = _("ACTIONS"); +const u8 gEasyChatGroupName_Lifestyle[] = _("LIFESTYLE"); +const u8 gEasyChatGroupName_Hobbies[] = _("HOBBIES"); +const u8 gEasyChatGroupName_Time[] = _("TIME"); +const u8 gEasyChatGroupName_Misc[] = _("MISC."); +const u8 gEasyChatGroupName_Adjectives[] = _("ADJECTIVES"); +const u8 gEasyChatGroupName_Events[] = _("EVENTS"); +const u8 gEasyChatGroupName_Move1[] = _("MOVE 1"); +const u8 gEasyChatGroupName_Move2[] = _("MOVE 2"); +const u8 gEasyChatGroupName_TrendySaying[] = _("TRENDY SAYING"); +const u8 gEasyChatGroupName_Pokemon2[] = _("POKéMON2"); + +const u8 gText_ThreeQuestionMarks[] = _("???"); +const u8 gUnknown_085EEA46[] = _("MAX. HP"); +const u8 gUnknown_085EEA4E[] = _("ATTACK"); +const u8 gUnknown_085EEA55[] = _("DEFENSE"); +const u8 gUnknown_085EEA5D[] = _("SPEED"); +const u8 gUnknown_085EEA63[] = _("SP. ATK"); +const u8 gUnknown_085EEA6B[] = _("SP. DEF"); +const u8 gText_UnkCtrlF904[] = _("{PLUS}"); +const u8 gText_Dash[] = _("-"); +const u8 gText_FromSpace[] = _("From "); +const u8 gText_MixingRecords[] = _("Mixing records…"); +const u8 gText_RecordMixingComplete[] = _("Record mixing completed.\nThank you for waiting."); +const u8 gText_YourName[] = _("YOUR NAME?"); +const u8 gText_BoxName[] = _("BOX NAME?"); +const u8 gText_PkmnsNickname[] = _("{STR_VAR_1}’s nickname?"); +const u8 gText_TellHimTheWords[] = _("Tell him the words."); +const u8 gText_MoveOkBack[] = _("{DPAD_NONE}MOVE {A_BUTTON}OK {B_BUTTON}BACK"); +const u8 gText_CallCantBeMadeHere[] = _("A call can’t be made from here."); +const u8 gUnknown_085EEB2B[] = _("HANDSOME"); +const u8 gUnknown_085EEB34[] = _("VINNY"); +const u8 gUnknown_085EEB3A[] = _("MOREME"); +const u8 gUnknown_085EEB41[] = _("IRONHARD"); +const u8 gUnknown_085EEB4A[] = _("MUSCLE"); +const u8 gUnknown_085EEB51[] = _("coolness"); +const u8 gUnknown_085EEB5A[] = _("beauty"); +const u8 gUnknown_085EEB61[] = _("cuteness"); +const u8 gUnknown_085EEB6A[] = _("smartness"); +const u8 gUnknown_085EEB74[] = _("toughness"); +const u8 gText_Lady2[] = _("Lady"); +const u8 gUnknown_085EEB83[] = _("slippery"); +const u8 gUnknown_085EEB8C[] = _("roundish"); +const u8 gUnknown_085EEB95[] = _("wham-ish"); +const u8 gUnknown_085EEB9E[] = _("shiny"); +const u8 gUnknown_085EEBA4[] = _("sticky"); +const u8 gUnknown_085EEBAB[] = _("pointy"); +const u8 gText_RentalPkmn2[] = _("RENTAL POKéMON"); +const u8 gText_SelectFirstPkmn[] = _("Select the first POKéMON."); +const u8 gText_SelectSecondPkmn[] = _("Select the second POKéMON."); +const u8 gText_SelectThirdPkmn[] = _("Select the third POKéMON."); +const u8 gText_Rent[] = _("RENT"); +const u8 gText_Summary[] = _("SUMMARY"); +const u8 gText_Others2[] = _("OTHERS"); +const u8 gText_Deselect[] = _("DESELECT"); +const u8 gText_TheseThreePkmnOkay[] = _("Are these three POKéMON OK?"); +const u8 gText_Yes2[] = _("YES"); +const u8 gText_No2[] = _("NO"); +const u8 gText_CantSelectSamePkmn[] = _("Can’t select same {PKMN}."); +const u8 gText_PkmnSwap[] = _("POKéMON SWAP"); +const u8 gText_SelectPkmnToSwap[] = _("Select POKéMON to swap."); +const u8 gText_SelectPkmnToAccept[] = _("Select POKéMON to accept."); +const u8 gText_Swap[] = _("SWAP"); +const u8 gText_Summary2[] = _("SUMMARY"); +const u8 gText_Rechoose[] = _("RECHOOSE"); +const u8 gText_QuitSwapping[] = _("Quit swapping?"); +const u8 gText_Yes3[] = _("YES"); +const u8 gText_No3[] = _("NO"); +const u8 gText_PkmnForSwap[] = _("{PKMN} FOR SWAP"); +const u8 gText_Cancel3[] = _("CANCEL"); +const u8 gUnknown_085EECE4[] = _("SWAP"); +const u8 gUnknown_085EECE9[] = _("ACCEPT"); +const u8 gText_AcceptThisPkmn[] = _("Accept this POKéMON?"); +const u8 gUnknown_085EED05[] = _(" "); +const u8 gText_SamePkmnInPartyAlready[] = _("Same {PKMN} in party already."); +const u8 gText_DecimalPoint[] = _("."); +const u8 gText_SavingPlayer[] = _("PLAYER"); +const u8 gText_SavingBadges[] = _("BADGES"); +const u8 gText_SavingPokedex[] = _("POKéDEX"); +const u8 gText_SavingTime[] = _("TIME"); +const u8 gText_WirelessCommStatus[] = _("Wireless Communication Status"); +const u8 gText_PeopleTrading[] = _("People trading:"); +const u8 gText_PeopleBattling[] = _("People battling:"); +const u8 gText_PeopleInUnionRoom[] = _("People in the UNION ROOM:"); +const u8 gText_PeopleCommunicating[] = _("People communicating:"); +const u8 gText_F700Players[] = _("{SPECIAL_F7 0} players"); +const u8 gText_F701Players[] = _("{SPECIAL_F7 1} players"); +const u8 gText_F702Players[] = _("{SPECIAL_F7 2} players"); +const u8 gText_F703Players[] = _("{SPECIAL_F7 3} players"); + +const u8 *const gTextTable_Players[] = { + gText_F700Players, + gText_F701Players, + gText_F702Players, + gText_F703Players +}; + +asm(".align 2"); +const u8 gText_WonderCards[] = _("WONDER CARDS"); + +asm(".align 2"); +const u8 gText_WonderNews[] = _("WONDER NEWS"); + +asm(".align 2"); +const u8 gText_WirelessCommunication[] = _("WIRELESS COMMUNICATION"); + +asm(".align 2"); +const u8 gText_Friend2[] = _("FRIEND"); + +asm(".align 2"); +const u8 gText_Exit3[] = _("EXIT"); + +asm(".align 2"); +const u8 gText_Receive[] = _("RECEIVE"); + +asm(".align 2"); +const u8 gText_Send[] = _("SEND"); + +asm(".align 2"); +const u8 gText_Toss[] = _("TOSS"); + +asm(".align 2"); +const u8 gText_VarietyOfEventsImportedWireless[] = _("A variety of events will be imported\nover Wireless Communication."); + +asm(".align 2"); +const u8 gText_WonderCardsInPossession[] = _("Read the WONDER CARDS in your\npossession."); + +asm(".align 2"); +const u8 gText_ReadNewsThatArrived[] = _("Read the NEWS that arrived."); + +asm(".align 2"); +const u8 gText_ReturnToTitle[] = _("Return to the title screen."); + +asm(".align 2"); +const u8 gText_DontHaveCardNewOneInput[] = _("You don’t have a WONDER CARD,\nso a new CARD will be input."); + +asm(".align 2"); +const u8 gText_DontHaveNewsNewOneInput[] = _("You don’t have any WONDER NEWS,\nso new NEWS will be input."); + +asm(".align 2"); +const u8 gText_WhereShouldCardBeAccessed[] = _("Where should the WONDER CARD\nbe accessed?"); + +asm(".align 2"); +const u8 gText_WhereShouldNewsBeAccessed[] = _("Where should the WONDER NEWS\nbe accessed?"); + +asm(".align 2"); +const u8 gUnknown_085EEFC0[] = _("Communication standby…\nB Button: Cancel"); + +asm(".align 2"); +const u8 gText_Communicating[] = _("Communicating…"); + +asm(".align 2"); +const u8 gText_CommunicationCompleted[] = _("Communication completed."); + +asm(".align 2"); +const u8 gText_CommunicationError[] = _("Communication error."); + +asm(".align 2"); +const u8 gText_CommunicationCanceled[] = _("Communication has been canceled."); + +asm(".align 2"); +const u8 gText_ThrowAwayWonderCard[] = _("Throw away the WONDER CARD\nand input a new CARD?"); + +asm(".align 2"); +const u8 gText_HaventReceivedCardsGift[] = _("You haven’t received the CARD’s gift\nyet. Input a new CARD anyway?"); + +asm(".align 2"); +const u8 gText_WonderCardReceivedFrom[] = _("A WONDER CARD has been received\nfrom {STR_VAR_1}."); + +asm(".align 2"); +const u8 gText_WonderNewsReceivedFrom[] = _("A WONDER NEWS item has been\nreceived from {STR_VAR_1}."); + +asm(".align 2"); +const u8 gText_WonderCardReceived[] = _("A new WONDER CARD has been\nreceived."); + +asm(".align 2"); +const u8 gText_WonderNewsReceived[] = _("A new WONDER NEWS item has been\nreceived."); + +asm(".align 2"); +const u8 gText_NewStampReceived[] = _("A new STAMP has been received."); + +asm(".align 2"); +const u8 gText_NewTrainerReceived[] = _("A new TRAINER has arrived."); + +asm(".align 2"); +const u8 gText_AlreadyHadCard[] = _("You already had that\nWONDER CARD."); + +asm(".align 2"); +const u8 gText_AlreadyHadNews[] = _("You already had that\nWONDER NEWS item."); + +asm(".align 2"); +const u8 gText_AlreadyHadStamp[] = _("You already had that\nSTAMP."); + +asm(".align 2"); +const u8 gText_NoMoreRoomForStamps[] = _("There’s no more room for adding\nSTAMPS."); + +asm(".align 2"); +const u8 gText_RecordUploadedViaWireless[] = _("Your record has been uploaded via\nWIRELESS COMMUNICATION."); + +asm(".align 2"); +const u8 gText_CantAcceptCardFromTrainer[] = _("You can’t accept a WONDER CARD\nfrom this TRAINER."); + +asm(".align 2"); +const u8 gText_CantAcceptNewsFromTrainer[] = _("You can’t accept WONDER NEWS\nfrom this TRAINER."); + +asm(".align 2"); +const u8 gText_NothingSentOver[] = _("Nothing was sent over…"); + +asm(".align 2"); +const u8 gText_WhatToDoWithCards[] = _("What would you like to do\nwith the WONDER CARDS?"); + +asm(".align 2"); +const u8 gText_WhatToDoWithNews[] = _("What would you like to do\nwith the WONDER NEWS?"); + +asm(".align 2"); +const u8 gText_SendingWonderCard[] = _("Sending your WONDER CARD…"); + +asm(".align 2"); +const u8 gText_SendingWonderNews[] = _("Sending your WONDER NEWS item…"); + +asm(".align 2"); +const u8 gText_WonderCardSentTo[] = _("Your WONDER CARD has been sent\nto {STR_VAR_1}."); + +asm(".align 2"); +const u8 gText_WonderNewsSentTo[] = _("Your WONDER NEWS item has been\nsent to {STR_VAR_1}."); + +asm(".align 2"); +const u8 gText_StampSentTo[] = _("A STAMP has been sent to {STR_VAR_1}."); + +asm(".align 2"); +const u8 gText_GiftSentTo[] = _("A GIFT has been sent to {STR_VAR_1}."); + +asm(".align 2"); +const u8 gText_OtherTrainerHasCard[] = _("The other TRAINER has the same\nWONDER CARD already."); + +asm(".align 2"); +const u8 gText_OtherTrainerHasNews[] = _("The other TRAINER has the same\nWONDER NEWS already."); + +asm(".align 2"); +const u8 gText_OtherTrainerHasStamp[] = _("The other TRAINER has the same\nSTAMP already."); + +asm(".align 2"); +const u8 gText_OtherTrainerCanceled[] = _("The other TRAINER canceled\ncommunication."); + +asm(".align 2"); +const u8 gText_CantSendGiftToTrainer[] = _("You can’t send a MYSTERY GIFT to\nthis TRAINER."); + +asm(".align 2"); +const u8 gText_IfThrowAwayCardEventWontHappen[] = _("If you throw away the CARD,\nits event won’t happen. Okay?"); + +asm(".align 2"); +const u8 gText_OkayToDiscardNews[] = _("Is it okay to discard this\nNEWS item?"); + +asm(".align 2"); +const u8 gText_HaventReceivedGiftOkayToDiscard[] = _("You haven’t received the\nGIFT. Is it okay to discard?"); + +asm(".align 2"); +const u8 gText_DataWillBeSaved[] = _("Data will be saved.\nPlease wait."); + +asm(".align 2"); +const u8 gText_SaveCompletedPressA[] = _("Save completed.\nPlease press the A Button."); + +asm(".align 2"); +const u8 gText_WonderCardThrownAway[] = _("The WONDER CARD was thrown away."); + +asm(".align 2"); +const u8 gText_WonderNewsThrownAway[] = _("The WONDER NEWS was thrown away."); + +asm(".align 2"); +const u8 gText_MysteryGift[] = _("MYSTERY GIFT"); + +asm(".align 2"); +const u8 gText_PickOKExit[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}EXIT"); + +asm(".align 2"); +const u8 gText_PickOKCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL"); +const u8 gText_PlayersBattleResults[] = _("{PLAYER}’s BATTLE RESULTS"); +const u8 gText_TotalRecordWLD[] = _("TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}"); +const u8 gText_WinLoseDraw[] = _("{CLEAR_TO 0x53}WIN{CLEAR_TO 0x80}LOSE{CLEAR_TO 0xB0}DRAW"); +const u8 gText_CommunicationStandby5[] = _("Communication standby…"); +const u8 gText_QuitTheGame[] = _("Quit the game?"); +const u8 gText_YouveGot9999Coins[] = _("You’ve got 9,999 COINS."); +const u8 gText_YouveRunOutOfCoins[] = _("You’ve run out of COINS.\nGame over!"); +const u8 gText_YouDontHaveThreeCoins[] = _("You don’t have three COINS."); +const u8 gText_ReelTimeHelp[] = _("REEL TIME\nHere’s your chance to take\naim and nail marks!\nReel Time continues for the\nawarded number of spins.\nIt all ends on a Big Bonus."); +const u8 gDaycareText_GetAlongVeryWell[] = _("The two seem to get along\nvery well."); +const u8 gDaycareText_GetAlong[] = _("The two seem to get along."); +const u8 gDaycareText_DontLikeOther[] = _("The two don’t seem to like\neach other much."); +const u8 gDaycareText_PlayOther[] = _("The two prefer to play with other\nPOKéMON than each other."); +const u8 gText_NewLine2[] = _("\n"); +const u8 gText_Exit4[] = _("EXIT"); +const u8 gText_Lv[] = _("{LV}"); +const u8 gText_TimeBoard[] = _("TIME BOARD"); +const u8 gText_TimeCleared[] = _("TIME CLEARED "); +const u8 gText_XMinYDotZSec[] = _("{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec."); +const u8 gUnknown_085EF8B6[] = _("1F"); +const u8 gUnknown_085EF8B9[] = _("2F"); +const u8 gUnknown_085EF8BC[] = _("3F"); +const u8 gUnknown_085EF8BF[] = _("4F"); +const u8 gText_TeachWhichMoveToPkmn[] = _("Teach which move to {STR_VAR_1}?"); +const u8 gText_TeachX[] = _("Teach {STR_VAR_2}?"); +const u8 gText_PkmnLearnedMove4[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!"); +const u8 gText_PkmnTryingToLearnMove[] = _("{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can’t learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?"); +const u8 gText_StopTryingToTeachMove[] = _("Stop trying to teach\n{STR_VAR_2}?"); +const u8 gText_12AndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2, and {PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p"); +const u8 gText_PkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} forgot {STR_VAR_3}.\pAnd…\p{STR_VAR_1} learned {STR_VAR_2}."); +const u8 gUnknown_085EF9C8[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}."); +const u8 gText_GiveUpTeachingNewMove[] = _("Give up trying to teach a new\nmove to {STR_VAR_1}?"); +const u8 gText_WhichMoveToForget2[] = _("Which move should be\nforgotten?\p"); +const u8 gText_BattleMoves2[] = _("BATTLE MOVES"); +const u8 gText_ContestMoves2[] = _("CONTEST MOVES"); +const u8 gUnknown_085EFA4C[] = _("TYPE/"); +const u8 gText_PPSlash[] = _("PP/"); +const u8 gText_PowerSlash[] = _("POWER/"); +const u8 gText_AccuracySlash[] = _("ACCURACY/"); +const u8 gText_Appeal2[] = _("APPEAL"); +const u8 gText_Jam2[] = _("JAM"); +const u8 gText_Kira[] = _("KIRA"); +const u8 gText_Amy[] = _("AMY"); +const u8 gText_John[] = _("JOHN"); +const u8 gText_Roy[] = _("ROY"); +const u8 gText_Gabby[] = _("GABBY"); +const u8 gText_Anna[] = _("ANNA"); +const u8 gText_ClearAllSaveData[] = _("Clear all save data areas?"); +const u8 gText_ClearingData[] = _("Clearing data…\nPlease wait."); +const u8 gText_IsThisTheCorrectTime[] = _("Is this the correct time?"); +const u8 gText_Confirm3[] = _("CONFIRM"); +const u8 gText_Cancel4[] = _("CANCEL"); +const u8 gMrStoneMatchCallDesc[] = _("DEVON PRES"); +const u8 gMrStoneMatchCallName[] = _("MR. STONE"); +const u8 gStevenMatchCallDesc[] = _("HARD AS ROCK"); +const u8 gStevenMatchCallName[] = _("STEVEN"); +const u8 gMayBrendanMatchCallDesc[] = _("RAD NEIGHBOR"); +const u8 gNormanMatchCallDesc[] = _("RELIABLE ONE"); +const u8 gMomMatchCallDesc[] = _("CALM & KIND"); +const u8 gWallyMatchCallDesc[] = _("{PKMN} LOVER"); +const u8 gNormanMatchCallName[] = _("DAD"); +const u8 gMomMatchCallName[] = _("MOM"); +const u8 gScottMatchCallDesc[] = _("ELUSIVE EYES"); +const u8 gScottMatchCallName[] = _("SCOTT"); +const u8 gRoxanneMatchCallDesc[] = _("ROCKIN’ WHIZ"); +const u8 gBrawlyMatchCallDesc[] = _("THE BIG HIT"); +const u8 gWattsonMatchCallDesc[] = _("SWELL SHOCK"); +const u8 gFlanneryMatchCallDesc[] = _("PASSION BURN"); +const u8 gWinonaMatchCallDesc[] = _("SKY TAMER"); +const u8 gTateLizaMatchCallDesc[] = _("MYSTIC DUO"); +const u8 gJuanMatchCallDesc[] = _("DANDY CHARM"); +const u8 gEliteFourMatchCallDesc[] = _("ELITE FOUR"); +const u8 gChampionMatchCallDesc[] = _("CHAMPION"); +const u8 gProfBirchMatchCallDesc[] = _("{PKMN} PROF."); +const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby…\nAwaiting another player to choose."); +const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 60}"); +const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 60}"); +const u8 gUnknown_085EFC3E[] = _("NO WEATHER"); +const u8 gUnknown_085EFC49[] = _("SUNNY"); +const u8 gUnknown_085EFC4F[] = _("SUNNY2"); +const u8 gUnknown_085EFC56[] = _("RAIN"); +const u8 gUnknown_085EFC5B[] = _("SNOW"); +const u8 gUnknown_085EFC60[] = _("LIGHTNING"); +const u8 gUnknown_085EFC6A[] = _("FOG"); +const u8 gUnknown_085EFC6E[] = _("VOLCANO ASH"); +const u8 gUnknown_085EFC7A[] = _("SANDSTORM"); +const u8 gUnknown_085EFC84[] = _("FOG2"); +const u8 gUnknown_085EFC89[] = _("SEAFLOOR"); +const u8 gUnknown_085EFC92[] = _("CLOUDY"); +const u8 gUnknown_085EFC99[] = _("SUNNY3"); +const u8 gUnknown_085EFCA0[] = _("HEAVY RAIN"); +const u8 gUnknown_085EFCAB[] = _("SEAFLOOR2"); +const u8 gText_DelAll[] = _("DEL. ALL"); +const u8 gText_Cancel5[] = _("CANCEL"); +const u8 gText_Ok2[] = _("OK"); +const u8 gText_Quiz[] = _("QUIZ"); +const u8 gText_Answer[] = _("ANSWER"); +const u8 gText_PokeBalls[] = _("POKé BALLS"); +const u8 gText_Berry[] = _("BERRY"); +const u8 gText_Berries[] = _("BERRIES"); diff --git a/src/text.c b/src/text.c index 0fc00c9b9..ed70f767b 100644 --- a/src/text.c +++ b/src/text.c @@ -13,7 +13,7 @@ extern u8 GetKeypadIconWidth(u8 keypadIconId); extern u16 Font6Func(struct TextPrinter *textPrinter); extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese); -extern u8* UnkTextUtil_GetPtrI(u8 a1); +extern u8* DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 a1); extern int sub_8197964(); EWRAM_DATA struct TextPrinter gTempTextPrinter = {0}; @@ -3227,7 +3227,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) } case 0xF7: if (bufferPointer == NULL) - bufferPointer = UnkTextUtil_GetPtrI(*++str); + bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str); while (*bufferPointer != 0xFF) { glyphWidth = func(*bufferPointer++, isJapanese); @@ -3454,7 +3454,7 @@ void ChangePokemonNickname(void) void ChangePokemonNickname_CB(void) { SetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar2); - CB2_ReturnToFieldContinueScript(); + CB2_ReturnToFieldContinueScriptPlayMapMusic(); } void ChangeBoxPokemonNickname(void) @@ -3470,7 +3470,7 @@ void ChangeBoxPokemonNickname(void) void ChangeBoxPokemonNickname_CB(void) { SetBoxMonNickFromAnyBox(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2); - CB2_ReturnToFieldContinueScript(); + CB2_ReturnToFieldContinueScriptPlayMapMusic(); } void TV_CopyNicknameToStringVar1AndEnsureTerminated(void) diff --git a/src/walda_phrase.c b/src/walda_phrase.c index 0aa6f5aca..4a82be14f 100644 --- a/src/walda_phrase.c +++ b/src/walda_phrase.c @@ -13,7 +13,6 @@ extern const u8 gText_Peekaboo[]; extern u8 *GetWaldaPhrasePtr(void); extern bool32 IsWaldaPhraseEmpty(void); extern void sub_80AF168(void); -extern void CB2_ReturnToField(void); extern void SetWaldaPhrase(const u8 *src); extern void SetWaldaWallpaperPatternId(u8 patternId); extern void SetWaldaWallpaperIconId(u8 iconId); diff --git a/src/wallclock.c b/src/wallclock.c index 9b96d416c..3d95d75ac 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -602,7 +602,7 @@ static void WallClockInit(void) ShowBg(3); } -void Cb2_StartWallClock(void) +void CB2_StartWallClock(void) { u8 taskId; u8 spriteId; @@ -644,7 +644,7 @@ void Cb2_StartWallClock(void) schedule_bg_copy_tilemap_to_vram(2); } -void Cb2_ViewWallClock(void) +void CB2_ViewWallClock(void) { u8 taskId; u8 spriteId; diff --git a/sym_common.txt b/sym_common.txt index 3fa302968..0158b7615 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -91,8 +91,7 @@ gUnknown_030061C0: @ 30061C0 gUnknown_030061C4: @ 30061C4 .space 0xC -gUnknown_030061D0: @ 30061D0 - .space 0x18 + .include "field_specials.o" gCB2_AfterEvolution: @ 30061E8 .space 0x4 diff --git a/sym_ewram.txt b/sym_ewram.txt index befef2273..37a34b19a 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -603,55 +603,7 @@ gPlayerFacingPosition: @ 203AB40 .space 0x8 .include "src/pokeblock.o" - -gBikeCyclingChallenge: @ 203AB54 - .space 0x1 - -gBikeCollisions: @ 203AB55 - .space 0x3 - -gUnknown_0203AB58: @ 203AB58 - .space 0x4 - -gUnknown_0203AB5C: @ 203AB5C - .space 0x1 - -gUnknown_0203AB5D: @ 203AB5D - .space 0x1 - -gUnknown_0203AB5E: @ 203AB5E - .space 0x2 - -gUnknown_0203AB60: @ 203AB60 - .space 0x2 - -gUnknown_0203AB62: @ 203AB62 - .space 0x2 - -gUnknown_0203AB64: @ 203AB64 - .space 0x4 - -gUnknown_0203AB68: @ 203AB68 - .space 0x2 - -gUnknown_0203AB6A: @ 203AB6A - .space 0x2 - -gUnknown_0203AB6C: @ 203AB6C - .space 0x1 - -gUnknown_0203AB6D: @ 203AB6D - .space 0x1 - -gUnknown_0203AB6E: @ 203AB6E - .space 0x1 - -gUnknown_0203AB6F: @ 203AB6F - .space 0x1 - -gUnknown_0203AB70: @ 203AB70 - .space 0x4 - + .include "src/field_specials.o" .include "src/battle_records.o" gUnknown_0203AB7C: @ 203AB7C @@ -797,7 +749,7 @@ gUnknown_0203CE54: @ 203CE54 .include "src/item_menu.o" .include "src/list_menu.o" - .include "src/unk_text_util.o" + .include "src/dynamic_placeholder_text_util.o" .include "src/item_icon.o" gUnknown_0203CEC4: @ 203CEC4 diff --git a/tools/aif2pcm/Makefile b/tools/aif2pcm/Makefile index 967930c59..e5cb6ad31 100644 --- a/tools/aif2pcm/Makefile +++ b/tools/aif2pcm/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Wno-switch -Werror -std=c11 -O2 -s +CFLAGS = -Wall -Wextra -Wno-switch -Werror -std=c11 -O2 LIBS = -lm diff --git a/tools/aif2pcm/main.c b/tools/aif2pcm/main.c index fbb024a1d..51dbf1bb9 100644 --- a/tools/aif2pcm/main.c +++ b/tools/aif2pcm/main.c @@ -469,12 +469,12 @@ do { \ void aif2pcm(const char *aif_filename, const char *pcm_filename, bool compress) { struct Bytes *aif = read_bytearray(aif_filename); - AifData aif_data = {0}; + AifData aif_data = {0,0,0,0,0,0,0}; read_aif(aif, &aif_data); int header_size = 0x10; struct Bytes *pcm; - struct Bytes output = {0}; + struct Bytes output = {0,0}; if (compress) { diff --git a/tools/bin2c/Makefile b/tools/bin2c/Makefile index 4cc23a25a..73f78980e 100644 --- a/tools/bin2c/Makefile +++ b/tools/bin2c/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 .PHONY: clean diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile index d791dabb5..6f11b1b3f 100644 --- a/tools/gbagfx/Makefile +++ b/tools/gbagfx/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK LIBS = -lpng -lz diff --git a/tools/mid2agb/Makefile b/tools/mid2agb/Makefile index f27f2cad4..7fd5d5fc8 100644 --- a/tools/mid2agb/Makefile +++ b/tools/mid2agb/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror SRCS := agb.cpp error.cpp main.cpp midi.cpp tables.cpp diff --git a/tools/preproc/Makefile b/tools/preproc/Makefile index ec4a5f365..3d3275819 100644 --- a/tools/preproc/Makefile +++ b/tools/preproc/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror SRCS := asm_file.cpp c_file.cpp charmap.cpp preproc.cpp string_parser.cpp \ utf8.cpp diff --git a/tools/preproc/asm_file.cpp b/tools/preproc/asm_file.cpp index bb296b78b..383010aa3 100644 --- a/tools/preproc/asm_file.cpp +++ b/tools/preproc/asm_file.cpp @@ -266,7 +266,7 @@ int AsmFile::ReadString(unsigned char* s) { m_pos += stringParser.ParseString(m_pos, s, length); } - catch (std::runtime_error e) + catch (std::runtime_error& e) { RaiseError(e.what()); } diff --git a/tools/preproc/c_file.cpp b/tools/preproc/c_file.cpp index 24b3453e8..2f4bfea7c 100644 --- a/tools/preproc/c_file.cpp +++ b/tools/preproc/c_file.cpp @@ -206,7 +206,7 @@ void CFile::TryConvertString() { m_pos += stringParser.ParseString(m_pos, s, length); } - catch (std::runtime_error e) + catch (std::runtime_error& e) { RaiseError(e.what()); } diff --git a/tools/ramscrgen/Makefile b/tools/ramscrgen/Makefile index cc6d458ba..9aa309aa1 100644 --- a/tools/ramscrgen/Makefile +++ b/tools/ramscrgen/Makefile @@ -1,6 +1,6 @@ CXX := g++ -CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror +CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror SRCS := main.cpp sym_file.cpp elf.cpp diff --git a/tools/rsfont/Makefile b/tools/rsfont/Makefile index a78beca50..582be7b88 100644 --- a/tools/rsfont/Makefile +++ b/tools/rsfont/Makefile @@ -1,6 +1,6 @@ CC = gcc -CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK +CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK LIBS = -lpng -lz diff --git a/tools/scaninc/Makefile b/tools/scaninc/Makefile index 3e1c031a8..367a3350b 100644 --- a/tools/scaninc/Makefile +++ b/tools/scaninc/Makefile @@ -1,6 +1,6 @@ CXX = g++ -CXXFLAGS = -Wall -Werror -std=c++11 -O2 -s +CXXFLAGS = -Wall -Werror -std=c++11 -O2 SRCS = scaninc.cpp c_file.cpp asm_file.cpp |